RESOLVED FIXED202449
[GTK][WPE] Enable async scrolling
https://bugs.webkit.org/show_bug.cgi?id=202449
Summary [GTK][WPE] Enable async scrolling
Zan Dobersek
Reported 2019-10-02 02:11:59 PDT
[GTK][WPE] Enable async scrolling
Attachments
WIP Patch (7.21 KB, patch)
2019-10-02 02:13 PDT, Zan Dobersek
no flags
Patch (6.74 KB, patch)
2019-10-02 03:31 PDT, Zan Dobersek
no flags
Patch (11.42 KB, patch)
2019-10-03 01:27 PDT, Zan Dobersek
no flags
Patch for landing (10.76 KB, patch)
2019-10-03 02:45 PDT, Zan Dobersek
no flags
Zan Dobersek
Comment 1 2019-10-02 02:13:07 PDT
Created attachment 380004 [details] WIP Patch
Carlos Garcia Campos
Comment 2 2019-10-02 02:28:02 PDT
Comment on attachment 380004 [details] WIP Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380004&action=review LGTM > Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:3556 > + changed = true; This doesn't actually change the policy. Maybe we can simply call priv->preferences->setThreadedScrollingEnabled(true); right after priv->preferences->setForceCompositingMode(true); in the previous if. > Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:3572 > + if (priv->preferences->threadedScrollingEnabled()) { > + priv->preferences->setThreadedScrollingEnabled(false); > + changed = true; Same here > Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:3586 > + if (priv->preferences->threadedScrollingEnabled() && !HardwareAccelerationManager::singleton().forceHardwareAcceleration()) { > + priv->preferences->setThreadedScrollingEnabled(false); > + changed = true; And here. > Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:41 > + struct { > + bool acceleratedCompositingEnabled { false }; > + bool forceCompositingMode { false }; > + bool threadedScrollingEnabled { false }; > + } compositingState; This would be easier to read using an enum with flags I think. > Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:45 > + else if (HardwareAccelerationManager::singleton().canUseHardwareAcceleration()) We still need to check canUseHardwareAcceleration() first, because if it returns false, we can't force it either.
Zan Dobersek
Comment 3 2019-10-02 03:28:24 PDT
Comment on attachment 380004 [details] WIP Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380004&action=review >> Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:41 >> + } compositingState; > > This would be easier to read using an enum with flags I think. Unsure about enums. The values passed to the methods are still boolean, so I would just stick to those.
Zan Dobersek
Comment 4 2019-10-02 03:31:05 PDT
EWS Watchlist
Comment 5 2019-10-02 03:31:34 PDT
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Zan Dobersek
Comment 6 2019-10-03 01:27:19 PDT
Carlos Garcia Campos
Comment 7 2019-10-03 01:31:35 PDT
Comment on attachment 380088 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380088&action=review > Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:76 > + auto* disableAsyncScrolling = getenv("WEBKIT_DISABLE_ASYNC_SCROLLING"); > + if (disableAsyncScrolling && strcmp(disableAsyncScrolling, "0")) > + m_supportsAsyncScrolling = false; We could do this only if m_supportsAsyncScrolling is true.
Zan Dobersek
Comment 8 2019-10-03 02:45:21 PDT
Created attachment 380093 [details] Patch for landing
Zan Dobersek
Comment 9 2019-10-03 02:52:34 PDT
Comment on attachment 380093 [details] Patch for landing Clearing flags on attachment: 380093 Committed r250651: <https://trac.webkit.org/changeset/250651>
Zan Dobersek
Comment 10 2019-10-03 02:52:38 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 11 2019-10-03 02:53:16 PDT
Note You need to log in before you can comment on or make changes to this bug.