mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 01:35:35 +00:00
Backed out changeset 9ab9bde4021f (bug 1397744) for failing browser-chrome's browser/components/customizableui/test/browser_synced_tabs_menu.js. r=backout
This commit is contained in:
parent
27e4a543cc
commit
6c9c0c17e9
@ -524,7 +524,6 @@ var gSync = {
|
||||
}
|
||||
const state = UIState.get();
|
||||
if (state.status == UIState.STATUS_SIGNED_IN) {
|
||||
this.updateSyncStatus({ syncing: true });
|
||||
setTimeout(() => Weave.Service.errorHandler.syncAndReportErrors(), 0);
|
||||
}
|
||||
},
|
||||
|
@ -7,7 +7,6 @@
|
||||
requestLongerTimeout(2);
|
||||
|
||||
let {SyncedTabs} = Cu.import("resource://services-sync/SyncedTabs.jsm", {});
|
||||
Cu.import("resource://services-sync/UIState.jsm");
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "UITour", "resource:///modules/UITour.jsm");
|
||||
|
||||
@ -43,16 +42,18 @@ add_task(async function setup() {
|
||||
let oldInternal = SyncedTabs._internal;
|
||||
SyncedTabs._internal = mockedInternal;
|
||||
|
||||
let origNotifyStateUpdated = UIState._internal.notifyStateUpdated;
|
||||
// Sync start-up will interfere with our tests, don't let UIState send UI updates.
|
||||
UIState._internal.notifyStateUpdated = () => {};
|
||||
|
||||
// Force gSync initialization
|
||||
gSync.init();
|
||||
// This test hacks some observer states to simulate a user being signed
|
||||
// in to Sync - restore them when the test completes.
|
||||
let initialObserverStates = {};
|
||||
for (let id of ["sync-reauth-state", "sync-setup-state", "sync-syncnow-state"]) {
|
||||
initialObserverStates[id] = document.getElementById(id).hidden;
|
||||
}
|
||||
|
||||
registerCleanupFunction(() => {
|
||||
UIState._internal.notifyStateUpdated = origNotifyStateUpdated;
|
||||
SyncedTabs._internal = oldInternal;
|
||||
for (let [id, initial] of Object.entries(initialObserverStates)) {
|
||||
document.getElementById(id).hidden = initial;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@ -134,14 +135,19 @@ async function asyncCleanup() {
|
||||
|
||||
// When Sync is not setup.
|
||||
add_task(async function() {
|
||||
gSync.updateAllUI({ status: UIState.STATUS_NOT_CONFIGURED });
|
||||
await openPrefsFromMenuPanel("PanelUI-remotetabs-setupsync", "synced-tabs");
|
||||
document.getElementById("sync-reauth-state").hidden = true;
|
||||
document.getElementById("sync-setup-state").hidden = false;
|
||||
document.getElementById("sync-syncnow-state").hidden = true;
|
||||
await openPrefsFromMenuPanel("PanelUI-remotetabs-setupsync", "synced-tabs")
|
||||
});
|
||||
add_task(asyncCleanup);
|
||||
|
||||
// When Sync is configured in a "needs reauthentication" state.
|
||||
add_task(async function() {
|
||||
gSync.updateAllUI({ status: UIState.STATUS_LOGIN_FAILED, email: "foo@bar.com" });
|
||||
// configure our broadcasters so we are in the right state.
|
||||
document.getElementById("sync-reauth-state").hidden = false;
|
||||
document.getElementById("sync-setup-state").hidden = true;
|
||||
document.getElementById("sync-syncnow-state").hidden = true;
|
||||
await openPrefsFromMenuPanel("PanelUI-remotetabs-reauthsync", "synced-tabs")
|
||||
});
|
||||
|
||||
@ -151,7 +157,9 @@ add_task(async function() {
|
||||
Services.prefs.setCharPref("identity.mobilepromo.android", "http://example.com/?os=android&tail=");
|
||||
Services.prefs.setCharPref("identity.mobilepromo.ios", "http://example.com/?os=ios&tail=");
|
||||
|
||||
gSync.updateAllUI({ status: UIState.STATUS_SIGNED_IN, email: "foo@bar.com" });
|
||||
document.getElementById("sync-reauth-state").hidden = true;
|
||||
document.getElementById("sync-setup-state").hidden = true;
|
||||
document.getElementById("sync-syncnow-state").hidden = false;
|
||||
|
||||
let syncPanel = document.getElementById("PanelUI-remotetabs");
|
||||
let links = syncPanel.querySelectorAll(".remotetabs-promo-link");
|
||||
@ -202,7 +210,10 @@ add_task(async function() {
|
||||
|
||||
// Test the "Sync Now" button
|
||||
add_task(async function() {
|
||||
gSync.updateAllUI({ status: UIState.STATUS_SIGNED_IN, email: "foo@bar.com" });
|
||||
// configure our broadcasters so we are in the right state.
|
||||
document.getElementById("sync-reauth-state").hidden = true;
|
||||
document.getElementById("sync-setup-state").hidden = true;
|
||||
document.getElementById("sync-syncnow-state").hidden = false;
|
||||
|
||||
await document.getElementById("nav-bar").overflowable.show();
|
||||
let tabsUpdatedPromise = promiseObserverNotified("synced-tabs-menu:test:tabs-updated");
|
||||
@ -221,11 +232,22 @@ add_task(async function() {
|
||||
// provides them
|
||||
is(deck.selectedIndex, DECKINDEX_FETCHING, "first deck entry is visible");
|
||||
|
||||
let syncNowButton = document.getElementById("PanelUI-remotetabs-syncnow");
|
||||
|
||||
let didSync = false;
|
||||
let oldDoSync = gSync.doSync;
|
||||
gSync.doSync = function() {
|
||||
didSync = true;
|
||||
mockedInternal.hasSyncedThisSession = true;
|
||||
gSync.doSync = oldDoSync;
|
||||
}
|
||||
syncNowButton.click();
|
||||
ok(didSync, "clicking the button called the correct function");
|
||||
|
||||
// Tell the widget there are tabs available, but with zero clients.
|
||||
mockedInternal.getTabClients = () => {
|
||||
return Promise.resolve([]);
|
||||
}
|
||||
mockedInternal.hasSyncedThisSession = true;
|
||||
await updateTabsPanel();
|
||||
// The UI should be showing the "no clients" pane.
|
||||
is(deck.selectedIndex, DECKINDEX_NOCLIENTS, "no-clients deck entry is visible");
|
||||
@ -327,18 +349,6 @@ add_task(async function() {
|
||||
node = node.nextSibling;
|
||||
is(node, null, "no more entries");
|
||||
|
||||
let didSync = false;
|
||||
let oldDoSync = gSync.doSync;
|
||||
gSync.doSync = function() {
|
||||
didSync = true;
|
||||
gSync.doSync = oldDoSync;
|
||||
}
|
||||
|
||||
let syncNowButton = document.getElementById("PanelUI-remotetabs-syncnow");
|
||||
is(syncNowButton.disabled, false);
|
||||
syncNowButton.click();
|
||||
ok(didSync, "clicking the button called the correct function");
|
||||
|
||||
await hideOverflow();
|
||||
});
|
||||
|
||||
@ -365,7 +375,10 @@ add_task(async function() {
|
||||
]);
|
||||
};
|
||||
|
||||
gSync.updateAllUI({ status: UIState.STATUS_SIGNED_IN, email: "foo@bar.com" });
|
||||
// configure our broadcasters so we are in the right state.
|
||||
document.getElementById("sync-reauth-state").hidden = true;
|
||||
document.getElementById("sync-setup-state").hidden = true;
|
||||
document.getElementById("sync-syncnow-state").hidden = false;
|
||||
|
||||
await document.getElementById("nav-bar").overflowable.show();
|
||||
let tabsUpdatedPromise = promiseObserverNotified("synced-tabs-menu:test:tabs-updated");
|
||||
|
Loading…
Reference in New Issue
Block a user