WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
42579
CSS rotation transform can cause elements with certain styles to vanish during rotation.
https://bugs.webkit.org/show_bug.cgi?id=42579
Summary
CSS rotation transform can cause elements with certain styles to vanish durin...
mrDarcyMurphy
Reported
2010-07-19 11:24:17 PDT
While an element is rotating, any element on the page that has no height, no width, is absolutely positioned, and has overflow set to hidden will vanish for the duration of the animation. I found this because a crucial element on a page had all those, yet still had a border, and then disappeared.
Attachments
Testcase
(1.56 KB, text/html)
2010-07-19 14:37 PDT
,
Simon Fraser (smfr)
no flags
Details
Patch
(8.41 KB, patch)
2010-07-20 22:30 PDT
,
Simon Fraser (smfr)
mitz: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Mark Rowe (bdash)
Comment 1
2010-07-19 12:16:32 PDT
<
rdar://problem/8207271
>
Simon Fraser (smfr)
Comment 2
2010-07-19 14:37:19 PDT
Created
attachment 61993
[details]
Testcase
Simon Fraser (smfr)
Comment 3
2010-07-20 21:25:46 PDT
The disappearing element has zero height and width but a large border. clipRectToApply ends up as a 0x0 rect in RenderLayerBacking::paintIntoLayer().
Simon Fraser (smfr)
Comment 4
2010-07-20 21:37:34 PDT
Hmm, RenderBlock::paint() is short-circuiting the paint here: // Check if we need to do anything at all. // FIXME: Could eliminate the isRoot() check if we fix background painting so that the RenderView // paints the root's background. if (!isRoot()) { IntRect overflowBox = visibleOverflowRect(); overflowBox.inflate(maximalOutlineSize(paintInfo.phase)); overflowBox.move(tx, ty); if (!overflowBox.intersects(paintInfo.rect)) return; } paintInfo.rect is the empty rect from clipRectToApply
Simon Fraser (smfr)
Comment 5
2010-07-20 21:47:27 PDT
Ah, this is caused by the 'inflate the paintBox for the body' logic in RenderLayerBacking::paintIntoLayer().
Simon Fraser (smfr)
Comment 6
2010-07-20 22:30:46 PDT
Created
attachment 62144
[details]
Patch
Simon Fraser (smfr)
Comment 7
2010-07-21 08:14:32 PDT
http://trac.webkit.org/changeset/63820
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