Chromium Code Reviews| Index: third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| index b2d4ad274c57325a801197399a9ac6e4980b9bcb..e7b68387781def92bd5cb5cb6b6d8acbda7bfcaa 100644 |
| --- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| +++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp |
| @@ -1605,6 +1605,8 @@ TEST_F(WebFrameTest, FrameOwnerPropertiesMargin) |
| properties.marginWidth = 11; |
| properties.marginHeight = 22; |
| WebLocalFrame* localFrame = FrameTestHelpers::createLocalChild(root, "frameName", nullptr, nullptr, properties); |
| + FrameTestHelpers::TestWebWidgetClient widgetClient; |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, localFrame); |
|
dcheng
2016/06/08 00:10:17
I wonder if we can make this simpler for test code
lfg
2016/06/08 21:09:47
I think that's doable, but there's one test that n
dcheng
2016/06/09 04:43:51
That seems reasonable to me.
|
| registerMockedHttpURLLoad("frame_owner_properties.html"); |
| FrameTestHelpers::loadFrame(localFrame, m_baseURL + "frame_owner_properties.html"); |
| @@ -1620,6 +1622,7 @@ TEST_F(WebFrameTest, FrameOwnerPropertiesMargin) |
| EXPECT_NE(nullptr, frameView->horizontalScrollbar()); |
| EXPECT_NE(nullptr, frameView->verticalScrollbar()); |
| + widget->close(); |
| view->close(); |
| } |
| @@ -1637,6 +1640,8 @@ TEST_F(WebFrameTest, FrameOwnerPropertiesScrolling) |
| // Turn off scrolling in the subframe. |
| properties.scrollingMode = WebFrameOwnerProperties::ScrollingMode::AlwaysOff; |
| WebLocalFrame* localFrame = FrameTestHelpers::createLocalChild(root, "frameName", nullptr, nullptr, properties); |
| + FrameTestHelpers::TestWebWidgetClient widgetClient; |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, localFrame); |
| registerMockedHttpURLLoad("frame_owner_properties.html"); |
| FrameTestHelpers::loadFrame(localFrame, m_baseURL + "frame_owner_properties.html"); |
| @@ -1649,6 +1654,7 @@ TEST_F(WebFrameTest, FrameOwnerPropertiesScrolling) |
| EXPECT_EQ(nullptr, frameView->horizontalScrollbar()); |
| EXPECT_EQ(nullptr, frameView->verticalScrollbar()); |
| + widget->close(); |
| view->close(); |
| } |
| @@ -7135,6 +7141,8 @@ TEST_F(WebFrameSwapTest, SwapMainFrame) |
| FrameTestHelpers::TestWebFrameClient client; |
| WebLocalFrame* localFrame = WebLocalFrame::createProvisional(&client, remoteFrame, WebSandboxFlags::None); |
| + FrameTestHelpers::TestWebWidgetClient widgetClient; |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, localFrame); |
| remoteFrame->swap(localFrame); |
| // Finally, make sure an embedder triggered load in the local frame swapped |
| @@ -7144,6 +7152,8 @@ TEST_F(WebFrameSwapTest, SwapMainFrame) |
| std::string content = WebFrameContentDumper::dumpWebViewAsText(webView(), 1024).utf8(); |
| EXPECT_EQ("hello", content); |
| + widget->close(); |
| + |
| // Manually reset to break WebViewHelper's dependency on the stack allocated |
| // TestWebFrameClient. |
| reset(); |
| @@ -7499,6 +7509,8 @@ TEST_F(WebFrameSwapTest, FramesOfRemoteParentAreIndexable) |
| remoteParentFrame->setReplicatedOrigin(SecurityOrigin::createUnique()); |
| WebLocalFrame* childFrame = FrameTestHelpers::createLocalChild(remoteParentFrame); |
| + FrameTestHelpers::TestWebWidgetClient widgetClient; |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, childFrame); |
| FrameTestHelpers::loadFrame(childFrame, m_baseURL + "subframe-hello.html"); |
| v8::Local<v8::Value> window = childFrame->executeScriptAndReturnValue(WebScriptSource("window")); |
| @@ -7510,6 +7522,8 @@ TEST_F(WebFrameSwapTest, FramesOfRemoteParentAreIndexable) |
| ASSERT_TRUE(windowLength->IsInt32()); |
| EXPECT_EQ(1, windowLength.As<v8::Int32>()->Value()); |
| + widget->close(); |
| + |
| // Manually reset to break WebViewHelper's dependency on the stack allocated clients. |
| reset(); |
| } |
| @@ -7525,6 +7539,8 @@ TEST_F(WebFrameSwapTest, FrameElementInFramesWithRemoteParent) |
| remoteParentFrame->setReplicatedOrigin(SecurityOrigin::createUnique()); |
| WebLocalFrame* childFrame = FrameTestHelpers::createLocalChild(remoteParentFrame); |
| + FrameTestHelpers::TestWebWidgetClient widgetClient; |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, childFrame); |
| FrameTestHelpers::loadFrame(childFrame, m_baseURL + "subframe-hello.html"); |
| v8::Local<v8::Value> frameElement = childFrame->executeScriptAndReturnValue(WebScriptSource("window.frameElement")); |
| @@ -7532,6 +7548,8 @@ TEST_F(WebFrameSwapTest, FrameElementInFramesWithRemoteParent) |
| ASSERT_FALSE(frameElement.IsEmpty()); |
| EXPECT_TRUE(frameElement->IsNull()); |
| + widget->close(); |
| + |
| // Manually reset to break WebViewHelper's dependency on the stack allocated clients. |
| reset(); |
| } |
| @@ -7842,15 +7860,18 @@ TEST_P(ParameterizedWebFrameTest, RemoteFrameInitialCommitType) |
| // If an iframe has a remote main frame, ensure the inital commit is correctly identified as WebInitialCommitInChildFrame. |
| CommitTypeWebFrameClient childFrameClient; |
| WebLocalFrame* childFrame = FrameTestHelpers::createLocalChild(view->mainFrame()->toWebRemoteFrame(), "frameName", &childFrameClient); |
| + FrameTestHelpers::TestWebWidgetClient widgetClient; |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, childFrame); |
| registerMockedHttpURLLoad("foo.html"); |
| FrameTestHelpers::loadFrame(childFrame, m_baseURL + "foo.html"); |
| EXPECT_EQ(WebInitialCommitInChildFrame, childFrameClient.historyCommitType()); |
| + widget->close(); |
| view->close(); |
| } |
| -class GestureEventTestWebViewClient : public FrameTestHelpers::TestWebViewClient { |
| +class GestureEventTestWebWidgetClient : public FrameTestHelpers::TestWebWidgetClient { |
| public: |
| - GestureEventTestWebViewClient() : m_didHandleGestureEvent(false) { } |
| + GestureEventTestWebWidgetClient() : m_didHandleGestureEvent(false) { } |
| void didHandleGestureEvent(const WebGestureEvent& event, bool eventCancelled) override { m_didHandleGestureEvent = true; } |
| bool didHandleGestureEvent() const { return m_didHandleGestureEvent; } |
| @@ -7868,13 +7889,13 @@ TEST_P(ParameterizedWebFrameTest, FrameWidgetTest) |
| WebLocalFrame* childFrame = FrameTestHelpers::createLocalChild(view->mainFrame()->toWebRemoteFrame()); |
| - GestureEventTestWebViewClient childViewClient; |
| - WebFrameWidget* widget = WebFrameWidget::create(childViewClient.widgetClient(), childFrame); |
| + GestureEventTestWebWidgetClient childWidgetClient; |
| + WebFrameWidget* widget = WebFrameWidget::create(&childWidgetClient, childFrame); |
| view->resize(WebSize(1000, 1000)); |
| widget->handleInputEvent(fatTap(20, 20)); |
| - EXPECT_TRUE(childViewClient.didHandleGestureEvent()); |
| + EXPECT_TRUE(childWidgetClient.didHandleGestureEvent()); |
| widget->close(); |
| view->close(); |
| @@ -8098,6 +8119,8 @@ TEST_P(ParameterizedWebFrameTest, SendBeaconFromChildWithRemoteMainFrame) |
| root->setReplicatedOrigin(SecurityOrigin::createUnique()); |
| WebLocalFrame* localFrame = FrameTestHelpers::createLocalChild(root); |
| + FrameTestHelpers::TestWebWidgetClient widgetClient; |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, localFrame); |
| // Finally, make sure an embedder triggered load in the local frame swapped |
| // back in works. |
| @@ -8105,6 +8128,7 @@ TEST_P(ParameterizedWebFrameTest, SendBeaconFromChildWithRemoteMainFrame) |
| registerMockedHttpURLLoad("reload_post.html"); // url param to sendBeacon() |
| FrameTestHelpers::loadFrame(localFrame, m_baseURL + "send_beacon.html"); |
| + widget->close(); |
| view->close(); |
| } |
| @@ -8123,6 +8147,8 @@ TEST_P(ParameterizedWebFrameTest, RemoteToLocalSwapOnMainFrameInitializesCoreFra |
| // Do a remote-to-local swap of the top frame. |
| FrameTestHelpers::TestWebFrameClient localClient; |
| WebLocalFrame* localRoot = WebLocalFrame::createProvisional(&localClient, remoteRoot, WebSandboxFlags::None); |
| + FrameTestHelpers::TestWebViewWidgetClient widgetClient(&viewClient); |
| + WebWidget* widget = WebFrameWidget::create(&widgetClient, view, localRoot); |
| remoteRoot->swap(localRoot); |
| // Load a page with a child frame in the new root to make sure this doesn't |
| @@ -8131,6 +8157,7 @@ TEST_P(ParameterizedWebFrameTest, RemoteToLocalSwapOnMainFrameInitializesCoreFra |
| registerMockedHttpURLLoad("visible_iframe.html"); |
| FrameTestHelpers::loadFrame(localRoot, m_baseURL + "single_iframe.html"); |
| + widget->close(); |
| view->close(); |
| } |