Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
2010-03-18 Vangelis Kokkevis <vangelis@chromium.org>
Reviewed by Adam Barth. Implement software composited graphics layers in Chromium using the Skia library. https://bugs.webkit.org/show_bug.cgi?id=35557 This is an initial step in the implementation. Layer compositing is functioning but not optimized in any way. Subsesquent check-ins will be necessary to fine tune it. Test: No new exposed functionality so no new tests. * WebCore.gypi: Added new source files to the chromium build * platform/graphics/GraphicsLayer.h: Added necessary typedef's and forward declarations for Chromium. * platform/graphics/skia/GraphicsLayerSkia.cpp: Added. * platform/graphics/skia/GraphicsLayerSkia.h: Added. Declaration and implementation of the platform-specific GraphicsLayer class. * platform/graphics/skia/LayerRendererSkia.cpp: Added. * platform/graphics/skia/LayerRendererSkia.h: Added. Declaration and implementation of the Skia-based software compositor. * platform/graphics/skia/LayerSkia.cpp: Added. * platform/graphics/skia/LayerSkia.h: Added. Declaration and implementation of a compositable layer that uses a Skia canvas for backing store. 2010-03-18 Vangelis Kokkevis <vangelis@chromium.org> Reviewed by Adam Barth. Adding support for the ACCELERATED_COMPOSITING render path to Chromium. https://bugs.webkit.org/show_bug.cgi?id=35557 Currently compositing of layers is performed via s/w compositor which relies on Skia. This is an initial check-in and it's only been tested on Windows. Compiling the code requires seting "use_accelerated_compositing=1" to GYP_DEFINES. The update of layer contents and compositing is fairly inefficient but this will be fixed in subsequent check-ins. * src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::attachRootGraphicsLayer): (WebKit::ChromeClientImpl::scheduleCompositingLayerSync): * src/ChromeClientImpl.h: (WebKit::ChromeClientImpl::setNeedsOneShotDrawingSynchronization): Added methods required by the RenderLayerCompositor * src/WebFrameImpl.cpp: (WebKit::WebFrameImpl::paintWithContext): (WebKit::WebFrameImpl::paint): * src/WebFrameImpl.h: Split WebFrameImpl::paint() into two methods to make it possible to call the paint routine with an existing GraphicsContext, which is necessary for painting the root layer into its own backing surface. * src/WebViewImpl.cpp: (WebKit::WebViewImpl::WebViewImpl): (WebKit::WebViewImpl::paint): Modified method to handle the accelerated compositing path. Now, when doing accelerated compositing, paint() results in repainting the contents of the root layer and then doing a composite operation. (WebKit::WebViewImpl::setRootGraphicsLayer): (WebKit::WebViewImpl::setAcceleratedCompositing): (WebKit::WebViewImpl::updateRootLayerContents): (WebKit::WebViewImpl::setRootLayerNeedsDisplay): * src/WebViewImpl.h: (WebKit::WebViewImpl::isAcceleratedCompositing): Canonical link: https://commits.webkit.org/47506@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@56212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information
Showing
with
1,649 additions
and 12 deletions.
- +27 −0 WebCore/ChangeLog
- +6 −0 WebCore/WebCore.gypi
- +6 −0 WebCore/platform/graphics/GraphicsLayer.h
- +573 −0 WebCore/platform/graphics/skia/GraphicsLayerSkia.cpp
- +149 −0 WebCore/platform/graphics/skia/GraphicsLayerSkia.h
- +134 −0 WebCore/platform/graphics/skia/LayerRendererSkia.cpp
- +80 −0 WebCore/platform/graphics/skia/LayerRendererSkia.h
- +249 −0 WebCore/platform/graphics/skia/LayerSkia.cpp
- +227 −0 WebCore/platform/graphics/skia/LayerSkia.h
- +38 −0 WebKit/chromium/ChangeLog
- +13 −0 WebKit/chromium/src/ChromeClientImpl.cpp
- +12 −0 WebKit/chromium/src/ChromeClientImpl.h
- +14 −9 WebKit/chromium/src/WebFrameImpl.cpp
- +2 −0 WebKit/chromium/src/WebFrameImpl.h
- +102 −3 WebKit/chromium/src/WebViewImpl.cpp
- +17 −0 WebKit/chromium/src/WebViewImpl.h
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.