Bug 111566

Summary: [Texturemapper] transform-style 'flat' value is broken
Product: WebKit Reporter: Bruno Abinader (history only) <bruno.abinader>
Component: Layout and RenderingAssignee: Bruno Abinader (history only) <bruno.abinader>
Status: RESOLVED FIXED    
Severity: Normal CC: allan.jensen, cmarcelo, dongseong.hwang, igor.oliveira, kalyan.kondapally, kenneth, luiz, noam, simon.fraser, tonikitoo, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
URL: http://dev.w3.org/csswg/css3-3d-transforms/#transform-style-property
Bug Depends on: 111065    
Bug Blocks: 110790, 111630    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
allan.jensen: review+
Patch none

Bruno Abinader (history only)
Reported 2013-03-06 05:29:42 PST
CSS3 3D Transform's "transform-style" property, when used with 'flag' value has recently broken on WebKit. You can verify by running the example from Surfin' Safari blog [1] and noticing the weird white boxes drawn while hovering mouse (or a single tap on mobile mode, as confirmed by Rafael) over the rotating div. I'm going to bisect the code to find the dangling patch. Links: [1] https://www.webkit.org/blog-files/3d-transforms/transform-style.html
Attachments
Patch (3.18 KB, patch)
2013-03-06 14:38 PST, Bruno Abinader (history only)
no flags
Patch (5.05 KB, patch)
2013-03-07 05:09 PST, Bruno Abinader (history only)
no flags
Patch (5.05 KB, patch)
2013-03-07 05:54 PST, Bruno Abinader (history only)
allan.jensen: review+
Patch (5.05 KB, patch)
2013-03-07 06:00 PST, Bruno Abinader (history only)
no flags
Bruno Abinader (history only)
Comment 1 2013-03-06 08:51:16 PST
I've bisected the code and found out that a fix for a patch that avoids redundant state clipping was causing the issue ( http://trac.webkit.org/changeset/144290 ), from bug 111065. Reverting the patch solves the issue, however like Allan commented, it breaks clipping on some Apple HTML5 examples (i.e. http://www.apple.com/html5/showcase/transitions/ ).
Bruno Abinader (history only)
Comment 2 2013-03-06 14:38:34 PST
Created attachment 191834 [details] Patch Proposed patch
Noam Rosenthal
Comment 3 2013-03-06 22:08:44 PST
Comment on attachment 191834 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=191834&action=review > Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:1097 > + m_clipStack.apply(m_context3D.get(), false); This is a boolean trap. I prefer to have apply(...) and applyIfNeeded(...). From bindDefaultSurface we'd call apply, and from everywhere else applyIfNeeded.
Bruno Abinader (history only)
Comment 4 2013-03-07 05:09:59 PST
Created attachment 191976 [details] Patch Added applyIfNeeded() to avoid boolean trap as reviewed by Noam
Bruno Abinader (history only)
Comment 5 2013-03-07 05:54:12 PST
Created attachment 191980 [details] Patch ChangeLog typo fixes as reviewed by Allan
Allan Sandfeld Jensen
Comment 6 2013-03-07 05:56:29 PST
Comment on attachment 191980 [details] Patch LGTM
Bruno Abinader (history only)
Comment 7 2013-03-07 06:00:34 PST
Created attachment 191981 [details] Patch Patch for landing (last minute ChangeLog typo fix)
WebKit Review Bot
Comment 8 2013-03-07 06:25:33 PST
Comment on attachment 191981 [details] Patch Clearing flags on attachment: 191981 Committed r145071: <http://trac.webkit.org/changeset/145071>
Bruno Abinader (history only)
Comment 9 2013-03-11 08:40:23 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.