Bug 1064885: add prompt to encourage Nightly users to enable e10s, r=felipe

--HG--
extra : rebase_source : cf288b2d3b80c540bcc0ba4d2e2caae8b7a95925
This commit is contained in:
Gavin Sharp 2014-09-10 13:53:10 +02:00
Родитель 617eff590a
Коммит 4d135723d8
9 изменённых файлов: 81 добавлений и 4 удалений

Просмотреть файл

@ -2263,6 +2263,22 @@ let E10SUINotification = {
if (!activationNoticeShown) {
this._showE10sActivatedNotice();
}
} else {
let e10sPromptShownCount = 0;
try {
e10sPromptShownCount = Services.prefs.getIntPref("browser.displayedE10SPrompt");
} catch(e) {}
if (!Services.appinfo.inSafeMode && e10sPromptShownCount < 5) {
Services.tm.mainThread.dispatch(() => {
try {
this._showE10SPrompt();
Services.prefs.setIntPref("browser.displayedE10SPrompt", e10sPromptShownCount + 1);
} catch (ex) {
Cu.reportError("Failed to show e10s prompt: " + ex);
}
}, Ci.nsIThread.DISPATCH_NORMAL);
}
}
},
@ -2287,7 +2303,47 @@ let E10SUINotification = {
nb.appendNotification(message, "e10s-activated-noticed",
null, nb.PRIORITY_WARNING_MEDIUM, buttons);
}
},
_showE10SPrompt: function BG__showE10SPrompt() {
let win = RecentWindow.getMostRecentBrowserWindow();
if (!win)
return;
let browser = win.gBrowser.selectedBrowser;
let promptMessage = "Would you like to help us test multiprocess Nightly (e10s)? You can also enable e10s in Nightly preferences.";
let mainAction = {
label: "Enable and Restart",
accessKey: "E",
callback: function () {
Services.prefs.setBoolPref("browser.tabs.remote.autostart", true);
Services.prefs.setBoolPref("browser.enabledE10SFromPrompt", true);
// Restart the app
let cancelQuit = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
Services.obs.notifyObservers(cancelQuit, "quit-application-requested", "restart");
if (cancelQuit.data)
return; // somebody canceled our quit request
Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart);
}
};
let secondaryActions = [
{
label: "No thanks",
accessKey: "N",
callback: function () {
Services.prefs.setIntPref("browser.displayedE10SPrompt", 5);
}
}
];
let options = {
popupIconURL: "chrome://browser/skin/e10s-64@2x.png",
learnMoreURL: "https://wiki.mozilla.org/Electrolysis",
persistWhileVisible: true
};
win.PopupNotifications.show(browser, "enable_e10s", promptMessage, null, mainAction, secondaryActions, options);
},
};
#endif

Просмотреть файл

@ -383,3 +383,6 @@ browser.jar:
skin/classic/browser/devtools/tooltip/arrow-horizontal-light@2x.png (../shared/devtools/tooltip/arrow-horizontal-light@2x.png)
skin/classic/browser/devtools/tooltip/arrow-vertical-light.png (../shared/devtools/tooltip/arrow-vertical-light.png)
skin/classic/browser/devtools/tooltip/arrow-vertical-light@2x.png (../shared/devtools/tooltip/arrow-vertical-light@2x.png)
#ifdef E10S_TESTING_ONLY
skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
#endif

Просмотреть файл

@ -6,4 +6,6 @@
DIRS += ['communicator']
JAR_MANIFESTS += ['jar.mn']
DEFINES['E10S_TESTING_ONLY'] = CONFIG['E10S_TESTING_ONLY']
JAR_MANIFESTS += ['jar.mn']

Просмотреть файл

@ -542,6 +542,9 @@ browser.jar:
skin/classic/browser/devtools/tooltip/arrow-horizontal-light@2x.png (../shared/devtools/tooltip/arrow-horizontal-light@2x.png)
skin/classic/browser/devtools/tooltip/arrow-vertical-light.png (../shared/devtools/tooltip/arrow-vertical-light.png)
skin/classic/browser/devtools/tooltip/arrow-vertical-light@2x.png (../shared/devtools/tooltip/arrow-vertical-light@2x.png)
#ifdef E10S_TESTING_ONLY
skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
#endif
% override chrome://browser/skin/toolbarbutton-dropmarker.png chrome://browser/skin/lion/toolbarbutton-dropmarker.png os=Darwin osversion>=10.7
% override chrome://browser/skin/tabbrowser/alltabs-box-bkgnd-icon.png chrome://browser/skin/lion/tabbrowser/alltabs-box-bkgnd-icon.png os=Darwin osversion>=10.7

Просмотреть файл

@ -6,4 +6,6 @@
DIRS += ['communicator']
JAR_MANIFESTS += ['jar.mn']
DEFINES['E10S_TESTING_ONLY'] = CONFIG['E10S_TESTING_ONLY']
JAR_MANIFESTS += ['jar.mn']

Двоичные данные
browser/themes/shared/e10s-64@2x.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 20 KiB

Просмотреть файл

@ -420,6 +420,9 @@ browser.jar:
skin/classic/browser/devtools/tooltip/arrow-horizontal-light@2x.png (../shared/devtools/tooltip/arrow-horizontal-light@2x.png)
skin/classic/browser/devtools/tooltip/arrow-vertical-light.png (../shared/devtools/tooltip/arrow-vertical-light.png)
skin/classic/browser/devtools/tooltip/arrow-vertical-light@2x.png (../shared/devtools/tooltip/arrow-vertical-light@2x.png)
#ifdef E10S_TESTING_ONLY
skin/classic/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
#endif
#ifdef XP_WIN
browser.jar:
@ -841,6 +844,9 @@ browser.jar:
skin/classic/aero/browser/devtools/tooltip/arrow-horizontal-light@2x.png (../shared/devtools/tooltip/arrow-horizontal-light@2x.png)
skin/classic/aero/browser/devtools/tooltip/arrow-vertical-light.png (../shared/devtools/tooltip/arrow-vertical-light.png)
skin/classic/aero/browser/devtools/tooltip/arrow-vertical-light@2x.png (../shared/devtools/tooltip/arrow-vertical-light@2x.png)
#ifdef E10S_TESTING_ONLY
skin/classic/aero/browser/e10s-64@2x.png (../shared/e10s-64@2x.png)
#endif
% override chrome://browser/skin/Toolbar.png chrome://browser/skin/Toolbar-aero.png os=WINNT osversion=6
% override chrome://browser/skin/Toolbar.png chrome://browser/skin/Toolbar-aero.png os=WINNT osversion=6.1

Просмотреть файл

@ -6,4 +6,6 @@
DIRS += ['communicator']
JAR_MANIFESTS += ['jar.mn']
DEFINES['E10S_TESTING_ONLY'] = CONFIG['E10S_TESTING_ONLY']
JAR_MANIFESTS += ['jar.mn']

Просмотреть файл

@ -250,3 +250,6 @@ user_pref("loop.throttled", false);
// Ensure UITour won't hit the network
user_pref("browser.uitour.pinnedTabUrl", "http://%(server)s/uitour-dummy/pinnedTab");
user_pref("browser.uitour.url", "http://%(server)s/uitour-dummy/tour");
// Don't prompt about e10s
user_pref("browser.displayedE10SPrompt", 5);