bug 1354342 allow a relativeUrl for homepage r?mixedpuppy
MozReview-Commit-ID: 86V6vFjO66C
--- 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();
+});