Bug 84501

Summary: REGRESSION (r94497): Pressing Command+A when inline (Marked Text) is not empty will clean whole content
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: TextAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Major CC: jiapu.mail, jshin, morrita, rniwa, tkent, xji
Priority: P1 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: Unspecified   
Attachments:
Description Flags
Fixes the bug ap: review+

Description Alexey Proskuryakov 2012-04-20 15:51:22 PDT
Steps to reproduce:
1. Type anything in any editable content (contenteditable, textarea, Mail.app etc.)
2. Type anything else with an input method using inline input (such as Kotoeri).
3. Hit Cmd+A

Results: entire editable content disappears.
Expected results: input area is confirmed, all text is selected.

<rdar://problem/11242705>
Comment 1 Alexey Proskuryakov 2012-04-24 16:33:52 PDT
Ryosuke, would you be willing to look into this?
Comment 2 Ryosuke Niwa 2012-04-26 16:15:23 PDT
Interesting this bug doesn't reproduce on Chrome because we ignore Cmd+A.
Comment 3 Ryosuke Niwa 2012-04-26 16:45:02 PDT
We're hitting:

    // If text is empty, then delete the old composition here.  If text is non-empty, InsertTextCommand::input
    // will delete the old composition with an optimized replace operation.
    if (text.isEmpty())
        TypingCommand::deleteSelection(m_frame->document(), 0);
Comment 4 Ryosuke Niwa 2012-04-26 22:53:56 PDT
Created attachment 139135 [details]
Fixes the bug
Comment 5 Alexey Proskuryakov 2012-04-26 23:04:36 PDT
Comment on attachment 139135 [details]
Fixes the bug

Thank you!

I suggest putting this test in editing/input. Ports that don't implement textInputController often skip the whole directory, so it's less book-keeping for everyone.
Comment 6 Ryosuke Niwa 2012-04-26 23:07:23 PDT
(In reply to comment #5)
> (From update of attachment 139135 [details])
> Thank you!
> 
> I suggest putting this test in editing/input. Ports that don't implement textInputController often skip the whole directory, so it's less book-keeping for everyone.

Okay, will do.
Comment 7 Ryosuke Niwa 2012-04-26 23:44:31 PDT
Committed r115409: <http://trac.webkit.org/changeset/115409>