Changeset 277258 in webkit
- Timestamp:
- May 10, 2021, 2:13:54 AM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 5 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/API/glib/WebKitSettings.cpp (modified) (3 diffs)
-
UIProcess/gtk/WebPreferencesGtk.cpp (modified) (1 diff)
-
WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp (modified) (4 diffs)
-
WebProcess/WebPage/WebPage.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r277256 r277258 1 2021-05-10 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Use always async scrolling in accelerated compositing mode 4 https://bugs.webkit.org/show_bug.cgi?id=225512 5 6 Reviewed by Fujii Hironori. 7 8 We currently use async scrolling only when the hardware acceleration policy is set for always, but not when 9 entering accelerating compositing mode in ondemand policy. Since the GTK port still supports the non accelerated 10 compositing mode we need to add and remove the scrolling tree when entering and leaving the accelerated 11 compositing mode. 12 13 * UIProcess/API/glib/WebKitSettings.cpp: 14 (webkit_settings_set_hardware_acceleration_policy): Always enable async scrolling when accelerated compositing 15 is enabled. 16 * UIProcess/gtk/WebPreferencesGtk.cpp: 17 (WebKit::WebPreferences::platformInitializeStore): Ditto. 18 * WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp: 19 (WebKit::DrawingAreaCoordinatedGraphics::~DrawingAreaCoordinatedGraphics): Remove the scrolling tree if the 20 drawing area is destroyed in accelerated compositing mode. 21 (WebKit::DrawingAreaCoordinatedGraphics::enterAcceleratedCompositingMode): Add the scrolling tree. 22 (WebKit::DrawingAreaCoordinatedGraphics::exitAcceleratedCompositingMode): Remove the scrolling tree. 23 * WebProcess/WebPage/WebPage.cpp: 24 (WebKit::WebPage): Do not add the scrolling tree from here for the GTK port. 25 (WebKit::WebPage::close): Do not remove the scrolling tree from here for the GTK port. 26 1 27 2021-05-10 Youenn Fablet <youenn@apple.com> 2 28 -
trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp
r275816 r277258 3618 3618 if (!priv->preferences->acceleratedCompositingEnabled()) { 3619 3619 priv->preferences->setAcceleratedCompositingEnabled(true); 3620 priv->preferences->setThreadedScrollingEnabled(true); 3620 3621 changed = true; 3621 3622 } 3622 3623 if (!priv->preferences->forceCompositingMode()) { 3623 3624 priv->preferences->setForceCompositingMode(true); 3624 priv->preferences->setThreadedScrollingEnabled(true);3625 3625 changed = true; 3626 3626 } … … 3631 3631 if (priv->preferences->acceleratedCompositingEnabled()) { 3632 3632 priv->preferences->setAcceleratedCompositingEnabled(false); 3633 changed = true;3634 }3635 3636 if (priv->preferences->forceCompositingMode()) {3637 priv->preferences->setForceCompositingMode(false);3638 3633 priv->preferences->setThreadedScrollingEnabled(false); 3639 3634 changed = true; 3640 3635 } 3636 3637 if (priv->preferences->forceCompositingMode()) { 3638 priv->preferences->setForceCompositingMode(false); 3639 changed = true; 3640 } 3641 3641 break; 3642 3642 case WEBKIT_HARDWARE_ACCELERATION_POLICY_ON_DEMAND: 3643 3643 if (!priv->preferences->acceleratedCompositingEnabled() && HardwareAccelerationManager::singleton().canUseHardwareAcceleration()) { 3644 3644 priv->preferences->setAcceleratedCompositingEnabled(true); 3645 priv->preferences->setThreadedScrollingEnabled(true); 3645 3646 changed = true; 3646 3647 } … … 3648 3649 if (priv->preferences->forceCompositingMode() && !HardwareAccelerationManager::singleton().forceHardwareAcceleration()) { 3649 3650 priv->preferences->setForceCompositingMode(false); 3650 priv->preferences->setThreadedScrollingEnabled(false);3651 3651 changed = true; 3652 3652 } -
trunk/Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp
r254489 r277258 47 47 setAcceleratedCompositingEnabled(compositingState.acceleratedCompositingEnabled); 48 48 setForceCompositingMode(compositingState.forceCompositingMode); 49 setThreadedScrollingEnabled(compositingState. forceCompositingMode);49 setThreadedScrollingEnabled(compositingState.acceleratedCompositingEnabled); 50 50 } 51 51 -
trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
r276490 r277258 30 30 31 31 #include "DrawingAreaProxyMessages.h" 32 #include "EventDispatcher.h" 32 33 #include "LayerTreeHost.h" 33 34 #include "ShareableBitmap.h" … … 81 82 } 82 83 83 DrawingAreaCoordinatedGraphics::~DrawingAreaCoordinatedGraphics() = default; 84 DrawingAreaCoordinatedGraphics::~DrawingAreaCoordinatedGraphics() 85 { 86 #if PLATFORM(GTK) 87 if (m_supportsAsyncScrolling && m_layerTreeHost) 88 WebProcess::singleton().eventDispatcher().removeScrollingTreeForPage(&m_webPage); 89 #endif 90 } 84 91 85 92 void DrawingAreaCoordinatedGraphics::setNeedsDisplay() … … 580 587 { 581 588 #if PLATFORM(GTK) 589 if (m_supportsAsyncScrolling) 590 WebProcess::singleton().eventDispatcher().addScrollingTreeForPage(&m_webPage); 591 582 592 if (!m_alwaysUseCompositing) { 583 593 m_webPage.corePage()->settings().setForceCompositingMode(true); … … 641 651 m_wantsToExitAcceleratedCompositingMode = false; 642 652 653 #if PLATFORM(GTK) 654 if (m_supportsAsyncScrolling) 655 WebProcess::singleton().eventDispatcher().removeScrollingTreeForPage(&m_webPage); 656 #endif 657 643 658 ASSERT(m_layerTreeHost); 644 659 m_previousLayerTreeHost = WTFMove(m_layerTreeHost); -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r277196 r277258 782 782 #endif 783 783 784 #if ENABLE(SCROLLING_THREAD) 784 #if ENABLE(SCROLLING_THREAD) && !PLATFORM(GTK) 785 785 if (m_useAsyncScrolling) 786 786 webProcess.eventDispatcher().addScrollingTreeForPage(this); … … 1563 1563 ASSERT(!m_remoteObjectRegistry); 1564 1564 #endif 1565 #if ENABLE(SCROLLING_THREAD) 1565 1566 #if ENABLE(SCROLLING_THREAD) && !PLATFORM(GTK) 1566 1567 if (m_useAsyncScrolling) 1567 1568 webProcess.eventDispatcher().removeScrollingTreeForPage(this);
Note:
See TracChangeset
for help on using the changeset viewer.