diff options
Diffstat (limited to 'webkit/tools/test_shell/test_webview_delegate.cc')
-rw-r--r-- | webkit/tools/test_shell/test_webview_delegate.cc | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/webkit/tools/test_shell/test_webview_delegate.cc b/webkit/tools/test_shell/test_webview_delegate.cc index 2fdf392..d78971b 100644 --- a/webkit/tools/test_shell/test_webview_delegate.cc +++ b/webkit/tools/test_shell/test_webview_delegate.cc @@ -56,7 +56,6 @@ using WebKit::WebDataSource; using WebKit::WebDragData; using WebKit::WebHistoryItem; using WebKit::WebNavigationType; -using WebKit::WebNavigationPolicy; using WebKit::WebRect; using WebKit::WebScreenInfo; using WebKit::WebSize; @@ -64,7 +63,6 @@ using WebKit::WebString; using WebKit::WebURL; using WebKit::WebURLError; using WebKit::WebURLRequest; -using WebKit::WebWidget; using WebKit::WebWorker; using WebKit::WebWorkerClient; @@ -163,11 +161,13 @@ WebWorker* TestWebViewDelegate::CreateWebWorker(WebWorkerClient* client) { void TestWebViewDelegate::OpenURL(WebView* webview, const GURL& url, const GURL& referrer, - WebNavigationPolicy policy) { - DCHECK_NE(policy, WebKit::WebNavigationPolicyCurrentTab); + WindowOpenDisposition disposition) { + DCHECK_NE(disposition, CURRENT_TAB); // No code for this + if (disposition == SUPPRESS_OPEN) + return; TestShell* shell = NULL; if (TestShell::CreateNewWindow(UTF8ToWide(url.spec()), &shell)) - shell->Show(policy); + shell->Show(shell->webView(), disposition); } void TestWebViewDelegate::DidStartLoading(WebView* webview) { @@ -182,14 +182,14 @@ void TestWebViewDelegate::WindowObjectCleared(WebFrame* webframe) { shell_->BindJSObjectsToWindow(webframe); } -WebNavigationPolicy TestWebViewDelegate::PolicyForNavigationAction( +WindowOpenDisposition TestWebViewDelegate::DispositionForNavigationAction( WebView* webview, WebFrame* frame, const WebURLRequest& request, WebNavigationType type, - WebNavigationPolicy default_policy, + WindowOpenDisposition disposition, bool is_redirect) { - WebNavigationPolicy result; + WindowOpenDisposition result; if (policy_delegate_enabled_) { std::wstring frame_name = frame->GetName(); std::string url_description; @@ -201,15 +201,12 @@ WebNavigationPolicy TestWebViewDelegate::PolicyForNavigationAction( } printf("Policy delegate: attempt to load %s with navigation type '%s'\n", url_description.c_str(), WebNavigationTypeToString(type)); - if (policy_delegate_is_permissive_) { - result = WebKit::WebNavigationPolicyCurrentTab; - } else { - result = WebKit::WebNavigationPolicyIgnore; - } + result = policy_delegate_is_permissive_ ? CURRENT_TAB : IGNORE_ACTION; if (policy_delegate_should_notify_done_) shell_->layout_test_controller()->PolicyDelegateDone(); } else { - result = default_policy; + result = WebViewDelegate::DispositionForNavigationAction( + webview, frame, request, type, disposition, is_redirect); } return result; } @@ -747,29 +744,34 @@ void TestWebViewDelegate::SetUserStyleSheetLocation(const GURL& location) { // WebWidgetDelegate --------------------------------------------------------- -void TestWebViewDelegate::didInvalidateRect(const WebRect& rect) { - if (WebWidgetHost* host = GetWidgetHost()) +void TestWebViewDelegate::DidInvalidateRect(WebWidget* webwidget, + const WebRect& rect) { + if (WebWidgetHost* host = GetHostForWidget(webwidget)) host->DidInvalidateRect(rect); } -void TestWebViewDelegate::didScrollRect(int dx, int dy, +void TestWebViewDelegate::DidScrollRect(WebWidget* webwidget, int dx, int dy, const WebRect& clip_rect) { - if (WebWidgetHost* host = GetWidgetHost()) + if (WebWidgetHost* host = GetHostForWidget(webwidget)) host->DidScrollRect(dx, dy, clip_rect); } -void TestWebViewDelegate::didFocus() { - if (WebWidgetHost* host = GetWidgetHost()) +void TestWebViewDelegate::Focus(WebWidget* webwidget) { + if (WebWidgetHost* host = GetHostForWidget(webwidget)) shell_->SetFocus(host, true); } -void TestWebViewDelegate::didBlur() { - if (WebWidgetHost* host = GetWidgetHost()) +void TestWebViewDelegate::Blur(WebWidget* webwidget) { + if (WebWidgetHost* host = GetHostForWidget(webwidget)) shell_->SetFocus(host, false); } -WebScreenInfo TestWebViewDelegate::screenInfo() { - if (WebWidgetHost* host = GetWidgetHost()) +bool TestWebViewDelegate::IsHidden(WebWidget* webwidget) { + return false; +} + +WebScreenInfo TestWebViewDelegate::GetScreenInfo(WebWidget* webwidget) { + if (WebWidgetHost* host = GetHostForWidget(webwidget)) return host->GetScreenInfo(); return WebScreenInfo(); @@ -833,10 +835,10 @@ void TestWebViewDelegate::LocationChangeDone(WebFrame* frame) { } } -WebWidgetHost* TestWebViewDelegate::GetWidgetHost() { - if (this == shell_->delegate()) +WebWidgetHost* TestWebViewDelegate::GetHostForWidget(WebWidget* webwidget) { + if (webwidget == shell_->webView()) return shell_->webViewHost(); - if (this == shell_->popup_delegate()) + if (webwidget == shell_->popup()) return shell_->popupHost(); return NULL; } |