| Index: content/renderer/render_view_browsertest.cc
|
| diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
|
| index 13d09524911be29b1e190bccc2b86e2f32f22e39..bf2f15de09cf9577a31992a30b6ec900fc5e0388 100644
|
| --- a/content/renderer/render_view_browsertest.cc
|
| +++ b/content/renderer/render_view_browsertest.cc
|
| @@ -367,8 +367,9 @@ class DevToolsAgentTest : public RenderViewImplTest {
|
| }
|
| };
|
|
|
| -// Test for https://crbug.com/461191.
|
| -TEST_F(RenderViewImplTest, RenderFrameMessageAfterDetach) {
|
| +// Ensure that the main RenderFrame is deleted and cleared from the RenderView
|
| +// after closing it.
|
| +TEST_F(RenderViewImplTest, RenderFrameClearedAfterClose) {
|
| // Create a new main frame RenderFrame so that we don't interfere with the
|
| // shutdown of frame() in RenderViewTest.TearDown.
|
| blink::WebURLRequest popup_request(GURL("http://foo.com"));
|
| @@ -376,17 +377,10 @@ TEST_F(RenderViewImplTest, RenderFrameMessageAfterDetach) {
|
| GetMainFrame(), popup_request, blink::WebWindowFeatures(), "foo",
|
| blink::WebNavigationPolicyNewForegroundTab, false);
|
| RenderViewImpl* new_view = RenderViewImpl::FromWebView(new_web_view);
|
| - RenderFrameImpl* new_frame =
|
| - static_cast<RenderFrameImpl*>(new_view->GetMainRenderFrame());
|
|
|
| - // Detach the main frame.
|
| + // Close the view, causing the main RenderFrame to be detached and deleted.
|
| new_view->Close();
|
| -
|
| - // Before the frame is asynchronously deleted, it may receive a message.
|
| - // We should not crash here, and the message should not be processed.
|
| - scoped_ptr<const IPC::Message> msg(
|
| - new FrameMsg_Stop(frame()->GetRoutingID()));
|
| - EXPECT_FALSE(new_frame->OnMessageReceived(*msg));
|
| + EXPECT_FALSE(new_view->GetMainRenderFrame());
|
|
|
| // Clean up after the new view so we don't leak it.
|
| new_view->Release();
|
| @@ -2014,7 +2008,7 @@ TEST_F(RenderViewImplTest, NavigateSubframe) {
|
| // This test ensures that a RenderFrame object is created for the top level
|
| // frame in the RenderView.
|
| TEST_F(RenderViewImplTest, BasicRenderFrame) {
|
| - EXPECT_TRUE(view()->main_render_frame_.get());
|
| + EXPECT_TRUE(view()->main_render_frame_);
|
| }
|
|
|
| TEST_F(RenderViewImplTest, GetSSLStatusOfFrame) {
|
|
|