WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
46864
[chromium] disappearing scrollbar in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=46864
Summary
[chromium] disappearing scrollbar in accelerated compositing mode
Nat Duca
Reported
2010-09-29 18:24:44 PDT
Composited pages with scrollbars will sometimes lose their scrollbar handle when scrolling. This is caused by the damage rect for the scrollbar being incorrectly handled in content space.
Attachments
Proposed fix.
(4.61 KB, patch)
2010-09-29 18:42 PDT
,
Nat Duca
no flags
Details
Formatted Diff
Diff
Now, with 2x the foo
(4.63 KB, patch)
2010-09-30 10:49 PDT
,
Nat Duca
no flags
Details
Formatted Diff
Diff
Fix changelog
(4.64 KB, patch)
2010-10-05 14:14 PDT
,
Nat Duca
no flags
Details
Formatted Diff
Diff
Use content rect converted to screenspace rather than a hand-created rect. This ensures we factor in both scrollbars during scrolling.
(4.63 KB, patch)
2010-10-05 16:02 PDT
,
Nat Duca
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Nat Duca
Comment 1
2010-09-29 18:42:36 PDT
Created
attachment 69294
[details]
Proposed fix.
WebKit Review Bot
Comment 2
2010-09-29 19:48:17 PDT
Attachment 69294
[details]
did not build on chromium: Build output:
http://queues.webkit.org/results/4193020
Nat Duca
Comment 3
2010-09-30 10:49:19 PDT
Created
attachment 69351
[details]
Now, with 2x the foo
Vangelis Kokkevis
Comment 4
2010-09-30 11:21:07 PDT
Comment on
attachment 69351
[details]
Now, with 2x the foo View in context:
https://bugs.webkit.org/attachment.cgi?id=69351&action=review
> WebKit/chromium/src/WebViewImpl.cpp:2227 > if (!view)
Is this a good opportunity to also take care of the FIXME at the top of this method?
> WebKit/chromium/src/WebViewImpl.cpp:2278 > + m_rootLayerDirtyRect.unite(innerDamage);
Does this mean you'll now have damage in both the unscrolled location and the scrolled one? Could you just reset the m_rootLayerDirtyRect to be be equal to innerDamage?
Nat Duca
Comment 5
2010-09-30 11:27:38 PDT
> Is this a good opportunity to also take care of the FIXME at the top of this method?
I was going to file a separate bug for that.
> Does this mean you'll now have damage in both the unscrolled location and the > scrolled one? Could you just reset the m_rootLayerDirtyRect to be be equal to > innerDamage?
Uniting rather than reset is important. Consider when you have an animated image and you scrolled. The damage rect in that case has both the damage from the animation, and damage on the actual scrollbar that moved. Assigning innerDamage to the rootLayerDirtyRect would drop the srollbar damage and we'd see the scrollbar looking funky.
Vangelis Kokkevis
Comment 6
2010-09-30 15:01:34 PDT
(In reply to
comment #5
)
> > Is this a good opportunity to also take care of the FIXME at the top of this method? > I was going to file a separate bug for that. > > > Does this mean you'll now have damage in both the unscrolled location and the > > scrolled one? Could you just reset the m_rootLayerDirtyRect to be be equal to > > innerDamage? > Uniting rather than reset is important. Consider when you have an animated image and you scrolled. The damage rect in that case has both the damage from the animation, and damage on the actual scrollbar that moved. Assigning innerDamage to the rootLayerDirtyRect would drop the srollbar damage and we'd see the scrollbar looking funky.
I chatted with Nat off line and I see now why this is necessary. The patch looks good on my end.
James Robinson
Comment 7
2010-10-05 13:34:53 PDT
Comment on
attachment 69351
[details]
Now, with 2x the foo Looks good to me. We discussed how to test this offline, it depends on a bit more infrastructure on the chromium end but we'll get tests up as soon as we can.
Nat Duca
Comment 8
2010-10-05 14:14:30 PDT
Created
attachment 69840
[details]
Fix changelog
Nat Duca
Comment 9
2010-10-05 14:35:32 PDT
Darn, Sheib just pointed out a problem with this patch. Gotta go figure out how to address it.
James Robinson
Comment 10
2010-10-05 14:45:59 PDT
Comment on
attachment 69840
[details]
Fix changelog OK, clearing r+ in that case
Nat Duca
Comment 11
2010-10-05 16:02:44 PDT
Created
attachment 69858
[details]
Use content rect converted to screenspace rather than a hand-created rect. This ensures we factor in both scrollbars during scrolling.
WebKit Commit Bot
Comment 12
2010-10-05 16:55:58 PDT
Comment on
attachment 69858
[details]
Use content rect converted to screenspace rather than a hand-created rect. This ensures we factor in both scrollbars during scrolling. Clearing flags on attachment: 69858 Committed
r69162
: <
http://trac.webkit.org/changeset/69162
>
WebKit Commit Bot
Comment 13
2010-10-05 16:56:03 PDT
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.
Top of Page
Format For Printing
XML
Clone This Bug