summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/content_blocked_bubble_contents.cc
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-09 23:22:20 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-09 23:22:20 +0000
commit6354314433a94aa6656499d79ff17f220220ab0f (patch)
tree74dc4cd4bd7b88a9833e7125b545ba2287ee9e92 /chrome/browser/views/content_blocked_bubble_contents.cc
parent6a760c99f8a9590f8643a832d50980c60c5c3931 (diff)
downloadchromium_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.cc14
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));