Bug 19347

Summary: After the password is input , Japanese can't be input.
Product: WebKit Reporter: Sato <nicocoa.app>
Component: WebKit Misc.Assignee: Alexey Proskuryakov <ap>
Severity: Major CC: ap, leonard_chin, mitz, mrowe
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
URL: https://edit.yahoo.co.jp/config/eval_register?.src=event&.done=http://yidpromo.yahoo.co.jp/
Description Flags
proposed fix mitz: review+

Description Sato 2008-05-31 21:45:19 PDT
I'm using WebKit-SVN-r34279/Mac OS 10.5.3(intel).
After is input in password form (<input type="password">), Japanese cannot be input to other forms.

Example, "Create new account" page in Yahoo! Japan,
After the password is input, the answer to a secret question cannot be input in 
Comment 1 Mark Rowe (bdash) 2008-05-31 23:36:32 PDT
Does this work correctly in Safari 3.1.1?
Comment 2 Mark Rowe (bdash) 2008-05-31 23:36:43 PDT
Comment 3 Sato 2008-06-01 07:33:47 PDT
(In reply to comment #1)
> Does this work correctly in Safari 3.1.1?

When having tried now,The problem occurred in Safari 3.1.1 (5525.20). 
This problem seems to occur only by Leopard.The problem did not occur in Tiger.
Comment 4 mitz 2008-06-01 09:43:38 PDT
I think this is a duplicate of bug 16946.
Comment 5 Alexey Proskuryakov 2008-07-21 02:30:49 PDT
I believe that the root cause for both bugs is that we're manipulating properties on wrong documents. In this bug, TSMGetActiveDocument() returns 0 when switching from a password field to a normal one, so we fail to remove kTSMDocumentEnabledInputSourcesPropertyTag. This is caused by a hack in -[WebHTMLView inputContext], and is fixed by removing it.

It's not obvious to me if bug 16946 is exactly the same, as there may be many reasons for an active document to be not what we expect. Ideally, we should find a less fragile solution.
Comment 6 Mark Rowe (bdash) 2008-08-15 04:07:45 PDT
*** Bug 20392 has been marked as a duplicate of this bug. ***
Comment 7 Alexey Proskuryakov 2008-08-18 09:35:54 PDT
Created attachment 22853 [details]
proposed fix
Comment 8 mitz 2008-08-18 09:43:53 PDT
Comment on attachment 22853 [details]
proposed fix

Cool! r=me

+    Frame* coreFrame = core([self _frame]);

You can use the local variable frame from the line above.

Can you now remove
@interface NSResponder (AppKitDetails)
from WebHTMLView.mm?
Comment 9 Alexey Proskuryakov 2008-08-19 00:49:05 PDT
Committed revision 35831. I wonder how this affects bug 16946.

(In reply to comment #8)
> Can you now remove
> @interface NSResponder (AppKitDetails)
> from WebHTMLView.mm?

I can't - the method is used in -[WebHTMLView mouseDown:]