Reviewed by Darin Adler and Sam Weinig.
- fix <rdar://problem/
5134075> fast/forms/select-type-ahead-non-latin.html fails on boomer
* DumpRenderTree/win/EventSender.cpp:
(keyDownCallback): For characters that cannot be entered on the active
keyboard layout, send a WM_CHAR message with the character along with
a WM_KEYDOWN message with a virtual key code of 255.
LayoutTests:
Reviewed by Darin Adler and Sam Weinig.
- remove fast/forms/select-type-ahead-non-latin.html after fixing <rdar://problem/
5134075>
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27863
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-11-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler and Sam Weinig.
+
+ - remove fast/forms/select-type-ahead-non-latin.html after fixing <rdar://problem/5134075>
+
+ * platform/win/Skipped:
+
2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
Rubberstamped by Eric.
# This test uses Mac-specific key codes <rdar://problem/5076426>
fast/events/arrow-navigation.html
-# fast/forms/select-type-ahead-non-latin.html fails on boomer <rdar://problem/5134075>
-fast/forms/select-type-ahead-non-latin.html
-
# Selection seems to fail for some LayoutTests <rdar://problem/5130762>
editing/selection/4402375.html
editing/selection/image-before-linebreak.html
+2007-11-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler and Sam Weinig.
+
+ - fix <rdar://problem/5134075> fast/forms/select-type-ahead-non-latin.html fails on boomer
+
+ * DumpRenderTree/win/EventSender.cpp:
+ (keyDownCallback): For characters that cannot be entered on the active
+ keyboard layout, send a WM_CHAR message with the character along with
+ a WM_KEYDOWN message with a virtual key code of 255.
+
2007-11-16 Mark Rowe <mrowe@apple.com>
Reviewed by Tim Hatcher.
JSStringRef character = JSValueToStringCopy(context, arguments[0], exception);
ASSERT(!*exception);
int virtualKeyCode;
+ int charCode = 0;
if (JSStringIsEqualToUTF8CString(character, "rightArrow")) {
virtualKeyCode = VK_RIGHT;
} else {
- int charCode = JSStringGetCharactersPtr(character)[0];
+ charCode = JSStringGetCharactersPtr(character)[0];
virtualKeyCode = toupper(LOBYTE(VkKeyScan(charCode)));
}
JSStringRelease(character);
}
MSG msg = makeMsg(webViewWindow, WM_KEYDOWN, virtualKeyCode, 0);
- dispatchMessage(&msg);
-
+ if (virtualKeyCode != 255)
+ dispatchMessage(&msg);
+ else {
+ // For characters that do not exist in the active keyboard layout,
+ // ::Translate will not work, so we post an WM_CHAR event ourselves.
+ ::PostMessage(webViewWindow, WM_CHAR, charCode, 0);
+ ::DispatchMessage(&msg);
+ }
+
if (argumentCount > 1)
::SetKeyboardState(keyState);