| Index: chrome/renderer/render_view.cc
|
| ===================================================================
|
| --- chrome/renderer/render_view.cc (revision 20851)
|
| +++ chrome/renderer/render_view.cc (working copy)
|
| @@ -106,6 +106,7 @@
|
| using WebKit::WebDragData;
|
| using WebKit::WebForm;
|
| using WebKit::WebHistoryItem;
|
| +using WebKit::WebNavigationPolicy;
|
| using WebKit::WebNavigationType;
|
| using WebKit::WebPopupMenuInfo;
|
| using WebKit::WebRect;
|
| @@ -116,9 +117,10 @@
|
| using WebKit::WebURLError;
|
| using WebKit::WebURLRequest;
|
| using WebKit::WebURLResponse;
|
| +using WebKit::WebVector;
|
| +using WebKit::WebWidget;
|
| using WebKit::WebWorker;
|
| using WebKit::WebWorkerClient;
|
| -using WebKit::WebVector;
|
|
|
| //-----------------------------------------------------------------------------
|
|
|
| @@ -560,13 +562,13 @@
|
| double begin = time_util::GetHighResolutionTimeNow();
|
| #endif
|
|
|
| - view->Layout();
|
| - const WebSize& size = view->GetSize();
|
| + view->layout();
|
| + const WebSize& size = view->size();
|
|
|
| skia::PlatformCanvas canvas;
|
| if (!canvas.initialize(size.width, size.height, true))
|
| return false;
|
| - view->Paint(&canvas, WebRect(0, 0, size.width, size.height));
|
| + view->paint(&canvas, WebRect(0, 0, size.width, size.height));
|
|
|
| skia::BitmapPlatformDevice& device =
|
| static_cast<skia::BitmapPlatformDevice&>(canvas.getTopPlatformDevice());
|
| @@ -1474,12 +1476,12 @@
|
| EventBindings::HandleContextCreated(webframe);
|
| }
|
|
|
| -WindowOpenDisposition RenderView::DispositionForNavigationAction(
|
| +WebNavigationPolicy RenderView::PolicyForNavigationAction(
|
| WebView* webview,
|
| WebFrame* frame,
|
| const WebURLRequest& request,
|
| WebNavigationType type,
|
| - WindowOpenDisposition disposition,
|
| + WebNavigationPolicy default_policy,
|
| bool is_redirect) {
|
| // A content initiated navigation may have originated from a link-click,
|
| // script, drag-n-drop operation, etc.
|
| @@ -1496,8 +1498,9 @@
|
| // to, for example, opening a new window).
|
| // But we sometimes navigate to about:blank to clear a tab, and we want to
|
| // still allow that.
|
| - if (disposition == CURRENT_TAB && is_content_initiated &&
|
| - frame->GetParent() == NULL && !url.SchemeIs(chrome::kAboutScheme)) {
|
| + if (default_policy == WebKit::WebNavigationPolicyCurrentTab &&
|
| + is_content_initiated && frame->GetParent() == NULL &&
|
| + !url.SchemeIs(chrome::kAboutScheme)) {
|
| // When we received such unsolicited navigations, we sometimes want to
|
| // punt them up to the browser to handle.
|
| if (BindingsPolicy::is_dom_ui_enabled(enabled_bindings_) ||
|
| @@ -1505,8 +1508,8 @@
|
| frame->GetInViewSourceMode() ||
|
| url.SchemeIs(chrome::kViewSourceScheme) ||
|
| url.SchemeIs(chrome::kPrintScheme)) {
|
| - OpenURL(webview, url, GURL(), disposition);
|
| - return IGNORE_ACTION; // Suppress the load here.
|
| + OpenURL(webview, url, GURL(), default_policy);
|
| + return WebKit::WebNavigationPolicyIgnore; // Suppress the load here.
|
| }
|
| }
|
|
|
| @@ -1535,16 +1538,16 @@
|
| // Must not have issued the request from this page.
|
| is_content_initiated &&
|
| // Must be targeted at the current tab.
|
| - disposition == CURRENT_TAB &&
|
| + default_policy == WebKit::WebNavigationPolicyCurrentTab &&
|
| // Must be a JavaScript navigation, which appears as "other".
|
| type == WebKit::WebNavigationTypeOther;
|
| if (is_fork) {
|
| // Open the URL via the browser, not via WebKit.
|
| - OpenURL(webview, url, GURL(), disposition);
|
| - return IGNORE_ACTION;
|
| + OpenURL(webview, url, GURL(), default_policy);
|
| + return WebKit::WebNavigationPolicyIgnore;
|
| }
|
|
|
| - return disposition;
|
| + return default_policy;
|
| }
|
|
|
| void RenderView::RunJavaScriptAlert(WebFrame* webframe,
|
| @@ -1884,8 +1887,9 @@
|
|
|
| void RenderView::OpenURL(WebView* webview, const GURL& url,
|
| const GURL& referrer,
|
| - WindowOpenDisposition disposition) {
|
| - Send(new ViewHostMsg_OpenURL(routing_id_, url, referrer, disposition));
|
| + WebNavigationPolicy policy) {
|
| + Send(new ViewHostMsg_OpenURL(
|
| + routing_id_, url, referrer, NavigationPolicyToDisposition(policy)));
|
| }
|
|
|
| void RenderView::DidContentsSizeChange(WebWidget* webwidget,
|
| @@ -1918,7 +1922,7 @@
|
| // This method provides us with the information about how to display the newly
|
| // created RenderView (i.e., as a constrained popup or as a new tab).
|
| //
|
| -void RenderView::Show(WebWidget* webwidget, WindowOpenDisposition disposition) {
|
| +void RenderView::show(WebNavigationPolicy policy) {
|
| DCHECK(!did_show_) << "received extraneous Show call";
|
| DCHECK(opener_id_ != MSG_ROUTING_NONE);
|
|
|
| @@ -1929,17 +1933,18 @@
|
| // NOTE: initial_pos_ may still have its default values at this point, but
|
| // that's okay. It'll be ignored if disposition is not NEW_POPUP, or the
|
| // browser process will impose a default position otherwise.
|
| - Send(new ViewHostMsg_ShowView(opener_id_, routing_id_, disposition,
|
| - initial_pos_, opened_by_user_gesture_, creator_url_));
|
| + Send(new ViewHostMsg_ShowView(opener_id_, routing_id_,
|
| + NavigationPolicyToDisposition(policy), initial_pos_,
|
| + opened_by_user_gesture_, creator_url_));
|
| SetPendingWindowRect(initial_pos_);
|
| }
|
|
|
| -void RenderView::CloseWidgetSoon(WebWidget* webwidget) {
|
| +void RenderView::closeWidgetSoon() {
|
| if (!popup_notification_visible_)
|
| - RenderWidget::CloseWidgetSoon(webwidget);
|
| + RenderWidget::closeWidgetSoon();
|
| }
|
|
|
| -void RenderView::RunModal(WebWidget* webwidget) {
|
| +void RenderView::runModal() {
|
| DCHECK(did_show_) << "should already have shown the view";
|
|
|
| IPC::SyncMessage* msg = new ViewHostMsg_RunModal(routing_id_);
|
| @@ -2732,7 +2737,7 @@
|
| #if defined(OS_WIN)
|
| gfx::NativeTheme::instance()->CloseHandles();
|
| gfx::Rect view_rect(0, 0, size_.width(), size_.height());
|
| - DidInvalidateRect(webwidget_, view_rect);
|
| + didInvalidateRect(view_rect);
|
| #else // defined(OS_WIN)
|
| // TODO(port): we don't support theming on non-Windows platforms yet
|
| NOTIMPLEMENTED();
|
| @@ -3018,6 +3023,10 @@
|
| #endif
|
| }
|
|
|
| +void RenderView::DidMovePlugin(const WebPluginGeometry& move) {
|
| + SchedulePluginMove(move);
|
| +}
|
| +
|
| void RenderView::SendPasswordForms(WebFrame* frame) {
|
| std::vector<WebForm> forms;
|
| frame->GetForms(&forms);
|
|
|