Bug 1383009 - fix tests, BrowserUITelemetry and pocket to deal with the changes to the navbar, r?jaws
MozReview-Commit-ID: 9dZI5AI3kvP
--- a/browser/base/content/test/general/browser_bug624734.js
+++ b/browser/base/content/test/general/browser_bug624734.js
@@ -3,27 +3,32 @@
*/
// Bug 624734 - Star UI has no tooltip until bookmarked page is visited
function finishTest() {
is(BookmarkingUI.button.getAttribute("buttontooltiptext"),
BookmarkingUI._unstarredTooltip,
"Star icon should have the unstarred tooltip text");
+ is(BookmarkingUI.star.getAttribute("tooltiptext"),
+ BookmarkingUI._unstarredTooltip,
+ "Star icon should have the unstarred tooltip text");
gBrowser.removeCurrentTab();
finish();
}
function test() {
waitForExplicitFinish();
let tab = gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
+ CustomizableUI.addWidgetToArea("bookmarks-menu-button", CustomizableUI.AREA_NAVBAR, 0);
BrowserTestUtils.browserLoaded(tab.linkedBrowser).then(() => {
if (BookmarkingUI.status == BookmarkingUI.STATUS_UPDATING) {
waitForCondition(() => BookmarkingUI.status != BookmarkingUI.STATUS_UPDATING, finishTest, "BookmarkingUI was updating for too long");
} else {
+ CustomizableUI.removeWidgetFromArea("bookmarks-menu-button");
finishTest();
}
});
tab.linkedBrowser.loadURI("http://example.com/browser/browser/base/content/test/general/dummy_page.html");
}
--- a/browser/base/content/test/popupNotifications/browser_popupNotification_no_anchors.js
+++ b/browser/base/content/test/popupNotifications/browser_popupNotification_no_anchors.js
@@ -85,17 +85,17 @@ var tests = [
is(document.getElementById("geo-notification-icon").boxObject.width, 0,
"geo anchor shouldn't be visible");
await promiseTabLoadEvent(gBrowser.selectedTab, "http://example.com/");
isnot(document.getElementById("geo-notification-icon").boxObject.width, 0,
"geo anchor should be visible");
- EventUtils.synthesizeMouse(document.getElementById("geo-notification-icon"), 0, 0, {});
+ EventUtils.synthesizeMouse(document.getElementById("geo-notification-icon"), 2, 2, {});
},
onShown(popup) {
checkPopup(popup, this.notifyObj);
dismissNotification(popup);
},
onHidden(popup) {
this.notification.remove();
gBrowser.removeTab(gBrowser.selectedTab);
--- a/browser/components/uitour/test/browser_UITour.js
+++ b/browser/components/uitour/test/browser_UITour.js
@@ -13,16 +13,18 @@ Components.utils.import("resource://gre/
function test() {
UITourTest();
}
var tests = [
function test_untrusted_host(done) {
loadUITourTestPage(function() {
+ CustomizableUI.addWidgetToArea("bookmarks-menu-button", CustomizableUI.AREA_NAVBAR, 0);
+ registerCleanupFunction(() => CustomizableUI.removeWidgetFromArea("bookmarks-menu-button"));
let bookmarksMenu = document.getElementById("bookmarks-menu-button");
is(bookmarksMenu.open, false, "Bookmark menu should initially be closed");
gContentAPI.showMenu("bookmarks");
is(bookmarksMenu.open, false, "Bookmark menu should not open on a untrusted host");
done();
}, "http://mochi.test:8888/");
--- a/browser/components/uitour/test/browser_UITour2.js
+++ b/browser/components/uitour/test/browser_UITour2.js
@@ -65,16 +65,19 @@ var tests = [
gContentAPI.hideMenu("appMenu");
}, "Info should move to the appMenu button");
});
}, "Info should be shown after showInfo() for fixed menu panel items");
});
}).catch(Components.utils.reportError);
},
taskify(async function test_bookmarks_menu() {
+ CustomizableUI.addWidgetToArea("bookmarks-menu-button", CustomizableUI.AREA_NAVBAR, 0);
+ registerCleanupFunction(() => CustomizableUI.removeWidgetFromArea("bookmarks-menu-button"));
+
let bookmarksMenuButton = document.getElementById("bookmarks-menu-button");
is(bookmarksMenuButton.open, false, "Menu should initially be closed");
gContentAPI.showMenu("bookmarks");
await waitForConditionPromise(() => {
return bookmarksMenuButton.open;
}, "Menu should be visible after showMenu()");
--- a/browser/components/uitour/test/browser_UITour_availableTargets.js
+++ b/browser/components/uitour/test/browser_UITour_availableTargets.js
@@ -10,17 +10,16 @@ var hasQuit = AppConstants.platform != "
requestLongerTimeout(2);
function getExpectedTargets() {
return [
"accountStatus",
"addons",
"appMenu",
"backForward",
- "bookmarks",
"bookmark-star-button",
"customize",
"devtools",
"help",
"home",
"library",
"pageActionButton",
"pageAction-panel-bookmark",
@@ -45,22 +44,22 @@ add_UITour_task(async function test_avai
let expecteds = getExpectedTargets();
ok_targets(data, expecteds);
ok(UITour.availableTargetsCache.has(window),
"Targets should now be cached");
});
add_UITour_task(async function test_availableTargets_changeWidgets() {
- CustomizableUI.removeWidgetFromArea("bookmarks-menu-button");
+ CustomizableUI.addWidgetToArea("bookmarks-menu-button", CustomizableUI.AREA_NAVBAR, 0);
ok(!UITour.availableTargetsCache.has(window),
"Targets should be evicted from cache after widget change");
let data = await getConfigurationPromise("availableTargets");
let expecteds = getExpectedTargets();
- expecteds = expecteds.filter(target => target != "bookmarks");
+ expecteds = ["bookmarks", ...expecteds];
ok_targets(data, expecteds);
ok(UITour.availableTargetsCache.has(window),
"Targets should now be cached again");
CustomizableUI.reset();
ok(!UITour.availableTargetsCache.has(window),
"Targets should not be cached after reset");
});
--- a/browser/extensions/pocket/bootstrap.js
+++ b/browser/extensions/pocket/bootstrap.js
@@ -400,17 +400,18 @@ var PocketOverlay = {
CustomizableUI.removeListener(this);
CustomizableUI.destroyWidget("pocket-button");
}
for (let window of browserWindows()) {
for (let id of ["panelMenu_pocket", "menu_pocket", "BMB_pocket",
"panelMenu_pocketSeparator", "menu_pocketSeparator",
"BMB_pocketSeparator", "appMenu-library-pocket-button"]) {
- let element = window.document.getElementById(id);
+ let element = window.document.getElementById(id) ||
+ window.gNavToolbox.palette.querySelector("#" + id);
if (element)
element.remove();
}
this.removeStyles(window);
// remove script getters/objects
delete window.Pocket;
delete window.pktApi;
delete window.pktUI;
@@ -460,17 +461,20 @@ var PocketOverlay = {
"hidden": hidden
});
sib.parentNode.insertBefore(menu, sib);
sib.parentNode.insertBefore(sep, sib);
}
// add to bookmarks-menu-button
sib = document.getElementById("BMB_bookmarksToolbar");
- if (sib && !document.getElementById("BMB_pocket")) {
+ if (!sib) {
+ sib = window.gNavToolbox.palette.querySelector("#BMB_bookmarksToolbar");
+ }
+ if (sib && !sib.parentNode.querySelector("#BMB_pocket")) {
let menu = createElementWithAttrs(document, "menuitem", {
"id": "BMB_pocket",
"label": gPocketBundle.GetStringFromName("pocketMenuitem.label"),
"class": "menuitem-iconic bookmark-item subviewbutton",
"oncommand": "openUILink(Pocket.listURL, event);",
"hidden": hidden
});
let sep = createElementWithAttrs(document, "menuseparator", {
--- a/browser/extensions/pocket/test/browser_pocket_ui_check.js
+++ b/browser/extensions/pocket/test/browser_pocket_ui_check.js
@@ -2,17 +2,18 @@
function checkWindowProperties(expectPresent, l) {
for (let name of l) {
is(!!window.hasOwnProperty(name), expectPresent, "property " + name + (expectPresent ? " is" : " is not") + " present");
}
}
function checkElements(expectPresent, l) {
for (let id of l) {
- is(!!document.getElementById(id), expectPresent, "element " + id + (expectPresent ? " is" : " is not") + " present");
+ let el = document.getElementById(id) || gNavToolbox.palette.querySelector("#" + id);
+ is(!!el, expectPresent, "element " + id + (expectPresent ? " is" : " is not") + " present");
}
}
add_task(async function test_setup() {
let clearValue = Services.prefs.prefHasUserValue("extensions.pocket.enabled");
let enabledOnStartup = Services.prefs.getBoolPref("extensions.pocket.enabled");
registerCleanupFunction(() => {
if (clearValue) {
--- a/browser/modules/BrowserUITelemetry.jsm
+++ b/browser/modules/BrowserUITelemetry.jsm
@@ -51,18 +51,18 @@ XPCOMUtils.defineLazyGetter(this, "DEFAU
let result = {
"nav-bar": [
"back-button",
"forward-button",
"stop-reload-button",
"home-button",
"urlbar-container",
"search-container",
- "bookmarks-menu-button",
"downloads-button",
+ "library-button",
"sidebar-button",
],
// It's true that toolbar-menubar is not visible
// on OS X, but the XUL node is definitely present
// in the document.
"toolbar-menubar": [
"menubar-items",
],
@@ -82,16 +82,17 @@ XPCOMUtils.defineLazyGetter(this, "DEFAU
});
XPCOMUtils.defineLazyGetter(this, "DEFAULT_AREAS", function() {
return Object.keys(DEFAULT_AREA_PLACEMENTS);
});
XPCOMUtils.defineLazyGetter(this, "PALETTE_ITEMS", function() {
let result = [
+ "bookmarks-menu-button",
"open-file-button",
"developer-button",
"feed-button",
"email-link-button",
"containers-panelmenu",
...LEGACY_PANEL_PLACEMENTS,
"characterencoding-button",
];