diff options
author | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-09 23:22:20 +0000 |
---|---|---|
committer | pkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-09 23:22:20 +0000 |
commit | 6354314433a94aa6656499d79ff17f220220ab0f (patch) | |
tree | 74dc4cd4bd7b88a9833e7125b545ba2287ee9e92 /chrome/browser/views/content_blocked_bubble_contents.cc | |
parent | 6a760c99f8a9590f8643a832d50980c60c5c3931 (diff) | |
download | chromium_src-6354314433a94aa6656499d79ff17f220220ab0f.zip chromium_src-6354314433a94aa6656499d79ff17f220220ab0f.tar.gz chromium_src-6354314433a94aa6656499d79ff17f220220ab0f.tar.bz2 |
Make the content settings dialog dependent on its parent. This re-plumbs the "show" function to work more like a number of our other dialogs (i.e. delcared in browser_dialogs.h), and adds a TabContentsDelegate function so the content blocked info bubbles can ask the appropriate window to show the dialog.
BUG=35084
TEST=Open the content settings dialog from either the options or a content blocked info bubble. Click its parent window. The dialog should stay on top of the parent.
Review URL: http://codereview.chromium.org/597009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38534 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/content_blocked_bubble_contents.cc')
-rw-r--r-- | chrome/browser/views/content_blocked_bubble_contents.cc | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/chrome/browser/views/content_blocked_bubble_contents.cc b/chrome/browser/views/content_blocked_bubble_contents.cc index f3d5635..4646400 100644 --- a/chrome/browser/views/content_blocked_bubble_contents.cc +++ b/chrome/browser/views/content_blocked_bubble_contents.cc @@ -9,6 +9,7 @@ #include "chrome/browser/host_content_settings_map.h" #include "chrome/browser/profile.h" #include "chrome/browser/tab_contents/tab_contents.h" +#include "chrome/browser/views/browser_dialogs.h" #include "chrome/browser/views/info_bubble.h" #include "chrome/common/notification_source.h" #include "chrome/common/notification_type.h" @@ -20,10 +21,6 @@ #include "views/grid_layout.h" #include "views/standard_layout.h" -#if defined(OS_WIN) -#include "chrome/browser/views/options/content_settings_window_view.h" -#endif - ContentBlockedBubbleContents::ContentBlockedBubbleContents( ContentSettingsType content_type, const std::string& host, @@ -69,14 +66,13 @@ void ContentBlockedBubbleContents::ButtonPressed(views::Button* sender, void ContentBlockedBubbleContents::LinkActivated(views::Link* source, int event_flags) { if (source == manage_link_) { -#if defined(OS_WIN) - ContentSettingsWindowView::Show(content_type_, profile_); + if (tab_contents_) + tab_contents_->delegate()->ShowContentSettingsWindow(content_type_); + else + browser::ShowContentSettingsWindow(NULL, content_type_, profile_); // CAREFUL: Showing the settings window activates it, which deactivates the // info bubble, which causes it to close, which deletes us. return; -#else - // TODO(pkasting): Linux views doesn't have the same options dialogs. -#endif } PopupLinks::const_iterator i(popup_links_.find(source)); |