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

Side by Side Diff: chrome/browser/extensions/extension_web_ui.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header Created 4 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/extension_web_ui.h" 5 #include "chrome/browser/extensions/extension_web_ui.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 // - Converts any entries of the form <entry> to 59 // - Converts any entries of the form <entry> to
60 // { 'entry': <entry>, 'active': true }. 60 // { 'entry': <entry>, 'active': true }.
61 // - Removes any duplicate entries. 61 // - Removes any duplicate entries.
62 // We do the conversion because we previously stored these values as strings 62 // We do the conversion because we previously stored these values as strings
63 // rather than objects. 63 // rather than objects.
64 // TODO(devlin): Remove the conversion once everyone's updated. 64 // TODO(devlin): Remove the conversion once everyone's updated.
65 void InitializeOverridesList(base::ListValue* list) { 65 void InitializeOverridesList(base::ListValue* list) {
66 base::ListValue migrated; 66 base::ListValue migrated;
67 std::set<std::string> seen_entries; 67 std::set<std::string> seen_entries;
68 for (base::Value* val : *list) { 68 for (base::Value* val : *list) {
69 scoped_ptr<base::DictionaryValue> new_dict(new base::DictionaryValue()); 69 std::unique_ptr<base::DictionaryValue> new_dict(
70 new base::DictionaryValue());
70 std::string entry_name; 71 std::string entry_name;
71 base::DictionaryValue* existing_dict = nullptr; 72 base::DictionaryValue* existing_dict = nullptr;
72 if (val->GetAsDictionary(&existing_dict)) { 73 if (val->GetAsDictionary(&existing_dict)) {
73 bool success = existing_dict->GetString(kEntry, &entry_name); 74 bool success = existing_dict->GetString(kEntry, &entry_name);
74 if (!success) // See comment about CHECK(success) in ForEachOverrideList. 75 if (!success) // See comment about CHECK(success) in ForEachOverrideList.
75 continue; 76 continue;
76 new_dict->Swap(existing_dict); 77 new_dict->Swap(existing_dict);
77 } else if (val->GetAsString(&entry_name)) { 78 } else if (val->GetAsString(&entry_name)) {
78 new_dict->SetString(kEntry, entry_name); 79 new_dict->SetString(kEntry, entry_name);
79 new_dict->SetBoolean(kActive, true); 80 new_dict->SetBoolean(kActive, true);
(...skipping 21 matching lines...) Expand all
101 if (!val->GetAsDictionary(&dict) || !dict->GetString(kEntry, &entry)) { 102 if (!val->GetAsDictionary(&dict) || !dict->GetString(kEntry, &entry)) {
102 NOTREACHED(); 103 NOTREACHED();
103 continue; 104 continue;
104 } 105 }
105 if (entry == override) { 106 if (entry == override) {
106 dict->SetBoolean(kActive, true); 107 dict->SetBoolean(kActive, true);
107 return; // All done! 108 return; // All done!
108 } 109 }
109 } 110 }
110 111
111 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); 112 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
112 dict->SetString(kEntry, override); 113 dict->SetString(kEntry, override);
113 dict->SetBoolean(kActive, true); 114 dict->SetBoolean(kActive, true);
114 // Add the entry to the front of the list. 115 // Add the entry to the front of the list.
115 list->Insert(0, dict.release()); 116 list->Insert(0, dict.release());
116 } 117 }
117 118
118 // Validates that each entry in |list| contains a valid url and points to an 119 // Validates that each entry in |list| contains a valid url and points to an
119 // extension contained in |all_extensions| (and, if not, removes it). 120 // extension contained in |all_extensions| (and, if not, removes it).
120 void ValidateOverridesList(const extensions::ExtensionSet* all_extensions, 121 void ValidateOverridesList(const extensions::ExtensionSet* all_extensions,
121 base::ListValue* list) { 122 base::ListValue* list) {
122 base::ListValue migrated; 123 base::ListValue migrated;
123 for (base::Value* val : *list) { 124 for (base::Value* val : *list) {
124 base::DictionaryValue* dict = nullptr; 125 base::DictionaryValue* dict = nullptr;
125 std::string entry; 126 std::string entry;
126 if (!val->GetAsDictionary(&dict) || !dict->GetString(kEntry, &entry)) { 127 if (!val->GetAsDictionary(&dict) || !dict->GetString(kEntry, &entry)) {
127 NOTREACHED(); 128 NOTREACHED();
128 continue; 129 continue;
129 } 130 }
130 scoped_ptr<base::DictionaryValue> new_dict(new base::DictionaryValue()); 131 std::unique_ptr<base::DictionaryValue> new_dict(
132 new base::DictionaryValue());
131 new_dict->Swap(dict); 133 new_dict->Swap(dict);
132 GURL override_url(entry); 134 GURL override_url(entry);
133 if (!override_url.is_valid()) 135 if (!override_url.is_valid())
134 continue; 136 continue;
135 137
136 if (!all_extensions->GetByID(override_url.host())) 138 if (!all_extensions->GetByID(override_url.host()))
137 continue; 139 continue;
138 140
139 migrated.Append(std::move(new_dict)); 141 migrated.Append(std::move(new_dict));
140 } 142 }
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 return false; 478 return false;
477 } 479 }
478 480
479 // static 481 // static
480 void ExtensionWebUI::InitializeChromeURLOverrides(Profile* profile) { 482 void ExtensionWebUI::InitializeChromeURLOverrides(Profile* profile) {
481 ForEachOverrideList(profile, base::Bind(&InitializeOverridesList)); 483 ForEachOverrideList(profile, base::Bind(&InitializeOverridesList));
482 } 484 }
483 485
484 // static 486 // static
485 void ExtensionWebUI::ValidateChromeURLOverrides(Profile* profile) { 487 void ExtensionWebUI::ValidateChromeURLOverrides(Profile* profile) {
486 scoped_ptr<extensions::ExtensionSet> all_extensions = 488 std::unique_ptr<extensions::ExtensionSet> all_extensions =
487 extensions::ExtensionRegistry::Get(profile)-> 489 extensions::ExtensionRegistry::Get(profile)
488 GenerateInstalledExtensionsSet(); 490 ->GenerateInstalledExtensionsSet();
489 491
490 ForEachOverrideList(profile, 492 ForEachOverrideList(profile,
491 base::Bind(&ValidateOverridesList, all_extensions.get())); 493 base::Bind(&ValidateOverridesList, all_extensions.get()));
492 } 494 }
493 495
494 // static 496 // static
495 void ExtensionWebUI::RegisterOrActivateChromeURLOverrides( 497 void ExtensionWebUI::RegisterOrActivateChromeURLOverrides(
496 Profile* profile, 498 Profile* profile,
497 const URLOverrides::URLOverrideMap& overrides) { 499 const URLOverrides::URLOverrideMap& overrides) {
498 if (overrides.empty()) 500 if (overrides.empty())
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 extensions::ImageLoader::ImageRepresentation::ALWAYS_RESIZE, 558 extensions::ImageLoader::ImageRepresentation::ALWAYS_RESIZE,
557 gfx::Size(pixel_size, pixel_size), 559 gfx::Size(pixel_size, pixel_size),
558 resource_scale_factor)); 560 resource_scale_factor));
559 } 561 }
560 562
561 // LoadImagesAsync actually can run callback synchronously. We want to force 563 // LoadImagesAsync actually can run callback synchronously. We want to force
562 // async. 564 // async.
563 extensions::ImageLoader::Get(profile)->LoadImagesAsync( 565 extensions::ImageLoader::Get(profile)->LoadImagesAsync(
564 extension, info_list, base::Bind(&RunFaviconCallbackAsync, callback)); 566 extension, info_list, base::Bind(&RunFaviconCallbackAsync, callback));
565 } 567 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_web_ui.h ('k') | chrome/browser/extensions/extension_web_ui_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698