Bug 81381 - REGRESSION (r110737): Height element changes on scrolled page causes failure
Summary: REGRESSION (r110737): Height element changes on scrolled page causes failure
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P1 Normal
Assignee: Anders Carlsson
URL:
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2012-03-16 11:50 PDT by Chris Silverberg
Modified: 2012-03-18 22:12 PDT (History)
2 users (show)

See Also:


Attachments
Reproduction case (2.59 KB, text/html)
2012-03-16 11:50 PDT, Chris Silverberg
no flags Details
Patch (5.26 KB, patch)
2012-03-16 18:00 PDT, Anders Carlsson
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Silverberg 2012-03-16 11:50:22 PDT
Changing the height of an element while a page is scrolled can cause havoc on the page layout, sometimes causing it to disappear from view.  This appears to be caused by this change:

  http://trac.webkit.org/changeset/110737/trunk/Source/WebCore/platform/ScrollView.cpp

I've attached a reduction case that should make it easy to reproduce.  This occurs on both WebKit nightlies and Chromium trunk builds.

Reproduction steps:
1. Open attached page in a browser window.
2. Click on the "Toggle Stuff" link at the bottom.
3. If there is no scrollbar visible, make the window smaller so that the scrollbar appears.
4. Scroll down to the bottom and click "Toggle Stuff" again.

At this point you should see a broken rendering... typically all page content will be gone (or at least, not visible in the layout.)
Comment 1 Chris Silverberg 2012-03-16 11:50:50 PDT
Created attachment 132334 [details]
Reproduction case
Comment 2 Alexey Proskuryakov 2012-03-16 14:08:57 PDT
<rdar://problem/11066006>
Comment 3 Dan Beam 2012-03-16 15:22:15 PDT
Do you think it'd be possible to revert the original change (110737) and re-apply when the root issue is discovered? We've gotten 10 bugs today so far all stemming from this (and those are just the ones I know about), :(.
Comment 4 Anders Carlsson 2012-03-16 17:18:25 PDT
(In reply to comment #3)
> Do you think it'd be possible to revert the original change (110737) and re-apply when the root issue is discovered? We've gotten 10 bugs today so far all stemming from this (and those are just the ones I know about), :(.

I'm working on a fix right now.
Comment 5 Anders Carlsson 2012-03-16 18:00:02 PDT
Created attachment 132430 [details]
Patch
Comment 6 Anders Carlsson 2012-03-16 18:21:44 PDT
Committed r111102: <http://trac.webkit.org/changeset/111102>
Comment 7 Chris Silverberg 2012-03-16 18:56:19 PDT
Anders, this patch partially fixes the issue (indeed it fixes it for the reproduction case I posted above), but there are still cases where the scrollbar disappears when it shouldn't.  I'll work on a followup reproduction case and attach it tonight.
Comment 8 Chris Silverberg 2012-03-18 22:12:10 PDT
Anders... the issue I was experiencing on Friday evening appears to be gone now.  So this looks like a complete fix.  Thank you for your quick response!