mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1079656 - Make the Loop Account menu item work after a restart. r=jaws
--HG-- extra : rebase_source : 2eaec891d86c1920fd25eac99c6126f9308f8d2a
This commit is contained in:
parent
14683bb09e
commit
04a1f030be
@ -1605,11 +1605,21 @@ this.MozLoopService = {
|
||||
MozLoopServiceInternal.clearError("profile");
|
||||
}),
|
||||
|
||||
openFxASettings: function() {
|
||||
let url = new URL("/settings", gFxAOAuthClient.parameters.content_uri);
|
||||
let win = Services.wm.getMostRecentWindow("navigator:browser");
|
||||
win.switchToTabHavingURI(url.toString(), true);
|
||||
},
|
||||
openFxASettings: Task.async(function() {
|
||||
try {
|
||||
let fxAOAuthClient = yield MozLoopServiceInternal.promiseFxAOAuthClient();
|
||||
if (!fxAOAuthClient) {
|
||||
log.error("Could not get the OAuth client");
|
||||
return;
|
||||
}
|
||||
|
||||
let url = new URL("/settings", fxAOAuthClient.parameters.content_uri);
|
||||
let win = Services.wm.getMostRecentWindow("navigator:browser");
|
||||
win.switchToTabHavingURI(url.toString(), true);
|
||||
} catch (ex) {
|
||||
log.error("Error opening FxA settings", ex);
|
||||
}
|
||||
}),
|
||||
|
||||
/**
|
||||
* Performs a hawk based request to the loop server.
|
||||
|
@ -391,3 +391,41 @@ add_task(function* loginWithRegistration401() {
|
||||
|
||||
yield checkFxA401();
|
||||
});
|
||||
|
||||
add_task(function* openFxASettings() {
|
||||
yield resetFxA();
|
||||
|
||||
// Since the default b-c window has a blank tab, open a new non-blank tab to
|
||||
// force switchToTabHavingURI to open a new tab instead of reusing the current
|
||||
// blank tab.
|
||||
gBrowser.selectedTab = gBrowser.addTab(BASE_URL);
|
||||
|
||||
let params = {
|
||||
client_id: "client_id",
|
||||
content_uri: BASE_URL + "/content",
|
||||
oauth_uri: BASE_URL + "/oauth",
|
||||
profile_uri: BASE_URL + "/profile",
|
||||
state: "state",
|
||||
test_error: "token_401",
|
||||
};
|
||||
yield promiseOAuthParamsSetup(BASE_URL, params);
|
||||
|
||||
let deferredTab = Promise.defer();
|
||||
let progressListener = {
|
||||
onLocationChange: function onLocationChange(aBrowser) {
|
||||
gBrowser.removeTabsProgressListener(progressListener);
|
||||
let contentURI = Services.io.newURI(params.content_uri, null, null);
|
||||
is(aBrowser.currentURI.spec, Services.io.newURI("/settings", null, contentURI).spec,
|
||||
"Check settings tab URL");
|
||||
deferredTab.resolve();
|
||||
},
|
||||
};
|
||||
gBrowser.addTabsProgressListener(progressListener);
|
||||
|
||||
MozLoopService.openFxASettings();
|
||||
|
||||
yield deferredTab.promise;
|
||||
while (gBrowser.tabs.length > 1) {
|
||||
gBrowser.removeTab(gBrowser.tabs[1]);
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user