| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 webView->close(); | 258 webView->close(); |
| 259 } | 259 } |
| 260 | 260 |
| 261 TEST_F(WebViewTest, FocusIsInactive) | 261 TEST_F(WebViewTest, FocusIsInactive) |
| 262 { | 262 { |
| 263 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), "visible_iframe.html"); | 263 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), "visible_iframe.html"); |
| 264 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "visib
le_iframe.html"); | 264 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "visib
le_iframe.html"); |
| 265 | 265 |
| 266 webView->setFocus(true); | 266 webView->setFocus(true); |
| 267 webView->setIsActive(true); | 267 webView->setIsActive(true); |
| 268 WebFrameImpl* frame = static_cast<WebFrameImpl*>(webView->mainFrame()); | 268 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame()); |
| 269 EXPECT_TRUE(frame->frame()->document()->isHTMLDocument()); | 269 EXPECT_TRUE(frame->frame()->document()->isHTMLDocument()); |
| 270 | 270 |
| 271 WebCore::HTMLDocument* document = static_cast<WebCore::HTMLDocument*>(frame-
>frame()->document()); | 271 WebCore::HTMLDocument* document = static_cast<WebCore::HTMLDocument*>(frame-
>frame()->document()); |
| 272 EXPECT_TRUE(document->hasFocus()); | 272 EXPECT_TRUE(document->hasFocus()); |
| 273 webView->setFocus(false); | 273 webView->setFocus(false); |
| 274 webView->setIsActive(false); | 274 webView->setIsActive(false); |
| 275 EXPECT_FALSE(document->hasFocus()); | 275 EXPECT_FALSE(document->hasFocus()); |
| 276 webView->setFocus(true); | 276 webView->setFocus(true); |
| 277 webView->setIsActive(true); | 277 webView->setIsActive(true); |
| 278 EXPECT_TRUE(document->hasFocus()); | 278 EXPECT_TRUE(document->hasFocus()); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 const std::string& pageWidth, const std::string
& pageHeight, | 333 const std::string& pageWidth, const std::string
& pageHeight, |
| 334 int expectedWidth, int expectedHeight, | 334 int expectedWidth, int expectedHeight, |
| 335 HorizontalScrollbarState expectedHorizontalStat
e, VerticalScrollbarState expectedVerticalState) | 335 HorizontalScrollbarState expectedHorizontalStat
e, VerticalScrollbarState expectedVerticalState) |
| 336 { | 336 { |
| 337 AutoResizeWebViewClient client; | 337 AutoResizeWebViewClient client; |
| 338 std::string url = m_baseURL + "specify_size.html?" + pageWidth + ":" + pageH
eight; | 338 std::string url = m_baseURL + "specify_size.html?" + pageWidth + ":" + pageH
eight; |
| 339 URLTestHelpers::registerMockedURLLoad(toKURL(url), "specify_size.html"); | 339 URLTestHelpers::registerMockedURLLoad(toKURL(url), "specify_size.html"); |
| 340 WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true, 0, &cli
ent); | 340 WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true, 0, &cli
ent); |
| 341 client.testData().setWebView(webView); | 341 client.testData().setWebView(webView); |
| 342 | 342 |
| 343 WebFrameImpl* frame = static_cast<WebFrameImpl*>(webView->mainFrame()); | 343 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame()); |
| 344 WebCore::FrameView* frameView = frame->frame()->view(); | 344 WebCore::FrameView* frameView = frame->frame()->view(); |
| 345 frameView->layout(); | 345 frameView->layout(); |
| 346 EXPECT_FALSE(frameView->layoutPending()); | 346 EXPECT_FALSE(frameView->layoutPending()); |
| 347 EXPECT_FALSE(frameView->needsLayout()); | 347 EXPECT_FALSE(frameView->needsLayout()); |
| 348 | 348 |
| 349 webView->enableAutoResizeMode(minAutoResize, maxAutoResize); | 349 webView->enableAutoResizeMode(minAutoResize, maxAutoResize); |
| 350 EXPECT_TRUE(frameView->layoutPending()); | 350 EXPECT_TRUE(frameView->layoutPending()); |
| 351 EXPECT_TRUE(frameView->needsLayout()); | 351 EXPECT_TRUE(frameView->needsLayout()); |
| 352 frameView->layout(); | 352 frameView->layout(); |
| 353 | 353 |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 474 testInputMode(WebString(), "input_mode_type_url_verbatim.html"); | 474 testInputMode(WebString(), "input_mode_type_url_verbatim.html"); |
| 475 testInputMode(WebString("verbatim"), "input_mode_textarea_verbatim.html"); | 475 testInputMode(WebString("verbatim"), "input_mode_textarea_verbatim.html"); |
| 476 } | 476 } |
| 477 | 477 |
| 478 TEST_F(WebViewTest, SetEditableSelectionOffsetsAndTextInputInfo) | 478 TEST_F(WebViewTest, SetEditableSelectionOffsetsAndTextInputInfo) |
| 479 { | 479 { |
| 480 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_populated.html")); | 480 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_populated.html")); |
| 481 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input
_field_populated.html"); | 481 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input
_field_populated.html"); |
| 482 webView->setInitialFocus(false); | 482 webView->setInitialFocus(false); |
| 483 webView->setEditableSelectionOffsets(5, 13); | 483 webView->setEditableSelectionOffsets(5, 13); |
| 484 WebFrameImpl* frame = static_cast<WebFrameImpl*>(webView->mainFrame()); | 484 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame()); |
| 485 EXPECT_EQ("56789abc", frame->selectionAsText()); | 485 EXPECT_EQ("56789abc", frame->selectionAsText()); |
| 486 WebTextInputInfo info = webView->textInputInfo(); | 486 WebTextInputInfo info = webView->textInputInfo(); |
| 487 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value); | 487 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value); |
| 488 EXPECT_EQ(5, info.selectionStart); | 488 EXPECT_EQ(5, info.selectionStart); |
| 489 EXPECT_EQ(13, info.selectionEnd); | 489 EXPECT_EQ(13, info.selectionEnd); |
| 490 EXPECT_EQ(-1, info.compositionStart); | 490 EXPECT_EQ(-1, info.compositionStart); |
| 491 EXPECT_EQ(-1, info.compositionEnd); | 491 EXPECT_EQ(-1, info.compositionEnd); |
| 492 webView->close(); | 492 webView->close(); |
| 493 | 493 |
| 494 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("content_editable_populated.html")); | 494 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("content_editable_populated.html")); |
| 495 webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "content_editab
le_populated.html"); | 495 webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "content_editab
le_populated.html"); |
| 496 webView->setInitialFocus(false); | 496 webView->setInitialFocus(false); |
| 497 webView->setEditableSelectionOffsets(8, 19); | 497 webView->setEditableSelectionOffsets(8, 19); |
| 498 frame = static_cast<WebFrameImpl*>(webView->mainFrame()); | 498 frame = toWebFrameImpl(webView->mainFrame()); |
| 499 EXPECT_EQ("89abcdefghi", frame->selectionAsText()); | 499 EXPECT_EQ("89abcdefghi", frame->selectionAsText()); |
| 500 info = webView->textInputInfo(); | 500 info = webView->textInputInfo(); |
| 501 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value); | 501 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", info.value); |
| 502 EXPECT_EQ(8, info.selectionStart); | 502 EXPECT_EQ(8, info.selectionStart); |
| 503 EXPECT_EQ(19, info.selectionEnd); | 503 EXPECT_EQ(19, info.selectionEnd); |
| 504 EXPECT_EQ(-1, info.compositionStart); | 504 EXPECT_EQ(-1, info.compositionStart); |
| 505 EXPECT_EQ(-1, info.compositionEnd); | 505 EXPECT_EQ(-1, info.compositionEnd); |
| 506 webView->close(); | 506 webView->close(); |
| 507 } | 507 } |
| 508 | 508 |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 { | 932 { |
| 933 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("longpress_selection.html")); | 933 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("longpress_selection.html")); |
| 934 | 934 |
| 935 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "longp
ress_selection.html", true); | 935 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "longp
ress_selection.html", true); |
| 936 webView->resize(WebSize(500, 300)); | 936 webView->resize(WebSize(500, 300)); |
| 937 webView->layout(); | 937 webView->layout(); |
| 938 runPendingTasks(); | 938 runPendingTasks(); |
| 939 | 939 |
| 940 WebString target = WebString::fromUTF8("target"); | 940 WebString target = WebString::fromUTF8("target"); |
| 941 WebString onselectstartfalse = WebString::fromUTF8("onselectstartfalse"); | 941 WebString onselectstartfalse = WebString::fromUTF8("onselectstartfalse"); |
| 942 WebFrameImpl* frame = static_cast<WebFrameImpl*>(webView->mainFrame()); | 942 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame()); |
| 943 | 943 |
| 944 EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, onselec
tstartfalse)); | 944 EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, onselec
tstartfalse)); |
| 945 EXPECT_EQ("", std::string(frame->selectionAsText().utf8().data())); | 945 EXPECT_EQ("", std::string(frame->selectionAsText().utf8().data())); |
| 946 EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, target)
); | 946 EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, target)
); |
| 947 EXPECT_EQ("testword", std::string(frame->selectionAsText().utf8().data())); | 947 EXPECT_EQ("testword", std::string(frame->selectionAsText().utf8().data())); |
| 948 webView->close(); | 948 webView->close(); |
| 949 } | 949 } |
| 950 #endif | 950 #endif |
| 951 | 951 |
| 952 TEST_F(WebViewTest, SelectionOnDisabledInput) | 952 TEST_F(WebViewTest, SelectionOnDisabledInput) |
| 953 { | 953 { |
| 954 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("selection_disabled.html")); | 954 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("selection_disabled.html")); |
| 955 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "selec
tion_disabled.html", true); | 955 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "selec
tion_disabled.html", true); |
| 956 webView->resize(WebSize(640, 480)); | 956 webView->resize(WebSize(640, 480)); |
| 957 webView->layout(); | 957 webView->layout(); |
| 958 runPendingTasks(); | 958 runPendingTasks(); |
| 959 | 959 |
| 960 std::string testWord = "This text should be selected."; | 960 std::string testWord = "This text should be selected."; |
| 961 | 961 |
| 962 WebFrameImpl* frame = static_cast<WebFrameImpl*>(webView->mainFrame()); | 962 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame()); |
| 963 EXPECT_EQ(testWord, std::string(frame->selectionAsText().utf8().data())); | 963 EXPECT_EQ(testWord, std::string(frame->selectionAsText().utf8().data())); |
| 964 | 964 |
| 965 size_t location; | 965 size_t location; |
| 966 size_t length; | 966 size_t length; |
| 967 EXPECT_TRUE(toWebViewImpl(webView)->caretOrSelectionRange(&location, &length
)); | 967 EXPECT_TRUE(toWebViewImpl(webView)->caretOrSelectionRange(&location, &length
)); |
| 968 EXPECT_EQ(location, 0UL); | 968 EXPECT_EQ(location, 0UL); |
| 969 EXPECT_EQ(length, testWord.length()); | 969 EXPECT_EQ(length, testWord.length()); |
| 970 | 970 |
| 971 webView->close(); | 971 webView->close(); |
| 972 } | 972 } |
| 973 | 973 |
| 974 TEST_F(WebViewTest, SelectionOnReadOnlyInput) | 974 TEST_F(WebViewTest, SelectionOnReadOnlyInput) |
| 975 { | 975 { |
| 976 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("selection_readonly.html")); | 976 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("selection_readonly.html")); |
| 977 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "selec
tion_readonly.html", true); | 977 WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "selec
tion_readonly.html", true); |
| 978 webView->resize(WebSize(640, 480)); | 978 webView->resize(WebSize(640, 480)); |
| 979 webView->layout(); | 979 webView->layout(); |
| 980 runPendingTasks(); | 980 runPendingTasks(); |
| 981 | 981 |
| 982 std::string testWord = "This text should be selected."; | 982 std::string testWord = "This text should be selected."; |
| 983 | 983 |
| 984 WebFrameImpl* frame = static_cast<WebFrameImpl*>(webView->mainFrame()); | 984 WebFrameImpl* frame = toWebFrameImpl(webView->mainFrame()); |
| 985 EXPECT_EQ(testWord, std::string(frame->selectionAsText().utf8().data())); | 985 EXPECT_EQ(testWord, std::string(frame->selectionAsText().utf8().data())); |
| 986 | 986 |
| 987 size_t location; | 987 size_t location; |
| 988 size_t length; | 988 size_t length; |
| 989 EXPECT_TRUE(toWebViewImpl(webView)->caretOrSelectionRange(&location, &length
)); | 989 EXPECT_TRUE(toWebViewImpl(webView)->caretOrSelectionRange(&location, &length
)); |
| 990 EXPECT_EQ(location, 0UL); | 990 EXPECT_EQ(location, 0UL); |
| 991 EXPECT_EQ(length, testWord.length()); | 991 EXPECT_EQ(length, testWord.length()); |
| 992 | 992 |
| 993 webView->close(); | 993 webView->close(); |
| 994 } | 994 } |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1132 EXPECT_TRUE(shadowRoot.isNull()); | 1132 EXPECT_TRUE(shadowRoot.isNull()); |
| 1133 } | 1133 } |
| 1134 webViewImpl->close(); | 1134 webViewImpl->close(); |
| 1135 } | 1135 } |
| 1136 | 1136 |
| 1137 TEST_F(WebViewTest, HelperPlugin) | 1137 TEST_F(WebViewTest, HelperPlugin) |
| 1138 { | 1138 { |
| 1139 HelperPluginCreatingWebViewClient client; | 1139 HelperPluginCreatingWebViewClient client; |
| 1140 WebViewImpl* webViewImpl = toWebViewImpl(FrameTestHelpers::createWebView(tru
e, 0, &client)); | 1140 WebViewImpl* webViewImpl = toWebViewImpl(FrameTestHelpers::createWebView(tru
e, 0, &client)); |
| 1141 | 1141 |
| 1142 WebFrameImpl* frame = static_cast<WebFrameImpl*>(webViewImpl->mainFrame()); | 1142 WebFrameImpl* frame = toWebFrameImpl(webViewImpl->mainFrame()); |
| 1143 client.setWebFrameClient(frame->client()); | 1143 client.setWebFrameClient(frame->client()); |
| 1144 | 1144 |
| 1145 WebHelperPluginImpl* helperPlugin = webViewImpl->createHelperPlugin("dummy-p
lugin-type", frame->document()); | 1145 WebHelperPluginImpl* helperPlugin = webViewImpl->createHelperPlugin("dummy-p
lugin-type", frame->document()); |
| 1146 EXPECT_TRUE(helperPlugin); | 1146 EXPECT_TRUE(helperPlugin); |
| 1147 EXPECT_EQ(0, helperPlugin->getPlugin()); // Invalid plugin type means no plu
gin. | 1147 EXPECT_EQ(0, helperPlugin->getPlugin()); // Invalid plugin type means no plu
gin. |
| 1148 | 1148 |
| 1149 webViewImpl->closeHelperPluginSoon(helperPlugin); | 1149 webViewImpl->closeHelperPluginSoon(helperPlugin); |
| 1150 | 1150 |
| 1151 webViewImpl->close(); | 1151 webViewImpl->close(); |
| 1152 } | 1152 } |
| 1153 | 1153 |
| 1154 } | 1154 } |
| OLD | NEW |