Chromium Code Reviews| OLD | NEW |
|---|---|
| 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_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ | 5 #ifndef CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ |
| 6 #define CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ | 6 #define CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 38 // ContentSettingMediaStreamBubbleModel - media (camera and mic) | 38 // ContentSettingMediaStreamBubbleModel - media (camera and mic) |
| 39 // ContentSettingSimpleBubbleModel - single content setting | 39 // ContentSettingSimpleBubbleModel - single content setting |
| 40 // ContentSettingMixedScriptBubbleModel - mixed script | 40 // ContentSettingMixedScriptBubbleModel - mixed script |
| 41 // ContentSettingRPHBubbleModel - protocol handlers | 41 // ContentSettingRPHBubbleModel - protocol handlers |
| 42 // ContentSettingMidiSysExBubbleModel - midi sysex | 42 // ContentSettingMidiSysExBubbleModel - midi sysex |
| 43 // ContentSettingDomainListBubbleModel - domain list (geolocation) | 43 // ContentSettingDomainListBubbleModel - domain list (geolocation) |
| 44 // ContentSettingSingleRadioGroup - radio group | 44 // ContentSettingSingleRadioGroup - radio group |
| 45 // ContentSettingCookiesBubbleModel - cookies | 45 // ContentSettingCookiesBubbleModel - cookies |
| 46 // ContentSettingPluginBubbleModel - plugins | 46 // ContentSettingPluginBubbleModel - plugins |
| 47 // ContentSettingPopupBubbleModel - popups | 47 // ContentSettingPopupBubbleModel - popups |
| 48 // ContentSettingSubresourceFilterBubbleModel - deceptive content | |
|
Bernhard Bauer
2016/07/27 19:27:44
Nit: Should this be "filtered subresources"? Here
melandory
2016/07/28 14:04:56
Done.
| |
| 48 | 49 |
| 49 // Forward declaration necessary for downcasts. | 50 // Forward declaration necessary for downcasts. |
| 51 class ContentSettingMediaStreamBubbleModel; | |
| 50 class ContentSettingSimpleBubbleModel; | 52 class ContentSettingSimpleBubbleModel; |
| 51 class ContentSettingMediaStreamBubbleModel; | 53 class ContentSettingSubresourceFilterBubbleModel; |
| 52 | 54 |
| 53 // This model provides data for ContentSettingBubble, and also controls | 55 // This model provides data for ContentSettingBubble, and also controls |
| 54 // the action triggered when the allow / block radio buttons are triggered. | 56 // the action triggered when the allow / block radio buttons are triggered. |
| 55 class ContentSettingBubbleModel : public content::NotificationObserver { | 57 class ContentSettingBubbleModel : public content::NotificationObserver { |
| 56 public: | 58 public: |
| 57 typedef ContentSettingBubbleModelDelegate Delegate; | 59 typedef ContentSettingBubbleModelDelegate Delegate; |
| 58 | 60 |
| 59 struct ListItem { | 61 struct ListItem { |
| 60 ListItem(const gfx::Image& image, | 62 ListItem(const gfx::Image& image, |
| 61 const std::string& title, | 63 const std::string& title, |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 155 // TODO(msramek): The casting methods below are only necessary because | 157 // TODO(msramek): The casting methods below are only necessary because |
| 156 // ContentSettingBubbleController in the Cocoa UI needs to know the type of | 158 // ContentSettingBubbleController in the Cocoa UI needs to know the type of |
| 157 // the bubble it wraps. Find a solution that does not require reflection nor | 159 // the bubble it wraps. Find a solution that does not require reflection nor |
| 158 // recreating the entire hierarchy for Cocoa UI. | 160 // recreating the entire hierarchy for Cocoa UI. |
| 159 // Cast this bubble into ContentSettingSimpleBubbleModel if possible. | 161 // Cast this bubble into ContentSettingSimpleBubbleModel if possible. |
| 160 virtual ContentSettingSimpleBubbleModel* AsSimpleBubbleModel(); | 162 virtual ContentSettingSimpleBubbleModel* AsSimpleBubbleModel(); |
| 161 | 163 |
| 162 // Cast this bubble into ContentSettingMediaStreamBubbleModel if possible. | 164 // Cast this bubble into ContentSettingMediaStreamBubbleModel if possible. |
| 163 virtual ContentSettingMediaStreamBubbleModel* AsMediaStreamBubbleModel(); | 165 virtual ContentSettingMediaStreamBubbleModel* AsMediaStreamBubbleModel(); |
| 164 | 166 |
| 167 // Cast this bubble into ContentSettingSubresourceFilterBubbleModel | |
| 168 // if possible. | |
| 169 virtual ContentSettingSubresourceFilterBubbleModel* | |
| 170 AsSubresourceFilterBubbleModel(); | |
| 171 | |
| 165 protected: | 172 protected: |
| 166 ContentSettingBubbleModel( | 173 ContentSettingBubbleModel( |
| 167 Delegate* delegate, | 174 Delegate* delegate, |
| 168 content::WebContents* web_contents, | 175 content::WebContents* web_contents, |
| 169 Profile* profile); | 176 Profile* profile); |
| 170 | 177 |
| 171 content::WebContents* web_contents() const { return web_contents_; } | 178 content::WebContents* web_contents() const { return web_contents_; } |
| 172 Profile* profile() const { return profile_; } | 179 Profile* profile() const { return profile_; } |
| 173 Delegate* delegate() const { return delegate_; } | 180 Delegate* delegate() const { return delegate_; } |
| 174 | 181 |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 275 // Initially false, set to true if the user explicitly interacts with the | 282 // Initially false, set to true if the user explicitly interacts with the |
| 276 // bubble. | 283 // bubble. |
| 277 bool interacted_; | 284 bool interacted_; |
| 278 ProtocolHandlerRegistry* registry_; | 285 ProtocolHandlerRegistry* registry_; |
| 279 ProtocolHandler pending_handler_; | 286 ProtocolHandler pending_handler_; |
| 280 ProtocolHandler previous_handler_; | 287 ProtocolHandler previous_handler_; |
| 281 | 288 |
| 282 DISALLOW_COPY_AND_ASSIGN(ContentSettingRPHBubbleModel); | 289 DISALLOW_COPY_AND_ASSIGN(ContentSettingRPHBubbleModel); |
| 283 }; | 290 }; |
| 284 | 291 |
| 292 // The model for the deceptive content bubble. | |
| 293 class ContentSettingSubresourceFilterBubbleModel | |
| 294 : public ContentSettingBubbleModel { | |
| 295 public: | |
| 296 ContentSettingSubresourceFilterBubbleModel(Delegate* delegate, | |
| 297 content::WebContents* web_contents, | |
| 298 Profile* profile); | |
| 299 | |
| 300 ~ContentSettingSubresourceFilterBubbleModel() override; | |
| 301 | |
| 302 void OnManageLinkClicked() override; | |
| 303 ContentSettingSubresourceFilterBubbleModel* AsSubresourceFilterBubbleModel() | |
| 304 override; | |
| 305 | |
| 306 private: | |
| 307 // ContentSettingBubbleModel: | |
| 308 void SetTitle() override; | |
| 309 void SetManageLink() override; | |
| 310 | |
| 311 DISALLOW_COPY_AND_ASSIGN(ContentSettingSubresourceFilterBubbleModel); | |
| 312 }; | |
| 313 | |
| 285 // The model of the content settings bubble for media settings. | 314 // The model of the content settings bubble for media settings. |
| 286 class ContentSettingMediaStreamBubbleModel : public ContentSettingBubbleModel { | 315 class ContentSettingMediaStreamBubbleModel : public ContentSettingBubbleModel { |
| 287 public: | 316 public: |
| 288 ContentSettingMediaStreamBubbleModel(Delegate* delegate, | 317 ContentSettingMediaStreamBubbleModel(Delegate* delegate, |
| 289 content::WebContents* web_contents, | 318 content::WebContents* web_contents, |
| 290 Profile* profile); | 319 Profile* profile); |
| 291 | 320 |
| 292 ~ContentSettingMediaStreamBubbleModel() override; | 321 ~ContentSettingMediaStreamBubbleModel() override; |
| 293 | 322 |
| 294 // ContentSettingBubbleModel: | 323 // ContentSettingBubbleModel: |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 332 // The content settings that are associated with the individual radio | 361 // The content settings that are associated with the individual radio |
| 333 // buttons. | 362 // buttons. |
| 334 ContentSetting radio_item_setting_[2]; | 363 ContentSetting radio_item_setting_[2]; |
| 335 // The state of the microphone and camera access. | 364 // The state of the microphone and camera access. |
| 336 TabSpecificContentSettings::MicrophoneCameraState state_; | 365 TabSpecificContentSettings::MicrophoneCameraState state_; |
| 337 | 366 |
| 338 DISALLOW_COPY_AND_ASSIGN(ContentSettingMediaStreamBubbleModel); | 367 DISALLOW_COPY_AND_ASSIGN(ContentSettingMediaStreamBubbleModel); |
| 339 }; | 368 }; |
| 340 | 369 |
| 341 #endif // CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ | 370 #endif // CHROME_BROWSER_UI_CONTENT_SETTINGS_CONTENT_SETTING_BUBBLE_MODEL_H_ |
| OLD | NEW |