From 10f57b9be42b705fd1bed1a97acd90c8c885c396 Mon Sep 17 00:00:00 2001
From: "estade@chromium.org"
 <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu, 3 Sep 2009 21:33:21 +0000
Subject: 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
---
 chrome/browser/views/external_protocol_dialog.h | 33 +++++++------------------
 1 file changed, 9 insertions(+), 24 deletions(-)

(limited to 'chrome/browser/views/external_protocol_dialog.h')

diff --git a/chrome/browser/views/external_protocol_dialog.h b/chrome/browser/views/external_protocol_dialog.h
index d74df51..c9e5199 100644
--- a/chrome/browser/views/external_protocol_dialog.h
+++ b/chrome/browser/views/external_protocol_dialog.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_DIALOG_H__
-#define CHROME_BROWSER_EXTERNAL_PROTOCOL_DIALOG_H__
+#ifndef CHROME_BROWSER_EXTERNAL_PROTOCOL_DIALOG_H_
+#define CHROME_BROWSER_EXTERNAL_PROTOCOL_DIALOG_H_
 
 #include "base/time.h"
 #include "googleurl/src/gurl.h"
@@ -14,20 +14,10 @@ class TabContents;
 
 class ExternalProtocolDialog : public views::DialogDelegate {
  public:
-  // Creates and runs a External Protocol dialog box.
-  // |url| - The url of the request.
-  // |command| - the command that ShellExecute will run.
-  // |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.
-  static void RunExternalProtocolDialog(const GURL& url,
-                                        const std::wstring& command,
-                                        int render_process_host_id,
-                                        int routing_id);
+  // RunExternalProtocolDialog calls this private constructor.
+  ExternalProtocolDialog(TabContents* tab_contents,
+                         const GURL& url,
+                         const std::wstring& command);
 
   // Returns the path of the application to be launched given the protocol
   // of the requested url. Returns an empty string on failure.
@@ -49,11 +39,6 @@ class ExternalProtocolDialog : public views::DialogDelegate {
   virtual bool IsModal() const { return false; }
 
  private:
-  // RunExternalProtocolDialog calls this private constructor.
-  ExternalProtocolDialog(TabContents* tab_contents,
-                         const GURL& url,
-                         const std::wstring& command);
-
   // The message box view whose commands we handle.
   MessageBoxView* message_box_view_;
 
@@ -66,7 +51,7 @@ class ExternalProtocolDialog : public views::DialogDelegate {
   // The time at which this dialog was created.
   base::Time creation_time_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(ExternalProtocolDialog);
+  DISALLOW_COPY_AND_ASSIGN(ExternalProtocolDialog);
 };
 
-#endif // CHROME_BROWSER_EXTERNAL_PROTOCOL_DIALOG_H__
+#endif // CHROME_BROWSER_EXTERNAL_PROTOCOL_DIALOG_H_
-- 
cgit v1.1