author | Felipe Gomes <felipc@gmail.com> |
Wed, 10 Sep 2014 19:06:19 -0300 | |
changeset 204698 | bbbe6b29420691d62894f1c718eaf81590ae1f1b |
parent 204697 | b0f9e80e8255e2ecc3af882403251d01c2e631ae |
child 204699 | 02fbb6ada9cb2204f756d1a961e5c51d0a7314db |
push id | 27463 |
push user | ryanvm@gmail.com |
push date | Thu, 11 Sep 2014 00:30:54 +0000 |
treeherder | mozilla-central@bc7deafdac4b [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mconley |
bugs | 1063842 |
milestone | 35.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
|
browser/components/moz.build | file | annotate | diff | comparison | revisions | |
browser/components/nsBrowserGlue.js | file | annotate | diff | comparison | revisions |
--- a/browser/components/moz.build +++ b/browser/components/moz.build @@ -38,14 +38,16 @@ EXTRA_PP_COMPONENTS += [ 'nsBrowserContentHandler.js', 'nsBrowserGlue.js', ] EXTRA_JS_MODULES += [ 'distribution.js', ] +DEFINES['E10S_TESTING_ONLY'] = CONFIG['E10S_TESTING_ONLY'] + BROWSER_CHROME_MANIFESTS += [ 'test/browser.ini' ] if CONFIG['MOZ_SAFE_BROWSING']: BROWSER_CHROME_MANIFESTS += ['safebrowsing/content/test/browser.ini']
--- a/browser/components/nsBrowserGlue.js +++ b/browser/components/nsBrowserGlue.js @@ -791,16 +791,20 @@ BrowserGlue.prototype = { catch (ex) { /* Don't break the default prompt if telemetry is broken. */ } if (shouldCheck && !isDefault && !willRecoverSession) { Services.tm.mainThread.dispatch(function() { DefaultBrowserCheck.prompt(this.getMostRecentBrowserWindow()); }.bind(this), Ci.nsIThread.DISPATCH_NORMAL); } } + +#ifdef E10S_TESTING_ONLY + E10SUINotification.checkStatus(); +#endif }, _onQuitRequest: function BG__onQuitRequest(aCancelQuit, aQuitType) { // If user has already dismissed quit request, then do nothing if ((aCancelQuit instanceof Ci.nsISupportsPRBool) && aCancelQuit.data) return; // There are several cases where we won't show a dialog here: @@ -2237,10 +2241,55 @@ let DefaultBrowserCheck = { let popup = doc.getElementById(this.OPTIONPOPUP); popup.removeEventListener("command", this); popup.remove(); delete this._notification; } }, }; +#ifdef E10S_TESTING_ONLY +let E10SUINotification = { + // Increase this number each time we want to roll out an + // e10s testing period to Nightly users. + CURRENT_NOTICE_COUNT: 0, + + checkStatus: function() { + if (Services.appinfo.browserTabsRemoteAutostart) { + let notice = 0; + try { + notice = Services.prefs.getIntPref("browser.displayedE10SNotice"); + } catch(e) {} + let activationNoticeShown = notice >= this.CURRENT_NOTICE_COUNT; + + if (!activationNoticeShown) { + this._showE10sActivatedNotice(); + } + } + }, + + _showE10sActivatedNotice: function() { + let win = RecentWindow.getMostRecentBrowserWindow(); + if (!win) + return; + + Services.prefs.setIntPref("browser.displayedE10SNotice", this.CURRENT_NOTICE_COUNT); + + let nb = win.document.getElementById("high-priority-global-notificationbox"); + let message = "Thanks for helping to test multiprocess Firefox (e10s). Some functions might not work yet." + let buttons = [ + { + label: "Learn More", + accessKey: "L", + callback: function () { + win.openUILinkIn("https://wiki.mozilla.org/Electrolysis", "tab"); + } + } + ]; + nb.appendNotification(message, "e10s-activated-noticed", + null, nb.PRIORITY_WARNING_MEDIUM, buttons); + + } +}; +#endif + var components = [BrowserGlue, ContentPermissionPrompt]; this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components);