Backed out 2 changesets (bug 1357490) for promise chain failed to handle a rejection QI failures
authorPhil Ringnalda <philringnalda@gmail.com>
Mon, 29 May 2017 16:34:00 -0700
changeset 409327 137157f3de9256d2ca16743d2f46c679deb6c506
parent 409326 8f1c4b1bac37df93eaeff4c6407d414ed7459f3f
child 409328 29443725aebb641ae5f5ca069f2a422dd04e9acf
push id7391
push usermtabara@mozilla.com
push dateMon, 12 Jun 2017 13:08:53 +0000
treeherdermozilla-beta@2191d7f87e2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1357490
milestone55.0a1
backs out3737f31a7ec3dcc68068e817b4b016b76c857d9e
33f6f0354aded142e7a41d5a6209d0d95c4c7521
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
Backed out 2 changesets (bug 1357490) for promise chain failed to handle a rejection QI failures CLOSED TREE Backed out changeset 3737f31a7ec3 (bug 1357490) Backed out changeset 33f6f0354ade (bug 1357490) MozReview-Commit-ID: 2Q4bUrnntlZ
browser/components/extensions/moz.build
browser/components/extensions/test/xpcshell/head.js
browser/components/extensions/test/xpcshell/head_remote.js
browser/components/extensions/test/xpcshell/xpcshell-common.ini
browser/components/extensions/test/xpcshell/xpcshell-remote.ini
browser/components/extensions/test/xpcshell/xpcshell.ini
toolkit/components/extensions/Extension.jsm
toolkit/components/extensions/moz.build
toolkit/components/extensions/test/xpcshell/head.js
toolkit/components/extensions/test/xpcshell/head_e10s.js
toolkit/components/extensions/test/xpcshell/head_remote.js
toolkit/components/extensions/test/xpcshell/xpcshell-common.ini
toolkit/components/extensions/test/xpcshell/xpcshell-e10s.ini
toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
toolkit/components/extensions/test/xpcshell/xpcshell.ini
--- a/browser/components/extensions/moz.build
+++ b/browser/components/extensions/moz.build
@@ -22,12 +22,9 @@ EXTRA_JS_MODULES += [
 DIRS += ['schemas']
 
 BROWSER_CHROME_MANIFESTS += [
     'test/browser/browser-remote.ini',
     'test/browser/browser.ini',
 ]
 
 MOCHITEST_MANIFESTS += ['test/mochitest/mochitest.ini']
-XPCSHELL_TESTS_MANIFESTS += [
-    'test/xpcshell/xpcshell-remote.ini',
-    'test/xpcshell/xpcshell.ini',
-]
+XPCSHELL_TESTS_MANIFESTS += ['test/xpcshell/xpcshell.ini']
--- a/browser/components/extensions/test/xpcshell/head.js
+++ b/browser/components/extensions/test/xpcshell/head.js
@@ -1,15 +1,14 @@
 "use strict";
 
 const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
 /* exported createHttpServer, promiseConsoleOutput  */
 
-Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
                                   "resource://gre/modules/AppConstants.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Extension",
                                   "resource://gre/modules/Extension.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "ExtensionData",
                                   "resource://gre/modules/Extension.jsm");
@@ -20,21 +19,21 @@ XPCOMUtils.defineLazyModuleGetter(this, 
 XPCOMUtils.defineLazyModuleGetter(this, "FileUtils",
                                   "resource://gre/modules/FileUtils.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "HttpServer",
                                   "resource://testing-common/httpd.js");
 XPCOMUtils.defineLazyModuleGetter(this, "NetUtil",
                                   "resource://gre/modules/NetUtil.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Schemas",
                                   "resource://gre/modules/Schemas.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "Services",
+                                  "resource://gre/modules/Services.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "TestUtils",
                                   "resource://testing-common/TestUtils.jsm");
 
-Services.prefs.setBoolPref("extensions.webextensions.remote", false);
-
 ExtensionTestUtils.init(this);
 
 
 /**
  * Creates a new HttpServer for testing, and begins listening on the
  * specified port. Automatically shuts down the server when the test
  * unit ends.
  *
deleted file mode 100644
--- a/browser/components/extensions/test/xpcshell/head_remote.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-
-Services.prefs.setBoolPref("extensions.webextensions.remote", true);
-Services.prefs.setIntPref("dom.ipc.keepProcessesAlive.extension", 1);
deleted file mode 100644
--- a/browser/components/extensions/test/xpcshell/xpcshell-common.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[test_ext_bookmarks.js]
-[test_ext_browsingData.js]
-[test_ext_browsingData_cookies_cache.js]
-[test_ext_browsingData_downloads.js]
-[test_ext_browsingData_passwords.js]
-[test_ext_browsingData_settings.js]
-[test_ext_history.js]
-[test_ext_geckoProfiler_control.js]
deleted file mode 100644
--- a/browser/components/extensions/test/xpcshell/xpcshell-remote.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[DEFAULT]
-head = head.js head_remote.js
-firefox-appdir = browser
-tags = webextensions remote-webextensions
-dupe-manifest =
-
-[include:xpcshell-common.ini]
--- a/browser/components/extensions/test/xpcshell/xpcshell.ini
+++ b/browser/components/extensions/test/xpcshell/xpcshell.ini
@@ -1,23 +1,16 @@
 [DEFAULT]
 head = head.js
 firefox-appdir = browser
-tags = webextensions in-process-webextensions
-dupe-manifest =
+tags = webextensions
 
-# This file contains tests which are not affected by multi-process
-# configuration, or do not support out-of-process content or extensions
-# for one reason or another.
-#
-# Tests which are affected by remote content or remote extensions should
-# go in one of:
-#
-#  - xpcshell-common.ini
-#    For tests which should run in all configurations.
-#  - xpcshell-remote.ini
-#    For tests which should only run with both remote extensions and remote content.
-
+[test_ext_bookmarks.js]
+[test_ext_browsingData.js]
+[test_ext_browsingData_cookies_cache.js]
+[test_ext_browsingData_downloads.js]
+[test_ext_browsingData_passwords.js]
+[test_ext_browsingData_settings.js]
+[test_ext_history.js]
 [test_ext_manifest_commands.js]
 [test_ext_manifest_omnibox.js]
 [test_ext_manifest_permissions.js]
-
-[include:xpcshell-common.ini]
+[test_ext_geckoProfiler_control.js]
--- a/toolkit/components/extensions/Extension.jsm
+++ b/toolkit/components/extensions/Extension.jsm
@@ -1090,21 +1090,16 @@ this.Extension = class extends Extension
 
     ParentAPIManager.shutdownExtension(this.id);
 
     Management.emit("shutdown", this);
     this.emit("shutdown");
 
     Services.ppmm.broadcastAsyncMessage("Extension:Shutdown", {id: this.id});
 
-    if (this.rootURI.QueryInterface(Ci.nsIJARURI)) {
-      let file = this.rootURI.JARFile.QueryInterface(Ci.nsIFileURL).file;
-      Services.ppmm.broadcastAsyncMessage("Extension:FlushJarCache", {path: file.path});
-    }
-
     MessageChannel.abortResponses({extensionId: this.id});
 
     ExtensionManagement.shutdownExtension(this.uuid);
 
     return this.cleanupGeneratedFile();
   }
 
   observe(subject, topic, data) {
--- a/toolkit/components/extensions/moz.build
+++ b/toolkit/components/extensions/moz.build
@@ -53,12 +53,11 @@ BROWSER_CHROME_MANIFESTS += [
 
 MOCHITEST_MANIFESTS += [
     'test/mochitest/mochitest-remote.ini',
     'test/mochitest/mochitest.ini'
 ]
 MOCHITEST_CHROME_MANIFESTS += ['test/mochitest/chrome.ini']
 XPCSHELL_TESTS_MANIFESTS += [
     'test/xpcshell/native_messaging.ini',
-    'test/xpcshell/xpcshell-e10s.ini',
     'test/xpcshell/xpcshell-remote.ini',
     'test/xpcshell/xpcshell.ini',
 ]
--- a/toolkit/components/extensions/test/xpcshell/head.js
+++ b/toolkit/components/extensions/test/xpcshell/head.js
@@ -1,16 +1,15 @@
 "use strict";
 
 const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
 
 /* exported createHttpServer, promiseConsoleOutput, cleanupDir */
 
 Components.utils.import("resource://gre/modules/AppConstants.jsm");
-Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 Components.utils.import("resource://gre/modules/Timer.jsm");
 Components.utils.import("resource://testing-common/AddonTestUtils.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "ContentTask",
                                   "resource://testing-common/ContentTask.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Extension",
                                   "resource://gre/modules/Extension.jsm");
@@ -23,18 +22,18 @@ XPCOMUtils.defineLazyModuleGetter(this, 
 XPCOMUtils.defineLazyModuleGetter(this, "FileUtils",
                                   "resource://gre/modules/FileUtils.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "HttpServer",
                                   "resource://testing-common/httpd.js");
 XPCOMUtils.defineLazyModuleGetter(this, "NetUtil",
                                   "resource://gre/modules/NetUtil.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Schemas",
                                   "resource://gre/modules/Schemas.jsm");
-
-Services.prefs.setBoolPref("extensions.webextensions.remote", false);
+XPCOMUtils.defineLazyModuleGetter(this, "Services",
+                                  "resource://gre/modules/Services.jsm");
 
 ExtensionTestUtils.init(this);
 
 /**
  * Creates a new HttpServer for testing, and begins listening on the
  * specified port. Automatically shuts down the server when the test
  * unit ends.
  *
deleted file mode 100644
--- a/toolkit/components/extensions/test/xpcshell/head_e10s.js
+++ /dev/null
@@ -1,5 +0,0 @@
-"use strict";
-
-/* globals ExtensionTestUtils */
-
-ExtensionTestUtils.remoteContentScripts = true;
--- a/toolkit/components/extensions/test/xpcshell/head_remote.js
+++ b/toolkit/components/extensions/test/xpcshell/head_remote.js
@@ -1,4 +1,5 @@
 "use strict";
 
-Services.prefs.setBoolPref("extensions.webextensions.remote", true);
-Services.prefs.setIntPref("dom.ipc.keepProcessesAlive.extension", 1);
+/* globals ExtensionTestUtils */
+
+ExtensionTestUtils.remoteContentScripts = true;
deleted file mode 100644
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini
+++ /dev/null
@@ -1,60 +0,0 @@
-[test_ext_alarms.js]
-[test_ext_alarms_does_not_fire.js]
-[test_ext_alarms_periodic.js]
-[test_ext_alarms_replaces.js]
-[test_ext_api_permissions.js]
-[test_ext_background_generated_load_events.js]
-[test_ext_background_generated_reload.js]
-[test_ext_background_global_history.js]
-skip-if = os == "android" # Android does not use Places for history.
-[test_ext_background_private_browsing.js]
-[test_ext_background_runtime_connect_params.js]
-[test_ext_background_sub_windows.js]
-[test_ext_background_window_properties.js]
-skip-if = os == "android"
-[test_ext_contextual_identities.js]
-skip-if = os == "android" # Containers are not exposed to android.
-[test_ext_debugging_utils.js]
-[test_ext_downloads.js]
-[test_ext_downloads_download.js]
-skip-if = os == "android"
-[test_ext_downloads_misc.js]
-skip-if = os == "android" || (os=='linux' && bits==32) # linux32: bug 1324870
-[test_ext_downloads_search.js]
-skip-if = os == "android"
-[test_ext_experiments.js]
-skip-if = release_or_beta
-[test_ext_extension.js]
-[test_ext_extensionPreferencesManager.js]
-[test_ext_extensionSettingsStore.js]
-[test_ext_idle.js]
-[test_ext_localStorage.js]
-[test_ext_management.js]
-[test_ext_management_uninstall_self.js]
-[test_ext_onmessage_removelistener.js]
-skip-if = true # This test no longer tests what it is meant to test.
-[test_ext_privacy.js]
-[test_ext_privacy_disable.js]
-[test_ext_privacy_update.js]
-[test_ext_runtime_connect_no_receiver.js]
-[test_ext_runtime_getBrowserInfo.js]
-[test_ext_runtime_getPlatformInfo.js]
-[test_ext_runtime_onInstalled_and_onStartup.js]
-[test_ext_runtime_sendMessage.js]
-[test_ext_runtime_sendMessage_args.js]
-[test_ext_runtime_sendMessage_errors.js]
-[test_ext_runtime_sendMessage_no_receiver.js]
-[test_ext_runtime_sendMessage_self.js]
-[test_ext_shutdown_cleanup.js]
-[test_ext_simple.js]
-[test_ext_startup_cache.js]
-[test_ext_storage.js]
-[test_ext_storage_sync.js]
-head = head.js head_sync.js
-skip-if = os == "android"
-[test_ext_storage_sync_crypto.js]
-skip-if = os == "android"
-[test_ext_topSites.js]
-skip-if = os == "android"
-[test_native_messaging.js]
-skip-if = os == "android"
deleted file mode 100644
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-e10s.ini
+++ /dev/null
@@ -1,12 +0,0 @@
-[DEFAULT]
-head = head.js head_e10s.js
-tail =
-firefox-appdir = browser
-skip-if = appname == "thunderbird" || os == "android"
-dupe-manifest =
-support-files =
-  data/**
-  xpcshell-content.ini
-tags = webextensions webextensions-e10s
-
-[include:xpcshell-content.ini]
--- a/toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
@@ -1,13 +1,12 @@
 [DEFAULT]
-head = head.js head_remote.js head_e10s.js
+head = head.js head_remote.js
 tail =
 firefox-appdir = browser
 skip-if = appname == "thunderbird" || os == "android"
 dupe-manifest =
 support-files =
   data/**
   xpcshell-content.ini
-tags = webextensions remote-webextensions
+tags = webextensions webextensions-e10s
 
-[include:xpcshell-common.ini]
 [include:xpcshell-content.ini]
--- a/toolkit/components/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/components/extensions/test/xpcshell/xpcshell.ini
@@ -2,52 +2,91 @@
 head = head.js
 firefox-appdir = browser
 skip-if = appname == "thunderbird"
 dupe-manifest =
 support-files =
   data/**
   head_sync.js
   xpcshell-content.ini
-tags = webextensions in-process-webextensions
-
-# This file contains tests which are not affected by multi-process
-# configuration, or do not support out-of-process content or extensions
-# for one reason or another.
-#
-# Tests which are affected by remote content or remote extensions should
-# go in one of:
-#
-#  - xpcshell-common.ini
-#    For tests which should run in all configurations.
-#  - xpcshell-remote.ini
-#    For tests which should only run with both remote extensions and remote content.
-#  - xpcshell-content.ini
-#    For tests which rely on content pages, and should run in all configurations.
-#  - xpcshell-e10s.ini
-#    For tests which rely on conetn pages, and should only run with remote content
-#    but in-process extensions.
+tags = webextensions
 
 [test_csp_custom_policies.js]
 [test_csp_validator.js]
+[test_ext_alarms.js]
+[test_ext_alarms_does_not_fire.js]
+[test_ext_alarms_periodic.js]
+[test_ext_alarms_replaces.js]
+[test_ext_api_permissions.js]
+[test_ext_background_generated_load_events.js]
+[test_ext_background_generated_reload.js]
+[test_ext_background_global_history.js]
+skip-if = os == "android" # Android does not use Places for history.
+[test_ext_background_private_browsing.js]
+[test_ext_background_runtime_connect_params.js]
+[test_ext_background_sub_windows.js]
+[test_ext_background_window_properties.js]
+skip-if = os == "android"
 [test_ext_contexts.js]
+[test_ext_contextual_identities.js]
+skip-if = os == "android" # Containers are not exposed to android.
+[test_ext_debugging_utils.js]
+[test_ext_downloads.js]
+[test_ext_downloads_download.js]
+skip-if = os == "android"
+[test_ext_downloads_misc.js]
+skip-if = os == "android" || (os=='linux' && bits==32) # linux32: bug 1324870
+[test_ext_downloads_search.js]
+skip-if = os == "android"
+[test_ext_experiments.js]
+skip-if = release_or_beta
+[test_ext_extension.js]
+[test_ext_extensionPreferencesManager.js]
+[test_ext_extensionSettingsStore.js]
+[test_ext_idle.js]
 [test_ext_json_parser.js]
+[test_ext_localStorage.js]
+[test_ext_management.js]
+[test_ext_management_uninstall_self.js]
 [test_ext_manifest_content_security_policy.js]
 [test_ext_manifest_incognito.js]
 [test_ext_manifest_minimum_chrome_version.js]
 [test_ext_manifest_themes.js]
+[test_ext_onmessage_removelistener.js]
+skip-if = true # This test no longer tests what it is meant to test.
+[test_ext_permissions.js]
+skip-if = os == "android" # Bug 1350559
+[test_ext_privacy.js]
+[test_ext_privacy_disable.js]
+[test_ext_privacy_update.js]
+[test_ext_runtime_connect_no_receiver.js]
+[test_ext_runtime_getBrowserInfo.js]
+[test_ext_runtime_getPlatformInfo.js]
+[test_ext_runtime_onInstalled_and_onStartup.js]
+[test_ext_runtime_sendMessage.js]
+[test_ext_runtime_sendMessage_args.js]
+[test_ext_runtime_sendMessage_errors.js]
+[test_ext_runtime_sendMessage_no_receiver.js]
+[test_ext_runtime_sendMessage_self.js]
 [test_ext_schemas.js]
 [test_ext_schemas_async.js]
 [test_ext_schemas_allowed_contexts.js]
 [test_ext_schemas_revoke.js]
+[test_ext_shutdown_cleanup.js]
+[test_ext_simple.js]
+[test_ext_startup_cache.js]
+[test_ext_storage.js]
+[test_ext_storage_sync.js]
+head = head.js head_sync.js
+skip-if = os == "android"
+[test_ext_storage_sync_crypto.js]
+skip-if = os == "android"
 [test_ext_themes_supported_properties.js]
+[test_ext_topSites.js]
+skip-if = os == "android"
+[test_ext_legacy_extension_context.js]
+[test_ext_legacy_extension_embedding.js]
 [test_locale_converter.js]
 [test_locale_data.js]
-
-[test_ext_permissions.js]
-skip-if = os == "android" # Bug 1350559
-
-[test_ext_legacy_extension_context.js]
-[test_ext_legacy_extension_embedding.js]
+[test_native_messaging.js]
+skip-if = os == "android"
 [test_proxy_scripts.js]
-
-[include:xpcshell-common.ini]
 [include:xpcshell-content.ini]