summaryrefslogtreecommitdiffstats
path: root/application/basilisk
diff options
context:
space:
mode:
Diffstat (limited to 'application/basilisk')
-rw-r--r--application/basilisk/app/macbuild/Contents/Info.plist.in4
-rw-r--r--application/basilisk/app/profile/basilisk.js5
-rw-r--r--application/basilisk/base/content/browser-fullScreenAndPointerLock.js3
-rw-r--r--application/basilisk/base/content/browser-fxaccounts.js48
-rw-r--r--application/basilisk/base/content/browser-gestureSupport.js10
-rw-r--r--application/basilisk/base/content/browser.js23
-rw-r--r--application/basilisk/base/content/browser.xul3
-rw-r--r--application/basilisk/base/content/sanitize.js55
-rw-r--r--application/basilisk/base/content/tabbrowser.xml63
-rw-r--r--application/basilisk/branding/official/disk.icnsbin459117 -> 41448 bytes
-rw-r--r--application/basilisk/branding/official/document.icnsbin660004 -> 39113 bytes
-rw-r--r--application/basilisk/branding/official/firefox.icnsbin801511 -> 39138 bytes
-rw-r--r--application/basilisk/components/migration/AutoMigrate.jsm18
-rw-r--r--application/basilisk/components/migration/MigrationUtils.jsm16
-rw-r--r--application/basilisk/components/migration/content/migration.xul6
-rw-r--r--application/basilisk/components/places/content/history-panel.js7
-rw-r--r--application/basilisk/components/places/content/places.js3
-rw-r--r--application/basilisk/components/sessionstore/SessionFile.jsm2
-rw-r--r--application/basilisk/components/sessionstore/SessionSaver.jsm16
-rw-r--r--application/basilisk/components/sessionstore/SessionStore.jsm16
-rw-r--r--application/basilisk/components/sessionstore/TabAttributes.jsm5
-rw-r--r--application/basilisk/components/sessionstore/nsSessionStartup.js1
22 files changed, 33 insertions, 271 deletions
diff --git a/application/basilisk/app/macbuild/Contents/Info.plist.in b/application/basilisk/app/macbuild/Contents/Info.plist.in
index d6902fffd..3f9380606 100644
--- a/application/basilisk/app/macbuild/Contents/Info.plist.in
+++ b/application/basilisk/app/macbuild/Contents/Info.plist.in
@@ -143,7 +143,7 @@
</dict>
</array>
<key>CFBundleExecutable</key>
- <string>firefox</string>
+ <string>basilisk</string>
<key>CFBundleGetInfoString</key>
<string>%MAC_APP_NAME% %APP_VERSION%</string>
<key>CFBundleIconFile</key>
@@ -213,7 +213,7 @@
<key>LSFileQuarantineEnabled</key>
<true/>
<key>LSMinimumSystemVersion</key>
- <string>10.9.0</string>
+ <string>10.7.0</string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>NSPrincipalClass</key>
diff --git a/application/basilisk/app/profile/basilisk.js b/application/basilisk/app/profile/basilisk.js
index 2df95a97f..fd81e8204 100644
--- a/application/basilisk/app/profile/basilisk.js
+++ b/application/basilisk/app/profile/basilisk.js
@@ -543,9 +543,10 @@ pref("browser.gesture.tap", "cmd_fullZoomReset");
pref("browser.snapshots.limit", 0);
// 0: Nothing happens
-// 1: Scrolling contents
+// 1: Scroll contents
// 2: Go back or go forward, in your history
-// 3: Zoom in or out.
+// 3: Zoom in or out
+// 4: Scroll contents with X and Y swapped
#ifdef XP_MACOSX
// On OS X, if the wheel has one axis only, shift+wheel comes through as a
// horizontal scroll event. Thus, we can't assign anything other than normal
diff --git a/application/basilisk/base/content/browser-fullScreenAndPointerLock.js b/application/basilisk/base/content/browser-fullScreenAndPointerLock.js
index dbc9478c1..ebe55377f 100644
--- a/application/basilisk/base/content/browser-fullScreenAndPointerLock.js
+++ b/application/basilisk/base/content/browser-fullScreenAndPointerLock.js
@@ -379,12 +379,10 @@ var FullScreen = {
let topWin = event.target.ownerGlobal.top;
browser = gBrowser.getBrowserForContentWindow(topWin);
}
- TelemetryStopwatch.start("FULLSCREEN_CHANGE_MS");
this.enterDomFullscreen(browser);
break;
}
case "MozDOMFullscreen:Exited":
- TelemetryStopwatch.start("FULLSCREEN_CHANGE_MS");
this.cleanupDomFullscreen();
break;
}
@@ -410,7 +408,6 @@ var FullScreen = {
}
case "DOMFullscreen:Painted": {
Services.obs.notifyObservers(window, "fullscreen-painted", "");
- TelemetryStopwatch.finish("FULLSCREEN_CHANGE_MS");
break;
}
}
diff --git a/application/basilisk/base/content/browser-fxaccounts.js b/application/basilisk/base/content/browser-fxaccounts.js
index 0bbce3e26..94a591f1e 100644
--- a/application/basilisk/base/content/browser-fxaccounts.js
+++ b/application/basilisk/base/content/browser-fxaccounts.js
@@ -4,8 +4,6 @@
var gFxAccounts = {
- SYNC_MIGRATION_NOTIFICATION_TITLE: "fxa-migration",
-
_initialized: false,
_inCustomizationMode: false,
_cachedProfile: null,
@@ -26,7 +24,6 @@ var gFxAccounts = {
"weave:service:setup-complete",
"weave:service:sync:error",
"weave:ui:login:error",
- "fxa-migration:state-changed",
this.FxAccountsCommon.ONLOGIN_NOTIFICATION,
this.FxAccountsCommon.ONLOGOUT_NOTIFICATION,
this.FxAccountsCommon.ON_PROFILE_CHANGE_NOTIFICATION,
@@ -122,9 +119,6 @@ var gFxAccounts = {
observe: function (subject, topic, data) {
switch (topic) {
- case "fxa-migration:state-changed":
- this.onMigrationStateChanged(data, subject);
- break;
case this.FxAccountsCommon.ON_PROFILE_CHANGE_NOTIFICATION:
this._cachedProfile = null;
// Fallthrough intended
@@ -134,48 +128,6 @@ var gFxAccounts = {
}
},
- onMigrationStateChanged: function () {
- // Since we nuked most of the migration code, this notification will fire
- // once after legacy Sync has been disconnected (and should never fire
- // again)
- let nb = window.document.getElementById("global-notificationbox");
-
- let msg = this.strings.GetStringFromName("autoDisconnectDescription")
- let signInLabel = this.strings.GetStringFromName("autoDisconnectSignIn.label");
- let signInAccessKey = this.strings.GetStringFromName("autoDisconnectSignIn.accessKey");
- let learnMoreLink = this.fxaMigrator.learnMoreLink;
-
- let buttons = [
- {
- label: signInLabel,
- accessKey: signInAccessKey,
- callback: () => {
- this.openPreferences();
- }
- }
- ];
-
- let fragment = document.createDocumentFragment();
- let msgNode = document.createTextNode(msg);
- fragment.appendChild(msgNode);
- if (learnMoreLink) {
- let link = document.createElement("label");
- link.className = "text-link";
- link.setAttribute("value", learnMoreLink.text);
- link.href = learnMoreLink.href;
- fragment.appendChild(link);
- }
-
- nb.appendNotification(fragment,
- this.SYNC_MIGRATION_NOTIFICATION_TITLE,
- undefined,
- nb.PRIORITY_WARNING_LOW,
- buttons);
-
- // ensure the hamburger menu reflects the newly disconnected state.
- this.updateAppMenuItem();
- },
-
handleEvent: function (event) {
this._inCustomizationMode = event.type == "customizationstarting";
this.updateAppMenuItem();
diff --git a/application/basilisk/base/content/browser-gestureSupport.js b/application/basilisk/base/content/browser-gestureSupport.js
index f472e5c9a..6c21a6ad5 100644
--- a/application/basilisk/base/content/browser-gestureSupport.js
+++ b/application/basilisk/base/content/browser-gestureSupport.js
@@ -1001,13 +1001,10 @@ var gHistorySwipeAnimation = {
ctx.DRAWWINDOW_ASYNC_DECODE_IMAGES |
ctx.DRAWWINDOW_USE_WIDGET_LAYERS);
- TelemetryStopwatch.start("FX_GESTURE_INSTALL_SNAPSHOT_OF_PAGE");
try {
this._installCurrentPageSnapshot(canvas);
this._assignSnapshotToCurrentBrowser(canvas);
- } finally {
- TelemetryStopwatch.finish("FX_GESTURE_INSTALL_SNAPSHOT_OF_PAGE");
- }
+ } catch (e) {}
},
/**
@@ -1058,7 +1055,6 @@ var gHistorySwipeAnimation = {
return;
}
- TelemetryStopwatch.start("FX_GESTURE_COMPRESS_SNAPSHOT_OF_PAGE");
try {
let browser = gBrowser.selectedBrowser;
let snapshots = browser.snapshots;
@@ -1072,9 +1068,7 @@ var gHistorySwipeAnimation = {
}
}, "image/png"
);
- } finally {
- TelemetryStopwatch.finish("FX_GESTURE_COMPRESS_SNAPSHOT_OF_PAGE");
- }
+ } catch (e) {}
},
/**
diff --git a/application/basilisk/base/content/browser.js b/application/basilisk/base/content/browser.js
index 031144dfd..4f4ebb08f 100644
--- a/application/basilisk/base/content/browser.js
+++ b/application/basilisk/base/content/browser.js
@@ -45,7 +45,6 @@ Cu.import("resource://gre/modules/NotificationDB.jsm");
["SitePermissions", "resource:///modules/SitePermissions.jsm"],
["TabCrashHandler", "resource:///modules/ContentCrashHandlers.jsm"],
["Task", "resource://gre/modules/Task.jsm"],
- ["TelemetryStopwatch", "resource://gre/modules/TelemetryStopwatch.jsm"],
["Translation", "resource:///modules/translation/Translation.jsm"],
["UpdateUtils", "resource://gre/modules/UpdateUtils.jsm"],
["Weave", "resource://services-sync/main.js"],
@@ -3818,8 +3817,6 @@ function toOpenWindowByType(inType, uri, features)
function OpenBrowserWindow(options)
{
- var telemetryObj = {};
- TelemetryStopwatch.start("FX_NEW_WINDOW_MS", telemetryObj);
function newDocumentShown(doc, topic, data) {
if (topic == "document-shown" &&
@@ -3827,7 +3824,6 @@ function OpenBrowserWindow(options)
doc.defaultView == win) {
Services.obs.removeObserver(newDocumentShown, "document-shown");
Services.obs.removeObserver(windowClosed, "domwindowclosed");
- TelemetryStopwatch.finish("FX_NEW_WINDOW_MS", telemetryObj);
}
}
@@ -4623,25 +4619,6 @@ var TabsProgressListener = {
_startedLoadTimer: new WeakSet(),
onStateChange: function (aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) {
- // Collect telemetry data about tab load times.
- if (aWebProgress.isTopLevel && (!aRequest.originalURI || aRequest.originalURI.spec.scheme != "about")) {
- if (aStateFlags & Ci.nsIWebProgressListener.STATE_IS_WINDOW) {
- if (aStateFlags & Ci.nsIWebProgressListener.STATE_START) {
- this._startedLoadTimer.add(aBrowser);
- TelemetryStopwatch.start("FX_PAGE_LOAD_MS", aBrowser);
- Services.telemetry.getHistogramById("FX_TOTAL_TOP_VISITS").add(true);
- } else if (aStateFlags & Ci.nsIWebProgressListener.STATE_STOP &&
- this._startedLoadTimer.has(aBrowser)) {
- this._startedLoadTimer.delete(aBrowser);
- TelemetryStopwatch.finish("FX_PAGE_LOAD_MS", aBrowser);
- }
- } else if (aStateFlags & Ci.nsIWebProgressListener.STATE_STOP &&
- aStatus == Cr.NS_BINDING_ABORTED &&
- this._startedLoadTimer.has(aBrowser)) {
- this._startedLoadTimer.delete(aBrowser);
- TelemetryStopwatch.cancel("FX_PAGE_LOAD_MS", aBrowser);
- }
- }
// We used to listen for clicks in the browser here, but when that
// became unnecessary, removing the code below caused focus issues.
diff --git a/application/basilisk/base/content/browser.xul b/application/basilisk/base/content/browser.xul
index 982edfcd9..74a90f5e0 100644
--- a/application/basilisk/base/content/browser.xul
+++ b/application/basilisk/base/content/browser.xul
@@ -521,8 +521,7 @@
tabbrowser="content"
flex="1"
setfocus="false"
- tooltip="tabbrowser-tab-tooltip"
- stopwatchid="FX_TAB_CLICK_MS">
+ tooltip="tabbrowser-tab-tooltip">
<tab class="tabbrowser-tab" selected="true" visuallyselected="true" fadein="true"/>
</tabs>
diff --git a/application/basilisk/base/content/sanitize.js b/application/basilisk/base/content/sanitize.js
index 841376580..0a00defa4 100644
--- a/application/basilisk/base/content/sanitize.js
+++ b/application/basilisk/base/content/sanitize.js
@@ -19,8 +19,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "Task",
"resource://gre/modules/Task.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "DownloadsCommon",
"resource:///modules/DownloadsCommon.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "TelemetryStopwatch",
- "resource://gre/modules/TelemetryStopwatch.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "console",
"resource://gre/modules/Console.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Preferences",
@@ -154,8 +152,6 @@ Sanitizer.prototype = {
// we catch and store them, but continue to sanitize as much as possible.
// Callers should check returned errors and give user feedback
// about items that could not be sanitized
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_TOTAL", refObj);
let annotateError = (name, ex) => {
progress[name] = "failed";
@@ -188,7 +184,7 @@ Sanitizer.prototype = {
}
// Sanitization is complete.
- TelemetryStopwatch.finish("FX_SANITIZE_TOTAL", refObj);
+
// Reset the inProgress preference since we were not killed during
// sanitization.
Preferences.reset(Sanitizer.PREF_SANITIZE_IN_PROGRESS);
@@ -210,8 +206,6 @@ Sanitizer.prototype = {
cache: {
clear: Task.async(function* (range) {
let seenException;
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_CACHE", refObj);
try {
// Cache doesn't consult timespan, nor does it have the
@@ -232,7 +226,6 @@ Sanitizer.prototype = {
seenException = ex;
}
- TelemetryStopwatch.finish("FX_SANITIZE_CACHE", refObj);
if (seenException) {
throw seenException;
}
@@ -243,10 +236,8 @@ Sanitizer.prototype = {
clear: Task.async(function* (range) {
let seenException;
let yieldCounter = 0;
- let refObj = {};
// Clear cookies.
- TelemetryStopwatch.start("FX_SANITIZE_COOKIES_2", refObj);
try {
let cookieMgr = Components.classes["@mozilla.org/cookiemanager;1"]
.getService(Ci.nsICookieManager);
@@ -274,8 +265,6 @@ Sanitizer.prototype = {
}
} catch (ex) {
seenException = ex;
- } finally {
- TelemetryStopwatch.finish("FX_SANITIZE_COOKIES_2", refObj);
}
// Clear deviceIds. Done asynchronously (returns before complete).
@@ -332,13 +321,6 @@ Sanitizer.prototype = {
if (!range || age >= 0) {
let tags = ph.getPluginTags();
for (let tag of tags) {
- let refObj = {};
- let probe = "";
- if (/\bFlash\b/.test(tag.name)) {
- probe = tag.loaded ? "FX_SANITIZE_LOADED_FLASH"
- : "FX_SANITIZE_UNLOADED_FLASH";
- TelemetryStopwatch.start(probe, refObj);
- }
try {
let rv = yield new Promise(resolve =>
ph.clearSiteData(tag, null, FLAG_CLEAR_ALL, age, resolve)
@@ -349,14 +331,8 @@ Sanitizer.prototype = {
ph.clearSiteData(tag, null, FLAG_CLEAR_ALL, -1, resolve)
);
}
- if (probe) {
- TelemetryStopwatch.finish(probe, refObj);
- }
} catch (ex) {
// Ignore errors from plug-ins
- if (probe) {
- TelemetryStopwatch.cancel(probe, refObj);
- }
}
}
}
@@ -413,8 +389,6 @@ Sanitizer.prototype = {
history: {
clear: Task.async(function* (range) {
let seenException;
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_HISTORY", refObj);
try {
if (range) {
yield PlacesUtils.history.removeVisitsByFilter({
@@ -427,8 +401,6 @@ Sanitizer.prototype = {
}
} catch (ex) {
seenException = ex;
- } finally {
- TelemetryStopwatch.finish("FX_SANITIZE_HISTORY", refObj);
}
try {
@@ -455,8 +427,6 @@ Sanitizer.prototype = {
formdata: {
clear: Task.async(function* (range) {
let seenException;
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_FORMDATA", refObj);
try {
// Clear undo history of all searchBars
let windows = Services.wm.getEnumerator("navigator:browser");
@@ -504,7 +474,6 @@ Sanitizer.prototype = {
seenException = ex;
}
- TelemetryStopwatch.finish("FX_SANITIZE_FORMDATA", refObj);
if (seenException) {
throw seenException;
}
@@ -513,8 +482,6 @@ Sanitizer.prototype = {
downloads: {
clear: Task.async(function* (range) {
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_DOWNLOADS", refObj);
try {
let filterByTime = null;
if (range) {
@@ -528,16 +495,13 @@ Sanitizer.prototype = {
// Clear all completed/cancelled downloads
let list = yield Downloads.getList(Downloads.ALL);
list.removeFinished(filterByTime);
- } finally {
- TelemetryStopwatch.finish("FX_SANITIZE_DOWNLOADS", refObj);
- }
+ } catch (ex) {
+ }
})
},
sessions: {
clear: Task.async(function* (range) {
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_SESSIONS", refObj);
try {
// clear all auth tokens
@@ -547,17 +511,14 @@ Sanitizer.prototype = {
// clear FTP and plain HTTP auth sessions
Services.obs.notifyObservers(null, "net:clear-active-logins", null);
- } finally {
- TelemetryStopwatch.finish("FX_SANITIZE_SESSIONS", refObj);
- }
+ } catch (ex) {
+ }
})
},
siteSettings: {
clear: Task.async(function* (range) {
let seenException;
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_SITESETTINGS", refObj);
let startDateMS = range ? range[0] / 1000 : null;
@@ -615,7 +576,6 @@ Sanitizer.prototype = {
seenException = ex;
}
- TelemetryStopwatch.finish("FX_SANITIZE_SITESETTINGS", refObj);
if (seenException) {
throw seenException;
}
@@ -672,9 +632,6 @@ Sanitizer.prototype = {
// If/once we get here, we should actually be able to close all windows.
- let refObj = {};
- TelemetryStopwatch.start("FX_SANITIZE_OPENWINDOWS", refObj);
-
// First create a new window. We do this first so that on non-mac, we don't
// accidentally close the app by closing all the windows.
let handler = Cc["@mozilla.org/browser/clh;1"].getService(Ci.nsIBrowserHandler);
@@ -719,7 +676,6 @@ Sanitizer.prototype = {
newWindowOpened = true;
// If we're the last thing to happen, invoke callback.
if (numWindowsClosing == 0) {
- TelemetryStopwatch.finish("FX_SANITIZE_OPENWINDOWS", refObj);
resolve();
}
}
@@ -731,7 +687,6 @@ Sanitizer.prototype = {
Services.obs.removeObserver(onWindowClosed, "xul-window-destroyed");
// If we're the last thing to happen, invoke callback.
if (newWindowOpened) {
- TelemetryStopwatch.finish("FX_SANITIZE_OPENWINDOWS", refObj);
resolve();
}
}
diff --git a/application/basilisk/base/content/tabbrowser.xml b/application/basilisk/base/content/tabbrowser.xml
index f8dbcf364..043838020 100644
--- a/application/basilisk/base/content/tabbrowser.xml
+++ b/application/basilisk/base/content/tabbrowser.xml
@@ -1042,11 +1042,6 @@
</body>
</method>
- <!-- Holds a unique ID for the tab change that's currently being timed.
- Used to make sure that multiple, rapid tab switches do not try to
- create overlapping timers. -->
- <field name="_tabSwitchID">null</field>
-
<method name="updateCurrentBrowser">
<parameter name="aForceUpdate"/>
<body>
@@ -1055,33 +1050,6 @@
if (this.mCurrentBrowser == newBrowser && !aForceUpdate)
return;
- if (!aForceUpdate) {
- TelemetryStopwatch.start("FX_TAB_SWITCH_UPDATE_MS");
- if (!gMultiProcessBrowser) {
- // old way of measuring tab paint which is not valid with e10s.
- // Waiting until the next MozAfterPaint ensures that we capture
- // the time it takes to paint, upload the textures to the compositor,
- // and then composite.
- if (this._tabSwitchID) {
- TelemetryStopwatch.cancel("FX_TAB_SWITCH_TOTAL_MS");
- }
-
- let tabSwitchID = Symbol();
-
- TelemetryStopwatch.start("FX_TAB_SWITCH_TOTAL_MS");
- this._tabSwitchID = tabSwitchID;
-
- let onMozAfterPaint = () => {
- if (this._tabSwitchID === tabSwitchID) {
- TelemetryStopwatch.finish("FX_TAB_SWITCH_TOTAL_MS");
- this._tabSwitchID = null;
- }
- window.removeEventListener("MozAfterPaint", onMozAfterPaint);
- }
- window.addEventListener("MozAfterPaint", onMozAfterPaint);
- }
- }
-
var oldTab = this.mCurrentTab;
// Preview mode should not reset the owner
@@ -1274,9 +1242,6 @@
});
this.dispatchEvent(event);
}
-
- if (!aForceUpdate)
- TelemetryStopwatch.finish("FX_TAB_SWITCH_UPDATE_MS");
]]>
</body>
</method>
@@ -2136,6 +2101,7 @@
var aRelatedBrowser;
var aOriginPrincipal;
var aOpener;
+ var aSkipBackgroundNotify;
if (arguments.length == 2 &&
typeof arguments[1] == "object" &&
!(arguments[1] instanceof Ci.nsIURI)) {
@@ -2158,6 +2124,7 @@
aRelatedBrowser = params.relatedBrowser;
aOriginPrincipal = params.originPrincipal;
aOpener = params.opener;
+ aSkipBackgroundNotify = params.skipBackgroundNotify;
}
// if we're adding tabs, we're past interrupt mode, ditch the owner
@@ -2186,6 +2153,11 @@
t.setAttribute("crop", "end");
t.setAttribute("onerror", "this.removeAttribute('image');");
+
+ if (aSkipBackgroundNotify) {
+ t.setAttribute("skipbackgroundnotify", true);
+ }
+
t.className = "tabbrowser-tab";
this.tabContainer._unlockTabSizing();
@@ -4145,8 +4117,6 @@
*/
startTabSwitch: function () {
- TelemetryStopwatch.cancel("FX_TAB_SWITCH_TOTAL_E10S_MS", window);
- TelemetryStopwatch.start("FX_TAB_SWITCH_TOTAL_E10S_MS", window);
this.addMarker("AsyncTabSwitch:Start");
this.switchInProgress = true;
},
@@ -4162,31 +4132,18 @@
this.getTabState(this.requestedTab) == this.STATE_LOADED) {
// After this point the tab has switched from the content thread's point of view.
// The changes will be visible after the next refresh driver tick + composite.
- let time = TelemetryStopwatch.timeElapsed("FX_TAB_SWITCH_TOTAL_E10S_MS", window);
- if (time != -1) {
- TelemetryStopwatch.finish("FX_TAB_SWITCH_TOTAL_E10S_MS", window);
- this.log("DEBUG: tab switch time = " + time);
this.addMarker("AsyncTabSwitch:Finish");
- }
this.switchInProgress = false;
}
},
spinnerDisplayed: function () {
this.assert(!this.spinnerTab);
- TelemetryStopwatch.start("FX_TAB_SWITCH_SPINNER_VISIBLE_MS", window);
- // We have a second, similar probe for capturing recordings of
- // when the spinner is displayed for very long periods.
- TelemetryStopwatch.start("FX_TAB_SWITCH_SPINNER_VISIBLE_LONG_MS", window);
this.addMarker("AsyncTabSwitch:SpinnerShown");
},
spinnerHidden: function () {
this.assert(this.spinnerTab);
- this.log("DEBUG: spinner time = " +
- TelemetryStopwatch.timeElapsed("FX_TAB_SWITCH_SPINNER_VISIBLE_MS", window));
- TelemetryStopwatch.finish("FX_TAB_SWITCH_SPINNER_VISIBLE_MS", window);
- TelemetryStopwatch.finish("FX_TAB_SWITCH_SPINNER_VISIBLE_LONG_MS", window);
this.addMarker("AsyncTabSwitch:SpinnerHidden");
// we do not get a onPaint after displaying the spinner
this.maybeFinishTabSwitch();
@@ -5982,7 +5939,11 @@
this._fillTrailingGap();
this._handleTabSelect();
} else {
- this._notifyBackgroundTab(tab);
+ if (tab.hasAttribute("skipbackgroundnotify")) {
+ tab.removeAttribute("skipbackgroundnotify");
+ } else {
+ this._notifyBackgroundTab(tab);
+ }
}
// XXXmano: this is a temporary workaround for bug 345399
diff --git a/application/basilisk/branding/official/disk.icns b/application/basilisk/branding/official/disk.icns
index 82fdccff8..bb3fdd5e4 100644
--- a/application/basilisk/branding/official/disk.icns
+++ b/application/basilisk/branding/official/disk.icns
Binary files differ
diff --git a/application/basilisk/branding/official/document.icns b/application/basilisk/branding/official/document.icns
index 5f03305d7..388296713 100644
--- a/application/basilisk/branding/official/document.icns
+++ b/application/basilisk/branding/official/document.icns
Binary files differ
diff --git a/application/basilisk/branding/official/firefox.icns b/application/basilisk/branding/official/firefox.icns
index 4d2ad5a04..8b9232cba 100644
--- a/application/basilisk/branding/official/firefox.icns
+++ b/application/basilisk/branding/official/firefox.icns
Binary files differ
diff --git a/application/basilisk/components/migration/AutoMigrate.jsm b/application/basilisk/components/migration/AutoMigrate.jsm
index b38747825..003f70d70 100644
--- a/application/basilisk/components/migration/AutoMigrate.jsm
+++ b/application/basilisk/components/migration/AutoMigrate.jsm
@@ -37,8 +37,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "OS",
"resource://gre/modules/osfile.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "PlacesUtils",
"resource://gre/modules/PlacesUtils.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "TelemetryStopwatch",
- "resource://gre/modules/TelemetryStopwatch.jsm");
XPCOMUtils.defineLazyGetter(this, "gBrandBundle", function() {
const kBrandBundle = "chrome://branding/locale/brand.properties";
@@ -211,7 +209,6 @@ const AutoMigrate = {
undo: Task.async(function* () {
let browserId = Preferences.get(kAutoMigrateBrowserPref, "unknown");
- TelemetryStopwatch.startKeyed("FX_STARTUP_MIGRATION_UNDO_TOTAL_MS", browserId);
let histogram = Services.telemetry.getHistogramById("FX_STARTUP_MIGRATION_AUTOMATED_IMPORT_UNDO");
histogram.add(0);
if (!(yield this.canUndo())) {
@@ -236,38 +233,24 @@ const AutoMigrate = {
Services.telemetry.getKeyedHistogramById(histogramId).add(browserId, this._errorMap[type]);
};
- let startTelemetryStopwatch = resourceType => {
- let histogramId = `FX_STARTUP_MIGRATION_UNDO_${resourceType.toUpperCase()}_MS`;
- TelemetryStopwatch.startKeyed(histogramId, browserId);
- };
- let stopTelemetryStopwatch = resourceType => {
- let histogramId = `FX_STARTUP_MIGRATION_UNDO_${resourceType.toUpperCase()}_MS`;
- TelemetryStopwatch.finishKeyed(histogramId, browserId);
- };
- startTelemetryStopwatch("bookmarks");
yield this._removeUnchangedBookmarks(stateData.get("bookmarks")).catch(ex => {
Cu.reportError("Uncaught exception when removing unchanged bookmarks!");
Cu.reportError(ex);
});
- stopTelemetryStopwatch("bookmarks");
reportErrorTelemetry("bookmarks");
histogram.add(15);
- startTelemetryStopwatch("visits");
yield this._removeSomeVisits(stateData.get("visits")).catch(ex => {
Cu.reportError("Uncaught exception when removing history visits!");
Cu.reportError(ex);
});
- stopTelemetryStopwatch("visits");
reportErrorTelemetry("visits");
histogram.add(20);
- startTelemetryStopwatch("logins");
yield this._removeUnchangedLogins(stateData.get("logins")).catch(ex => {
Cu.reportError("Uncaught exception when removing unchanged logins!");
Cu.reportError(ex);
});
- stopTelemetryStopwatch("logins");
reportErrorTelemetry("logins");
histogram.add(25);
@@ -278,7 +261,6 @@ const AutoMigrate = {
this._purgeUndoState(this.UNDO_REMOVED_REASON_UNDO_USED);
histogram.add(30);
- TelemetryStopwatch.finishKeyed("FX_STARTUP_MIGRATION_UNDO_TOTAL_MS", browserId);
}),
_removeNotificationBars() {
diff --git a/application/basilisk/components/migration/MigrationUtils.jsm b/application/basilisk/components/migration/MigrationUtils.jsm
index e133ec520..ccae006fe 100644
--- a/application/basilisk/components/migration/MigrationUtils.jsm
+++ b/application/basilisk/components/migration/MigrationUtils.jsm
@@ -32,8 +32,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "ResponsivenessMonitor",
"resource://gre/modules/ResponsivenessMonitor.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Sqlite",
"resource://gre/modules/Sqlite.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "TelemetryStopwatch",
- "resource://gre/modules/TelemetryStopwatch.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "WindowsRegistry",
"resource://gre/modules/WindowsRegistry.jsm");
@@ -254,14 +252,6 @@ this.MigratorPrototype = {
let browserKey = this.getBrowserKey();
- let maybeStartTelemetryStopwatch = resourceType => {
- let histogramId = getHistogramIdForResourceType(resourceType, "FX_MIGRATION_*_IMPORT_MS");
- if (histogramId) {
- TelemetryStopwatch.startKeyed(histogramId, browserKey);
- }
- return histogramId;
- };
-
let maybeStartResponsivenessMonitor = resourceType => {
let responsivenessMonitor;
let responsivenessHistogramId =
@@ -323,8 +313,6 @@ this.MigratorPrototype = {
for (let [migrationType, itemResources] of resourcesGroupedByItems) {
notify("Migration:ItemBeforeMigrate", migrationType);
- let stopwatchHistogramId = maybeStartTelemetryStopwatch(migrationType);
-
let {responsivenessMonitor, responsivenessHistogramId} =
maybeStartResponsivenessMonitor(migrationType);
@@ -340,10 +328,6 @@ this.MigratorPrototype = {
migrationType);
resourcesGroupedByItems.delete(migrationType);
- if (stopwatchHistogramId) {
- TelemetryStopwatch.finishKeyed(stopwatchHistogramId, browserKey);
- }
-
maybeFinishResponsivenessMonitor(responsivenessMonitor, responsivenessHistogramId);
if (resourcesGroupedByItems.size == 0) {
diff --git a/application/basilisk/components/migration/content/migration.xul b/application/basilisk/components/migration/content/migration.xul
index e85091002..62c97c107 100644
--- a/application/basilisk/components/migration/content/migration.xul
+++ b/application/basilisk/components/migration/content/migration.xul
@@ -24,11 +24,9 @@
<wizardpage id="importSource" pageid="importSource" next="selectProfile"
label="&importSource.title;"
onpageadvanced="return MigrationWizard.onImportSourcePageAdvanced();">
-#ifdef XP_WIN
+
<description id="importAll" control="importSourceGroup">&importFrom.label;</description>
-#else
- <description id="importAll" control="importSourceGroup">&importFromUnix.label;</description>
-#endif
+
<description id="importBookmarks" control="importSourceGroup" hidden="true">&importFromBookmarks.label;</description>
<radiogroup id="importSourceGroup" align="start">
diff --git a/application/basilisk/components/places/content/history-panel.js b/application/basilisk/components/places/content/history-panel.js
index 20dbbb5bd..65f00e93b 100644
--- a/application/basilisk/components/places/content/history-panel.js
+++ b/application/basilisk/components/places/content/history-panel.js
@@ -3,8 +3,6 @@
* 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/. */
-Components.utils.import("resource://gre/modules/TelemetryStopwatch.jsm");
-
var gHistoryTree;
var gSearchBox;
var gHistoryGrouping = "";
@@ -81,16 +79,11 @@ function searchHistory(aInput)
options.resultType = resultType;
options.includeHidden = !!aInput;
- if (gHistoryGrouping == "lastvisited")
- this.TelemetryStopwatch.start("HISTORY_LASTVISITED_TREE_QUERY_TIME_MS");
-
// call load() on the tree manually
// instead of setting the place attribute in history-panel.xul
// otherwise, we will end up calling load() twice
gHistoryTree.load([query], options);
- if (gHistoryGrouping == "lastvisited")
- this.TelemetryStopwatch.finish("HISTORY_LASTVISITED_TREE_QUERY_TIME_MS");
}
window.addEventListener("SidebarFocused",
diff --git a/application/basilisk/components/places/content/places.js b/application/basilisk/components/places/content/places.js
index aa43b20e6..375c3de17 100644
--- a/application/basilisk/components/places/content/places.js
+++ b/application/basilisk/components/places/content/places.js
@@ -5,7 +5,6 @@
Components.utils.import("resource://gre/modules/AppConstants.jsm");
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-Components.utils.import("resource://gre/modules/TelemetryStopwatch.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "MigrationUtils",
"resource:///modules/MigrationUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Task",
@@ -810,9 +809,7 @@ var PlacesSearchBox = {
currentView.load([query], options);
}
else {
- TelemetryStopwatch.start(HISTORY_LIBRARY_SEARCH_TELEMETRY);
currentView.applyFilter(filterString, null, true);
- TelemetryStopwatch.finish(HISTORY_LIBRARY_SEARCH_TELEMETRY);
}
break;
case "downloads":
diff --git a/application/basilisk/components/sessionstore/SessionFile.jsm b/application/basilisk/components/sessionstore/SessionFile.jsm
index 80c4e7790..3c55101e4 100644
--- a/application/basilisk/components/sessionstore/SessionFile.jsm
+++ b/application/basilisk/components/sessionstore/SessionFile.jsm
@@ -43,8 +43,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "PromiseUtils",
"resource://gre/modules/PromiseUtils.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "RunState",
"resource:///modules/sessionstore/RunState.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "TelemetryStopwatch",
- "resource://gre/modules/TelemetryStopwatch.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Task",
"resource://gre/modules/Task.jsm");
XPCOMUtils.defineLazyServiceGetter(this, "Telemetry",
diff --git a/application/basilisk/components/sessionstore/SessionSaver.jsm b/application/basilisk/components/sessionstore/SessionSaver.jsm
index d672f8877..fa3a67512 100644
--- a/application/basilisk/components/sessionstore/SessionSaver.jsm
+++ b/application/basilisk/components/sessionstore/SessionSaver.jsm
@@ -13,7 +13,6 @@ const Ci = Components.interfaces;
Cu.import("resource://gre/modules/Timer.jsm", this);
Cu.import("resource://gre/modules/Services.jsm", this);
Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
-Cu.import("resource://gre/modules/TelemetryStopwatch.jsm", this);
XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
"resource://gre/modules/AppConstants.jsm");
@@ -52,19 +51,6 @@ function notify(subject, topic) {
Services.obs.notifyObservers(subject, topic, "");
}
-// TelemetryStopwatch helper functions.
-function stopWatch(method) {
- return function (...histograms) {
- for (let hist of histograms) {
- TelemetryStopwatch[method]("FX_SESSION_RESTORE_" + hist);
- }
- };
-}
-
-var stopWatchStart = stopWatch("start");
-var stopWatchCancel = stopWatch("cancel");
-var stopWatchFinish = stopWatch("finish");
-
/**
* The external API implemented by the SessionSaver module.
*/
@@ -182,7 +168,6 @@ var SessionSaverInternal = {
return Promise.resolve();
}
- stopWatchStart("COLLECT_DATA_MS", "COLLECT_DATA_LONGEST_OP_MS");
let state = SessionStore.getCurrentState(forceUpdateAllWindows);
PrivacyFilter.filterPrivateWindowsAndTabs(state);
@@ -226,7 +211,6 @@ var SessionSaverInternal = {
}
}
- stopWatchFinish("COLLECT_DATA_MS", "COLLECT_DATA_LONGEST_OP_MS");
return this._writeState(state);
},
diff --git a/application/basilisk/components/sessionstore/SessionStore.jsm b/application/basilisk/components/sessionstore/SessionStore.jsm
index 6b30943f3..b599bc162 100644
--- a/application/basilisk/components/sessionstore/SessionStore.jsm
+++ b/application/basilisk/components/sessionstore/SessionStore.jsm
@@ -135,7 +135,6 @@ Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm", this);
Cu.import("resource://gre/modules/Promise.jsm", this);
Cu.import("resource://gre/modules/Services.jsm", this);
Cu.import("resource://gre/modules/Task.jsm", this);
-Cu.import("resource://gre/modules/TelemetryStopwatch.jsm", this);
Cu.import("resource://gre/modules/TelemetryTimestamps.jsm", this);
Cu.import("resource://gre/modules/Timer.jsm", this);
Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
@@ -564,7 +563,6 @@ var SessionStoreInternal = {
* Initialize the session using the state provided by SessionStartup
*/
initSession: function () {
- TelemetryStopwatch.start("FX_SESSION_RESTORE_STARTUP_INIT_SESSION_MS");
let state;
let ss = gSessionStartup;
@@ -640,7 +638,6 @@ var SessionStoreInternal = {
this._prefBranch.getBoolPref("sessionstore.resume_session_once"))
this._prefBranch.setBoolPref("sessionstore.resume_session_once", false);
- TelemetryStopwatch.finish("FX_SESSION_RESTORE_STARTUP_INIT_SESSION_MS");
return state;
},
@@ -1247,9 +1244,7 @@ var SessionStoreInternal = {
if (initialState) {
Services.obs.notifyObservers(null, NOTIFY_RESTORING_ON_STARTUP, "");
}
- TelemetryStopwatch.start("FX_SESSION_RESTORE_STARTUP_ONLOAD_INITIAL_WINDOW_MS");
this.initializeWindow(aWindow, initialState);
- TelemetryStopwatch.finish("FX_SESSION_RESTORE_STARTUP_ONLOAD_INITIAL_WINDOW_MS");
// Let everyone know we're done.
this._deferredInitialized.resolve();
@@ -2857,7 +2852,6 @@ var SessionStoreInternal = {
var activeWindow = this._getMostRecentBrowserWindow();
- TelemetryStopwatch.start("FX_SESSION_RESTORE_COLLECT_ALL_WINDOWS_DATA_MS");
if (RunState.isRunning) {
// update the data for all windows with activities since the last save operation
this._forEachBrowserWindow(function(aWindow) {
@@ -2872,7 +2866,6 @@ var SessionStoreInternal = {
});
DirtyWindows.clear();
}
- TelemetryStopwatch.finish("FX_SESSION_RESTORE_COLLECT_ALL_WINDOWS_DATA_MS");
// An array that at the end will hold all current window data.
var total = [];
@@ -2892,9 +2885,7 @@ var SessionStoreInternal = {
nonPopupCount++;
}
- TelemetryStopwatch.start("FX_SESSION_RESTORE_COLLECT_COOKIES_MS");
SessionCookies.update(total);
- TelemetryStopwatch.finish("FX_SESSION_RESTORE_COLLECT_COOKIES_MS");
// collect the data for all windows yet to be restored
for (ix in this._statesToRestore) {
@@ -3063,8 +3054,6 @@ var SessionStoreInternal = {
if (aWindow && (!aWindow.__SSi || !this._windows[aWindow.__SSi]))
this.onLoad(aWindow);
- TelemetryStopwatch.start("FX_SESSION_RESTORE_RESTORE_WINDOW_MS");
-
// We're not returning from this before we end up calling restoreTabs
// for this window, so make sure we send the SSWindowStateBusy event.
this._setWindowStateBusy(aWindow);
@@ -3124,7 +3113,8 @@ var SessionStoreInternal = {
tabbrowser.addTab("about:blank",
{skipAnimation: true,
forceNotRemote,
- userContextId});
+ userContextId,
+ skipBackgroundNotify: true});
// If we inserted a new tab because the userContextId didn't match with the
// open tab, even though `t < openTabCount`, we need to remove that open tab
@@ -3235,8 +3225,6 @@ var SessionStoreInternal = {
// set smoothScroll back to the original value
tabstrip.smoothScroll = smoothScroll;
- TelemetryStopwatch.finish("FX_SESSION_RESTORE_RESTORE_WINDOW_MS");
-
this._setWindowStateReady(aWindow);
this._sendWindowRestoredNotification(aWindow);
diff --git a/application/basilisk/components/sessionstore/TabAttributes.jsm b/application/basilisk/components/sessionstore/TabAttributes.jsm
index 8a29680f4..c8e6d9744 100644
--- a/application/basilisk/components/sessionstore/TabAttributes.jsm
+++ b/application/basilisk/components/sessionstore/TabAttributes.jsm
@@ -14,7 +14,10 @@ this.EXPORTED_SYMBOLS = ["TabAttributes"];
// 'pending' is used internal by sessionstore and managed accordingly.
// 'iconLoadingPrincipal' is same as 'image' that it should be handled by
// using the gBrowser.getIcon()/setIcon() methods.
-const ATTRIBUTES_TO_SKIP = new Set(["image", "muted", "pending", "iconLoadingPrincipal"]);
+// 'skipbackgroundnotify' is used internal by tabbrowser.xml.
+const ATTRIBUTES_TO_SKIP = new Set(["image", "muted", "pending",
+ "iconLoadingPrincipal",
+ "skipbackgroundnotify"]);
// A set of tab attributes to persist. We will read a given list of tab
// attributes when collecting tab data and will re-set those attributes when
diff --git a/application/basilisk/components/sessionstore/nsSessionStartup.js b/application/basilisk/components/sessionstore/nsSessionStartup.js
index 7593c48ec..9cda1552e 100644
--- a/application/basilisk/components/sessionstore/nsSessionStartup.js
+++ b/application/basilisk/components/sessionstore/nsSessionStartup.js
@@ -37,7 +37,6 @@ const Cr = Components.results;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/TelemetryStopwatch.jsm");
Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm");
Cu.import("resource://gre/modules/Promise.jsm");