| Index: chrome/browser/ui/content_settings/content_setting_bubble_model.h
 | 
| diff --git a/chrome/browser/ui/content_settings/content_setting_bubble_model.h b/chrome/browser/ui/content_settings/content_setting_bubble_model.h
 | 
| index a7b5aaf11800c3bc6620f9563d729eedf7563689..897ac77b012efe11f7e98a78baf006ded8ae63f3 100644
 | 
| --- a/chrome/browser/ui/content_settings/content_setting_bubble_model.h
 | 
| +++ b/chrome/browser/ui/content_settings/content_setting_bubble_model.h
 | 
| @@ -45,10 +45,12 @@ class WebContents;
 | 
|  //       ContentSettingCookiesBubbleModel            - cookies
 | 
|  //       ContentSettingPluginBubbleModel             - plugins
 | 
|  //       ContentSettingPopupBubbleModel              - popups
 | 
| +//   ContentSettingSubresourceFilterBubbleModel  - filtered subresources
 | 
|  
 | 
|  // Forward declaration necessary for downcasts.
 | 
| -class ContentSettingSimpleBubbleModel;
 | 
|  class ContentSettingMediaStreamBubbleModel;
 | 
| +class ContentSettingSimpleBubbleModel;
 | 
| +class ContentSettingSubresourceFilterBubbleModel;
 | 
|  
 | 
|  // This model provides data for ContentSettingBubble, and also controls
 | 
|  // the action triggered when the allow / block radio buttons are triggered.
 | 
| @@ -162,6 +164,11 @@ class ContentSettingBubbleModel : public content::NotificationObserver {
 | 
|    // Cast this bubble into ContentSettingMediaStreamBubbleModel if possible.
 | 
|    virtual ContentSettingMediaStreamBubbleModel* AsMediaStreamBubbleModel();
 | 
|  
 | 
| +  // Cast this bubble into ContentSettingSubresourceFilterBubbleModel
 | 
| +  // if possible.
 | 
| +  virtual ContentSettingSubresourceFilterBubbleModel*
 | 
| +  AsSubresourceFilterBubbleModel();
 | 
| +
 | 
|   protected:
 | 
|    ContentSettingBubbleModel(
 | 
|        Delegate* delegate,
 | 
| @@ -282,6 +289,28 @@ class ContentSettingRPHBubbleModel : public ContentSettingSimpleBubbleModel {
 | 
|    DISALLOW_COPY_AND_ASSIGN(ContentSettingRPHBubbleModel);
 | 
|  };
 | 
|  
 | 
| +// The model for the deceptive content bubble.
 | 
| +class ContentSettingSubresourceFilterBubbleModel
 | 
| +    : public ContentSettingBubbleModel {
 | 
| + public:
 | 
| +  ContentSettingSubresourceFilterBubbleModel(Delegate* delegate,
 | 
| +                                             content::WebContents* web_contents,
 | 
| +                                             Profile* profile);
 | 
| +
 | 
| +  ~ContentSettingSubresourceFilterBubbleModel() override;
 | 
| +
 | 
| +  void OnManageLinkClicked() override;
 | 
| +  ContentSettingSubresourceFilterBubbleModel* AsSubresourceFilterBubbleModel()
 | 
| +      override;
 | 
| +
 | 
| + private:
 | 
| +  // ContentSettingBubbleModel:
 | 
| +  void SetTitle() override;
 | 
| +  void SetManageLink() override;
 | 
| +
 | 
| +  DISALLOW_COPY_AND_ASSIGN(ContentSettingSubresourceFilterBubbleModel);
 | 
| +};
 | 
| +
 | 
|  // The model of the content settings bubble for media settings.
 | 
|  class ContentSettingMediaStreamBubbleModel : public ContentSettingBubbleModel {
 | 
|   public:
 | 
| 
 |