Skip to content

Instantly share code, notes, and snippets.

@rhelmer
Last active September 20, 2017 21:46
Show Gist options
  • Select an option

  • Save rhelmer/99dafdafab0f4ff395c3286badf5cf50 to your computer and use it in GitHub Desktop.

Select an option

Save rhelmer/99dafdafab0f4ff395c3286badf5cf50 to your computer and use it in GitHub Desktop.
diff --git a/toolkit/mozapps/extensions/AddonManagerStartup.cpp b/toolkit/mozapps/extensions/AddonManagerStartup.cpp
--- a/toolkit/mozapps/extensions/AddonManagerStartup.cpp
+++ b/toolkit/mozapps/extensions/AddonManagerStartup.cpp
@@ -745,6 +745,16 @@ AddonManagerStartup::Reset()
return NS_OK;
}
+nsresult
+AddonManagerStartup::InitializeURLPreloader()
+{
+ MOZ_RELEASE_ASSERT(xpc::IsInAutomation());
+
+ URLPreloader::GetSingleton();
+
+ return NS_OK;
+}
+
/******************************************************************************
* RegisterChrome
******************************************************************************/
diff --git a/toolkit/mozapps/extensions/amIAddonManagerStartup.idl b/toolkit/mozapps/extensions/amIAddonManagerStartup.idl
--- a/toolkit/mozapps/extensions/amIAddonManagerStartup.idl
+++ b/toolkit/mozapps/extensions/amIAddonManagerStartup.idl
@@ -75,4 +75,12 @@ interface amIAddonManagerStartup : nsISu
* NOT FOR USE OUTSIDE OF UNIT TESTS.
*/
void reset();
+
+ /**
+ * Initializes the URL Preloader.
+ *
+ * NOT FOR USE OUTSIDE OF UNIT TESTS.
+ */
+ void initializeURLPreloader();
+
};
diff --git a/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm b/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm
--- a/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm
+++ b/toolkit/mozapps/extensions/internal/AddonTestUtils.jsm
@@ -585,6 +585,12 @@ var AddonTestUtils = {
this.emit("addon-manager-started");
+ // We need to set this in order load the URL preloader service, which
+ // is only possible when running in automation.
+ Services.prefs.setBoolPref(PREF_DISABLE_SECURITY, true);
+
+ aomStartup.initializeURLPreloader();
+
// Load the add-ons list as it was after extension registration
await this.loadAddonsList(true);
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment