[webkit-changes] [WebKit/WebKit] 229945: Cherry-pick 283996 at main (9e7f7fec1b29). https://bu...
Razvan Caliman - Apple
noreply at github.com
Wed Sep 25 04:37:58 PDT 2024
Branch: refs/heads/webkitglib/2.46
Home: https://github.com/WebKit/WebKit
Commit: 2299457d0a029dc05f052e0482648e0293bc2ec5
https://github.com/WebKit/WebKit/commit/2299457d0a029dc05f052e0482648e0293bc2ec5
Author: Vitaly Dyachkov <vitaly at igalia.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebCore/dom/ViewTransition.cpp
Log Message:
-----------
Cherry-pick 283996 at main (9e7f7fec1b29). https://bugs.webkit.org/show_bug.cgi?id=279589
[Debug] ASSERTION FAILED: !isSuspended() on `fast/css/view-transitions-zoom.html`
https://bugs.webkit.org/show_bug.cgi?id=279589
Reviewed by Tim Nguyen.
Make sure that the script execution context is not stopped before
evaluating the status of the promise when it's settled.
* Source/WebCore/dom/ViewTransition.cpp:
(WebCore::ViewTransition::skipViewTransition):
Canonical link: https://commits.webkit.org/283996@main
Canonical link: https://commits.webkit.org/282416.155@webkitglib/2.46
Commit: 1f1b0adac8ffec8fab9c8833812aaa8d5e65b264
https://github.com/WebKit/WebKit/commit/1f1b0adac8ffec8fab9c8833812aaa8d5e65b264
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
A LayoutTests/compositing/visibility/omitted-nested-hidden-layers-crash-expected.txt
A LayoutTests/compositing/visibility/omitted-nested-hidden-layers-crash.html
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
Log Message:
-----------
Cherry-pick 282879 at main (fcd3d0ef9ce6). https://bugs.webkit.org/show_bug.cgi?id=278556
REGRESSION: WebContent process terminates due to invalid RemoteLayerTreeDrawingAreaProxy_CommitLayerTree message.
https://bugs.webkit.org/show_bug.cgi?id=278556
<rdar://134572916>
Reviewed by Simon Fraser.
281636 at main fixed the case where omitting a visibility:hidden layer from the RenderLayer z-order lists caused
a crash, because the compositor wasn't informed of the removal.
This is a second variant of the same issue, where the omitting happens by not
recursing into a hidden subtree instead of omitting a leaf.
The fix is to stop doing that type of omission, since it's hard to reason about.
It's possible that this is slightly slower in some cases (though only back to
how the code ran before the original optimization, not a true regression). The
real performance win comes from hiding these layers from the compositor, so it
shouldn't be noticeable.
The fix also clarifies some of the code around notifying the compositor, so that
it works in the same way as collectLayers. This prevents a visible decendant of
a non-stacking hidden layer from being removed from the compositor, only to be
added again by collectLayers.
* LayoutTests/compositing/visibility/omitted-nested-hidden-layers-crash-expected.txt: Added.
* LayoutTests/compositing/visibility/omitted-nested-hidden-layers-crash.html: Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::removeSelfFromCompositor):
(WebCore::RenderLayer::removeDescendantsFromCompositor):
(WebCore::RenderLayer::setWasOmittedFromZOrderTree):
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::removeSelfAndDescendantsFromCompositor): Deleted.
* Source/WebCore/rendering/RenderLayer.h:
Canonical link: https://commits.webkit.org/282879@main
Canonical link: https://commits.webkit.org/282416.156@webkitglib/2.46
Commit: 0d58338d8467d08fe4af19427f0d3b2e62e58171
https://github.com/WebKit/WebKit/commit/0d58338d8467d08fe4af19427f0d3b2e62e58171
Author: Alexey Shvayka <ashvayka at apple.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
A JSTests/stress/regress-279863.js
M Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
Log Message:
-----------
Cherry-pick 283922 at main (c4e162760b3e). https://bugs.webkit.org/show_bug.cgi?id=279863
ASSERTION FAILED: !reg.isConstant() caused by destructuring assignment
https://bugs.webkit.org/show_bug.cgi?id=279863
<rdar://136233004>
Reviewed by Yusuke Suzuki and Mark Lam.
RETURN macro of CommonSlowPaths.cpp accesses destination register via GET macro,
which asserts it to be non-constant. This change fixes the failing isConstant()
assertion for OpToPropertyKeyOrNumber emitted in ObjectPatternNode::bindValue()
by using temporary register if rest element is absent, while carefully preserving
existing logic in case of m_containsRestElement.
* JSTests/stress/regress-279863.js: Added.
* Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:
(JSC::ObjectPatternNode::bindValue const):
Canonical link: https://commits.webkit.org/283922@main
Canonical link: https://commits.webkit.org/282416.157@webkitglib/2.46
Commit: 405a9f5045161038e36db36eea6b97d79dfc596c
https://github.com/WebKit/WebKit/commit/405a9f5045161038e36db36eea6b97d79dfc596c
Author: Carlos Bentzen <cadubentzen at igalia.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
Log Message:
-----------
Cherry-pick 283495 at main (0b20935dbde7). https://bugs.webkit.org/show_bug.cgi?id=279507
[GStreamer][WebRTC] Crash when rtpbin is missing
https://bugs.webkit.org/show_bug.cgi?id=279507
Reviewed by Philippe Normand.
Add early return and error log when rtpbin is not found in webrtcbin.
* Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
(WebCore::GStreamerMediaEndpoint::initializePipeline):
Canonical link: https://commits.webkit.org/283495@main
Canonical link: https://commits.webkit.org/282416.158@webkitglib/2.46
Commit: f5c8449d059f1dd8b3b3773b8a5251f0520bf98f
https://github.com/WebKit/WebKit/commit/f5c8449d059f1dd8b3b3773b8a5251f0520bf98f
Author: Philippe Normand <philn at igalia.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Log Message:
-----------
Cherry-pick 283476 at main (19abc8c887de). https://bugs.webkit.org/show_bug.cgi?id=279499
[GStreamer] Fix potential clash between std::span and WTF's span
https://bugs.webkit.org/show_bug.cgi?id=279499
Reviewed by Xabier Rodriguez-Calvar.
Using "using" declarations of any kind to import names in the standard template library
is not allowed by our code style guidelines.
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
Canonical link: https://commits.webkit.org/283476@main
Canonical link: https://commits.webkit.org/282416.159@webkitglib/2.46
Commit: 4dabf1e3171a40fdf0462e937b7c232defb9305b
https://github.com/WebKit/WebKit/commit/4dabf1e3171a40fdf0462e937b7c232defb9305b
Author: Chris Dumez <cdumez at apple.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebKit/NetworkProcess/webrtc/NetworkRTCMonitor.cpp
Log Message:
-----------
Cherry-pick 283477 at main (82eeb087cdbf). https://bugs.webkit.org/show_bug.cgi?id=279487
Crash in NetworkManager::onGatheredNetworks() under std::sort
https://bugs.webkit.org/show_bug.cgi?id=279487
rdar://133707018
Reviewed by Youenn Fablet and Darin Adler.
The `compare` function passed to std::sort() needs to satisfy the strict weak ordering
rule:
- https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings
```
Input: Test: Result
a is equivalent to b: a < b false
a is equivalent to b b < a false
a is less than b a < b true
a is less than b b < a false
b is less than a a < b false
b is less than a b < a true
```
If the function doesn't satisfy this rule, the behavior is undefined and he can lead
to crashes.
The function we are passing to std::sort() is `sortNetworks()`. The first issue is that
it returns an `int` instead of a `bool`, which means that std::sort() will implicitly
convert the return value to a bool internally.
Then the implementation would rely on codePointCompare() internally which would return:
-1 if a < b, 0 if a == b, and 1 if a > b.
For both `a < b` and `b < a`, the result value (-1 and 1) would get implicitly converted
to `true` and thus the sortNetworks() did NOT obey the strict weak ordering rule.
* Source/WebKit/NetworkProcess/webrtc/NetworkRTCMonitor.cpp:
(WebKit::sortNetworks):
Canonical link: https://commits.webkit.org/283477@main
Canonical link: https://commits.webkit.org/282416.160@webkitglib/2.46
Commit: 64a064b9ece8b7152f043cdc821c39f2e2cb6e05
https://github.com/WebKit/WebKit/commit/64a064b9ece8b7152f043cdc821c39f2e2cb6e05
Author: Razvan Caliman <rcaliman at apple.com>
Date: 2024-09-25 (Wed, 25 Sep 2024)
Changed paths:
M Source/WebInspectorUI/UserInterface/Views/ConsoleDrawer.js
M Source/WebInspectorUI/UserInterface/Views/Main.css
M Source/WebInspectorUI/UserInterface/Views/QuickConsole.css
M Source/WebInspectorUI/UserInterface/Views/QuickConsole.js
M Source/WebInspectorUI/UserInterface/Views/Variables.css
Log Message:
-----------
Cherry-pick 283412 at main (0da0eedeaa3f). https://bugs.webkit.org/show_bug.cgi?id=276530
Web Inspector: Multiline REPL editor is broken
https://bugs.webkit.org/show_bug.cgi?id=276530
rdar://131756916
Reviewed by BJ Burg and Devin Rousso.
The content area of the console prompt is controlled by CodeMirror
which sets the dimensions of a multi-line input as you type.
It lives in a second level flex container and is intended to be capped at 33vh.
At the first level flex container, the space available to be distributed to flex items
is influenced by the size of the Console Drawer and the min-width of #tab-browser.
Due to alignment within the flex layout and insufficient space,
the multi-line console prompt nested within the second level flex container
was allowed to grow within the second-level container without causing overflow.
This masks some keyboard input and focus.
This patch ensures the maximum height of the Console Drawer takes into account the
space used by the console prompt. It also moves the 33vh max-height limit
to the first level flex container to enforce the limit and ensure a scroll container
as soon as its contents overflow.
* Source/WebInspectorUI/UserInterface/Views/ConsoleDrawer.js:
(WI.ConsoleDrawer.prototype._updateDrawerHeight):
* Source/WebInspectorUI/UserInterface/Views/Main.css:
(#content):
* Source/WebInspectorUI/UserInterface/Views/QuickConsole.css:
(.quick-console):
(.quick-console > .console-prompt):
Canonical link: https://commits.webkit.org/283412@main
Canonical link: https://commits.webkit.org/282416.161@webkitglib/2.46
Compare: https://github.com/WebKit/WebKit/compare/7c24b6e0b6e6...64a064b9ece8
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list