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

Side by Side Diff: chrome/browser/ui/content_settings/content_setting_bubble_model.cc

Issue 1412523003: Adding <keygen> Content Setting (UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase on core CL. Created 5 years, 1 month 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/ui/content_settings/content_setting_bubble_model.h" 5 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 namespace { 56 namespace {
57 57
58 const int kAllowButtonIndex = 0; 58 const int kAllowButtonIndex = 0;
59 59
60 // static 60 // static
61 const ContentSettingsType kSupportedBubbleTypes[] = { 61 const ContentSettingsType kSupportedBubbleTypes[] = {
62 CONTENT_SETTINGS_TYPE_COOKIES, 62 CONTENT_SETTINGS_TYPE_COOKIES,
63 CONTENT_SETTINGS_TYPE_IMAGES, 63 CONTENT_SETTINGS_TYPE_IMAGES,
64 CONTENT_SETTINGS_TYPE_JAVASCRIPT, 64 CONTENT_SETTINGS_TYPE_JAVASCRIPT,
65 CONTENT_SETTINGS_TYPE_KEYGEN,
65 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, 66 CONTENT_SETTINGS_TYPE_PPAPI_BROKER,
66 CONTENT_SETTINGS_TYPE_PLUGINS, 67 CONTENT_SETTINGS_TYPE_PLUGINS,
67 CONTENT_SETTINGS_TYPE_POPUPS, 68 CONTENT_SETTINGS_TYPE_POPUPS,
68 CONTENT_SETTINGS_TYPE_GEOLOCATION, 69 CONTENT_SETTINGS_TYPE_GEOLOCATION,
69 CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, 70 CONTENT_SETTINGS_TYPE_MIXEDSCRIPT,
70 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, 71 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS,
71 CONTENT_SETTINGS_TYPE_MEDIASTREAM, 72 CONTENT_SETTINGS_TYPE_MEDIASTREAM,
72 CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, 73 CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS,
73 CONTENT_SETTINGS_TYPE_MIDI_SYSEX, 74 CONTENT_SETTINGS_TYPE_MIDI_SYSEX,
74 }; 75 };
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 TabSpecificContentSettings* content_settings = NULL; 132 TabSpecificContentSettings* content_settings = NULL;
132 if (web_contents()) { 133 if (web_contents()) {
133 content_settings = 134 content_settings =
134 TabSpecificContentSettings::FromWebContents(web_contents()); 135 TabSpecificContentSettings::FromWebContents(web_contents());
135 } 136 }
136 137
137 static const ContentSettingsTypeIdEntry kBlockedTitleIDs[] = { 138 static const ContentSettingsTypeIdEntry kBlockedTitleIDs[] = {
138 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_TITLE}, 139 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_TITLE},
139 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_TITLE}, 140 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_TITLE},
140 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_TITLE}, 141 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_TITLE},
142 {CONTENT_SETTINGS_TYPE_KEYGEN, IDS_BLOCKED_KEYGEN_TITLE},
141 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_TITLE}, 143 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_TITLE},
142 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_TITLE}, 144 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_TITLE},
143 {CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, 145 {CONTENT_SETTINGS_TYPE_MIXEDSCRIPT,
144 IDS_BLOCKED_DISPLAYING_INSECURE_CONTENT}, 146 IDS_BLOCKED_DISPLAYING_INSECURE_CONTENT},
145 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, 147 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_TITLE},
146 IDS_BLOCKED_PPAPI_BROKER_TITLE},
147 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOAD_TITLE}, 148 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOAD_TITLE},
148 }; 149 };
149 // Fields as for kBlockedTitleIDs, above. 150 // Fields as for kBlockedTitleIDs, above.
150 static const ContentSettingsTypeIdEntry kAccessedTitleIDs[] = { 151 static const ContentSettingsTypeIdEntry kAccessedTitleIDs[] = {
151 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_ACCESSED_COOKIES_TITLE}, 152 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_ACCESSED_COOKIES_TITLE},
152 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_TITLE}, 153 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_TITLE},
153 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_ALLOWED_DOWNLOAD_TITLE}, 154 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_ALLOWED_DOWNLOAD_TITLE},
154 }; 155 };
155 const ContentSettingsTypeIdEntry *title_ids = kBlockedTitleIDs; 156 const ContentSettingsTypeIdEntry *title_ids = kBlockedTitleIDs;
156 size_t num_title_ids = arraysize(kBlockedTitleIDs); 157 size_t num_title_ids = arraysize(kBlockedTitleIDs);
157 if (content_settings && content_settings->IsContentAllowed(content_type()) && 158 if (content_settings && content_settings->IsContentAllowed(content_type()) &&
158 !content_settings->IsContentBlocked(content_type())) { 159 !content_settings->IsContentBlocked(content_type())) {
159 title_ids = kAccessedTitleIDs; 160 title_ids = kAccessedTitleIDs;
160 num_title_ids = arraysize(kAccessedTitleIDs); 161 num_title_ids = arraysize(kAccessedTitleIDs);
161 } 162 }
162 int title_id = 163 int title_id =
163 GetIdForContentType(title_ids, num_title_ids, content_type()); 164 GetIdForContentType(title_ids, num_title_ids, content_type());
164 if (title_id) 165 if (title_id)
165 set_title(l10n_util::GetStringUTF8(title_id)); 166 set_title(l10n_util::GetStringUTF8(title_id));
166 } 167 }
167 168
168 void ContentSettingTitleAndLinkModel::SetManageLink() { 169 void ContentSettingTitleAndLinkModel::SetManageLink() {
169 static const ContentSettingsTypeIdEntry kLinkIDs[] = { 170 static const ContentSettingsTypeIdEntry kLinkIDs[] = {
170 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_LINK}, 171 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_LINK},
171 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_LINK}, 172 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_LINK},
172 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_LINK}, 173 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_LINK},
174 {CONTENT_SETTINGS_TYPE_KEYGEN, IDS_BLOCKED_KEYGEN_LINK},
173 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_LINK}, 175 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_LINK},
174 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_LINK}, 176 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_LINK},
175 {CONTENT_SETTINGS_TYPE_GEOLOCATION, IDS_GEOLOCATION_BUBBLE_MANAGE_LINK}, 177 {CONTENT_SETTINGS_TYPE_GEOLOCATION, IDS_GEOLOCATION_BUBBLE_MANAGE_LINK},
176 {CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, IDS_LEARN_MORE}, 178 {CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, IDS_LEARN_MORE},
177 {CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, IDS_HANDLERS_BUBBLE_MANAGE_LINK}, 179 {CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, IDS_HANDLERS_BUBBLE_MANAGE_LINK},
178 {CONTENT_SETTINGS_TYPE_MEDIASTREAM, IDS_MEDIASTREAM_BUBBLE_MANAGE_LINK}, 180 {CONTENT_SETTINGS_TYPE_MEDIASTREAM, IDS_MEDIASTREAM_BUBBLE_MANAGE_LINK},
179 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_PPAPI_BROKER_BUBBLE_MANAGE_LINK}, 181 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_PPAPI_BROKER_BUBBLE_MANAGE_LINK},
180 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOADS_LINK}, 182 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOADS_LINK},
181 {CONTENT_SETTINGS_TYPE_MIDI_SYSEX, IDS_MIDI_SYSEX_BUBBLE_MANAGE_LINK}, 183 {CONTENT_SETTINGS_TYPE_MIDI_SYSEX, IDS_MIDI_SYSEX_BUBBLE_MANAGE_LINK},
182 }; 184 };
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 DCHECK(!allowed || 307 DCHECK(!allowed ||
306 content_settings->IsContentAllowed(content_type())); 308 content_settings->IsContentAllowed(content_type()));
307 309
308 RadioGroup radio_group; 310 RadioGroup radio_group;
309 radio_group.url = url; 311 radio_group.url = url;
310 312
311 static const ContentSettingsTypeIdEntry kBlockedAllowIDs[] = { 313 static const ContentSettingsTypeIdEntry kBlockedAllowIDs[] = {
312 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_UNBLOCK}, 314 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_UNBLOCK},
313 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_UNBLOCK}, 315 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_UNBLOCK},
314 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_UNBLOCK}, 316 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_UNBLOCK},
317 {CONTENT_SETTINGS_TYPE_KEYGEN, IDS_BLOCKED_KEYGEN_UNBLOCK},
315 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_UNBLOCK_ALL}, 318 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_UNBLOCK_ALL},
316 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_UNBLOCK}, 319 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_UNBLOCK},
317 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_UNBLOCK}, 320 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_UNBLOCK},
318 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOAD_UNBLOCK}, 321 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOAD_UNBLOCK},
319 }; 322 };
320 // Fields as for kBlockedAllowIDs, above. 323 // Fields as for kBlockedAllowIDs, above.
321 static const ContentSettingsTypeIdEntry kAllowedAllowIDs[] = { 324 static const ContentSettingsTypeIdEntry kAllowedAllowIDs[] = {
322 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_ALLOWED_COOKIES_NO_ACTION}, 325 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_ALLOWED_COOKIES_NO_ACTION},
323 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_NO_ACTION}, 326 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_NO_ACTION},
324 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_ALLOWED_DOWNLOAD_NO_ACTION}, 327 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_ALLOWED_DOWNLOAD_NO_ACTION},
325 }; 328 };
326 329
327 std::string radio_allow_label; 330 std::string radio_allow_label;
328 if (allowed) { 331 if (allowed) {
329 int resource_id = GetIdForContentType(kAllowedAllowIDs, 332 int resource_id = GetIdForContentType(kAllowedAllowIDs,
330 arraysize(kAllowedAllowIDs), 333 arraysize(kAllowedAllowIDs),
331 content_type()); 334 content_type());
332 radio_allow_label = l10n_util::GetStringUTF8(resource_id); 335 radio_allow_label = l10n_util::GetStringUTF8(resource_id);
333 } else { 336 } else {
334 radio_allow_label = l10n_util::GetStringFUTF8( 337 radio_allow_label = l10n_util::GetStringFUTF8(
335 GetIdForContentType(kBlockedAllowIDs, arraysize(kBlockedAllowIDs), 338 GetIdForContentType(kBlockedAllowIDs, arraysize(kBlockedAllowIDs),
336 content_type()), 339 content_type()),
337 display_host); 340 display_host);
338 } 341 }
339 342
340 static const ContentSettingsTypeIdEntry kBlockedBlockIDs[] = { 343 static const ContentSettingsTypeIdEntry kBlockedBlockIDs[] = {
341 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_NO_ACTION}, 344 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_BLOCKED_COOKIES_NO_ACTION},
342 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_NO_ACTION}, 345 {CONTENT_SETTINGS_TYPE_IMAGES, IDS_BLOCKED_IMAGES_NO_ACTION},
343 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_NO_ACTION}, 346 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, IDS_BLOCKED_JAVASCRIPT_NO_ACTION},
347 {CONTENT_SETTINGS_TYPE_KEYGEN, IDS_BLOCKED_KEYGEN_NO_ACTION},
344 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_NO_ACTION}, 348 {CONTENT_SETTINGS_TYPE_PLUGINS, IDS_BLOCKED_PLUGINS_NO_ACTION},
345 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_NO_ACTION}, 349 {CONTENT_SETTINGS_TYPE_POPUPS, IDS_BLOCKED_POPUPS_NO_ACTION},
346 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_NO_ACTION}, 350 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_BLOCKED_PPAPI_BROKER_NO_ACTION},
347 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOAD_NO_ACTION}, 351 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_BLOCKED_DOWNLOAD_NO_ACTION},
348 }; 352 };
349 static const ContentSettingsTypeIdEntry kAllowedBlockIDs[] = { 353 static const ContentSettingsTypeIdEntry kAllowedBlockIDs[] = {
350 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_ALLOWED_COOKIES_BLOCK}, 354 {CONTENT_SETTINGS_TYPE_COOKIES, IDS_ALLOWED_COOKIES_BLOCK},
351 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_BLOCK}, 355 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, IDS_ALLOWED_PPAPI_BROKER_BLOCK},
352 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_ALLOWED_DOWNLOAD_BLOCK}, 356 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, IDS_ALLOWED_DOWNLOAD_BLOCK},
353 }; 357 };
(...skipping 1025 matching lines...) Expand 10 before | Expand all | Expand 10 after
1379 if (type == content::NOTIFICATION_WEB_CONTENTS_DESTROYED) { 1383 if (type == content::NOTIFICATION_WEB_CONTENTS_DESTROYED) {
1380 DCHECK_EQ(web_contents_, 1384 DCHECK_EQ(web_contents_,
1381 content::Source<WebContents>(source).ptr()); 1385 content::Source<WebContents>(source).ptr());
1382 web_contents_ = NULL; 1386 web_contents_ = NULL;
1383 } else { 1387 } else {
1384 DCHECK_EQ(chrome::NOTIFICATION_PROFILE_DESTROYED, type); 1388 DCHECK_EQ(chrome::NOTIFICATION_PROFILE_DESTROYED, type);
1385 DCHECK_EQ(profile_, content::Source<Profile>(source).ptr()); 1389 DCHECK_EQ(profile_, content::Source<Profile>(source).ptr());
1386 profile_ = NULL; 1390 profile_ = NULL;
1387 } 1391 }
1388 } 1392 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698