[webkit-changes] [WebKit/WebKit] 28cf46: Cherry-pick 256944 at main (e3ba18ed2f68). https://bu...
Žan Doberšek
noreply at github.com
Wed Jan 25 05:32:23 PST 2023
Branch: refs/heads/webkitglib/2.38
Home: https://github.com/WebKit/WebKit
Commit: 28cf4649cc6c1f13200bbe275a77163d05441fa6
https://github.com/WebKit/WebKit/commit/28cf4649cc6c1f13200bbe275a77163d05441fa6
Author: Philippe Normand <philn at igalia.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp
M Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h
Log Message:
-----------
Cherry-pick 256944 at main (e3ba18ed2f68). https://bugs.webkit.org/show_bug.cgi?id=248147
[GStreamer] Allow RegistryScanner call sites to use the selected element factory
https://bugs.webkit.org/show_bug.cgi?id=248147
Reviewed by Xabier Rodriguez-Calvar.
When a candidate GstElementFactory has been selected by the scanner, it can now be used to create a
GstElement matching the capabilies that were probed. This can be useful in cases where a higher
level bin such as decodebin or encodebin is not desired and we only need direct access to the
element.
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:
(WebCore::GStreamerRegistryScanner::ElementFactories::hasElementForMediaType const):
(WebCore::GStreamerRegistryScanner::fillMimeTypeSetFromCapsMapping):
(WebCore::GStreamerRegistryScanner::initializeDecoders):
(WebCore::GStreamerRegistryScanner::initializeEncoders):
(WebCore::GStreamerRegistryScanner::isCodecSupported const):
(WebCore::GStreamerRegistryScanner::isAVC1CodecSupported const):
(WebCore::GStreamerRegistryScanner::isConfigurationSupported const):
* Source/WebCore/platform/graphics/gstreamer/GStreamerRegistryScanner.h:
(WebCore::GStreamerRegistryScanner::RegistryLookupResult::merge):
(WebCore::GStreamerRegistryScanner::CodecLookupResult::CodecLookupResult):
(WebCore::GStreamerRegistryScanner::CodecLookupResult::operator bool const):
Canonical link: https://commits.webkit.org/256944@main
Commit: 4c4d0056e363109a4283a2b10cae8b3d110228a8
https://github.com/WebKit/WebKit/commit/4c4d0056e363109a4283a2b10cae8b3d110228a8
Author: Michael Catanzaro <mcatanzaro at redhat.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h
Log Message:
-----------
Cherry-pick 256990 at main (138c1e2a317b). https://bugs.webkit.org/show_bug.cgi?id=248293
Uninitialized memory read when opening web inspector
https://bugs.webkit.org/show_bug.cgi?id=248293
Reviewed by Yusuke Suzuki.
WebPageInspectorController::m_enabledBrowserAgent is mistakenly not
initialized to anything. It's initialized by
InspectorBrowserAgent::enable and InspectorBrowserAgent::disable, but
these functions both first check whether it's enabled before they do
anything. That's undefined behavior. Fix is simple: initialize it.
* Source/WebKit/UIProcess/Inspector/WebPageInspectorController.h:
Canonical link: https://commits.webkit.org/256990@main
Commit: d73d7f48dae83fa78f9d22f9f717481443b83d95
https://github.com/WebKit/WebKit/commit/d73d7f48dae83fa78f9d22f9f717481443b83d95
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/UIProcess/gtk/WebContextMenuProxyGtk.cpp
M Source/WebKit/UIProcess/gtk/WebContextMenuProxyGtk.h
M Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h
M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp
M Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp
M Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h
M Source/WebKit/WebProcess/WebPage/WebContextMenu.cpp
Log Message:
-----------
Cherry-pick 257023 at main (f4b30ff111b4). https://bugs.webkit.org/show_bug.cgi?id=247089
[GTK] UI process crash when opening video settings
https://bugs.webkit.org/show_bug.cgi?id=247089
Reviewed by Michael Catanzaro.
Do no emit the context-menus signals for video settings popup menu.
* Source/WebKit/UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::show):
* Source/WebKit/UIProcess/gtk/WebContextMenuProxyGtk.h:
* Source/WebKit/WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h:
(API::InjectedBundle::PageContextMenuClient::getCustomMenuFromDefaultItems):
* Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
* Source/WebKit/WebProcess/WebPage/WebContextMenu.cpp:
(WebKit::WebContextMenu::menuItemsWithUserData const):
Canonical link: https://commits.webkit.org/257023@main
Commit: 92bf4ea2eb819e78e07ccb4c43135c964f69ca67
https://github.com/WebKit/WebKit/commit/92bf4ea2eb819e78e07ccb4c43135c964f69ca67
Author: Vitaly Dyachkov <vitaly at igalia.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/accessibility/AXObjectCache.cpp
Log Message:
-----------
Cherry-pick 257235 at main (99e0cc3c3dd2). https://bugs.webkit.org/show_bug.cgi?id=246329
[ATSPI] Modal element containing only StaticText is ignored
https://bugs.webkit.org/show_bug.cgi?id=246329
Reviewed by Carlos Garcia Campos.
A modal element will not be set as the current modal when it has no
accessible content. But when using AT-SPI, an object with
AccessibilityRole::StaticText is ignored, since we expect its parent
to implement org.a11y.atspi.Text interface itself.
Fixes `accessibility/custom-elements/modal.html` time out.
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::modalElementHasAccessibleContent):
Canonical link: https://commits.webkit.org/257235@main
Commit: a00aaa6f47ef46b614902411f756cf2fd9125090
https://github.com/WebKit/WebKit/commit/a00aaa6f47ef46b614902411f756cf2fd9125090
Author: Alexey Shvayka <ashvayka at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/bindings/js/JSEventListener.cpp
Log Message:
-----------
Cherry-pick 257027 at main (a8c7d4f465b1). https://bugs.webkit.org/show_bug.cgi?id=248328
[WebIDL] Hoist protectedThis reference in JSEventListener::handleEvent()
https://bugs.webkit.org/show_bug.cgi?id=248328
Reviewed by Yusuke Suzuki.
While this change is non-observable since the only caller of handleEvent(),
innerInvokeEventListeners(), keeps it as RefPtr, theoretically both getCallData() and
jsFunction->get() may remove currently running event listener and cause its destruction.
* Source/WebCore/bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
Canonical link: https://commits.webkit.org/257027@main
Commit: e6d12da9bc531a2d2d5cad2c6f1d371311a6f8d8
https://github.com/WebKit/WebKit/commit/e6d12da9bc531a2d2d5cad2c6f1d371311a6f8d8
Author: Michael Catanzaro <mcatanzaro at redhat.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
Log Message:
-----------
Cherry-pick 257276 at main (fd0db7c03a48). https://bugs.webkit.org/show_bug.cgi?id=247463
[GTK] gsk_renderer_render_texture: assertion 'GSK_IS_RENDER_NODE (root)' failed in webkitWebViewBaseTakeViewSnapshot
https://bugs.webkit.org/show_bug.cgi?id=247463
Reviewed by Carlos Garcia Campos.
I don't know how to reproduce this crash, but it happens a lot and the
solution is clear enough. When the snapshot is empty, then the
GskRenderNode is nullptr, and we should immediately return nullptr
instead of trying to use it as a valid GskRenderNode. The return value
here is already nullable, so there's nothing more to worry about.
I'm not certain why this happens, but I think it might be associated
with web process hangs. Doesn't matter: the UI process should be robust
regardless.
Thanks to Benjamin Otte for helping with my questions regarding this
issue.
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTakeViewSnapshot):
Canonical link: https://commits.webkit.org/257276@main
Commit: 53c72c74622ef5bd4b004d9cf589ba910812c447
https://github.com/WebKit/WebKit/commit/53c72c74622ef5bd4b004d9cf589ba910812c447
Author: Vivienne Watermeier <vwatermeier at igalia.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
Cherry-pick 257066 at main (738525821b03). https://bugs.webkit.org/show_bug.cgi?id=248217
[GStreamer] Fix readyState calculations
https://bugs.webkit.org/show_bug.cgi?id=248217
Reviewed by Philippe Normand.
On some platforms, the audio sink is acting as a fake sink while the decoder fetches data
from the pipeline and transfers it to the SoC drivers, even in READY and PAUSED states,
meaning we cannot rely on buffering messages anymore.
However, on that platform the audio sinks implements buffering queries, that are currently
issued to the entire pipeline, which on some platforms may yield misleading results
if some random element implements buffering queries and receives that query first.
Thus this patch first queries the audio sink, before trying the video sink and finally
the pipeline itself.
Original author: Pawel Lampe <pawel.lampe at gmail.com>
See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/975
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Send buffering query to audio/video sinks first
Canonical link: https://commits.webkit.org/257066@main
Commit: 884cb9fe7402bc104ca6ae30a68cd2fe88b26fe4
https://github.com/WebKit/WebKit/commit/884cb9fe7402bc104ca6ae30a68cd2fe88b26fe4
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/Platform/IPC/StreamConnectionWorkQueue.cpp
Log Message:
-----------
Cherry-pick 257092 at main (1f4c8acb5b7c). https://bugs.webkit.org/show_bug.cgi?id=248417
Don't hold the stream connection work queue lock while running the shutdown callback.
https://bugs.webkit.org/show_bug.cgi?id=248417
Reviewed by Kimmo Kinnunen.
If any code within the shutdown code tries to access the lock (to remove buffer references) then we can deadlock.
* Source/WebKit/Platform/IPC/StreamConnectionWorkQueue.cpp:
(IPC::StreamConnectionWorkQueue::startProcessingThread):
Canonical link: https://commits.webkit.org/257092@main
Commit: 5723ae983d3ef0d683d468f78a302f1640be8da6
https://github.com/WebKit/WebKit/commit/5723ae983d3ef0d683d468f78a302f1640be8da6
Author: Karl Dubost <karlcow at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/html/HTMLVideoElement.cpp
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h
Log Message:
-----------
Cherry-pick 257107 at main (75437028a4f8). https://bugs.webkit.org/show_bug.cgi?id=248296
Remove Quirks needsAkamaiMediaPlayerQuirk
https://bugs.webkit.org/show_bug.cgi?id=248296
rdar://102636420
Reviewed by Eric Carlson.
As mentioned in the bug, this was tested on multiple links
with site specific hacks disabled on the iOS device and
the fullscreen is working.
* Source/WebCore/html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::webkitDisplayingFullscreen):
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::needsAkamaiMediaPlayerQuirk const): Deleted.
* Source/WebCore/page/Quirks.h:
Canonical link: https://commits.webkit.org/257107@main
Commit: e1dd982327ebc4c63b07938e31c3096d66ac2de4
https://github.com/WebKit/WebKit/commit/e1dd982327ebc4c63b07938e31c3096d66ac2de4
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/platform/ThreadGlobalData.cpp
M Source/WebCore/platform/ThreadGlobalData.h
M Source/WebCore/platform/graphics/FontCache.h
Log Message:
-----------
Cherry-pick 257160 at main (2d8a9204f770). https://bugs.webkit.org/show_bug.cgi?id=248502
Manually invalidate the FontCache before clearing ThreadGlobalData.
https://bugs.webkit.org/show_bug.cgi?id=248502
Reviewed by Cameron McCormack.
Destructing the FontCache can recurse back into the ThreadGlobalData getter (to remove cached entries), so
we want to manually clear the FontCache before clearing the ThreadGlobalData pointer.
This also moves m_destroyed to earlier in the class, so it's guaranteed to be destructed after m_fontCache.
* Source/WebCore/platform/ThreadGlobalData.cpp:
(WebCore::ThreadGlobalData::destroy):
* Source/WebCore/platform/ThreadGlobalData.h:
* Source/WebCore/platform/graphics/FontCache.h:
Canonical link: https://commits.webkit.org/257160@main
Commit: 779d22920886fedad6e26a6f5af74f8d53726e1b
https://github.com/WebKit/WebKit/commit/779d22920886fedad6e26a6f5af74f8d53726e1b
Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
A LayoutTests/editing/execCommand/delete-non-editable-range-crash-expected.txt
A LayoutTests/editing/execCommand/delete-non-editable-range-crash.html
M Source/WebCore/editing/DeleteSelectionCommand.cpp
Log Message:
-----------
Cherry-pick 257203 at main (b83027e6d7d0). https://bugs.webkit.org/show_bug.cgi?id=248486
Potential crash fix by bailing from DeleteSelectionCommand::doApply when selection isn't editable
Potential crash fix by bailing from DeleteSelectionCommand::doApply when selection isn't editable
https://bugs.webkit.org/show_bug.cgi?id=248486
Reviewed by Ryosuke Niwa.
Merge - https://src.chromium.org/viewvc/blink?view=revision&revision=190121
This patch is to harden the function doApply() by bailing early by ensuring the selection to delete is not editable.
* Source/WebCore/editing/DeleteSelectionCommand.cpp:
(DeleteSelectionCommand::doApply): Add condition about selection being non-editable
* LayoutTests/editing/execCommand/delete-non-editable-range-crash.html: Add Test Case
* LayoutTests/editing/execCommand/delete-non-editable-range-crash-expected.txt: Add Test Case Expectations
Canonical link: https://commits.webkit.org/257203@main
Commit: eb8120219931034fe02ca7ca7a0066f8bb9072a9
https://github.com/WebKit/WebKit/commit/eb8120219931034fe02ca7ca7a0066f8bb9072a9
Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
A LayoutTests/fast/css/font-face-attribute-remove-expected.html
A LayoutTests/fast/css/font-face-attribute-remove.html
M Source/WebCore/html/HTMLFontElement.cpp
Log Message:
-----------
Cherry-pick 257248 at main (7f50b6d09b38). https://bugs.webkit.org/show_bug.cgi?id=248434
Potential Crash fix by not propagating empty value for face attribute
Potential Crash fix by not propagating empty value for face attribute
https://bugs.webkit.org/show_bug.cgi?id=248434
Reviewed by Tim Nguyen.
Merge - https://src.chromium.org/viewvc/blink?view=revision&revision=190788
This patch is to add check to ensure that "faceAttr" is not null / empty value and such values are not propagated to lead to stability issues (i.e., crashes).
* Source/WebCore/html/HTMLFontElement.cpp:
(HTMLFontElement::collectPresentationalHintsForAttribute): Add check for empty / null values
* LayoutTests/fast/css/font-face-attribute-remove.html: Add Test Case
* LayoutTests/fast/css/font-face-attribute-remove-expected.html: Add Test Case Expectation
Canonical link: https://commits.webkit.org/257248@main
Commit: 49575ce5da00b6d6ae022b395abcdc2ec0401cea
https://github.com/WebKit/WebKit/commit/49575ce5da00b6d6ae022b395abcdc2ec0401cea
Author: Karl Dubost <karlcow at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/css/FontFace.cpp
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h
Log Message:
-----------
Cherry-pick 257268 at main (632e811d0686). https://bugs.webkit.org/show_bug.cgi?id=248332
[QUIRK] Remove needsshouldStripQuotationMarkInFontFaceSetFamily
https://bugs.webkit.org/show_bug.cgi?id=248332
rdar://102656841
Reviewed by Ryosuke Niwa.
Google has probably changed the way they handled the font name when
they have spaces in their names.
The Quirk doesn't seem to be useful anymore. Tested on on Safari
Tech Preview 158 with Site Specific Hacks being disabled
This has been tested on a local build and the font is working.
* Source/WebCore/css/FontFace.cpp:
(WebCore::FontFace::setFamily):
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldStripQuotationMarkInFontFaceSetFamily const): Deleted.
* Source/WebCore/page/Quirks.h:
Canonical link: https://commits.webkit.org/257268@main
Commit: bb3c7d5fd30a790fd1220e44366ffb3c76ce7e47
https://github.com/WebKit/WebKit/commit/bb3c7d5fd30a790fd1220e44366ffb3c76ce7e47
Author: Karl Dubost <karlcow at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/css/fullscreen.css
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h
M Source/WebCore/rendering/RenderTheme.h
M Source/WebCore/style/UserAgentStyle.cpp
Log Message:
-----------
Cherry-pick 257271 at main (6525018e7c18). https://bugs.webkit.org/show_bug.cgi?id=248323
Remove needsBlackFullscreenBackgroundQuirk
https://bugs.webkit.org/show_bug.cgi?id=248323
rdar://102653160
Reviewed by Tim Nguyen.
This is removing the mlb.com quirk which was needed when
the background was white. Backdrop will take over.
A simple change to allow the fake backdrop to take effect.
SeeAlso https://github.com/WebKit/WebKit/pull/6021/files
This also aligns WebKit with Gecko for the fullscreen
background.
Further fixes will be made in
https://github.com/WebKit/WebKit/pull/6688
https://bugs.webkit.org/show_bug.cgi?id=248148
* LayoutTests/TestExpectations:
* LayoutTests/compositing/no-compositing-when-fulll-screen-is-present-expected.txt:
* LayoutTests/platform/gtk/compositing/no-compositing-when-fulll-screen-is-present-expected.txt:
* Source/WebCore/css/fullscreen.css:
(:-webkit-full-screen):
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::needsBlackFullscreenBackgroundQuirk const): Deleted.
* Source/WebCore/page/Quirks.h:
* Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::extraFullScreenStyleSheet): Deleted.
* Source/WebCore/style/UserAgentStyle.cpp:
(WebCore::Style::UserAgentStyle::ensureDefaultStyleSheetsForElement):
Canonical link: https://commits.webkit.org/257271@main
Commit: 906272f07a38f45089855d4421a041300b85c209
https://github.com/WebKit/WebKit/commit/906272f07a38f45089855d4421a041300b85c209
Author: Chirag M Shah <chirag_m_shah at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
A LayoutTests/fast/rendering/render-style-null-optgroup-crash-expected.txt
A LayoutTests/fast/rendering/render-style-null-optgroup-crash.html
M Source/WebCore/rendering/RenderListBox.cpp
Log Message:
-----------
Cherry-pick 257295 at main (324460324818). https://bugs.webkit.org/show_bug.cgi?id=248575
Don't crash when RenderStyle is NULL for elements like optgroup when
rendering
https://bugs.webkit.org/show_bug.cgi?id=248575
Reviewed by Simon Fraser.
* LayoutTests/fast/rendering/render-style-null-optgroup-crash-expected.txt: Added.
* LayoutTests/fast/rendering/render-style-null-optgroup-crash.html: Added.
* Source/WebCore/rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
(WebCore::RenderListBox::paintItemBackground):
Canonical link: https://commits.webkit.org/257295@main
Commit: ca42e91688db719381549f5cd401e98aeaecbc65
https://github.com/WebKit/WebKit/commit/ca42e91688db719381549f5cd401e98aeaecbc65
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/page/Quirks.cpp
Log Message:
-----------
Cherry-pick 257302 at main (1a3a9cb3d50d). https://bugs.webkit.org/show_bug.cgi?id=248629
Soundcloud.com Login Issue
https://bugs.webkit.org/show_bug.cgi?id=248629
Reviewed by Sihui Liu.
Add Soundcloud.com to the list of sites where we need to turn on the
showModalDialog quirk to avoid breaking login.
With the quirk, the showModalDialog property exists but its value is
undefined. Like for the other sites, this is sufficient to restore
functionality. Those sites seem to check that the property exists for
some reason.
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldExposeShowModalDialog const):
Canonical link: https://commits.webkit.org/257302@main
Commit: dc8698700914d0c69d39a6010a11d22a45030a49
https://github.com/WebKit/WebKit/commit/dc8698700914d0c69d39a6010a11d22a45030a49
Author: Matt Turner <mattst88 at gmail.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp
Log Message:
-----------
Cherry-pick 257364 at main (285ff73b5f6d). https://bugs.gentoo.org/882609
[GTK] Fix build failure in ClipboardGtk4.cpp
https://bugs.gentoo.org/882609
Reviewed by Michael Catanzaro
* Source/WebKit/UIProcess/gtk/ClipboardGtk4.cpp:
Canonical link: https://commits.webkit.org/257364@main
Commit: eb583c060bf47dc00632f148037741f8fc28bf42
https://github.com/WebKit/WebKit/commit/eb583c060bf47dc00632f148037741f8fc28bf42
Author: Geoffrey Garen <ggaren at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
Log Message:
-----------
Cherry-pick 257384 at main (dcbdfca03eb0). https://bugs.webkit.org/show_bug.cgi?id=248782
Remove an ASSERT from WebFullScreenManager::willExitFullScreen()
https://bugs.webkit.org/show_bug.cgi?id=248782
rdar://102997345
Reviewed by Aditya Keerthi.
This ASSERT fires when running media/video-fullscreen-reload-crash.html.
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::willExitFullScreen):
Canonical link: https://commits.webkit.org/257384@main
Commit: 9c333ed13152454fe230895939a07ac1aa2b3ca0
https://github.com/WebKit/WebKit/commit/9c333ed13152454fe230895939a07ac1aa2b3ca0
Author: Philippe Normand <philn at igalia.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp
M Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h
M Source/WebCore/platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp
M Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h
Log Message:
-----------
Cherry-pick 257408 at main (3a57c6e319c3). https://bugs.webkit.org/show_bug.cgi?id=248741
[GStreamer][MSE] Misc capabilities and EOS handling improvements
https://bugs.webkit.org/show_bug.cgi?id=248741
Reviewed by Alicia Boya Garcia.
When the MediaSource is marked as ended, set the player network state to `loaded`, aligning with the
spec and AVF backend. The `addSourceBuffer` method now returns `NotSupported` in case the
AppendPipeline is not able to handle the given contentType.
* Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::setNetworkState):
* Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
* Source/WebCore/platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp:
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
(WebCore::MediaSourcePrivateGStreamer::markEndOfStream):
* Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::isContentTypeSupported):
* Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
Canonical link: https://commits.webkit.org/257408@main
Commit: 41fa3ea1dbe2475f4bcef7b2286f51b0f3b81d15
https://github.com/WebKit/WebKit/commit/41fa3ea1dbe2475f4bcef7b2286f51b0f3b81d15
Author: Geoffrey Garen <ggaren at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
Log Message:
-----------
Cherry-pick 257433 at main (0dc90f513149). https://bugs.webkit.org/show_bug.cgi?id=248829
Remove more ASSERTs from WebFullScreenManager::willExitFullScreen()
https://bugs.webkit.org/show_bug.cgi?id=248829
<rdar://problem/103033664>
Reviewed by Ryan Haddad.
Remove all m_element ASSERTs in the exit path. Some are still firing
when running media/video-fullscreen-reload-crash.html.
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::didExitFullScreen):
(WebKit::WebFullScreenManager::requestExitFullScreen):
Canonical link: https://commits.webkit.org/257433@main
Commit: 7b29c4cbf4e7d4964309800a8bae349d95d9e57e
https://github.com/WebKit/WebKit/commit/7b29c4cbf4e7d4964309800a8bae349d95d9e57e
Author: Karl Dubost <karlcow at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M LayoutTests/media/media-usage-state-expected.txt
M LayoutTests/media/media-usage-state.html
M Source/WebCore/PAL/pal/cocoa/UsageTrackingSoftLink.h
M Source/WebCore/PAL/pal/cocoa/UsageTrackingSoftLink.mm
M Source/WebCore/html/MediaElementSession.cpp
M Source/WebCore/page/Quirks.cpp
M Source/WebCore/page/Quirks.h
M Source/WebCore/platform/graphics/MediaUsageInfo.h
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M Source/WebKit/UIProcess/Media/cocoa/MediaUsageManagerCocoa.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm
Log Message:
-----------
Cherry-pick 257451 at main (a1197f89b028). https://bugs.webkit.org/show_bug.cgi?id=248199
Remove Quirk for shouldAutoplayForArbitraryUserGesture
https://bugs.webkit.org/show_bug.cgi?id=248199
<rdar://102743471>
Reviewed by Eric Carlson.
The quirk is not needed anymore. Probably the way the way
twitter and facebook embed videos has changed. This has been tested
on Safari 15.5 and Safari Technical Preview 158, with Site Specific
Hacks disabled.
* LayoutTests/media/media-usage-state-expected.txt:
* LayoutTests/media/media-usage-state.html:
* Source/WebCore/html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackStateChangePermitted const):
(WebCore::MediaElementSession::updateMediaUsageIfChanged):
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldAutoplayForArbitraryUserGesture const): Deleted.
* Source/WebCore/page/Quirks.h:
* Source/WebCore/PAL/pal/cocoa/UsageTrackingSoftLink.h:
* Source/WebCore/PAL/pal/cocoa/UsageTrackingSoftLink.mm:
* Source/WebCore/platform/graphics/MediaUsageInfo.h:
(WebCore::MediaUsageInfo::operator== const):
(WebCore::MediaUsageInfo::encode const):
(WebCore::MediaUsageInfo::decode):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::mediaUsageState const):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebKit/UIProcess/Media/cocoa/MediaUsageManagerCocoa.mm:
(WebKit::usageTrackingAvailable):
(WebKit::MediaUsageManagerCocoa::updateMediaUsage):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
Canonical link: https://commits.webkit.org/257451@main
Commit: f465cb1696a89380d28e3d94ff4dc65c5c5b13eb
https://github.com/WebKit/WebKit/commit/f465cb1696a89380d28e3d94ff4dc65c5c5b13eb
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
A LayoutTests/scrollingcoordinator/scrolling-tree/sticky-gain-composited-scrolling-ancestor-expected.txt
A LayoutTests/scrollingcoordinator/scrolling-tree/sticky-gain-composited-scrolling-ancestor.html
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
Log Message:
-----------
Cherry-pick 257455 at main (df0e5116081b). https://bugs.webkit.org/show_bug.cgi?id=248827
REGRESSION (253865 at main): Crashes under RenderLayerCompositor::updateScrollingNodeForViewportConstrainedRole
https://bugs.webkit.org/show_bug.cgi?id=248827
rdar://102619100
Reviewed by Alan Baradlay.
In 253865 at main I introduced `m_viewportAnchorLayer`, which is used by the scrolling tree
to move fixed and sticky position layers. However, this revealed bugs in the compositing
dirty state management in the RenderLayer tree, where some types of tree mutations would
fail to trigger the "configuration" compositing update on a composited layer which is
responsible for the addition/removal of the `m_viewportAnchorLayer`.
From the collection of crash reports, I diagnosed two scenarios:
On google.com, when selecting results in the map view (rdar://102713246), a fixed layer
gained/lost a transformed ancestor. Transforms act as containing block for fixed, so
this changes whether the fixed layer is viewport-constrained. Fixed by having
`RenderLayer::setBehavesAsFixed()` call `setNeedsCompositingConfigurationUpdate()` on
fixed layers. Normally repaints trigger `setNeedsCompositingConfigurationUpdate()`; I
was not able to creation a reduction for this (the google page has nested fixed and
`visibility:hidden`, which may contribute).
The second scenario involved a sticky position layer which gains/loses an
async-scrollable ancestor. Fixed by having
`RenderLayerScrollableArea::computeHasCompositedScrollableOverflow()` call
`setDescendantsNeedUpdateBackingAndHierarchyTraversal()` on the stacking context
ancestor. Tested by sticky-gain-composited-scrolling-ancestor.html.
Also defensively early return in `computeFixedViewportConstraints()` and
`computeStickyViewportConstraints()` if the anchor layer is null.
* LayoutTests/scrollingcoordinator/scrolling-tree/sticky-gain-composited-scrolling-ancestor-expected.txt: Added.
* LayoutTests/scrollingcoordinator/scrolling-tree/sticky-gain-composited-scrolling-ancestor.html: Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::recursiveUpdateLayerPositions):
(WebCore::RenderLayer::setBehavesAsFixed):
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints const):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints const):
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::computeHasCompositedScrollableOverflow):
Canonical link: https://commits.webkit.org/257455@main
Commit: 03089020169f34bb0a145560dccfa2a2acd8cebb
https://github.com/WebKit/WebKit/commit/03089020169f34bb0a145560dccfa2a2acd8cebb
Author: Ahmad Saleem <ahmad.saleem792+github at gmail.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
A LayoutTests/editing/execCommand/crash-object-cloning-expected.txt
A LayoutTests/editing/execCommand/crash-object-cloning.html
M Source/WebCore/editing/CompositeEditCommand.cpp
Log Message:
-----------
Cherry-pick 257465 at main (ef64a1c22827). https://bugs.webkit.org/show_bug.cgi?id=202906
ASSERT in appendNode() should not fire when OBJECTS are cloned
ASSERT in appendNode() should not fire when OBJECTS are cloned
https://bugs.webkit.org/show_bug.cgi?id=202906
Reviewed by Ryosuke Niwa.
Merge - https://src.chromium.org/viewvc/blink?view=revision&revision=187132
The ASSERT may be triggered in CompositeEditCommand::appendNode
when the fallback content of an OBJECT element is cloned because
the canHaveChildrenForEditing is not reliable for OBJECTs until
their render object is created. This issue is fixed by ignoring
the return value of canHaveChildrenForEditing when an OBJECT is
created.
* Source/WebCore/editing/CompositeEditCommand.cpp:
(CompositeEditCommand::insertNodeAt): Update Assertion and add comment to explain about assertion
* LayoutTests/editing/execCommand/crash-object-cloning.html: Add Test Case
* LayoutTests/editing/execCommand/crash-object-cloning-expected.txt: Add Test Case Expectation
Canonical link: https://commits.webkit.org/257465@main
Commit: bb02c5c926cde071577c948254cdb39306d4154f
https://github.com/WebKit/WebKit/commit/bb02c5c926cde071577c948254cdb39306d4154f
Author: Žan Doberšek <zdobersek at igalia.com>
Date: 2023-01-25 (Wed, 25 Jan 2023)
Changed paths:
M Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp
Log Message:
-----------
Cherry-pick 257547 at main (65e9b93a95fd). https://bugs.webkit.org/show_bug.cgi?id=248935
[WPE] Unreviewed unified-builds build fix
https://bugs.webkit.org/show_bug.cgi?id=248935
Unreviewed, adding a missing header to the WebInspectorUI implementation file
to avoid incomplete-class build errors when the unified builds system shuffles
that file into a different set.
* Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:
Canonical link: https://commits.webkit.org/257547@main
Compare: https://github.com/WebKit/WebKit/compare/63253483cd07...bb02c5c926cd
More information about the webkit-changes
mailing list