зеркало из https://github.com/mozilla/gecko-dev.git
Bug 601442 - Support the extensions.getAddons.showPane pref again in the Add-ons Manager UI. r=bmcbride
This commit is contained in:
Родитель
6f063ad221
Коммит
7e7dce558a
|
@ -206,3 +206,7 @@ richlistitem:not([selected]) * {
|
||||||
#header-search {
|
#header-search {
|
||||||
width: 22em;
|
width: 22em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.discover-button[disabled="true"] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
|
@ -19,6 +19,8 @@ Cu.import("resource://gre/modules/AddonRepository.jsm");
|
||||||
|
|
||||||
|
|
||||||
const PREF_DISCOVERURL = "extensions.webservice.discoverURL";
|
const PREF_DISCOVERURL = "extensions.webservice.discoverURL";
|
||||||
|
const PREF_DISCOVER_ENABLED = "extensions.getAddons.showPane";
|
||||||
|
const PREF_XPI_ENABLED = "xpinstall.enabled";
|
||||||
const PREF_MAXRESULTS = "extensions.getAddons.maxResults";
|
const PREF_MAXRESULTS = "extensions.getAddons.maxResults";
|
||||||
const PREF_GETADDONS_CACHE_ENABLED = "extensions.getAddons.cache.enabled";
|
const PREF_GETADDONS_CACHE_ENABLED = "extensions.getAddons.cache.enabled";
|
||||||
const PREF_GETADDONS_CACHE_ID_ENABLED = "extensions.%ID%.getAddons.cache.enabled";
|
const PREF_GETADDONS_CACHE_ID_ENABLED = "extensions.%ID%.getAddons.cache.enabled";
|
||||||
|
@ -143,6 +145,23 @@ function loadView(aViewId) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isDiscoverEnabled() {
|
||||||
|
if (Services.prefs.getPrefType(PREF_DISCOVERURL) == Services.prefs.PREF_INVALID)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (!Services.prefs.getBoolPref(PREF_DISCOVER_ENABLED))
|
||||||
|
return false;
|
||||||
|
} catch (e) {}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (!Services.prefs.getBoolPref(PREF_XPI_ENABLED))
|
||||||
|
return false;
|
||||||
|
} catch (e) {}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A wrapper around the HTML5 session history service that allows the browser
|
* A wrapper around the HTML5 session history service that allows the browser
|
||||||
* back/forward controls to work within the manager
|
* back/forward controls to work within the manager
|
||||||
|
@ -1749,8 +1768,8 @@ var gDiscoverView = {
|
||||||
_loadListeners: [],
|
_loadListeners: [],
|
||||||
|
|
||||||
initialize: function gDiscoverView_initialize() {
|
initialize: function gDiscoverView_initialize() {
|
||||||
if (Services.prefs.getPrefType(PREF_DISCOVERURL) == Services.prefs.PREF_INVALID) {
|
this.enabled = isDiscoverEnabled();
|
||||||
this.enabled = false;
|
if (!this.enabled) {
|
||||||
gCategories.get("addons://discover/").hidden = true;
|
gCategories.get("addons://discover/").hidden = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -298,7 +298,9 @@
|
||||||
<spacer class="alert-spacer-before"/>
|
<spacer class="alert-spacer-before"/>
|
||||||
<vbox class="alert">
|
<vbox class="alert">
|
||||||
<label value="&listEmpty.search.label;"/>
|
<label value="&listEmpty.search.label;"/>
|
||||||
<button label="&listEmpty.button.label;"
|
<button class="discover-button"
|
||||||
|
id="discover-button-search"
|
||||||
|
label="&listEmpty.button.label;"
|
||||||
command="cmd_goToDiscoverPane"/>
|
command="cmd_goToDiscoverPane"/>
|
||||||
</vbox>
|
</vbox>
|
||||||
<spacer class="alert-spacer-after"/>
|
<spacer class="alert-spacer-after"/>
|
||||||
|
@ -358,7 +360,9 @@
|
||||||
<spacer class="alert-spacer-before"/>
|
<spacer class="alert-spacer-before"/>
|
||||||
<vbox class="alert">
|
<vbox class="alert">
|
||||||
<label value="&listEmpty.installed.label;"/>
|
<label value="&listEmpty.installed.label;"/>
|
||||||
<button label="&listEmpty.button.label;"
|
<button class="discover-button"
|
||||||
|
id="discover-button-install"
|
||||||
|
label="&listEmpty.button.label;"
|
||||||
command="cmd_goToDiscoverPane"/>
|
command="cmd_goToDiscoverPane"/>
|
||||||
</vbox>
|
</vbox>
|
||||||
<spacer class="alert-spacer-after"/>
|
<spacer class="alert-spacer-after"/>
|
||||||
|
|
|
@ -575,3 +575,48 @@ add_test(function() {
|
||||||
close_manager(gManagerWindow, run_next_test);
|
close_manager(gManagerWindow, run_next_test);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Test for Bug 601442 - extensions.getAddons.showPane need to be update
|
||||||
|
// for the new addon manager.
|
||||||
|
function bug_601442_test_elements(visible) {
|
||||||
|
open_manager("addons://list/extension", function(aWindow) {
|
||||||
|
gManagerWindow = aWindow;
|
||||||
|
gCategoryUtilities = new CategoryUtilities(gManagerWindow);
|
||||||
|
if(visible)
|
||||||
|
ok(gCategoryUtilities.isTypeVisible("discover"), "Discover category should be visible");
|
||||||
|
else
|
||||||
|
ok(!gCategoryUtilities.isTypeVisible("discover"), "Discover category should not be visible");
|
||||||
|
|
||||||
|
gManagerWindow.loadView("addons://list/dictionary");
|
||||||
|
wait_for_view_load(gManagerWindow, function(aManager) {
|
||||||
|
var button = aManager.document.getElementById("discover-button-install");
|
||||||
|
if(visible)
|
||||||
|
ok(!is_hidden(button), "Discover button should be visible!");
|
||||||
|
else
|
||||||
|
ok(is_hidden(button), "Discover button should not be visible!");
|
||||||
|
|
||||||
|
close_manager(gManagerWindow, run_next_test);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
add_test(function() {
|
||||||
|
Services.prefs.setBoolPref(PREF_DISCOVER_ENABLED, false);
|
||||||
|
Services.prefs.setBoolPref(PREF_XPI_ENABLED, true);
|
||||||
|
bug_601442_test_elements(false);
|
||||||
|
});
|
||||||
|
add_test(function() {
|
||||||
|
Services.prefs.setBoolPref(PREF_DISCOVER_ENABLED, true);
|
||||||
|
Services.prefs.setBoolPref(PREF_XPI_ENABLED, false);
|
||||||
|
bug_601442_test_elements(false);
|
||||||
|
});
|
||||||
|
add_test(function() {
|
||||||
|
Services.prefs.setBoolPref(PREF_DISCOVER_ENABLED, false);
|
||||||
|
Services.prefs.setBoolPref(PREF_XPI_ENABLED, false);
|
||||||
|
bug_601442_test_elements(false);
|
||||||
|
});
|
||||||
|
add_test(function() {
|
||||||
|
Services.prefs.setBoolPref(PREF_DISCOVER_ENABLED, true);
|
||||||
|
Services.prefs.setBoolPref(PREF_XPI_ENABLED, true);
|
||||||
|
bug_601442_test_elements(true);
|
||||||
|
});
|
||||||
|
|
|
@ -25,6 +25,8 @@ const TESTROOT = "http://example.com/" + RELATIVE_DIR;
|
||||||
const TESTROOT2 = "http://example.org/" + RELATIVE_DIR;
|
const TESTROOT2 = "http://example.org/" + RELATIVE_DIR;
|
||||||
const CHROMEROOT = pathParts.join("/") + "/";
|
const CHROMEROOT = pathParts.join("/") + "/";
|
||||||
const PREF_DISCOVERURL = "extensions.webservice.discoverURL";
|
const PREF_DISCOVERURL = "extensions.webservice.discoverURL";
|
||||||
|
const PREF_DISCOVER_ENABLED = "extensions.getAddons.showPane";
|
||||||
|
const PREF_XPI_ENABLED = "xpinstall.enabled";
|
||||||
const PREF_UPDATEURL = "extensions.update.url";
|
const PREF_UPDATEURL = "extensions.update.url";
|
||||||
const PREF_GETADDONS_CACHE_ENABLED = "extensions.getAddons.cache.enabled";
|
const PREF_GETADDONS_CACHE_ENABLED = "extensions.getAddons.cache.enabled";
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче