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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 #include "public/web/WebInputEvent.h" | 85 #include "public/web/WebInputEvent.h" |
86 #include "public/web/WebScriptSource.h" | 86 #include "public/web/WebScriptSource.h" |
87 #include "public/web/WebSettings.h" | 87 #include "public/web/WebSettings.h" |
88 #include "public/web/WebTreeScopeType.h" | 88 #include "public/web/WebTreeScopeType.h" |
89 #include "public/web/WebViewClient.h" | 89 #include "public/web/WebViewClient.h" |
90 #include "public/web/WebWidget.h" | 90 #include "public/web/WebWidget.h" |
91 #include "public/web/WebWidgetClient.h" | 91 #include "public/web/WebWidgetClient.h" |
92 #include "testing/gtest/include/gtest/gtest.h" | 92 #include "testing/gtest/include/gtest/gtest.h" |
93 #include "third_party/skia/include/core/SkBitmap.h" | 93 #include "third_party/skia/include/core/SkBitmap.h" |
94 #include "third_party/skia/include/core/SkCanvas.h" | 94 #include "third_party/skia/include/core/SkCanvas.h" |
| 95 #include "ui/events/keycodes/dom/dom_key.h" |
95 #include "web/WebLocalFrameImpl.h" | 96 #include "web/WebLocalFrameImpl.h" |
96 #include "web/WebSettingsImpl.h" | 97 #include "web/WebSettingsImpl.h" |
97 #include "web/WebViewImpl.h" | 98 #include "web/WebViewImpl.h" |
98 #include "web/tests/FrameTestHelpers.h" | 99 #include "web/tests/FrameTestHelpers.h" |
99 | 100 |
100 #if OS(MACOSX) | 101 #if OS(MACOSX) |
101 #include "public/web/mac/WebSubstringUtil.h" | 102 #include "public/web/mac/WebSubstringUtil.h" |
102 #endif | 103 #endif |
103 | 104 |
104 using blink::FrameTestHelpers::loadFrame; | 105 using blink::FrameTestHelpers::loadFrame; |
(...skipping 1882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1987 // Select composition and do sanity check. | 1988 // Select composition and do sanity check. |
1988 WebVector<WebCompositionUnderline> emptyUnderlines; | 1989 WebVector<WebCompositionUnderline> emptyUnderlines; |
1989 frame->setEditableSelectionOffsets(6, 6); | 1990 frame->setEditableSelectionOffsets(6, 6); |
1990 EXPECT_TRUE(webView->setComposition("fghij", emptyUnderlines, 0, 5)); | 1991 EXPECT_TRUE(webView->setComposition("fghij", emptyUnderlines, 0, 5)); |
1991 frame->setEditableSelectionOffsets(11, 11); | 1992 frame->setEditableSelectionOffsets(11, 11); |
1992 verifySelectionAndComposition(webView, 11, 11, 6, 11, "initial case"); | 1993 verifySelectionAndComposition(webView, 11, 11, 6, 11, "initial case"); |
1993 | 1994 |
1994 // Press Backspace and verify composition didn't get cancelled. This is
to verify the fix | 1995 // Press Backspace and verify composition didn't get cancelled. This is
to verify the fix |
1995 // for crbug.com/429916. | 1996 // for crbug.com/429916. |
1996 WebKeyboardEvent keyEvent; | 1997 WebKeyboardEvent keyEvent; |
| 1998 keyEvent.domKey = ui::DomKey::FromCharacter('\b'); |
1997 keyEvent.windowsKeyCode = VKEY_BACK; | 1999 keyEvent.windowsKeyCode = VKEY_BACK; |
1998 keyEvent.setKeyIdentifierFromWindowsKeyCode(); | 2000 keyEvent.setKeyIdentifierFromWindowsKeyCode(); |
1999 keyEvent.type = WebInputEvent::RawKeyDown; | 2001 keyEvent.type = WebInputEvent::RawKeyDown; |
2000 webView->handleInputEvent(keyEvent); | 2002 webView->handleInputEvent(keyEvent); |
2001 | 2003 |
2002 frame->setEditableSelectionOffsets(6, 6); | 2004 frame->setEditableSelectionOffsets(6, 6); |
2003 EXPECT_TRUE(webView->setComposition("fghi", emptyUnderlines, 0, 4)); | 2005 EXPECT_TRUE(webView->setComposition("fghi", emptyUnderlines, 0, 4)); |
2004 frame->setEditableSelectionOffsets(10, 10); | 2006 frame->setEditableSelectionOffsets(10, 10); |
2005 verifySelectionAndComposition(webView, 10, 10, 6, 10, "after pressing Ba
ckspace"); | 2007 verifySelectionAndComposition(webView, 10, 10, 6, 10, "after pressing Ba
ckspace"); |
2006 | 2008 |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2169 | 2171 |
2170 WebElement element = webView->mainFrame()->document().getElementById("messag
e"); | 2172 WebElement element = webView->mainFrame()->document().getElementById("messag
e"); |
2171 EXPECT_STREQ("DOMFocusOutDOMFocusIn", element.textContent().utf8().data()); | 2173 EXPECT_STREQ("DOMFocusOutDOMFocusIn", element.textContent().utf8().data()); |
2172 } | 2174 } |
2173 | 2175 |
2174 static void openDateTimeChooser(WebView* webView, HTMLInputElement* inputElement
) | 2176 static void openDateTimeChooser(WebView* webView, HTMLInputElement* inputElement
) |
2175 { | 2177 { |
2176 inputElement->focus(); | 2178 inputElement->focus(); |
2177 | 2179 |
2178 WebKeyboardEvent keyEvent; | 2180 WebKeyboardEvent keyEvent; |
| 2181 keyEvent.domKey = ui::DomKey::FromCharacter(' '); |
2179 keyEvent.windowsKeyCode = VKEY_SPACE; | 2182 keyEvent.windowsKeyCode = VKEY_SPACE; |
2180 keyEvent.type = WebInputEvent::RawKeyDown; | 2183 keyEvent.type = WebInputEvent::RawKeyDown; |
2181 keyEvent.setKeyIdentifierFromWindowsKeyCode(); | 2184 keyEvent.setKeyIdentifierFromWindowsKeyCode(); |
2182 webView->handleInputEvent(keyEvent); | 2185 webView->handleInputEvent(keyEvent); |
2183 | 2186 |
2184 keyEvent.type = WebInputEvent::KeyUp; | 2187 keyEvent.type = WebInputEvent::KeyUp; |
2185 webView->handleInputEvent(keyEvent); | 2188 webView->handleInputEvent(keyEvent); |
2186 } | 2189 } |
2187 | 2190 |
2188 // TODO(crbug.com/605112) This test is crashing on Android (Nexus 4) bot. | 2191 // TODO(crbug.com/605112) This test is crashing on Android (Nexus 4) bot. |
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2797 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("form.html")); | 2800 URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c
_str()), WebString::fromUTF8("form.html")); |
2798 MockAutofillClient client; | 2801 MockAutofillClient client; |
2799 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "form.html"
, true); | 2802 WebView* webView = m_webViewHelper.initializeAndLoad(m_baseURL + "form.html"
, true); |
2800 WebLocalFrameImpl* frame = toWebLocalFrameImpl(webView->mainFrame()); | 2803 WebLocalFrameImpl* frame = toWebLocalFrameImpl(webView->mainFrame()); |
2801 frame->setAutofillClient(&client); | 2804 frame->setAutofillClient(&client); |
2802 webView->setInitialFocus(false); | 2805 webView->setInitialFocus(false); |
2803 | 2806 |
2804 EXPECT_EQ(0, client.getUserGestureNotificationsCount()); | 2807 EXPECT_EQ(0, client.getUserGestureNotificationsCount()); |
2805 | 2808 |
2806 WebKeyboardEvent keyEvent; | 2809 WebKeyboardEvent keyEvent; |
| 2810 keyEvent.domKey = ui::DomKey::FromCharacter(' '); |
2807 keyEvent.windowsKeyCode = VKEY_SPACE; | 2811 keyEvent.windowsKeyCode = VKEY_SPACE; |
2808 keyEvent.type = WebInputEvent::RawKeyDown; | 2812 keyEvent.type = WebInputEvent::RawKeyDown; |
2809 keyEvent.setKeyIdentifierFromWindowsKeyCode(); | 2813 keyEvent.setKeyIdentifierFromWindowsKeyCode(); |
2810 webView->handleInputEvent(keyEvent); | 2814 webView->handleInputEvent(keyEvent); |
2811 keyEvent.type = WebInputEvent::KeyUp; | 2815 keyEvent.type = WebInputEvent::KeyUp; |
2812 webView->handleInputEvent(keyEvent); | 2816 webView->handleInputEvent(keyEvent); |
2813 | 2817 |
2814 EXPECT_EQ(1, client.getUserGestureNotificationsCount()); | 2818 EXPECT_EQ(1, client.getUserGestureNotificationsCount()); |
2815 frame->setAutofillClient(0); | 2819 frame->setAutofillClient(0); |
2816 } | 2820 } |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3181 frame->setAutofillClient(&client); | 3185 frame->setAutofillClient(&client); |
3182 webView->setInitialFocus(false); | 3186 webView->setInitialFocus(false); |
3183 | 3187 |
3184 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel
lo").c_str()))); | 3188 EXPECT_TRUE(webView->confirmComposition(WebString::fromUTF8(std::string("hel
lo").c_str()))); |
3185 EXPECT_EQ(1, client.textChangesFromUserGesture()); | 3189 EXPECT_EQ(1, client.textChangesFromUserGesture()); |
3186 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); | 3190 EXPECT_FALSE(UserGestureIndicator::processingUserGesture()); |
3187 frame->setAutofillClient(0); | 3191 frame->setAutofillClient(0); |
3188 } | 3192 } |
3189 | 3193 |
3190 } // namespace blink | 3194 } // namespace blink |
OLD | NEW |