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

Side by Side Diff: chrome/browser/ui/webui/site_settings_helper.cc

Issue 1865213004: Convert //chrome/browser/ui from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/ui/webui/site_settings_helper.h" 5 #include "chrome/browser/ui/webui/site_settings_helper.h"
6 6
7 #include "base/memory/ptr_util.h"
7 #include "base/values.h" 8 #include "base/values.h"
8 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
10 #include "components/content_settings/core/browser/host_content_settings_map.h" 11 #include "components/content_settings/core/browser/host_content_settings_map.h"
11 #include "components/prefs/pref_service.h" 12 #include "components/prefs/pref_service.h"
12 13
13 namespace site_settings { 14 namespace site_settings {
14 15
15 const char kSetting[] = "setting"; 16 const char kSetting[] = "setting";
16 const char kOrigin[] = "origin"; 17 const char kOrigin[] = "origin";
17 const char kPolicyProviderId[] = "policy"; 18 const char kPolicyProviderId[] = "policy";
18 const char kSource[] = "source"; 19 const char kSource[] = "source";
19 const char kEmbeddingOrigin[] = "embeddingOrigin"; 20 const char kEmbeddingOrigin[] = "embeddingOrigin";
20 const char kPreferencesSource[] = "preference"; 21 const char kPreferencesSource[] = "preference";
21 22
22 // Create a DictionaryValue* that will act as a data source for a single row 23 // Create a DictionaryValue* that will act as a data source for a single row
23 // in a HostContentSettingsMap-controlled exceptions table (e.g., cookies). 24 // in a HostContentSettingsMap-controlled exceptions table (e.g., cookies).
24 scoped_ptr<base::DictionaryValue> GetExceptionForPage( 25 std::unique_ptr<base::DictionaryValue> GetExceptionForPage(
25 const ContentSettingsPattern& pattern, 26 const ContentSettingsPattern& pattern,
26 const ContentSettingsPattern& secondary_pattern, 27 const ContentSettingsPattern& secondary_pattern,
27 const ContentSetting& setting, 28 const ContentSetting& setting,
28 const std::string& provider_name) { 29 const std::string& provider_name) {
29 base::DictionaryValue* exception = new base::DictionaryValue(); 30 base::DictionaryValue* exception = new base::DictionaryValue();
30 exception->SetString(kOrigin, pattern.ToString()); 31 exception->SetString(kOrigin, pattern.ToString());
31 exception->SetString(kEmbeddingOrigin, 32 exception->SetString(kEmbeddingOrigin,
32 secondary_pattern == ContentSettingsPattern::Wildcard() ? 33 secondary_pattern == ContentSettingsPattern::Wildcard() ?
33 std::string() : 34 std::string() :
34 secondary_pattern.ToString()); 35 secondary_pattern.ToString());
35 36
36 std::string setting_string = 37 std::string setting_string =
37 content_settings::ContentSettingToString(setting); 38 content_settings::ContentSettingToString(setting);
38 DCHECK(!setting_string.empty()); 39 DCHECK(!setting_string.empty());
39 40
40 exception->SetString(kSetting, setting_string); 41 exception->SetString(kSetting, setting_string);
41 exception->SetString(kSource, provider_name); 42 exception->SetString(kSource, provider_name);
42 return make_scoped_ptr(exception); 43 return base::WrapUnique(exception);
43 } 44 }
44 45
45 void GetExceptionsFromHostContentSettingsMap(const HostContentSettingsMap* map, 46 void GetExceptionsFromHostContentSettingsMap(const HostContentSettingsMap* map,
46 ContentSettingsType type, 47 ContentSettingsType type,
47 content::WebUI* web_ui, 48 content::WebUI* web_ui,
48 base::ListValue* exceptions) { 49 base::ListValue* exceptions) {
49 ContentSettingsForOneType entries; 50 ContentSettingsForOneType entries;
50 map->GetSettingsForOneType(type, std::string(), &entries); 51 map->GetSettingsForOneType(type, std::string(), &entries);
51 // Group settings by primary_pattern. 52 // Group settings by primary_pattern.
52 AllPatternsSettings all_patterns_settings; 53 AllPatternsSettings all_patterns_settings;
(...skipping 11 matching lines...) Expand all
64 // only. 65 // only.
65 if (map->is_off_the_record() && !i->incognito) 66 if (map->is_off_the_record() && !i->incognito)
66 continue; 67 continue;
67 68
68 all_patterns_settings[std::make_pair(i->primary_pattern, i->source)] 69 all_patterns_settings[std::make_pair(i->primary_pattern, i->source)]
69 [i->secondary_pattern] = i->setting; 70 [i->secondary_pattern] = i->setting;
70 } 71 }
71 72
72 // Keep the exceptions sorted by provider so they will be displayed in 73 // Keep the exceptions sorted by provider so they will be displayed in
73 // precedence order. 74 // precedence order.
74 std::vector<scoped_ptr<base::DictionaryValue>> 75 std::vector<std::unique_ptr<base::DictionaryValue>>
75 all_provider_exceptions[HostContentSettingsMap::NUM_PROVIDER_TYPES]; 76 all_provider_exceptions[HostContentSettingsMap::NUM_PROVIDER_TYPES];
76 77
77 // |all_patterns_settings| is sorted from the lowest precedence pattern to 78 // |all_patterns_settings| is sorted from the lowest precedence pattern to
78 // the highest (see operator< in ContentSettingsPattern), so traverse it in 79 // the highest (see operator< in ContentSettingsPattern), so traverse it in
79 // reverse to show the patterns with the highest precedence (the more specific 80 // reverse to show the patterns with the highest precedence (the more specific
80 // ones) on the top. 81 // ones) on the top.
81 for (AllPatternsSettings::reverse_iterator i = all_patterns_settings.rbegin(); 82 for (AllPatternsSettings::reverse_iterator i = all_patterns_settings.rbegin();
82 i != all_patterns_settings.rend(); 83 i != all_patterns_settings.rend();
83 ++i) { 84 ++i) {
84 const ContentSettingsPattern& primary_pattern = i->first.first; 85 const ContentSettingsPattern& primary_pattern = i->first.first;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 } 129 }
129 130
130 for (auto& one_provider_exceptions : all_provider_exceptions) { 131 for (auto& one_provider_exceptions : all_provider_exceptions) {
131 for (auto& exception : one_provider_exceptions) 132 for (auto& exception : one_provider_exceptions)
132 exceptions->Append(std::move(exception)); 133 exceptions->Append(std::move(exception));
133 } 134 }
134 } 135 }
135 136
136 void GetPolicyAllowedUrls( 137 void GetPolicyAllowedUrls(
137 ContentSettingsType type, 138 ContentSettingsType type,
138 std::vector<scoped_ptr<base::DictionaryValue>>* exceptions, 139 std::vector<std::unique_ptr<base::DictionaryValue>>* exceptions,
139 content::WebUI* web_ui) { 140 content::WebUI* web_ui) {
140 DCHECK(type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || 141 DCHECK(type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC ||
141 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); 142 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA);
142 143
143 PrefService* prefs = Profile::FromWebUI(web_ui)->GetPrefs(); 144 PrefService* prefs = Profile::FromWebUI(web_ui)->GetPrefs();
144 const base::ListValue* policy_urls = prefs->GetList( 145 const base::ListValue* policy_urls = prefs->GetList(
145 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC 146 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC
146 ? prefs::kAudioCaptureAllowedUrls 147 ? prefs::kAudioCaptureAllowedUrls
147 : prefs::kVideoCaptureAllowedUrls); 148 : prefs::kVideoCaptureAllowedUrls);
148 149
(...skipping 18 matching lines...) Expand all
167 patterns.begin(), patterns.end(), std::greater<ContentSettingsPattern>()); 168 patterns.begin(), patterns.end(), std::greater<ContentSettingsPattern>());
168 169
169 for (const ContentSettingsPattern& pattern : patterns) { 170 for (const ContentSettingsPattern& pattern : patterns) {
170 exceptions->push_back(GetExceptionForPage(pattern, ContentSettingsPattern(), 171 exceptions->push_back(GetExceptionForPage(pattern, ContentSettingsPattern(),
171 CONTENT_SETTING_ALLOW, 172 CONTENT_SETTING_ALLOW,
172 kPolicyProviderId)); 173 kPolicyProviderId));
173 } 174 }
174 } 175 }
175 176
176 } // namespace site_settings 177 } // namespace site_settings
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/site_settings_helper.h ('k') | chrome/browser/ui/webui/supervised_user_internals_message_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698