A handful of regression tests rely on a window.textInputController object. This object is unimplemented in DRT on Windows, so these tests fail. Failure results have been checked in for the affected tests. We should implement textInputController so these tests can pass!
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
<rdar://problem/7433229>
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/72550
http://trac.webkit.org/changeset/72553
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.