Summary: | DRT's textInputController is unimplemented on Windows | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Adam Roben (:aroben) <aroben> | ||||
Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | abarth, adele, ap, aroben, eric, jberlin, jhoneycutt, lynn.neir, rniwa, sfalken, tkent, webkit.review.bot | ||||
Priority: | P2 | Keywords: | InRadar, LayoutTestFailure, PlatformOnly | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | PC | ||||||
OS: | Windows XP | ||||||
Attachments: |
|
Description
Adam Roben (:aroben)
2009-12-01 07:55:40 PST
The expected failure results were checked in in r51543, but more could be added later as new tests are written that use textInputController. http://trac.webkit.org/changeset/51543 I investigated how to implement TextInputController.setMarkedText(). A) Emulate IME interaction It's hard to implement this. WebKit/win/WebView.cpp interacts with IMM32.DLL. We need to make a mock IMM32.DLL, send WM_IME messages and respond to IMM32.DLL calls. B) Expose Editor::setComposition() via WebKit API This is simple, and Chromium does it. However this means we won't test the IME handling code in WebView.cpp. http://trac.webkit.org/changeset/74641 might have broken GTK Linux 32-bit Release Created attachment 136482 [details]
implementation for TextInputController on windows port
This patch contains implementation for TextInputController in DRT that works on Windows port.
A number of tests have been effected, here are the details about the tests:
These two tests now pass match mac baseline and so old baselines in windows port were removed:
fast/forms/input-maxlength-ime-completed.html --> removed old baseline in windows port - no longer needed as test now passes fine.
fast/forms/input-maxlength-ime-preedit.html --> removed old baseline in windows port - no longer needed as test now passes fine.
These nine tests now pass and so were removed from windows port Skipped file:
editing/input/ime-composition-clearpreedit.html
editing/input/password-echo-textnode.html
editing/input/password-echo-passnode.html
editing/input/password-echo-passnode2.html
editing/input/password-echo-passnode3.html
editing/input/setting-input-value-cancel-ime-composition.html
editing/inserting/insert-composition-whitespace.html
fast/dom/tab-in-right-alignment.html
fast/text/international/thai-cursor-position.html
The results for these six tests are correct now but do not match mac baseline because mac uses flipped coordinate system, so baselines in windows port were added/updated:
editing/selection/5825350-1.html
editing/selection/5825350-2.html
editing/selection/mixed-editability-10.html
editing/selection/move-left-right.html
editing/inserting/caret-position.html
svg/text/caret-in-svg-text.xhtml
The result for this test does not match mac baseline but does match result for WebKitTestRunner on windows port, so updated windows port baseline:
fast/events/ime-composition-events-001.html
Comment on attachment 136482 [details]
implementation for TextInputController on windows port
Seems reasonable to me.
Lynn, is there a reason you haven't set the commit-queue flag to '+' on this patch? Are you worried about landing it for some reason? (In reply to comment #9) > Lynn, is there a reason you haven't set the commit-queue flag to '+' on this patch? Are you worried about landing it for some reason? Sorry, there is no reason other than I have moved onto new project and I am no longer actively working on webkit :-( Please feel free to push it through. Comment on attachment 136482 [details]
implementation for TextInputController on windows port
Ok, setting commit-queue+. Thanks for the fix!
Comment on attachment 136482 [details] implementation for TextInputController on windows port Clearing flags on attachment: 136482 Committed r118594: <http://trac.webkit.org/changeset/118594> All reviewed patches have been landed. Closing bug. |