Bug 32905

Summary: With Pinyin Simplified IM, a wrong character is deleted from google.com suggestion
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: HTML EditingAssignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: darin, webkit.review.bot
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: All   
URL: http://google.com
Attachments:
Description Flags
proposed fix darin: review+

Alexey Proskuryakov
Reported 2009-12-23 10:35:15 PST
<rdar://problem/7193666> Steps to reproduce 1. Open www.google.com 2. Choose Pinyin Simplified input method (or ITABC on Leopard) 3. Type h in the search field 4. Press Down key 5. Press delete key Results: although text caret is at the end of completed text after step 4 (I was getting "hyundai"), the first character ("h") is deleted in step 5.
Attachments
proposed fix (4.00 KB, patch)
2009-12-23 11:24 PST, Alexey Proskuryakov
darin: review+
Alexey Proskuryakov
Comment 1 2009-12-23 11:24:33 PST
Created attachment 45444 [details] proposed fix
WebKit Review Bot
Comment 2 2009-12-23 11:27:47 PST
style-queue ran check-webkit-style on attachment 45444 [details] without any errors.
Darin Adler
Comment 3 2009-12-23 20:30:19 PST
Comment on attachment 45444 [details] proposed fix > + // An open typing command that disagrees about current selection would cause issues with typing later on. > + if (m_lastEditCommand && m_lastEditCommand->isTypingCommand()) > + static_cast<TypingCommand*>(m_lastEditCommand.get())->closeTyping(); I think this needs to check isOpenForMoreTyping before just calling closeTyping. Luckily there is a helper function for this. You should just write: TypingCommand::closeTyping(m_lastEditCommand); The class member function handles the null check too. r=me if you change it like I suggest
Alexey Proskuryakov
Comment 4 2009-12-23 20:54:10 PST
> I think this needs to check isOpenForMoreTyping before just calling > closeTyping. I wonder why - closeTyping() just sets a boolean member value. > r=me if you change it like I suggest I'll make the change, if only for consistency.
Darin Adler
Comment 5 2009-12-23 20:56:55 PST
(In reply to comment #4) > > I think this needs to check isOpenForMoreTyping before just calling > > closeTyping. > > I wonder why - closeTyping() just sets a boolean member value. Guess you're right. Wonder why TypingCommand::closeTyping bothers to check it!
Alexey Proskuryakov
Comment 6 2009-12-23 21:50:11 PST
Note You need to log in before you can comment on or make changes to this bug.