Changeset 178095 in webkit
- Timestamp:
- Jan 7, 2015 8:29:24 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r177703 r178095 1 2015-01-07 Gwang Yoon Hwang <yoon@igalia.com> 2 3 [GTK][ThreadedCompositor] Add support for threaded compositor. 4 https://bugs.webkit.org/show_bug.cgi?id=118265 5 6 Reviewed by Martin Robinson. 7 8 Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and 9 autotools build systems. The feature is disabled by default. 10 And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag 11 from the feature flags. 12 13 * Source/cmake/OptionsEfl.cmake: 14 * Source/cmake/OptionsGTK.cmake: 15 * Source/cmake/WebKitFeatures.cmake: 16 * Source/cmakeconfig.h.cmake: 17 1 18 2014-12-23 Alexey Proskuryakov <ap@apple.com> 2 19 -
trunk/Source/WebCore/ChangeLog
r178080 r178095 1 2015-01-07 Gwang Yoon Hwang <yoon@igalia.com> 2 3 [GTK][ThreadedCompositor] Add support for threaded compositor. 4 https://bugs.webkit.org/show_bug.cgi?id=118265 5 6 Reviewed by Martin Robinson. 7 8 * PlatformGTK.cmake: 9 Adds CoodinatedGraphics and threaded compositor related classes to 10 support threaded compositor 11 12 * platform/graphics/texmap/coordinated/CoordinatedTile.cpp: 13 * platform/graphics/texmap/coordinated/CoordinatedTile.h: 14 This class should be guarded by COORDINATED_GRAPHICS instead of 15 TILED_BACKING_STORE 16 1 17 2015-01-07 Daniel Bates <dabates@apple.com> 2 18 -
trunk/Source/WebCore/PlatformGTK.cmake
r177942 r178095 372 372 platform/graphics/texmap/TextureMapperGL.cpp 373 373 platform/graphics/texmap/TextureMapperShaderProgram.cpp 374 ) 375 endif () 376 377 if (ENABLE_THREADED_COMPOSITOR) 378 list(APPEND WebCore_INCLUDE_DIRECTORIES 379 "${WEBCORE_DIR}/page/scrolling/coordinatedgraphics" 380 "${WEBCORE_DIR}/platform/graphics/texmap/coordinated" 381 "${WEBCORE_DIR}/platform/graphics/texmap/threadedcompositor" 382 ) 383 list(APPEND WebCore_SOURCES 384 page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp 385 page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp 386 page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp 387 page/scrolling/ScrollingStateStickyNode.cpp 388 page/scrolling/ScrollingThread.cpp 389 page/scrolling/ScrollingTreeNode.cpp 390 page/scrolling/ScrollingTreeScrollingNode.cpp 391 platform/graphics/TiledBackingStore.cpp 392 platform/graphics/texmap/coordinated/AreaAllocator.cpp 393 platform/graphics/texmap/coordinated/CompositingCoordinator.cpp 394 platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp 395 platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp 396 platform/graphics/texmap/coordinated/CoordinatedSurface.cpp 397 platform/graphics/texmap/coordinated/CoordinatedTile.cpp 398 platform/graphics/texmap/coordinated/UpdateAtlas.cpp 374 399 ) 375 400 endif () -
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTile.cpp
r151262 r178095 27 27 #include "CoordinatedTile.h" 28 28 29 #if USE( TILED_BACKING_STORE)29 #if USE(COORDINATED_GRAPHICS) 30 30 31 31 #include "GraphicsContext.h" … … 142 142 } // namespace WebCore 143 143 144 #endif // USE( TILED_BACKING_STORE)144 #endif // USE(COORDINATED_GRAPHICS) -
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedTile.h
r162139 r178095 27 27 #define CoordinatedTile_h 28 28 29 #if USE( TILED_BACKING_STORE)29 #if USE(COORDINATED_GRAPHICS) 30 30 31 31 #include "CoordinatedSurface.h" … … 92 92 } // namespace WebCore 93 93 94 #endif // USE( TILED_BACKING_STORE)94 #endif // USE(COORDINATED_GRAPHICS) 95 95 96 96 #endif // CoordinatedTile_h -
trunk/Source/WebKit2/ChangeLog
r178080 r178095 1 2015-01-07 Gwang Yoon Hwang <yoon@igalia.com> 2 3 [GTK][ThreadedCompositor] Add support for threaded compositor. 4 https://bugs.webkit.org/show_bug.cgi?id=118265 5 6 Reviewed by Martin Robinson. 7 8 This patch introduces a threaded compositor for WebKitGTK+. 9 It is disabled as a default because it is a initial implementation. 10 The threaded compositor can be enabled using --threaded-compositor 11 option at compile time. 12 13 No new tests, this is an experimental feature. 14 15 * PlatformGTK.cmake: 16 Adds CoodinatedGraphics and threaded compositor related classes to 17 support threaded compositor 18 19 * Shared/DrawingAreaInfo.h: 20 Use DrawingAreaImpl for threaded compositor 21 22 * UIProcess/API/gtk/WebKitSettings.cpp: 23 (_WebKitSettingsPrivate::_WebKitSettingsPrivate): 24 Modified to use forceCompositingMode when the threaded compositor used. 25 If we does not set this mode here, it cannot draw the root content layer. 26 27 * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: Added. 28 * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: Added. 29 (WebKit::ThreadedCoordinatedLayerTreeHost::rootLayer): 30 Implements ThreadedCoordinatedLayerTreeHost to use the threaded 31 compositor. It is basically similar with CoordinatedLayerTreeHost but it uses ThreadedCompositor instead of IPC. 32 33 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 34 * UIProcess/PageClient.h: 35 * UIProcess/WebPageProxy.cpp: 36 * UIProcess/WebPageProxy.h: 37 * UIProcess/WebPageProxy.messages.in: 38 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 39 (WebKit::WebChromeClient::contentsSizeChanged): 40 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: 41 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: 42 * WebProcess/WebPage/DrawingArea.cpp: 43 (WebKit::DrawingArea::create): 44 (WebKit::DrawingArea::DrawingArea): 45 * WebProcess/WebPage/DrawingArea.h: 46 COORDINATED_GRAPHICS_MULTIPROCESS is introduced to classify IPC specific codes 47 from Coordinated Graphics. 48 And COORDINATED_GRAPHICS_THREADED is used to guard the threaded 49 compositor specific codes. 50 51 * WebProcess/WebPage/DrawingAreaImpl.cpp: 52 (WebKit::DrawingAreaImpl::DrawingAreaImpl): 53 Modified to use forceCompositingMode when the threaded compositor used. 54 If we does not set this mode here, it will crash because of PageOverlay. 55 (WebKit::DrawingAreaImpl::mainFrameContentSizeChanged): 56 (WebKit::DrawingAreaImpl::updateBackingStoreState): 57 Modified to handle contents / viewport size changes for threaded compositor. 58 (WebKit::DrawingAreaImpl::attachViewOverlayGraphicsLayer): 59 Added to support Overlay layer in the threaded compositor. 60 (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing): 61 Push the surface handle for compositing to the threaded compositor. 62 63 * WebProcess/WebPage/DrawingAreaImpl.h: Use COORDINATED_GRAPIHCS_THREADED to guard the threaded compositor related codes. 64 * WebProcess/WebPage/LayerTreeHost.cpp: Ditto. 65 * WebProcess/WebPage/LayerTreeHost.h: Ditto. 66 * WebProcess/WebPage/WebPage.cpp: Ditto. 67 * WebProcess/WebPage/WebPage.h: Ditto. 68 * WebProcess/WebPage/WebPage.messages.in: Ditto. 69 70 * WebProcess/gtk/WebProcessMainGtk.cpp: 71 Modified to call XInitThreads to use thread-safe xlib. 72 1 73 2015-01-07 Daniel Bates <dabates@apple.com> 2 74 -
trunk/Source/WebKit2/PlatformGTK.cmake
r177721 r178095 312 312 WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp 313 313 314 WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp315 314 WebProcess/WebPage/gtk/PrinterListGtk.cpp 316 315 WebProcess/WebPage/gtk/WebInspectorUIGtk.cpp … … 743 742 ) 744 743 744 if (ENABLE_THREADED_COMPOSITOR) 745 list(APPEND WebKit2_SOURCES 746 Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp 747 Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp 748 Shared/CoordinatedGraphics/SimpleViewportController.cpp 749 Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp 750 Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp 751 WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp 752 ) 753 list(APPEND WebKit2_INCLUDE_DIRECTORIES 754 "${WEBCORE_DIR}/platform/graphics/texmap/coordinated" 755 "${WEBKIT2_DIR}/Shared/CoordinatedGraphics" 756 "${WEBKIT2_DIR}/Shared/CoordinatedGraphics/threadedcompositor" 757 "${WEBKIT2_DIR}/WebProcess/WebPage/CoordinatedGraphics" 758 ) 759 else (ENABLE_THREADED_COMPOSITOR) 760 list(APPEND WebKit2_SOURCES 761 WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp 762 ) 763 endif () 764 745 765 # Commands for building the built-in injected bundle. 746 766 include_directories( -
trunk/Source/WebKit2/Shared/DrawingAreaInfo.h
r163886 r178095 36 36 DrawingAreaTypeRemoteLayerTree, 37 37 #else 38 #if USE(COORDINATED_GRAPHICS )38 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 39 39 DrawingAreaTypeCoordinated 40 40 #else -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp
r171742 r178095 55 55 pictographFontFamily = preferences->pictographFontFamily().utf8(); 56 56 defaultCharset = preferences->defaultTextEncodingName().utf8(); 57 58 #if USE(COORDINATED_GRAPHICS_THREADED) 59 preferences->setForceCompositingMode(true); 60 #endif 57 61 } 58 62 -
trunk/Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h
r177926 r178095 22 22 #define CoordinatedLayerTreeHostProxy_h 23 23 24 #if USE(COORDINATED_GRAPHICS )24 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 25 25 26 26 #include "CoordinatedGraphicsArgumentCoders.h" … … 70 70 } // namespace WebKit 71 71 72 #endif // USE(COORDINATED_GRAPHICS )72 #endif // USE(COORDINATED_GRAPHICS_MULTIPROCESS) 73 73 74 74 #endif // CoordinatedLayerTreeHostProxy_h -
trunk/Source/WebKit2/UIProcess/PageClient.h
r177639 r178095 139 139 virtual void didCommitLoadForMainFrame(const String& mimeType, bool useCustomContentProvider) = 0; 140 140 141 #if USE( TILED_BACKING_STORE)141 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 142 142 virtual void pageDidRequestScroll(const WebCore::IntPoint&) = 0; 143 143 virtual void didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect) = 0; 144 144 virtual void pageTransitionViewportReady() = 0; 145 #endif146 #if USE(COORDINATED_GRAPHICS)147 145 virtual void didFindZoomableArea(const WebCore::IntPoint&, const WebCore::IntRect&) = 0; 148 146 #endif -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r178003 r178095 110 110 #endif 111 111 112 #if USE(COORDINATED_GRAPHICS )112 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 113 113 #include "CoordinatedLayerTreeHostProxyMessages.h" 114 114 #endif … … 1373 1373 #endif 1374 1374 1375 #if USE( TILED_BACKING_STORE)1375 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 1376 1376 void WebPageProxy::commitPageTransitionViewport() 1377 1377 { … … 3281 3281 } 3282 3282 3283 #if USE( TILED_BACKING_STORE)3283 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 3284 3284 void WebPageProxy::pageDidRequestScroll(const IntPoint& point) 3285 3285 { … … 3397 3397 } 3398 3398 3399 #if PLATFORM(EFL)3399 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 3400 3400 void WebPageProxy::didChangeContentSize(const IntSize& size) 3401 3401 { -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r177917 r178095 476 476 void didCommitLayerTree(const WebKit::RemoteLayerTreeTransaction&); 477 477 478 #if USE( TILED_BACKING_STORE)478 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 479 479 void didRenderFrame(const WebCore::IntSize& contentsSize, const WebCore::IntRect& coveredRect); 480 480 #endif … … 548 548 PlatformWidget viewWidget(); 549 549 #endif 550 #if USE( TILED_BACKING_STORE)550 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 551 551 void commitPageTransitionViewport(); 552 552 #endif … … 1108 1108 void didDestroyNotification(uint64_t notificationID); 1109 1109 1110 #if USE( TILED_BACKING_STORE)1110 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 1111 1111 void pageDidRequestScroll(const WebCore::IntPoint&); 1112 1112 void pageTransitionViewportReady(); 1113 #endif1114 #if USE(COORDINATED_GRAPHICS)1115 1113 void didFindZoomableArea(const WebCore::IntPoint&, const WebCore::IntRect&); 1116 #endif1117 #if PLATFORM(EFL)1118 1114 void didChangeContentSize(const WebCore::IntSize&); 1119 1115 #endif -
trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in
r177795 r178095 96 96 #endif 97 97 98 #if USE( TILED_BACKING_STORE)98 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 99 99 PageDidRequestScroll(WebCore::IntPoint point) 100 100 PageTransitionViewportReady() 101 #endif102 #if USE(COORDINATED_GRAPHICS)103 101 DidFindZoomableArea(WebCore::IntPoint target, WebCore::IntRect area) 104 #endif105 106 #if PLATFORM(EFL)107 102 DidChangeContentSize(WebCore::IntSize newSize) 108 103 #endif -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
r177806 r178095 521 521 if (m_page->useFixedLayout()) 522 522 m_page->drawingArea()->layerTreeHost()->sizeDidChange(size); 523 523 #endif 524 525 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 524 526 m_page->send(Messages::WebPageProxy::DidChangeContentSize(size)); 525 527 #endif -
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp
r177926 r178095 601 601 } 602 602 603 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 603 604 void CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder) 604 605 { … … 606 607 m_layerTreeHost->didReceiveCoordinatedLayerTreeHostMessage(connection, decoder); 607 608 } 609 #endif 608 610 609 611 void CoordinatedDrawingArea::attachViewOverlayGraphicsLayer(WebCore::Frame* frame, WebCore::GraphicsLayer* viewOverlayRootLayer) -
trunk/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h
r177926 r178095 65 65 virtual void scheduleCompositingLayerFlushImmediately() override; 66 66 67 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 67 68 virtual void didReceiveCoordinatedLayerTreeHostMessage(IPC::Connection&, IPC::MessageDecoder&); 69 #endif 68 70 69 71 virtual void attachViewOverlayGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) override; -
trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp
r173429 r178095 40 40 #include "TiledCoreAnimationDrawingArea.h" 41 41 #else 42 #if USE(COORDINATED_GRAPHICS )42 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 43 43 #include "CoordinatedDrawingArea.h" 44 44 #else … … 62 62 return std::make_unique<RemoteLayerTreeDrawingArea>(webPage, parameters); 63 63 #else 64 #if USE(COORDINATED_GRAPHICS )64 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 65 65 case DrawingAreaTypeCoordinated: 66 66 return std::make_unique<CoordinatedDrawingArea>(webPage, parameters); … … 78 78 : m_type(type) 79 79 , m_webPage(webPage) 80 #if USE(TEXTURE_MAPPER_GL) && PLATFORM(GTK) 81 , m_nativeSurfaceHandleForCompositing(0) 82 #endif 80 83 { 81 84 WebProcess::shared().addMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_webPage.pageID(), *this); -
trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h
r177917 r178095 110 110 #endif 111 111 112 #if USE(COORDINATED_GRAPHICS )112 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 113 113 virtual void didReceiveCoordinatedLayerTreeHostMessage(IPC::Connection&, IPC::MessageDecoder&) = 0; 114 114 #endif -
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.cpp
r176954 r178095 36 36 #include "WebProcess.h" 37 37 #include <WebCore/GraphicsContext.h> 38 #include <WebCore/MainFrame.h> 38 39 #include <WebCore/Page.h> 39 40 #include <WebCore/Settings.h> 41 42 #if USE(COORDINATED_GRAPHICS_THREADED) 43 #include "ThreadedCoordinatedLayerTreeHost.h" 44 #endif 40 45 41 46 using namespace WebCore; … … 64 69 , m_exitCompositingTimer(RunLoop::main(), this, &DrawingAreaImpl::exitAcceleratedCompositingMode) 65 70 { 71 72 #if USE(COORDINATED_GRAPHICS_THREADED) 73 webPage.corePage()->settings().setForceCompositingMode(true); 74 #endif 75 66 76 if (webPage.corePage()->settings().acceleratedDrawingEnabled() || webPage.corePage()->settings().forceCompositingMode()) 67 77 m_alwaysUseCompositing = true; … … 219 229 { 220 230 m_isPaintingEnabled = paintingEnabled; 231 } 232 233 void DrawingAreaImpl::mainFrameContentSizeChanged(const WebCore::IntSize& newSize) 234 { 235 #if USE(COORDINATED_GRAPHICS_THREADED) 236 if (m_layerTreeHost) 237 m_layerTreeHost->sizeDidChange(newSize); 238 #else 239 UNUSED_PARAM(newSize); 240 #endif 221 241 } 222 242 … … 323 343 324 344 if (m_layerTreeHost) { 345 #if USE(COORDINATED_GRAPHICS_THREADED) 346 m_layerTreeHost->viewportSizeChanged(m_webPage.size()); 347 #else 325 348 m_layerTreeHost->sizeDidChange(m_webPage.size()); 349 #endif 326 350 } else 327 351 m_dirtyRegion = m_webPage.bounds(); … … 644 668 } 645 669 670 void DrawingAreaImpl::attachViewOverlayGraphicsLayer(WebCore::Frame* frame, WebCore::GraphicsLayer* viewOverlayRootLayer) 671 { 672 #if USE(COORDINATED_GRAPHICS_THREADED) 673 if (!frame->isMainFrame()) 674 return; 675 676 if (!m_layerTreeHost) 677 return; 678 679 ThreadedCoordinatedLayerTreeHost* coordinatedLayerTreeHost = static_cast<ThreadedCoordinatedLayerTreeHost*>(m_layerTreeHost.get()); 680 coordinatedLayerTreeHost->setViewOverlayRootLayer(viewOverlayRootLayer); 681 #else 682 UNUSED_PARAM(frame); 683 UNUSED_PARAM(viewOverlayRootLayer); 684 #endif 685 } 686 646 687 #if USE(TEXTURE_MAPPER_GL) && PLATFORM(GTK) 647 688 void DrawingAreaImpl::setNativeSurfaceHandleForCompositing(uint64_t handle) 648 689 { 649 690 m_nativeSurfaceHandleForCompositing = handle; 650 } 691 692 #if USE(COORDINATED_GRAPHICS_THREADED) 693 if (m_layerTreeHost) 694 m_layerTreeHost->setNativeSurfaceHandleForCompositing(handle); 651 695 #endif 696 } 697 #endif 652 698 653 699 } // namespace WebKit -
trunk/Source/WebKit2/WebProcess/WebPage/DrawingAreaImpl.h
r176954 r178095 61 61 62 62 virtual void setPaintingEnabled(bool); 63 virtual void mainFrameContentSizeChanged(const WebCore::IntSize&) override; 63 64 virtual void updatePreferences(const WebPreferencesStore&) override; 64 65 … … 67 68 virtual void scheduleCompositingLayerFlush() override; 68 69 virtual void scheduleCompositingLayerFlushImmediately() override; 70 71 virtual void attachViewOverlayGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*); 69 72 70 73 #if USE(TEXTURE_MAPPER_GL) && PLATFORM(GTK) -
trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp
r156793 r178095 27 27 #include "LayerTreeHost.h" 28 28 29 #if USE(COORDINATED_GRAPHICS )29 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 30 30 #include "CoordinatedLayerTreeHost.h" 31 #e ndif32 33 # if PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL)31 #elif USE(COORDINATED_GRAPHICS_THREADED) 32 #include "ThreadedCoordinatedLayerTreeHost.h" 33 #elif PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL) 34 34 #include "LayerTreeHostGtk.h" 35 35 #endif … … 41 41 PassRefPtr<LayerTreeHost> LayerTreeHost::create(WebPage* webPage) 42 42 { 43 #if USE(COORDINATED_GRAPHICS )43 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 44 44 return CoordinatedLayerTreeHost::create(webPage); 45 #elif USE(COORDINATED_GRAPHICS_THREADED) 46 return ThreadedCoordinatedLayerTreeHost::create(webPage); 45 47 #elif PLATFORM(GTK) && USE(TEXTURE_MAPPER_GL) 46 48 return LayerTreeHostGtk::create(webPage); -
trunk/Source/WebKit2/WebProcess/WebPage/LayerTreeHost.h
r177926 r178095 44 44 class GraphicsLayer; 45 45 class GraphicsLayerFactory; 46 #if USE(COORDINATED_GRAPHICS_THREADED) 47 class ViewportAttributes; 48 #endif 46 49 } 47 50 … … 77 80 virtual WebCore::GraphicsLayerFactory* graphicsLayerFactory() { return 0; } 78 81 79 #if USE(COORDINATED_GRAPHICS )82 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 80 83 virtual void didReceiveCoordinatedLayerTreeHostMessage(IPC::Connection&, IPC::MessageDecoder&) = 0; 84 #endif 85 86 #if USE(COORDINATED_GRAPHICS_THREADED) 87 virtual void setNativeSurfaceHandleForCompositing(uint64_t) = 0; 88 virtual void viewportSizeChanged(const WebCore::IntSize&) = 0; 89 virtual void didChangeViewportProperties(const WebCore::ViewportAttributes&) = 0; 81 90 #endif 82 91 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r177960 r178095 210 210 #endif 211 211 212 #if USE(COORDINATED_GRAPHICS )212 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 213 213 #include "CoordinatedLayerTreeHostMessages.h" 214 214 #endif … … 477 477 478 478 // FIXME: This should be done in the object constructors, and the objects themselves should be message receivers. 479 #if USE(COORDINATED_GRAPHICS )479 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 480 480 WebProcess::shared().addMessageReceiver(Messages::CoordinatedLayerTreeHost::messageReceiverName(), m_pageID, *this); 481 481 #endif … … 563 563 564 564 // FIXME: This should be done in the object destructors, and the objects themselves should be message receivers. 565 #if USE(COORDINATED_GRAPHICS )565 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 566 566 WebProcess::shared().removeMessageReceiver(Messages::CoordinatedLayerTreeHost::messageReceiverName(), m_pageID); 567 567 #endif … … 1312 1312 setFixedLayoutSize(roundedIntSize(attr.layoutSize)); 1313 1313 1314 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 1314 1315 send(Messages::WebPageProxy::DidChangeViewportProperties(attr)); 1316 #else 1317 if (m_drawingArea->layerTreeHost()) 1318 m_drawingArea->layerTreeHost()->didChangeViewportProperties(attr); 1319 #endif 1315 1320 } 1316 1321 #endif … … 1797 1802 void WebPage::pageDidRequestScroll(const IntPoint& point) 1798 1803 { 1804 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 1799 1805 send(Messages::WebPageProxy::PageDidRequestScroll(point)); 1806 #elif USE(COORDINATED_GRAPHICS_THREADED) 1807 drawingArea()->scroll(IntRect(point, IntSize()), IntSize()); 1808 #endif 1800 1809 } 1801 1810 #endif … … 2371 2380 void WebPage::didCompletePageTransition() 2372 2381 { 2373 #if USE( TILED_BACKING_STORE)2382 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 2374 2383 // m_mainFrame can be null since r170163. 2375 2384 if (m_mainFrame && m_mainFrame->coreFrame()->view()->delegatesScrolling()) { … … 3535 3544 void WebPage::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder) 3536 3545 { 3537 #if USE( TILED_BACKING_STORE)3546 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 3538 3547 if (decoder.messageReceiverName() == Messages::CoordinatedLayerTreeHost::messageReceiverName()) { 3539 3548 if (m_drawingArea) … … 4022 4031 } 4023 4032 4024 #if USE( TILED_BACKING_STORE)4033 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 4025 4034 void WebPage::commitPageTransitionViewport() 4026 4035 { -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r177917 r178095 588 588 #endif 589 589 590 #if USE( TILED_BACKING_STORE)590 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 591 591 void commitPageTransitionViewport(); 592 592 #endif … … 1024 1024 void countStringMatches(const String&, uint32_t findOptions, uint32_t maxMatchCount); 1025 1025 1026 #if USE(COORDINATED_GRAPHICS )1026 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 1027 1027 void findZoomableAreaForPoint(const WebCore::IntPoint&, const WebCore::IntSize& area); 1028 1028 #endif -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
r177796 r178095 316 316 #endif 317 317 318 #if USE( TILED_BACKING_STORE)318 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 319 319 CommitPageTransitionViewport() 320 320 #endif … … 382 382 CancelComposition() 383 383 #endif 384 #if USE(COORDINATED_GRAPHICS )384 #if USE(COORDINATED_GRAPHICS_MULTIPROCESS) 385 385 FindZoomableAreaForPoint(WebCore::IntPoint point, WebCore::IntSize area) 386 386 #endif -
trunk/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp
r177634 r178095 35 35 #include <libsoup/soup.h> 36 36 37 #if PLATFORM(X11) 38 #include <X11/Xlib.h> 39 #endif 40 37 41 using namespace WebCore; 38 42 … … 48 52 #endif 49 53 54 #if USE(COORDINATED_GRAPHICS_THREADED) && PLATFORM(X11) 55 XInitThreads(); 56 #endif 50 57 gtk_init(nullptr, nullptr); 51 58 -
trunk/Source/cmake/OptionsEfl.cmake
r176712 r178095 119 119 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON) 120 120 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_XHR_TIMEOUT ON) 121 WEBKIT_OPTION_DEFAULT_PORT_VALUE(WTF_USE_TILED_BACKING_STORE ON)122 121 123 122 if (ENABLE_LLINT_C_LOOP) … … 209 208 210 209 add_definitions(-DWTF_USE_COORDINATED_GRAPHICS=1) 210 add_definitions(-DWTF_USE_COORDINATED_GRAPHICS_MULTIPROCESS=1) 211 add_definitions(-DWTF_USE_TILED_BACKING_STORE=1) 211 212 212 213 add_definitions(-DWTF_USE_TEXTURE_MAPPER=1) -
trunk/Source/cmake/OptionsGTK.cmake
r177358 r178095 173 173 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_XHR_TIMEOUT ON) 174 174 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_PROCESS ON) 175 WEBKIT_OPTION_DEFAULT_PORT_VALUE( WTF_USE_TILED_BACKING_STOREOFF)175 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_THREADED_COMPOSITOR OFF) 176 176 WEBKIT_OPTION_END() 177 177 … … 329 329 if (GLX_FOUND) 330 330 add_definitions(-DWTF_USE_GLX=1) 331 endif () 332 333 if (ENABLE_THREADED_COMPOSITOR) 334 add_definitions(-DWTF_USE_TILED_BACKING_STORE=1) 335 add_definitions(-DWTF_USE_COORDINATED_GRAPHICS=1) 336 add_definitions(-DWTF_USE_COORDINATED_GRAPHICS_THREADED=1) 331 337 endif () 332 338 endif () -
trunk/Source/cmake/WebKitFeatures.cmake
r176620 r178095 150 150 WEBKIT_OPTION_DEFINE(ENABLE_XSLT "Toggle XSLT support" ON) 151 151 WEBKIT_OPTION_DEFINE(USE_SYSTEM_MALLOC "Toggle system allocator instead of TCmalloc" OFF) 152 WEBKIT_OPTION_DEFINE( WTF_USE_TILED_BACKING_STORE "Toggle Tiled Backing Storesupport" OFF)152 WEBKIT_OPTION_DEFINE(ENABLE_THREADED_COMPOSITOR "Toggle threaded compositor support" OFF) 153 153 154 154 WEBKIT_OPTION_DEPEND(ENABLE_ENCRYPTED_MEDIA_V2 ENABLE_VIDEO) -
trunk/Source/cmakeconfig.h.cmake
r176620 r178095 140 140 #cmakedefine01 USE_SYSTEM_MALLOC 141 141 #cmakedefine01 WTF_USE_GEOCLUE2 142 #cmakedefine01 WTF_USE_TILED_BACKING_STORE143 142 #cmakedefine01 HAVE_LLVM 144 143 #cmakedefine01 HAVE_GTK_UNIX_PRINTING -
trunk/Tools/ChangeLog
r178080 r178095 1 2015-01-07 Gwang Yoon Hwang <yoon@igalia.com> 2 3 [GTK][ThreadedCompositor] Add support for threaded compositor. 4 https://bugs.webkit.org/show_bug.cgi?id=118265 5 6 Reviewed by Martin Robinson. 7 8 Added the ENABLE_THREADED_COMPOSITOR feature flag to the cmake and 9 autotools build systems. The feature is disabled by default. 10 And remove deprecated the WTF_USE_TILED_BACKING_STORE feature flag 11 from the feature flags. 12 13 * Scripts/webkitperl/FeatureList.pm: 14 1 15 2015-01-07 Daniel Bates <dabates@apple.com> 2 16 -
trunk/Tools/Scripts/webkitperl/FeatureList.pm
r177073 r178095 129 129 $templateElementSupport, 130 130 $textAutosizingSupport, 131 $t iledBackingStoreSupport,131 $threadedCompositorSupport, 132 132 $threadedHTMLParserSupport, 133 133 $touchEventsSupport, … … 384 384 define => "ENABLE_TEMPLATE_ELEMENT", default => 1, value => \$templateElementSupport }, 385 385 386 { option => "threaded-compositor", desc => "Toggle threaded compositor support", 387 define => "ENABLE_THREADED_COMPOSITOR", default => 0, value => \$threadedCompositorSupport }, 388 386 389 { option => "text-autosizing", desc => "Toggle Text Autosizing support", 387 390 define => "ENABLE_TEXT_AUTOSIZING", default => 0, value => \$textAutosizingSupport },
Note: See TracChangeset
for help on using the changeset viewer.