Branch: refs/heads/webkitglib/2.40
Home: https://github.com/WebKit/WebKit
Commit: e692cba8c592936c45b81251e6ebfc094f9812a1
https://github.com/WebKit/WebKit/commit/e692cba8c592936c45b81251e6ebfc094f9812a1
Author: Don Olmstead <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M Source/WebCore/contentextensions/DFANode.h
Log Message:
-----------
Cherry-pick 263276@main (1e12a811a71b).
https://bugs.webkit.org/show_bug.cgi?id=255818
Fix compilation of DFANode
https://bugs.webkit.org/show_bug.cgi?id=255818
Reviewed by Yusuke Suzuki.
Declare `IsKilled` statically to prevent a compilation error.
* Source/WebCore/contentextensions/DFANode.h:
Canonical link: https://commits.webkit.org/263276@main
Commit: 0f326ee760e0f5f877323b480478cfc384ac2e44
https://github.com/WebKit/WebKit/commit/0f326ee760e0f5f877323b480478cfc384ac2e44
Author: Chirag M Shah <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
A LayoutTests/fast/editing/replace-selection-command-crash-expected.txt
A LayoutTests/fast/editing/replace-selection-command-crash.html
M Source/WebCore/editing/ReplaceSelectionCommand.cpp
Log Message:
-----------
Cherry-pick 263051@main (62a3751abfbc).
https://bugs.webkit.org/show_bug.cgi?id=255510
Fix SEGV in
ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=255510
rdar://107979390
Reviewed by Ryosuke Niwa.
This change fixes a crash which is caused because we end up in state
where m_lastNodeInserted is NULL after a call to
ReplaceSelectionCommand::InsertedNodes::willRemoveNode, which means that
when makeInsertedContentRoundTrippableWithHTMLTreeBuilder calls
pastLastLeaf() we trip over an assertion.
* LayoutTests/fast/editing/replace-selection-command-crash-expected.txt:
Added.
* LayoutTests/fast/editing/replace-selection-command-crash.html: Added.
* Source/WebCore/editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode):
Canonical link: https://commits.webkit.org/263051@main
Commit: 3c5c6c17bf29a4585edfd136d96a06d2806a3fc8
https://github.com/WebKit/WebKit/commit/3c5c6c17bf29a4585edfd136d96a06d2806a3fc8
Author: Sam James <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M Source/JavaScriptCore/CMakeLists.txt
Log Message:
-----------
Cherry-pick 262719@main (546b7119c8b7).
https://bugs.webkit.org/show_bug.cgi?id=254965
postprocess-asm rule doesn't respect RUBY_EXECUTABLE
https://bugs.webkit.org/show_bug.cgi?id=254965
Reviewed by Yusuke Suzuki.
postprocess-asm is a Ruby script with #/!/usr/bin/env ruby as its shebang
which
looks up Ruby in PATH. webkit, however, has RUBY_EXECUTABLE as a CMake
option.
It's possible for the Ruby used by CMake (and the other rules during the
build)
to be different to the first Ruby found in PATH. This makes the usage for
postprocess-asm
consistent with other uses in webkit.
* Source/JavaScriptCore/CMakeLists.txt
Canonical link: https://commits.webkit.org/262719@main
Commit: 2b76d741ada361462da3892da4822c2709084171
https://github.com/WebKit/WebKit/commit/2b76d741ada361462da3892da4822c2709084171
Author: Sammy Gill <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
A
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none-expected.html
A
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none.html
M Source/WebCore/rendering/RenderBox.cpp
Log Message:
-----------
Cherry-pick 262342@main (d4ec309d5e67).
https://bugs.webkit.org/show_bug.cgi?id=254603
REGRESSION (259663@main): lowes.com: Product image is blank
https://bugs.webkit.org/show_bug.cgi?id=254603
rdar://106926883
Reviewed by Alan Baradlay.
The product image on Lowes had a structure that is very similar
to the following that results in the product image not rendering
correctly (having a width and height of 0). I made some slight
modifications to make it easier to digest, but the following is
indicative of the issue that is causing the image to show up as blank.
body {
height: 50px;
}
img {
position: relative;
max-width: 100%;
max-height: 100%;
}
.outer-flexbox {
display: flex;
width: 100%;
height: 100%;
}
.outer-flexbox-item {
position: relative;
min-width: 100%;
}
.inner-flexbox {
position: absolute;
display: flex;
inset: 0px;
}
</style>
<div class="outer-flexbox">
<div class="outer-flexbox-item">
<div class="inner-flexbox">
<div>
<img src="/css/support/60x60-green.png">
</div>
</div>
</div>
</div>
The problem arises when we layout the outer-flexbox and eventually
recurse into the image to compute its preferred width. During this
process, we attempt to compute the max-height by resolving the percentage
value, but we end up
incorrectly computing a max-height of 0. This max-height computation is
done when we reach RenderBox::computeLogicalHeightUsing and end up
calling RenderBox::computeReplacedLogicalHeightUsing with a heightType
of MaxSize. computeReplacedLogicalHeightUsing will calculate this height
differently depending on the LengthType of the passed in height and in the
case of this scenario we fall into the LengthType::Percent case for
max-height. Since this code is unable to resolve this height (due to the
fact its containing block depends on the size of its content), it
returns a value of 0. This 0 value ends up affecting not only the size
of the image in both the width and height dimensions, but also affects
the flex item of the inner flexbox and the size of the inner flexbox as
part of a flex item for the outer flexbox.
The solution here is to modify computeLogicalHeightUsing to check if
the min/max height would compute to 0/none depending on the heightType.
Ideally, the caller should not have to do this (like how it is done in
RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight), and
this would be done handled in computeReplacedLogicalHeightUsing, but
a couple of call sites make this type of change tricky. It is
particularly when computeReplacedLogicalHeightUsing with a heightType of
MainOrPreferredSize since these call sites expect the function to return
a definite value, so it is not clear what would be the correct logic if
it instead returned an empty optional.
To accomplish this, we can use the existing helper function
replacedMinMaxLogicalHeightComputesAsNone, which returns true in this
example to indicate that the used value of max-height should be treated
as none. This was actually already being used in the other call site:
computeReplacedLogicalHeightRespectingMinMaxHeight. To make it more
difficult to call this function when
replacedMinMaxLogicalHeightComputesAsNone
returns false, I added an assert to trigger in that problematic scenario.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none-expected.html:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none.html:
Added.
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalHeightUsing const):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing const):
Canonical link: https://commits.webkit.org/262342@main
Commit: 2c468b5a74480f42700264a00772d8f852104db4
https://github.com/WebKit/WebKit/commit/2c468b5a74480f42700264a00772d8f852104db4
Author: JC Alvarado <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M Source/WebCore/dom/ComposedTreeAncestorIterator.h
Log Message:
-----------
Cherry-pick 262298@main (15d4f3483d44).
https://bugs.webkit.org/show_bug.cgi?id=254274
Use Ref for m_node in ComposedTreeAncestorIterator
https://bugs.webkit.org/show_bug.cgi?id=254274
rdar://107061402
Reviewed by Chris Dumez.
* Source/WebCore/dom/ComposedTreeAncestorIterator.h:
(WebCore::ComposedTreeAncestorAdapter::ComposedTreeAncestorAdapter):
(WebCore::ComposedTreeAncestorAdapter::begin):
Canonical link: https://commits.webkit.org/262298@main
Commit: fd339b4f30b5ed7a8c9fb3c6325c0016574b2e6f
https://github.com/WebKit/WebKit/commit/fd339b4f30b5ed7a8c9fb3c6325c0016574b2e6f
Author: Alicia Boya Garcia <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M Source/WTF/wtf/FileSystem.cpp
M Source/WTF/wtf/FileSystem.h
M Source/WTF/wtf/glib/FileSystemGlib.cpp
M Source/WTF/wtf/posix/FileSystemPOSIX.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp
M Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp
Log Message:
-----------
Cherry-pick 263367@main (78d2561b2bf7).
https://bugs.webkit.org/show_bug.cgi?id=254813
[WTF][GLib] Rework FileSystem::openFile()
https://bugs.webkit.org/show_bug.cgi?id=254813
Reviewed by Michael Catanzaro and Adrian Perez de Castro.
Fixes REGRESSION(259689@main). The previous implementation failed when
asked to create a file in ReadWrite mode.
This patch also increases the test coverage for FileSystem::openFile().
Previously, few argument combinations where tested, which caused the
regression to go unnoticed.
Read requests no longer create a read-write stream.
To accomodate that, PlatformFileHandle in GLib is now the generic
GSeekable* rather than GFileIOStream* (which implies a read-write file
handle).
This patch also introduces WTF::FileSystem::posixFileDescriptor() for
non-Windows platforms, which allows decoupling of the GIO API in a few
places in WebKit.
* Source/WTF/wtf/FileSystem.cpp:
(WTF::FileSystemImpl::MappedFileData::mapFileHandle):
* Source/WTF/wtf/FileSystem.h:
* Source/WTF/wtf/glib/FileSystemGlib.cpp:
(WTF::FileSystemImpl::genericGIOFileClose):
(WTF::FileSystemImpl::genericGIOFileQueryInfo):
(WTF::FileSystemImpl::genericGIOGetInputStream):
(WTF::FileSystemImpl::genericGIOGetOutputStream):
(WTF::FileSystemImpl::genericGIOGetFileDescriptorBased):
(WTF::FileSystemImpl::posixFileDescriptor):
(WTF::FileSystemImpl::fileSize):
(WTF::FileSystemImpl::fileID):
(WTF::FileSystemImpl::openTemporaryFile):
(WTF::FileSystemImpl::openFile):
(WTF::FileSystemImpl::closeFile):
(WTF::FileSystemImpl::seekFile):
(WTF::FileSystemImpl::truncateFile):
(WTF::FileSystemImpl::flushFile):
(WTF::FileSystemImpl::writeToFile):
(WTF::FileSystemImpl::readFromFile):
(WTF::FileSystemImpl::lockFile):
(WTF::FileSystemImpl::unlockFile):
* Source/WTF/wtf/posix/FileSystemPOSIX.cpp:
(WTF::FileSystemImpl::posixFileDescriptor):
* Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp:
(WebKit::NetworkCache::Data::tryCreateSharedMemory const):
* Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
Canonical link: https://commits.webkit.org/263367@main
Commit: ef62197ab1bbf37ea95cab55d5464dbdba943890
https://github.com/WebKit/WebKit/commit/ef62197ab1bbf37ea95cab55d5464dbdba943890
Author: Adrian Perez de Castro <[email protected]>
Date: 2023-04-25 (Tue, 25 Apr 2023)
Changed paths:
M Source/WebCore/platform/graphics/nicosia/NicosiaPaintingEngine.cpp
M Tools/Scripts/webkitpy/port/gtk.py
M Tools/Scripts/webkitpy/port/wpe.py
Log Message:
-----------
Cherry-pick 263365@main (88ee43d6411f).
https://bugs.webkit.org/show_bug.cgi?id=253953
[WPE] Enable threaded rendering by default using one paint thread
https://bugs.webkit.org/show_bug.cgi?id=253953
Reviewed by Carlos Garcia Campos.
Enable threaded rendering, following suit after GTK4 which enabled it
in 260059@main after some back and forth which involved landing fixes
to propertly synchronize access to global resources.
* Source/WebCore/platform/graphics/nicosia/NicosiaPaintingEngine.cpp:
(Nicosia::PaintingEngine::create): Use one paint thread also for WPE by
default and remove the developer mode guard, which was already being
ignored for GTK4.
* Tools/Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Disable threaded rendering when
running layout tests.
* Tools/Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server): Ditto.
Canonical link: https://commits.webkit.org/263365@main
Compare: https://github.com/WebKit/WebKit/compare/e535e62130c2...ef62197ab1bb
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes