Modified: trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp (221419 => 221420)
--- trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp 2017-08-31 14:07:11 UTC (rev 221419)
+++ trunk/Source/WebKit/UIProcess/gtk/InputMethodFilter.cpp 2017-08-31 14:10:21 UTC (rev 221420)
@@ -312,6 +312,14 @@
{
if (!m_composingTextCurrently)
return;
+
+#if ENABLE(API_TESTS)
+ if (m_testingMode) {
+ m_composingTextCurrently = false;
+ return;
+ }
+#endif
+
m_page->confirmComposition(String(), -1, 0);
m_composingTextCurrently = false;
}
@@ -431,7 +439,7 @@
{
const char* eventType = event->type == GDK_KEY_RELEASE ? "release" : "press";
const char* fakedString = faked == EventFaked ? " (faked)" : "";
- m_events.append(String::format("sendKeyEventWithCompositionResults type=%s keycode=%u%s", eventType, event->keyval, fakedString));
+ m_events.append(String::format("sendKeyEventWithCompositionResults type=%s keycode=%x%s", eventType, event->keyval, fakedString));
if (resultsToSend & Composition && !m_confirmedComposition.isNull())
logConfirmCompositionForTesting();
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp (221419 => 221420)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp 2017-08-31 14:07:11 UTC (rev 221419)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp 2017-08-31 14:10:21 UTC (rev 221420)
@@ -128,19 +128,19 @@
ASSERT_EQ(21, events.size());
ASSERT_EQ(String("sendSimpleKeyEvent type=press keycode=ffe3"), events[0]);
ASSERT_EQ(String("sendSimpleKeyEvent type=press keycode=ffe1"), events[1]);
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=85"), events[2]);
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=55"), events[2]);
ASSERT_EQ(String("setPreedit text='u' cursorOffset=1"), events[3]);
ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=55"), events[4]);
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=48"), events[5]);
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=30"), events[5]);
ASSERT_EQ(String("setPreedit text='u0' cursorOffset=2"), events[6]);
ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=30"), events[7]);
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=48"), events[8]);
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=30"), events[8]);
ASSERT_EQ(String("setPreedit text='u00' cursorOffset=3"), events[9]);
ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=30"), events[10]);
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=70"), events[11]);
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=46"), events[11]);
ASSERT_EQ(String("setPreedit text='u00F' cursorOffset=4"), events[12]);
ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=46"), events[13]);
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=52"), events[14]);
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=34"), events[14]);
ASSERT_EQ(String("setPreedit text='u00F4' cursorOffset=5"), events[15]);
ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=34"), events[16]);
ASSERT_EQ(String("confirmComposition 'ô'"), events[17]);
@@ -158,12 +158,10 @@
inputMethodFilter.sendPressAndReleaseKeyEventPairToFilter(GDK_KEY_o);
const Vector<String>& events = inputMethodFilter.events();
- ASSERT_EQ(5, events.size());
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=39"), events[0]);
- ASSERT_EQ(String("setPreedit text='' cursorOffset=0"), events[1]);
- ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=27"), events[2]);
- ASSERT_EQ(String("sendSimpleKeyEvent type=press keycode=6f text='ó'"), events[3]);
- ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=6f"), events[4]);
+ ASSERT_EQ(3, events.size());
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=6f"), events[0]);
+ ASSERT_EQ(String("confirmComposition 'ó'"), events[1]);
+ ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=6f"), events[2]);
}
typedef void (*GetPreeditStringCallback) (GtkIMContext*, gchar**, PangoAttrList**, int*);
@@ -191,10 +189,10 @@
const Vector<String>& events = inputMethodFilter.events();
ASSERT_EQ(6, events.size());
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=16777215 (faked)"), events[0]);
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=ffffff (faked)"), events[0]);
ASSERT_EQ(String("setPreedit text='preedit of doom, bringer of cheese' cursorOffset=3"), events[1]);
ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=ffffff (faked)"), events[2]);
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=16777215 (faked)"), events[3]);
+ ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=ffffff (faked)"), events[3]);
ASSERT_EQ(String("confirmComposition 'commit text'"), events[4]);
ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=ffffff (faked)"), events[5]);
}
@@ -206,15 +204,6 @@
gSawContextReset = true;
}
-static void verifyCanceledComposition(const Vector<String>& events)
-{
- ASSERT_EQ(3, events.size());
- ASSERT_EQ(String("sendKeyEventWithCompositionResults type=press keycode=39"), events[0]);
- ASSERT_EQ(String("setPreedit text='' cursorOffset=0"), events[1]);
- ASSERT_EQ(String("sendSimpleKeyEvent type=release keycode=27"), events[2]);
- ASSERT(gSawContextReset);
-}
-
TEST(WebKit2, InputMethodFilterContextFocusOutDuringOngoingComposition)
{
TestInputMethodFilter inputMethodFilter;
@@ -229,9 +218,8 @@
inputMethodFilter.sendPressAndReleaseKeyEventPairToFilter(GDK_KEY_Multi_key);
inputMethodFilter.sendPressAndReleaseKeyEventPairToFilter(GDK_KEY_apostrophe);
inputMethodFilter.notifyFocusedOut();
+ ASSERT_TRUE(gSawContextReset);
- verifyCanceledComposition(inputMethodFilter.events());
-
contextClass->reset = previousCallback;
}
@@ -249,9 +237,8 @@
inputMethodFilter.sendPressAndReleaseKeyEventPairToFilter(GDK_KEY_Multi_key);
inputMethodFilter.sendPressAndReleaseKeyEventPairToFilter(GDK_KEY_apostrophe);
inputMethodFilter.notifyMouseButtonPress();
+ ASSERT_TRUE(gSawContextReset);
- verifyCanceledComposition(inputMethodFilter.events());
-
contextClass->reset = previousCallback;
}