diff options
author | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-06 04:08:54 +0000 |
---|---|---|
committer | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-06 04:08:54 +0000 |
commit | beb440cea06ba40683a755d14dd5dbf9d11baadf (patch) | |
tree | 79b805ed76621b38c5682033a3fbab9dc0a6f8a8 /chrome/browser/jsmessage_box_client.h | |
parent | da3b971ec3cababd149b5cd6a7a9d021bfdd96b4 (diff) | |
download | chromium_src-beb440cea06ba40683a755d14dd5dbf9d11baadf.zip chromium_src-beb440cea06ba40683a755d14dd5dbf9d11baadf.tar.gz chromium_src-beb440cea06ba40683a755d14dd5dbf9d11baadf.tar.bz2 |
Implement window.alert() and its cousins for extensions.
Second try, now with fixed observer.
BUG=12126
TEST=put a window.prompt() in a background page, a browser action, and a page action.
Make sure it gets the result back correctly. Also make sure it still works when
called from a web page.
Review URL: http://codereview.chromium.org/373006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31204 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/jsmessage_box_client.h')
-rw-r--r-- | chrome/browser/jsmessage_box_client.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/chrome/browser/jsmessage_box_client.h b/chrome/browser/jsmessage_box_client.h new file mode 100644 index 0000000..5e60c5d --- /dev/null +++ b/chrome/browser/jsmessage_box_client.h @@ -0,0 +1,50 @@ +// 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_JSMESSAGE_BOX_CLIENT_H_ +#define CHROME_BROWSER_JSMESSAGE_BOX_CLIENT_H_ + +// JavaScriptMessageBoxClient +// +// An interface implemented by an object that receives results from JavaScript +// message boxes (alert, confirm, and prompt). +// + +#include <string> + +#include "app/gfx/native_widget_types.h" + +class GURL; +class Profile; +class TabContents; +namespace IPC { +class Message; +} + +class JavaScriptMessageBoxClient { + public: + virtual ~JavaScriptMessageBoxClient() {} + + // Returns the title to use for the message box. + virtual std::wstring GetMessageBoxTitle(const GURL& frame_url, + bool is_alert) = 0; + + // Returns the root native window with which the message box is associated. + virtual gfx::NativeWindow GetMessageBoxRootWindow() = 0; + + // AppModalDialog calls this when the dialog is closed. + virtual void OnMessageBoxClosed(IPC::Message* reply_msg, + bool success, + const std::wstring& prompt) = 0; + + // Indicates whether additional message boxes should be suppressed. + virtual void SetSuppressMessageBoxes(bool suppress_message_boxes) = 0; + + // Returns the TabContents associated with this message box -- in practice, + // the TabContents implementing this interface -- or NULL if it has no + // TabContents (e.g., it's an ExtensionHost). + virtual TabContents* AsTabContents() = 0; +}; + +# endif // CHROME_BROWSER_JSMESSAGE_BOX_CLIENT_H_ |