// Copyright 2011 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_VIEWS_CONTENT_SETTING_BUBBLE_CONTENTS_H_ #define CHROME_BROWSER_UI_VIEWS_CONTENT_SETTING_BUBBLE_CONTENTS_H_ #include <map> #include <memory> #include <string> #include "base/memory/raw_ptr.h" #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h" #include "content/public/browser/web_contents_observer.h" #include "ui/base/metadata/metadata_header_macros.h" #include "ui/views/bubble/bubble_dialog_delegate_view.h" #include "ui/views/controls/button/checkbox.h" #include "ui/views/controls/button/radio_button.h" namespace views { class Combobox; class ImageButton; class RadioButton; class LabelButton; } // namespace views // ContentSettingBubbleContents is used when the user turns on different kinds // of content blocking (e.g. "block images"). When viewing a page with blocked // content, icons appear in the omnibox corresponding to the content types that // were blocked, and the user can click one to get a bubble hosting a few // controls. This class provides the content of that bubble. In general, // these bubbles typically have a title, a pair of radio buttons for toggling // the blocking settings for the current site, a close button, and a button to // get to a more comprehensive settings management dialog. A few types have // more or fewer controls than this. class ContentSettingBubbleContents : public content::WebContentsObserver, public views::BubbleDialogDelegateView, public ContentSettingBubbleModel::Owner { … }; #endif // CHROME_BROWSER_UI_VIEWS_CONTENT_SETTING_BUBBLE_CONTENTS_H_