Bug 105203

Summary: [BlackBerry] Prevent selection handles from being rendered after selection was canceled
Product: WebKit Reporter: Yongxin Dai <yodai>
Component: WebKit BlackBerryAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: mifenton, rwlbuis, tonikitoo, webkit.review.bot, yong.li.webkit
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Yongxin Dai
Reported 2012-12-17 12:17:01 PST
Here is the explanation why handles occur without selection overlay. 1. Still touch at current selection (Selection A) initiated by touch-hold 2. Selection expanding (Selection B) is ongoing 3. Finger moves. In UI thread: 1) SelectionHander::cancelSelection() gets called. a. Selection A is canceled immediately (clear selecting state and hide handles) b. Post a request to webkit thread to cancel Selection A. 4. In webkit thread: 1) Selection B becomes active selection a. Show selection overlay for Selection B b. Dispatch Selection B to UI thread to show handles 2) Handle the request of canceling Selection A. The selection A was gone. Instead the active Selection B is canceled. The visual change is Selection overlay for Selection B becomes invisible.. 5. In UI thread: Selection B is rendered. The start handle and the end handle occur without selection overlay. The fix is to notify client with a empty selection whenever the selection is canceled in webkit thread.
Attachments
Patch (2.90 KB, patch)
2012-12-17 18:55 PST, Yongxin Dai
no flags
Yongxin Dai
Comment 1 2012-12-17 18:55:55 PST
Rob Buis
Comment 2 2012-12-17 19:09:58 PST
Comment on attachment 179857 [details] Patch LGTM.
WebKit Review Bot
Comment 3 2012-12-17 20:20:30 PST
Comment on attachment 179857 [details] Patch Clearing flags on attachment: 179857 Committed r137977: <http://trac.webkit.org/changeset/137977>
WebKit Review Bot
Comment 4 2012-12-17 20:20:34 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.