| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/api/autotest_private/autotest_private_api.h" | 5 #include "chrome/browser/extensions/api/autotest_private/autotest_private_api.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
| 9 #include "chrome/browser/extensions/extension_action_manager.h" | 9 #include "chrome/browser/extensions/extension_action_manager.h" |
| 10 #include "chrome/browser/extensions/extension_service.h" | 10 #include "chrome/browser/extensions/extension_service.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 #include "chrome/browser/chromeos/login/lock/screen_locker.h" | 25 #include "chrome/browser/chromeos/login/lock/screen_locker.h" |
| 26 #include "chrome/browser/chromeos/login/users/user_manager.h" | 26 #include "chrome/browser/chromeos/login/users/user_manager.h" |
| 27 #include "chromeos/dbus/dbus_thread_manager.h" | 27 #include "chromeos/dbus/dbus_thread_manager.h" |
| 28 #include "chromeos/dbus/session_manager_client.h" | 28 #include "chromeos/dbus/session_manager_client.h" |
| 29 #endif | 29 #endif |
| 30 | 30 |
| 31 namespace extensions { | 31 namespace extensions { |
| 32 namespace { | 32 namespace { |
| 33 | 33 |
| 34 base::ListValue* GetHostPermissions(const Extension* ext, bool effective_perm) { | 34 base::ListValue* GetHostPermissions(const Extension* ext, bool effective_perm) { |
| 35 extensions::URLPatternSet pattern_set; | 35 URLPatternSet pattern_set; |
| 36 if (effective_perm) { | 36 if (effective_perm) |
| 37 pattern_set = extensions::PermissionsData::ForExtension(ext) | 37 pattern_set = ext->permissions_data()->GetEffectiveHostPermissions(); |
| 38 ->GetEffectiveHostPermissions(); | 38 else |
| 39 } else { | |
| 40 pattern_set = ext->GetActivePermissions()->explicit_hosts(); | 39 pattern_set = ext->GetActivePermissions()->explicit_hosts(); |
| 41 } | |
| 42 | 40 |
| 43 base::ListValue* permissions = new base::ListValue; | 41 base::ListValue* permissions = new base::ListValue; |
| 44 for (extensions::URLPatternSet::const_iterator perm = pattern_set.begin(); | 42 for (URLPatternSet::const_iterator perm = pattern_set.begin(); |
| 45 perm != pattern_set.end(); ++perm) { | 43 perm != pattern_set.end(); |
| 44 ++perm) { |
| 46 permissions->Append(new base::StringValue(perm->GetAsString())); | 45 permissions->Append(new base::StringValue(perm->GetAsString())); |
| 47 } | 46 } |
| 48 | 47 |
| 49 return permissions; | 48 return permissions; |
| 50 } | 49 } |
| 51 | 50 |
| 52 base::ListValue* GetAPIPermissions(const Extension* ext) { | 51 base::ListValue* GetAPIPermissions(const Extension* ext) { |
| 53 base::ListValue* permissions = new base::ListValue; | 52 base::ListValue* permissions = new base::ListValue; |
| 54 std::set<std::string> perm_list = | 53 std::set<std::string> perm_list = |
| 55 ext->GetActivePermissions()->GetAPIsAsStrings(); | 54 ext->GetActivePermissions()->GetAPIsAsStrings(); |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 #if defined(OS_CHROMEOS) | 142 #if defined(OS_CHROMEOS) |
| 144 chromeos::DBusThreadManager::Get()->GetSessionManagerClient()-> | 143 chromeos::DBusThreadManager::Get()->GetSessionManagerClient()-> |
| 145 RequestLockScreen(); | 144 RequestLockScreen(); |
| 146 #endif | 145 #endif |
| 147 return true; | 146 return true; |
| 148 } | 147 } |
| 149 | 148 |
| 150 bool AutotestPrivateGetExtensionsInfoFunction::RunSync() { | 149 bool AutotestPrivateGetExtensionsInfoFunction::RunSync() { |
| 151 DVLOG(1) << "AutotestPrivateGetExtensionsInfoFunction"; | 150 DVLOG(1) << "AutotestPrivateGetExtensionsInfoFunction"; |
| 152 | 151 |
| 153 ExtensionService* service = extensions::ExtensionSystem::Get( | 152 ExtensionService* service = |
| 154 GetProfile())->extension_service(); | 153 ExtensionSystem::Get(GetProfile())->extension_service(); |
| 155 ExtensionRegistry* registry = | 154 ExtensionRegistry* registry = ExtensionRegistry::Get(GetProfile()); |
| 156 extensions::ExtensionRegistry::Get(GetProfile()); | |
| 157 const ExtensionSet& extensions = registry->enabled_extensions(); | 155 const ExtensionSet& extensions = registry->enabled_extensions(); |
| 158 const ExtensionSet& disabled_extensions = registry->disabled_extensions(); | 156 const ExtensionSet& disabled_extensions = registry->disabled_extensions(); |
| 159 ExtensionActionManager* extension_action_manager = | 157 ExtensionActionManager* extension_action_manager = |
| 160 ExtensionActionManager::Get(GetProfile()); | 158 ExtensionActionManager::Get(GetProfile()); |
| 161 | 159 |
| 162 base::ListValue* extensions_values = new base::ListValue; | 160 base::ListValue* extensions_values = new base::ListValue; |
| 163 ExtensionList all; | 161 ExtensionList all; |
| 164 all.insert(all.end(), extensions.begin(), extensions.end()); | 162 all.insert(all.end(), extensions.begin(), extensions.end()); |
| 165 all.insert(all.end(), disabled_extensions.begin(), disabled_extensions.end()); | 163 all.insert(all.end(), disabled_extensions.begin(), disabled_extensions.end()); |
| 166 for (ExtensionList::const_iterator it = all.begin(); | 164 for (ExtensionList::const_iterator it = all.begin(); |
| 167 it != all.end(); ++it) { | 165 it != all.end(); ++it) { |
| 168 const Extension* extension = it->get(); | 166 const Extension* extension = it->get(); |
| 169 std::string id = extension->id(); | 167 std::string id = extension->id(); |
| 170 base::DictionaryValue* extension_value = new base::DictionaryValue; | 168 base::DictionaryValue* extension_value = new base::DictionaryValue; |
| 171 extension_value->SetString("id", id); | 169 extension_value->SetString("id", id); |
| 172 extension_value->SetString("version", extension->VersionString()); | 170 extension_value->SetString("version", extension->VersionString()); |
| 173 extension_value->SetString("name", extension->name()); | 171 extension_value->SetString("name", extension->name()); |
| 174 extension_value->SetString("publicKey", extension->public_key()); | 172 extension_value->SetString("publicKey", extension->public_key()); |
| 175 extension_value->SetString("description", extension->description()); | 173 extension_value->SetString("description", extension->description()); |
| 176 extension_value->SetString("backgroundUrl", | 174 extension_value->SetString( |
| 177 extensions::BackgroundInfo::GetBackgroundURL(extension).spec()); | 175 "backgroundUrl", BackgroundInfo::GetBackgroundURL(extension).spec()); |
| 178 extension_value->SetString("optionsUrl", | 176 extension_value->SetString("optionsUrl", |
| 179 extensions::ManifestURL::GetOptionsPage(extension).spec()); | 177 ManifestURL::GetOptionsPage(extension).spec()); |
| 180 | 178 |
| 181 extension_value->Set("hostPermissions", | 179 extension_value->Set("hostPermissions", |
| 182 GetHostPermissions(extension, false)); | 180 GetHostPermissions(extension, false)); |
| 183 extension_value->Set("effectiveHostPermissions", | 181 extension_value->Set("effectiveHostPermissions", |
| 184 GetHostPermissions(extension, true)); | 182 GetHostPermissions(extension, true)); |
| 185 extension_value->Set("apiPermissions", GetAPIPermissions(extension)); | 183 extension_value->Set("apiPermissions", GetAPIPermissions(extension)); |
| 186 | 184 |
| 187 Manifest::Location location = extension->location(); | 185 Manifest::Location location = extension->location(); |
| 188 extension_value->SetBoolean("isComponent", | 186 extension_value->SetBoolean("isComponent", |
| 189 location == Manifest::COMPONENT); | 187 location == Manifest::COMPONENT); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 return new AutotestPrivateAPI(); | 239 return new AutotestPrivateAPI(); |
| 242 } | 240 } |
| 243 | 241 |
| 244 AutotestPrivateAPI::AutotestPrivateAPI() : test_mode_(false) { | 242 AutotestPrivateAPI::AutotestPrivateAPI() : test_mode_(false) { |
| 245 } | 243 } |
| 246 | 244 |
| 247 AutotestPrivateAPI::~AutotestPrivateAPI() { | 245 AutotestPrivateAPI::~AutotestPrivateAPI() { |
| 248 } | 246 } |
| 249 | 247 |
| 250 } // namespace extensions | 248 } // namespace extensions |
| OLD | NEW |