diff options
author | creis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-12 15:37:15 +0000 |
---|---|---|
committer | creis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-12 15:37:15 +0000 |
commit | 992db4c20a063a1009ae28c2cfb5b220701ea301 (patch) | |
tree | 570549ba54be36ea4b81ef446791e1d2e546e6f9 /content/browser/renderer_host/render_widget_helper.cc | |
parent | 08c5fe5d62ec33cd7215bcdcd532d83866076580 (diff) | |
download | chromium_src-992db4c20a063a1009ae28c2cfb5b220701ea301.zip chromium_src-992db4c20a063a1009ae28c2cfb5b220701ea301.tar.gz chromium_src-992db4c20a063a1009ae28c2cfb5b220701ea301.tar.bz2 |
Support window.opener after a process swap.
Changes:
1. Swap out RVHs instead of closing them, so we can return to the same Frame object if we later come back.
2. Filter out messages from swapped out RVHs, in case any are in-flight.
3. Remove the workaround for navigating away from an app.
4. Update tests to reflect the new sequence of events.
BUG=65953
TEST=AppApiTest.AppProcess
TEST=ResourceDispatcherTest.CrossSiteImmediateLoadOnunloadCookie
Review URL: http://codereview.chromium.org/6319001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85134 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/render_widget_helper.cc')
-rw-r--r-- | content/browser/renderer_host/render_widget_helper.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/content/browser/renderer_host/render_widget_helper.cc b/content/browser/renderer_host/render_widget_helper.cc index 161bf88..f297110 100644 --- a/content/browser/renderer_host/render_widget_helper.cc +++ b/content/browser/renderer_host/render_widget_helper.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 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. @@ -85,12 +85,12 @@ void RenderWidgetHelper::CancelResourceRequests(int render_widget_id) { render_widget_id)); } -void RenderWidgetHelper::CrossSiteClosePageACK( - const ViewMsg_ClosePage_Params& params) { +void RenderWidgetHelper::CrossSiteSwapOutACK( + const ViewMsg_SwapOut_Params& params) { BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, NewRunnableMethod(this, - &RenderWidgetHelper::OnCrossSiteClosePageACK, + &RenderWidgetHelper::OnCrossSiteSwapOutACK, params)); } @@ -202,9 +202,9 @@ void RenderWidgetHelper::OnCancelResourceRequests( render_process_id_, render_widget_id); } -void RenderWidgetHelper::OnCrossSiteClosePageACK( - const ViewMsg_ClosePage_Params& params) { - resource_dispatcher_host_->OnClosePageACK(params); +void RenderWidgetHelper::OnCrossSiteSwapOutACK( + const ViewMsg_SwapOut_Params& params) { + resource_dispatcher_host_->OnSwapOutACK(params); } void RenderWidgetHelper::CreateNewWindow( |