summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation
diff options
context:
space:
mode:
authordennisjeffrey@chromium.org <dennisjeffrey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-31 22:25:09 +0000
committerdennisjeffrey@chromium.org <dennisjeffrey@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-31 22:25:09 +0000
commitdfb03af1c83b0b1ee40b60adfef0db582b260c0f (patch)
tree919617f808870821cbd5cbf9150f9c0155b7f410 /chrome/browser/automation
parente209977189446f056b095bf1100f1cbc91e357c1 (diff)
downloadchromium_src-dfb03af1c83b0b1ee40b60adfef0db582b260c0f.zip
chromium_src-dfb03af1c83b0b1ee40b60adfef0db582b260c0f.tar.gz
chromium_src-dfb03af1c83b0b1ee40b60adfef0db582b260c0f.tar.bz2
Automation hook GetExtensionsInfo now returns both regular/effective host permission info.
Previously, the PyAuto automation hook GetExtensionsInfo returned only the effective host permission information. The hook has been enhanced to also return the regular host permission information. The hook also now returns only the unique host permissions, whereas previously, duplicate permissions were sometimes returned. BUG=None TEST=None Review URL: http://codereview.chromium.org/6962017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87378 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation')
-rw-r--r--chrome/browser/automation/testing_automation_provider.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc
index b597482..6636b31 100644
--- a/chrome/browser/automation/testing_automation_provider.cc
+++ b/chrome/browser/automation/testing_automation_provider.cc
@@ -4073,14 +4073,19 @@ void TestingAutomationProvider::GetThemeInfo(
namespace {
-ListValue* GetHostPermissions(const Extension* ext) {
+ListValue* GetHostPermissions(const Extension* ext, bool effective_perm) {
+ URLPatternList pattern_list;
+ if (effective_perm)
+ pattern_list = ext->GetEffectiveHostPermissions().patterns();
+ else
+ pattern_list = ext->host_permissions();
+
ListValue* permissions = new ListValue;
- const URLPatternList pattern_list =
- ext->GetEffectiveHostPermissions().patterns();
for (URLPatternList::const_iterator perm = pattern_list.begin();
perm != pattern_list.end(); ++perm) {
permissions->Append(new StringValue(perm->GetAsString()));
}
+
return permissions;
}
@@ -4124,7 +4129,10 @@ void TestingAutomationProvider::GetExtensionsInfo(
extension->background_url().spec());
extension_value->SetString("options_url",
extension->options_url().spec());
- extension_value->Set("host_permissions", GetHostPermissions(extension));
+ extension_value->Set("host_permissions",
+ GetHostPermissions(extension, false));
+ extension_value->Set("effective_host_permissions",
+ GetHostPermissions(extension, true));
extension_value->Set("api_permissions", GetAPIPermissions(extension));
extensions_values->Append(extension_value);
}