Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws.
☠☠ backed out by d523c4913677 ☠ ☠
authorFlorian Queze <florian@queze.net>
Fri, 14 Apr 2017 21:51:38 +0200
changeset 353144 322fde2d53bf49266dbc293321e6b36a4c789c12
parent 353143 9ff13e2532a468213e7203455693060d496de96b
child 353145 e1f191aad863dc81fd83ace1ac9c419ed50cffe5
push id89210
push userflorian@queze.net
push dateFri, 14 Apr 2017 19:53:03 +0000
treeherdermozilla-inbound@02bf71459f40 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjaws
bugs1356569
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws.
accessible/jsat/AccessFu.jsm
accessible/jsat/EventManager.jsm
accessible/tests/browser/e10s/events.js
accessible/tests/browser/head.js
accessible/tests/mochitest/browser.js
accessible/tests/mochitest/events.js
accessible/tests/mochitest/jsat/jsatcommon.js
addon-sdk/source/lib/dev/frame-script.js
addon-sdk/source/lib/sdk/context-menu/core.js
addon-sdk/source/lib/sdk/places/events.js
addon-sdk/source/lib/sdk/preferences/event-target.js
addon-sdk/source/modules/system/Startup.js
addon-sdk/source/python-lib/cuddlefish/mobile-utils/bootstrap.js
addon-sdk/source/test/leak/leak-utils.js
addon-sdk/source/test/test-system-events.js
b2g/chrome/content/screen.js
b2g/chrome/content/shell.js
b2g/chrome/content/test/mochitest/RecordingStatusChromeScript.js
b2g/components/AlertsHelper.jsm
b2g/components/AlertsService.js
b2g/components/ErrorPage.jsm
b2g/components/Frames.jsm
b2g/components/FxAccountsMgmtService.jsm
b2g/components/LogShake.jsm
b2g/components/ProcessGlobal.js
b2g/components/SafeMode.jsm
b2g/components/SignInToWebsite.jsm
b2g/components/SimulatorScreen.js
b2g/components/test/unit/head_identity.js
b2g/components/test/unit/test_aboutserviceworkers.js
b2g/components/test/unit/test_fxaccounts.js
browser/base/content/aboutDialog-appUpdater.js
browser/base/content/aboutaccounts/aboutaccounts.js
browser/base/content/browser-captivePortal.js
browser/base/content/browser-compacttheme.js
browser/base/content/browser-fxaccounts.js
browser/base/content/browser-places.js
browser/base/content/browser-social.js
browser/base/content/browser-tabsintitlebar.js
browser/base/content/browser-thumbnails.js
browser/base/content/browser-trackingprotection.js
browser/base/content/browser.js
browser/base/content/pageinfo/pageInfo.js
browser/base/content/pageinfo/permissions.js
browser/base/content/sanitize.js
browser/base/content/sync/aboutSyncTabs.js
browser/base/content/tab-content.js
browser/base/content/tabbrowser.xml
browser/base/content/test/alerts/browser_notification_remove_permission.js
browser/base/content/test/appUpdate/head.js
browser/base/content/test/captivePortal/head.js
browser/base/content/test/general/browser_aboutHome.js
browser/base/content/test/general/browser_audioTabIcon.js
browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js
browser/base/content/test/general/browser_bug435325.js
browser/base/content/test/general/browser_bug553455.js
browser/base/content/test/general/browser_bug561636.js
browser/base/content/test/general/browser_contentSearchUI.js
browser/base/content/test/general/browser_double_close_tab.js
browser/base/content/test/general/browser_fxa_web_channel.js
browser/base/content/test/general/browser_fxaccounts.js
browser/base/content/test/general/browser_homeDrop.js
browser/base/content/test/general/browser_keywordSearch_postData.js
browser/base/content/test/general/browser_restore_isAppTab.js
browser/base/content/test/general/browser_sanitize-timespans.js
browser/base/content/test/general/browser_save_link-perwindowpb.js
browser/base/content/test/general/browser_save_link_when_window_navigates.js
browser/base/content/test/general/browser_ssl_error_reports.js
browser/base/content/test/general/browser_syncui.js
browser/base/content/test/general/browser_unknownContentType_title.js
browser/base/content/test/general/head.js
browser/base/content/test/newtab/browser_newtab_background_captures.js
browser/base/content/test/pageinfo/browser_pageInfo.js
browser/base/content/test/plugins/browser_pageInfo_plugins.js
browser/base/content/test/plugins/browser_pluginCrashReportNonDeterminism.js
browser/base/content/test/plugins/head.js
browser/base/content/test/popupNotifications/head.js
browser/base/content/test/referrer/head.js
browser/base/content/test/siteIdentity/head.js
browser/base/content/test/social/head.js
browser/base/content/test/tabPrompts/browser_multiplePrompts.js
browser/base/content/test/urlbar/browser_tabMatchesInAwesomebar.js
browser/base/content/test/urlbar/browser_urlbarSearchSuggestionsNotification.js
browser/base/content/test/webextensions/browser_update_checkForUpdates.js
browser/base/content/test/webrtc/get_user_media_content_script.js
browser/base/content/test/webrtc/head.js
browser/base/content/urlbarBindings.xml
browser/base/content/utilityOverlay.js
browser/components/customizableui/CustomizableUI.jsm
browser/components/customizableui/CustomizableWidgets.jsm
browser/components/customizableui/CustomizeMode.jsm
browser/components/customizableui/content/panelUI.js
browser/components/customizableui/test/browser_934951_zoom_in_toolbar.js
browser/components/customizableui/test/head.js
browser/components/downloads/DownloadsTaskbar.jsm
browser/components/downloads/content/allDownloadsViewOverlay.js
browser/components/downloads/test/browser/browser_iframe_gone_mid_download.js
browser/components/downloads/test/browser/head.js
browser/components/extensions/ext-bookmarks.js
browser/components/extensions/ext-contextMenus.js
browser/components/extensions/ext-history.js
browser/components/extensions/ext-sessions.js
browser/components/extensions/ext-tabs.js
browser/components/feeds/WebContentConverter.js
browser/components/migration/AutoMigrate.jsm
browser/components/migration/ESEDBReader.jsm
browser/components/migration/MigrationUtils.jsm
browser/components/migration/content/migration.js
browser/components/migration/tests/browser/browser_undo_notification_multiple_dismissal.js
browser/components/migration/tests/unit/head_migration.js
browser/components/migration/tests/unit/test_Chrome_bookmarks.js
browser/components/migration/tests/unit/test_Edge_db_migration.js
browser/components/migration/tests/unit/test_IE_bookmarks.js
browser/components/migration/tests/unit/test_Safari_bookmarks.js
browser/components/migration/tests/unit/test_automigration.js
browser/components/newtab/NewTabPrefsProvider.jsm
browser/components/newtab/tests/xpcshell/test_AboutNewTabService.js
browser/components/newtab/tests/xpcshell/test_NewTabSearchProvider.js
browser/components/newtab/tests/xpcshell/test_NewTabURL.js
browser/components/nsBrowserGlue.js
browser/components/originattributes/test/browser/browser_clientAuth.js
browser/components/originattributes/test/browser/browser_favicon_firstParty.js
browser/components/originattributes/test/browser/browser_favicon_userContextId.js
browser/components/originattributes/test/browser/browser_httpauth.js
browser/components/places/PlacesUIUtils.jsm
browser/components/places/content/browserPlacesViews.js
browser/components/places/content/editBookmarkOverlay.js
browser/components/places/content/tree.xml
browser/components/places/tests/browser/browser_library_views_liveupdate.js
browser/components/places/tests/browser/browser_markPageAsFollowedLink.js
browser/components/places/tests/browser/browser_sidebarpanels_click.js
browser/components/places/tests/browser/browser_views_liveupdate.js
browser/components/places/tests/browser/head.js
browser/components/places/tests/chrome/test_bug549192.xul
browser/components/places/tests/unit/test_PUIU_makeTransaction.js
browser/components/places/tests/unit/test_browserGlue_bookmarkshtml.js
browser/components/preferences/cookies.js
browser/components/preferences/in-content-old/advanced.js
browser/components/preferences/in-content-old/applications.js
browser/components/preferences/in-content-old/search.js
browser/components/preferences/in-content-old/sync.js
browser/components/preferences/in-content-old/tests/browser_cookies_exceptions.js
browser/components/preferences/in-content/advanced.js
browser/components/preferences/in-content/applications.js
browser/components/preferences/in-content/main.js
browser/components/preferences/in-content/privacy.js
browser/components/preferences/in-content/sync.js
browser/components/preferences/in-content/tests/browser_cookies_exceptions.js
browser/components/preferences/permissions.js
browser/components/preferences/translation.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_about.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_certexceptionsui.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_favicon.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_lastpbcontextexited.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_placesTitleNoUpdate.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_placestitle.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_ui.js
browser/components/privatebrowsing/test/browser/browser_privatebrowsing_zoomrestore.js
browser/components/safebrowsing/content/test/head.js
browser/components/search/content/search.xml
browser/components/search/test/browser_426329.js
browser/components/search/test/browser_483086.js
browser/components/search/test/browser_addEngine.js
browser/components/search/test/browser_contextmenu.js
browser/components/search/test/browser_google_codes.js
browser/components/search/test/browser_google_nocodes.js
browser/components/search/test/browser_healthreport.js
browser/components/search/test/browser_oneOffContextMenu_setDefault.js
browser/components/sessionstore/SessionCookies.jsm
browser/components/sessionstore/SessionStore.jsm
browser/components/sessionstore/StartupPerformance.jsm
browser/components/sessionstore/content/aboutSessionRestore.js
browser/components/sessionstore/content/content-sessionStore.js
browser/components/sessionstore/test/browser_354894_perwindowpb.js
browser/components/sessionstore/test/browser_394759_purge.js
browser/components/sessionstore/test/browser_464199.js
browser/components/sessionstore/test/browser_526613.js
browser/components/sessionstore/test/browser_586147.js
browser/components/sessionstore/test/browser_589246.js
browser/components/sessionstore/test/browser_595601-restore_hidden.js
browser/components/sessionstore/test/browser_636279.js
browser/components/sessionstore/test/browser_637020.js
browser/components/sessionstore/test/browser_645428.js
browser/components/sessionstore/test/browser_aboutSessionRestore.js
browser/components/sessionstore/test/browser_closed_objects_changed_notifications_tabs.js
browser/components/sessionstore/test/browser_closed_objects_changed_notifications_windows.js
browser/components/sessionstore/test/browser_cookies.js
browser/components/sessionstore/test/browser_cookies_legacy.js
browser/components/sessionstore/test/browser_sessionStoreContainer.js
browser/components/sessionstore/test/content.js
browser/components/sessionstore/test/head.js
browser/components/sessionstore/test/unit/head.js
browser/components/shell/content/setDesktopBackground.js
browser/components/syncedtabs/SyncedTabsDeckComponent.js
browser/components/syncedtabs/test/xpcshell/test_SyncedTabsDeckComponent.js
browser/components/uitour/UITour.jsm
browser/components/uitour/test/browser_UITour.js
browser/components/uitour/test/browser_UITour_detach_tab.js
browser/experiments/Experiments.jsm
browser/experiments/ExperimentsService.js
browser/experiments/test/xpcshell/test_api.js
browser/experiments/test/xpcshell/test_disableExperiments.js
browser/extensions/flyweb/bootstrap.js
browser/extensions/formautofill/FormAutofillContent.jsm
browser/extensions/formautofill/FormAutofillParent.jsm
browser/extensions/formautofill/content/manageProfiles.js
browser/extensions/mortar/host/pdf/bootstrap.js
browser/extensions/pdfjs/content/PdfJs.jsm
browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm
browser/extensions/pdfjs/content/PdfjsContentUtils.jsm
browser/extensions/pocket/bootstrap.js
browser/extensions/screenshots/bootstrap.js
browser/extensions/webcompat-reporter/bootstrap.js
browser/extensions/webcompat/bootstrap.js
browser/extensions/webcompat/content/lib/ua_overrider.jsm
browser/modules/BrowserUITelemetry.jsm
browser/modules/BrowserUsageTelemetry.jsm
browser/modules/ContentCrashHandlers.jsm
browser/modules/ContentObservers.js
browser/modules/ContentSearch.jsm
browser/modules/DirectoryLinksProvider.jsm
browser/modules/ExtensionsUI.jsm
browser/modules/FormSubmitObserver.jsm
browser/modules/FullZoomUI.jsm
browser/modules/PluginContent.jsm
browser/modules/ProcessHangMonitor.jsm
browser/modules/SelfSupportBackend.jsm
browser/modules/SocialService.jsm
browser/modules/WindowsJumpLists.jsm
browser/modules/test/browser/browser_BrowserUITelemetry_syncedtabs.js
browser/modules/test/browser/browser_ContentSearch.js
browser/modules/test/browser/browser_UsageTelemetry_private_and_restore.js
browser/modules/test/unit/social/head.js
browser/modules/webrtcUI.jsm
devtools/client/aboutdebugging/components/addons/panel.js
devtools/client/aboutdebugging/components/workers/panel.js
devtools/client/aboutdebugging/test/browser_addons_debug_bootstrapped.js
devtools/client/aboutdebugging/test/browser_addons_debug_webextension.js
devtools/client/aboutdebugging/test/browser_addons_debug_webextension_popup.js
devtools/client/aboutdebugging/test/browser_addons_reload.js
devtools/client/aboutdebugging/test/head.js
devtools/client/commandline/test/browser_cmd_calllog.js
devtools/client/commandline/test/browser_cmd_calllog_chrome.js
devtools/client/commandline/test/head.js
devtools/client/debugger/new/debugger.js
devtools/client/debugger/new/integration-tests.js
devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon3/lib/main.js
devtools/client/debugger/test/mochitest/addon-source/browser_dbg_addon4/bootstrap.js
devtools/client/definitions.js
devtools/client/devtools-startup.js
devtools/client/framework/ToolboxProcess.jsm
devtools/client/framework/devtools-browser.js
devtools/client/framework/test/browser_browser_toolbox.js
devtools/client/framework/test/shared-head.js
devtools/client/framework/toolbox-options.js
devtools/client/framework/toolbox.js
devtools/client/jsonview/converter-observer.js
devtools/client/performance/test/helpers/event-utils.js
devtools/client/performance/test/helpers/prefs.js
devtools/client/projecteditor/test/browser_projecteditor_confirm_unsaved.js
devtools/client/projecteditor/test/browser_projecteditor_delete_file.js
devtools/client/responsive.html/browser/tunnel.js
devtools/client/responsive.html/utils/window.js
devtools/client/scratchpad/scratchpad-manager.jsm
devtools/client/scratchpad/scratchpad.js
devtools/client/scratchpad/test/browser_scratchpad_browser_last_window_closing.js
devtools/client/scratchpad/test/browser_scratchpad_open_error_console.js
devtools/client/scratchpad/test/browser_scratchpad_recent_files.js
devtools/client/shared/devtools-file-watcher.js
devtools/client/shared/options-view.js
devtools/client/shared/prefs.js
devtools/client/shared/shim/test/test_service_prefs.html
devtools/client/shared/test/head.js
devtools/client/shared/theme-switching.js
devtools/client/styleeditor/test/browser_styleeditor_private_perwindowpb.js
devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_observer_notifications.js
devtools/client/webconsole/test/browser_bug_871156_ctrlw_close_tab.js
devtools/client/webconsole/test/browser_console.js
devtools/client/webconsole/test/browser_console_consolejsm_output.js
devtools/client/webconsole/test/browser_webconsole_bug_595350_multiple_windows_and_tabs.js
devtools/client/webconsole/test/browser_webconsole_notifications.js
devtools/client/webconsole/test/head.js
devtools/client/webide/content/prefs.js
devtools/client/webide/modules/runtimes.js
devtools/server/actors/chrome.js
devtools/server/actors/eventlooplag.js
devtools/server/actors/monitor.js
devtools/server/actors/storage.js
devtools/server/actors/tab.js
devtools/server/actors/utils/webconsole-listeners.js
devtools/server/actors/webaudio.js
devtools/server/actors/webconsole.js
devtools/server/actors/webextension-inspected-window.js
devtools/server/actors/window.js
devtools/server/actors/worker.js
devtools/server/content-globals.js
devtools/server/main.js
devtools/server/performance/profiler.js
devtools/server/tests/browser/browser_navigateEvents.js
devtools/server/tests/mochitest/test_getProcess.html
devtools/server/tests/mochitest/test_setupInParentChild.html
devtools/server/tests/unit/test_register_actor.js
devtools/shared/Loader.jsm
devtools/shared/content-observer.js
devtools/shared/event-emitter.js
devtools/shared/tests/mochitest/test_devtools_extensions.html
devtools/shared/webconsole/network-monitor.js
devtools/shared/webconsole/server-logger-monitor.js
devtools/shared/webconsole/server-logger.js
docshell/test/browser/browser_bug420605.js
docshell/test/browser/browser_bug503832.js
docshell/test/browser/browser_bug655270.js
docshell/test/browser/browser_onbeforeunload_navigation.js
docshell/test/browser/browser_search_notification.js
docshell/test/chrome/bug293235_window.xul
docshell/test/chrome/bug582176_window.xul
docshell/test/chrome/test_bug608669.xul
docshell/test/chrome/test_private_hidden_window.html
docshell/test/unit/test_nsIDownloadHistory.js
docshell/test/unit/test_pb_notification.js
docshell/test/unit_ipc/test_pb_notification_ipc.js
dom/base/test/browser_bug1011748.js
dom/base/test/browser_messagemanager_unload.js
dom/base/test/chrome/test_bug1339722.html
dom/base/test/test_audioNotification.html
dom/base/test/test_audioNotificationSilent_audioFile.html
dom/base/test/test_audioNotificationSilent_webAudio.html
dom/base/test/test_audioNotificationStopOnNavigation.html
dom/base/test/test_audioNotificationStream.html
dom/base/test/test_audioNotificationWithEarlyPlay.html
dom/base/test/test_domrequesthelper.xul
dom/base/test/test_noAudioNotification.html
dom/base/test/test_noAudioNotificationOnMutedElement.html
dom/base/test/test_noAudioNotificationOnMutedOrVolume0Element.html
dom/base/test/test_noAudioNotificationOnVolume0Element.html
dom/base/test/test_noWebAudioNotification.html
dom/base/test/test_pluginAudioNotification.html
dom/base/test/test_webaudioNotification.html
dom/base/test/test_webaudioNotificationStopOnNavigation.html
dom/browser-element/BrowserElementChildPreload.js
dom/browser-element/mochitest/browserElementTestHelpers.js
dom/console/ConsoleAPIStorage.js
dom/console/tests/test_console_binding.html
dom/events/test/test_bug574663.html
dom/events/test/window_wheel_default_action.html
dom/html/test/browser_bug1108547.js
dom/html/test/test_document-element-inserted.html
dom/indexedDB/test/browser_bug839193.js
dom/ipc/tests/process_error.xul
dom/ipc/tests/test_Preallocated.html
dom/media/test/test_eme_request_notifications.html
dom/media/tests/mochitest/test_getUserMedia_scarySources.html
dom/media/webaudio/test/test_AudioNodeDevtoolsAPI.html
dom/media/webaudio/test/test_ScriptProcessorCollected1.html
dom/network/EthernetManager.js
dom/notification/NotificationDB.jsm
dom/notification/NotificationStorage.js
dom/plugins/test/mochitest/test_privatemode_perwindowpb.xul
dom/plugins/test/mochitest/test_refresh_navigator_plugins.html
dom/presentation/PresentationDeviceInfoManager.jsm
dom/presentation/provider/PresentationControlService.js
dom/presentation/tests/mochitest/PresentationSessionChromeScript.js
dom/presentation/tests/mochitest/PresentationSessionChromeScript1UA.js
dom/presentation/tests/xpcshell/test_presentation_device_manager.js
dom/push/PushService.jsm
dom/push/PushServiceAndroidGCM.jsm
dom/push/test/test_serviceworker_lifetime.html
dom/push/test/test_try_registering_offline_disabled.html
dom/push/test/xpcshell/PushServiceHandler.js
dom/push/test/xpcshell/head.js
dom/push/test/xpcshell/test_notification_incomplete.js
dom/secureelement/gonk/SecureElement.js
dom/secureelement/gonk/UiccConnector.js
dom/security/test/csp/browser_manifest-src-override-default-src.js
dom/security/test/csp/browser_test_web_manifest.js
dom/security/test/csp/file_report_chromescript.js
dom/security/test/csp/test_301_redirect.html
dom/security/test/csp/test_302_redirect.html
dom/security/test/csp/test_303_redirect.html
dom/security/test/csp/test_307_redirect.html
dom/security/test/csp/test_CSP.html
dom/security/test/csp/test_bug1229639.html
dom/security/test/csp/test_bug836922_npolicies.html
dom/security/test/csp/test_bug886164.html
dom/security/test/csp/test_bug909029.html
dom/security/test/csp/test_bug941404.html
dom/security/test/csp/test_connect-src.html
dom/security/test/csp/test_form-action.html
dom/security/test/csp/test_frameancestors.html
dom/security/test/csp/test_iframe_sandbox_srcdoc.html
dom/security/test/csp/test_iframe_srcdoc.html
dom/security/test/csp/test_inlinescript.html
dom/security/test/csp/test_leading_wildcard.html
dom/security/test/csp/test_multi_policy_injection_bypass.html
dom/security/test/csp/test_nonce_source.html
dom/security/test/csp/test_ping.html
dom/security/test/csp/test_redirects.html
dom/security/test/csp/test_sandbox.html
dom/security/test/csp/test_shouldprocess.html
dom/security/test/general/test_bug1277803.xul
dom/security/test/hsts/browser_hsts-priming_allow_active.js
dom/security/test/hsts/browser_hsts-priming_allow_display.js
dom/security/test/hsts/browser_hsts-priming_block_active.js
dom/security/test/hsts/browser_hsts-priming_block_active_css.js
dom/security/test/hsts/browser_hsts-priming_block_active_with_redir_same.js
dom/security/test/hsts/browser_hsts-priming_block_display.js
dom/security/test/hsts/browser_hsts-priming_hsts_after_mixed.js
dom/security/test/hsts/head.js
dom/security/test/mixedcontentblocker/file_frameNavigation_blankTarget.html
dom/security/test/mixedcontentblocker/file_main_bug803225.html
dom/system/gonk/DataCallInterfaceService.js
dom/system/gonk/DataCallManager.js
dom/system/gonk/NetworkManager.js
dom/system/gonk/NetworkService.js
dom/system/gonk/RadioInterfaceLayer.js
dom/system/gonk/TetheringService.js
dom/system/gonk/tests/marionette/head.js
dom/tests/browser/browser_ConsoleAPI_originAttributes.js
dom/tests/browser/browser_ConsoleStorageAPITests.js
dom/tests/browser/browser_ConsoleStoragePBTest_perwindowpb.js
dom/tests/browser/browser_allocateGigabyte.js
dom/tests/browser/browser_bug1004814.js
dom/tests/browser/helper_largeAllocation.js
dom/tests/mochitest/beacon/test_beaconCookies.html
dom/tests/mochitest/bugs/test_bug534149.html
dom/tests/mochitest/bugs/utils_bug260264.js
dom/tests/mochitest/chrome/test_cyclecollector.xul
dom/tests/mochitest/localstorage/localStorageCommon.js
dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing_perwindowpb.html
dom/tests/mochitest/storageevent/test_storageNotifications.html
dom/tests/unit/test_geolocation_provider.js
dom/workers/test/extensions/traditional/WorkerTest.js
dom/workers/test/serviceworkers/chrome_helpers.js
dom/workers/test/serviceworkers/test_devtools_serviceworker_interception.html
dom/workers/test/test_WorkerDebugger_console.xul
dom/workers/test/test_consoleAndBlobs.html
dom/workers/test/test_consoleSharedWorkers.html
dom/worklet/tests/test_audioWorklet.html
dom/worklet/tests/test_console.html
dom/worklet/tests/test_paintWorklet.html
dom/xhr/tests/file_XHRResponseURL.js
dom/xhr/tests/test_worker_xhr_responseURL.html
dom/xml/test/file_bug392338.js
dom/xslt/tests/buster/result-view.js
editor/AsyncSpellCheckTestHelper.jsm
editor/libeditor/tests/test_bug569988.html
extensions/cookie/test/browser_test_favicon.js
extensions/cookie/test/file_testloadflags_chromescript.js
extensions/cookie/test/unit/head_cookies.js
extensions/cookie/test/unit/test_permmanager_notifications.js
gfx/layers/apz/test/mochitest/apz_test_utils.js
gfx/layers/apz/test/mochitest/helper_basic_pan.html
gfx/layers/apz/test/mochitest/helper_bug1280013.html
gfx/layers/apz/test/mochitest/helper_div_pan.html
gfx/layers/apz/test/mochitest/helper_iframe_pan.html
gfx/tests/browser/browser_windowless_troubleshoot_crash.js
image/test/mochitest/test_net_failedtoprocess.html
image/test/unit/test_private_channel.js
intl/locale/tests/unit/test_localeService.js
js/xpconnect/tests/chrome/test_bug895340.xul
js/xpconnect/tests/mochitest/test_bug1158558.html
layout/base/tests/browser_disableDialogs_onbeforeunload.js
layout/base/tests/browser_onbeforeunload_only_after_interaction.js
layout/base/tests/browser_onbeforeunload_only_after_interaction_in_frame.js
layout/forms/test/test_bug536567_perwindowpb.html
layout/tools/reftest/reftest-content.js
layout/tools/reftest/reftest.jsm
mobile/android/chrome/content/CastingApps.js
mobile/android/chrome/content/PresentationView.js
mobile/android/chrome/content/RemoteDebugger.js
mobile/android/chrome/content/WebcompatReporter.js
mobile/android/chrome/content/aboutHealthReport.js
mobile/android/chrome/content/aboutLogins.js
mobile/android/chrome/content/browser.js
mobile/android/chrome/content/config.js
mobile/android/components/FxAccountsPush.js
mobile/android/components/ImageBlockingPolicy.js
mobile/android/components/PresentationRequestUIGlue.js
mobile/android/components/SessionStore.js
mobile/android/extensions/flyweb/bootstrap.js
mobile/android/modules/LightweightThemeConsumer.jsm
mobile/android/tests/browser/chrome/head.js
mobile/android/tests/browser/chrome/head_search.js
mobile/android/tests/browser/chrome/test_device_search_engine.html
mobile/android/tests/browser/chrome/test_get_last_visited.html
mobile/android/tests/browser/chrome/test_migrate_ui.html
mobile/android/tests/browser/chrome/test_offline_page.html
mobile/android/tests/browser/chrome/test_settings_fontinflation.html
mobile/android/tests/browser/chrome/test_simple_discovery.html
mobile/android/tests/browser/robocop/testHistoryService.js
modules/libpref/test/unit/test_bug345529.js
modules/libpref/test/unit/test_bug577950.js
modules/libpref/test/unit/test_libPrefs.js
modules/libpref/test/unit/test_stickyprefs.js
netwerk/cookie/test/unit/test_bug1155169.js
netwerk/dns/mdns/libmdns/fallback/MulticastDNS.jsm
netwerk/protocol/http/UserAgentOverrides.jsm
netwerk/protocol/http/UserAgentUpdates.jsm
netwerk/test/browser/browser_child_resource.js
netwerk/test/mochitests/test_rel_preconnect.html
netwerk/test/mochitests/test_user_agent_updates.html
netwerk/test/unit/test_bug482601.js
netwerk/test/unit/test_bug767025.js
netwerk/test/unit/test_cache2-30c-pinning-deferred-doom.js
netwerk/test/unit/test_cache2-30d-pinning-WasEvicted-API.js
netwerk/test/unit/test_dns_proxy_bypass.js
netwerk/test/unit/test_fallback_no-cache-entry_canceled.js
netwerk/test/unit/test_fallback_no-cache-entry_passing.js
netwerk/test/unit/test_fallback_redirect-to-different-origin_canceled.js
netwerk/test/unit/test_fallback_redirect-to-different-origin_passing.js
netwerk/test/unit/test_fallback_request-error_canceled.js
netwerk/test/unit/test_fallback_request-error_passing.js
netwerk/test/unit/test_fallback_response-error_canceled.js
netwerk/test/unit/test_fallback_response-error_passing.js
netwerk/test/unit/test_httpcancel.js
netwerk/test/unit/test_offlinecache_custom-directory.js
netwerk/test/unit/test_pinned_app_cache.js
netwerk/test/unit/test_predictor.js
netwerk/test/unit/test_private_cookie_changed.js
netwerk/test/unit/test_protocolproxyservice.js
netwerk/test/unit/test_suspend_channel_before_connect.js
netwerk/test/unit_ipc/test_channel_id.js
security/manager/pki/resources/content/certManager.js
security/manager/pki/resources/content/device_manager.js
security/manager/ssl/tests/mochitest/stricttransportsecurity/test_sts_privatebrowsing_perwindowpb.html
security/manager/ssl/tests/unit/test_cert_blocklist.js
security/manager/ssl/tests/unit/test_pinning_dynamic.js
security/manager/ssl/tests/unit/test_pkcs11_insert_remove.js
security/manager/ssl/tests/unit/test_pkcs11_no_events_after_removal.js
security/manager/ssl/tests/unit/test_sss_eviction.js
security/manager/ssl/tests/unit/test_sss_readstate.js
security/manager/ssl/tests/unit/test_sss_readstate_child.js
security/manager/ssl/tests/unit/test_sss_readstate_empty.js
security/manager/ssl/tests/unit/test_sss_readstate_garbage.js
security/manager/ssl/tests/unit/test_sss_readstate_huge.js
security/manager/ssl/tests/unit/test_sss_savestate.js
security/manager/ssl/tests/unit/test_sts_preloadlist_perwindowpb.js
services/cloudsync/CloudSyncAdapters.jsm
services/cloudsync/CloudSyncBookmarks.jsm
services/common/async.js
services/common/hawkrequest.js
services/common/tests/unit/test_hawkrequest.js
services/crypto/modules/WeaveCrypto.js
services/fxaccounts/FxAccountsManager.jsm
services/fxaccounts/FxAccountsPush.js
services/fxaccounts/tests/xpcshell/test_accounts.js
services/fxaccounts/tests/xpcshell/test_oauth_token_storage.js
services/fxaccounts/tests/xpcshell/test_oauth_tokens.js
services/fxaccounts/tests/xpcshell/test_profile.js
services/fxaccounts/tests/xpcshell/test_push_service.js
services/fxaccounts/tests/xpcshell/test_web_channel.js
services/sync/Weave.js
services/sync/modules/SyncedTabs.jsm
services/sync/modules/browserid_identity.js
services/sync/modules/engines/prefs.js
services/sync/modules/service.js
services/sync/tests/unit/test_history_tracker.js
services/sync/tps/extensions/mozmill/resource/modules/frame.js
services/sync/tps/extensions/mozmill/resource/modules/windows.js
storage/test/unit/test_vacuum.js
storage/test/unit/vacuumParticipant.js
testing/marionette/components/marionette.js
testing/marionette/driver.js
testing/marionette/modal.js
testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm
testing/mochitest/browser-test.js
testing/mochitest/jetpack-addon-harness.js
testing/mochitest/tests/Harness_sanity/specialPowers_framescript.js
testing/mochitest/tests/SimpleTest/EventUtils.js
testing/modules/TestUtils.jsm
testing/specialpowers/content/SpecialPowersObserver.jsm
testing/specialpowers/content/specialpowers.js
testing/specialpowers/content/specialpowersAPI.js
testing/talos/talos/pageloader/chrome/memory.js
testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
testing/talos/talos/talos-powers/components/TalosPowersService.js
testing/xpcshell/example/unit/check_profile.js
testing/xpcshell/head.js
toolkit/components/aboutperformance/content/aboutPerformance.js
toolkit/components/aboutperformance/tests/browser/browser_aboutperformance.js
toolkit/components/addoncompat/Prefetcher.jsm
toolkit/components/addoncompat/RemoteAddonsChild.jsm
toolkit/components/addoncompat/tests/addon/bootstrap.js
toolkit/components/asyncshutdown/AsyncShutdown.jsm
toolkit/components/captivedetect/test/unit/test_abort.js
toolkit/components/captivedetect/test/unit/test_abort_during_user_login.js
toolkit/components/captivedetect/test/unit/test_abort_ongoing_request.js
toolkit/components/captivedetect/test/unit/test_abort_pending_request.js
toolkit/components/captivedetect/test/unit/test_captive_portal_found.js
toolkit/components/captivedetect/test/unit/test_captive_portal_found_303.js
toolkit/components/captivedetect/test/unit/test_captive_portal_not_found.js
toolkit/components/captivedetect/test/unit/test_captive_portal_not_found_404.js
toolkit/components/captivedetect/test/unit/test_multiple_requests.js
toolkit/components/captivedetect/test/unit/test_user_cancel.js
toolkit/components/contentprefs/nsContentPrefService.js
toolkit/components/crashmonitor/CrashMonitor.jsm
toolkit/components/extensions/Extension.jsm
toolkit/components/extensions/ExtensionContent.jsm
toolkit/components/extensions/ExtensionManagement.jsm
toolkit/components/extensions/ExtensionParent.jsm
toolkit/components/extensions/ExtensionStorage.jsm
toolkit/components/extensions/ExtensionUtils.jsm
toolkit/components/extensions/MessageChannel.jsm
toolkit/components/extensions/ext-cookies.js
toolkit/components/extensions/test/mochitest/test_ext_web_accessible_resources.html
toolkit/components/extensions/test/mochitest/test_ext_webrequest_auth.html
toolkit/components/extensions/test/mochitest/test_ext_webrequest_suspend.html
toolkit/components/extensions/test/xpcshell/test_ext_experiments.js
toolkit/components/extensions/test/xpcshell/test_ext_permissions.js
toolkit/components/formautofill/test/head_common.js
toolkit/components/jsdownloads/src/DownloadIntegration.jsm
toolkit/components/jsdownloads/test/unit/head.js
toolkit/components/narrate/test/NarrateTestUtils.jsm
toolkit/components/osfile/modules/osfile_async_front.jsm
toolkit/components/passwordmgr/LoginHelper.jsm
toolkit/components/passwordmgr/LoginManagerContent.jsm
toolkit/components/passwordmgr/LoginManagerParent.jsm
toolkit/components/passwordmgr/content/passwordManager.js
toolkit/components/passwordmgr/nsLoginManager.js
toolkit/components/passwordmgr/storage-mozStorage.js
toolkit/components/passwordmgr/test/browser/browser_passwordmgr_observers.js
toolkit/components/passwordmgr/test/browser/browser_passwordmgr_sort.js
toolkit/components/passwordmgr/test/browser/browser_passwordmgrdlg.js
toolkit/components/passwordmgr/test/chrome/test_privbrowsing_perwindowpb.html
toolkit/components/passwordmgr/test/mochitest/test_bug_627616.html
toolkit/components/passwordmgr/test/mochitest/test_password_field_autocomplete.html
toolkit/components/passwordmgr/test/pwmgr_common.js
toolkit/components/passwordmgr/test/test_master_password.html
toolkit/components/passwordmgr/test/test_prompt_async.html
toolkit/components/passwordmgr/test/unit/test_notifications.js
toolkit/components/perfmonitoring/PerformanceStats.jsm
toolkit/components/places/PlacesCategoriesStarter.js
toolkit/components/places/PlacesDBUtils.jsm
toolkit/components/places/PlacesRemoteTabsAutocompleteProvider.jsm
toolkit/components/places/PlacesUtils.jsm
toolkit/components/places/UnifiedComplete.js
toolkit/components/places/nsTaggingService.js
toolkit/components/places/tests/PlacesTestUtils.jsm
toolkit/components/places/tests/bookmarks/test_393498.js
toolkit/components/places/tests/bookmarks/test_async_observers.js
toolkit/components/places/tests/bookmarks/test_bookmarks.js
toolkit/components/places/tests/bookmarks/test_bookmarks_insertTree.js
toolkit/components/places/tests/bookmarks/test_bookmarks_notifications.js
toolkit/components/places/tests/bookmarks/test_keywords.js
toolkit/components/places/tests/bookmarks/test_nsINavBookmarkObserver.js
toolkit/components/places/tests/bookmarks/test_removeFolderTransaction_reinsert.js
toolkit/components/places/tests/browser/browser_bug399606.js
toolkit/components/places/tests/browser/browser_bug461710.js
toolkit/components/places/tests/browser/browser_bug646422.js
toolkit/components/places/tests/browser/browser_double_redirect.js
toolkit/components/places/tests/browser/browser_multi_redirect_frecency.js
toolkit/components/places/tests/browser/browser_notfound.js
toolkit/components/places/tests/browser/browser_onvisit_title_null_for_navigation.js
toolkit/components/places/tests/browser/browser_redirect.js
toolkit/components/places/tests/browser/browser_settitle.js
toolkit/components/places/tests/browser/browser_visited_notfound.js
toolkit/components/places/tests/browser/browser_visituri.js
toolkit/components/places/tests/browser/browser_visituri_nohistory.js
toolkit/components/places/tests/browser/browser_visituri_privatebrowsing_perwindowpb.js
toolkit/components/places/tests/browser/head.js
toolkit/components/places/tests/chrome/test_371798.xul
toolkit/components/places/tests/expiration/test_idle_daily.js
toolkit/components/places/tests/expiration/test_notifications.js
toolkit/components/places/tests/expiration/test_notifications_onDeleteURI.js
toolkit/components/places/tests/expiration/test_notifications_onDeleteVisits.js
toolkit/components/places/tests/expiration/test_outdated_analyze.js
toolkit/components/places/tests/expiration/test_pref_maxpages.js
toolkit/components/places/tests/favicons/head_favicons.js
toolkit/components/places/tests/favicons/test_query_result_favicon_changed_on_child.js
toolkit/components/places/tests/head_common.js
toolkit/components/places/tests/history/test_async_history_api.js
toolkit/components/places/tests/history/test_insertMany.js
toolkit/components/places/tests/history/test_remove.js
toolkit/components/places/tests/history/test_removeVisitsByFilter.js
toolkit/components/places/tests/history/test_sameUri_titleChanged.js
toolkit/components/places/tests/queries/test_async.js
toolkit/components/places/tests/unifiedcomplete/head_autocomplete.js
toolkit/components/places/tests/unifiedcomplete/test_autocomplete_on_value_removed_479089.js
toolkit/components/places/tests/unit/test_418643_removeFolderChildren.js
toolkit/components/places/tests/unit/test_452777.js
toolkit/components/places/tests/unit/test_PlacesSearchAutocompleteProvider.js
toolkit/components/places/tests/unit/test_adaptive.js
toolkit/components/places/tests/unit/test_adaptive_bug527311.js
toolkit/components/places/tests/unit/test_async_transactions.js
toolkit/components/places/tests/unit/test_bookmark_catobs.js
toolkit/components/places/tests/unit/test_bug636917_isLivemark.js
toolkit/components/places/tests/unit/test_download_history.js
toolkit/components/places/tests/unit/test_frecency_decay.js
toolkit/components/places/tests/unit/test_frecency_observers.js
toolkit/components/places/tests/unit/test_history_catobs.js
toolkit/components/places/tests/unit/test_history_clear.js
toolkit/components/places/tests/unit/test_history_observer.js
toolkit/components/places/tests/unit/test_keywords.js
toolkit/components/places/tests/unit/test_markpageas.js
toolkit/components/places/tests/unit/test_mozIAsyncLivemarks.js
toolkit/components/places/tests/unit/test_nsINavHistoryViewer.js
toolkit/components/places/tests/unit/test_onItemChanged_tags.js
toolkit/components/places/tests/unit/test_placesTxn.js
toolkit/components/places/tests/unit/test_result_sort.js
toolkit/components/processsingleton/ContentProcessSingleton.js
toolkit/components/processsingleton/MainProcessSingleton.js
toolkit/components/reader/AboutReader.jsm
toolkit/components/reader/ReaderMode.jsm
toolkit/components/satchel/formSubmitListener.js
toolkit/components/satchel/test/parent_utils.js
toolkit/components/satchel/test/unit/test_notify.js
toolkit/components/search/SearchSuggestionController.jsm
toolkit/components/search/nsSearchService.js
toolkit/components/search/tests/xpcshell/head_search.js
toolkit/components/search/tests/xpcshell/test_engineUpdate.js
toolkit/components/search/tests/xpcshell/test_json_cache.js
toolkit/components/search/tests/xpcshell/test_notifications.js
toolkit/components/search/tests/xpcshell/test_sync_delay_fallback.js
toolkit/components/telemetry/GCTelemetry.jsm
toolkit/components/telemetry/TelemetryEnvironment.jsm
toolkit/components/telemetry/TelemetryReportingPolicy.jsm
toolkit/components/telemetry/TelemetrySend.jsm
toolkit/components/telemetry/TelemetrySession.jsm
toolkit/components/telemetry/ThirdPartyCookieProbe.jsm
toolkit/components/telemetry/UITelemetry.jsm
toolkit/components/telemetry/tests/browser/browser_TelemetryGC.js
toolkit/components/telemetry/tests/unit/test_TelemetryController_idle.js
toolkit/components/telemetry/tests/unit/test_TelemetryEnvironment.js
toolkit/components/terminator/tests/xpcshell/test_terminator_reload.js
toolkit/components/thumbnails/BackgroundPageThumbs.jsm
toolkit/components/thumbnails/test/browser_thumbnails_bg_captureIfMissing.js
toolkit/components/thumbnails/test/browser_thumbnails_bg_crash_while_idle.js
toolkit/components/thumbnails/test/browser_thumbnails_update.js
toolkit/components/thumbnails/test/head.js
toolkit/components/timermanager/nsUpdateTimerManager.js
toolkit/components/url-classifier/SafeBrowsing.jsm
toolkit/components/url-classifier/content/moz/observer.js
toolkit/components/url-classifier/content/moz/preferences.js
toolkit/components/url-classifier/nsUrlClassifierHashCompleter.js
toolkit/components/url-classifier/tests/browser/classifierHelper.js
toolkit/components/url-classifier/tests/mochitest/classifierCommon.js
toolkit/components/url-classifier/tests/mochitest/test_donottrack.html
toolkit/components/url-classifier/tests/mochitest/test_privatebrowsing_trackingprotection.html
toolkit/components/url-classifier/tests/mochitest/test_reporturl.html
toolkit/components/url-classifier/tests/mochitest/test_trackingprotection_bug1157081.html
toolkit/components/url-classifier/tests/mochitest/test_trackingprotection_whitelist.html
toolkit/components/viewconfig/content/config.js
toolkit/content/browser-content.js
toolkit/content/process-content.js
toolkit/content/widgets/findbar.xml
toolkit/content/widgets/preferences.xml
toolkit/content/widgets/remote-browser.xml
toolkit/crashreporter/test/unit/test_crash_after_js_large_allocation_failure_reporting.js
toolkit/forgetaboutsite/test/unit/test_removeDataFromDomain.js
toolkit/modules/Console.jsm
toolkit/modules/Deprecated.jsm
toolkit/modules/HiddenFrame.jsm
toolkit/modules/LightweightThemeConsumer.jsm
toolkit/modules/NewTabUtils.jsm
toolkit/modules/Promise-backend.js
toolkit/modules/RemotePageManager.jsm
toolkit/modules/SessionRecorder.jsm
toolkit/modules/Sqlite.jsm
toolkit/modules/addons/WebNavigation.jsm
toolkit/modules/addons/WebNavigationContent.js
toolkit/modules/addons/WebRequest.jsm
toolkit/mozapps/extensions/AddonManager.jsm
toolkit/mozapps/extensions/DeferredSave.jsm
toolkit/mozapps/extensions/LightweightThemeManager.jsm
toolkit/mozapps/extensions/addonManager.js
toolkit/mozapps/extensions/content/extensions.js
toolkit/mozapps/extensions/internal/AddonLogging.jsm
toolkit/mozapps/extensions/internal/GMPProvider.jsm
toolkit/mozapps/extensions/internal/PluginProvider.jsm
toolkit/mozapps/extensions/internal/XPIProvider.jsm
toolkit/mozapps/extensions/nsBlocklistService.js
toolkit/mozapps/extensions/nsBlocklistServiceContent.js
toolkit/mozapps/extensions/test/browser/browser_CTP_plugins.js
toolkit/mozapps/extensions/test/browser/browser_addonrepository_performance.js
toolkit/mozapps/extensions/test/browser/browser_bug567127.js
toolkit/mozapps/extensions/test/browser/browser_cancelCompatCheck.js
toolkit/mozapps/extensions/test/browser/browser_discovery_install.js
toolkit/mozapps/extensions/test/browser/browser_dragdrop.js
toolkit/mozapps/extensions/test/browser/browser_dragdrop_incompat.js
toolkit/mozapps/extensions/test/browser/browser_experiments.js
toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js
toolkit/mozapps/extensions/test/browser/browser_inlinesettings.js
toolkit/mozapps/extensions/test/browser/browser_inlinesettings_info.js
toolkit/mozapps/extensions/test/browser/head.js
toolkit/mozapps/extensions/test/xpcshell/head_addons.js
toolkit/mozapps/extensions/test/xpcshell/test_backgroundupdate.js
toolkit/mozapps/extensions/test/xpcshell/test_blocklist_gfx.js
toolkit/mozapps/extensions/test/xpcshell/test_blocklist_metadata_filters.js
toolkit/mozapps/extensions/test/xpcshell/test_blocklist_prefs.js
toolkit/mozapps/extensions/test/xpcshell/test_blocklist_regexp.js
toolkit/mozapps/extensions/test/xpcshell/test_blocklistchange.js
toolkit/mozapps/extensions/test/xpcshell/test_bootstrap_const.js
toolkit/mozapps/extensions/test/xpcshell/test_bootstrap_globals.js
toolkit/mozapps/extensions/test/xpcshell/test_bug393285.js
toolkit/mozapps/extensions/test/xpcshell/test_bug406118.js
toolkit/mozapps/extensions/test/xpcshell/test_bug594058.js
toolkit/mozapps/extensions/test/xpcshell/test_bug619730.js
toolkit/mozapps/extensions/test/xpcshell/test_cacheflush.js
toolkit/mozapps/extensions/test/xpcshell/test_dependencies.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Device.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_DriverNew.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverNew.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_DriverOld.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Equal_OK.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_DriverOld.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_GTE_OK.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_No_Comparison.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OK.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OS.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_match.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_DriverVersion.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_OSVersion_mismatch_OSVersion.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Vendor.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_Version.js
toolkit/mozapps/extensions/test/xpcshell/test_gfxBlacklist_prefs.js
toolkit/mozapps/extensions/test/xpcshell/test_pluginBlocklistCtp.js
toolkit/mozapps/extensions/test/xpcshell/test_signed_updatepref.js
toolkit/mozapps/extensions/test/xpcshell/test_signed_verify.js
toolkit/mozapps/extensions/test/xpcshell/test_softblocked.js
toolkit/mozapps/extensions/test/xpcshell/test_sourceURI.js
toolkit/mozapps/extensions/test/xpcshell/test_startup.js
toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
toolkit/mozapps/extensions/test/xpcshell/test_theme.js
toolkit/mozapps/extensions/test/xpinstall/head.js
toolkit/mozapps/update/content/updates.js
toolkit/mozapps/update/nsUpdateService.js
toolkit/mozapps/update/tests/chrome/utils.js
toolkit/mozapps/update/tests/data/shared.js
toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js
tools/quitter/QuitterObserver.js
uriloader/exthandler/nsHandlerService.js
widget/tests/test_imestate.html
xpcom/tests/unit/test_bug374754.js
xpcom/tests/unit/test_bug725015.js
--- a/accessible/jsat/AccessFu.jsm
+++ b/accessible/jsat/AccessFu.jsm
@@ -130,18 +130,18 @@ this.AccessFu = { // jshint ignore:line
         'Accessibility:MoveByGranularity',
         'Accessibility:NextObject',
         'Accessibility:PreviousObject',
         'Accessibility:ScrollBackward',
         'Accessibility:ScrollForward',
       ]);
     }
 
-    Services.obs.addObserver(this, 'remote-browser-shown', false);
-    Services.obs.addObserver(this, 'inprocess-browser-shown', false);
+    Services.obs.addObserver(this, 'remote-browser-shown');
+    Services.obs.addObserver(this, 'inprocess-browser-shown');
     Utils.win.addEventListener('TabOpen', this);
     Utils.win.addEventListener('TabClose', this);
     Utils.win.addEventListener('TabSelect', this);
 
     if (this.readyCallback) {
       this.readyCallback();
       delete this.readyCallback;
     }
--- a/accessible/jsat/EventManager.jsm
+++ b/accessible/jsat/EventManager.jsm
@@ -594,17 +594,17 @@ const AccessibilityEventObserver = {
 
   /**
    * Start an AccessibilityEventObserver.
    */
   start: function start() {
     if (this.started || this.listenerCount === 0) {
       return;
     }
-    Services.obs.addObserver(this, 'accessible-event', false);
+    Services.obs.addObserver(this, 'accessible-event');
     this.started = true;
   },
 
   /**
    * Stop an AccessibilityEventObserver.
    */
   stop: function stop() {
     if (!this.started) {
--- a/accessible/tests/browser/e10s/events.js
+++ b/accessible/tests/browser/e10s/events.js
@@ -95,17 +95,17 @@ function waitForEvent(eventType, expecte
           ok(event.accessibleDocument instanceof nsIAccessibleDocument,
             'Accessible document present.');
 
           Services.obs.removeObserver(this, 'accessible-event');
           resolve(event);
         }
       }
     };
-    Services.obs.addObserver(eventObserver, 'accessible-event', false);
+    Services.obs.addObserver(eventObserver, 'accessible-event');
   });
 }
 
 /**
  * A helper function that waits for a sequence of accessible events in
  * specified order.
  * @param {Array} events        a list of events to wait (same format as
  *                              waitForEvent arguments)
--- a/accessible/tests/browser/head.js
+++ b/accessible/tests/browser/head.js
@@ -42,17 +42,17 @@ Services.scriptloader.loadSubScript(
  * @return {Promise} event promise evaluating to event's data
  */
 function a11yInitOrShutdownPromise() {
   return new Promise(resolve => {
     let observe = (subject, topic, data) => {
       Services.obs.removeObserver(observe, 'a11y-init-or-shutdown');
       resolve(data);
     };
-    Services.obs.addObserver(observe, 'a11y-init-or-shutdown', false);
+    Services.obs.addObserver(observe, 'a11y-init-or-shutdown');
   });
 }
 
 /**
  * Returns a promise that resolves when 'a11y-init-or-shutdown' event is fired
  * in content.
  * @param  {Object}   browser  current "tabbrowser" element
  * @return {Promise}  event    promise evaluating to event's data
@@ -118,17 +118,17 @@ function waitForEvent(eventType, expecte
         let event = subject.QueryInterface(Ci.nsIAccessibleEvent);
         if (event.eventType === eventType &&
             event.accessible.id === expectedId) {
           Services.obs.removeObserver(this, 'accessible-event');
           resolve(event);
         }
       }
     };
-    Services.obs.addObserver(eventObserver, 'accessible-event', false);
+    Services.obs.addObserver(eventObserver, 'accessible-event');
   });
 }
 
 /**
  * Force garbage collection.
  */
 function forceGC() {
   SpecialPowers.gc();
--- a/accessible/tests/mochitest/browser.js
+++ b/accessible/tests/mochitest/browser.js
@@ -144,10 +144,10 @@ function startBrowserTests()
 }
 
 function whenDelayedStartupFinished(aWindow, aCallback) {
   Services.obs.addObserver(function observer(aSubject, aTopic) {
     if (aWindow == aSubject) {
       Services.obs.removeObserver(observer, aTopic);
       setTimeout(aCallback, 0);
     }
-  }, "browser-delayed-startup-finished", false);
+  }, "browser-delayed-startup-finished");
 }
--- a/accessible/tests/mochitest/events.js
+++ b/accessible/tests/mochitest/events.js
@@ -2115,17 +2115,17 @@ var gA11yEventObserver =
   }
 };
 
 function listenA11yEvents(aStartToListen)
 {
   if (aStartToListen) {
     // Add observer when adding the first applicant only.
     if (!(gA11yEventApplicantsCount++))
-      Services.obs.addObserver(gA11yEventObserver, "accessible-event", false);
+      Services.obs.addObserver(gA11yEventObserver, "accessible-event");
   } else {
     // Remove observer when there are no more applicants only.
     // '< 0' case should not happen, but just in case: removeObserver() will throw.
     if (--gA11yEventApplicantsCount <= 0)
       Services.obs.removeObserver(gA11yEventObserver, "accessible-event");
   }
 }
 
--- a/accessible/tests/mochitest/jsat/jsatcommon.js
+++ b/accessible/tests/mochitest/jsat/jsatcommon.js
@@ -65,17 +65,17 @@ var AccessFuTest = {
       var data = JSON.parse(aData)[1];
       // Ignore non-relevant outputs.
       if (!data) {
         return;
       }
       isDeeply(data.details, aWaitForData, "Data is correct");
       aListener.apply(listener);
     };
-    Services.obs.addObserver(listener, 'accessibility-output', false);
+    Services.obs.addObserver(listener, 'accessibility-output');
     return listener;
   },
 
   on: function AccessFuTest_on(aWaitForData, aListener) {
     return this._addObserver(aWaitForData, aListener);
   },
 
   off: function AccessFuTest_off(aListener) {
--- a/addon-sdk/source/lib/dev/frame-script.js
+++ b/addon-sdk/source/lib/dev/frame-script.js
@@ -106,15 +106,15 @@ const observer = {
           readyState: "uninitialized",
           uri: document.documentURI
         });
       }
     }
   }
 };
 
-observerService.addObserver(observer, "content-document-interactive", false);
-observerService.addObserver(observer, "content-document-loaded", false);
-observerService.addObserver(observer, "chrome-document-interactive", false);
-observerService.addObserver(observer, "chrome-document-loaded", false);
+observerService.addObserver(observer, "content-document-interactive");
+observerService.addObserver(observer, "content-document-loaded");
+observerService.addObserver(observer, "chrome-document-interactive");
+observerService.addObserver(observer, "chrome-document-loaded");
 addEventListener("unload", observer, false);
 
 })(this);
--- a/addon-sdk/source/lib/sdk/context-menu/core.js
+++ b/addon-sdk/source/lib/sdk/context-menu/core.js
@@ -61,17 +61,17 @@ const ContextMenuExtension = Class({
   extends: Component,
   initialize: Component,
   setup() {
     const messageListener = new WeakMessageListener(this, onMessage);
     loadModule(globalMessageManager, "framescript/context-menu", true, "onContentFrame");
     globalMessageManager.addMessageListener("sdk/context-menu/read", messageListener);
     globalMessageManager.addMessageListener("sdk/context-menu/readers?", messageListener);
 
-    preferencesService.addObserver(OVERFLOW_THRESH, this, false);
+    preferencesService.addObserver(OVERFLOW_THRESH, this);
   },
   observe(_, __, name) {
     if (name === OVERFLOW_THRESH) {
       const overflowThreshold = prefs.get(OVERFLOW_THRESH, 10);
       this[Component.patch]({overflowThreshold});
     }
   },
   [onMessage]({name, data, target}) {
--- a/addon-sdk/source/lib/sdk/places/events.js
+++ b/addon-sdk/source/lib/sdk/places/events.js
@@ -124,19 +124,19 @@ historyObserver.onVisit = function(url, 
                                    visitCount, typed, lastKnownTitle) {
   // If this is the first visit we're adding, fire title-changed
   // in case anyone cares.
   if (visitCount == 1) {
     historyObserver.onTitleChanged(url, lastKnownTitle);
   }
   this.realOnVisit(url, visitId, time, sessionId, referringId, transitionType);
 };
-historyService.addObserver(historyObserver, false);
+historyService.addObserver(historyObserver);
 
 var bookmarkObserver = createObserverInstance(BOOKMARK_EVENTS, BOOKMARK_ARGS);
-bookmarkService.addObserver(bookmarkObserver, false);
+bookmarkService.addObserver(bookmarkObserver);
 
 when(() => {
   historyService.removeObserver(historyObserver);
   bookmarkService.removeObserver(bookmarkObserver);
 });
 
 exports.events = emitter;
--- a/addon-sdk/source/lib/sdk/preferences/event-target.js
+++ b/addon-sdk/source/lib/sdk/preferences/event-target.js
@@ -29,17 +29,17 @@ const PrefsTarget = Class({
         QueryInterface(Ci.nsIPrefBranch2);
     prefTargetNS(this).branch = branch;
 
     // provides easy access to preference values
     this.prefs = Branch(branchName);
 
     // start listening to preference changes
     let observer = prefTargetNS(this).observer = onChange.bind(this);
-    branch.addObserver('', observer, false);
+    branch.addObserver('', observer);
 
     // Make sure to destroy this on unload
     unload(destroy.bind(this));
   }
 });
 exports.PrefsTarget = PrefsTarget;
 
 /* HELPERS */
--- a/addon-sdk/source/modules/system/Startup.js
+++ b/addon-sdk/source/modules/system/Startup.js
@@ -47,10 +47,10 @@ else {
   }
 
   let listener = function (subject, topic) {
     Services.obs.removeObserver(this, topic);
     Startup.initialized = true;
     Services.tm.dispatchToMainThread(() => gOnceInitializedDeferred.resolve());
   }
 
-  Services.obs.addObserver(listener, appStartup, false);
+  Services.obs.addObserver(listener, appStartup);
 }
--- a/addon-sdk/source/python-lib/cuddlefish/mobile-utils/bootstrap.js
+++ b/addon-sdk/source/python-lib/cuddlefish/mobile-utils/bootstrap.js
@@ -32,17 +32,17 @@ function startup(data, reason) {
 
   try {
     let QuitObserver = {
       observe: function (aSubject, aTopic, aData) {
         Services.obs.removeObserver(QuitObserver, "quit-application");
         dump("MU: APPLICATION-QUIT\n");
       }
     };
-    Services.obs.addObserver(QuitObserver, "quit-application", false);
+    Services.obs.addObserver(QuitObserver, "quit-application");
     log("MU: ready to watch firefox exit.");
   } catch(e) {
     log("MU: unable to register quit-application observer: " + e);
   }
 }
 
 function install() {}
 function shutdown() {}
--- a/addon-sdk/source/test/leak/leak-utils.js
+++ b/addon-sdk/source/test/leak/leak-utils.js
@@ -48,17 +48,17 @@ exports.asyncWindowLeakTest = function*(
   // Track windows that are opened in an array of weak references.
   let weakWindows = [];
   function windowObserver(subject, topic) {
     let supportsWeak = subject.QueryInterface(Ci.nsISupportsWeakReference);
     if (supportsWeak) {
       weakWindows.push(Cu.getWeakReference(supportsWeak));
     }
   }
-  Services.obs.addObserver(windowObserver, "domwindowopened", false);
+  Services.obs.addObserver(windowObserver, "domwindowopened");
 
   // Execute the body of the test.
   let testLoader = yield asyncTestFunc(assert);
 
   // Stop tracking new windows and attempt to GC any resources allocated
   // by the test body.
   Services.obs.removeObserver(windowObserver, "domwindowopened");
   yield gc();
--- a/addon-sdk/source/test/test-system-events.js
+++ b/addon-sdk/source/test/test-system-events.js
@@ -228,17 +228,17 @@ exports["test emit to nsIObserverService
         return;
       timesCalled = timesCalled + 1;
       lastSubject = subject;
       lastData = data;
       lastTopic = topic;
     }
   };
 
-  nsIObserverService.addObserver(nsIObserver, topic, false);
+  nsIObserverService.addObserver(nsIObserver, topic);
 
   events.emit(topic, { subject: uri, data: "some data" });
 
   assert.equal(timesCalled, 1, "emit notifies observers");
   assert.equal(lastTopic, topic, "event type is notification topic");
   assert.equal(lastSubject.wrappedJSObject.object, uri,
                "event.subject is notification subject");
   assert.equal(lastData, "some data", "event.data is notification data");
@@ -253,17 +253,17 @@ exports["test emit to nsIObserverService
   assert.equal(lastData, customData, "event.data is notification data");
 
   nsIObserverService.removeObserver(nsIObserver, topic);
 
   events.emit(topic, { data: "more data" });
 
   assert.equal(timesCalled, 2, "removed observers no longer invoked");
 
-  nsIObserverService.addObserver(nsIObserver, "*", false);
+  nsIObserverService.addObserver(nsIObserver, "*");
 
   events.emit(topic, { data: "data again" });
 
   assert.equal(timesCalled, 3, "emit notifies * observers");
 
   assert.equal(lastTopic, topic, "event.type is notification");
   assert.equal(lastSubject, null,
                "event.subject is notification subject");
--- a/b2g/chrome/content/screen.js
+++ b/b2g/chrome/content/screen.js
@@ -219,17 +219,17 @@ function onStart() {
     if (screenOrientation != defaultOrientation) {
       let w = width;
       width = height;
       height = w;
     }
     defaultOrientation = screenOrientation;
 
     queueResize();
-  }, 'simulator-adjust-window-size', false);
+  }, 'simulator-adjust-window-size');
 
   // Queue resize request in order to prevent race and slowdowns
   // by requesting resize multiple times per loop
   let resizeTimeout;
   function queueResize() {
     if (resizeTimeout) {
       clearTimeout(resizeTimeout);
     }
--- a/b2g/chrome/content/shell.js
+++ b/b2g/chrome/content/shell.js
@@ -217,17 +217,17 @@ var shell = {
     Services.obs.addObserver(function observer(subject, topic, state) {
       let network = subject.QueryInterface(Ci.nsINetworkInfo);
       if (network.state == Ci.nsINetworkInfo.NETWORK_STATE_CONNECTED
           && network.type == Ci.nsINetworkInfo.NETWORK_TYPE_WIFI) {
         shell.submitQueuedCrashes();
 
         Services.obs.removeObserver(observer, topic);
       }
-    }, "network-connection-state-changed", false);
+    }, "network-connection-state-changed");
   },
 
   get homeURL() {
     try {
       let homeSrc = Services.env.get('B2G_HOMESCREEN');
       if (homeSrc)
         return homeSrc;
     } catch (e) {}
@@ -753,32 +753,32 @@ var shell = {
 
     SystemAppProxy.setIsReady();
   }
 };
 
 Services.obs.addObserver(function onFullscreenOriginChange(subject, topic, data) {
   shell.sendChromeEvent({ type: "fullscreenoriginchange",
                           fullscreenorigin: data });
-}, "fullscreen-origin-change", false);
+}, "fullscreen-origin-change");
 
 Services.obs.addObserver(function onBluetoothVolumeChange(subject, topic, data) {
   shell.sendChromeEvent({
     type: "bluetooth-volumeset",
     value: data
   });
-}, 'bluetooth-volume-change', false);
+}, 'bluetooth-volume-change');
 
 Services.obs.addObserver(function(subject, topic, data) {
   shell.sendCustomEvent('mozmemorypressure');
-}, 'memory-pressure', false);
+}, 'memory-pressure');
 
 Services.obs.addObserver(function(subject, topic, data) {
   shell.notifyEventListenerReady();
-}, 'system-message-listener-ready', false);
+}, 'system-message-listener-ready');
 
 var permissionMap = new Map([
   ['unknown', Services.perms.UNKNOWN_ACTION],
   ['allow', Services.perms.ALLOW_ACTION],
   ['deny', Services.perms.DENY_ACTION],
   ['prompt', Services.perms.PROMPT_ACTION],
 ]);
 var permissionMapRev = new Map(Array.from(permissionMap.entries()).reverse());
@@ -898,24 +898,24 @@ window.addEventListener('ContentStart', 
 
 (function contentCrashTracker() {
   Services.obs.addObserver(function(aSubject, aTopic, aData) {
       let props = aSubject.QueryInterface(Ci.nsIPropertyBag2);
       if (props.hasKey("abnormal") && props.hasKey("dumpID")) {
         shell.reportCrash(false, props.getProperty("dumpID"));
       }
     },
-    "ipc:content-shutdown", false);
+    "ipc:content-shutdown");
 })();
 
 var CaptivePortalLoginHelper = {
   init: function init() {
-    Services.obs.addObserver(this, 'captive-portal-login', false);
-    Services.obs.addObserver(this, 'captive-portal-login-abort', false);
-    Services.obs.addObserver(this, 'captive-portal-login-success', false);
+    Services.obs.addObserver(this, 'captive-portal-login');
+    Services.obs.addObserver(this, 'captive-portal-login-abort');
+    Services.obs.addObserver(this, 'captive-portal-login-success');
   },
   handleEvent: function handleEvent(detail) {
     Services.captivePortalDetector.cancelLogin(detail.id);
   },
   observe: function observe(subject, topic, data) {
     shell.sendChromeEvent(JSON.parse(data));
   }
 }
@@ -992,54 +992,54 @@ window.addEventListener('ContentStart', 
 
     if (gGeolocationActive != oldState) {
       shell.sendChromeEvent({
         type: 'geolocation-status',
         active: gGeolocationActive,
         prompt: promptWarning
       });
     }
-}, "geolocation-device-events", false);
+}, "geolocation-device-events");
 })();
 
 (function headphonesStatusTracker() {
   Services.obs.addObserver(function(aSubject, aTopic, aData) {
     shell.sendChromeEvent({
       type: 'headphones-status-changed',
       state: aData
     });
-}, "headphones-status-changed", false);
+}, "headphones-status-changed");
 })();
 
 (function audioChannelChangedTracker() {
   Services.obs.addObserver(function(aSubject, aTopic, aData) {
     shell.sendChromeEvent({
       type: 'audio-channel-changed',
       channel: aData
     });
-}, "audio-channel-changed", false);
+}, "audio-channel-changed");
 })();
 
 (function defaultVolumeChannelChangedTracker() {
   Services.obs.addObserver(function(aSubject, aTopic, aData) {
     shell.sendChromeEvent({
       type: 'default-volume-channel-changed',
       channel: aData
     });
-}, "default-volume-channel-changed", false);
+}, "default-volume-channel-changed");
 })();
 
 (function visibleAudioChannelChangedTracker() {
   Services.obs.addObserver(function(aSubject, aTopic, aData) {
     shell.sendChromeEvent({
       type: 'visible-audio-channel-changed',
       channel: aData
     });
     shell.visibleNormalAudioActive = (aData == 'normal');
-}, "visible-audio-channel-changed", false);
+}, "visible-audio-channel-changed");
 })();
 
 (function recordingStatusTracker() {
   // Recording status is tracked per process with following data structure:
   // {<processId>: {<requestURL>: {isApp: <isApp>,
   //                               count: <N>,
   //                               audioCount: <N>,
   //                               videoCount: <N>}}
@@ -1128,35 +1128,35 @@ window.addEventListener('ContentStart', 
         break;
     }
 
     // clean up process record if no page record in it.
     if (Object.keys(gRecordingActiveProcesses[processId]).length == 0) {
       delete gRecordingActiveProcesses[processId];
     }
   };
-  Services.obs.addObserver(recordingHandler, 'recording-device-events', false);
-  Services.obs.addObserver(recordingHandler, 'recording-device-ipc-events', false);
+  Services.obs.addObserver(recordingHandler, 'recording-device-events');
+  Services.obs.addObserver(recordingHandler, 'recording-device-ipc-events');
 
   Services.obs.addObserver(function(aSubject, aTopic, aData) {
     // send additional recording events if content process is being killed
     let processId = aSubject.QueryInterface(Ci.nsIPropertyBag2).get('childID');
     if (gRecordingActiveProcesses.hasOwnProperty(processId)) {
       Services.obs.notifyObservers(aSubject, 'recording-device-ipc-events', 'content-shutdown');
     }
-  }, 'ipc:content-shutdown', false);
+  }, 'ipc:content-shutdown');
 })();
 
 (function volumeStateTracker() {
   Services.obs.addObserver(function(aSubject, aTopic, aData) {
     shell.sendChromeEvent({
       type: 'volume-state-changed',
       active: (aData == 'Shared')
     });
-}, 'volume-state-changed', false);
+}, 'volume-state-changed');
 })();
 
 if (isGonk) {
   // Devices don't have all the same partition size for /cache where we
   // store the http cache.
   (function setHTTPCacheSize() {
     let path = Services.prefs.getCharPref("browser.cache.disk.parent_directory");
     let volumeService = Cc["@mozilla.org/telephony/volume-service;1"]
@@ -1224,22 +1224,22 @@ Services.obs.addObserver(function resetP
       while (enumerator.hasMoreElements()) {
         let file = enumerator.getNext().QueryInterface(Ci.nsIFile);
         if (whitelist.indexOf(file.leafName) == -1) {
           file.remove(true);
         }
       }
     }
   },
-  'profile-before-change-telemetry', false);
+  'profile-before-change-telemetry');
 
   let appStartup = Cc['@mozilla.org/toolkit/app-startup;1']
                      .getService(Ci.nsIAppStartup);
   appStartup.quit(Ci.nsIAppStartup.eForceQuit);
-}, 'b2g-reset-profile', false);
+}, 'b2g-reset-profile');
 
 var showInstallScreen;
 
 if (AppConstants.MOZ_GRAPHENE) {
   const restoreWindowGeometry = () => {
     let screenX = Services.prefs.getIntPref("b2g.nativeWindowGeometry.screenX");
     let screenY = Services.prefs.getIntPref("b2g.nativeWindowGeometry.screenY");
     let width = Services.prefs.getIntPref("b2g.nativeWindowGeometry.width");
--- a/b2g/chrome/content/test/mochitest/RecordingStatusChromeScript.js
+++ b/b2g/chrome/content/test/mochitest/RecordingStatusChromeScript.js
@@ -21,18 +21,18 @@ addMessageListener('init-chrome-event', 
   let type = message.type;
   SystemAppProxy.addEventListener('mozChromeEvent', function(event) {
     let details = event.detail;
     if (details.type === type) {
       sendAsyncMessage('chrome-event', details);
     }
   }, true);
 
-  Services.obs.addObserver(peekChildId, 'recording-device-events', false);
-  Services.obs.addObserver(peekChildId, 'recording-device-ipc-events', false);
+  Services.obs.addObserver(peekChildId, 'recording-device-events');
+  Services.obs.addObserver(peekChildId, 'recording-device-ipc-events');
 });
 
 addMessageListener('fake-content-shutdown', function(message) {
     let props = Cc["@mozilla.org/hash-property-bag;1"]
                   .createInstance(Ci.nsIWritablePropertyBag2);
     if (processId) {
       props.setPropertyAsUint64('childID', processId);
     }
--- a/b2g/components/AlertsHelper.jsm
+++ b/b2g/components/AlertsHelper.jsm
@@ -57,17 +57,17 @@ const kMessages = [
   kMessageAlertNotificationClose
 ];
 
 var AlertsHelper = {
 
   _listeners: {},
 
   init: function() {
-    Services.obs.addObserver(this, "xpcom-shutdown", false);
+    Services.obs.addObserver(this, "xpcom-shutdown");
     for (let message of kMessages) {
       ppmm.addMessageListener(message, this);
     }
     SystemAppProxy.addEventListener(kMozContentNotificationEvent, this);
   },
 
   observe: function(aSubject, aTopic, aData) {
     switch (aTopic) {
--- a/b2g/components/AlertsService.js
+++ b/b2g/components/AlertsService.js
@@ -39,17 +39,17 @@ const kNotificationSystemMessageName = "
 const kMessageAlertNotificationSend  = "alert-notification-send";
 const kMessageAlertNotificationClose = "alert-notification-close";
 
 const kTopicAlertShow          = "alertshow";
 const kTopicAlertFinished      = "alertfinished";
 const kTopicAlertClickCallback = "alertclickcallback";
 
 function AlertsService() {
-  Services.obs.addObserver(this, "xpcom-shutdown", false);
+  Services.obs.addObserver(this, "xpcom-shutdown");
 }
 
 AlertsService.prototype = {
   classID: Components.ID("{fe33c107-82a4-41d6-8c64-5353267e04c9}"),
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIAlertsService,
                                          Ci.nsIObserver]),
 
   observe: function(aSubject, aTopic, aData) {
--- a/b2g/components/ErrorPage.jsm
+++ b/b2g/components/ErrorPage.jsm
@@ -165,18 +165,18 @@ var ErrorPage = {
 
     frameElement.addEventListener('mozbrowsererror',
                                   injectErrorPageScript,
                                   true // use capture
                                  );
   },
 
   init: function errorPageInit() {
-    Services.obs.addObserver(this, 'inprocess-browser-shown', false);
-    Services.obs.addObserver(this, 'remote-browser-shown', false);
+    Services.obs.addObserver(this, 'inprocess-browser-shown');
+    Services.obs.addObserver(this, 'remote-browser-shown');
   },
 
   observe: function errorPageObserve(aSubject, aTopic, aData) {
     let frameLoader = aSubject.QueryInterface(Ci.nsIFrameLoader);
     // Ignore notifications that aren't from a Browser
     if (!frameLoader.ownerIsMozBrowserFrame) {
       return;
     }
--- a/b2g/components/Frames.jsm
+++ b/b2g/components/Frames.jsm
@@ -15,19 +15,19 @@ Cu.import('resource://gre/modules/System
 const listeners = [];
 
 const Observer = {
   // Save a map of (MessageManager => Frame) to be able to dispatch
   // the FrameDestroyed event with a frame reference.
   _frames: new Map(),
 
   start: function () {
-    Services.obs.addObserver(this, 'remote-browser-shown', false);
-    Services.obs.addObserver(this, 'inprocess-browser-shown', false);
-    Services.obs.addObserver(this, 'message-manager-close', false);
+    Services.obs.addObserver(this, 'remote-browser-shown');
+    Services.obs.addObserver(this, 'inprocess-browser-shown');
+    Services.obs.addObserver(this, 'message-manager-close');
 
     SystemAppProxy.getFrames().forEach(frame => {
       let mm = frame.QueryInterface(Ci.nsIFrameLoaderOwner).frameLoader.messageManager;
       this._frames.set(mm, frame);
     });
   },
 
   stop: function () {
--- a/b2g/components/FxAccountsMgmtService.jsm
+++ b/b2g/components/FxAccountsMgmtService.jsm
@@ -43,19 +43,19 @@ this.FxAccountsMgmtService = {
   _onReject: function(aMsgId, aReason) {
     SystemAppProxy._sendCustomEvent("mozFxAccountsChromeEvent", {
       id: aMsgId,
       error: aReason ? aReason : null
     });
   },
 
   init: function() {
-    Services.obs.addObserver(this, ONLOGIN_NOTIFICATION, false);
-    Services.obs.addObserver(this, ONVERIFIED_NOTIFICATION, false);
-    Services.obs.addObserver(this, ONLOGOUT_NOTIFICATION, false);
+    Services.obs.addObserver(this, ONLOGIN_NOTIFICATION);
+    Services.obs.addObserver(this, ONVERIFIED_NOTIFICATION);
+    Services.obs.addObserver(this, ONLOGOUT_NOTIFICATION);
     SystemAppProxy.addEventListener("mozFxAccountsContentEvent",
                                     FxAccountsMgmtService);
   },
 
   observe: function(aSubject, aTopic, aData) {
     log.debug("Observed " + aTopic);
     switch (aTopic) {
       case ONLOGIN_NOTIFICATION:
--- a/b2g/components/LogShake.jsm
+++ b/b2g/components/LogShake.jsm
@@ -150,17 +150,17 @@ var LogShake = {
     }});
 
     // Reset excitement to clear residual motion
     this.excitement = 0;
 
     SystemAppProxy.addEventListener(CAPTURE_LOGS_CONTENT_EVENT, this);
     SystemAppProxy.addEventListener(SCREEN_CHANGE_EVENT, this);
 
-    Services.obs.addObserver(this, "xpcom-shutdown", false);
+    Services.obs.addObserver(this, "xpcom-shutdown");
   },
 
   /**
    * Handle an arbitrary event, passing it along to the proper function
    */
   handleEvent: function(event) {
     switch (event.type) {
     case DEVICE_MOTION_EVENT:
--- a/b2g/components/ProcessGlobal.js
+++ b/b2g/components/ProcessGlobal.js
@@ -155,17 +155,17 @@ ProcessGlobal.prototype = {
     );
 
     log("cleanupAfterWipe end.");
   },
 
   observe: function pg_observe(subject, topic, data) {
     switch (topic) {
     case 'app-startup': {
-      Services.obs.addObserver(this, 'console-api-log-event', false);
+      Services.obs.addObserver(this, 'console-api-log-event');
       let inParent = Cc["@mozilla.org/xre/app-info;1"]
                        .getService(Ci.nsIXULRuntime)
                        .processType == Ci.nsIXULRuntime.PROCESS_TYPE_DEFAULT;
       if (inParent) {
         Services.ppmm.addMessageListener("getProfD", function(message) {
           return Services.dirsvc.get("ProfD", Ci.nsIFile).path;
         });
 
--- a/b2g/components/SafeMode.jsm
+++ b/b2g/components/SafeMode.jsm
@@ -45,17 +45,17 @@ this.SafeMode = {
     return new Promise((aResolve, aReject) => {
       let observer = function(aSubject, aTopic, aData) {
         if (Services.prefs.getCharPref(kSafeModePref)) {
           Services.prefs.removeObserver(kSafeModePref, observer);
           aResolve();
         }
       }
 
-      Services.prefs.addObserver(kSafeModePref, observer, false);
+      Services.prefs.addObserver(kSafeModePref, observer);
     });
   },
 
   // Resolves once the user has decided how to start.
   // Note that all the actions happen here, so there is no other action from
   // consumers than to go on.
   _waitForUser: function() {
     debug("waitForUser");
--- a/b2g/components/SignInToWebsite.jsm
+++ b/b2g/components/SignInToWebsite.jsm
@@ -127,18 +127,18 @@ function sendChromeEvent(details) {
 }
 
 function Pipe() {
   this._watchers = [];
 }
 
 Pipe.prototype = {
   init: function pipe_init() {
-    Services.obs.addObserver(this, "identity-child-process-shutdown", false);
-    Services.obs.addObserver(this, "identity-controller-unwatch", false);
+    Services.obs.addObserver(this, "identity-child-process-shutdown");
+    Services.obs.addObserver(this, "identity-controller-unwatch");
   },
 
   uninit: function pipe_uninit() {
     Services.obs.removeObserver(this, "identity-child-process-shutdown");
     Services.obs.removeObserver(this, "identity-controller-unwatch");
   },
 
   observe: function Pipe_observe(aSubject, aTopic, aData) {
@@ -324,19 +324,19 @@ this.SignInToWebsiteController = {
 
   /*
    * Initialize the controller.  To use a different content communication pipe,
    * such as when mocking it in tests, pass aOptions.pipe.
    */
   init: function SignInToWebsiteController_init(aOptions) {
     aOptions = aOptions || {};
     this.pipe = aOptions.pipe || new Pipe();
-    Services.obs.addObserver(this, "identity-controller-watch", false);
-    Services.obs.addObserver(this, "identity-controller-request", false);
-    Services.obs.addObserver(this, "identity-controller-logout", false);
+    Services.obs.addObserver(this, "identity-controller-watch");
+    Services.obs.addObserver(this, "identity-controller-request");
+    Services.obs.addObserver(this, "identity-controller-logout");
   },
 
   uninit: function SignInToWebsiteController_uninit() {
     Services.obs.removeObserver(this, "identity-controller-watch");
     Services.obs.removeObserver(this, "identity-controller-request");
     Services.obs.removeObserver(this, "identity-controller-logout");
   },
 
--- a/b2g/components/SimulatorScreen.js
+++ b/b2g/components/SimulatorScreen.js
@@ -74,19 +74,19 @@ SimulatorScreen.prototype = {
   QueryInterface:  XPCOMUtils.generateQI([Ci.nsIObserver,
                                           Ci.nsISupportsWeakReference]),
   _windows: new Map(),
 
   observe: function (subject, topic, data) {
     let windows = this._windows;
     switch (topic) {
       case 'profile-after-change':
-        Services.obs.addObserver(this, 'document-element-inserted', false);
-        Services.obs.addObserver(this, 'simulator-orientation-change', false);
-        Services.obs.addObserver(this, 'inner-window-destroyed', false);
+        Services.obs.addObserver(this, 'document-element-inserted');
+        Services.obs.addObserver(this, 'simulator-orientation-change');
+        Services.obs.addObserver(this, 'inner-window-destroyed');
         break;
 
       case 'document-element-inserted':
         let window = subject.defaultView;
         if (!window) {
           return;
         }
 
--- a/b2g/components/test/unit/head_identity.js
+++ b/b2g/components/test/unit/head_identity.js
@@ -126,17 +126,17 @@ function makeObserver(aObserveTopic, aOb
     observe: function (aSubject, aTopic, aData) {
       if (aTopic == aObserveTopic) {
         Services.obs.removeObserver(observer, aObserveTopic);
         aObserveFunc(aSubject, aTopic, aData);
       }
     }
   };
 
-  Services.obs.addObserver(observer, aObserveTopic, false);
+  Services.obs.addObserver(observer, aObserveTopic);
 }
 
 // a hook to set up the ID service with an identity with keypair and all
 // when ready, invoke callback with the identity.  It's there if we need it.
 function setup_test_identity(identity, cert, cb) {
   cb();
 }
 
--- a/b2g/components/test/unit/test_aboutserviceworkers.js
+++ b/b2g/components/test/unit/test_aboutserviceworkers.js
@@ -99,17 +99,17 @@ function run_test() {
                   expected.result.registrations.length,
                   "Registrations length should be the expected one");
 
       Services.obs.removeObserver(onMessage, CHROME_MSG);
 
       run_next_test();
     }
 
-    Services.obs.addObserver(onMessage, CHROME_MSG, false);
+    Services.obs.addObserver(onMessage, CHROME_MSG);
 
     attachMocks();
 
     AboutServiceWorkers.handleEvent({ detail: {
       id: id,
       name: "init"
     }});
   });
--- a/b2g/components/test/unit/test_fxaccounts.js
+++ b/b2g/components/test/unit/test_fxaccounts.js
@@ -146,17 +146,17 @@ add_test(function test_invalidEmailCase_
 
       // We should not receive any other mozFxAccountsChromeEvent messages
       default:
         do_throw("wat!");
         break;
     }
   }
 
-  Services.obs.addObserver(onMessage, "mozFxAccountsChromeEvent", false);
+  Services.obs.addObserver(onMessage, "mozFxAccountsChromeEvent");
 
   SystemAppProxy._sendCustomEvent = mockSendCustomEvent;
 
   // Trigger signIn using an email with incorrect capitalization
   FxAccountsMgmtService.handleEvent({
     detail: {
       id: "signIn",
       data: {
--- a/browser/base/content/aboutDialog-appUpdater.js
+++ b/browser/base/content/aboutDialog-appUpdater.js
@@ -383,17 +383,17 @@ appUpdater.prototype =
           } else if (status == "downloading") {
             // We've fallen back to downloading the full update because the
             // partial update failed to get staged in the background.
             // Therefore we need to keep our observer.
             self.setupDownloadingUI();
             return;
           }
           Services.obs.removeObserver(arguments.callee, "update-staged");
-        }, "update-staged", false);
+        }, "update-staged");
       } else {
         this.selectPanel("apply");
       }
       break;
     default:
       this.removeDownloadListener();
       this.selectPanel("downloadFailed");
       break;
--- a/browser/base/content/aboutaccounts/aboutaccounts.js
+++ b/browser/base/content/aboutaccounts/aboutaccounts.js
@@ -494,17 +494,17 @@ function initObservers() {
       return;
     }
 
     // must be onverified - we want to open preferences.
     openPrefs();
   }
 
   for (let topic of OBSERVER_TOPICS) {
-    Services.obs.addObserver(observe, topic, false);
+    Services.obs.addObserver(observe, topic);
   }
   window.addEventListener("unload", function(event) {
     log("about:accounts unloading")
     for (let topic of OBSERVER_TOPICS) {
       Services.obs.removeObserver(observe, topic);
     }
   });
 }
--- a/browser/base/content/browser-captivePortal.js
+++ b/browser/base/content/browser-captivePortal.js
@@ -44,19 +44,19 @@ var CaptivePortalWatcher = {
 
   get _browserBundle() {
     delete this._browserBundle;
     return this._browserBundle =
       Services.strings.createBundle("chrome://browser/locale/browser.properties");
   },
 
   init() {
-    Services.obs.addObserver(this, "captive-portal-login", false);
-    Services.obs.addObserver(this, "captive-portal-login-abort", false);
-    Services.obs.addObserver(this, "captive-portal-login-success", false);
+    Services.obs.addObserver(this, "captive-portal-login");
+    Services.obs.addObserver(this, "captive-portal-login-abort");
+    Services.obs.addObserver(this, "captive-portal-login-success");
 
     if (cps.state == cps.LOCKED_PORTAL) {
       // A captive portal has already been detected.
       this._captivePortalDetected();
 
       // Automatically open a captive portal tab if there's no other browser window.
       let windows = Services.wm.getEnumerator("navigator:browser");
       if (windows.getNext() == window && !windows.hasMoreElements()) {
@@ -100,17 +100,17 @@ var CaptivePortalWatcher = {
 
     let win = RecentWindow.getMostRecentBrowserWindow();
     // If no browser window has focus, open and show the tab when we regain focus.
     // This is so that if a different application was focused, when the user
     // (re-)focuses a browser window, we open the tab immediately in that window
     // so they can log in before continuing to browse.
     if (win != Services.ww.activeWindow) {
       this._delayedCaptivePortalDetectedInProgress = true;
-      Services.obs.addObserver(this, "xul-window-visible", false);
+      Services.obs.addObserver(this, "xul-window-visible");
     }
 
     this._showNotification();
   },
 
   /**
    * Called after we regain focus if we detect a portal while a browser window
    * doesn't have focus. Triggers a portal recheck to reaffirm state, and adds
@@ -150,17 +150,17 @@ var CaptivePortalWatcher = {
       }
 
       if (time <= self.PORTAL_RECHECK_DELAY_MS) {
         // The amount of time elapsed since we requested a recheck (i.e. since
         // the browser window was focused) was small enough that we can add and
         // focus a tab with the login page with no noticeable delay.
         self.ensureCaptivePortalTab();
       }
-    }, "captive-portal-check-complete", false);
+    }, "captive-portal-check-complete");
   },
 
   _captivePortalGone() {
     if (this._delayedCaptivePortalDetectedInProgress) {
       Services.obs.removeObserver(this, "xul-window-visible");
       this._delayedCaptivePortalDetectedInProgress = false;
     }
 
@@ -246,12 +246,12 @@ var CaptivePortalWatcher = {
       Services.obs.removeObserver(tabCloser, "captive-portal-login-abort");
       Services.obs.removeObserver(tabCloser, "captive-portal-login-success");
       if (!tab || tab.closing || !tab.parentNode || !tab.linkedBrowser ||
           !tab.linkedBrowser.currentURI.equalsExceptRef(canonicalURI)) {
         return;
       }
       gBrowser.removeTab(tab);
     }
-    Services.obs.addObserver(tabCloser, "captive-portal-login-abort", false);
-    Services.obs.addObserver(tabCloser, "captive-portal-login-success", false);
+    Services.obs.addObserver(tabCloser, "captive-portal-login-abort");
+    Services.obs.addObserver(tabCloser, "captive-portal-login-success");
   },
 };
--- a/browser/base/content/browser-compacttheme.js
+++ b/browser/base/content/browser-compacttheme.js
@@ -19,17 +19,17 @@ var CompactTheme = {
     let theme = LightweightThemeManager.currentTheme;
     return theme && (
            theme.id == "firefox-compact-dark@mozilla.org" ||
            theme.id == "firefox-compact-light@mozilla.org");
   },
 
   init() {
     this.initialized = true;
-    Services.obs.addObserver(this, "lightweight-theme-styling-update", false);
+    Services.obs.addObserver(this, "lightweight-theme-styling-update");
 
     if (this.isThemeCurrentlyApplied) {
       this._toggleStyleSheet(true);
     }
   },
 
   createStyleSheet() {
     let styleSheetAttr = `href="${this.styleSheetLocation}" type="text/css"`;
--- a/browser/base/content/browser-fxaccounts.js
+++ b/browser/base/content/browser-fxaccounts.js
@@ -110,17 +110,17 @@ var gFxAccounts = {
 
   init() {
     // Bail out if we're already initialized and for pop-up windows.
     if (this._initialized || !window.toolbar.visible) {
       return;
     }
 
     for (let topic of this.topics) {
-      Services.obs.addObserver(this, topic, false);
+      Services.obs.addObserver(this, topic);
     }
 
     gNavToolbox.addEventListener("customizationstarting", this);
     gNavToolbox.addEventListener("customizationending", this);
 
     EnsureFxAccountsWebChannel();
     this._initialized = true;
 
--- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js
@@ -1480,17 +1480,17 @@ var BookmarkingUI = {
         this._recentlyBookmarkedObserver = null;
         if (placesContextMenu) {
           placesContextMenu.removeEventListener("popupshowing", onPlacesContextMenuShowing);
         }
         bookmarksMenu.removeEventListener("popuphidden", onBookmarksMenuHidden);
       }
     };
 
-    Services.prefs.addObserver(this.RECENTLY_BOOKMARKED_PREF, prefObserver, false);
+    Services.prefs.addObserver(this.RECENTLY_BOOKMARKED_PREF, prefObserver);
     PlacesUtils.bookmarks.addObserver(this._recentlyBookmarkedObserver, true);
 
     // The context menu doesn't exist in non-browser windows on Mac
     if (placesContextMenu) {
       placesContextMenu.addEventListener("popupshowing", onPlacesContextMenuShowing);
     }
 
     bookmarksMenu.addEventListener("popuphidden", onBookmarksMenuHidden);
@@ -2009,17 +2009,17 @@ var BookmarkingUI = {
 
   QueryInterface: XPCOMUtils.generateQI([
     Ci.nsINavBookmarkObserver
   ])
 };
 
 var AutoShowBookmarksToolbar = {
   init() {
-    Services.obs.addObserver(this, "autoshow-bookmarks-toolbar", false);
+    Services.obs.addObserver(this, "autoshow-bookmarks-toolbar");
   },
 
   uninit() {
     Services.obs.removeObserver(this, "autoshow-bookmarks-toolbar");
   },
 
   observe(subject, topic, data) {
     let toolbar = document.getElementById("PersonalToolbar");
--- a/browser/base/content/browser-social.js
+++ b/browser/base/content/browser-social.js
@@ -35,17 +35,17 @@ SocialUI = {
   init: function SocialUI_init() {
     if (this._initialized) {
       return;
     }
     let mm = window.getGroupMessageManager("social");
     mm.loadFrameScript("chrome://browser/content/content.js", true);
     mm.loadFrameScript("chrome://browser/content/social-content.js", true);
 
-    Services.obs.addObserver(this, "social:providers-changed", false);
+    Services.obs.addObserver(this, "social:providers-changed");
 
     CustomizableUI.addListener(this);
     SocialActivationListener.init();
 
     Social.init().then((update) => {
       if (update)
         this._providersChanged();
     });
--- a/browser/base/content/browser-tabsintitlebar.js
+++ b/browser/base/content/browser-tabsintitlebar.js
@@ -7,17 +7,17 @@
 // this one on platforms which don't have CAN_DRAW_IN_TITLEBAR defined.
 
 var TabsInTitlebar = {
   init() {
     if (this._initialized) {
       return;
     }
     this._readPref();
-    Services.prefs.addObserver(this._prefName, this, false);
+    Services.prefs.addObserver(this._prefName, this);
 
     // We need to update the appearance of the titlebar when the menu changes
     // from the active to the inactive state. We can't, however, rely on
     // DOMMenuBarInactive, because the menu fires this event and then removes
     // the inactive attribute after an event-loop spin.
     //
     // Because updating the appearance involves sampling the heights and margins
     // of various elements, it's important that the layout be more or less
--- a/browser/base/content/browser-thumbnails.js
+++ b/browser/base/content/browser-thumbnails.js
@@ -31,17 +31,17 @@ var gBrowserThumbnails = {
   /**
    * List of tab events we want to listen for.
    */
   _tabEvents: ["TabClose", "TabSelect"],
 
   init: function Thumbnails_init() {
     PageThumbs.addExpirationFilter(this);
     gBrowser.addTabsProgressListener(this);
-    Services.prefs.addObserver(this.PREF_DISK_CACHE_SSL, this, false);
+    Services.prefs.addObserver(this.PREF_DISK_CACHE_SSL, this);
 
     this._sslDiskCacheEnabled =
       Services.prefs.getBoolPref(this.PREF_DISK_CACHE_SSL);
 
     this._tabEvents.forEach(function(aEvent) {
       gBrowser.tabContainer.addEventListener(aEvent, this);
     }, this);
 
--- a/browser/base/content/browser-trackingprotection.js
+++ b/browser/base/content/browser-trackingprotection.js
@@ -17,18 +17,18 @@ var TrackingProtection = {
 
   init() {
     let $ = selector => document.querySelector(selector);
     this.container = $("#tracking-protection-container");
     this.content = $("#tracking-protection-content");
     this.icon = $("#tracking-protection-icon");
 
     this.updateEnabled();
-    Services.prefs.addObserver(this.PREF_ENABLED_GLOBALLY, this, false);
-    Services.prefs.addObserver(this.PREF_ENABLED_IN_PRIVATE_WINDOWS, this, false);
+    Services.prefs.addObserver(this.PREF_ENABLED_GLOBALLY, this);
+    Services.prefs.addObserver(this.PREF_ENABLED_IN_PRIVATE_WINDOWS, this);
 
     this.activeTooltipText =
       gNavigatorBundle.getString("trackingProtection.icon.activeTooltip");
     this.disabledTooltipText =
       gNavigatorBundle.getString("trackingProtection.icon.disabledTooltip");
 
     this.enabledHistogramAdd(this.enabledGlobally);
     this.disabledPBMHistogramAdd(!this.enabledInPrivateWindows);
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -1083,18 +1083,17 @@ function RedirectLoad({ target: browser,
     let delayedStartupFinished = (subject, topic) => {
       if (topic == "browser-delayed-startup-finished" &&
           subject == window) {
         Services.obs.removeObserver(delayedStartupFinished, topic);
         LoadInOtherProcess(browser, data.loadOptions, data.historyIndex);
       }
     };
     Services.obs.addObserver(delayedStartupFinished,
-                             "browser-delayed-startup-finished",
-                             false);
+                             "browser-delayed-startup-finished");
   }
 }
 
 addEventListener("DOMContentLoaded", function onDCL() {
   removeEventListener("DOMContentLoaded", onDCL);
 
   // There are some windows, like macBrowserOverlay.xul, that
   // load browser.js, but never load tabbrowser.xml. We can ignore
@@ -1129,17 +1128,17 @@ addEventListener("DOMContentLoaded", fun
 });
 
 var gBrowserInit = {
   delayedStartupFinished: false,
 
   onLoad() {
     gBrowser.addEventListener("DOMUpdatePageReport", gPopupBlockerObserver);
 
-    Services.obs.addObserver(gPluginHandler.NPAPIPluginCrashed, "plugin-crashed", false);
+    Services.obs.addObserver(gPluginHandler.NPAPIPluginCrashed, "plugin-crashed");
 
     window.addEventListener("AppCommand", HandleAppCommandEvent, true);
 
     // These routines add message listeners. They must run before
     // loading the frame script to ensure that we don't miss any
     // message sent between when the frame script is loaded and when
     // the listener is registered.
     DOMLinkHandler.init();
@@ -1367,26 +1366,26 @@ var gBrowserInit = {
         // Such callers expect that window.arguments[0] is handled as a single URI.
         loadOneOrMoreURIs(uriToLoad);
       }
     }
 
     // Bug 778855 - Perf regression if we do this here. To be addressed in bug 779008.
     setTimeout(function() { SafeBrowsing.init(); }, 2000);
 
-    Services.obs.addObserver(gIdentityHandler, "perm-changed", false);
-    Services.obs.addObserver(gSessionHistoryObserver, "browser:purge-session-history", false);
-    Services.obs.addObserver(gStoragePressureObserver, "QuotaManager::StoragePressure", false);
-    Services.obs.addObserver(gXPInstallObserver, "addon-install-disabled", false);
-    Services.obs.addObserver(gXPInstallObserver, "addon-install-started", false);
-    Services.obs.addObserver(gXPInstallObserver, "addon-install-blocked", false);
-    Services.obs.addObserver(gXPInstallObserver, "addon-install-origin-blocked", false);
-    Services.obs.addObserver(gXPInstallObserver, "addon-install-failed", false);
-    Services.obs.addObserver(gXPInstallObserver, "addon-install-confirmation", false);
-    Services.obs.addObserver(gXPInstallObserver, "addon-install-complete", false);
+    Services.obs.addObserver(gIdentityHandler, "perm-changed");
+    Services.obs.addObserver(gSessionHistoryObserver, "browser:purge-session-history");
+    Services.obs.addObserver(gStoragePressureObserver, "QuotaManager::StoragePressure");
+    Services.obs.addObserver(gXPInstallObserver, "addon-install-disabled");
+    Services.obs.addObserver(gXPInstallObserver, "addon-install-started");
+    Services.obs.addObserver(gXPInstallObserver, "addon-install-blocked");
+    Services.obs.addObserver(gXPInstallObserver, "addon-install-origin-blocked");
+    Services.obs.addObserver(gXPInstallObserver, "addon-install-failed");
+    Services.obs.addObserver(gXPInstallObserver, "addon-install-confirmation");
+    Services.obs.addObserver(gXPInstallObserver, "addon-install-complete");
     window.messageManager.addMessageListener("Browser:URIFixup", gKeywordURIFixup);
 
     BrowserOffline.init();
     IndexedDBPromptHelper.init();
 
     if (AppConstants.E10S_TESTING_ONLY)
       gRemoteTabsUI.init();
 
@@ -1420,17 +1419,17 @@ var gBrowserInit = {
     }
 
     // Enable/Disable auto-hide tabbar
     gBrowser.tabContainer.updateVisibility();
 
     BookmarkingUI.init();
     AutoShowBookmarksToolbar.init();
 
-    gPrefService.addObserver(gHomeButton.prefDomain, gHomeButton, false);
+    gPrefService.addObserver(gHomeButton.prefDomain, gHomeButton);
 
     var homeButton = document.getElementById("home-button");
     gHomeButton.updateTooltip(homeButton);
 
     let safeMode = document.getElementById("helpSafeMode");
     if (Services.appinfo.inSafeMode) {
       safeMode.label = safeMode.getAttribute("stoplabel");
       safeMode.accesskey = safeMode.getAttribute("stopaccesskey");
@@ -1452,17 +1451,17 @@ var gBrowserInit = {
 
     let NP = {};
     Cu.import("resource:///modules/NetworkPrioritizer.jsm", NP);
     NP.trackBrowserWindow(window);
 
     PlacesToolbarHelper.init();
 
     ctrlTab.readPref();
-    gPrefService.addObserver(ctrlTab.prefName, ctrlTab, false);
+    gPrefService.addObserver(ctrlTab.prefName, ctrlTab);
 
     // Initialize the download manager some time after the app starts so that
     // auto-resume downloads begin (such as after crashing or quitting with
     // active downloads) and speeds up the first-load of the download manager UI.
     // If the user manually opens the download manager before the timeout, the
     // downloads will start right away, and initializing again won't hurt.
     setTimeout(function() {
       try {
@@ -2763,17 +2762,17 @@ var gMenuButtonUpdateBadge = {
 
   get badgeWaitTime() {
     return Services.prefs.getIntPref("app.update.badgeWaitTime", 4 * 24 * 3600); // 4 days
   },
 
   init() {
     if (this.enabled) {
       this.kTopics.forEach(t => {
-        Services.obs.addObserver(this, t, false);
+        Services.obs.addObserver(this, t);
       });
     }
   },
 
   uninit() {
     if (this.enabled) {
       this.kTopics.forEach(t => {
         Services.obs.removeObserver(this, t);
@@ -2985,18 +2984,18 @@ var BrowserOnClick = {
     mm.addMessageListener("Browser:SiteBlockedError", this);
     mm.addMessageListener("Browser:EnableOnlineMode", this);
     mm.addMessageListener("Browser:SendSSLErrorReport", this);
     mm.addMessageListener("Browser:SetSSLErrorReportAuto", this);
     mm.addMessageListener("Browser:ResetSSLPreferences", this);
     mm.addMessageListener("Browser:SSLErrorReportTelemetry", this);
     mm.addMessageListener("Browser:SSLErrorGoBack", this);
 
-    Services.obs.addObserver(this, "captive-portal-login-abort", false);
-    Services.obs.addObserver(this, "captive-portal-login-success", false);
+    Services.obs.addObserver(this, "captive-portal-login-abort");
+    Services.obs.addObserver(this, "captive-portal-login-success");
   },
 
   uninit() {
     let mm = window.messageManager;
     mm.removeMessageListener("Browser:CertExceptionError", this);
     mm.removeMessageListener("Browser:SiteBlockedError", this);
     mm.removeMessageListener("Browser:EnableOnlineMode", this);
     mm.removeMessageListener("Browser:SendSSLErrorReport", this);
@@ -3814,17 +3813,17 @@ const BrowserSearch = {
         var observer = function(subject, topic, data) {
           if (subject == win) {
             BrowserSearch.webSearch();
             Services.obs.removeObserver(observer, "browser-delayed-startup-finished");
           }
         }
         win = window.openDialog(getBrowserURL(), "_blank",
                                 "chrome,all,dialog=no", "about:blank");
-        Services.obs.addObserver(observer, "browser-delayed-startup-finished", false);
+        Services.obs.addObserver(observer, "browser-delayed-startup-finished");
       }
       return;
     }
 
     let focusUrlBarIfSearchFieldIsNotActive = function(aSearchBar) {
       if (!aSearchBar || document.activeElement != aSearchBar.textbox.inputField) {
         focusAndSelectUrlBar();
       }
@@ -4192,18 +4191,18 @@ function OpenBrowserWindow(options) {
     if (subject == win) {
       Services.obs.removeObserver(newDocumentShown, "document-shown");
       Services.obs.removeObserver(windowClosed, "domwindowclosed");
     }
   }
 
   // Make sure to remove the 'document-shown' observer in case the window
   // is being closed right after it was opened to avoid leaking.
-  Services.obs.addObserver(newDocumentShown, "document-shown", false);
-  Services.obs.addObserver(windowClosed, "domwindowclosed", false);
+  Services.obs.addObserver(newDocumentShown, "document-shown");
+  Services.obs.addObserver(windowClosed, "domwindowclosed");
 
   var charsetArg = new String();
   var handler = Components.classes["@mozilla.org/browser/clh;1"]
                           .getService(Components.interfaces.nsIBrowserHandler);
   var defaultArgs = handler.defaultArgs;
   var wintype = document.documentElement.getAttribute("windowtype");
 
   var extraFeatures = "";
@@ -5412,17 +5411,17 @@ function setToolbarVisibility(toolbar, i
   if (isVisible)
     ToolbarIconColor.inferFromText();
 }
 
 var TabletModeUpdater = {
   init() {
     if (AppConstants.isPlatformAndVersionAtLeast("win", "10")) {
       this.update(WindowsUIUtils.inTabletMode);
-      Services.obs.addObserver(this, "tablet-mode-change", false);
+      Services.obs.addObserver(this, "tablet-mode-change");
     }
   },
 
   uninit() {
     if (AppConstants.isPlatformAndVersionAtLeast("win", "10")) {
       Services.obs.removeObserver(this, "tablet-mode-change");
     }
   },
@@ -6118,17 +6117,17 @@ var LanguageDetectionListener = {
 var BrowserOffline = {
   _inited: false,
 
   // BrowserOffline Public Methods
   init() {
     if (!this._uiElement)
       this._uiElement = document.getElementById("workOfflineMenuitemState");
 
-    Services.obs.addObserver(this, "network:offline-status-changed", false);
+    Services.obs.addObserver(this, "network:offline-status-changed");
 
     this._updateOfflineUI(Services.io.offline);
 
     this._inited = true;
   },
 
   uninit() {
     if (this._inited) {
@@ -6347,17 +6346,17 @@ var OfflineApps = {
 var IndexedDBPromptHelper = {
   _permissionsPrompt: "indexedDB-permissions-prompt",
   _permissionsResponse: "indexedDB-permissions-response",
 
   _notificationIcon: "indexedDB-notification-icon",
 
   init:
   function IndexedDBPromptHelper_init() {
-    Services.obs.addObserver(this, this._permissionsPrompt, false);
+    Services.obs.addObserver(this, this._permissionsPrompt);
   },
 
   uninit:
   function IndexedDBPromptHelper_uninit() {
     Services.obs.removeObserver(this, this._permissionsPrompt);
   },
 
   observe:
@@ -6561,17 +6560,17 @@ function BrowserOpenAddonsMgr(aView) {
                                .rootTreeItem
                                .QueryInterface(Ci.nsIInterfaceRequestor)
                                .getInterface(Ci.nsIDOMWindow);
       if (!emWindow || browserWin == window /* favor the current window */) {
         emWindow = aSubject;
         browserWindow = browserWin;
       }
     }
-    Services.obs.addObserver(receivePong, "EM-pong", false);
+    Services.obs.addObserver(receivePong, "EM-pong");
     Services.obs.notifyObservers(null, "EM-ping", "");
     Services.obs.removeObserver(receivePong, "EM-pong");
 
     if (emWindow) {
       if (aView) {
         emWindow.loadView(aView);
       }
       browserWindow.gBrowser.selectedTab =
@@ -6591,17 +6590,17 @@ function BrowserOpenAddonsMgr(aView) {
     Services.obs.addObserver(function observer(aSubject, aTopic, aData) {
       Services.obs.removeObserver(observer, aTopic);
       if (aView) {
         aSubject.loadView(aView);
       }
       aSubject.QueryInterface(Ci.nsIDOMWindow);
       aSubject.focus();
       resolve(aSubject);
-    }, "EM-loaded", false);
+    }, "EM-loaded");
   });
 }
 
 function AddKeywordForSearchField() {
   let mm = gBrowser.selectedBrowser.messageManager;
 
   let onMessage = (message) => {
     mm.removeMessageListener("ContextMenu:SearchFieldBookmarkData:Result", onMessage);
@@ -8154,18 +8153,17 @@ function duplicateTabIn(aTab, where, del
           let otherGBrowser = otherWin.gBrowser;
           let otherTab = otherGBrowser.selectedTab;
           SessionStore.duplicateTab(otherWin, aTab, delta);
           otherGBrowser.removeTab(otherTab, { animate: false });
         }
       };
 
       Services.obs.addObserver(delayedStartupFinished,
-                               "browser-delayed-startup-finished",
-                               false);
+                               "browser-delayed-startup-finished");
       break;
     case "tabshifted":
       SessionStore.duplicateTab(window, aTab, delta);
       // A background tab has been opened, nothing else to do here.
       break;
     case "tab":
       let newTab = SessionStore.duplicateTab(window, aTab, delta);
       gBrowser.selectedTab = newTab;
@@ -8256,17 +8254,17 @@ var MousePosTracker = {
 };
 
 var ToolbarIconColor = {
   init() {
     this._initialized = true;
 
     window.addEventListener("activate", this);
     window.addEventListener("deactivate", this);
-    Services.obs.addObserver(this, "lightweight-theme-styling-update", false);
+    Services.obs.addObserver(this, "lightweight-theme-styling-update");
 
     // If the window isn't active now, we assume that it has never been active
     // before and will soon become active such that inferFromText will be
     // called from the initial activate event.
     if (Services.focus.activeWindow == window)
       this.inferFromText();
   },
 
--- a/browser/base/content/pageinfo/pageInfo.js
+++ b/browser/base/content/pageinfo/pageInfo.js
@@ -594,17 +594,17 @@ function addImage(imageViewRow) {
       }
     });
 
     // Add the observer, only once.
     if (gImageView.data.length == 1) {
       document.getElementById("mediaTab").hidden = false;
       Components.classes["@mozilla.org/observer-service;1"]
                 .getService(Components.interfaces.nsIObserverService)
-                .addObserver(imagePermissionObserver, "perm-changed", false);
+                .addObserver(imagePermissionObserver, "perm-changed");
     }
   } else {
     var i = gImageHash[url][type][alt];
     gImageView.data[i][COL_IMAGE_COUNT]++;
     // The same image can occur several times on the page at different sizes.
     // If the "View Image Info" context menu item was used, ensure we select
     // the correct element.
     if (!gImageView.data[i][COL_IMAGE_BG] &&
--- a/browser/base/content/pageinfo/permissions.js
+++ b/browser/base/content/pageinfo/permissions.js
@@ -42,17 +42,17 @@ function onLoadPermission(uri, principal
     gPermPrincipal = principal;
     var hostText = document.getElementById("hostText");
     hostText.value = gPermURI.prePath;
 
     for (var i of gPermissions)
       initRow(i);
     var os = Components.classes["@mozilla.org/observer-service;1"]
                        .getService(Components.interfaces.nsIObserverService);
-    os.addObserver(permissionObserver, "perm-changed", false);
+    os.addObserver(permissionObserver, "perm-changed");
     onUnloadRegistry.push(onUnloadPermission);
     permTab.hidden = false;
   } else
     permTab.hidden = true;
 }
 
 function onUnloadPermission() {
   var os = Components.classes["@mozilla.org/observer-service;1"]
--- a/browser/base/content/sanitize.js
+++ b/browser/base/content/sanitize.js
@@ -622,18 +622,18 @@ Sanitizer.prototype = {
               Services.obs.removeObserver(onWindowClosed, "xul-window-destroyed");
               // If we're the last thing to happen, invoke callback.
               if (newWindowOpened) {
                 TelemetryStopwatch.finish("FX_SANITIZE_OPENWINDOWS", refObj);
                 resolve();
               }
             }
           }
-          Services.obs.addObserver(onWindowOpened, "browser-delayed-startup-finished", false);
-          Services.obs.addObserver(onWindowClosed, "xul-window-destroyed", false);
+          Services.obs.addObserver(onWindowOpened, "browser-delayed-startup-finished");
+          Services.obs.addObserver(onWindowClosed, "xul-window-destroyed");
         });
 
         // Start the process of closing windows
         while (windowList.length) {
           windowList.pop().close();
         }
         newWindow.focus();
         yield promiseReady;
--- a/browser/base/content/sync/aboutSyncTabs.js
+++ b/browser/base/content/sync/aboutSyncTabs.js
@@ -21,20 +21,20 @@ if (AppConstants.MOZ_SERVICES_CLOUDSYNC)
   XPCOMUtils.defineLazyModuleGetter(this, "CloudSync",
                                     "resource://gre/modules/CloudSync.jsm");
 }
 
 var RemoteTabViewer = {
   _tabsList: null,
 
   init() {
-    Services.obs.addObserver(this, "weave:service:login:finish", false);
-    Services.obs.addObserver(this, "weave:engine:sync:finish", false);
+    Services.obs.addObserver(this, "weave:service:login:finish");
+    Services.obs.addObserver(this, "weave:engine:sync:finish");
 
-    Services.obs.addObserver(this, "cloudsync:tabs:update", false);
+    Services.obs.addObserver(this, "cloudsync:tabs:update");
 
     this._tabsList = document.getElementById("tabsList");
 
     this.buildList(true);
   },
 
   uninit() {
     Services.obs.removeObserver(this, "weave:service:login:finish");
--- a/browser/base/content/tab-content.js
+++ b/browser/base/content/tab-content.js
@@ -598,17 +598,17 @@ function gKeywordURIFixup(fixupInfo) {
       data[f] = fixupInfo[f].spec;
     } else {
       data[f] = fixupInfo[f];
     }
   }
 
   sendAsyncMessage("Browser:URIFixup", data);
 }
-Services.obs.addObserver(gKeywordURIFixup, "keyword-uri-fixup", false);
+Services.obs.addObserver(gKeywordURIFixup, "keyword-uri-fixup");
 addEventListener("unload", () => {
   Services.obs.removeObserver(gKeywordURIFixup, "keyword-uri-fixup");
 }, false);
 
 addMessageListener("Browser:AppTab", function(message) {
   if (docShell) {
     docShell.isAppTab = message.data.isAppTab;
   }
@@ -879,17 +879,17 @@ var RefreshBlocker = {
   // otherwise, null is set as the value of the mapping.
   blockedWindows: new WeakMap(),
 
   init() {
     if (Services.prefs.getBoolPref(this.PREF)) {
       this.enable();
     }
 
-    Services.prefs.addObserver(this.PREF, this, false);
+    Services.prefs.addObserver(this.PREF, this);
   },
 
   uninit() {
     if (Services.prefs.getBoolPref(this.PREF)) {
       this.disable();
     }
 
     Services.prefs.removeObserver(this.PREF, this);
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -5152,17 +5152,17 @@
         ]]></body>
       </method>
 
       <constructor>
         <![CDATA[
           this.mCurrentBrowser = document.getAnonymousElementByAttribute(this, "anonid", "initialBrowser");
           this.mCurrentBrowser.permanentKey = {};
 
-          Services.obs.addObserver(this, "contextual-identity-updated", false);
+          Services.obs.addObserver(this, "contextual-identity-updated");
 
           this.mCurrentTab = this.tabContainer.firstChild;
           const nsIEventListenerService =
             Components.interfaces.nsIEventListenerService;
           let els = Components.classes["@mozilla.org/eventlistenerservice;1"]
                               .getService(nsIEventListenerService);
           els.addSystemEventListener(document, "keydown", this, false);
           if (AppConstants.platform == "macosx") {
@@ -5222,17 +5222,17 @@
           }
           messageManager.addMessageListener("DOMWindowFocus", this);
           messageManager.addMessageListener("RefreshBlocker:Blocked", this);
           messageManager.addMessageListener("Browser:WindowCreated", this);
 
           // To correctly handle keypresses for potential FindAsYouType, while
           // the tab's find bar is not yet initialized.
           this._findAsYouType = Services.prefs.getBoolPref("accessibility.typeaheadfind");
-          Services.prefs.addObserver("accessibility.typeaheadfind", this, false);
+          Services.prefs.addObserver("accessibility.typeaheadfind", this);
           messageManager.addMessageListener("Findbar:Keypress", this);
 
           // Add listeners for prerender messages
           messageManager.addMessageListener("Prerender:Request", this);
           messageManager.addMessageListener("Prerender:Cancel", this);
           messageManager.addMessageListener("Prerender:Swap", this);
         ]]>
       </constructor>
@@ -5702,17 +5702,17 @@
           tab.label = this.tabbrowser.mStringBundle.getString("tabs.emptyTabTitle");
           tab.setAttribute("onerror", "this.removeAttribute('image');");
 
           window.addEventListener("resize", this);
           window.addEventListener("load", this);