bug 1354342 allow a relativeUrl for homepage r?mixedpuppy draft
authorAndy McKay <amckay@mozilla.com>
Fri, 07 Apr 2017 09:14:08 -0700
changeset 558402 b5b882a5042d6de613198a6a9c247444d17c588f
parent 557546 422bd63b18bc5b11482255aaaef1826285309233
child 623202 45d92bb51b5e927b5d0f31c36d958e98b4575f76
push id52880
push userbmo:amckay@mozilla.com
push dateFri, 07 Apr 2017 16:15:02 +0000
reviewersmixedpuppy
bugs1354342
milestone55.0a1
bug 1354342 allow a relativeUrl for homepage r?mixedpuppy MozReview-Commit-ID: 86V6vFjO66C
browser/components/extensions/schemas/chrome_settings_overrides.json
browser/components/extensions/test/browser/browser_ext_url_overrides_home.js
--- a/browser/components/extensions/schemas/chrome_settings_overrides.json
+++ b/browser/components/extensions/schemas/chrome_settings_overrides.json
@@ -7,19 +7,19 @@
         "properties": {
           "chrome_settings_overrides": {
             "type": "object",
             "optional": true,
             "additionalProperties": { "$ref": "UnrecognizedProperty" },
             "properties": {
               "homepage": {
                 "type": "string",
-                "format": "url",
+                "format": "relativeUrl",
                 "optional": true,
                 "preprocess": "localize"
               }
             }
           }
         }
       }
     ]
   }
-]
\ No newline at end of file
+]
--- a/browser/components/extensions/test/browser/browser_ext_url_overrides_home.js
+++ b/browser/components/extensions/test/browser/browser_ext_url_overrides_home.js
@@ -177,8 +177,25 @@ add_task(function* test_disable() {
 
   prefPromise = promisePrefChangeObserved("browser.startup.homepage");
   yield ext1.unload();
   yield prefPromise;
 
   is(Preferences.get("browser.startup.homepage"), defaultHomePage,
      "Home url should be the default");
 });
+
+add_task(function* test_local() {
+  let ext1 = ExtensionTestUtils.loadExtension({
+    manifest: {"chrome_settings_overrides": {"homepage": "home.html"}},
+    useAddonManager: "temporary",
+  });
+
+  let prefPromise = promisePrefChangeObserved("browser.startup.homepage");
+  yield ext1.startup();
+  yield prefPromise;
+
+  let homepage = Preferences.get("browser.startup.homepage");
+  ok((homepage.startsWith("moz-extension") && homepage.endsWith("home.html")),
+     "Home url should be relative to extension.");
+
+  yield ext1.unload();
+});