summaryrefslogtreecommitdiffstats
path: root/chrome/browser/external_protocol_handler.h
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-03 21:33:21 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-03 21:33:21 +0000
commit10f57b9be42b705fd1bed1a97acd90c8c885c396 (patch)
tree77d5fbbace6a41dc28ace3b4f573fc917aae61da /chrome/browser/external_protocol_handler.h
parentdf891031f2d5bd26eccd180fea4deb4797dd7a60 (diff)
downloadchromium_src-10f57b9be42b705fd1bed1a97acd90c8c885c396.zip
chromium_src-10f57b9be42b705fd1bed1a97acd90c8c885c396.tar.gz
chromium_src-10f57b9be42b705fd1bed1a97acd90c8c885c396.tar.bz2
Add external protocol dialog for Linux.
This exposes a bug where \n in a string resource is rendered literally when it is displayed. I don't know at what point on Windows the '\' + 'n' is translated to a line return, I have filed crbug.com/20943 BUG=20731 Review URL: http://codereview.chromium.org/194002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25373 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/external_protocol_handler.h')
-rw-r--r--chrome/browser/external_protocol_handler.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/chrome/browser/external_protocol_handler.h b/chrome/browser/external_protocol_handler.h
index 20a1375..5089d2c0 100644
--- a/chrome/browser/external_protocol_handler.h
+++ b/chrome/browser/external_protocol_handler.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_EXTERNAL_PROTOCOL_HANDLER_H__
-#define CHROME_BROWSER_EXTERNAL_PROTOCOL_HANDLER_H__
+#ifndef CHROME_BROWSER_EXTERNAL_PROTOCOL_HANDLER_H_
+#define CHROME_BROWSER_EXTERNAL_PROTOCOL_HANDLER_H_
#include <string>
@@ -33,6 +33,20 @@ class ExternalProtocolHandler {
static void LaunchUrl(const GURL& url, int render_process_host_id,
int tab_contents_id);
+ // Creates and runs a External Protocol dialog box.
+ // |url| - The url of the request.
+ // |render_process_host_id| and |routing_id| are used by
+ // tab_util::GetTabContentsByID to aquire the tab contents associated with
+ // this dialog.
+ // NOTE: There is a race between the Time of Check and the Time Of Use for
+ // the command line. Since the caller (web page) does not have access
+ // to change the command line by itself, we do not do anything special
+ // to protect against this scenario.
+ // This is implemented separately on each platform.
+ static void RunExternalProtocolDialog(const GURL& url,
+ int render_process_host_id,
+ int routing_id);
+
// Register the ExcludedSchemes preference.
static void RegisterPrefs(PrefService* prefs);
@@ -44,7 +58,7 @@ class ExternalProtocolHandler {
// NOTE: You should Not call this function directly unless you are sure the
// url you have has been checked against the blacklist, and has been escaped.
// All calls to this function should originate in some way from LaunchUrl.
- // Must run on the file thread.
+ // This will execute on the file thread.
static void LaunchUrlWithoutSecurityCheck(const GURL& url);
// Prepopulates the dictionary with known protocols to deny or allow, if
@@ -52,4 +66,4 @@ class ExternalProtocolHandler {
static void PrepopulateDictionary(DictionaryValue* win_pref);
};
-#endif // CHROME_BROWSER_EXTERNAL_PROTOCOL_HANDLER_H__
+#endif // CHROME_BROWSER_EXTERNAL_PROTOCOL_HANDLER_H_