Summary: | [WinCairo] 3D CSS Transforms are not implemented in WebKit for Windows | ||
---|---|---|---|
Product: | WebKit | Reporter: | Brent Fulgham <bfulgham> |
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | achristensen, bfulgham, cmarrin, graouts, jamess.developer, jmuizelaar, krit, mario.bensi, mculpepper, peavo, peter.hewat, simon.fraser, skyul, vangelis, webmaster |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Windows XP |
Description
Brent Fulgham
2009-09-28 10:02:22 PDT
Critical areas of the source base to consider are: * WebCore/rendering (specifically the *Win.cpp implementations). * WebCore/platform/graphics/mac/GraphicsLayerCA.mm must be ported to the Windows platform (perhaps as platform/graphics/win/GraphicsLayerWin) Of special concern is WebCore/rendering/RenderLayerCompositor.cpp, which does the work of compositing the various elements onto the final surface for display. Its implementation makes use of a call "atachRootGraphicsLayer", which in turn calls the WebHTMLView classes "attachRootLayer" method, which in turn uses the CoreAnimation "addSubview" method. Google chrome apparently has a software renderer implementation of 3d CSS (http://src.chromium.org/viewvc/chrome/trunk/src/o3d/). The original plugin appears to provide full hardware acceleration via direct 3d, though it was designed to work outside of WebKit, and so will probably not reveal too much insight into integrating 3D into the overall rendering path. Direct2D is part of the current DirectX install, and will function under Windows Vista. We might need to implement this feature along the lines of Apple's Tiger/Leopard/Snow Leopard feature distinctions and limit this to Vista and beyond. (1) http://blogs.msdn.com/tmulcahy/ Shows some interesting effects achieved using DIrect2D, many of which fall in line with the needs of the 3D CSS transform. (2) http://blogs.msdn.com/greg_schechter/archive/2007/03/30/parallaxui_5F00_escaping_5F00_flatland.aspx includes a few interesting 3D CSS-style transforms using the unfortunate WPF system, but obviously are based on the underlying implementation. My preference is still to base the design on OpenGL, especially given the progress on Cairo-on-OpenGL, which would provide a Linux/Windows shared core implementation. Given the progress on Bug 27314, it looks like we should be taking the Direct3D track for implementing this. Hello Brent, It has been interesting reading your thoughts regarding this issue. I too am biased towards OpenGL for the simple reason that it is multi-platform whereas Direct3D is Windows specific. My worry is that the Linux platform will trail behind regarding this issue. Has there been any progress on the Linux front? Hello, I am using Safari for Windows version 5.0. I am using a webkit 3d transformation, perspective rotation etc... and placing a form inside a HTML section tag, and I am uncertain as to why but the html form disappears. Is this issue related to this post at all? Regards, James (In reply to comment #6) > Hello, I am using Safari for Windows version 5.0. I am using a webkit 3d transformation, perspective rotation etc... and placing a form inside a HTML section tag, and I am uncertain as to why but the html form disappears. > > Is this issue related to this post at all? No, Apple's Safari on Windows does not use Cairo. Please file a separate bug with your testcase. Alex and Peavo: I think this feature is now implemented. Can we close this old Bug now? (In reply to comment #8) > Alex and Peavo: I think this feature is now implemented. Can we close this > old Bug now? Yes, I believe so. |