summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/external_protocol_dialog_gtk.cc
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-25 20:09:49 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-25 20:09:49 +0000
commite7eaeddeb5616207ddb404d0fe5344b1dd6f4c80 (patch)
tree7622f285449cccbd2d5a6e65ce574d4bc8d97856 /chrome/browser/gtk/external_protocol_dialog_gtk.cc
parent89a8ffc551828c6cce7c5cfa1023d9aee7df8da5 (diff)
downloadchromium_src-e7eaeddeb5616207ddb404d0fe5344b1dd6f4c80.zip
chromium_src-e7eaeddeb5616207ddb404d0fe5344b1dd6f4c80.tar.gz
chromium_src-e7eaeddeb5616207ddb404d0fe5344b1dd6f4c80.tar.bz2
Hook up external protocol handler to user gestures to prevent malicious sites from popping up a lot of dialogs (or in the case of whitelisted protocols, launching a lot of programs).
BUG=3628 TEST=test.html from crbug.com/21049 Review URL: http://codereview.chromium.org/240002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27237 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/external_protocol_dialog_gtk.cc')
-rw-r--r--chrome/browser/gtk/external_protocol_dialog_gtk.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/chrome/browser/gtk/external_protocol_dialog_gtk.cc b/chrome/browser/gtk/external_protocol_dialog_gtk.cc
index 7958e1b..2202cc1 100644
--- a/chrome/browser/gtk/external_protocol_dialog_gtk.cc
+++ b/chrome/browser/gtk/external_protocol_dialog_gtk.cc
@@ -8,6 +8,7 @@
#include "app/l10n_util.h"
#include "base/histogram.h"
+#include "base/message_loop.h"
#include "chrome/browser/external_protocol_handler.h"
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/browser/tab_contents/tab_contents_view.h"
@@ -37,6 +38,7 @@ void ExternalProtocolHandler::RunExternalProtocolDialog(
ExternalProtocolDialogGtk::ExternalProtocolDialogGtk(const GURL& url)
: url_(url),
creation_time_(base::Time::Now()) {
+ DCHECK_EQ(MessageLoop::TYPE_UI, MessageLoop::current()->type());
dialog_ = gtk_dialog_new_with_buttons(
l10n_util::GetStringUTF8(IDS_EXTERNAL_PROTOCOL_TITLE).c_str(),