зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1354738 - Don't force Sync initialization on context menu open. r=markh
MozReview-Commit-ID: JBwGTW9nLSl --HG-- extra : rebase_source : 159adab098b4f21a7128ae78a4e25ac6876479e6
This commit is contained in:
Родитель
f075e911e0
Коммит
a743c966f7
|
@ -65,10 +65,7 @@ var gFxAccounts = {
|
|||
get loginFailed() {
|
||||
// Referencing Weave.Service will implicitly initialize sync, and we don't
|
||||
// want to force that - so first check if it is ready.
|
||||
let service = Cc["@mozilla.org/weave/service;1"]
|
||||
.getService(Components.interfaces.nsISupports)
|
||||
.wrappedJSObject;
|
||||
if (!service.ready) {
|
||||
if (!this.weaveService.ready) {
|
||||
return false;
|
||||
}
|
||||
// LOGIN_FAILED_LOGIN_REJECTED explicitly means "you must log back in".
|
||||
|
@ -376,7 +373,8 @@ var gFxAccounts = {
|
|||
},
|
||||
|
||||
updateTabContextMenu(aPopupMenu, aTargetTab) {
|
||||
if (!this.sendTabToDeviceEnabled) {
|
||||
if (!this.sendTabToDeviceEnabled ||
|
||||
!this.weaveService.ready) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -388,7 +386,8 @@ var gFxAccounts = {
|
|||
},
|
||||
|
||||
initPageContextMenu(contextMenu) {
|
||||
if (!this.sendTabToDeviceEnabled) {
|
||||
if (!this.sendTabToDeviceEnabled ||
|
||||
!this.weaveService.ready) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -422,3 +421,10 @@ XPCOMUtils.defineLazyGetter(gFxAccounts, "FxAccountsCommon", function() {
|
|||
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "EnsureFxAccountsWebChannel",
|
||||
"resource://gre/modules/FxAccountsWebChannel.jsm");
|
||||
|
||||
|
||||
XPCOMUtils.defineLazyGetter(gFxAccounts, "weaveService", function() {
|
||||
return Components.classes["@mozilla.org/weave/service;1"]
|
||||
.getService(Components.interfaces.nsISupports)
|
||||
.wrappedJSObject;
|
||||
});
|
||||
|
|
|
@ -896,6 +896,7 @@ add_task(function* test_plaintext_sendpagetodevice() {
|
|||
if (!gFxAccounts.sendTabToDeviceEnabled) {
|
||||
return;
|
||||
}
|
||||
yield ensureSyncReady();
|
||||
const oldGetter = setupRemoteClientsFixture(remoteClientsFixture);
|
||||
|
||||
let plainTextItemsWithSendPage =
|
||||
|
@ -933,6 +934,7 @@ add_task(function* test_link_sendlinktodevice() {
|
|||
if (!gFxAccounts.sendTabToDeviceEnabled) {
|
||||
return;
|
||||
}
|
||||
yield ensureSyncReady();
|
||||
const oldGetter = setupRemoteClientsFixture(remoteClientsFixture);
|
||||
|
||||
yield test_contextmenu("#test-link",
|
||||
|
@ -990,3 +992,10 @@ function* selectText(selector) {
|
|||
win.getSelection().addRange(div);
|
||||
});
|
||||
}
|
||||
|
||||
function ensureSyncReady() {
|
||||
let service = Cc["@mozilla.org/weave/service;1"]
|
||||
.getService(Components.interfaces.nsISupports)
|
||||
.wrappedJSObject;
|
||||
return service.whenLoaded();
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ add_task(function* test() {
|
|||
const origIsSendableURI = gFxAccounts.isSendableURI;
|
||||
gFxAccounts.isSendableURI = () => true;
|
||||
// Check the send tab to device menu item
|
||||
yield ensureSyncReady();
|
||||
const oldGetter = setupRemoteClientsFixture(remoteClientsFixture);
|
||||
yield updateTabContextMenu(origTab, function* () {
|
||||
yield openMenuItemSubmenu("context_sendTabToDevice");
|
||||
|
@ -76,3 +77,10 @@ add_task(function* test() {
|
|||
gBrowser.removeTab(pinned);
|
||||
});
|
||||
|
||||
function ensureSyncReady() {
|
||||
let service = Cc["@mozilla.org/weave/service;1"]
|
||||
.getService(Components.interfaces.nsISupports)
|
||||
.wrappedJSObject;
|
||||
return service.whenLoaded();
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче