Bug 257402

Summary: API::PageConfiguration::copy() is error-prone
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit2Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: aperez, calvaris, cgarcia, cturner, kkinnunen, mcatanzaro, olivier.blin, philn, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=257391

Chris Dumez
Reported 2023-05-26 16:42:31 PDT
API::PageConfiguration::copy() is error-prone as it is too easy to add a data member and forget to copy it in this function (Like in 264609@main).
Attachments
Chris Dumez
Comment 1 2023-05-26 16:48:23 PDT
EWS
Comment 2 2023-05-30 11:46:36 PDT
Committed 264689@main (ecce6504d149): <https://commits.webkit.org/264689@main> Reviewed commits have been landed. Closing PR #14411 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2023-05-30 11:47:19 PDT
Olivier Blin
Comment 4 2023-11-23 23:32:30 PST
For reference, the autoplay disabling added in bug 184845 for GLib ports was not working on WPE before this change (but it was fine on GTK). Before 264689@main from this bug, the following fields were not copied properly: - m_additionalSupportedImageTypes - m_defaultWebsitePolicies - m_pageToCloneSessionStorageFrom Since m_defaultWebsitePolicies was not copied, and WKWPE::View::View() uses API::PageConfiguration::copy() to prepare the WebView configuration for WPE, it missed the autoplay setting passed by the glib code, defaulting to WebsiteAutoplayPolicy::AllowWithoutSound / WEBKIT_AUTOPLAY_ALLOW_WITHOUT_SOUND. As of WPE 2.42, the autoplay feature is now properly AllowWithoutSound by default. Some embedded ports might have to change their application settings if they need autoplay to be enabled by default.
Note You need to log in before you can comment on or make changes to this bug.