diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-03 21:33:21 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-03 21:33:21 +0000 |
commit | 10f57b9be42b705fd1bed1a97acd90c8c885c396 (patch) | |
tree | 77d5fbbace6a41dc28ace3b4f573fc917aae61da /chrome/browser/external_protocol_handler.h | |
parent | df891031f2d5bd26eccd180fea4deb4797dd7a60 (diff) | |
download | chromium_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.h | 24 |
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_ |