Enable ExternalProtocolDialog for Chromeos.
 * It simply says it's not supported as ChromeOS wont launch external program.
Fixed resource files to use chromeos. Apparently I misunderstood how this works when I added 'toolkit_views' to grd files. It was never defined, and wasn't necessary.

BUG=23853
TEST=type in "apple.cm" in the omnibox and it should popup the external protocol dialog.

Review URL: http://codereview.chromium.org/342040

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30593 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/chromeos/external_protocol_dialog.h b/chrome/browser/chromeos/external_protocol_dialog.h
new file mode 100644
index 0000000..9631004b
--- /dev/null
+++ b/chrome/browser/chromeos/external_protocol_dialog.h
@@ -0,0 +1,51 @@
+// 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_CHROMEOS_EXTERNAL_PROTOCOL_DIALOG_H_
+#define CHROME_BROWSER_CHROMEOS_EXTERNAL_PROTOCOL_DIALOG_H_
+
+#include "base/time.h"
+#include "views/window/dialog_delegate.h"
+
+class GURL;
+class MessageBoxView;
+class TabContents;
+
+// An external protocol dialog for ChromeOS. Unlike other platforms,
+// ChromeOS does not support launching external program, therefore,
+// this dialog simply says it is not supported.
+class ExternalProtocolDialog : public views::DialogDelegate {
+ public:
+  // RunExternalProtocolDialog calls this private constructor.
+  ExternalProtocolDialog(TabContents* tab_contents, const GURL& url);
+
+  virtual ~ExternalProtocolDialog();
+
+  // views::DialogDelegate Methods:
+  virtual int GetDialogButtons() const;
+  virtual std::wstring GetDialogButtonLabel(
+      MessageBoxFlags::DialogButton button) const;
+  virtual std::wstring GetWindowTitle() const;
+  virtual void DeleteDelegate();
+  virtual bool Accept();
+  virtual views::View* GetContentsView();
+
+  // views::WindowDelegate Methods:
+  virtual bool IsAlwaysOnTop() const { return false; }
+  virtual bool IsModal() const { return false; }
+
+ private:
+  // The message box view whose commands we handle.
+  MessageBoxView* message_box_view_;
+
+  // The time at which this dialog was created.
+  base::Time creation_time_;
+
+  // The scheme of the url.
+  std::wstring scheme_;
+
+  DISALLOW_COPY_AND_ASSIGN(ExternalProtocolDialog);
+};
+
+#endif  // CHROME_BROWSER_CHROMEOS_EXTERNAL_PROTOCOL_DIALOG_H_