Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: chrome/browser/extensions/api/autotest_private/autotest_private_api.cc

Issue 2806283002: Revert of Stop passing raw pointers to base::Value API in c/b/chromeos and c/b/extensions (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "base/strings/string_number_conversions.h" 12 #include "base/strings/string_number_conversions.h"
13 #include "base/values.h"
14 #include "build/build_config.h" 13 #include "build/build_config.h"
15 #include "chrome/browser/extensions/extension_action_manager.h" 14 #include "chrome/browser/extensions/extension_action_manager.h"
16 #include "chrome/browser/extensions/extension_service.h" 15 #include "chrome/browser/extensions/extension_service.h"
17 #include "chrome/browser/lifetime/application_lifetime.h" 16 #include "chrome/browser/lifetime/application_lifetime.h"
18 #include "chrome/browser/profiles/profile.h" 17 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/common/extensions/api/autotest_private.h" 18 #include "chrome/common/extensions/api/autotest_private.h"
20 #include "extensions/browser/extension_function_registry.h" 19 #include "extensions/browser/extension_function_registry.h"
21 #include "extensions/browser/extension_registry.h" 20 #include "extensions/browser/extension_registry.h"
22 #include "extensions/browser/extension_system.h" 21 #include "extensions/browser/extension_system.h"
23 #include "extensions/browser/extension_util.h" 22 #include "extensions/browser/extension_util.h"
(...skipping 10 matching lines...) Expand all
34 #include "chromeos/dbus/session_manager_client.h" 33 #include "chromeos/dbus/session_manager_client.h"
35 #include "components/user_manager/user.h" 34 #include "components/user_manager/user.h"
36 #include "components/user_manager/user_manager.h" 35 #include "components/user_manager/user_manager.h"
37 #include "ui/message_center/message_center.h" 36 #include "ui/message_center/message_center.h"
38 #include "ui/message_center/notification.h" 37 #include "ui/message_center/notification.h"
39 #endif 38 #endif
40 39
41 namespace extensions { 40 namespace extensions {
42 namespace { 41 namespace {
43 42
44 std::unique_ptr<base::ListValue> GetHostPermissions(const Extension* ext, 43 base::ListValue* GetHostPermissions(const Extension* ext, bool effective_perm) {
45 bool effective_perm) {
46 const PermissionsData* permissions_data = ext->permissions_data(); 44 const PermissionsData* permissions_data = ext->permissions_data();
47 const URLPatternSet& pattern_set = 45 const URLPatternSet& pattern_set =
48 effective_perm ? permissions_data->GetEffectiveHostPermissions() 46 effective_perm ? permissions_data->GetEffectiveHostPermissions()
49 : permissions_data->active_permissions().explicit_hosts(); 47 : permissions_data->active_permissions().explicit_hosts();
50 48
51 auto permissions = base::MakeUnique<base::ListValue>(); 49 base::ListValue* permissions = new base::ListValue;
52 for (URLPatternSet::const_iterator perm = pattern_set.begin(); 50 for (URLPatternSet::const_iterator perm = pattern_set.begin();
53 perm != pattern_set.end(); 51 perm != pattern_set.end();
54 ++perm) { 52 ++perm) {
55 permissions->AppendString(perm->GetAsString()); 53 permissions->AppendString(perm->GetAsString());
56 } 54 }
57 55
58 return permissions; 56 return permissions;
59 } 57 }
60 58
61 std::unique_ptr<base::ListValue> GetAPIPermissions(const Extension* ext) { 59 base::ListValue* GetAPIPermissions(const Extension* ext) {
62 auto permissions = base::MakeUnique<base::ListValue>(); 60 base::ListValue* permissions = new base::ListValue;
63 std::set<std::string> perm_list = 61 std::set<std::string> perm_list =
64 ext->permissions_data()->active_permissions().GetAPIsAsStrings(); 62 ext->permissions_data()->active_permissions().GetAPIsAsStrings();
65 for (std::set<std::string>::const_iterator perm = perm_list.begin(); 63 for (std::set<std::string>::const_iterator perm = perm_list.begin();
66 perm != perm_list.end(); ++perm) { 64 perm != perm_list.end(); ++perm) {
67 permissions->AppendString(*perm); 65 permissions->AppendString(*perm);
68 } 66 }
69 return permissions; 67 return permissions;
70 } 68 }
71 69
72 bool IsTestMode(content::BrowserContext* context) { 70 bool IsTestMode(content::BrowserContext* context) {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 DVLOG(1) << "AutotestPrivateGetExtensionsInfoFunction"; 159 DVLOG(1) << "AutotestPrivateGetExtensionsInfoFunction";
162 160
163 ExtensionService* service = 161 ExtensionService* service =
164 ExtensionSystem::Get(browser_context())->extension_service(); 162 ExtensionSystem::Get(browser_context())->extension_service();
165 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context()); 163 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context());
166 const ExtensionSet& extensions = registry->enabled_extensions(); 164 const ExtensionSet& extensions = registry->enabled_extensions();
167 const ExtensionSet& disabled_extensions = registry->disabled_extensions(); 165 const ExtensionSet& disabled_extensions = registry->disabled_extensions();
168 ExtensionActionManager* extension_action_manager = 166 ExtensionActionManager* extension_action_manager =
169 ExtensionActionManager::Get(browser_context()); 167 ExtensionActionManager::Get(browser_context());
170 168
171 auto extensions_values = base::MakeUnique<base::ListValue>(); 169 base::ListValue* extensions_values = new base::ListValue;
172 ExtensionList all; 170 ExtensionList all;
173 all.insert(all.end(), extensions.begin(), extensions.end()); 171 all.insert(all.end(), extensions.begin(), extensions.end());
174 all.insert(all.end(), disabled_extensions.begin(), disabled_extensions.end()); 172 all.insert(all.end(), disabled_extensions.begin(), disabled_extensions.end());
175 for (ExtensionList::const_iterator it = all.begin(); 173 for (ExtensionList::const_iterator it = all.begin();
176 it != all.end(); ++it) { 174 it != all.end(); ++it) {
177 const Extension* extension = it->get(); 175 const Extension* extension = it->get();
178 std::string id = extension->id(); 176 std::string id = extension->id();
179 std::unique_ptr<base::DictionaryValue> extension_value( 177 std::unique_ptr<base::DictionaryValue> extension_value(
180 new base::DictionaryValue); 178 new base::DictionaryValue);
181 extension_value->SetString("id", id); 179 extension_value->SetString("id", id);
(...skipping 25 matching lines...) Expand all
207 "allowedInIncognito", util::IsIncognitoEnabled(id, browser_context())); 205 "allowedInIncognito", util::IsIncognitoEnabled(id, browser_context()));
208 extension_value->SetBoolean( 206 extension_value->SetBoolean(
209 "hasPageAction", 207 "hasPageAction",
210 extension_action_manager->GetPageAction(*extension) != NULL); 208 extension_action_manager->GetPageAction(*extension) != NULL);
211 209
212 extensions_values->Append(std::move(extension_value)); 210 extensions_values->Append(std::move(extension_value));
213 } 211 }
214 212
215 std::unique_ptr<base::DictionaryValue> return_value( 213 std::unique_ptr<base::DictionaryValue> return_value(
216 new base::DictionaryValue); 214 new base::DictionaryValue);
217 return_value->Set("extensions", std::move(extensions_values)); 215 return_value->Set("extensions", extensions_values);
218 return RespondNow(OneArgument(std::move(return_value))); 216 return RespondNow(OneArgument(std::move(return_value)));
219 } 217 }
220 218
221 static int AccessArray(const volatile int arr[], const volatile int *index) { 219 static int AccessArray(const volatile int arr[], const volatile int *index) {
222 return arr[*index]; 220 return arr[*index];
223 } 221 }
224 222
225 ExtensionFunction::ResponseAction 223 ExtensionFunction::ResponseAction
226 AutotestPrivateSimulateAsanMemoryBugFunction::Run() { 224 AutotestPrivateSimulateAsanMemoryBugFunction::Run() {
227 DVLOG(1) << "AutotestPrivateSimulateAsanMemoryBugFunction"; 225 DVLOG(1) << "AutotestPrivateSimulateAsanMemoryBugFunction";
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 return new AutotestPrivateAPI(); 394 return new AutotestPrivateAPI();
397 } 395 }
398 396
399 AutotestPrivateAPI::AutotestPrivateAPI() : test_mode_(false) { 397 AutotestPrivateAPI::AutotestPrivateAPI() : test_mode_(false) {
400 } 398 }
401 399
402 AutotestPrivateAPI::~AutotestPrivateAPI() { 400 AutotestPrivateAPI::~AutotestPrivateAPI() {
403 } 401 }
404 402
405 } // namespace extensions 403 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698