Bug 19279

Summary: REGRESSION (r32660): Text not redrawn correctly when selection changes
Product: WebKit Reporter: Jonathon Jongsma (jonner) <jonathon>
Component: TextAssignee: Pierre-Luc Beaudoin <pierre-luc.beaudoin>
Status: RESOLVED FIXED    
Severity: Normal CC: alp, krit, mitz, pierre-luc.beaudoin
Priority: P1 Keywords: Regression
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch that fixes the text disappearance on selection changes
none
Test case
none
Fix
none
Fix
none
Pixel test for Mac OS X sam: review+

Jonathon Jongsma (jonner)
Reported 2008-05-27 15:10:58 PDT
I've noticed that often when you drag down to select a block of text and then move back up to de-select some of it, sometimes the newly-deselected text disappears. It only seems to happen on multi-line text and usually only if the start of the text selection is above (or on the boundary of) the affected element.
Attachments
Patch that fixes the text disappearance on selection changes (1.18 KB, patch)
2008-06-06 13:49 PDT, Jonathon Jongsma (jonner)
no flags
Test case (1.15 KB, text/html)
2008-06-06 15:14 PDT, Pierre-Luc Beaudoin
no flags
Fix (1.39 KB, patch)
2008-06-06 16:51 PDT, Pierre-Luc Beaudoin
no flags
Fix (1.36 KB, patch)
2008-06-06 17:04 PDT, Pierre-Luc Beaudoin
no flags
Pixel test for Mac OS X (433 bytes, text/html)
2008-06-07 00:16 PDT, mitz
sam: review+
Jonathon Jongsma (jonner)
Comment 1 2008-05-27 15:12:19 PDT
Created attachment 21371
Jonathon Jongsma (jonner)
Comment 2 2008-05-27 15:15:59 PDT
I should also note that I don't know for certain whether this is only a QtWebKit issue, but that's the only one that I had available to test.
Jonathon Jongsma (jonner)
Comment 3 2008-05-27 18:56:09 PDT
OK, so I compiled GtkWebKit and the issue also shows up there, so it doesn't appear to be specific to the Qt port. Changing component. If 'Text' is not correct, feel free to re-assign to the correct component.
Pierre-Luc Beaudoin
Comment 4 2008-05-28 07:13:38 PDT
Confirmed with Alexey Proskuryakov, this does not affect the Mac port.
Dirk Schulze
Comment 5 2008-05-30 23:07:38 PDT
Got the problems with GtkLauncher but NOT with midori on the same webkitgtk-code.
Alp Toker
Comment 6 2008-05-31 17:18:00 PDT
(In reply to comment #5) > Got the problems with GtkLauncher but NOT with midori on the same > webkitgtk-code. > I get the problem with Midori too. Maybe your experience was a fluke?
Dirk Schulze
Comment 7 2008-05-31 22:19:09 PDT
(In reply to comment #6) > I get the problem with Midori too. Maybe your experience was a fluke? No, I tested it several times on different pages. I don't run in to problems using midori the latest trunk and wbkit with soup,freetype. I made it like in the movie. I got the problems on GtkLauncher but not with midori. Could be because on midori the selection/marking of objects and texts don't work correctly at the moment.
Dirk Schulze
Comment 8 2008-06-03 11:18:57 PDT
Midori solved the problems with selection, but the described bug does still not apear on Midori. I tried it with epiphany/webkit with out any problems. Seems only a problem with GtkLauncher on WebKitGtk.
Pierre-Luc Beaudoin
Comment 9 2008-06-06 10:11:12 PDT
The bug does not appear on WebKit shipped with Qt 4.4 but does appear on QtWebKit from webkit.org. I ran a git bisect on code.staikos.net and it pointed to this changeset: http://trac.webkit.org/changeset/32660 Investigation continues.
Jonathon Jongsma (jonner)
Comment 10 2008-06-06 13:49:05 PDT
Created attachment 21528 [details] Patch that fixes the text disappearance on selection changes Here's a patch that fixes the disappearing text issue on both Qt and Gtk. I don't necessarily think that it's the *correct* solution since I think what it is doing is a) drawing all text in the run as unselected b) later any selected text is drawn overtop of it There's at least a couple problems with this simplistic fix: - we're doing unnecessary work by drawing text and then drawing over it - In many cases, text has a different style when selected and unselected. For example, links often have underlines when they're not selected, but are not supposed to be underlined when they're selected. So if you apply this patch you'll see that when you select a link, it will improperly have an underline in the unselected color.
Pierre-Luc Beaudoin
Comment 11 2008-06-06 15:14:58 PDT
Created attachment 21533 [details] Test case Sample html file with 2 paragraph where the issue can be reproduced.
mitz
Comment 12 2008-06-06 16:20:34 PDT
You can reproduce the bug on Mac, too, if you make it take the "paint selection separately" code path, for example by adding this to the test case: <style> ::selection { background-color: red; color: white; } </style>
Pierre-Luc Beaudoin
Comment 13 2008-06-06 16:51:42 PDT
Created attachment 21538 [details] Fix Fix discussed with Mitz Pettel.
Pierre-Luc Beaudoin
Comment 14 2008-06-06 17:04:06 PDT
Created attachment 21539 [details] Fix Fixed bad paste and improved ChangeLog
mitz
Comment 15 2008-06-06 17:07:59 PDT
Comment on attachment 21539 [details] Fix r=me. It would be nice to have a pixel test for this, but that would have to be made on Mac OS X.
mitz
Comment 16 2008-06-07 00:16:55 PDT
Created attachment 21547 [details] Pixel test for Mac OS X
mitz
Comment 17 2008-06-07 01:22:55 PDT
Comment on attachment 21539 [details] Fix Landed in <http://trac.webkit.org/changeset/34414>, so clearing the review flag. Leaving the bug open pending review of the regression test.
mitz
Comment 18 2008-06-07 15:38:33 PDT
Note You need to log in before you can comment on or make changes to this bug.