-
Notifications
You must be signed in to change notification settings - Fork 46.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix wheel/touch browser locking in IE and Safari #9333
Closed
Closed
Commits on Sep 5, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 267da68 - Browse repository at this point
Copy the full SHA 267da68View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b034e7 - Browse repository at this point
Copy the full SHA 9b034e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f81f8db - Browse repository at this point
Copy the full SHA f81f8dbView commit details -
Track event dispatches to prevent duplicate local events
Scroll events need to be attached locally in order to receive rendering optimizations in Firefox, Edge, and Safari. Unfortunately, scroll events can be nested. When attached locally, events bubble up through both the DOM and React event systems. This commit adds a module that tracks what events have dispatched. When possible, it uses a WeakSet to test membership. When the event is fully dispatched, it should be released with GC. For browsers that do not support WeakSets, this module modifies the event with a flag. This needs to be tested in IE.
Configuration menu - View commit details
-
Copy full SHA for 6376bc5 - Browse repository at this point
Copy the full SHA 6376bc5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 92fb9d8 - Browse repository at this point
Copy the full SHA 92fb9d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c6216e9 - Browse repository at this point
Copy the full SHA c6216e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3e4eb5 - Browse repository at this point
Copy the full SHA e3e4eb5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 079474d - Browse repository at this point
Copy the full SHA 079474dView commit details -
Configuration menu - View commit details
-
Copy full SHA for adb0992 - Browse repository at this point
Copy the full SHA adb0992View commit details -
Configuration menu - View commit details
-
Copy full SHA for 310b87b - Browse repository at this point
Copy the full SHA 310b87bView commit details -
Eliminate root listener by tracking target
Prior work included an event listener on the root container that would release events from tracking. This is not necessary. Instead, we can track the last currentTarget to see if the dispatch should be counted. This appears to work for both bubbling and capture. Assuming the following markup: ```html <div id="top" onScroll={...}> <div id="middle" onScroll={...}> <div id="bottom" onScroll={...} /> </div> </div> ``` Assume all levels have a local scroll listener. If we dispatch from the bottom: 1. The first target is the "top", because we assign it as captured. Capture works in reverse. 2. "middle" is skipped because the event is tracked to "top" 3. "bottom" is skipped because the event is trakced to "top" This means that only one synthetic event dispatch occurs once.
Configuration menu - View commit details
-
Copy full SHA for 635ee17 - Browse repository at this point
Copy the full SHA 635ee17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 635854d - Browse repository at this point
Copy the full SHA 635854dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4967ed1 - Browse repository at this point
Copy the full SHA 4967ed1View commit details -
Configuration menu - View commit details
-
Copy full SHA for ebf431b - Browse repository at this point
Copy the full SHA ebf431bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ec4c2e2 - Browse repository at this point
Copy the full SHA ec4c2e2View commit details -
1
Configuration menu - View commit details
-
Copy full SHA for e7884fc - Browse repository at this point
Copy the full SHA e7884fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 62ce2ff - Browse repository at this point
Copy the full SHA 62ce2ffView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.