RESOLVED FIXED 257402
API::PageConfiguration::copy() is error-prone
https://bugs.webkit.org/show_bug.cgi?id=257402
Summary API::PageConfiguration::copy() is error-prone
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.