Bug 1319107 fix default value for getRedirectURL, r?kmag
MozReview-Commit-ID: Iv4rgaSOTJz
--- a/toolkit/components/extensions/schemas/identity.json
+++ b/toolkit/components/extensions/schemas/identity.json
@@ -182,16 +182,17 @@
{
"name": "getRedirectURL",
"type": "function",
"description": "Generates a redirect URL to be used in |launchWebAuthFlow|.",
"parameters": [
{
"name": " path",
"type": "string",
+ "default": "",
"optional": true,
"description": "The path appended to the end of the generated URL. "
}
],
"returns": {
"string": "path"
}
}
--- a/toolkit/components/extensions/test/mochitest/test_chrome_ext_identity.html
+++ b/toolkit/components/extensions/test/mochitest/test_chrome_ext_identity.html
@@ -31,16 +31,52 @@ add_task(function* test_noPermission() {
yield extension.startup();
yield extension.awaitMessage("done");
yield extension.unload();
});
add_task(function* test_badAuthURI() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
+ "applications": {
+ "gecko": {
+ "id": "identity@mozilla.org",
+ },
+ },
+ "permissions": [
+ "identity",
+ "https://example.com/",
+ ],
+ },
+ async background() {
+ let redirect_base = "https://35b64b676900f491c00e7f618d43f7040e88422e.example.com/";
+ await browser.test.assertEq(redirect_base,
+ browser.identity.getRedirectURL(),
+ "redirect url ok");
+ await browser.test.assertEq(redirect_base,
+ browser.identity.getRedirectURL(""),
+ "redirect url ok");
+ await browser.test.assertEq(redirect_base + "foobar",
+ browser.identity.getRedirectURL("foobar"),
+ "redirect url ok");
+ await browser.test.assertEq(redirect_base + "callback",
+ browser.identity.getRedirectURL("/callback"),
+ "redirect url ok");
+ browser.test.sendMessage("done");
+ },
+ });
+
+ yield extension.startup();
+ yield extension.awaitMessage("done");
+ yield extension.unload();
+});
+
+add_task(function* test_badAuthURI() {
+ let extension = ExtensionTestUtils.loadExtension({
+ manifest: {
"permissions": [
"identity",
"https://example.com/",
],
},
async background() {
await browser.test.assertRejects(browser.identity.launchWebAuthFlow({interactive: true, url: "foobar"}),
"details.url is invalid", "invalid param url");