Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2876)

Unified Diff: Source/web/tests/WebViewTest.cpp

Issue 23506013: Make the embedder responsible for creating the WebFrame (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix lifetime on frame detach Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/web/tests/WebPluginContainerTest.cpp ('k') | public/web/WebFrame.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/tests/WebViewTest.cpp
diff --git a/Source/web/tests/WebViewTest.cpp b/Source/web/tests/WebViewTest.cpp
index 0631e7b8a676b3c6068208d389e5cc0dcb536c3a..be00b1034dac27dbf420417385618d8fc6f43161 100644
--- a/Source/web/tests/WebViewTest.cpp
+++ b/Source/web/tests/WebViewTest.cpp
@@ -226,6 +226,7 @@ protected:
void testInputMode(const WebString& expectedInputMode, const std::string& htmlFile);
std::string m_baseURL;
+ FrameTestHelpers::WebViewHelper m_webViewHelper;
};
TEST_F(WebViewTest, SetBaseBackgroundColor)
@@ -235,7 +236,7 @@ TEST_F(WebViewTest, SetBaseBackgroundColor)
const WebColor kDarkCyan = 0xFF227788;
const WebColor kTranslucentPutty = 0x80BFB196;
- WebView* webView = FrameTestHelpers::createWebView();
+ WebView* webView = m_webViewHelper.initialize();
EXPECT_EQ(kWhite, webView->backgroundColor());
webView->setBaseBackgroundColor(kBlue);
@@ -256,14 +257,12 @@ TEST_F(WebViewTest, SetBaseBackgroundColor)
webView->setBaseBackgroundColor(kTranslucentPutty);
// Expected: red (50% alpha) blended atop kTranslucentPutty. Note the alpha.
EXPECT_EQ(0xBFE93B32, webView->backgroundColor());
-
- webView->close();
}
TEST_F(WebViewTest, FocusIsInactive)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), "visible_iframe.html");
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "visible_iframe.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "visible_iframe.html");
webView->setFocus(true);
webView->setIsActive(true);
@@ -284,14 +283,12 @@ TEST_F(WebViewTest, FocusIsInactive)
webView->setFocus(false);
webView->setIsActive(true);
EXPECT_FALSE(document->hasFocus());
-
- webView->close();
}
TEST_F(WebViewTest, ActiveState)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), "visible_iframe.html");
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "visible_iframe.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "visible_iframe.html");
ASSERT_TRUE(webView);
@@ -303,15 +300,13 @@ TEST_F(WebViewTest, ActiveState)
webView->setIsActive(true);
EXPECT_TRUE(webView->isActive());
-
- webView->close();
}
TEST_F(WebViewTest, HitTestResultAtWithPageScale)
{
std::string url = m_baseURL + "specify_size.html?" + "50px" + ":" + "50px";
URLTestHelpers::registerMockedURLLoad(toKURL(url), "specify_size.html");
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true, 0);
+ WebView* webView = m_webViewHelper.initializeAndLoad(url, true, 0);
webView->resize(WebSize(100, 100));
WebPoint hitPoint(75, 75);
@@ -327,8 +322,6 @@ TEST_F(WebViewTest, HitTestResultAtWithPageScale)
ASSERT_EQ(WebNode::ElementNode, positiveResult.node().nodeType());
EXPECT_TRUE(positiveResult.node().to<WebElement>().hasTagName("img"));
positiveResult.reset();
-
- webView->close();
}
void WebViewTest::testAutoResize(const WebSize& minAutoResize, const WebSize& maxAutoResize,
@@ -339,7 +332,7 @@ void WebViewTest::testAutoResize(const WebSize& minAutoResize, const WebSize& ma
AutoResizeWebViewClient client;
std::string url = m_baseURL + "specify_size.html?" + pageWidth + ":" + pageHeight;
URLTestHelpers::registerMockedURLLoad(toKURL(url), "specify_size.html");
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true, 0, &client);
+ WebView* webView = m_webViewHelper.initializeAndLoad(url, true, 0, &client);
client.testData().setWebView(webView);
WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
@@ -360,7 +353,7 @@ void WebViewTest::testAutoResize(const WebSize& minAutoResize, const WebSize& ma
EXPECT_EQ(expectedHorizontalState, client.testData().horizontalScrollbarState());
EXPECT_EQ(expectedVerticalState, client.testData().verticalScrollbarState());
- webView->close();
+ m_webViewHelper.reset(); // Explicitly reset to break dependency on locally scoped client.
}
TEST_F(WebViewTest, DISABLED_AutoResizeMinimumSize)
@@ -440,10 +433,9 @@ TEST_F(WebViewTest, DISABLED_AutoResizeMaxSize)
void WebViewTest::testTextInputType(WebTextInputType expectedType, const std::string& htmlFile)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8(htmlFile.c_str()));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + htmlFile);
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + htmlFile);
webView->setInitialFocus(false);
EXPECT_EQ(expectedType, webView->textInputInfo().type);
- webView->close();
}
TEST_F(WebViewTest, TextInputType)
@@ -460,10 +452,9 @@ TEST_F(WebViewTest, TextInputType)
void WebViewTest::testInputMode(const WebString& expectedInputMode, const std::string& htmlFile)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8(htmlFile.c_str()));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + htmlFile);
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + htmlFile);
webView->setInitialFocus(false);
EXPECT_EQ(expectedInputMode, webView->textInputInfo().inputMode);
- webView->close();
}
TEST_F(WebViewTest, InputMode)
@@ -480,7 +471,7 @@ TEST_F(WebViewTest, InputMode)
TEST_F(WebViewTest, SetEditableSelectionOffsetsAndTextInputInfo)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
webView->setInitialFocus(false);
webView->setEditableSelectionOffsets(5, 13);
WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame());
@@ -491,10 +482,9 @@ TEST_F(WebViewTest, SetEditableSelectionOffsetsAndTextInputInfo)
EXPECT_EQ(13, info.selectionEnd);
EXPECT_EQ(-1, info.compositionStart);
EXPECT_EQ(-1, info.compositionEnd);
- webView->close();
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("content_editable_populated.html"));
- webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "content_editable_populated.html");
+ webView = m_webViewHelper.initializeAndLoad(m_baseURL + "content_editable_populated.html");
webView->setInitialFocus(false);
webView->setEditableSelectionOffsets(8, 19);
frame = toWebFrameImpl(webView->mainFrame());
@@ -505,13 +495,12 @@ TEST_F(WebViewTest, SetEditableSelectionOffsetsAndTextInputInfo)
EXPECT_EQ(19, info.selectionEnd);
EXPECT_EQ(-1, info.compositionStart);
EXPECT_EQ(-1, info.compositionEnd);
- webView->close();
}
TEST_F(WebViewTest, ConfirmCompositionCursorPositionChange)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
webView->setInitialFocus(false);
// Set up a composition that needs to be committed.
@@ -548,14 +537,12 @@ TEST_F(WebViewTest, ConfirmCompositionCursorPositionChange)
EXPECT_EQ(8, info.selectionEnd);
EXPECT_EQ(-1, info.compositionStart);
EXPECT_EQ(-1, info.compositionEnd);
-
- webView->close();
}
TEST_F(WebViewTest, InsertNewLinePlacementAfterConfirmComposition)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("text_area_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "text_area_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_area_populated.html");
webView->setInitialFocus(false);
WebVector<WebCompositionUnderline> emptyUnderlines;
@@ -585,8 +572,6 @@ TEST_F(WebViewTest, InsertNewLinePlacementAfterConfirmComposition)
EXPECT_EQ(-1, info.compositionStart);
EXPECT_EQ(-1, info.compositionEnd);
EXPECT_EQ("0123\n456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf8().data()));
-
- webView->close();
}
TEST_F(WebViewTest, FormChange)
@@ -594,21 +579,20 @@ TEST_F(WebViewTest, FormChange)
FormChangeWebViewClient client;
client.reset();
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_set_value_while_focused.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_set_value_while_focused.html", true, 0, &client);
+ m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_set_value_while_focused.html", true, 0, &client);
EXPECT_TRUE(client.called());
EXPECT_TRUE(client.focused());
client.reset();
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_set_value_while_not_focused.html"));
- webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_set_value_while_not_focused.html", true, 0, &client);
+ m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_set_value_while_not_focused.html", true, 0, &client);
EXPECT_TRUE(client.called());
EXPECT_FALSE(client.focused());
- webView->close();
}
TEST_F(WebViewTest, ExtendSelectionAndDelete)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
webView->setInitialFocus(false);
webView->setEditableSelectionOffsets(10, 10);
webView->extendSelectionAndDelete(5, 8);
@@ -619,13 +603,12 @@ TEST_F(WebViewTest, ExtendSelectionAndDelete)
webView->extendSelectionAndDelete(10, 0);
info = webView->textInputInfo();
EXPECT_EQ("ijklmnopqrstuvwxyz", std::string(info.value.utf8().data()));
- webView->close();
}
TEST_F(WebViewTest, SetCompositionFromExistingText)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
webView->setInitialFocus(false);
WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1));
underlines[0] = WebKit::WebCompositionUnderline(0, 4, 0, false);
@@ -646,13 +629,12 @@ TEST_F(WebViewTest, SetCompositionFromExistingText)
EXPECT_EQ(10, info.selectionEnd);
EXPECT_EQ(-1, info.compositionStart);
EXPECT_EQ(-1, info.compositionEnd);
- webView->close();
}
TEST_F(WebViewTest, SetCompositionFromExistingTextInTextArea)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("text_area_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "text_area_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_area_populated.html");
webView->setInitialFocus(false);
WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1));
underlines[0] = WebKit::WebCompositionUnderline(0, 4, 0, false);
@@ -682,13 +664,12 @@ TEST_F(WebViewTest, SetCompositionFromExistingTextInTextArea)
EXPECT_EQ(34, info.selectionEnd);
EXPECT_EQ(-1, info.compositionStart);
EXPECT_EQ(-1, info.compositionEnd);
- webView->close();
}
TEST_F(WebViewTest, SetEditableSelectionOffsetsKeepsComposition)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
webView->setInitialFocus(false);
std::string compositionTextFirst("hello ");
@@ -744,13 +725,12 @@ TEST_F(WebViewTest, SetEditableSelectionOffsetsKeepsComposition)
EXPECT_EQ(2, info.selectionEnd);
EXPECT_EQ(-1, info.compositionStart);
EXPECT_EQ(-1, info.compositionEnd);
- webView->close();
}
TEST_F(WebViewTest, IsSelectionAnchorFirst)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
WebFrame* frame = webView->mainFrame();
webView->setInitialFocus(false);
@@ -761,13 +741,12 @@ TEST_F(WebViewTest, IsSelectionAnchorFirst)
webView->selectionBounds(anchor, focus);
frame->selectRange(WebPoint(focus.x, focus.y), WebPoint(anchor.x, anchor.y));
EXPECT_FALSE(webView->isSelectionAnchorFirst());
- webView->close();
}
TEST_F(WebViewTest, HistoryResetScrollAndScaleState)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("hello_world.html"));
- WebViewImpl* webViewImpl = toWebViewImpl(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "hello_world.html"));
+ WebViewImpl* webViewImpl = toWebViewImpl(m_webViewHelper.initializeAndLoad(m_baseURL + "hello_world.html"));
webViewImpl->resize(WebSize(640, 480));
webViewImpl->layout();
EXPECT_EQ(0, webViewImpl->mainFrame()->scrollOffset().width);
@@ -806,7 +785,6 @@ TEST_F(WebViewTest, HistoryResetScrollAndScaleState)
EXPECT_EQ(1.0f, webViewImpl->pageScaleFactor());
EXPECT_EQ(0, webViewImpl->mainFrame()->scrollOffset().width);
EXPECT_EQ(0, webViewImpl->mainFrame()->scrollOffset().height);
- webViewImpl->close();
}
class EnterFullscreenWebViewClient : public WebViewClient {
@@ -821,7 +799,7 @@ TEST_F(WebViewTest, EnterFullscreenResetScrollAndScaleState)
{
EnterFullscreenWebViewClient client;
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("hello_world.html"));
- WebViewImpl* webViewImpl = toWebViewImpl(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "hello_world.html", true, 0, &client));
+ WebViewImpl* webViewImpl = toWebViewImpl(m_webViewHelper.initializeAndLoad(m_baseURL + "hello_world.html", true, 0, &client));
webViewImpl->settings()->setFullScreenEnabled(true);
webViewImpl->resize(WebSize(640, 480));
webViewImpl->layout();
@@ -854,7 +832,7 @@ TEST_F(WebViewTest, EnterFullscreenResetScrollAndScaleState)
EXPECT_EQ(116, webViewImpl->mainFrame()->scrollOffset().width);
EXPECT_EQ(84, webViewImpl->mainFrame()->scrollOffset().height);
- webViewImpl->close();
+ m_webViewHelper.reset(); // Explicitly reset to break dependency on locally scoped client.
}
class ContentDetectorClient : public WebViewClient {
@@ -922,7 +900,7 @@ TEST_F(WebViewTest, DetectContentAroundPosition)
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("content_listeners.html"));
ContentDetectorClient client;
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "content_listeners.html", true, 0, &client);
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "content_listeners.html", true, 0, &client);
webView->resize(WebSize(500, 300));
webView->layout();
runPendingTasks();
@@ -964,14 +942,13 @@ TEST_F(WebViewTest, DetectContentAroundPosition)
webView->handleInputEvent(event);
runPendingTasks();
EXPECT_TRUE(client.pendingIntentsCancelled());
- webView->close();
}
TEST_F(WebViewTest, ClientTapHandling)
{
TapHandlingWebViewClient client;
client.reset();
- WebView* webView = FrameTestHelpers::createWebViewAndLoad("about:blank", true, 0, &client);
+ WebView* webView = m_webViewHelper.initializeAndLoad("about:blank", true, 0, &client);
WebGestureEvent event;
event.type = WebInputEvent::GestureTap;
event.x = 3;
@@ -988,7 +965,8 @@ TEST_F(WebViewTest, ClientTapHandling)
runPendingTasks();
EXPECT_EQ(25, client.longpressX());
EXPECT_EQ(7, client.longpressY());
- webView->close();
+
+ m_webViewHelper.reset(); // Explicitly reset to break dependency on locally scoped client.
}
#if OS(ANDROID)
@@ -996,7 +974,7 @@ TEST_F(WebViewTest, LongPressSelection)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("longpress_selection.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "longpress_selection.html", true);
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "longpress_selection.html", true);
webView->resize(WebSize(500, 300));
webView->layout();
runPendingTasks();
@@ -1009,14 +987,13 @@ TEST_F(WebViewTest, LongPressSelection)
EXPECT_EQ("", std::string(frame->selectionAsText().utf8().data()));
EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, target));
EXPECT_EQ("testword", std::string(frame->selectionAsText().utf8().data()));
- webView->close();
}
#endif
TEST_F(WebViewTest, SelectionOnDisabledInput)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("selection_disabled.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "selection_disabled.html", true);
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "selection_disabled.html", true);
webView->resize(WebSize(640, 480));
webView->layout();
runPendingTasks();
@@ -1031,14 +1008,12 @@ TEST_F(WebViewTest, SelectionOnDisabledInput)
EXPECT_TRUE(toWebViewImpl(webView)->caretOrSelectionRange(&location, &length));
EXPECT_EQ(location, 0UL);
EXPECT_EQ(length, testWord.length());
-
- webView->close();
}
TEST_F(WebViewTest, SelectionOnReadOnlyInput)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("selection_readonly.html"));
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "selection_readonly.html", true);
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "selection_readonly.html", true);
webView->resize(WebSize(640, 480));
webView->layout();
runPendingTasks();
@@ -1053,8 +1028,6 @@ TEST_F(WebViewTest, SelectionOnReadOnlyInput)
EXPECT_TRUE(toWebViewImpl(webView)->caretOrSelectionRange(&location, &length));
EXPECT_EQ(location, 0UL);
EXPECT_EQ(length, testWord.length());
-
- webView->close();
}
class MockAutofillClient : public WebAutofillClient {
@@ -1095,7 +1068,7 @@ TEST_F(WebViewTest, LosingFocusDoesNotTriggerAutofillTextChange)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
MockAutofillClient client;
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
webView->setAutofillClient(&client);
webView->setInitialFocus(false);
@@ -1117,14 +1090,13 @@ TEST_F(WebViewTest, LosingFocusDoesNotTriggerAutofillTextChange)
EXPECT_EQ(0, client.textChangesWhileNotIgnored());
webView->setAutofillClient(0);
- webView->close();
}
TEST_F(WebViewTest, ConfirmCompositionTriggersAutofillTextChange)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
MockAutofillClient client;
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html");
webView->setAutofillClient(&client);
webView->setInitialFocus(false);
@@ -1146,14 +1118,13 @@ TEST_F(WebViewTest, ConfirmCompositionTriggersAutofillTextChange)
EXPECT_EQ(1, client.textChangesWhileNotIgnored());
webView->setAutofillClient(0);
- webView->close();
}
TEST_F(WebViewTest, SetCompositionFromExistingTextTriggersAutofillTextChange)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("input_field_populated.html"));
MockAutofillClient client;
- WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html", true);
+ WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_field_populated.html", true);
webView->setAutofillClient(&client);
webView->setInitialFocus(false);
@@ -1174,13 +1145,12 @@ TEST_F(WebViewTest, SetCompositionFromExistingTextTriggersAutofillTextChange)
EXPECT_EQ(WebString::fromUTF8("none"), document.getElementById("inputEvent").firstChild().nodeValue());
webView->setAutofillClient(0);
- webView->close();
}
TEST_F(WebViewTest, ShadowRoot)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("shadow_dom_test.html"));
- WebViewImpl* webViewImpl = toWebViewImpl(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "shadow_dom_test.html", true));
+ WebViewImpl* webViewImpl = toWebViewImpl(m_webViewHelper.initializeAndLoad(m_baseURL + "shadow_dom_test.html", true));
WebDocument document = webViewImpl->mainFrame()->document();
{
@@ -1195,13 +1165,12 @@ TEST_F(WebViewTest, ShadowRoot)
WebNode shadowRoot = elementWithoutShadowRoot.shadowRoot();
EXPECT_TRUE(shadowRoot.isNull());
}
- webViewImpl->close();
}
TEST_F(WebViewTest, HelperPlugin)
{
HelperPluginCreatingWebViewClient client;
- WebViewImpl* webViewImpl = toWebViewImpl(FrameTestHelpers::createWebView(true, 0, &client));
+ WebViewImpl* webViewImpl = toWebViewImpl(m_webViewHelper.initialize(true, 0, &client));
WebFrameImpl* frame = toWebFrameImpl(webViewImpl->mainFrame());
client.setWebFrameClient(frame->client());
@@ -1212,23 +1181,21 @@ TEST_F(WebViewTest, HelperPlugin)
webViewImpl->closeHelperPluginSoon(helperPlugin);
- webViewImpl->close();
+ m_webViewHelper.reset(); // Explicitly reset to break dependency on locally scoped client.
}
class ViewCreatingWebViewClient : public WebViewClient {
public:
ViewCreatingWebViewClient()
- : m_createdWebView(0)
- , m_didFocusCalled(false)
+ : m_didFocusCalled(false)
{
}
// WebViewClient methods
virtual WebView* createView(WebFrame*, const WebURLRequest&, const WebWindowFeatures&, const WebString& name, WebNavigationPolicy) OVERRIDE
{
- m_createdWebView = FrameTestHelpers::createWebView(true, 0, 0);
- return m_createdWebView;
+ return m_webViewHelper.initialize(true, 0, 0);
}
// WebWidgetClient methods
@@ -1237,23 +1204,19 @@ public:
m_didFocusCalled = true;
}
- void close()
- {
- if (m_createdWebView)
- m_createdWebView->close();
- }
bool didFocusCalled() const { return m_didFocusCalled; }
- WebView* createdWebView() const { return m_createdWebView; }
+ WebView* createdWebView() const { return m_webViewHelper.webView(); }
private:
- WebView* m_createdWebView;
+ FrameTestHelpers::WebViewHelper m_webViewHelper;
bool m_didFocusCalled;
};
TEST_F(WebViewTest, FocusExistingFrameOnNavigate)
{
ViewCreatingWebViewClient client;
- WebViewImpl* webViewImpl = toWebViewImpl(FrameTestHelpers::createWebView(true, 0, &client));
+ FrameTestHelpers::WebViewHelper m_webViewHelper;
+ WebViewImpl* webViewImpl = toWebViewImpl(m_webViewHelper.initialize(true, 0, &client));
webViewImpl->page()->settings().setJavaScriptCanOpenWindowsAutomatically(true);
WebFrameImpl* frame = toWebFrameImpl(webViewImpl->mainFrame());
frame->setName("_start");
@@ -1273,8 +1236,7 @@ TEST_F(WebViewTest, FocusExistingFrameOnNavigate)
toWebViewImpl(client.createdWebView())->page()->mainFrame()->loader()->load(requestWithTargetStart);
EXPECT_TRUE(client.didFocusCalled());
- client.close();
- webViewImpl->close();
+ m_webViewHelper.reset(); // Remove dependency on locally scoped client.
}
}
« no previous file with comments | « Source/web/tests/WebPluginContainerTest.cpp ('k') | public/web/WebFrame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698