[webkit-changes] [276562] trunk

2021-04-24 Thread timothy_horton
Title: [276562] trunk








Revision 276562
Author timothy_hor...@apple.com
Date 2021-04-24 19:12:07 -0700 (Sat, 24 Apr 2021)


Log Message
Changing the source of a model element with clipping applied does not update the model
https://bugs.webkit.org/show_bug.cgi?id=224917

Reviewed by Simon Fraser.

Source/WebCore:

Tests: model-element/model-element-contents-layer-updates-with-clipping.html
   model-element/model-element-contents-layer-updates.html

Previously, a  with a contents clipping layer (e.g. border-radius)
would not reparent its contents layer in the right place when setContentsToModel
was called again (because the source changed), leaving the old model
contents layer in place.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateSublayerList):
Ensure that updateSublayerList always parents contentsLayer in one of its two homes:
under contentsClippingLayer, if it exists; otherwise, directly under the primary layer.

(WebCore::GraphicsLayerCA::setContentsToModel):
Drive-by fix a bug revealed by the tests for this patch: when swapping out the
contents layer in setContentsToModel, we also need to mark ContentsRectsChanged,
or the new contents layer will not get its bounds set during the subsequent flush.

(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
Remove special-case code that was added to fix this bug just for setContentsToPlatformLayer;
this case is now correctly handled for all contents layers by updateSublayerList.

(WebCore::GraphicsLayerCA::dumpInnerLayer const):
* platform/graphics/GraphicsLayerClient.h:
* platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::dumpAdditionalProperties):
* platform/graphics/ca/PlatformCALayer.h:
* testing/Internals.cpp:
(WebCore::toPlatformLayerTreeFlags):
* testing/Internals.h:
* testing/Internals.idl:
Add a bit to platformLayerTreeAsText() that makes PlatformCALayerRemoteModelHosting
dump the size of the model that it is hosting, which is used in the test for this bug.

Remove the IncludeOpacity bit since we can just always log opacity if it's not the default.

Source/WebKit:

* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h:
* WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm:
(WebKit::PlatformCALayerRemoteModelHosting::dumpAdditionalProperties):
Add a bit to platformLayerTreeAsText() that makes PlatformCALayerRemoteModelHosting
dump the size of the model that it is hosting, which is used in the test for this bug.

LayoutTests:

* model-element/model-element-contents-layer-updates-expected.txt: Added.
* model-element/model-element-contents-layer-updates-with-clipping-expected.txt: Added.
* model-element/model-element-contents-layer-updates-with-clipping.html: Added.
* model-element/model-element-contents-layer-updates.html: Added.
* model-element/resources/cube.usdz: Added.
* platform/ios-wk2/TestExpectations:
* platform/mac/TestExpectations:
Add tests that ensure that adding a  with one source, then changing
it to another, correctly updates the content layer. Test this both
with and without clipping (the without-clipping case passed before this change,
with-clipping failed).

These tests only work on Cocoa ports with UI-side compositing enabled
because they depend on the PlatformCALayer subclass holding on to the model
data (and logging its size) in order to distinguish between the two models.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/model-element/model-element-graphics-layers-opacity.html
trunk/LayoutTests/platform/ios-wk2/TestExpectations
trunk/LayoutTests/platform/mac/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GraphicsLayerClient.h
trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.cpp
trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.h
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.h
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteModelHosting.mm


Added Paths

trunk/LayoutTests/model-element/model-element-contents-layer-updates-expected.txt
trunk/LayoutTests/model-element/model-element-contents-layer-updates-with-clipping-expected.txt
trunk/LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html
trunk/LayoutTests/model-element/model-element-contents-layer-updates.html
trunk/LayoutTests/model-element/resources/cube.usdz




Diff

Modified: trunk/LayoutTests/ChangeLog (276561 => 276562)

--- trunk/LayoutTests/ChangeLog	2021-04-25 00:50:32 UTC (rev 276561)
+++ trunk/LayoutTests/ChangeLog	2021-04-25 02:12:07 UTC (rev 276562)
@@ -1,3 +1,26 @@
+2021-04-24  Tim Horton  
+
+Changing the source of a model element with clipping applied does not update the model

[webkit-changes] [276561] trunk/Tools

2021-04-24 Thread aakash_jain
Title: [276561] trunk/Tools








Revision 276561
Author aakash_j...@apple.com
Date 2021-04-24 17:50:32 -0700 (Sat, 24 Apr 2021)


Log Message
Rename slave to worker in webkitpy - part 2
https://bugs.webkit.org/show_bug.cgi?id=224988

Reviewed by Jonathan Bedard.

* Scripts/webkitpy/common/system/crashlogs_unittest.py:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/common/system/crashlogs_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (276560 => 276561)

--- trunk/Tools/ChangeLog	2021-04-25 00:47:41 UTC (rev 276560)
+++ trunk/Tools/ChangeLog	2021-04-25 00:50:32 UTC (rev 276561)
@@ -1,3 +1,12 @@
+2021-04-24  Aakash Jain  
+
+Rename slave to worker in webkitpy - part 2
+https://bugs.webkit.org/show_bug.cgi?id=224988
+
+Reviewed by Jonathan Bedard.
+
+* Scripts/webkitpy/common/system/crashlogs_unittest.py:
+
 2021-04-24  Ryosuke Niwa  
 
 Add an option to not enable all experimental features in WebKitTestRunner


Modified: trunk/Tools/Scripts/webkitpy/common/system/crashlogs_unittest.py (276560 => 276561)

--- trunk/Tools/Scripts/webkitpy/common/system/crashlogs_unittest.py	2021-04-25 00:47:41 UTC (rev 276560)
+++ trunk/Tools/Scripts/webkitpy/common/system/crashlogs_unittest.py	2021-04-25 00:50:32 UTC (rev 276561)
@@ -57,7 +57,7 @@
 Crashed Thread:  0
 
 Dyld Error Message:
-  Library not loaded: /Volumes/Data/WebKit-BuildSlave/snowleopard-intel-release/build/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore
+  Library not loaded: /Volumes/Data/WebKit-Worker/snowleopard-intel-release/build/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore
   Referenced from: /Volumes/Data/worker/snowleopard-intel-release/build/WebKitBuild/Release/WebKit.framework/Versions/A/WebKit
   Reason: image not found
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [276560] tags/Safari-611.2.5/

2021-04-24 Thread repstein
Title: [276560] tags/Safari-611.2.5/








Revision 276560
Author repst...@apple.com
Date 2021-04-24 17:47:41 -0700 (Sat, 24 Apr 2021)


Log Message
Tag Safari-611.2.5.

Added Paths

tags/Safari-611.2.5/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [276559] trunk/Tools

2021-04-24 Thread rniwa
Title: [276559] trunk/Tools








Revision 276559
Author rn...@webkit.org
Date 2021-04-24 17:39:43 -0700 (Sat, 24 Apr 2021)


Log Message
Add an option to not enable all experimental features in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=224958

Reviewed by Tim Horton.

Added --no-enable-all-experimental-features to run-webkit-tests and WebKitTestRunner.

It causes a crash in DumpRenderTree for now. We should rectify this in the future
when we align the behaviors of WebKitTestRunner and DumpRenderTree.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Added --no-enable-all-experimental-features.
* Scripts/webkitpy/port/driver.py:
(Driver.cmd_line): Pass along the option to WebKitTestRunner.
* WebKitTestRunner/Options.cpp:
(WTR::handleOptionNoEnableAllExperimentalFeatures): Added.
(WTR::OptionsHandler::OptionsHandler): Added --no-enable-all-experimental-features.
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestController.h:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
trunk/Tools/Scripts/webkitpy/port/driver.py
trunk/Tools/Scripts/webkitpy/port/driver_unittest.py
trunk/Tools/WebKitTestRunner/Options.cpp
trunk/Tools/WebKitTestRunner/Options.h
trunk/Tools/WebKitTestRunner/TestController.cpp
trunk/Tools/WebKitTestRunner/TestController.h




Diff

Modified: trunk/Tools/ChangeLog (276558 => 276559)

--- trunk/Tools/ChangeLog	2021-04-24 22:31:57 UTC (rev 276558)
+++ trunk/Tools/ChangeLog	2021-04-25 00:39:43 UTC (rev 276559)
@@ -1,3 +1,28 @@
+2021-04-24  Ryosuke Niwa  
+
+Add an option to not enable all experimental features in WebKitTestRunner
+https://bugs.webkit.org/show_bug.cgi?id=224958
+
+Reviewed by Tim Horton.
+
+Added --no-enable-all-experimental-features to run-webkit-tests and WebKitTestRunner.
+
+It causes a crash in DumpRenderTree for now. We should rectify this in the future
+when we align the behaviors of WebKitTestRunner and DumpRenderTree.
+
+* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+(parse_args): Added --no-enable-all-experimental-features.
+* Scripts/webkitpy/port/driver.py:
+(Driver.cmd_line): Pass along the option to WebKitTestRunner.
+* WebKitTestRunner/Options.cpp:
+(WTR::handleOptionNoEnableAllExperimentalFeatures): Added.
+(WTR::OptionsHandler::OptionsHandler): Added --no-enable-all-experimental-features.
+* WebKitTestRunner/Options.h:
+* WebKitTestRunner/TestController.cpp:
+(WTR::TestController::initialize):
+(WTR::TestController::resetPreferencesToConsistentValues):
+* WebKitTestRunner/TestController.h:
+
 2021-04-24  Tyler Wilcock  
 
 Refactor ValueRange from enum to enum class


Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py (276558 => 276559)

--- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py	2021-04-24 22:31:57 UTC (rev 276558)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py	2021-04-25 00:39:43 UTC (rev 276559)
@@ -126,6 +126,8 @@
 help="Enable (disable) an internal feature (--internal-feature FeatureName[=true|false])"),
 optparse.make_option("--experimental-feature", type="string", action="" default=[],
 help="Enable (disable) an experimental feature (--experimental-feature FeatureName[=true|false])"),
+optparse.make_option("--no-enable-all-experimental-features", action="" default=True, dest="enable_all_experimental_features",
+help="Enables all experimental features in WebKitTestRunner"),
 ]))
 
 option_group_definitions.append(("WebKit Options", [


Modified: trunk/Tools/Scripts/webkitpy/port/driver.py (276558 => 276559)

--- trunk/Tools/Scripts/webkitpy/port/driver.py	2021-04-24 22:31:57 UTC (rev 276558)
+++ trunk/Tools/Scripts/webkitpy/port/driver.py	2021-04-25 00:39:43 UTC (rev 276559)
@@ -534,6 +534,9 @@
 cmd.append('--internal-feature')
 cmd.append(feature)
 
+if not self._port.get_option('enable_all_experimental_features'):
+cmd.append('--no-enable-all-experimental-features')
+
 for feature in self._port.experimental_feature():
 cmd.append('--experimental-feature')
 cmd.append(feature)


Modified: trunk/Tools/Scripts/webkitpy/port/driver_unittest.py (276558 => 276559)

--- trunk/Tools/Scripts/webkitpy/port/driver_unittest.py	2021-04-24 22:31:57 UTC (rev 276558)
+++ trunk/Tools/Scripts/webkitpy/port/driver_unittest.py	2021-04-25 00:39:43 UTC (rev 276559)
@@ -27,6 +27,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 import unittest
+import optparse
 
 from webkitpy.common.system.systemhost_mock import MockSystemHost
 
@@ -205,7 +206,7 @@
 

[webkit-changes] [276558] trunk

2021-04-24 Thread commit-queue
Title: [276558] trunk








Revision 276558
Author commit-qu...@webkit.org
Date 2021-04-24 15:31:57 -0700 (Sat, 24 Apr 2021)


Log Message
Crash in BreakBlockquoteCommand::doApply()
https://bugs.webkit.org/show_bug.cgi?id=224941

Patch by Julian Gonzalez  on 2021-04-24
Reviewed by Ryosuke Niwa.

Source/WebCore:

Despite assertions to the contrary, it is possible for there not to be any node
to move into the new blockquote in BreakBlockquoteCommand::doApply() as a result
of layout updates, so remove the assertions and handle this case.

Test: editing/pasteboard/paste-as-quotation-then-paste-crash.html

* editing/BreakBlockquoteCommand.cpp:
(WebCore::BreakBlockquoteCommand::doApply):

LayoutTests:

Add test for this crash, running only on Release for now.
Thanks to Tuomas Karkkainen for its basic structure.

* TestExpectations:
* editing/pasteboard/paste-as-quotation-then-paste-crash-expected.txt: Added.
* editing/pasteboard/paste-as-quotation-then-paste-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/BreakBlockquoteCommand.cpp


Added Paths

trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash-expected.txt
trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (276557 => 276558)

--- trunk/LayoutTests/ChangeLog	2021-04-24 21:29:21 UTC (rev 276557)
+++ trunk/LayoutTests/ChangeLog	2021-04-24 22:31:57 UTC (rev 276558)
@@ -1,3 +1,17 @@
+2021-04-24  Julian Gonzalez  
+
+Crash in BreakBlockquoteCommand::doApply()
+https://bugs.webkit.org/show_bug.cgi?id=224941
+
+Reviewed by Ryosuke Niwa.
+
+Add test for this crash, running only on Release for now.
+Thanks to Tuomas Karkkainen for its basic structure.
+
+* TestExpectations:
+* editing/pasteboard/paste-as-quotation-then-paste-crash-expected.txt: Added.
+* editing/pasteboard/paste-as-quotation-then-paste-crash.html: Added.
+
 2021-04-24  Zalan Bujtas  
 
 [RenderTreeBuilder] Subtree moving should clear the floats on all the descendants


Modified: trunk/LayoutTests/TestExpectations (276557 => 276558)

--- trunk/LayoutTests/TestExpectations	2021-04-24 21:29:21 UTC (rev 276557)
+++ trunk/LayoutTests/TestExpectations	2021-04-24 22:31:57 UTC (rev 276558)
@@ -1745,6 +1745,8 @@
 webkit.org/b/139634 [ Debug ] fast/selectors/nth-child-of-register-requirement.html [ Slow ]
 webkit.org/b/139634 [ Debug ] fast/selectors/not-backtracking.html [ Slow ]
 
+webkit.org/b/224941 [ Debug ] editing/pasteboard/paste-as-quotation-then-paste-crash.html [ WontFix ]
+
 webkit.org/b/61932 [ Debug ] jquery/manipulation.html [ Slow ]
 [ Debug ] jquery/core.html [ Slow ]
 [ Debug ] jquery/event.html [ Slow ]


Added: trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash-expected.txt (0 => 276558)

--- trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash-expected.txt	2021-04-24 22:31:57 UTC (rev 276558)
@@ -0,0 +1 @@
+This test passes if WebKit does not crash. PASS


Added: trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash.html (0 => 276558)

--- trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash.html	(rev 0)
+++ trunk/LayoutTests/editing/pasteboard/paste-as-quotation-then-paste-crash.html	2021-04-24 22:31:57 UTC (rev 276558)
@@ -0,0 +1,31 @@
+
+
+
+
+:last-child {
+all: initial;
+}
+
+
+if (window.testRunner)
+testRunner.dumpAsText();
+
+_onload_ = () => {
+let n0 = document.createElement('div');
+document.documentElement.appendChild(n0);
+n0.appendChild(document.createElement('input'));
+let n1 = document.createElement('input');
+document.documentElement.appendChild(n1);
+getSelection().selectAllChildren(n0);
+document.execCommand('Copy');
+document.designMode = 'on';
+document.execCommand('PasteAsQuotation');
+getSelection().extend(n1);
+document.execCommand('Paste');
+};
+
+
+
+This test passes if WebKit does not crash. PASS
+
+
\ No newline at end of file


Modified: trunk/Source/WebCore/ChangeLog (276557 => 276558)

--- trunk/Source/WebCore/ChangeLog	2021-04-24 21:29:21 UTC (rev 276557)
+++ trunk/Source/WebCore/ChangeLog	2021-04-24 22:31:57 UTC (rev 276558)
@@ -1,3 +1,19 @@
+2021-04-24  Julian Gonzalez  
+
+Crash in BreakBlockquoteCommand::doApply()
+https://bugs.webkit.org/show_bug.cgi?id=224941
+
+Reviewed by Ryosuke Niwa.
+
+Despite assertions to the contrary, it is possible for there not to be any node
+to move into the new blockquote in BreakBlockquoteCommand::doApply() as a result
+of layout updates, so remove the assertions and handle this case.
+
+Test: 

[webkit-changes] [276557] branches/safari-611-branch/Source

2021-04-24 Thread repstein
Title: [276557] branches/safari-611-branch/Source








Revision 276557
Author repst...@apple.com
Date 2021-04-24 14:29:21 -0700 (Sat, 24 Apr 2021)


Log Message
Versioning.

WebKit-7611.2.5

Modified Paths

branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-611-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC (rev 276556)
+++ branches/safari-611-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-04-24 21:29:21 UTC (rev 276557)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 2;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC (rev 276556)
+++ branches/safari-611-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-04-24 21:29:21 UTC (rev 276557)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 2;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC (rev 276556)
+++ branches/safari-611-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-04-24 21:29:21 UTC (rev 276557)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 2;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC (rev 276556)
+++ branches/safari-611-branch/Source/WebCore/Configurations/Version.xcconfig	2021-04-24 21:29:21 UTC (rev 276557)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 2;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC (rev 276556)
+++ branches/safari-611-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-04-24 21:29:21 UTC (rev 276557)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 2;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC (rev 276556)
+++ branches/safari-611-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-04-24 21:29:21 UTC (rev 276557)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 611;
 MINOR_VERSION = 2;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC (rev 276556)
+++ branches/safari-611-branch/Source/WebKit/Configurations/Version.xcconfig	2021-04-24 21:29:21 UTC (rev 276557)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 611;
 MINOR_VERSION = 2;
-TINY_VERSION = 4;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-611-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (276556 => 276557)

--- branches/safari-611-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2021-04-24 21:21:24 UTC 

[webkit-changes] [276556] branches/safari-611-branch/Source/WebKit

2021-04-24 Thread repstein
Title: [276556] branches/safari-611-branch/Source/WebKit








Revision 276556
Author repst...@apple.com
Date 2021-04-24 14:21:24 -0700 (Sat, 24 Apr 2021)


Log Message
Reland r275846 with Unreviewed crash fix. rdar://77106929

Corrects crash due to bad merge.

Modified Paths

branches/safari-611-branch/Source/WebKit/ChangeLog
branches/safari-611-branch/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp
branches/safari-611-branch/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.h
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkProcess.cpp
branches/safari-611-branch/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp




Diff

Modified: branches/safari-611-branch/Source/WebKit/ChangeLog (276555 => 276556)

--- branches/safari-611-branch/Source/WebKit/ChangeLog	2021-04-24 21:14:23 UTC (rev 276555)
+++ branches/safari-611-branch/Source/WebKit/ChangeLog	2021-04-24 21:21:24 UTC (rev 276556)
@@ -497,6 +497,110 @@
 
 2021-04-15  Russell Epstein  
 
+Cherry-pick r275846. rdar://problem/76727548
+
+Create WebIDBServer only when it is needed
+https://bugs.webkit.org/show_bug.cgi?id=224305
+rdar://71962196
+
+Reviewed by Alex Christensen.
+
+Currently each WebIDBServer has a separate thread, so we don't want to create or keep WebIDBServer if it's not
+in use. There are two cases where network process needs a WebIDBServer:
+1. handle requests from UI process to collect or remove data
+2. handle requests from Web process to perform IDB operations
+
+Previously, we created a WebIDBServer when network process connects to a web process, but that does not mean web
+process will perform IDB operations and we may create a thread that's not used. To avoid this, add a new message
+AddIDBConnection for web process to ensure network process has WebIDBServer when it's about to perform operation.
+
+Also, previously network process removes a WebIDBServer when session is removed and WebIDBServer is not binded
+with any web process connection. Now we remove WebIDBServer when it's done handling requests, that is count of
+pending requests from UI process is 0 and WebIDBServer is not binded with web process connection. We also remove
+WebIDBServer at when network process is about to be destroyed (NetworkProcess::didClose) so we can break the
+reference cycle of NetworkProcess-WebIDBServer-IDBServer, and make sure thread exits.
+
+* NetworkProcess/IndexedDB/WebIDBServer.cpp:
+(WebKit::WebIDBServer::create):
+(WebKit::WebIDBServer::WebIDBServer):
+(WebKit::m_closeCallback):
+(WebKit::WebIDBServer::~WebIDBServer):
+(WebKit::WebIDBServer::getOrigins):
+(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
+(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
+(WebKit::WebIDBServer::renameOrigin):
+(WebKit::WebIDBServer::removeConnection):
+(WebKit::WebIDBServer::close):
+(WebKit::WebIDBServer::tryClose):
+* NetworkProcess/IndexedDB/WebIDBServer.h:
+* NetworkProcess/NetworkConnectionToWebProcess.cpp:
+(WebKit::NetworkConnectionToWebProcess::addIDBConnection):
+* NetworkProcess/NetworkConnectionToWebProcess.h:
+* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+* NetworkProcess/NetworkProcess.cpp:
+(WebKit::NetworkProcess::didClose):
+(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
+(WebKit::NetworkProcess::destroySession):
+(WebKit::NetworkProcess::createWebIDBServer):
+(WebKit::NetworkProcess::connectionToWebProcessClosed):
+(WebKit::NetworkProcess::removeWebIDBServerIfPossible): Deleted. Move the removal code to WebIDBServer.
+* WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
+(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-04-12  Sihui Liu  
+
+Create WebIDBServer only when it is needed
+https://bugs.webkit.org/show_bug.cgi?id=224305
+rdar://71962196
+
+Reviewed by Alex Christensen.
+
+Currently each WebIDBServer has a separate thread, so we don't want to create or keep WebIDBServer if it's not
+in use. There are two cases where network process needs a WebIDBServer:
+1. handle requests from UI process to collect or remove data
+2. handle requests from Web process to perform IDB operations
+
+Previously, we created a WebIDBServer when network process connects to a web process, but that does not mean web
+process will 

[webkit-changes] [276555] branches/safari-611-branch/Source/WebKit

2021-04-24 Thread repstein
Title: [276555] branches/safari-611-branch/Source/WebKit








Revision 276555
Author repst...@apple.com
Date 2021-04-24 14:14:23 -0700 (Sat, 24 Apr 2021)


Log Message
Revert "Re-land Cherry-pick r275846. rdar://problem/76727548"

This reverts commit r276398.

Modified Paths

branches/safari-611-branch/Source/WebKit/ChangeLog
branches/safari-611-branch/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp
branches/safari-611-branch/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.h
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
branches/safari-611-branch/Source/WebKit/NetworkProcess/NetworkProcess.cpp
branches/safari-611-branch/Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp




Diff

Modified: branches/safari-611-branch/Source/WebKit/ChangeLog (276554 => 276555)

--- branches/safari-611-branch/Source/WebKit/ChangeLog	2021-04-24 19:36:27 UTC (rev 276554)
+++ branches/safari-611-branch/Source/WebKit/ChangeLog	2021-04-24 21:14:23 UTC (rev 276555)
@@ -497,110 +497,6 @@
 
 2021-04-15  Russell Epstein  
 
-Cherry-pick r275846. rdar://problem/76727548
-
-Create WebIDBServer only when it is needed
-https://bugs.webkit.org/show_bug.cgi?id=224305
-rdar://71962196
-
-Reviewed by Alex Christensen.
-
-Currently each WebIDBServer has a separate thread, so we don't want to create or keep WebIDBServer if it's not
-in use. There are two cases where network process needs a WebIDBServer:
-1. handle requests from UI process to collect or remove data
-2. handle requests from Web process to perform IDB operations
-
-Previously, we created a WebIDBServer when network process connects to a web process, but that does not mean web
-process will perform IDB operations and we may create a thread that's not used. To avoid this, add a new message
-AddIDBConnection for web process to ensure network process has WebIDBServer when it's about to perform operation.
-
-Also, previously network process removes a WebIDBServer when session is removed and WebIDBServer is not binded
-with any web process connection. Now we remove WebIDBServer when it's done handling requests, that is count of
-pending requests from UI process is 0 and WebIDBServer is not binded with web process connection. We also remove
-WebIDBServer at when network process is about to be destroyed (NetworkProcess::didClose) so we can break the
-reference cycle of NetworkProcess-WebIDBServer-IDBServer, and make sure thread exits.
-
-* NetworkProcess/IndexedDB/WebIDBServer.cpp:
-(WebKit::WebIDBServer::create):
-(WebKit::WebIDBServer::WebIDBServer):
-(WebKit::m_closeCallback):
-(WebKit::WebIDBServer::~WebIDBServer):
-(WebKit::WebIDBServer::getOrigins):
-(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
-(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
-(WebKit::WebIDBServer::renameOrigin):
-(WebKit::WebIDBServer::removeConnection):
-(WebKit::WebIDBServer::close):
-(WebKit::WebIDBServer::tryClose):
-* NetworkProcess/IndexedDB/WebIDBServer.h:
-* NetworkProcess/NetworkConnectionToWebProcess.cpp:
-(WebKit::NetworkConnectionToWebProcess::addIDBConnection):
-* NetworkProcess/NetworkConnectionToWebProcess.h:
-* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
-* NetworkProcess/NetworkProcess.cpp:
-(WebKit::NetworkProcess::didClose):
-(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
-(WebKit::NetworkProcess::destroySession):
-(WebKit::NetworkProcess::createWebIDBServer):
-(WebKit::NetworkProcess::connectionToWebProcessClosed):
-(WebKit::NetworkProcess::removeWebIDBServerIfPossible): Deleted. Move the removal code to WebIDBServer.
-* WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
-(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
-
-git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-2021-04-12  Sihui Liu  
-
-Create WebIDBServer only when it is needed
-https://bugs.webkit.org/show_bug.cgi?id=224305
-rdar://71962196
-
-Reviewed by Alex Christensen.
-
-Currently each WebIDBServer has a separate thread, so we don't want to create or keep WebIDBServer if it's not
-in use. There are two cases where network process needs a WebIDBServer:
-1. handle requests from UI process to collect or remove data
-2. handle requests from Web process to perform IDB operations
-
-Previously, we created a WebIDBServer when network process connects to a web process, but that does not mean web
-process will 

[webkit-changes] [276554] trunk

2021-04-24 Thread graouts
Title: [276554] trunk








Revision 276554
Author grao...@webkit.org
Date 2021-04-24 12:36:27 -0700 (Sat, 24 Apr 2021)


Log Message
Improve parsing and computed style of the rotate CSS property
https://bugs.webkit.org/show_bug.cgi?id=225019

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark 2 WPT progressions and add some new parsing WPT tests for rotate.

* web-platform-tests/css/css-transforms/animation/rotate-composition-expected.txt: We don't support additive interpolation,
the FAIL result is most likely a test that passed without proper support for the feature which now fails due to lack of
support for this feature.
* web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid-expected.txt:
* web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html:
* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

There were a few issues with how we parsed the rotate CSS property and how we dealt with it
when resolving the computed style.

When parsing, we required individual vector coordinates to be 1 when others were 0 for a vector
to be considered parallel with the x, y or z axis. We now support any positive value. Then, as
we create the TransformOperation from the CSSValue, we must set the type to ROTATE_3D instead
of ROTATE_Z if the z axis was specified through the CSS value. Indeed, ROTATE_Z is equivalent
to ROTATE and without setting this type to ROTATE_3D, TransformOperation::is3DOperation() would
return false.

This is important because when figuring out the computed style, we should only return an angle
without a rotation vector if TransformOperation::is3DOperation() is false. For the case where
the operation was specified in 3D, we now use the same rule used when parsing to determine
whether the rotation vector is parallel with the x, y or z axis to use the matching keywords.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedRotate):
* css/TransformFunctions.cpp:
(WebCore::rotateForValue):
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeRotate):

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/rotate-composition-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
trunk/Source/WebCore/css/TransformFunctions.cpp
trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (276553 => 276554)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 19:35:08 UTC (rev 276553)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 19:36:27 UTC (rev 276554)
@@ -1,5 +1,23 @@
 2021-04-24  Antoine Quint  
 
+Improve parsing and computed style of the rotate CSS property
+https://bugs.webkit.org/show_bug.cgi?id=225019
+
+Reviewed by Dean Jackson.
+
+Mark 2 WPT progressions and add some new parsing WPT tests for rotate.
+
+* web-platform-tests/css/css-transforms/animation/rotate-composition-expected.txt: We don't support additive interpolation,
+the FAIL result is most likely a test that passed without proper support for the feature which now fails due to lack of
+support for this feature.
+* web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid-expected.txt:
+* web-platform-tests/css/css-transforms/parsing/rotate-parsing-valid.html:
+* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
+* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt:
+* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
+
+2021-04-24  Antoine Quint  
+
 Support interpolation of the background-repeat shorthand
 https://bugs.webkit.org/show_bug.cgi?id=225016
 


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/rotate-composition-expected.txt (276553 => 276554)

--- 

[webkit-changes] [276553] trunk

2021-04-24 Thread graouts
Title: [276553] trunk








Revision 276553
Author grao...@webkit.org
Date 2021-04-24 12:35:08 -0700 (Sat, 24 Apr 2021)


Log Message
Support interpolation of the background-repeat shorthand
https://bugs.webkit.org/show_bug.cgi?id=225016

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark 10 WPT progressions.

* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:

Source/WebCore:

* animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (276552 => 276553)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 19:33:21 UTC (rev 276552)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 19:35:08 UTC (rev 276553)
@@ -1,5 +1,18 @@
 2021-04-24  Antoine Quint  
 
+Support interpolation of the background-repeat shorthand
+https://bugs.webkit.org/show_bug.cgi?id=225016
+
+Reviewed by Dean Jackson.
+
+Mark 10 WPT progressions.
+
+* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
+* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
+* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
+
+2021-04-24  Antoine Quint  
+
 Fix interpolation of the clip CSS property
 https://bugs.webkit.org/show_bug.cgi?id=225017
 


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt (276552 => 276553)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt	2021-04-24 19:33:21 UTC (rev 276552)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt	2021-04-24 19:35:08 UTC (rev 276553)
@@ -28,6 +28,9 @@
 PASS background-origin (type: discrete) has testAccumulation function
 PASS background-origin: "content-box" onto "padding-box"
 PASS background-origin: "padding-box" onto "content-box"
+PASS background-repeat (type: discrete) has testAccumulation function
+PASS background-repeat: "round" onto "space"
+PASS background-repeat: "space" onto "round"
 PASS border-bottom-color (type: color) has testAccumulation function
 FAIL border-bottom-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
 FAIL border-bottom-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt (276552 => 276553)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt	2021-04-24 19:33:21 UTC (rev 276552)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt	2021-04-24 19:35:08 UTC (rev 276553)
@@ -28,6 +28,9 @@
 PASS background-origin (type: discrete) has testAddition function
 PASS background-origin: "content-box" onto "padding-box"
 PASS background-origin: "padding-box" onto "content-box"
+PASS background-repeat (type: discrete) has testAddition function
+PASS background-repeat: "round" onto "space"
+PASS background-repeat: "space" onto "round"
 PASS border-bottom-color (type: color) has testAddition function
 FAIL border-bottom-color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
 FAIL border-bottom-color supports animating as color of #RGB assert_equals: The value should be rgb(255, 128, 128) at 0ms 

[webkit-changes] [276551] trunk

2021-04-24 Thread graouts
Title: [276551] trunk








Revision 276551
Author grao...@webkit.org
Date 2021-04-24 12:32:35 -0700 (Sat, 24 Apr 2021)


Log Message
Computed style for the translate CSS property should use px for the z value
https://bugs.webkit.org/show_bug.cgi?id=225018

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark a single WPT progression.

* web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computedTranslate):

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (276550 => 276551)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 16:02:06 UTC (rev 276550)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 19:32:35 UTC (rev 276551)
@@ -1,3 +1,15 @@
+2021-04-24  Antoine Quint  
+
+Computed style for the translate CSS property should use px for the z value
+https://bugs.webkit.org/show_bug.cgi?id=225018
+
+Reviewed by Dean Jackson.
+
+Mark a single WPT progression.
+
+* web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt:
+* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt:
+
 2021-04-23  Cathie Chen  
 
 Not computing image aspect ratios from width and height attributes for lazy loaded images


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt (276550 => 276551)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt	2021-04-24 16:02:06 UTC (rev 276550)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transforms/animation/translate-composition-expected.txt	2021-04-24 19:32:35 UTC (rev 276551)
@@ -1,22 +1,22 @@
 
-FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (-1) should be [-100% calc(200px + 100%) 300px] assert_equals: expected "0px 200px 300 " but got "- 100px "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (0) should be [calc(50px + 0%) calc(200px + 50%) 300px] assert_equals: expected "50px 200px 300 " but got "- 50px "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (0.25) should be [calc(62.5px + 25%) calc(200px + 37.5%) 300px] assert_equals: expected "62.5px 200px 300 " but got "- 37.5px "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (0.75) should be [calc(87.5px + 75%) calc(200px + 12.5%) 300px] assert_equals: expected "87.5px 200px 300 " but got "- 12.5px "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (1) should be [calc(100px + 100%) calc(200px + 0%) 300px] assert_equals: expected "100px 200px 300 " but got "0px "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (2) should be [calc(150px + 200%) calc(200px - 50%) 300px] assert_equals: expected "150px 200px 300 " but got "50px "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [50% 100px] to replace [200px 50% 100px] at (-1) should be [100% calc(600px - 50%) 500px] assert_equals: expected "0px 600px 500 " but got "- 200px 200px - 100 "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [50% 100px] to replace [200px 50% 100px] at (0) should be [calc(100px + 50%) calc(300px + 0%) 300px] assert_equals: expected "100px 300px 300 " but got "0px 100px "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [50% 100px] to replace [200px 50% 100px] at (0.25) should be [calc(125px + 37.5%) calc(225px + 12.5%) 250px] assert_equals: expected "125px 225px 250 " but got "50px 75px 25 "
-FAIL Compositing: property  underlying [100px 200px 300px] from add [50% 100px] to replace [200px 50% 100px] at (0.75) should be [calc(175px + 12.5%) calc(75px + 37.5%) 150px] assert_equals: expected "175px 75px 150 " but got "150px 25px 75 "
+FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (-1) should be [-100% calc(200px + 100%) 300px] assert_equals: expected "0px 200px 300px " but got "- 100px "
+FAIL Compositing: property  underlying [100px 200px 300px] from add [-50px 50%] to add [100%] at (0) should be [calc(50px + 0%) calc(200px + 50%) 300px] 

[webkit-changes] [276552] trunk

2021-04-24 Thread graouts
Title: [276552] trunk








Revision 276552
Author grao...@webkit.org
Date 2021-04-24 12:33:21 -0700 (Sat, 24 Apr 2021)


Log Message
Fix interpolation of the clip CSS property
https://bugs.webkit.org/show_bug.cgi?id=225017

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark 13 WPT progressions.

* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:

Source/WebCore:

While we interpolated the clip value correctly, we wouldn't set the RenderStyle bit that
indicates that there is a non-auto value in the first place. With a new dedicated wrapper,
we can ensure we set the bit correctly as we blend, and that we use discrete interpolation
if both the from and to values aren't auto.

* animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (276551 => 276552)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 19:32:35 UTC (rev 276551)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-04-24 19:33:21 UTC (rev 276552)
@@ -1,5 +1,19 @@
 2021-04-24  Antoine Quint  
 
+Fix interpolation of the clip CSS property
+https://bugs.webkit.org/show_bug.cgi?id=225017
+
+Reviewed by Dean Jackson.
+
+Mark 13 WPT progressions.
+
+* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
+* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
+* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
+* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:
+
+2021-04-24  Antoine Quint  
+
 Computed style for the translate CSS property should use px for the z value
 https://bugs.webkit.org/show_bug.cgi?id=225018
 


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt (276551 => 276552)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt	2021-04-24 19:32:35 UTC (rev 276551)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt	2021-04-24 19:33:21 UTC (rev 276552)
@@ -114,9 +114,9 @@
 FAIL clip: rect assert_equals: The value should be rect(110px, 110px, 110px, 110px) at 0ms expected "rect(110px, 110px, 110px, 110px)" but got "rect(10px, 10px, 10px, 10px)"
 PASS clip (type: discrete) has testAccumulation function
 PASS clip: "auto" onto "rect(10px, 10px, 10px, 10px)"
-FAIL clip: "rect(10px, 10px, 10px, 10px)" onto "auto" assert_equals: The value should be rect(10px, 10px, 10px, 10px) at 0ms expected "rect(10px, 10px, 10px, 10px)" but got "auto"
-FAIL clip: "rect(10px, 10px, 10px, auto)" onto "rect(10px, 10px, 10px, 10px)" assert_equals: The value should be rect(10px, 10px, 10px, auto) at 0ms expected "rect(10px, 10px, 10px, auto)" but got "auto"
-FAIL clip: "rect(10px, 10px, 10px, 10px)" onto "rect(10px, 10px, 10px, auto)" assert_equals: The value should be rect(10px, 10px, 10px, 10px) at 0ms expected "rect(10px, 10px, 10px, 10px)" but got "auto"
+PASS clip: "rect(10px, 10px, 10px, 10px)" onto "auto"
+PASS clip: "rect(10px, 10px, 10px, auto)" onto "rect(10px, 10px, 10px, 10px)"
+PASS clip: "rect(10px, 10px, 10px, 10px)" onto "rect(10px, 10px, 10px, auto)"
 PASS color (type: color) has testAccumulation function
 FAIL color supports animating as color of rgb() with overflowed  from and to values assert_equals: The value should be rgb(255, 128, 128) at 0ms expected "rgb(255, 128, 128)" but got "rgb(255, 0, 0)"
 FAIL color 

[webkit-changes] [276550] trunk

2021-04-24 Thread commit-queue
Title: [276550] trunk








Revision 276550
Author commit-qu...@webkit.org
Date 2021-04-24 09:02:06 -0700 (Sat, 24 Apr 2021)


Log Message
Refactor ValueRange from enum to enum class
https://bugs.webkit.org/show_bug.cgi?id=224981

Patch by Tyler Wilcock  on 2021-04-24
Reviewed by Sam Weinig.

Source/WebCore:

Refactor ValueRange from:

enum ValueRange {
ValueRangeAll,
ValueRangeNonNegative
}

to:

enum ValueRange : uint8_t {
All,
NonNegative
}

making it smaller (one byte versus four) and harder to misuse (no
auto-coercion to number types).

* animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.

* css/CSSCalculationValue.cpp:
(WebCore::CSSCalcValue::create):
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.

* css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::createCalculationValue const):
(WebCore::CSSCalcValue::setPermittedValueRange):
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.

* css/MediaQueryExpression.cpp:
(WebCore::consumeFirstValue):
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.

* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeTransformOrigin):
(WebCore::consumeLetterSpacing):
(WebCore::consumeWordSpacing):
(WebCore::consumeTabSize):
(WebCore::consumeTextSizeAdjust):
(WebCore::consumeFontSize):
(WebCore::consumeLineHeight):
(WebCore::consumeSize):
(WebCore::consumeTextIndent):
(WebCore::consumeScrollPadding):
(WebCore::consumeMaxWidthOrHeight):
(WebCore::consumeWidthOrHeight):
(WebCore::consumeMarginOrOffset):
(WebCore::consumeClipComponent):
(WebCore::consumeLineClamp):
(WebCore::consumeHyphenateLimit):
(WebCore::consumeColumnWidth):
(WebCore::consumeGapLength):
(WebCore::consumeZoom):
(WebCore::consumeAnimationIterationCount):
(WebCore::consumeAnimationValue):
(WebCore::consumeLineWidth):
(WebCore::consumeTranslate3d):
(WebCore::consumeNumbers):
(WebCore::consumePerspective):
(WebCore::consumeTransformValue):
(WebCore::consumeTranslate):
(WebCore::consumeScale):
(WebCore::consumeRotate):
(WebCore::consumePositionLonghand):
(WebCore::consumeFlexBasis):
(WebCore::consumeKerning):
(WebCore::consumeStrokeDasharray):
(WebCore::consumeBaselineShift):
(WebCore::consumeRxOrRy):
(WebCore::consumeBorderRadiusCorner):
(WebCore::consumeTextUnderlineOffset):
(WebCore::consumeTextDecorationThickness):
(WebCore::consumeVerticalAlign):
(WebCore::consumeShapeRadius):
(WebCore::consumeBasicShapePolygon):
(WebCore::consumeRadii):
(WebCore::consumeBasicShapeInset):
(WebCore::consumeBorderImageSlice):
(WebCore::consumeBorderImageOutset):
(WebCore::consumeBorderImageWidth):
(WebCore::consumeReflect):
(WebCore::consumeBackgroundSize):
(WebCore::consumeFitContent):
(WebCore::consumeGridBreadth):
(WebCore::consumeInitialLetter):
(WebCore::consumeWebkitMarqueeIncrement):
(WebCore::consumeWebkitMarqueeRepetition):
(WebCore::consumeWebkitMarqueeSpeed):
(WebCore::consumeAspectRatio):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::consumeBorderSpacing):
(WebCore::CSSPropertyParser::consumeFlex):
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.

* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeNumberOrPercentDividedBy100Raw):
(WebCore::CSSPropertyParserHelpers::CalcParser::CalcParser):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeLengthRaw):
(WebCore::CSSPropertyParserHelpers::consumePercentRaw):
(WebCore::CSSPropertyParserHelpers::consumeAngleRaw):
(WebCore::CSSPropertyParserHelpers::consumeAngleWorkerSafe):
(WebCore::CSSPropertyParserHelpers::consumeTime):
(WebCore::CSSPropertyParserHelpers::consumePositionComponent):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientPoint):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradient):
(WebCore::CSSPropertyParserHelpers::consumeGradientColorStops):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeFilterFunction):
(WebCore::CSSPropertyParserHelpers::consumeSingleShadow):
(WebCore::CSSPropertyParserHelpers::consumeFontSizeRaw):
(WebCore::CSSPropertyParserHelpers::consumeLineHeightRaw):
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.

* css/parser/CSSPropertyParserHelpers.h:
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.

* css/parser/CSSPropertyParserWorkerSafe.cpp:
(WebCore::CSSPropertyParserHelpersWorkerSafe::consumeFontStretch):
(WebCore::CSSPropertyParserHelpersWorkerSafe::consumeFontStretchRange):
Refactor 

[webkit-changes] [276549] trunk

2021-04-24 Thread zalan
Title: [276549] trunk








Revision 276549
Author za...@apple.com
Date 2021-04-24 06:42:04 -0700 (Sat, 24 Apr 2021)


Log Message
[RenderTreeBuilder] Subtree moving should clear the floats on all the descendants
https://bugs.webkit.org/show_bug.cgi?id=224996


Reviewed by Antti Koivisto.

Source/WebCore:

While moving a subtree, we invalidate the floating object list so that we don't end up with incorrectly placed floats (they'll get regenerated during the subsequent layout).
A float can be "assigned" to more than one RenderBlockFlow (e.g intruding floats). It's very common that a set of descendant RenderBlockFlow
renderers "see" the same set of floats (each RenderBlockFlow has its own list of floating objects).
Now the invalidation is based on ancestor-to-descendant direction starting with finding the outer most containing block for a particular float (see outermostBlockContainingFloatingObject)
The invalidation logic also expects no gaps in the ancestor chain e.g.

   RenderBlockFlow (A) -> float X
 RenderBlockFlow (B) -> float X
   RenderBlockFlow (C) -> float X
   if float X is assigned to both A and C, then it must be assigned to B as well.

RenderBlockFlow::removeFloatingObjects() simply removes the float from the renderer. It does not invalidate the ancestor/descendant chain.
e.g. calling B.removeFloatingObjects() would just remove float X from RenderBlockFlow (B)

   RenderBlockFlow (A) -> float X
 RenderBlockFlow (B)
   RenderBlockFlow (C) -> float X

and any subsequent invalidation attempt would fail to clear up A or C (depending on whether it is initiated on A or C).

Test: fast/multicol/floating-boxes-moved-under-multi-column.html

* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::moveChildren):

LayoutTests:

* fast/multicol/floating-boxes-moved-under-multi-column-expected.txt: Added.
* fast/multicol/floating-boxes-moved-under-multi-column.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp


Added Paths

trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column-expected.txt
trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column.html




Diff

Modified: trunk/LayoutTests/ChangeLog (276548 => 276549)

--- trunk/LayoutTests/ChangeLog	2021-04-24 13:10:44 UTC (rev 276548)
+++ trunk/LayoutTests/ChangeLog	2021-04-24 13:42:04 UTC (rev 276549)
@@ -1,3 +1,14 @@
+2021-04-24  Zalan Bujtas  
+
+[RenderTreeBuilder] Subtree moving should clear the floats on all the descendants
+https://bugs.webkit.org/show_bug.cgi?id=224996
+
+
+Reviewed by Antti Koivisto.
+
+* fast/multicol/floating-boxes-moved-under-multi-column-expected.txt: Added.
+* fast/multicol/floating-boxes-moved-under-multi-column.html: Added.
+
 2021-04-24  Rob Buis  
 
 Move selectedOptions cache invalidation timing


Added: trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column-expected.txt (0 => 276549)

--- trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column-expected.txt	2021-04-24 13:42:04 UTC (rev 276549)
@@ -0,0 +1 @@
+


Added: trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column.html (0 => 276549)

--- trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column.html	(rev 0)
+++ trunk/LayoutTests/fast/multicol/floating-boxes-moved-under-multi-column.html	2021-04-24 13:42:04 UTC (rev 276549)
@@ -0,0 +1,29 @@
+
+
+  :focus-within {
+column-width: 1px;
+width: 0;
+  }
+  :nth-last-child(3) {
+margin-block-end: 1px;
+float: right;
+  }
+  :nth-last-child(3)::first-letter {
+background: grey;
+  }
+
+
+  if (window.testRunner)
+testRunner.dumpAsText();
+  
+  _onload_ = () => {
+document.body.appendChild(document.createElement('span'));
+document.body.appendChild(document.createElement('div'));
+document.body.appendChild(document.createElement('span'));
+document.designMode = 'on';
+document.execCommand('SelectAll');
+document.body.appendChild(document.createElement('div'));
+  };
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (276548 => 276549)

--- trunk/Source/WebCore/ChangeLog	2021-04-24 13:10:44 UTC (rev 276548)
+++ trunk/Source/WebCore/ChangeLog	2021-04-24 13:42:04 UTC (rev 276549)
@@ -1,5 +1,38 @@
 2021-04-24  Zalan Bujtas  
 
+[RenderTreeBuilder] Subtree moving should clear the floats on all the descendants
+https://bugs.webkit.org/show_bug.cgi?id=224996
+
+
+Reviewed by Antti Koivisto.
+
+While moving a subtree, we invalidate the floating object list so that we don't end up with incorrectly placed floats (they'll get regenerated during the subsequent layout).
+A float can be "assigned" to more than one 

[webkit-changes] [276548] trunk/Source/WebCore

2021-04-24 Thread zalan
Title: [276548] trunk/Source/WebCore








Revision 276548
Author za...@apple.com
Date 2021-04-24 06:10:44 -0700 (Sat, 24 Apr 2021)


Log Message
[LFC] Ignore content height and width when 'contain: size' is present
https://bugs.webkit.org/show_bug.cgi?id=225013

Reviewed by Antti Koivisto.

Enable size containment for "shrink to fit width" and for "height: auto" formatting context roots.
https://www.w3.org/TR/css-contain-2/#size-containment.

* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/FormattingContextGeometry.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (276547 => 276548)

--- trunk/Source/WebCore/ChangeLog	2021-04-24 07:41:54 UTC (rev 276547)
+++ trunk/Source/WebCore/ChangeLog	2021-04-24 13:10:44 UTC (rev 276548)
@@ -1,3 +1,17 @@
+2021-04-24  Zalan Bujtas  
+
+[LFC] Ignore content height and width when 'contain: size' is present
+https://bugs.webkit.org/show_bug.cgi?id=225013
+
+Reviewed by Antti Koivisto.
+
+Enable size containment for "shrink to fit width" and for "height: auto" formatting context roots.
+https://www.w3.org/TR/css-contain-2/#size-containment.
+
+* layout/FormattingContextGeometry.cpp:
+(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
+(WebCore::Layout::FormattingContext::Geometry::shrinkToFitWidth):
+
 2021-04-24  Rob Buis  
 
 Move selectedOptions cache invalidation timing


Modified: trunk/Source/WebCore/layout/FormattingContextGeometry.cpp (276547 => 276548)

--- trunk/Source/WebCore/layout/FormattingContextGeometry.cpp	2021-04-24 07:41:54 UTC (rev 276547)
+++ trunk/Source/WebCore/layout/FormattingContextGeometry.cpp	2021-04-24 13:10:44 UTC (rev 276548)
@@ -175,9 +175,13 @@
 {
 ASSERT(formattingContextRoot.establishesFormattingContext());
 ASSERT(isHeightAuto(formattingContextRoot) || formattingContextRoot.establishesTableFormattingContext() || formattingContextRoot.isTableCell());
-if (!formattingContextRoot.hasInFlowOrFloatingChild())
-return { };
-return LayoutContext::createFormattingContext(formattingContextRoot, const_cast(layoutState()))->usedContentHeight();
+auto usedContentHeight = LayoutUnit { }; 
+auto hasContent = formattingContextRoot.hasInFlowOrFloatingChild();
+// The used height of the containment box is determined as if performing a normal layout of the box, except that it is treated as having no content.
+auto shouldIgnoreContent = formattingContextRoot.isSizeContainmentBox();
+if (hasContent && !shouldIgnoreContent)
+usedContentHeight = LayoutContext::createFormattingContext(formattingContextRoot, const_cast(layoutState()))->usedContentHeight();
+return usedContentHeight;
 }
 
 Optional FormattingContext::Geometry::computedValue(const Length& geometryProperty, LayoutUnit containingBlockWidth) const
@@ -278,10 +282,10 @@
 return left - horizontalConstraints.logicalLeft;
 }
 
-LayoutUnit FormattingContext::Geometry::shrinkToFitWidth(const Box& formattingRoot, LayoutUnit availableWidth)
+LayoutUnit FormattingContext::Geometry::shrinkToFitWidth(const Box& formattingContextRoot, LayoutUnit availableWidth)
 {
-LOG_WITH_STREAM(FormattingContextLayout, stream << "[Width] -> shrink to fit -> unsupported -> width(" << LayoutUnit { } << "px) layoutBox: " <<  << ")");
-ASSERT(formattingRoot.establishesFormattingContext());
+LOG_WITH_STREAM(FormattingContextLayout, stream << "[Width] -> shrink to fit -> unsupported -> width(" << LayoutUnit { } << "px) layoutBox: " <<  << ")");
+ASSERT(formattingContextRoot.establishesFormattingContext());
 
 // Calculation of the shrink-to-fit width is similar to calculating the width of a table cell using the automatic table layout algorithm.
 // Roughly: calculate the preferred width by formatting the content without breaking lines other than where explicit line breaks occur,
@@ -291,8 +295,11 @@
 
 // Then the shrink-to-fit width is: min(max(preferred minimum width, available width), preferred width).
 auto intrinsicWidthConstraints = IntrinsicWidthConstraints { };
-if (is(formattingRoot) && downcast(formattingRoot).hasInFlowOrFloatingChild()) {
-auto& root = downcast(formattingRoot);
+auto hasContent = is(formattingContextRoot) && downcast(formattingContextRoot).hasInFlowOrFloatingChild();
+// The used width of the containment box is determined as if performing a normal layout of the box, except that it is treated as having no content.
+auto shouldIgnoreContent = formattingContextRoot.isSizeContainmentBox();  
+if (hasContent && !shouldIgnoreContent) {
+auto& root = downcast(formattingContextRoot);
 auto& formattingStateForRoot = 

[webkit-changes] [276547] trunk

2021-04-24 Thread commit-queue
Title: [276547] trunk








Revision 276547
Author commit-qu...@webkit.org
Date 2021-04-24 00:41:54 -0700 (Sat, 24 Apr 2021)


Log Message
Move selectedOptions cache invalidation timing
https://bugs.webkit.org/show_bug.cgi?id=224894

Patch by Rob Buis  on 2021-04-24
Reviewed by Ryosuke Niwa.

Source/WebCore:

Move selectedOptions cache invalidation timing out
of setSelectedState, having it in setSelectedState
can cause selectedOptions cache invalidation while
determining the cache.

Test: fast/dom/HTMLSelectElement/selected-options-item-crash.html

* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setSelectedState):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::reset):
(WebCore::HTMLSelectElement::updateSelectedState):

LayoutTests:

Add test for this.

* fast/dom/HTMLSelectElement/selected-options-item-crash-expected.txt: Added.
* fast/dom/HTMLSelectElement/selected-options-item-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/HTMLOptionElement.cpp
trunk/Source/WebCore/html/HTMLSelectElement.cpp


Added Paths

trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash-expected.txt
trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (276546 => 276547)

--- trunk/LayoutTests/ChangeLog	2021-04-24 06:11:00 UTC (rev 276546)
+++ trunk/LayoutTests/ChangeLog	2021-04-24 07:41:54 UTC (rev 276547)
@@ -1,3 +1,15 @@
+2021-04-24  Rob Buis  
+
+Move selectedOptions cache invalidation timing
+https://bugs.webkit.org/show_bug.cgi?id=224894
+
+Reviewed by Ryosuke Niwa.
+
+Add test for this.
+
+* fast/dom/HTMLSelectElement/selected-options-item-crash-expected.txt: Added.
+* fast/dom/HTMLSelectElement/selected-options-item-crash.html: Added.
+
 2021-04-23  Chris Dumez  
 
 http/tests/security/referrer-policy-header.html is slow


Added: trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash-expected.txt (0 => 276547)

--- trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash-expected.txt	2021-04-24 07:41:54 UTC (rev 276547)
@@ -0,0 +1,10 @@
+This tests accesses a particular index in selectedOptions via HTMLSelectElement's item. WebKit should not crash.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS select.selectedOptions.item(2) is null
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash.html (0 => 276547)

--- trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash.html	(rev 0)
+++ trunk/LayoutTests/fast/dom/HTMLSelectElement/selected-options-item-crash.html	2021-04-24 07:41:54 UTC (rev 276547)
@@ -0,0 +1,22 @@
+
+
+
+
+
+description('This tests accesses a particular index in selectedOptions via HTMLSelectElement\'s item. WebKit should not crash.');
+
+let select = document.createElement('select');
+document.body.appendChild(select);
+let div = document.createElement('div');
+select.appendChild(div);
+select.appendChild(document.createElement('option'));
+let select2 = document.createElement('select');
+select2.appendChild(document.createElement('option'));
+div.appendChild(select2);
+
+shouldBe('select.selectedOptions.item(2)', 'null');
+
+
+
+


Modified: trunk/Source/WebCore/ChangeLog (276546 => 276547)

--- trunk/Source/WebCore/ChangeLog	2021-04-24 06:11:00 UTC (rev 276546)
+++ trunk/Source/WebCore/ChangeLog	2021-04-24 07:41:54 UTC (rev 276547)
@@ -1,3 +1,27 @@
+2021-04-24  Rob Buis  
+
+Move selectedOptions cache invalidation timing
+https://bugs.webkit.org/show_bug.cgi?id=224894
+
+Reviewed by Ryosuke Niwa.
+
+Move selectedOptions cache invalidation timing out
+of setSelectedState, having it in setSelectedState
+can cause selectedOptions cache invalidation while
+determining the cache.
+
+Test: fast/dom/HTMLSelectElement/selected-options-item-crash.html
+
+* html/HTMLOptionElement.cpp:
+(WebCore::HTMLOptionElement::setSelectedState):
+* html/HTMLSelectElement.cpp:
+(WebCore::HTMLSelectElement::updateListBoxSelection):
+(WebCore::HTMLSelectElement::selectOption):
+(WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
+(WebCore::HTMLSelectElement::restoreFormControlState):
+(WebCore::HTMLSelectElement::reset):
+(WebCore::HTMLSelectElement::updateSelectedState):
+
 2021-04-23  Ian Gilbert  
 
 Crash 

[webkit-changes] [276546] trunk/Source/WebCore

2021-04-24 Thread commit-queue
Title: [276546] trunk/Source/WebCore








Revision 276546
Author commit-qu...@webkit.org
Date 2021-04-23 23:11:00 -0700 (Fri, 23 Apr 2021)


Log Message
Crash in IndentOutdentCommand::outdentParagraph attempting to move a paragraph
https://bugs.webkit.org/show_bug.cgi?id=224909

Patch by Ian Gilbert  on 2021-04-23
Reviewed by Ryosuke Niwa.

Added check inside IndentOutdentCommand::outdentParagraph to ensure that inserting a
HTMLBRElement was successful before attempting to move a paragraph to that node.

* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::outdentParagraph):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/IndentOutdentCommand.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (276545 => 276546)

--- trunk/Source/WebCore/ChangeLog	2021-04-24 00:47:50 UTC (rev 276545)
+++ trunk/Source/WebCore/ChangeLog	2021-04-24 06:11:00 UTC (rev 276546)
@@ -1,3 +1,16 @@
+2021-04-23  Ian Gilbert  
+
+Crash in IndentOutdentCommand::outdentParagraph attempting to move a paragraph
+https://bugs.webkit.org/show_bug.cgi?id=224909
+
+Reviewed by Ryosuke Niwa.
+
+Added check inside IndentOutdentCommand::outdentParagraph to ensure that inserting a 
+HTMLBRElement was successful before attempting to move a paragraph to that node.
+
+* editing/IndentOutdentCommand.cpp:
+(WebCore::IndentOutdentCommand::outdentParagraph):
+
 2021-04-23  Ryosuke Niwa  
 
 Crash in constructCustomElementSynchronously


Modified: trunk/Source/WebCore/editing/IndentOutdentCommand.cpp (276545 => 276546)

--- trunk/Source/WebCore/editing/IndentOutdentCommand.cpp	2021-04-24 00:47:50 UTC (rev 276545)
+++ trunk/Source/WebCore/editing/IndentOutdentCommand.cpp	2021-04-24 06:11:00 UTC (rev 276546)
@@ -191,9 +191,9 @@
 splitElement(*enclosingNode, highestInlineNode ? *highestInlineNode : *visibleStartOfParagraph.deepEquivalent().deprecatedNode());
 }
 auto placeholder = HTMLBRElement::create(document());
-auto* placeholderPtr = placeholder.ptr();
-insertNodeBefore(WTFMove(placeholder), *splitBlockquoteNode);
-moveParagraph(startOfParagraph(visibleStartOfParagraph), endOfParagraph(visibleEndOfParagraph), positionBeforeNode(placeholderPtr), true);
+insertNodeBefore(placeholder, *splitBlockquoteNode);
+if (placeholder->isConnected())
+moveParagraph(startOfParagraph(visibleStartOfParagraph), endOfParagraph(visibleEndOfParagraph), positionBeforeNode(placeholder.ptr()), true);
 }
 
 // FIXME: We should merge this function with ApplyBlockElementCommand::formatSelection






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes