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

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

Issue 2171713002: Safe browsing subresource filter bubble UI skeleton. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: msramek@ comments 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 #ifndef CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_ 5 #ifndef CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_
6 #define CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_ 6 #define CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 19 matching lines...) Expand all
30 class HostContentSettingsMap; 30 class HostContentSettingsMap;
31 31
32 namespace content { 32 namespace content {
33 class RenderViewHost; 33 class RenderViewHost;
34 } 34 }
35 35
36 namespace net { 36 namespace net {
37 class CookieOptions; 37 class CookieOptions;
38 } 38 }
39 39
40 // TODO(msramek): Subresource filter and media currently are storing their state
41 // in TabSpecificContentSettings: |microphone_camera_state_| and
42 // |subresource_filter_enabled_| without being tight either to a single content
msramek 2016/07/27 13:28:26 nit: tied
melandory 2016/07/27 15:05:49 Done.
43 // setting or to any content setting. This state is not ideal, potential
44 // solution is to use a map<WebContents*, bool> in the
45 // ContentSettingMediaImageModel.
46
40 // This class manages state about permissions, content settings, cookies and 47 // This class manages state about permissions, content settings, cookies and
41 // site data for a specific WebContents. It tracks which content was accessed 48 // site data for a specific WebContents. It tracks which content was accessed
42 // and which content was blocked. Based on this it provides information about 49 // and which content was blocked. Based on this it provides information about
43 // which types of content were accessed and blocked. 50 // which types of content were accessed and blocked.
44 class TabSpecificContentSettings 51 class TabSpecificContentSettings
45 : public content::WebContentsObserver, 52 : public content::WebContentsObserver,
46 public content_settings::Observer, 53 public content_settings::Observer,
47 public content::WebContentsUserData<TabSpecificContentSettings> { 54 public content::WebContentsUserData<TabSpecificContentSettings> {
48 public: 55 public:
49 // Fields describing the current mic/camera state. If a page has attempted to 56 // Fields describing the current mic/camera state. If a page has attempted to
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 188
182 // Returns whether a particular kind of content has been blocked for this 189 // Returns whether a particular kind of content has been blocked for this
183 // page. 190 // page.
184 bool IsContentBlocked(ContentSettingsType content_type) const; 191 bool IsContentBlocked(ContentSettingsType content_type) const;
185 192
186 // Returns true if content blockage was indicated to the user. 193 // Returns true if content blockage was indicated to the user.
187 bool IsBlockageIndicated(ContentSettingsType content_type) const; 194 bool IsBlockageIndicated(ContentSettingsType content_type) const;
188 195
189 void SetBlockageHasBeenIndicated(ContentSettingsType content_type); 196 void SetBlockageHasBeenIndicated(ContentSettingsType content_type);
190 197
198 void SetSubresourceFilteringActivationIndicated();
msramek 2016/07/27 13:28:27 Why the renaming to "FilteringActivation"? Since t
melandory 2016/07/27 15:05:48 Done.
199
200 bool IsSubresourceFilteringActivationIndicated() const;
201
191 // Returns whether a particular kind of content has been allowed. Currently 202 // Returns whether a particular kind of content has been allowed. Currently
192 // only tracks cookies. 203 // only tracks cookies.
193 bool IsContentAllowed(ContentSettingsType content_type) const; 204 bool IsContentAllowed(ContentSettingsType content_type) const;
194 205
195 // Returns the names of plugins that have been blocked for this tab. 206 // Returns the names of plugins that have been blocked for this tab.
196 const std::vector<base::string16>& blocked_plugin_names() const { 207 const std::vector<base::string16>& blocked_plugin_names() const {
197 return blocked_plugin_names_; 208 return blocked_plugin_names_;
198 } 209 }
199 210
200 const GURL& media_stream_access_origin() const { 211 const GURL& media_stream_access_origin() const {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 const ContentSettingsUsagesState& geolocation_usages_state() const { 244 const ContentSettingsUsagesState& geolocation_usages_state() const {
234 return geolocation_usages_state_; 245 return geolocation_usages_state_;
235 } 246 }
236 247
237 // Returns the ContentSettingsUsageState that controls the MIDI usage on 248 // Returns the ContentSettingsUsageState that controls the MIDI usage on
238 // this page. 249 // this page.
239 const ContentSettingsUsagesState& midi_usages_state() const { 250 const ContentSettingsUsagesState& midi_usages_state() const {
240 return midi_usages_state_; 251 return midi_usages_state_;
241 } 252 }
242 253
254 bool IsSubresourceBlocked() const { return subresource_filter_enabled_; }
msramek 2016/07/27 13:28:26 AFAIU, in general a method can be inlined in .cc f
melandory 2016/07/27 15:05:49 Done
255
256 void SetSubresourceFilterEnabledd(bool enabled) {
msramek 2016/07/27 13:28:27 typo: Enabled (single "d")
melandory 2016/07/27 15:05:48 Done.
257 subresource_filter_enabled_ = enabled;
258 }
259
243 // Call to indicate that there is a protocol handler pending user approval. 260 // Call to indicate that there is a protocol handler pending user approval.
244 void set_pending_protocol_handler(const ProtocolHandler& handler) { 261 void set_pending_protocol_handler(const ProtocolHandler& handler) {
245 pending_protocol_handler_ = handler; 262 pending_protocol_handler_ = handler;
246 } 263 }
247 264
248 const ProtocolHandler& pending_protocol_handler() const { 265 const ProtocolHandler& pending_protocol_handler() const {
249 return pending_protocol_handler_; 266 return pending_protocol_handler_;
250 } 267 }
251 268
252 void ClearPendingProtocolHandler() { 269 void ClearPendingProtocolHandler() {
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 MicrophoneCameraState microphone_camera_state_; 477 MicrophoneCameraState microphone_camera_state_;
461 // The selected devices at the last media stream request. 478 // The selected devices at the last media stream request.
462 std::string media_stream_selected_audio_device_; 479 std::string media_stream_selected_audio_device_;
463 std::string media_stream_selected_video_device_; 480 std::string media_stream_selected_video_device_;
464 481
465 // The devices to be displayed in the media bubble when the media stream 482 // The devices to be displayed in the media bubble when the media stream
466 // request is requesting certain specific devices. 483 // request is requesting certain specific devices.
467 std::string media_stream_requested_audio_device_; 484 std::string media_stream_requested_audio_device_;
468 std::string media_stream_requested_video_device_; 485 std::string media_stream_requested_video_device_;
469 486
487 // Manages information about Subresource filtering activation.
488 bool subresource_filter_enabled_;
489 bool subresource_filter_blockage_indicated_;
490
470 // Observer to watch for content settings changed. 491 // Observer to watch for content settings changed.
471 ScopedObserver<HostContentSettingsMap, content_settings::Observer> observer_; 492 ScopedObserver<HostContentSettingsMap, content_settings::Observer> observer_;
472 493
473 DISALLOW_COPY_AND_ASSIGN(TabSpecificContentSettings); 494 DISALLOW_COPY_AND_ASSIGN(TabSpecificContentSettings);
474 }; 495 };
475 496
476 #endif // CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_ 497 #endif // CHROME_BROWSER_CONTENT_SETTINGS_TAB_SPECIFIC_CONTENT_SETTINGS_H_
OLDNEW
« no previous file with comments | « chrome/app/theme/theme_resources.grd ('k') | chrome/browser/content_settings/tab_specific_content_settings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698