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

Side by Side Diff: chrome/browser/content_settings/tab_specific_content_settings.cc

Issue 2171713002: Safe browsing subresource filter bubble UI skeleton. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Verified xib file Created 4 years, 4 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/content_settings/tab_specific_content_settings.h" 5 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 CONTENT_SETTINGS_TYPE_GEOLOCATION), 96 CONTENT_SETTINGS_TYPE_GEOLOCATION),
97 midi_usages_state_( 97 midi_usages_state_(
98 HostContentSettingsMapFactory::GetForProfile( 98 HostContentSettingsMapFactory::GetForProfile(
99 Profile::FromBrowserContext(tab->GetBrowserContext())), 99 Profile::FromBrowserContext(tab->GetBrowserContext())),
100 CONTENT_SETTINGS_TYPE_MIDI_SYSEX), 100 CONTENT_SETTINGS_TYPE_MIDI_SYSEX),
101 pending_protocol_handler_(ProtocolHandler::EmptyProtocolHandler()), 101 pending_protocol_handler_(ProtocolHandler::EmptyProtocolHandler()),
102 previous_protocol_handler_(ProtocolHandler::EmptyProtocolHandler()), 102 previous_protocol_handler_(ProtocolHandler::EmptyProtocolHandler()),
103 pending_protocol_handler_setting_(CONTENT_SETTING_DEFAULT), 103 pending_protocol_handler_setting_(CONTENT_SETTING_DEFAULT),
104 load_plugins_link_enabled_(true), 104 load_plugins_link_enabled_(true),
105 microphone_camera_state_(MICROPHONE_CAMERA_NOT_ACCESSED), 105 microphone_camera_state_(MICROPHONE_CAMERA_NOT_ACCESSED),
106 subresource_filter_enabled_(false),
107 subresource_filter_blockage_indicated_(false),
106 observer_(this) { 108 observer_(this) {
107 ClearBlockedContentSettingsExceptForCookies(); 109 ClearBlockedContentSettingsExceptForCookies();
108 ClearCookieSpecificContentSettings(); 110 ClearCookieSpecificContentSettings();
109 111
110 observer_.Add(HostContentSettingsMapFactory::GetForProfile( 112 observer_.Add(HostContentSettingsMapFactory::GetForProfile(
111 Profile::FromBrowserContext(tab->GetBrowserContext()))); 113 Profile::FromBrowserContext(tab->GetBrowserContext())));
112 } 114 }
113 115
114 TabSpecificContentSettings::~TabSpecificContentSettings() { 116 TabSpecificContentSettings::~TabSpecificContentSettings() {
115 FOR_EACH_OBSERVER( 117 FOR_EACH_OBSERVER(
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 content_type == CONTENT_SETTINGS_TYPE_MIDI_SYSEX || 252 content_type == CONTENT_SETTINGS_TYPE_MIDI_SYSEX ||
251 content_type == CONTENT_SETTINGS_TYPE_KEYGEN) { 253 content_type == CONTENT_SETTINGS_TYPE_KEYGEN) {
252 const auto& it = content_settings_status_.find(content_type); 254 const auto& it = content_settings_status_.find(content_type);
253 if (it != content_settings_status_.end()) 255 if (it != content_settings_status_.end())
254 return it->second.blocked; 256 return it->second.blocked;
255 } 257 }
256 258
257 return false; 259 return false;
258 } 260 }
259 261
262 bool TabSpecificContentSettings::IsSubresourceBlocked() const {
263 return subresource_filter_enabled_;
264 }
265
260 bool TabSpecificContentSettings::IsBlockageIndicated( 266 bool TabSpecificContentSettings::IsBlockageIndicated(
261 ContentSettingsType content_type) const { 267 ContentSettingsType content_type) const {
262 const auto& it = content_settings_status_.find(content_type); 268 const auto& it = content_settings_status_.find(content_type);
263 if (it != content_settings_status_.end()) 269 if (it != content_settings_status_.end())
264 return it->second.blockage_indicated_to_user; 270 return it->second.blockage_indicated_to_user;
265 return false; 271 return false;
266 } 272 }
267 273
274 bool TabSpecificContentSettings::IsSubresourceBlockageIndicated() const {
275 return subresource_filter_blockage_indicated_;
276 }
277
268 void TabSpecificContentSettings::SetBlockageHasBeenIndicated( 278 void TabSpecificContentSettings::SetBlockageHasBeenIndicated(
269 ContentSettingsType content_type) { 279 ContentSettingsType content_type) {
270 content_settings_status_[content_type].blockage_indicated_to_user = true; 280 content_settings_status_[content_type].blockage_indicated_to_user = true;
271 } 281 }
272 282
283 void TabSpecificContentSettings::SetSubresourceBlockageIndicated() {
284 subresource_filter_blockage_indicated_ = true;
285 }
286
273 bool TabSpecificContentSettings::IsContentAllowed( 287 bool TabSpecificContentSettings::IsContentAllowed(
274 ContentSettingsType content_type) const { 288 ContentSettingsType content_type) const {
275 // This method currently only returns meaningful values for the content type 289 // This method currently only returns meaningful values for the content type
276 // cookies, media, PPAPI broker, downloads, and MIDI sysex. 290 // cookies, media, PPAPI broker, downloads, and MIDI sysex.
277 if (content_type != CONTENT_SETTINGS_TYPE_COOKIES && 291 if (content_type != CONTENT_SETTINGS_TYPE_COOKIES &&
278 content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC && 292 content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC &&
279 content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA && 293 content_type != CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA &&
280 content_type != CONTENT_SETTINGS_TYPE_PPAPI_BROKER && 294 content_type != CONTENT_SETTINGS_TYPE_PPAPI_BROKER &&
281 content_type != CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS && 295 content_type != CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS &&
282 content_type != CONTENT_SETTINGS_TYPE_MIDI_SYSEX) { 296 content_type != CONTENT_SETTINGS_TYPE_MIDI_SYSEX) {
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 ContentSettingsStatus& status = 697 ContentSettingsStatus& status =
684 content_settings_status_[CONTENT_SETTINGS_TYPE_POPUPS]; 698 content_settings_status_[CONTENT_SETTINGS_TYPE_POPUPS];
685 status.blocked = blocked; 699 status.blocked = blocked;
686 status.blockage_indicated_to_user = false; 700 status.blockage_indicated_to_user = false;
687 content::NotificationService::current()->Notify( 701 content::NotificationService::current()->Notify(
688 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED, 702 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
689 content::Source<WebContents>(web_contents()), 703 content::Source<WebContents>(web_contents()),
690 content::NotificationService::NoDetails()); 704 content::NotificationService::NoDetails());
691 } 705 }
692 706
707 void TabSpecificContentSettings::SetSubresourceBlocked(bool enabled) {
708 subresource_filter_enabled_ = enabled;
709 }
710
693 void TabSpecificContentSettings::SetPepperBrokerAllowed(bool allowed) { 711 void TabSpecificContentSettings::SetPepperBrokerAllowed(bool allowed) {
694 if (allowed) { 712 if (allowed) {
695 OnContentAllowed(CONTENT_SETTINGS_TYPE_PPAPI_BROKER); 713 OnContentAllowed(CONTENT_SETTINGS_TYPE_PPAPI_BROKER);
696 } else { 714 } else {
697 OnContentBlocked(CONTENT_SETTINGS_TYPE_PPAPI_BROKER); 715 OnContentBlocked(CONTENT_SETTINGS_TYPE_PPAPI_BROKER);
698 } 716 }
699 } 717 }
700 718
701 void TabSpecificContentSettings::OnContentSettingChanged( 719 void TabSpecificContentSettings::OnContentSettingChanged(
702 const ContentSettingsPattern& primary_pattern, 720 const ContentSettingsPattern& primary_pattern,
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 static_cast<MicrophoneCameraStateFlags>( 867 static_cast<MicrophoneCameraStateFlags>(
850 TabSpecificContentSettings::MICROPHONE_ACCESSED | 868 TabSpecificContentSettings::MICROPHONE_ACCESSED |
851 TabSpecificContentSettings::MICROPHONE_BLOCKED | 869 TabSpecificContentSettings::MICROPHONE_BLOCKED |
852 TabSpecificContentSettings::CAMERA_ACCESSED | 870 TabSpecificContentSettings::CAMERA_ACCESSED |
853 TabSpecificContentSettings::CAMERA_BLOCKED); 871 TabSpecificContentSettings::CAMERA_BLOCKED);
854 OnMediaStreamPermissionSet( 872 OnMediaStreamPermissionSet(
855 web_contents()->GetLastCommittedURL(), 873 web_contents()->GetLastCommittedURL(),
856 media_blocked, 874 media_blocked,
857 std::string(), std::string(), std::string(), std::string()); 875 std::string(), std::string(), std::string(), std::string());
858 } 876 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698