зеркало из https://github.com/mozilla/pjs.git
Bug 574970: Import the skinnable property from install.rdf to the database and expose it through the API. r=robstrong
This commit is contained in:
Родитель
474f6d4299
Коммит
6d346ce042
|
@ -23,20 +23,13 @@
|
||||||
<em:name>Default</em:name>
|
<em:name>Default</em:name>
|
||||||
<em:description>The default theme.</em:description>
|
<em:description>The default theme.</em:description>
|
||||||
|
|
||||||
<!-- EXTENSION AUTHORS!
|
|
||||||
DO NOT COPY THIS PROPERTY INTO YOUR INSTALL RDF FILES
|
|
||||||
It will cause users not to be informed of incompatibilities
|
|
||||||
with your extension when they are updated with Software Update
|
|
||||||
and your extension will become unavailable to them!
|
|
||||||
-->
|
|
||||||
<em:appManaged>true</em:appManaged>
|
|
||||||
|
|
||||||
<em:locked>true</em:locked>
|
|
||||||
|
|
||||||
<!-- Front End Integration Hooks (used by Theme Manager)-->
|
<!-- Front End Integration Hooks (used by Theme Manager)-->
|
||||||
<em:creator>Mozilla</em:creator>
|
<em:creator>Mozilla</em:creator>
|
||||||
<em:contributor>Mozilla Contributors</em:contributor>
|
<em:contributor>Mozilla Contributors</em:contributor>
|
||||||
|
|
||||||
|
<!-- Allow lightweight themes to apply to this theme -->
|
||||||
|
<em:skinnable>true</em:skinnable>
|
||||||
|
|
||||||
<em:internalName>classic/1.0</em:internalName>
|
<em:internalName>classic/1.0</em:internalName>
|
||||||
</Description>
|
</Description>
|
||||||
|
|
||||||
|
|
|
@ -20,5 +20,7 @@
|
||||||
</Description>
|
</Description>
|
||||||
</em:targetApplication>
|
</em:targetApplication>
|
||||||
|
|
||||||
|
<em:skinnable>true</em:skinnable>
|
||||||
|
|
||||||
</Description>
|
</Description>
|
||||||
</RDF>
|
</RDF>
|
||||||
|
|
|
@ -355,7 +355,7 @@ function writeInstallRDFToDir(aData, aDir) {
|
||||||
rdf += '<Description about="urn:mozilla:install-manifest">\n';
|
rdf += '<Description about="urn:mozilla:install-manifest">\n';
|
||||||
|
|
||||||
["id", "version", "type", "internalName", "updateURL", "updateKey",
|
["id", "version", "type", "internalName", "updateURL", "updateKey",
|
||||||
"optionsURL", "aboutURL", "iconURL"].forEach(function(aProp) {
|
"optionsURL", "aboutURL", "iconURL", "skinnable"].forEach(function(aProp) {
|
||||||
if (aProp in aData)
|
if (aProp in aData)
|
||||||
rdf += "<em:" + aProp + ">" + escapeXML(aData[aProp]) + "</em:" + aProp + ">\n";
|
rdf += "<em:" + aProp + ">" + escapeXML(aData[aProp]) + "</em:" + aProp + ">\n";
|
||||||
});
|
});
|
||||||
|
|
|
@ -42,6 +42,7 @@ function run_test() {
|
||||||
version: "1.0",
|
version: "1.0",
|
||||||
name: "Test 1",
|
name: "Test 1",
|
||||||
type: 4,
|
type: 4,
|
||||||
|
skinnable: true,
|
||||||
internalName: "theme1/1.0",
|
internalName: "theme1/1.0",
|
||||||
targetApplications: [{
|
targetApplications: [{
|
||||||
id: "xpcshell@tests.mozilla.org",
|
id: "xpcshell@tests.mozilla.org",
|
||||||
|
@ -56,6 +57,7 @@ function run_test() {
|
||||||
id: "theme2@tests.mozilla.org",
|
id: "theme2@tests.mozilla.org",
|
||||||
version: "1.0",
|
version: "1.0",
|
||||||
name: "Test 1",
|
name: "Test 1",
|
||||||
|
skinnable: false,
|
||||||
internalName: "theme2/1.0",
|
internalName: "theme2/1.0",
|
||||||
targetApplications: [{
|
targetApplications: [{
|
||||||
id: "xpcshell@tests.mozilla.org",
|
id: "xpcshell@tests.mozilla.org",
|
||||||
|
@ -88,12 +90,18 @@ function run_test() {
|
||||||
AddonManager.addAddonListener(AddonListener);
|
AddonManager.addAddonListener(AddonListener);
|
||||||
AddonManager.addInstallListener(InstallListener);
|
AddonManager.addInstallListener(InstallListener);
|
||||||
|
|
||||||
AddonManager.getAddonsByIDs(["theme1@tests.mozilla.org",
|
AddonManager.getAddonsByIDs(["default@tests.mozilla.org",
|
||||||
"theme2@tests.mozilla.org"], function([t1, t2]) {
|
"theme1@tests.mozilla.org",
|
||||||
|
"theme2@tests.mozilla.org"],
|
||||||
|
function([d, t1, t2]) {
|
||||||
|
do_check_neq(d, null);
|
||||||
|
do_check_false(d.skinnable);
|
||||||
|
|
||||||
do_check_neq(t1, null);
|
do_check_neq(t1, null);
|
||||||
do_check_false(t1.userDisabled);
|
do_check_false(t1.userDisabled);
|
||||||
do_check_false(t1.appDisabled);
|
do_check_false(t1.appDisabled);
|
||||||
do_check_true(t1.isActive);
|
do_check_true(t1.isActive);
|
||||||
|
do_check_true(t1.skinnable);
|
||||||
do_check_eq(t1.screenshots.length, 0);
|
do_check_eq(t1.screenshots.length, 0);
|
||||||
do_check_true(isThemeInAddonsList(profileDir, t1.id));
|
do_check_true(isThemeInAddonsList(profileDir, t1.id));
|
||||||
do_check_false(hasFlag(t1.permissions, AddonManager.PERM_CAN_DISABLE));
|
do_check_false(hasFlag(t1.permissions, AddonManager.PERM_CAN_DISABLE));
|
||||||
|
@ -103,6 +111,7 @@ function run_test() {
|
||||||
do_check_true(t2.userDisabled);
|
do_check_true(t2.userDisabled);
|
||||||
do_check_false(t2.appDisabled);
|
do_check_false(t2.appDisabled);
|
||||||
do_check_false(t2.isActive);
|
do_check_false(t2.isActive);
|
||||||
|
do_check_false(t2.skinnable);
|
||||||
do_check_eq(t2.screenshots.length, 0);
|
do_check_eq(t2.screenshots.length, 0);
|
||||||
do_check_false(isThemeInAddonsList(profileDir, t2.id));
|
do_check_false(isThemeInAddonsList(profileDir, t2.id));
|
||||||
do_check_false(hasFlag(t2.permissions, AddonManager.PERM_CAN_DISABLE));
|
do_check_false(hasFlag(t2.permissions, AddonManager.PERM_CAN_DISABLE));
|
||||||
|
@ -643,6 +652,7 @@ function run_test_11() {
|
||||||
do_check_eq(install.version, "1.0");
|
do_check_eq(install.version, "1.0");
|
||||||
do_check_eq(install.name, "Test Theme 1");
|
do_check_eq(install.name, "Test Theme 1");
|
||||||
do_check_eq(install.state, AddonManager.STATE_DOWNLOADED);
|
do_check_eq(install.state, AddonManager.STATE_DOWNLOADED);
|
||||||
|
do_check_true(install.addon.skinnable, true);
|
||||||
|
|
||||||
prepare_test({
|
prepare_test({
|
||||||
"theme1@tests.mozilla.org": [
|
"theme1@tests.mozilla.org": [
|
||||||
|
@ -665,6 +675,7 @@ function check_test_11() {
|
||||||
preview.append("preview.png");
|
preview.append("preview.png");
|
||||||
do_check_eq(t1.screenshots.length, 1);
|
do_check_eq(t1.screenshots.length, 1);
|
||||||
do_check_eq(t1.screenshots[0], NetUtil.newURI(preview).spec);
|
do_check_eq(t1.screenshots[0], NetUtil.newURI(preview).spec);
|
||||||
|
do_check_true(t1.skinnable);
|
||||||
do_check_false(gLWThemeChanged);
|
do_check_false(gLWThemeChanged);
|
||||||
|
|
||||||
run_test_12();
|
run_test_12();
|
||||||
|
|
Загрузка…
Ссылка в новой задаче