diff options
author | finnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-07 00:29:17 +0000 |
---|---|---|
committer | finnur@google.com <finnur@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-07 00:29:17 +0000 |
commit | 799d9dea1be5fa710f5c0f7d9a4c00af830091b3 (patch) | |
tree | 7d7d09dbe72aed83cbf188aa51ac198a820165e7 /webkit/glue | |
parent | d81e71ece74aa68db876e639c716e892637a116b (diff) | |
download | chromium_src-799d9dea1be5fa710f5c0f7d9a4c00af830091b3.zip chromium_src-799d9dea1be5fa710f5c0f7d9a4c00af830091b3.tar.gz chromium_src-799d9dea1be5fa710f5c0f7d9a4c00af830091b3.tar.bz2 |
Implementing that callback required to pass
LayoutTest/fast/dom/assign-to-window-status.html
which is testing whether we can assign values to
window.status.
BUG=1143492
Review URL: http://codereview.chromium.org/21147
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9366 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/chrome_client_impl.cc | 14 | ||||
-rw-r--r-- | webkit/glue/chrome_client_impl.h | 13 | ||||
-rw-r--r-- | webkit/glue/webview_delegate.h | 15 |
3 files changed, 24 insertions, 18 deletions
diff --git a/webkit/glue/chrome_client_impl.cc b/webkit/glue/chrome_client_impl.cc index 6a04764..18269e1 100644 --- a/webkit/glue/chrome_client_impl.cc +++ b/webkit/glue/chrome_client_impl.cc @@ -60,7 +60,7 @@ class WebFileChooserCallbackImpl : public WebFileChooserCallback { private: RefPtr<WebCore::FileChooser> file_chooser_; - DISALLOW_EVIL_CONSTRUCTORS(WebFileChooserCallbackImpl); + DISALLOW_COPY_AND_ASSIGN(WebFileChooserCallbackImpl); }; ChromeClientImpl::ChromeClientImpl(WebViewImpl* webview) @@ -295,7 +295,7 @@ bool ChromeClientImpl::runBeforeUnloadConfirmPanel(const WebCore::String& messag void ChromeClientImpl::closeWindowSoon() { // Make sure this Page can no longer be found by JS. webview_->page()->setGroupName(WebCore::String()); - + // Make sure that all loading is stopped. Ensures that JS stops executing! webview_->StopLoading(); @@ -348,8 +348,12 @@ bool ChromeClientImpl::runJavaScriptPrompt(WebCore::Frame* frame, return false; } -void ChromeClientImpl::setStatusbarText(const WebCore::String&) { - // TODO(mbelshe): implement me +void ChromeClientImpl::setStatusbarText(const WebCore::String& message) { + WebViewDelegate* d = webview_->delegate(); + if (d) { + std::wstring wstr = webkit_glue::StringToStdWString(message); + d->SetStatusbarText(webview_, wstr); + } } bool ChromeClientImpl::shouldInterruptJavaScript() { @@ -370,7 +374,7 @@ WebCore::IntRect ChromeClientImpl::windowResizerRect() const { if (webview_->delegate()) { gfx::Rect resizer_rect; webview_->delegate()->GetRootWindowResizerRect(webview_, &resizer_rect); - rv = WebCore::IntRect(resizer_rect.x(), + rv = WebCore::IntRect(resizer_rect.x(), resizer_rect.y(), resizer_rect.width(), resizer_rect.height()); diff --git a/webkit/glue/chrome_client_impl.h b/webkit/glue/chrome_client_impl.h index 8ac4916..2c6fc22 100644 --- a/webkit/glue/chrome_client_impl.h +++ b/webkit/glue/chrome_client_impl.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef WEBKIT_GLUE_CHROME_CLIENT_IMPL_H__ -#define WEBKIT_GLUE_CHROME_CLIENT_IMPL_H__ +#ifndef WEBKIT_GLUE_CHROME_CLIENT_IMPL_H_ +#define WEBKIT_GLUE_CHROME_CLIENT_IMPL_H_ #include "base/compiler_specific.h" @@ -21,7 +21,7 @@ struct WindowFeatures; // Handles window-level notifications from WebCore on behalf of a WebView. class ChromeClientImpl : public WebCore::ChromeClientChromium { -public: + public: ChromeClientImpl(WebViewImpl* webview); virtual ~ChromeClientImpl(); @@ -81,7 +81,7 @@ public: const WebCore::String& defaultValue, WebCore::String& result); - virtual void setStatusbarText(const WebCore::String&); + virtual void setStatusbarText(const WebCore::String& message); virtual bool shouldInterruptJavaScript(); // Returns true if anchors should accept keyboard focus with the tab key. @@ -127,7 +127,7 @@ public: virtual void formStateDidChange(const WebCore::Node*); -private: + private: WebViewImpl* webview_; // weak pointer bool toolbars_visible_; bool statusbar_visible_; @@ -138,5 +138,4 @@ private: bool ignore_next_set_cursor_; }; -#endif // WEBKIT_GLUE_CHROME_CLIENT_IMPL_H__ - +#endif // WEBKIT_GLUE_CHROME_CLIENT_IMPL_H_ diff --git a/webkit/glue/webview_delegate.h b/webkit/glue/webview_delegate.h index 955985e..2fe2351 100644 --- a/webkit/glue/webview_delegate.h +++ b/webkit/glue/webview_delegate.h @@ -23,8 +23,8 @@ // of ChromeClient and FrameLoaderClient not delegated in the WebKit // implementation; and some WebView additions. -#ifndef WEBKIT_GLUE_WEBVIEW_DELEGATE_H__ -#define WEBKIT_GLUE_WEBVIEW_DELEGATE_H__ +#ifndef WEBKIT_GLUE_WEBVIEW_DELEGATE_H_ +#define WEBKIT_GLUE_WEBVIEW_DELEGATE_H_ #include <string> #include <vector> @@ -93,7 +93,7 @@ class WebFileChooserCallback { virtual void OnFileChoose(const std::vector<std::wstring>& file_names) { } private: - DISALLOW_EVIL_CONSTRUCTORS(WebFileChooserCallback); + DISALLOW_COPY_AND_ASSIGN(WebFileChooserCallback); }; @@ -518,6 +518,10 @@ class WebViewDelegate : virtual public WebWidgetDelegate { return false; } + // Sets the status bar text. + virtual void SetStatusbarText(WebView* webview, + const std::wstring& message) { } + // Displays a "before unload" confirm panel associated with the given view. // The panel should have two buttons, e.g. "OK" and "Cancel", where OK means // that the navigation should continue, and Cancel means that the navigation @@ -772,8 +776,7 @@ class WebViewDelegate : virtual public WebWidgetDelegate { virtual ~WebViewDelegate() { } private: - DISALLOW_EVIL_CONSTRUCTORS(WebViewDelegate); + DISALLOW_COPY_AND_ASSIGN(WebViewDelegate); }; -#endif // WEBKIT_GLUE_WEBVIEW_DELEGATE_H__ - +#endif // WEBKIT_GLUE_WEBVIEW_DELEGATE_H_ |