Bug 257402
Summary: | API::PageConfiguration::copy() is error-prone | ||
---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> |
Component: | WebKit2 | Assignee: | 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
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 | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Chris Dumez
Pull request: https://github.com/WebKit/WebKit/pull/14411
EWS
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
<rdar://problem/110017496>
Olivier Blin
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.