forked from WebKit/WebKit-http
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GTK][ThreadedCompositor] Add support for threaded compositor.
https://bugs.webkit.org/show_bug.cgi?id=118265 Reviewed by Martin Robinson. .: Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and autotools build systems. The feature is disabled by default. And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag from the feature flags. * Source/cmake/OptionsEfl.cmake: * Source/cmake/OptionsGTK.cmake: * Source/cmake/WebKitFeatures.cmake: * Source/cmakeconfig.h.cmake: Source/WebCore: * PlatformGTK.cmake: Adds CoodinatedGraphics and threaded compositor related classes to support threaded compositor * platform/graphics/texmap/coordinated/CoordinatedTile.cpp: * platform/graphics/texmap/coordinated/CoordinatedTile.h: This class should be guarded by COORDINATED_GRAPHICS instead of TILED_BACKING_STORE Source/WebKit2: This patch introduces a threaded compositor for WebKitGTK+. It is disabled as a default because it is a initial implementation. The threaded compositor can be enabled using --threaded-compositor option at compile time. No new tests, this is an experimental feature. * PlatformGTK.cmake: Adds CoodinatedGraphics and threaded compositor related classes to support threaded compositor * Shared/DrawingAreaInfo.h: Use DrawingAreaImpl for threaded compositor * UIProcess/API/gtk/WebKitSettings.cpp: (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Modified to use forceCompositingMode when the threaded compositor used. If we does not set this mode here, it cannot draw the root content layer. * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: Added. * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: Added. (WebKit::ThreadedCoordinatedLayerTreeHost::rootLayer): Implements ThreadedCoordinatedLayerTreeHost to use the threaded compositor. It is basically similar with CoordinatedLayerTreeHost but it uses ThreadedCompositor instead of IPC. * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::contentsSizeChanged): * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: * WebProcess/WebPage/DrawingArea.cpp: (WebKit::DrawingArea::create): (WebKit::DrawingArea::DrawingArea): * WebProcess/WebPage/DrawingArea.h: COORDINATED_GRAPHICS_MULTIPROCESS is introduced to classify IPC specific codes from Coordinated Graphics. And COORDINATED_GRAPHICS_THREADED is used to guard the threaded compositor specific codes. * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::DrawingAreaImpl): Modified to use forceCompositingMode when the threaded compositor used. If we does not set this mode here, it will crash because of PageOverlay. (WebKit::DrawingAreaImpl::mainFrameContentSizeChanged): (WebKit::DrawingAreaImpl::updateBackingStoreState): Modified to handle contents / viewport size changes for threaded compositor. (WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer): Added to support Overlay layer in the threaded compositor. (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing): Push the surface handle for compositing to the threaded compositor. * WebProcess/WebPage/DrawingAreaImpl.h: Use COORDINATED_GRAPIHCS_THREADED to guard the threaded compositor related codes. * WebProcess/WebPage/LayerTreeHost.cpp: Ditto. * WebProcess/WebPage/LayerTreeHost.h: Ditto. * WebProcess/WebPage/WebPage.cpp: Ditto. * WebProcess/WebPage/WebPage.h: Ditto. * WebProcess/WebPage/WebPage.messages.in: Ditto. * WebProcess/gtk/WebProcessMainGtk.cpp: Modified to call XInitThreads to use thread-safe xlib. Tools: Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and autotools build systems. The feature is disabled by default. And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag from the feature flags. * Scripts/webkitperl/FeatureList.pm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@178095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- Loading branch information
yoon@igalia.com
committed
Jan 8, 2015
1 parent
16c1ff8
commit ab213d6
Showing
35 changed files
with
760 additions
and
52 deletions.
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
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
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
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
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
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.