Bug 98578 - REGRESSION (r128787): Fixed position div unexpectedly moves to textarea
Summary: REGRESSION (r128787): Fixed position div unexpectedly moves to textarea
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac (Intel) OS X 10.8
: P1 Normal
Assignee: Nobody
URL: http://development.rhubarbproductions...
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2012-10-05 18:14 PDT by Kevin M. Dean
Modified: 2013-01-17 15:01 PST (History)
3 users (show)

See Also:


Attachments
Before (23.67 KB, image/png)
2012-10-05 18:15 PDT, Kevin M. Dean
no flags Details
after (25.66 KB, image/png)
2012-10-05 18:16 PDT, Kevin M. Dean
no flags Details
Table Row Before (211.64 KB, image/png)
2013-01-17 13:54 PST, Kevin M. Dean
no flags Details
Table Row After (246.50 KB, image/png)
2013-01-17 13:55 PST, Kevin M. Dean
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin M. Dean 2012-10-05 18:14:53 PDT
This test link is reduced from a wordpress admin page where it places a admin bar with a position: fixed; on it.

Load the test page. Select all the text, copy and then paste it below the existing text. Then select undo (Command-Z) and the dark bar at the top will jump to the 0,0 coordinate of the textarea when it should stay where it is.

I believe there's other triggers since I've had this come up in other places in wordpress and another site editor.
Comment 1 Kevin M. Dean 2012-10-05 18:15:46 PDT
Created attachment 167430 [details]
Before
Comment 2 Kevin M. Dean 2012-10-05 18:16:02 PDT
Created attachment 167432 [details]
after
Comment 3 Kevin M. Dean 2012-10-05 18:18:37 PDT
Removing the position: fixed; from the top div with Web Inspector causes the glitch to not occur.
Comment 4 Kevin M. Dean 2012-10-05 18:23:33 PDT
Likely related to Bug 98579.
Comment 5 Kevin M. Dean 2012-10-06 08:35:06 PDT
After pasting, pressing the delete key until a line is completely removed will also trigger the glitch.
Comment 6 Alexey Proskuryakov 2012-10-08 11:55:17 PDT
In debug builds, an assertion fails:

ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox())
/Users/ap/Safari/OpenSource/Source/WebCore/rendering/RenderGeometryMap.cpp(85) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
1   0x10aa81d19 WebCore::RenderGeometryMap::absoluteRect(WebCore::FloatRect const&) const
2   0x10aacea1e WebCore::RenderLayerCompositor::addToOverlapMap(WebCore::RenderLayerCompositor::OverlapMap&, WebCore::RenderLayer*, WebCore::IntRect&, bool&)
3   0x10aacc912 WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::RenderLayerCompositor::OverlapMap*, WebCore::CompositingState&, bool&, bool&)
4   0x10aacc7ef WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::RenderLayerCompositor::OverlapMap*, WebCore::CompositingState&, bool&, bool&)
5   0x10aacc7ef WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::RenderLayerCompositor::OverlapMap*, WebCore::CompositingState&, bool&, bool&)
6   0x10aacbd84 WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*)
7   0x10aa9fd6e WebCore::RenderLayer::updateCompositingLayersAfterScroll()
8   0x10aa9f8a3 WebCore::RenderLayer::scrollTo(int, int)
9   0x10aaa20ae WebCore::RenderLayer::setScrollOffset(WebCore::IntPoint const&)
10  0x10acdf84d WebCore::ScrollableArea::scrollPositionChanged(WebCore::IntPoint const&)
Comment 7 Alexey Proskuryakov 2012-10-08 12:00:24 PDT
<rdar://problem/12454637>
Comment 8 Simon Fraser (smfr) 2012-11-05 18:58:09 PST
I am going to fix the assertion via bug 101292.
Comment 9 Beth Dakin 2013-01-17 12:44:38 PST
I can no longer reproduce this bug on TOT. Kevin, do you still see this?
Comment 10 Simon Fraser (smfr) 2013-01-17 12:54:14 PST
What if you disable the compositing-for-fixed stuff?
Comment 11 Kevin M. Dean 2013-01-17 13:54:13 PST
(In reply to comment #9)
> I can no longer reproduce this bug on TOT. Kevin, do you still see this?

I no longer see this specific case, but I do see a similar issue in another area of wordpress where a table row is removed via javascript and the page scrolls back to the top, but the fixed div jumps down the page until you click. I'll upload a before/after.
Comment 12 Kevin M. Dean 2013-01-17 13:54:42 PST
Created attachment 183269 [details]
Table Row Before
Comment 13 Kevin M. Dean 2013-01-17 13:55:06 PST
Created attachment 183270 [details]
Table Row After
Comment 14 Kevin M. Dean 2013-01-17 14:16:48 PST
I've set up a wordpress test area if you want to login and take a look. Just respond here or send me an email directly for the access information and instructions to trigger the bug.
Comment 15 Kevin M. Dean 2013-01-17 14:25:57 PST
This bug seems to happen in a different range, so I should probably open a new bug for it.
Comment 16 Kevin M. Dean 2013-01-17 14:43:16 PST
OK, if you're interested, head over to:

Bug 107179 - REGRESSION (r139554-r139561): Fixed position div unexpectedly moves after table row removed
Comment 17 Beth Dakin 2013-01-17 15:01:40 PST
Thanks, Kevin! And Simon, I tried your experiment and the bug still did not repro. This particular issue does seem to be fixed.