Bug 930641 - Remove the social.allowMultipleWorkers preference, r=mixedpuppy.
authorFlorian Quèze <florian@queze.net>
Wed, 18 Dec 2013 16:50:05 +0100
changeset 161085 6fe9bf8ebd0b878593a620f5ab2aac3cd225e703
parent 161084 2e8fb54ac9ff0e95556e97d42f28df19ea88600f
child 161086 4053bdc8e0c0fb54e9db9e231c22f2e28ea1c0ab
push id25867
push userryanvm@gmail.com
push dateThu, 19 Dec 2013 02:19:33 +0000
treeherdermozilla-central@04a70c8908de [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmixedpuppy
bugs930641
milestone29.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 930641 - Remove the social.allowMultipleWorkers preference, r=mixedpuppy.
browser/app/profile/firefox.js
browser/base/content/browser-social.js
browser/base/content/test/social/browser_social_chatwindow.js
browser/base/content/test/social/browser_social_marks.js
browser/base/content/test/social/browser_social_multiworker.js
browser/base/content/test/social/browser_social_status.js
browser/base/content/test/social/browser_social_workercrash.js
browser/modules/Social.jsm
browser/modules/test/unit/social/test_social.js
browser/modules/test/unit/social/test_socialDisabledStartup.js
toolkit/components/social/FrameWorker.jsm
toolkit/components/social/test/browser/browser_SocialProvider.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -1299,18 +1299,16 @@ pref("shumway.disabled", true);
 pref("image.mem.max_decoded_image_kb", 256000);
 
 // Default social providers
 pref("social.manifest.facebook", "{\"origin\":\"https://www.facebook.com\",\"name\":\"Facebook Messenger\",\"workerURL\":\"https://www.facebook.com/desktop/fbdesktop2/socialfox/fbworker.js.php\",\"shareURL\":\"https://www.facebook.com/sharer/sharer.php?u=%{url}\",\"iconURL\":\"data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAAX0lEQVQ4jWP4%2F%2F8%2FAyUYTFhHzjgDxP9JxGeQDSBVMxgTbUBCxer%2Fr999%2BQ8DJBuArJksA9A10s8AXIBoA0B%2BR%2FY%2FjD%2BEwoBoA1yT5v3PbdmCE8MAshhID%2FUMoDgzUYIBj0Cgi7ar4coAAAAASUVORK5CYII%3D\",\"sidebarURL\":\"https://www.facebook.com/desktop/fbdesktop2/?socialfox=true\",\"icon32URL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAADbklEQVRYCc1Xv08UQRj99tctexAuCEFjRE0kGBEtLDSGqIWNxkYKbTAxNlY2JhaGWltNtNFeKgsKKxITK43/gCYW+IsoRhA4D47bH7fn9+bcvdm5JR7sefolC3Ozu9978+bNN7PayUv3HN3umdY0Y6IWBtSJ0HSTarXqTOiuTep6Lj+tdxAcA8RAgSmwdd2aCDs0clldYALb/FvgYVhjmfliVA2XpjEgWo0Attn42Z6WH1RFor5ehwo9XQIUZMoVn4qlCoVMSo62EvD8Kh0b3U2Xz43R2PBO6mUCGDlAf65V6MadZzT/rUimoccc2kYA4BfPHqJb105RzjJigKhRq9kEJUBIjgYVuXeL7SAI6eD+Abp5dTwVHOmEHxT50d8WBYJqSOdPj5BjW8gZR8UNqFR2xagx/65XFYaMH+BGWwiYpi4UkBPPLxTp9v1Z+lHc4DWvCQXWmIy6EjITgKowVd5Jjv7N3Hd6y5esigoOwpkJIAmMpZpLJGdiaaC4F0UmAj6bD84GCEwmB/qxMmRilmnwb/mpjAocHh4UEoNAt5NLZB7oy9OJo0PxqkAtePdhiSqunyC1LQUwWMPQaOr6GRre258Ajn4cP7KHcEXhsxpXbj+lT19X2TMNGTLVAcjcalS8gDwsQ2UOMhH4k8FkcrEn5E5ub2sKohxLK2VR77Hl9RUcsrgeRIEiVOT6z+tDbIeLy+vk+kGTCbXxycet6xhl//3f6bJEkdHYhA+mLtDIvoH4ieev5+juoxdk5+pjhALYEdXIpEB5w+NlSKSzqVQ/+H7IO6BLtl3fngGMiqhGJgIwlM6qpyUGFjySdk8m0Zg0ubeD7X9OIDEFajltRQgUJaUKx69tdgaQa0FMADuahZPMFtcEwNPm2hA7ZI5sK4aoE2NvYI+o8hkCIe7CwTv68zS0q9Dk5vpbm/8FXxitSzmMFHpsGj0wyLUheTwD2Y9fVgh1Ae0EPUgD9241ZEnld+v5kgnVZ/8fE0brVh5BK+1oCqKKF72Dk7HwBsssB/pklU1dfChy3S659H5+uelgIb+8WRv1/uGTV9Sdb5wJFlfW6fPCalMhwhSU1j2xKwKbP838GcOwJja4TqO0bjdmXxYTy1EYjFdCWoCEYZhseH/GDL3yJPHnuW6YmT7P1SlIA4768Hke4vOcsX8BE346lLHhDUQAAAAASUVORK5CYII=\", \"icon64URL\":\"data:image/png;base64,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\", \"description\":\"Keep up with friends wherever you go on the web.\",\"author\":\"Facebook\",\"homepageURL\":\"https://www.facebook.com/about/messenger-for-firefox\",\"builtin\":\"true\"}");
 
 pref("social.sidebar.open", true);
 pref("social.sidebar.unload_timeout_ms", 10000);
 
-pref("social.allowMultipleWorkers", true);
-
 pref("dom.identity.enabled", false);
 
 // Turn on the CSP 1.0 parser for Content Security Policy headers
 pref("security.csp.speccompliant", true);
 
 // Block insecure active content on https pages
 pref("security.mixed_content.block_active_content", true);
 
--- a/browser/base/content/browser-social.js
+++ b/browser/base/content/browser-social.js
@@ -1026,24 +1026,20 @@ let SocialStatusWidgetListener = {
     // style should change.
     SocialStatus.updateButton(origin);
     SocialStatus._removeFrame(origin);
   }
 }
 
 SocialStatus = {
   populateToolbarPalette: function() {
-    if (!Social.allowMultipleWorkers)
-      return;
     this._toolbarHelper.populatePalette();
   },
 
   removeProvider: function(origin) {
-    if (!Social.allowMultipleWorkers)
-      return;
     this._removeFrame(origin);
     this._toolbarHelper.removeProviderButton(origin);
   },
 
   reloadProvider: function(origin) {
     let button = document.getElementById(this._toolbarHelper.idFromOrigin(origin));
     if (button && button.getAttribute("open") == "true")
       document.getElementById("social-notification-panel").hidePopup();
@@ -1119,18 +1115,16 @@ SocialStatus = {
     } else {
       frame.setAttribute("origin", provider.origin);
       SharedFrame.updateURL(notificationFrameId, provider.statusURL);
     }
     aButton.setAttribute("notificationFrameId", notificationFrameId);
   },
 
   updateButton: function(origin) {
-    if (!Social.allowMultipleWorkers)
-      return;
     let id = this._toolbarHelper.idFromOrigin(origin);
     let widget = CustomizableUI.getWidget(id);
     if (!widget)
       return;
     let button = widget.forWindow(window).node;
     if (button) {
       // we only grab the first notification, ignore all others
       let place = CustomizableUI.getPlaceForItem(button);
@@ -1160,18 +1154,16 @@ SocialStatus = {
       if (badge)
         ariaLabel = gNavigatorBundle.getFormattedString("social.aria.toolbarButtonBadgeText",
                                                         [ariaLabel, badge]);
       button.setAttribute("aria-label", ariaLabel);
     }
   },
 
   showPopup: function(aToolbarButton) {
-    if (!Social.allowMultipleWorkers)
-      return;
     // attach our notification panel if necessary
     let origin = aToolbarButton.getAttribute("origin");
     let provider = Social._getProviderFromOrigin(origin);
 
     // if we're a slice in the hamburger, use that panel instead
     let widgetGroup = CustomizableUI.getWidget(aToolbarButton.getAttribute("id"));
     let widget = widgetGroup.forWindow(window);
     let panel, showingEvent, hidingEvent;
--- a/browser/base/content/test/social/browser_social_chatwindow.js
+++ b/browser/base/content/test/social/browser_social_chatwindow.js
@@ -58,25 +58,22 @@ function test() {
   let oldwidth = window.outerWidth; // we futz with these, so we restore them
   let oldleft = window.screenX;
   window.moveTo(0, window.screenY)
   let postSubTest = function(cb) {
     let chats = document.getElementById("pinnedchats");
     ok(chats.children.length == 0, "no chatty children left behind");
     cb();
   };
-  // always run chat tests with multiple workers.
-  Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
   runSocialTestWithProvider(manifests, function (finishcb) {
     ok(Social.enabled, "Social is enabled");
     ok(Social.providers[0].getWorkerPort(), "provider 0 has port");
     ok(Social.providers[1].getWorkerPort(), "provider 1 has port");
     ok(Social.providers[2].getWorkerPort(), "provider 2 has port");
     runSocialTests(tests, undefined, postSubTest, function() {
-      Services.prefs.clearUserPref("social.allowMultipleWorkers");
       window.moveTo(oldleft, window.screenY)
       window.resizeTo(oldwidth, window.outerHeight);
       finishcb();
     });
   });
 }
 
 var tests = {
--- a/browser/base/content/test/social/browser_social_marks.js
+++ b/browser/base/content/test/social/browser_social_marks.js
@@ -50,24 +50,22 @@ function openWindowAndWaitForInit(callba
     Services.obs.removeObserver(providerSet, topic);
     executeSoon(() => callback(w));
   }, topic, false);
 }
 
 function test() {
   waitForExplicitFinish();
 
-  Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
   let toolbar = document.getElementById("nav-bar");
   let currentsetAtStart = toolbar.currentSet;
   runSocialTestWithProvider(manifest, function () {
     runSocialTests(tests, undefined, undefined, function () {
       Services.prefs.clearUserPref("social.remote-install.enabled");
       // just in case the tests failed, clear these here as well
-      Services.prefs.clearUserPref("social.allowMultipleWorkers");
       Services.prefs.clearUserPref("social.whitelist");
       ok(CustomizableUI.inDefaultState, "Should be in the default state when we finish");
       CustomizableUI.reset();
       finish();
     });
   });
 }
 
--- a/browser/base/content/test/social/browser_social_multiworker.js
+++ b/browser/base/content/test/social/browser_social_multiworker.js
@@ -1,20 +1,18 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 function test() {
   waitForExplicitFinish();
 
-  Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
   runSocialTestWithProvider(gProviders, function (finishcb) {
     Social.enabled = true;
     runSocialTests(tests, undefined, undefined, function() {
-      Services.prefs.clearUserPref("social.allowMultipleWorkers");
       finishcb();
     });
   });
 }
 
 let gProviders = [
   {
     name: "provider 1",
@@ -53,50 +51,19 @@ var tests = {
 
     for (let p of Social.providers) {
       oneWorkerTest(p);
     }
 
     waitForCondition(function() messageReceived == Social.providers.length,
                      next, "received messages from all workers");
   },
+
   testWorkerDisabling: function(next) {
     Social.enabled = false;
     is(Social.providers.length, gProviders.length, "providers still available");
     for (let p of Social.providers) {
       ok(!p.enabled, "provider disabled");
       ok(!p.getWorkerPort(), "worker disabled");
     }
     next();
-  },
-
-  testSingleWorkerEnabling: function(next) {
-    // test that only one worker is enabled when we limit workers
-    Services.prefs.setBoolPref("social.allowMultipleWorkers", false);
-    Social.enabled = true;
-    for (let p of Social.providers) {
-      if (p == Social.provider) {
-        ok(p.enabled, "primary provider enabled");
-        let port = p.getWorkerPort();
-        ok(port, "primary worker enabled");
-        port.close();
-      } else {
-        ok(!p.enabled, "secondary provider is not enabled");
-        ok(!p.getWorkerPort(), "secondary worker disabled");
-      }
-    }
-    next();
-  },
-
-  testMultipleWorkerEnabling: function(next) {
-    // test that all workers are enabled when we allow multiple workers
-    Social.enabled = false;
-    Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
-    Social.enabled = true;
-    for (let p of Social.providers) {
-      ok(p.enabled, "provider enabled");
-      let port = p.getWorkerPort();
-      ok(port, "worker enabled");
-      port.close();
-    }
-    next();
   }
 }
--- a/browser/base/content/test/social/browser_social_status.js
+++ b/browser/base/content/test/social/browser_social_status.js
@@ -35,22 +35,20 @@ function openWindowAndWaitForInit(callba
     Services.obs.removeObserver(providerSet, topic);
     executeSoon(() => callback(w));
   }, topic, false);
 }
 
 function test() {
   waitForExplicitFinish();
 
-  Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
   runSocialTestWithProvider(manifest, function (finishcb) {
     runSocialTests(tests, undefined, undefined, function () {
       Services.prefs.clearUserPref("social.remote-install.enabled");
       // just in case the tests failed, clear these here as well
-      Services.prefs.clearUserPref("social.allowMultipleWorkers");
       Services.prefs.clearUserPref("social.whitelist");
       ok(CustomizableUI.inDefaultState, "Should be in the default state when we finish");
       CustomizableUI.reset();
       finishcb();
     });
   });
 }
 
--- a/browser/base/content/test/social/browser_social_workercrash.js
+++ b/browser/base/content/test/social/browser_social_workercrash.js
@@ -8,26 +8,24 @@
 // A content script we inject into one of our browsers
 const TEST_CONTENT_HELPER = "chrome://mochitests/content/browser/browser/base/content/test/social/social_crash_content_helper.js";
 
 let {getFrameWorkerHandle} = Cu.import("resource://gre/modules/FrameWorker.jsm", {});
 
 function test() {
   waitForExplicitFinish();
 
-  Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
   // We need to ensure all our workers are in the same content process.
   Services.prefs.setIntPref("dom.ipc.processCount", 1);
 
   runSocialTestWithProvider(gProviders, function (finishcb) {
     Social.enabled = true;
     runSocialTests(tests, undefined, undefined, function() {
       Services.prefs.clearUserPref("dom.ipc.processCount");
       Services.prefs.clearUserPref("social.sidebar.open");
-      Services.prefs.clearUserPref("social.allowMultipleWorkers");
       finishcb();
     });
   });
 }
 
 let gProviders = [
   {
     name: "provider 1",
--- a/browser/modules/Social.jsm
+++ b/browser/modules/Social.jsm
@@ -93,20 +93,16 @@ function promiseGetAnnotation(aURI) {
 }
 
 this.Social = {
   initialized: false,
   lastEventReceived: 0,
   providers: [],
   _disabledForSafeMode: false,
 
-  get allowMultipleWorkers() {
-    return Services.prefs.getBoolPref("social.allowMultipleWorkers");
-  },
-
   get _currentProviderPref() {
     try {
       return Services.prefs.getComplexValue("social.provider.current",
                                             Ci.nsISupportsString).data;
     } catch (ex) {}
     return null;
   },
   set _currentProviderPref(val) {
@@ -125,21 +121,16 @@ this.Social = {
     this._setProvider(val);
   },
 
   // Sets the current provider and notifies observers of the change.
   _setProvider: function (provider) {
     if (this._provider == provider)
       return;
 
-    // Disable the previous provider, if we are not allowing multiple workers,
-    // since we want only one provider to be enabled at once.
-    if (this._provider && !Social.allowMultipleWorkers)
-      this._provider.enabled = false;
-
     this._provider = provider;
 
     if (this._provider) {
       this._provider.enabled = true;
       this._currentProviderPref = this._provider.origin;
     }
     let enabled = !!provider;
     if (enabled != SocialService.enabled) {
@@ -203,20 +194,16 @@ this.Social = {
         Social._updateProviderCache(providers);
         let provider = Social._getProviderFromOrigin(origin);
         provider.reload();
       }
     });
   },
 
   _updateWorkerState: function(enable) {
-    // ensure that our providers are all disabled, and enabled if we allow
-    // multiple workers
-    if (enable && !Social.allowMultipleWorkers)
-      return;
     [p.enabled = enable for (p of Social.providers) if (p.enabled != enable)];
   },
 
   // Called to update our cache of providers and set the current provider
   _updateProviderCache: function (providers) {
     this.providers = providers;
     Services.obs.notifyObservers(null, "social:providers-changed", null);
 
--- a/browser/modules/test/unit/social/test_social.js
+++ b/browser/modules/test/unit/social/test_social.js
@@ -1,18 +1,14 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 function run_test() {
   // we are testing worker startup specifically
-  Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
-  do_register_cleanup(function() {
-    Services.prefs.clearUserPref("social.allowMultipleWorkers");
-  });
   do_test_pending();
   add_test(testStartupEnabled);
   add_test(testDisableAfterStartup);
   do_initialize_social(true, run_next_test);
 }
 
 function testStartupEnabled() {
   // wait on startup before continuing
--- a/browser/modules/test/unit/social/test_socialDisabledStartup.js
+++ b/browser/modules/test/unit/social/test_socialDisabledStartup.js
@@ -1,18 +1,14 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 function run_test() {
   // we are testing worker startup specifically
-  Services.prefs.setBoolPref("social.allowMultipleWorkers", true);
-  do_register_cleanup(function() {
-    Services.prefs.clearUserPref("social.allowMultipleWorkers");
-  });
   do_test_pending();
   add_test(testStartupDisabled);
   add_test(testEnableAfterStartup);
   do_initialize_social(false, run_next_test);
 }
 
 function testStartupDisabled() {
   // wait on startup before continuing
--- a/toolkit/components/social/FrameWorker.jsm
+++ b/toolkit/components/social/FrameWorker.jsm
@@ -194,22 +194,17 @@ function makeRemoteBrowser() {
   // Create a HTML iframe with a chrome URL, then this can host the browser.
   let iframe = hiddenDoc.createElementNS(HTML_NS, "iframe");
   iframe.setAttribute("src", "chrome://global/content/mozilla.xhtml");
   iframe.addEventListener("load", function onLoad() {
     iframe.removeEventListener("load", onLoad, true);
     let browser = iframe.contentDocument.createElementNS(XUL_NS, "browser");
     browser.setAttribute("type", "content");
     browser.setAttribute("disableglobalhistory", "true");
-    // for now we use the same preference that enabled multiple workers - the
-    // idea is that there is no point in having people help test multiple
-    // "old" frameworkers - so anyone who wants multiple workers is forced to
-    // help us test remote frameworkers too.
-    if (Services.prefs.getBoolPref("social.allowMultipleWorkers"))
-      browser.setAttribute("remote", "true");
+    browser.setAttribute("remote", "true");
 
     iframe.contentDocument.documentElement.appendChild(browser);
     deferred.resolve(browser);
   }, true);
   hiddenDoc.documentElement.appendChild(iframe);
   return deferred.promise;
 }
 
--- a/toolkit/components/social/test/browser/browser_SocialProvider.js
+++ b/toolkit/components/social/test/browser/browser_SocialProvider.js
@@ -57,18 +57,17 @@ let tests = {
     // add another provider, test both workers
     let manifest = {
       origin: 'http://test2.example.com',
       name: "Example Provider 2",
       workerURL: "http://test2.example.com/browser/toolkit/components/social/test/browser/worker_social.js"
     };
     SocialService.addProvider(manifest, function (provider2) {
       ok(provider.enabled, "provider is initially enabled");
-      is(provider2.enabled, Services.prefs.getBoolPref("social.allowMultipleWorkers"), "provider2 is enabled status is correct");
-      provider2.enabled = true;
+      ok(provider2.enabled, "provider2 is initially enabled");
       let port = provider.getWorkerPort();
       let port2 = provider2.getWorkerPort();
       ok(port, "have port for provider");
       ok(port2, "have port for provider2");
       port.onmessage = function(e) {
         if (e.data.topic == "test-initialization-complete") {
           ok(true, "first provider initialized");
           port2.postMessage({topic: "test-initialization"});