зеркало из https://github.com/mozilla/gecko-dev.git
ba440de455
Convert events used in Tabs to GeckoBundle/BundleEventListener events. All of the events are converted to UI thread events, because a lot of the listeners modify states in Tab (e.g. through `Tab.handleLocationChange()`), and those states are later accessed on the UI thread. We used to modify the states on the Gecko thread, and then access them on the UI thread, which introduces potential race conditions. Therefore, I think it's best to convert these events wholesale to UI thread events to avoid races. Tabs.notifyListeners now calls the listeners directly if it's already on the UI thread, instead of posting to the UI thread again. This is meant as an optimization because the events are now coming in on the UI thread already. The "Tab:SelectAndForeground" and "Tab:Select" events are merged into one "Tab:Select" event, and a "foreground" option is added. The "Tab:StreamStart" and "Tab:StreamStop" events are merged into one "Tab:RecordingChange" event, and a "recording" option is added to indicate starting or stopping. |
||
---|---|---|
.. | ||
build | ||
extensions | ||
AboutRedirector.js | ||
AddonUpdateService.js | ||
BlocklistPrompt.js | ||
BrowserCLH.js | ||
ColorPicker.js | ||
ContentDispatchChooser.js | ||
ContentPermissionPrompt.js | ||
DirectoryProvider.js | ||
FilePicker.js | ||
FxAccountsPush.js | ||
HelperAppDialog.js | ||
ImageBlockingPolicy.js | ||
LoginManagerPrompter.js | ||
MobileComponents.manifest | ||
NSSDialogService.js | ||
PersistentNotificationHandler.js | ||
PresentationDevicePrompt.js | ||
PresentationRequestUIGlue.js | ||
PromptService.js | ||
SessionStore.idl | ||
SessionStore.js | ||
SiteSpecificUserAgent.js | ||
Snippets.js | ||
TabSource.js | ||
XPIDialogService.js | ||
moz.build |