Backed out changeset d614fa6b53b2 (bug 889120) [australis] for suspicion of pgo perma-orange

This commit is contained in:
Carsten "Tomcat" Book 2014-01-16 09:44:49 +01:00
parent dbf3f53340
commit 364671235d
14 changed files with 33 additions and 104 deletions

View File

@ -21,7 +21,8 @@ let CustomizationHandler = {
},
isCustomizing: function() {
return document.documentElement.hasAttribute("customizing");
return document.documentElement.hasAttribute("customizing") ||
document.documentElement.hasAttribute("customize-exiting");
},
_customizationStarting: function() {

View File

@ -3710,11 +3710,11 @@ var XULBrowserWindow = {
// Try not to instantiate gCustomizeMode as much as possible,
// so don't use CustomizeMode.jsm to check for URI or customizing.
let customizingURI = "about:customizing";
if (location == customizingURI) {
if (location == customizingURI &&
!CustomizationHandler.isCustomizing()) {
gCustomizeMode.enter();
} else if (location != customizingURI &&
(CustomizationHandler.isEnteringCustomizeMode ||
CustomizationHandler.isCustomizing())) {
CustomizationHandler.isCustomizing()) {
gCustomizeMode.exit();
}
}

View File

@ -73,13 +73,8 @@ CustomizeMode.prototype = {
return this.document.getElementById("PanelUI-contents");
},
get _handler() {
return this.window.CustomizationHandler;
},
toggle: function() {
if (this._handler.isEnteringCustomizeMode || this._handler.isExitingCustomizeMode) {
this._wantToBeInCustomizeMode = !this._wantToBeInCustomizeMode;
if (this._transitioning) {
return;
}
if (this._customizing) {
@ -90,20 +85,10 @@ CustomizeMode.prototype = {
},
enter: function() {
this._wantToBeInCustomizeMode = true;
if (this._customizing || this._handler.isEnteringCustomizeMode) {
if (this._customizing || this._transitioning) {
return;
}
// Exiting; want to re-enter once we've done that.
if (this._handler.isExitingCustomizeMode) {
LOG("Attempted to enter while we're in the middle of exiting. " +
"We'll exit after we've entered");
return;
}
// We don't need to switch to kAboutURI, or open a new tab at
// kAboutURI if we're already on it.
if (this.browser.selectedBrowser.currentURI.spec != kAboutURI) {
@ -114,8 +99,6 @@ CustomizeMode.prototype = {
let window = this.window;
let document = this.document;
this._handler.isEnteringCustomizeMode = true;
Task.spawn(function() {
// We shouldn't start customize mode until after browser-delayed-startup has finished:
if (!this.window.gBrowserInit.delayedStartupFinished) {
@ -218,35 +201,19 @@ CustomizeMode.prototype = {
// Show the palette now that the transition has finished.
this.visiblePalette.hidden = false;
this._handler.isEnteringCustomizeMode = false;
this.dispatchToolboxEvent("customizationready");
if (!this._wantToBeInCustomizeMode) {
this.exit();
}
}.bind(this)).then(null, function(e) {
ERROR(e);
// We should ensure this has been called, and calling it again doesn't hurt:
window.PanelUI.endBatchUpdate();
this._handler.isEnteringCustomizeMode = false;
}.bind(this));
});
},
exit: function() {
this._wantToBeInCustomizeMode = false;
if (!this._customizing || this._handler.isExitingCustomizeMode) {
if (!this._customizing || this._transitioning) {
return;
}
// Entering; want to exit once we've done that.
if (this._handler.isEnteringCustomizeMode) {
LOG("Attempted to exit while we're in the middle of entering. " +
"We'll exit after we've entered");
return;
}
this._handler.isExitingCustomizeMode = true;
CustomizableUI.removeListener(this);
this.document.removeEventListener("keypress", this);
@ -329,13 +296,7 @@ CustomizeMode.prototype = {
let custBrowser = this.browser.selectedBrowser;
if (custBrowser.canGoBack) {
// If there's history to this tab, just go back.
// Note that this throws an exception if the previous document has a
// problematic URL (e.g. about:idontexist)
try {
custBrowser.goBack();
} catch (ex) {
ERROR(ex);
}
custBrowser.goBack();
} else {
// If we can't go back, we're removing the about:customization tab.
// We only do this if we're the top window for this window (so not
@ -360,19 +321,13 @@ CustomizeMode.prototype = {
this.window.PanelUI.endBatchUpdate();
this._changed = false;
this._transitioning = false;
this._handler.isExitingCustomizeMode = false;
this.dispatchToolboxEvent("aftercustomization");
CustomizableUI.notifyEndCustomizing(this.window);
if (this._wantToBeInCustomizeMode) {
this.enter();
}
}.bind(this)).then(null, function(e) {
ERROR(e);
// We should ensure this has been called, and calling it again doesn't hurt:
window.PanelUI.endBatchUpdate();
this._handler.isExitingCustomizeMode = false;
}.bind(this));
});
},
/**

View File

@ -19,7 +19,6 @@ skip-if = os == "mac"
[browser_886323_buildArea_removable_nodes.js]
[browser_887438_currentset_shim.js]
[browser_888817_currentset_updating.js]
[browser_889120_customize_tab_merging.js]
[browser_890140_orphaned_placeholders.js]
[browser_890262_destroyWidget_after_add_to_panel.js]
[browser_892955_isWidgetRemovable_for_removed_widgets.js]

View File

@ -110,6 +110,7 @@ function checkPalette(id, method) {
}
let otherWin;
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
// Moving widgets in two windows, one with customize mode and one without, should work.
add_task(function MoveWidgetsInTwoWindows() {
@ -138,5 +139,6 @@ add_task(function MoveWidgetsInTwoWindows() {
});
add_task(function asyncCleanup() {
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});
});

View File

@ -4,6 +4,8 @@
"use strict";
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
// Dragging an item from the palette to another button in the panel should work.
add_task(function() {
yield startCustomizing();
@ -62,5 +64,6 @@ add_task(function() {
add_task(function asyncCleanup() {
yield endCustomizing();
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});

View File

@ -4,6 +4,7 @@
"use strict";
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
requestLongerTimeout(5);
// Dragging the zoom controls to be before the print button should not move any controls.
@ -461,5 +462,6 @@ add_task(function() {
add_task(function asyncCleanup() {
yield endCustomizing();
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});

View File

@ -1,44 +0,0 @@
/* 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/. */
"use strict";
const kTestToolbarId = "test-empty-drag";
// Attempting to switch quickly from one tab to another to see whether the state changes
// correctly.
add_task(function CheckBasicCustomizeMode() {
yield startCustomizing();
ok(CustomizationHandler.isCustomizing(), "We should be in customize mode");
yield endCustomizing();
ok(!CustomizationHandler.isCustomizing(), "We should not be in customize mode");
});
add_task(function CheckQuickCustomizeModeSwitch() {
let tab1 = gBrowser.addTab("about:newtab");
gBrowser.selectedTab = tab1;
let tab2 = gBrowser.addTab("about:customizing");
let tab3 = gBrowser.addTab("about:newtab");
gBrowser.selectedTab = tab2;
try {
yield waitForCondition(() => CustomizationHandler.isEnteringCustomizeMode);
} catch (ex) {
Cu.reportError(ex);
}
ok(CustomizationHandler.isEnteringCustomizeMode, "Should be entering customize mode");
gBrowser.selectedTab = tab3;
try {
yield waitForCondition(() => !CustomizationHandler.isEnteringCustomizeMode && !CustomizationHandler.isCustomizing());
} catch (ex) {
Cu.reportError(ex);
}
ok(!CustomizationHandler.isCustomizing(), "Should not be entering customize mode");
gBrowser.removeTab(tab1);
gBrowser.removeTab(tab2);
gBrowser.removeTab(tab3);
});
add_task(function asyncCleanup() {
yield endCustomizing();
});

View File

@ -4,6 +4,8 @@
"use strict";
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
// One orphaned item should have two placeholders next to it.
add_task(function() {
yield startCustomizing();
@ -156,6 +158,7 @@ add_task(function() {
add_task(function asyncCleanup() {
yield endCustomizing();
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});

View File

@ -7,6 +7,8 @@
let navbar;
let skippedItem;
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
// Attempting to drag a skipintoolbarset item should work.
add_task(function() {
navbar = document.getElementById("nav-bar");
@ -33,5 +35,6 @@ add_task(function() {
add_task(function asyncCleanup() {
yield endCustomizing();
skippedItem.remove();
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});

View File

@ -4,6 +4,8 @@
"use strict";
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
// Customize mode reset button should revert correctly
add_task(function() {
yield startCustomizing();
@ -21,5 +23,6 @@ add_task(function() {
});
add_task(function asyncCleanup() {
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});

View File

@ -5,6 +5,7 @@
"use strict";
const kTestToolbarId = "test-empty-drag";
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
// Attempting to drag an item to an empty container should work.
add_task(function() {
@ -22,5 +23,6 @@ add_task(function() {
add_task(function asyncCleanup() {
yield endCustomizing();
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});

View File

@ -4,6 +4,8 @@
"use strict";
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
// Attempting to drag the menubar to the navbar shouldn't work.
add_task(function() {
yield startCustomizing();
@ -21,5 +23,6 @@ add_task(function() {
add_task(function asyncCleanup() {
yield endCustomizing();
Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck");
yield resetCustomization();
});

View File

@ -14,9 +14,6 @@ let ChromeUtils = {};
let scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader);
scriptLoader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/ChromeUtils.js", ChromeUtils);
Services.prefs.setBoolPref("browser.uiCustomization.skipSourceNodeCheck", true);
registerCleanupFunction(() => Services.prefs.clearUserPref("browser.uiCustomization.skipSourceNodeCheck"));
let {synthesizeDragStart, synthesizeDrop} = ChromeUtils;
const kNSXUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";