| 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 793 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 804 WebVector<WebCompositionUnderline> emptyUnderlines; | 804 WebVector<WebCompositionUnderline> emptyUnderlines; |
| 805 webView->setComposition(WebString::fromUTF8(compositionText.c_str()), emptyU
nderlines, 3, 3); | 805 webView->setComposition(WebString::fromUTF8(compositionText.c_str()), emptyU
nderlines, 3, 3); |
| 806 | 806 |
| 807 WebTextInputInfo info = webView->textInputInfo(); | 807 WebTextInputInfo info = webView->textInputInfo(); |
| 808 EXPECT_EQ("hello", std::string(info.value.utf8().data())); | 808 EXPECT_EQ("hello", std::string(info.value.utf8().data())); |
| 809 EXPECT_EQ(3, info.selectionStart); | 809 EXPECT_EQ(3, info.selectionStart); |
| 810 EXPECT_EQ(3, info.selectionEnd); | 810 EXPECT_EQ(3, info.selectionEnd); |
| 811 EXPECT_EQ(0, info.compositionStart); | 811 EXPECT_EQ(0, info.compositionStart); |
| 812 EXPECT_EQ(5, info.compositionEnd); | 812 EXPECT_EQ(5, info.compositionEnd); |
| 813 | 813 |
| 814 webView->confirmComposition(WebWidget::KeepSelection); | 814 webView->confirmComposition(WebWidget::KeepSelection, 1); |
| 815 info = webView->textInputInfo(); | 815 info = webView->textInputInfo(); |
| 816 EXPECT_EQ(3, info.selectionStart); | 816 EXPECT_EQ(3, info.selectionStart); |
| 817 EXPECT_EQ(3, info.selectionEnd); | 817 EXPECT_EQ(3, info.selectionEnd); |
| 818 EXPECT_EQ(-1, info.compositionStart); | 818 EXPECT_EQ(-1, info.compositionStart); |
| 819 EXPECT_EQ(-1, info.compositionEnd); | 819 EXPECT_EQ(-1, info.compositionEnd); |
| 820 | 820 |
| 821 webView->setComposition(WebString::fromUTF8(compositionText.c_str()), emptyU
nderlines, 3, 3); | 821 webView->setComposition(WebString::fromUTF8(compositionText.c_str()), emptyU
nderlines, 3, 3); |
| 822 info = webView->textInputInfo(); | 822 info = webView->textInputInfo(); |
| 823 EXPECT_EQ("helhellolo", std::string(info.value.utf8().data())); | 823 EXPECT_EQ("helhellolo", std::string(info.value.utf8().data())); |
| 824 EXPECT_EQ(6, info.selectionStart); | 824 EXPECT_EQ(6, info.selectionStart); |
| 825 EXPECT_EQ(6, info.selectionEnd); | 825 EXPECT_EQ(6, info.selectionEnd); |
| 826 EXPECT_EQ(3, info.compositionStart); | 826 EXPECT_EQ(3, info.compositionStart); |
| 827 EXPECT_EQ(8, info.compositionEnd); | 827 EXPECT_EQ(8, info.compositionEnd); |
| 828 | 828 |
| 829 webView->confirmComposition(WebWidget::DoNotKeepSelection); | 829 webView->confirmComposition(WebWidget::DoNotKeepSelection, 1); |
| 830 info = webView->textInputInfo(); | 830 info = webView->textInputInfo(); |
| 831 EXPECT_EQ(8, info.selectionStart); | 831 EXPECT_EQ(8, info.selectionStart); |
| 832 EXPECT_EQ(8, info.selectionEnd); | 832 EXPECT_EQ(8, info.selectionEnd); |
| 833 EXPECT_EQ(-1, info.compositionStart); | 833 EXPECT_EQ(-1, info.compositionStart); |
| 834 EXPECT_EQ(-1, info.compositionEnd); | 834 EXPECT_EQ(-1, info.compositionEnd); |
| 835 } | 835 } |
| 836 | 836 |
| 837 TEST_F(WebViewTest, FinishCompositionDoesNotRevealSelection) | 837 TEST_F(WebViewTest, FinishCompositionDoesNotRevealSelection) |
| 838 { | 838 { |
| 839 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("form_with_input.html")); | 839 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("form_with_input.html")); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 852 Element* element = static_cast<Element*>(webView->mainFrame()->document().ge
tElementById("btn")); | 852 Element* element = static_cast<Element*>(webView->mainFrame()->document().ge
tElementById("btn")); |
| 853 element->scrollIntoView(); | 853 element->scrollIntoView(); |
| 854 float offsetHeight = webView->mainFrame()->scrollOffset().height; | 854 float offsetHeight = webView->mainFrame()->scrollOffset().height; |
| 855 EXPECT_EQ(0, webView->mainFrame()->scrollOffset().width); | 855 EXPECT_EQ(0, webView->mainFrame()->scrollOffset().width); |
| 856 EXPECT_LT(0, offsetHeight); | 856 EXPECT_LT(0, offsetHeight); |
| 857 | 857 |
| 858 WebTextInputInfo info = webView->textInputInfo(); | 858 WebTextInputInfo info = webView->textInputInfo(); |
| 859 EXPECT_EQ("hello", std::string(info.value.utf8().data())); | 859 EXPECT_EQ("hello", std::string(info.value.utf8().data())); |
| 860 | 860 |
| 861 // Verify that the input field is not scrolled back into the viewport. | 861 // Verify that the input field is not scrolled back into the viewport. |
| 862 webView->confirmComposition(WebWidget::DoNotKeepSelection); | 862 webView->confirmComposition(WebWidget::DoNotKeepSelection, 1); |
| 863 EXPECT_EQ(0, webView->mainFrame()->scrollOffset().width); | 863 EXPECT_EQ(0, webView->mainFrame()->scrollOffset().width); |
| 864 EXPECT_EQ(offsetHeight, webView->mainFrame()->scrollOffset().height); | 864 EXPECT_EQ(offsetHeight, webView->mainFrame()->scrollOffset().height); |
| 865 } | 865 } |
| 866 | 866 |
| 867 TEST_F(WebViewTest, InsertNewLinePlacementAfterConfirmComposition) | 867 TEST_F(WebViewTest, InsertNewLinePlacementAfterConfirmComposition) |
| 868 { | 868 { |
| 869 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("text_area_populated.html")); | 869 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("text_area_populated.html")); |
| 870 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_a
rea_populated.html"); | 870 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_a
rea_populated.html"); |
| 871 webView->setInitialFocus(false); | 871 webView->setInitialFocus(false); |
| 872 | 872 |
| 873 WebVector<WebCompositionUnderline> emptyUnderlines; | 873 WebVector<WebCompositionUnderline> emptyUnderlines; |
| 874 | 874 |
| 875 WebLocalFrameImpl* frame = webView->mainFrameImpl(); | 875 WebLocalFrameImpl* frame = webView->mainFrameImpl(); |
| 876 frame->setEditableSelectionOffsets(4, 4); | 876 frame->setEditableSelectionOffsets(4, 4); |
| 877 frame->setCompositionFromExistingText(8, 12, emptyUnderlines); | 877 frame->setCompositionFromExistingText(8, 12, emptyUnderlines); |
| 878 | 878 |
| 879 WebTextInputInfo info = webView->textInputInfo(); | 879 WebTextInputInfo info = webView->textInputInfo(); |
| 880 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf
8().data())); | 880 EXPECT_EQ("0123456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.utf
8().data())); |
| 881 EXPECT_EQ(4, info.selectionStart); | 881 EXPECT_EQ(4, info.selectionStart); |
| 882 EXPECT_EQ(4, info.selectionEnd); | 882 EXPECT_EQ(4, info.selectionEnd); |
| 883 EXPECT_EQ(8, info.compositionStart); | 883 EXPECT_EQ(8, info.compositionStart); |
| 884 EXPECT_EQ(12, info.compositionEnd); | 884 EXPECT_EQ(12, info.compositionEnd); |
| 885 | 885 |
| 886 webView->confirmComposition(WebWidget::KeepSelection); | 886 webView->confirmComposition(WebWidget::KeepSelection, 1); |
| 887 info = webView->textInputInfo(); | 887 info = webView->textInputInfo(); |
| 888 EXPECT_EQ(4, info.selectionStart); | 888 EXPECT_EQ(4, info.selectionStart); |
| 889 EXPECT_EQ(4, info.selectionEnd); | 889 EXPECT_EQ(4, info.selectionEnd); |
| 890 EXPECT_EQ(-1, info.compositionStart); | 890 EXPECT_EQ(-1, info.compositionStart); |
| 891 EXPECT_EQ(-1, info.compositionEnd); | 891 EXPECT_EQ(-1, info.compositionEnd); |
| 892 | 892 |
| 893 std::string compositionText("\n"); | 893 std::string compositionText("\n"); |
| 894 webView->confirmComposition(WebString::fromUTF8(compositionText.c_str())); | 894 webView->confirmComposition(WebString::fromUTF8(compositionText.c_str()), 1)
; |
| 895 info = webView->textInputInfo(); | 895 info = webView->textInputInfo(); |
| 896 EXPECT_EQ(5, info.selectionStart); | 896 EXPECT_EQ(5, info.selectionStart); |
| 897 EXPECT_EQ(5, info.selectionEnd); | 897 EXPECT_EQ(5, info.selectionEnd); |
| 898 EXPECT_EQ(-1, info.compositionStart); | 898 EXPECT_EQ(-1, info.compositionStart); |
| 899 EXPECT_EQ(-1, info.compositionEnd); | 899 EXPECT_EQ(-1, info.compositionEnd); |
| 900 EXPECT_EQ("0123\n456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.u
tf8().data())); | 900 EXPECT_EQ("0123\n456789abcdefghijklmnopqrstuvwxyz", std::string(info.value.u
tf8().data())); |
| 901 } | 901 } |
| 902 | 902 |
| 903 TEST_F(WebViewTest, ExtendSelectionAndDelete) | 903 TEST_F(WebViewTest, ExtendSelectionAndDelete) |
| 904 { | 904 { |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 944 TEST_F(WebViewTest, SetCompositionFromExistingTextInTextArea) | 944 TEST_F(WebViewTest, SetCompositionFromExistingTextInTextArea) |
| 945 { | 945 { |
| 946 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("text_area_populated.html")); | 946 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("text_area_populated.html")); |
| 947 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_a
rea_populated.html"); | 947 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "text_a
rea_populated.html"); |
| 948 webView->setInitialFocus(false); | 948 webView->setInitialFocus(false); |
| 949 WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1)); | 949 WebVector<WebCompositionUnderline> underlines(static_cast<size_t>(1)); |
| 950 underlines[0] = WebCompositionUnderline(0, 4, 0, false, 0); | 950 underlines[0] = WebCompositionUnderline(0, 4, 0, false, 0); |
| 951 WebLocalFrameImpl* frame = webView->mainFrameImpl(); | 951 WebLocalFrameImpl* frame = webView->mainFrameImpl(); |
| 952 frame->setEditableSelectionOffsets(27, 27); | 952 frame->setEditableSelectionOffsets(27, 27); |
| 953 std::string newLineText("\n"); | 953 std::string newLineText("\n"); |
| 954 webView->confirmComposition(WebString::fromUTF8(newLineText.c_str())); | 954 webView->confirmComposition(WebString::fromUTF8(newLineText.c_str()), 1); |
| 955 WebTextInputInfo info = webView->textInputInfo(); | 955 WebTextInputInfo info = webView->textInputInfo(); |
| 956 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u
tf8().data())); | 956 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u
tf8().data())); |
| 957 | 957 |
| 958 frame->setEditableSelectionOffsets(31, 31); | 958 frame->setEditableSelectionOffsets(31, 31); |
| 959 frame->setCompositionFromExistingText(30, 34, underlines); | 959 frame->setCompositionFromExistingText(30, 34, underlines); |
| 960 info = webView->textInputInfo(); | 960 info = webView->textInputInfo(); |
| 961 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u
tf8().data())); | 961 EXPECT_EQ("0123456789abcdefghijklmnopq\nrstuvwxyz", std::string(info.value.u
tf8().data())); |
| 962 EXPECT_EQ(31, info.selectionStart); | 962 EXPECT_EQ(31, info.selectionStart); |
| 963 EXPECT_EQ(31, info.selectionEnd); | 963 EXPECT_EQ(31, info.selectionEnd); |
| 964 EXPECT_EQ(30, info.compositionStart); | 964 EXPECT_EQ(30, info.compositionStart); |
| 965 EXPECT_EQ(34, info.compositionEnd); | 965 EXPECT_EQ(34, info.compositionEnd); |
| 966 | 966 |
| 967 std::string compositionText("yolo"); | 967 std::string compositionText("yolo"); |
| 968 webView->confirmComposition(WebString::fromUTF8(compositionText.c_str())); | 968 webView->confirmComposition(WebString::fromUTF8(compositionText.c_str()), 1)
; |
| 969 info = webView->textInputInfo(); | 969 info = webView->textInputInfo(); |
| 970 EXPECT_EQ("0123456789abcdefghijklmnopq\nrsyoloxyz", std::string(info.value.u
tf8().data())); | 970 EXPECT_EQ("0123456789abcdefghijklmnopq\nrsyoloxyz", std::string(info.value.u
tf8().data())); |
| 971 EXPECT_EQ(34, info.selectionStart); | 971 EXPECT_EQ(34, info.selectionStart); |
| 972 EXPECT_EQ(34, info.selectionEnd); | 972 EXPECT_EQ(34, info.selectionEnd); |
| 973 EXPECT_EQ(-1, info.compositionStart); | 973 EXPECT_EQ(-1, info.compositionStart); |
| 974 EXPECT_EQ(-1, info.compositionEnd); | 974 EXPECT_EQ(-1, info.compositionEnd); |
| 975 } | 975 } |
| 976 | 976 |
| 977 TEST_F(WebViewTest, SetCompositionFromExistingTextInRichText) | 977 TEST_F(WebViewTest, SetCompositionFromExistingTextInRichText) |
| 978 { | 978 { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 992 TEST_F(WebViewTest, SetEditableSelectionOffsetsKeepsComposition) | 992 TEST_F(WebViewTest, SetEditableSelectionOffsetsKeepsComposition) |
| 993 { | 993 { |
| 994 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_populated.html")); | 994 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_populated.html")); |
| 995 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_
field_populated.html"); | 995 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_
field_populated.html"); |
| 996 webView->setInitialFocus(false); | 996 webView->setInitialFocus(false); |
| 997 | 997 |
| 998 std::string compositionTextFirst("hello "); | 998 std::string compositionTextFirst("hello "); |
| 999 std::string compositionTextSecond("world"); | 999 std::string compositionTextSecond("world"); |
| 1000 WebVector<WebCompositionUnderline> emptyUnderlines; | 1000 WebVector<WebCompositionUnderline> emptyUnderlines; |
| 1001 | 1001 |
| 1002 webView->confirmComposition(WebString::fromUTF8(compositionTextFirst.c_str()
)); | 1002 webView->confirmComposition(WebString::fromUTF8(compositionTextFirst.c_str()
), 1); |
| 1003 webView->setComposition(WebString::fromUTF8(compositionTextSecond.c_str()),
emptyUnderlines, 5, 5); | 1003 webView->setComposition(WebString::fromUTF8(compositionTextSecond.c_str()),
emptyUnderlines, 5, 5); |
| 1004 | 1004 |
| 1005 WebTextInputInfo info = webView->textInputInfo(); | 1005 WebTextInputInfo info = webView->textInputInfo(); |
| 1006 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); | 1006 EXPECT_EQ("hello world", std::string(info.value.utf8().data())); |
| 1007 EXPECT_EQ(11, info.selectionStart); | 1007 EXPECT_EQ(11, info.selectionStart); |
| 1008 EXPECT_EQ(11, info.selectionEnd); | 1008 EXPECT_EQ(11, info.selectionEnd); |
| 1009 EXPECT_EQ(6, info.compositionStart); | 1009 EXPECT_EQ(6, info.compositionStart); |
| 1010 EXPECT_EQ(11, info.compositionEnd); | 1010 EXPECT_EQ(11, info.compositionEnd); |
| 1011 | 1011 |
| 1012 WebLocalFrameImpl* frame = webView->mainFrameImpl(); | 1012 WebLocalFrameImpl* frame = webView->mainFrameImpl(); |
| (...skipping 1047 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2060 WebVector<WebCompositionUnderline> emptyUnderlines; | 2060 WebVector<WebCompositionUnderline> emptyUnderlines; |
| 2061 webView->setComposition(WebString::fromUTF8(compositionText.c_str()), emptyU
nderlines, 0, compositionText.length()); | 2061 webView->setComposition(WebString::fromUTF8(compositionText.c_str()), emptyU
nderlines, 0, compositionText.length()); |
| 2062 | 2062 |
| 2063 WebTextInputInfo info = webView->textInputInfo(); | 2063 WebTextInputInfo info = webView->textInputInfo(); |
| 2064 EXPECT_EQ(0, info.selectionStart); | 2064 EXPECT_EQ(0, info.selectionStart); |
| 2065 EXPECT_EQ((int) compositionText.length(), info.selectionEnd); | 2065 EXPECT_EQ((int) compositionText.length(), info.selectionEnd); |
| 2066 EXPECT_EQ(0, info.compositionStart); | 2066 EXPECT_EQ(0, info.compositionStart); |
| 2067 EXPECT_EQ((int) compositionText.length(), info.compositionEnd); | 2067 EXPECT_EQ((int) compositionText.length(), info.compositionEnd); |
| 2068 | 2068 |
| 2069 client.clearChangeCounts(); | 2069 client.clearChangeCounts(); |
| 2070 webView->confirmComposition(); | 2070 webView->confirmComposition(1); |
| 2071 EXPECT_EQ(0, client.textChangesWhileIgnored()); | 2071 EXPECT_EQ(0, client.textChangesWhileIgnored()); |
| 2072 EXPECT_EQ(1, client.textChangesWhileNotIgnored()); | 2072 EXPECT_EQ(1, client.textChangesWhileNotIgnored()); |
| 2073 | 2073 |
| 2074 frame->setAutofillClient(0); | 2074 frame->setAutofillClient(0); |
| 2075 } | 2075 } |
| 2076 | 2076 |
| 2077 TEST_F(WebViewTest, SetCompositionFromExistingTextTriggersAutofillTextChange) | 2077 TEST_F(WebViewTest, SetCompositionFromExistingTextTriggersAutofillTextChange) |
| 2078 { | 2078 { |
| 2079 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_populated.html")); | 2079 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_populated.html")); |
| 2080 MockAutofillClient client; | 2080 MockAutofillClient client; |
| (...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2764 EXPECT_TRUE(client.textIsUpdated()); | 2764 EXPECT_TRUE(client.textIsUpdated()); |
| 2765 WebTextInputInfo info = webViewImpl->textInputInfo(); | 2765 WebTextInputInfo info = webViewImpl->textInputInfo(); |
| 2766 EXPECT_EQ("testA", std::string(info.value.utf8().data())); | 2766 EXPECT_EQ("testA", std::string(info.value.utf8().data())); |
| 2767 | 2767 |
| 2768 // (A.2) Focused and user input modifies value. | 2768 // (A.2) Focused and user input modifies value. |
| 2769 client.reset(); | 2769 client.reset(); |
| 2770 EXPECT_FALSE(client.textIsUpdated()); | 2770 EXPECT_FALSE(client.textIsUpdated()); |
| 2771 | 2771 |
| 2772 WebVector<WebCompositionUnderline> emptyUnderlines; | 2772 WebVector<WebCompositionUnderline> emptyUnderlines; |
| 2773 webViewImpl->setComposition(WebString::fromUTF8("2"), emptyUnderlines, 1, 1)
; | 2773 webViewImpl->setComposition(WebString::fromUTF8("2"), emptyUnderlines, 1, 1)
; |
| 2774 webViewImpl->confirmComposition(WebWidget::KeepSelection); | 2774 webViewImpl->confirmComposition(WebWidget::KeepSelection, 1); |
| 2775 EXPECT_FALSE(client.textIsUpdated()); | 2775 EXPECT_FALSE(client.textIsUpdated()); |
| 2776 info = webViewImpl->textInputInfo(); | 2776 info = webViewImpl->textInputInfo(); |
| 2777 EXPECT_EQ("testA2", std::string(info.value.utf8().data())); | 2777 EXPECT_EQ("testA2", std::string(info.value.utf8().data())); |
| 2778 | 2778 |
| 2779 // (A.3) Unfocused and value is changed by script. | 2779 // (A.3) Unfocused and value is changed by script. |
| 2780 client.reset(); | 2780 client.reset(); |
| 2781 EXPECT_FALSE(client.textIsUpdated()); | 2781 EXPECT_FALSE(client.textIsUpdated()); |
| 2782 document->clearFocusedElement(); | 2782 document->clearFocusedElement(); |
| 2783 webViewImpl->setFocus(false); | 2783 webViewImpl->setFocus(false); |
| 2784 EXPECT_NE(document->focusedElement(), static_cast<Element*>(inputElement)); | 2784 EXPECT_NE(document->focusedElement(), static_cast<Element*>(inputElement)); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2795 EXPECT_EQ(document->focusedElement(), static_cast<Element*>(textAreaElement)
); | 2795 EXPECT_EQ(document->focusedElement(), static_cast<Element*>(textAreaElement)
); |
| 2796 textAreaElement->setValue("testB"); | 2796 textAreaElement->setValue("testB"); |
| 2797 EXPECT_TRUE(client.textIsUpdated()); | 2797 EXPECT_TRUE(client.textIsUpdated()); |
| 2798 info = webViewImpl->textInputInfo(); | 2798 info = webViewImpl->textInputInfo(); |
| 2799 EXPECT_EQ("testB", std::string(info.value.utf8().data())); | 2799 EXPECT_EQ("testB", std::string(info.value.utf8().data())); |
| 2800 | 2800 |
| 2801 // (B.2) Focused and user input modifies value. | 2801 // (B.2) Focused and user input modifies value. |
| 2802 client.reset(); | 2802 client.reset(); |
| 2803 EXPECT_FALSE(client.textIsUpdated()); | 2803 EXPECT_FALSE(client.textIsUpdated()); |
| 2804 webViewImpl->setComposition(WebString::fromUTF8("2"), emptyUnderlines, 1, 1)
; | 2804 webViewImpl->setComposition(WebString::fromUTF8("2"), emptyUnderlines, 1, 1)
; |
| 2805 webViewImpl->confirmComposition(WebWidget::KeepSelection); | 2805 webViewImpl->confirmComposition(WebWidget::KeepSelection, 1); |
| 2806 info = webViewImpl->textInputInfo(); | 2806 info = webViewImpl->textInputInfo(); |
| 2807 EXPECT_EQ("testB2", std::string(info.value.utf8().data())); | 2807 EXPECT_EQ("testB2", std::string(info.value.utf8().data())); |
| 2808 | 2808 |
| 2809 // (B.3) Unfocused and value is changed by script. | 2809 // (B.3) Unfocused and value is changed by script. |
| 2810 client.reset(); | 2810 client.reset(); |
| 2811 EXPECT_FALSE(client.textIsUpdated()); | 2811 EXPECT_FALSE(client.textIsUpdated()); |
| 2812 document->clearFocusedElement(); | 2812 document->clearFocusedElement(); |
| 2813 webViewImpl->setFocus(false); | 2813 webViewImpl->setFocus(false); |
| 2814 EXPECT_NE(document->focusedElement(), static_cast<Element*>(textAreaElement)
); | 2814 EXPECT_NE(document->focusedElement(), static_cast<Element*>(textAreaElement)
); |
| 2815 inputElement->setValue("testB3"); | 2815 inputElement->setValue("testB3"); |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3203 | 3203 |
| 3204 TEST_F(WebViewTest, PasswordFieldEditingIsUserGesture) | 3204 TEST_F(WebViewTest, PasswordFieldEditingIsUserGesture) |
| 3205 { | 3205 { |
| 3206 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_password.html")); | 3206 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("input_field_password.html")); |
| 3207 MockAutofillClient client; | 3207 MockAutofillClient client; |
| 3208 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_
field_password.html", true); | 3208 WebViewImpl* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "input_
field_password.html", true); |
| 3209 WebLocalFrameImpl* frame = webView->mainFrameImpl(); | 3209 WebLocalFrameImpl* frame = webView->mainFrameImpl(); |
| 3210 frame->setAutofillClient(&client); | 3210 frame->setAutofillClient(&client); |
| 3211 webView->setInitialFocus(false); | 3211 webView->setInitialFocus(false); |
| 3212 | 3212 |
| 3213 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel
lo").c_str()))); | 3213 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel
lo").c_str()), 1)); |
| 3214 EXPECT_EQ(1, client.textChangesFromUserGesture()); | 3214 EXPECT_EQ(1, client.textChangesFromUserGesture()); |
| 3215 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); | 3215 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); |
| 3216 frame->setAutofillClient(0); | 3216 frame->setAutofillClient(0); |
| 3217 } | 3217 } |
| 3218 | 3218 |
| 3219 // Verify that a WebView created with a ScopedPageLoadDeferrer already on the | 3219 // Verify that a WebView created with a ScopedPageLoadDeferrer already on the |
| 3220 // stack defers its loads. | 3220 // stack defers its loads. |
| 3221 TEST_F(WebViewTest, CreatedDuringLoadDeferral) | 3221 TEST_F(WebViewTest, CreatedDuringLoadDeferral) |
| 3222 { | 3222 { |
| 3223 { | 3223 { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 3248 EXPECT_TRUE(webView->page()->defersLoading()); | 3248 EXPECT_TRUE(webView->page()->defersLoading()); |
| 3249 } | 3249 } |
| 3250 | 3250 |
| 3251 EXPECT_TRUE(webView->page()->defersLoading()); | 3251 EXPECT_TRUE(webView->page()->defersLoading()); |
| 3252 } | 3252 } |
| 3253 | 3253 |
| 3254 EXPECT_FALSE(webView->page()->defersLoading()); | 3254 EXPECT_FALSE(webView->page()->defersLoading()); |
| 3255 } | 3255 } |
| 3256 | 3256 |
| 3257 } // namespace blink | 3257 } // namespace blink |
| OLD | NEW |