good first bughelp wanted
倉庫指標
- Star
- (27,361 star)
- PR 合併指標
- (平均合併 19天 10小時) (30 天內合併 147 個 PR)
描述
Repro:
#include <emscripten/emscripten.h>
#include <emscripten/html5.h>
int callback(int a, const EmscriptenWheelEvent* b, void* c) {
return EM_TRUE; // Call preventDefault() on the event
}
int main() {
emscripten_set_wheel_callback(0, 0, 0, callback);
return 0;
}
Compile the above with 1.38.43-upstream and embed in a HTML file with <script src="a.out.js"></script>. Open the HTML file and scroll with the mouse wheel.
Unexpected: Chrome prints out this to the console:
[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/6662647093133312
The fix is to add {passive: false} to the call to addEventListener like this:
window.addEventListener("wheel", callback, {passive: false});
Ideally this would be configurable in the emscripten_set_wheel_callback API call, but I don't see a way to do that.
See https://developers.google.com/web/updates/2017/01/scrolling-intervention for more information.