[webkit-changes] [285787] trunk

2021-11-13 Thread simon . fraser
Title: [285787] trunk








Revision 285787
Author simon.fra...@apple.com
Date 2021-11-13 23:37:36 -0800 (Sat, 13 Nov 2021)


Log Message
Run a ScrollAnimationMomentum for the momentum phase of a scroll
https://bugs.webkit.org/show_bug.cgi?id=232897

Reviewed by Tim Horton.
Source/WebCore:

Run an animation for the momentum phase of a scroll, rather than scrolling in response
to wheel events, because it produces a smoother result with fewer dropped frames.

We re-use ScrollAnimationMomentum which is already used for scroll snap, but have to
allow it to yield unclamped coordinates, since using it for momentum can result in
rubber-banding.

When we get the momentum "began" event, we start the ScrollAnimationMomentum
using initial velocity computed from WheelEventDeltaFilter. ScrollingEffectsController then
ignores the reset of the momentum "changed" events.

We have to stop this animation when we receive a "begin" or "mayBegin" event, since
this indicates that the user has put fingers down on the trackpad.

Rename m_dragEndedScrollingVelocity to m_scrollingVelocityForScrollSnap for clarity
(at some point we should merge this with m_scrollingVelocityForMomentumAnimation).

Tests: fast/scrolling/mac/momentum-animator-in-overflow.html
   fast/scrolling/mac/momentum-animator.html

* page/WheelEventDeltaFilter.cpp:
(WebCore::WheelEventDeltaFilter::shouldApplyFilteringForEvent):
* page/WheelEventDeltaFilter.h:
* platform/PlatformWheelEvent.cpp:
(WebCore::operator<<):
* platform/ScrollAnimationMomentum.cpp:
(WebCore::ScrollAnimationMomentum::startAnimatedScrollWithInitialVelocity):
(WebCore::ScrollAnimationMomentum::stop):
(WebCore::ScrollAnimationMomentum::serviceAnimation):
* platform/ScrollAnimationMomentum.h:
* platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::ScrollingEffectsController):
(WebCore::ScrollingEffectsController::stopAnimatedNonRubberbandingScroll):
(WebCore::ScrollingEffectsController::startMomentumScrollWithInitialVelocity):
* platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsController::momentumScrollingAnimatorEnabled const):
* platform/mac/ScrollingEffectsController.mm:
(WebCore::phaseToString):
(WebCore::ScrollingEffectsController::handleWheelEvent):
(WebCore::ScrollingEffectsController::startRubberBandAnimation):
(WebCore::ScrollingEffectsController::startRubberBandAnimationIfNecessary):
(WebCore::ScrollingEffectsController::processWheelEventForScrollSnap):

Source/WTF:

Set the MomentumScrollingAnimatorEnabled internal setting to off by default
while we bring up tests.

* Scripts/Preferences/WebPreferencesInternal.yaml:

LayoutTests:

Some tests that enable the momentum animator.

* fast/scrolling/mac/momentum-animator-expected.txt: Added.
* fast/scrolling/mac/momentum-animator-in-overflow-expected.txt: Added.
* fast/scrolling/mac/momentum-animator-in-overflow.html: Added.
* fast/scrolling/mac/momentum-animator.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/WheelEventDeltaFilter.cpp
trunk/Source/WebCore/page/WheelEventDeltaFilter.h
trunk/Source/WebCore/platform/PlatformWheelEvent.cpp
trunk/Source/WebCore/platform/ScrollAnimationMomentum.cpp
trunk/Source/WebCore/platform/ScrollAnimationMomentum.h
trunk/Source/WebCore/platform/ScrollingEffectsController.cpp
trunk/Source/WebCore/platform/ScrollingEffectsController.h
trunk/Source/WebCore/platform/mac/ScrollingEffectsController.mm


Added Paths

trunk/LayoutTests/fast/scrolling/mac/momentum-animator-expected.txt
trunk/LayoutTests/fast/scrolling/mac/momentum-animator-in-overflow-expected.txt
trunk/LayoutTests/fast/scrolling/mac/momentum-animator-in-overflow.html
trunk/LayoutTests/fast/scrolling/mac/momentum-animator.html




Diff

Modified: trunk/LayoutTests/ChangeLog (285786 => 285787)

--- trunk/LayoutTests/ChangeLog	2021-11-14 05:05:59 UTC (rev 285786)
+++ trunk/LayoutTests/ChangeLog	2021-11-14 07:37:36 UTC (rev 285787)
@@ -1,3 +1,17 @@
+2021-11-13  Simon Fraser  
+
+Run a ScrollAnimationMomentum for the momentum phase of a scroll
+https://bugs.webkit.org/show_bug.cgi?id=232897
+
+Reviewed by Tim Horton.
+
+Some tests that enable the momentum animator.
+
+* fast/scrolling/mac/momentum-animator-expected.txt: Added.
+* fast/scrolling/mac/momentum-animator-in-overflow-expected.txt: Added.
+* fast/scrolling/mac/momentum-animator-in-overflow.html: Added.
+* fast/scrolling/mac/momentum-animator.html: Added.
+
 2021-11-13  Said Abou-Hallawa  
 
 REGRESSION (r285618): [mac-wk1] ASSERTION FAILED: cgContext == [currentContext CGContext]


Added: trunk/LayoutTests/fast/scrolling/mac/momentum-animator-expected.txt (0 => 285787)

--- trunk/LayoutTests/fast/scrolling/mac/momentum-animator-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/scrolling/mac/momentu

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

2021-11-13 Thread timothy_horton
Title: [285786] trunk/Source/WebCore








Revision 285786
Author timothy_hor...@apple.com
Date 2021-11-13 21:05:59 -0800 (Sat, 13 Nov 2021)


Log Message
Clean up IOKit SPI headers
https://bugs.webkit.org/show_bug.cgi?id=233093

Reviewed by Simon Fraser.

Source/WebCore:

* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
* platform/gamepad/mac/HIDGamepadProvider.h:
* platform/gamepad/mac/HIDGamepadProvider.mm:

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj:
* pal/spi/cg/CoreGraphicsSPI.h:
* pal/spi/cocoa/IOKitSPI.h:
* pal/spi/ios/IOKitSPIIOS.h: Added.
* pal/spi/mac/IOKitSPIMac.h:
IOKit vends a much different set of public API on iOS vs. macOS,
so we have separate SPI headers to reduce the confusion.

Unfortunately, the SPI header for iOS was not explicitly named as such,
and started being used in some macOS code. For a while, this didn't lead
to any trouble because the aforementioned macOS code didn't ALSO have
the public SDK headers included, but a future patch from Simon will
use IOKitSPI.h in a place where the macOS IOKit public headers are included,
and thus we must make the split more explicit.

Rename IOKitSPI.h to IOKitSPIIOS.h; make IOKitSPI choose the right one.
Add some SPI defintions to IOKitSPIMac.h that were missing (which the
dependent code was getting via the iOS header on macOS).

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
trunk/Source/WebCore/PAL/pal/spi/cocoa/IOKitSPI.h
trunk/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
trunk/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm
trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.h
trunk/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm


Added Paths

trunk/Source/WebCore/PAL/pal/spi/ios/IOKitSPIIOS.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (285785 => 285786)

--- trunk/Source/WebCore/ChangeLog	2021-11-14 00:19:27 UTC (rev 285785)
+++ trunk/Source/WebCore/ChangeLog	2021-11-14 05:05:59 UTC (rev 285786)
@@ -1,3 +1,14 @@
+2021-11-13  Tim Horton  
+
+Clean up IOKit SPI headers
+https://bugs.webkit.org/show_bug.cgi?id=233093
+
+Reviewed by Simon Fraser.
+
+* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+* platform/gamepad/mac/HIDGamepadProvider.h:
+* platform/gamepad/mac/HIDGamepadProvider.mm:
+
 2021-11-13  Said Abou-Hallawa  
 
 REGRESSION (r285618): [mac-wk1] ASSERTION FAILED: cgContext == [currentContext CGContext]


Modified: trunk/Source/WebCore/PAL/ChangeLog (285785 => 285786)

--- trunk/Source/WebCore/PAL/ChangeLog	2021-11-14 00:19:27 UTC (rev 285785)
+++ trunk/Source/WebCore/PAL/ChangeLog	2021-11-14 05:05:59 UTC (rev 285786)
@@ -1,3 +1,29 @@
+2021-11-13  Tim Horton  
+
+Clean up IOKit SPI headers
+https://bugs.webkit.org/show_bug.cgi?id=233093
+
+Reviewed by Simon Fraser.
+
+* PAL.xcodeproj/project.pbxproj:
+* pal/spi/cg/CoreGraphicsSPI.h:
+* pal/spi/cocoa/IOKitSPI.h:
+* pal/spi/ios/IOKitSPIIOS.h: Added.
+* pal/spi/mac/IOKitSPIMac.h:
+IOKit vends a much different set of public API on iOS vs. macOS,
+so we have separate SPI headers to reduce the confusion.
+
+Unfortunately, the SPI header for iOS was not explicitly named as such,
+and started being used in some macOS code. For a while, this didn't lead
+to any trouble because the aforementioned macOS code didn't ALSO have
+the public SDK headers included, but a future patch from Simon will
+use IOKitSPI.h in a place where the macOS IOKit public headers are included,
+and thus we must make the split more explicit.
+
+Rename IOKitSPI.h to IOKitSPIIOS.h; make IOKitSPI choose the right one.
+Add some SPI defintions to IOKitSPIMac.h that were missing (which the
+dependent code was getting via the iOS header on macOS).
+
 2021-11-12  Wenson Hsieh  
 
 Stop statically declaring various UIFoundation constants in NSAttributedStringSPI.h


Modified: trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj (285785 => 285786)

--- trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj	2021-11-14 00:19:27 UTC (rev 285785)
+++ trunk/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj	2021-11-14 05:05:59 UTC (rev 285786)
@@ -252,6 +252,7 @@
 		29C15F4825D75FDF001CE31C /* MediaAccessibilitySPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C15F4725D75F63001CE31C /* MediaAccessibilitySPI.h */; };
 		29CDEBA62548D57F007C07B7 /* AXSpeechManagerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 29CDEB9E2548D055007C07B7 /* AXSpeechManagerSPI.h */; };
 		2D02E93C2056FAA700A13797 /* AudioToolboxSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D02E93B2056FAA700A13797 /* AudioToolboxSPI.h */; };
+		2D68D6582740B15B005EBB2E /* IOKitSPIIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D68D6572740B15B005EBB2E /* IOKitSPIIOS.

[webkit-changes] [285785] trunk

2021-11-13 Thread said
Title: [285785] trunk








Revision 285785
Author s...@apple.com
Date 2021-11-13 16:19:27 -0800 (Sat, 13 Nov 2021)


Log Message
REGRESSION (r285618): [mac-wk1] ASSERTION FAILED: cgContext == [currentContext CGContext]
https://bugs.webkit.org/show_bug.cgi?id=233008
rdar://85311948

Reviewed by Wenson Hsieh.

Source/WebCore:

The assertion fails when loading the expected html page because one of
the elements has a CSS filter named "(#noop)" but the filter "noop" is
not defined.

The reason for the assertion to fail is we switch the PaintInfo to the
context of the CSSFilter::sourceImage() and we do not restore it back.
In fact CSSFilter::buildFilterFunctions() should fail since the filter
has only a reference filter and this reference filter does not exit. The
bug is CSSFilter::buildFilterFunctions() does not fail in this case.

Before r285618, CSSFilter::buildFilterFunctions() was not adding
SourceGraphic to m_functions. It was added as the input of the first
FilterEffect. This was fine since we were applying the lastEffect which
goes backward till it reaches the SourceGraphic.

But the plan is to apply the FilterFunctions from the first to the last
without having to go backward, so we need to add the SourceGraphic to
m_functions explicitly. The bug happens when no FilterFunction is built
successfully and we return 'true' because m_functions is not empty. It
has the SourceGraphic.

The fix is to add the SourceGraphic only when there is at least another
FilterFunction will be added to m_functions.

* rendering/CSSFilter.cpp:
(WebCore::CSSFilter::buildFilterFunctions):

LayoutTests:

Unskip the test http/tests/css/filters-on-iframes-transform.html which
was skipped in r285656.

* platform/mac-wk1/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk1/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/CSSFilter.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (285784 => 285785)

--- trunk/LayoutTests/ChangeLog	2021-11-13 23:28:17 UTC (rev 285784)
+++ trunk/LayoutTests/ChangeLog	2021-11-14 00:19:27 UTC (rev 285785)
@@ -1,3 +1,16 @@
+2021-11-13  Said Abou-Hallawa  
+
+REGRESSION (r285618): [mac-wk1] ASSERTION FAILED: cgContext == [currentContext CGContext]
+https://bugs.webkit.org/show_bug.cgi?id=233008
+rdar://85311948
+
+Reviewed by Wenson Hsieh.
+
+Unskip the test http/tests/css/filters-on-iframes-transform.html which 
+was skipped in r285656.
+
+* platform/mac-wk1/TestExpectations:
+
 2021-11-13  Simon Fraser  
 
 Implement UIScriptController.sendEventStream() for DumpRenderTree


Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (285784 => 285785)

--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-11-13 23:28:17 UTC (rev 285784)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2021-11-14 00:19:27 UTC (rev 285785)
@@ -1516,7 +1516,5 @@
 
 webkit.org/b/232585 [ Catalina Debug ] media/track/track-element-load-event.html [ Pass Crash ]
 
-webkit.org/b/233008 [ Debug ] http/tests/css/filters-on-iframes-transform.html [ Skip ]
-
 # DumpRenderTree doesn't invoke inspector instrumentation when repainting.
 webkit.org/b/232852 inspector/page/setShowPaintRects.html [ Skip ]


Modified: trunk/Source/WebCore/ChangeLog (285784 => 285785)

--- trunk/Source/WebCore/ChangeLog	2021-11-13 23:28:17 UTC (rev 285784)
+++ trunk/Source/WebCore/ChangeLog	2021-11-14 00:19:27 UTC (rev 285785)
@@ -1,3 +1,38 @@
+2021-11-13  Said Abou-Hallawa  
+
+REGRESSION (r285618): [mac-wk1] ASSERTION FAILED: cgContext == [currentContext CGContext]
+https://bugs.webkit.org/show_bug.cgi?id=233008
+rdar://85311948
+
+Reviewed by Wenson Hsieh.
+
+The assertion fails when loading the expected html page because one of
+the elements has a CSS filter named "(#noop)" but the filter "noop" is
+not defined.
+
+The reason for the assertion to fail is we switch the PaintInfo to the
+context of the CSSFilter::sourceImage() and we do not restore it back.
+In fact CSSFilter::buildFilterFunctions() should fail since the filter
+has only a reference filter and this reference filter does not exit. The
+bug is CSSFilter::buildFilterFunctions() does not fail in this case.
+
+Before r285618, CSSFilter::buildFilterFunctions() was not adding 
+SourceGraphic to m_functions. It was added as the input of the first
+FilterEffect. This was fine since we were applying the lastEffect which
+goes backward till it reaches the SourceGraphic.
+
+But the plan is to apply the FilterFunctions from the first to the last
+without having to go backward, so we need to add the SourceGraphic to
+m_functions explicitly. The bug happens when no FilterFunction is built
+successfully and we return 'true' because m_functions is not empty. It
+has the SourceGraphi

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

2021-11-13 Thread zalan
Title: [285784] trunk/Source/WebCore








Revision 285784
Author za...@apple.com
Date 2021-11-13 15:28:17 -0800 (Sat, 13 Nov 2021)


Log Message
[LFC][IFC] Inline box end's padding/border/margin should be taken into account when computing horizontal position for bidi content
https://bugs.webkit.org/show_bug.cgi?id=233083

Reviewed by Antti Koivisto.

Let's decouple the "display box rect" and the "content right in visual order" computation.
There are runs (e.g. inline box end) that don't need to call displayBoxRect() but they
still affect the "content right in visual order" ().

* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent): add the additional lineRun.isInlineBoxEnd() case.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (285783 => 285784)

--- trunk/Source/WebCore/ChangeLog	2021-11-13 23:21:41 UTC (rev 285783)
+++ trunk/Source/WebCore/ChangeLog	2021-11-13 23:28:17 UTC (rev 285784)
@@ -1,3 +1,17 @@
+2021-11-13  Zalan Bujtas  
+
+[LFC][IFC] Inline box end's padding/border/margin should be taken into account when computing horizontal position for bidi content
+https://bugs.webkit.org/show_bug.cgi?id=233083
+
+Reviewed by Antti Koivisto.
+
+Let's decouple the "display box rect" and the "content right in visual order" computation.
+There are runs (e.g. inline box end) that don't need to call displayBoxRect() but they
+still affect the "content right in visual order" ().
+
+* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent): add the additional lineRun.isInlineBoxEnd() case.
+
 2021-11-13  Alan Bujtas  
 
 [LFC][Integration] Add support for optional bidi character coverage checking


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (285783 => 285784)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-11-13 23:21:41 UTC (rev 285783)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-11-13 23:28:17 UTC (rev 285784)
@@ -103,11 +103,14 @@
 logicalRect = lineBox.logicalRectForLineBreakBox(layoutBox);
 else {
 auto& boxGeometry = formattingState.boxGeometry(layoutBox);
-marginStart = boxGeometry.marginStart();
-if (lineRun.isBox())
+if (lineRun.isBox()) {
+marginStart = boxGeometry.marginStart();
 logicalRect = lineBox.logicalBorderBoxForAtomicInlineLevelBox(layoutBox, boxGeometry);
-else if (lineRun.isInlineBoxStart() || lineRun.isLineSpanningInlineBoxStart())
+} else if (lineRun.isInlineBoxStart()) {
+marginStart = boxGeometry.marginStart();
 logicalRect = lineBox.logicalBorderBoxForInlineBox(layoutBox, boxGeometry);
+} else if (lineRun.isLineSpanningInlineBoxStart())
+logicalRect = lineBox.logicalBorderBoxForInlineBox(layoutBox, boxGeometry);
 else
 ASSERT_NOT_REACHED();
 }
@@ -123,16 +126,13 @@
 auto visualOrderRect = logicalRect;
 auto contentLeft = contentRightInVisualOrder + distanceFromLogicalPreviousRun + marginStart.value_or(0);
 visualOrderRect.setLeft(contentLeft);
-// The inline box right edge includes its content as well as the inline box end (padding-right etc).
-// What we need here is the inline box start run's width.
-// Note that content width does not refer to content _box_ here (it does include padding and border for inline level boxes).
-auto contentWidth = lineRun.isInlineBoxStart() || lineRun.isLineSpanningInlineBoxStart() ? lineRun.logicalWidth() - *marginStart : logicalRect.width();
-contentRightInVisualOrder = visualOrderRect.left() + contentWidth;
 return visualOrderRect;
 };
 
 if (lineRun.isText()) {
 auto textRunRect = displayBoxRect();
+contentRightInVisualOrder = textRunRect.right();
+
 auto inkOverflow = [&] {
 auto initialContaingBlockSize = RuntimeEnabledFeatures::sharedFeatures().layoutFormattingContextIntegrationEnabled()
 ? formattingState.layoutState().viewportSize()
@@ -190,6 +190,7 @@
 if (lineRun.isBox()) {
 ASSERT(layoutBox.isAtomicInlineLevelBox());
 auto borderBoxRect = displayBoxRect();
+contentRightInVisualOrder = borderBoxRect.right();
 // FIXME: Add ink overflow support for atomic 

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

2021-11-13 Thread zalan
Title: [285783] trunk/Source/WebCore








Revision 285783
Author za...@apple.com
Date 2021-11-13 15:21:41 -0800 (Sat, 13 Nov 2021)


Log Message
[LFC][Integration] Add support for optional bidi character coverage checking
https://bugs.webkit.org/show_bug.cgi?id=233049

Reviewed by Antti Koivisto.

This is in preparation for enabling bidi for IFC.

* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFontAndText):
(WebCore::LayoutIntegration::canUseForRenderInlineChild):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (285782 => 285783)

--- trunk/Source/WebCore/ChangeLog	2021-11-13 23:04:43 UTC (rev 285782)
+++ trunk/Source/WebCore/ChangeLog	2021-11-13 23:21:41 UTC (rev 285783)
@@ -1,5 +1,20 @@
 2021-11-13  Alan Bujtas  
 
+[LFC][Integration] Add support for optional bidi character coverage checking
+https://bugs.webkit.org/show_bug.cgi?id=233049
+
+Reviewed by Antti Koivisto.
+
+This is in preparation for enabling bidi for IFC.
+
+* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
+* layout/integration/LayoutIntegrationCoverage.cpp:
+(WebCore::LayoutIntegration::canUseForFontAndText):
+(WebCore::LayoutIntegration::canUseForRenderInlineChild):
+(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):
+
+2021-11-13  Alan Bujtas  
+
 [LFC][Integration] Bring showRenderTree for IFC integration back
 https://bugs.webkit.org/show_bug.cgi?id=233000
 


Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp (285782 => 285783)

--- trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-11-13 23:04:43 UTC (rev 285782)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp	2021-11-13 23:21:41 UTC (rev 285783)
@@ -45,6 +45,9 @@
 
 #if ENABLE(LAYOUT_FORMATTING_CONTEXT)
 
+#define ALLOW_BIDI_CONTENT 0
+#define ALLOW_BIDI_CONTENT_WITH_INLINE_BOX 0
+
 #ifndef NDEBUG
 #define SET_REASON_AND_RETURN_IF_NEEDED(reason, reasons, includeReasons) { \
 reasons.add(AvoidanceReason::reason); \
@@ -388,7 +391,8 @@
 return { };
 }
 
-static OptionSet canUseForFontAndText(const RenderBoxModelObject& container, IncludeReasons includeReasons)
+enum class CheckForBidiCharacters { Yes, No };
+static OptionSet canUseForFontAndText(const RenderBoxModelObject& container, CheckForBidiCharacters checkForBidiCharacters, IncludeReasons includeReasons)
 {
 OptionSet reasons;
 // We assume that all lines have metrics based purely on the primary font.
@@ -418,9 +422,10 @@
 SET_REASON_AND_RETURN_IF_NEEDED(FlowHasComplexFontCodePath, reasons, includeReasons);
 }
 
-auto textReasons = canUseForText(textRenderer.stringView(), includeReasons);
-if (textReasons)
-ADD_REASONS_AND_RETURN_IF_NEEDED(textReasons, reasons, includeReasons);
+if (checkForBidiCharacters == CheckForBidiCharacters::Yes) {
+if (auto textReasons = canUseForText(textRenderer.stringView(), includeReasons))
+ADD_REASONS_AND_RETURN_IF_NEEDED(textReasons, reasons, includeReasons);
+}
 }
 return reasons;
 }
@@ -484,9 +489,14 @@
 SET_REASON_AND_RETURN_IF_NEEDED(ChildBoxIsFloatingOrPositioned, reasons, includeReasons);
 if (renderInline.containingBlock()->style().lineBoxContain() != RenderStyle::initialLineBoxContain())
 SET_REASON_AND_RETURN_IF_NEEDED(FlowHasLineBoxContainProperty, reasons, includeReasons);
-auto fontAndTextReasons = canUseForFontAndText(renderInline, includeReasons);
+auto checkForBidiCharacters = CheckForBidiCharacters::Yes;
+#if ALLOW_BIDI_CONTENT_WITH_INLINE_BOX
+checkForBidiCharacters = CheckForBidiCharacters::No;
+#endif
+auto fontAndTextReasons = canUseForFontAndText(renderInline, checkForBidiCharacters, includeReasons);
 if (fontAndTextReasons)
 ADD_REASONS_AND_RETURN_IF_NEEDED(fontAndTextReasons, reasons, includeReasons);
+
 auto styleReasons = canUseForStyle(style, includeReasons);
 if (styleReasons)
 ADD_REASONS_AND_RETURN_IF_NEEDED(styleReasons, reasons, includeReasons);
@@ -632,9 +642,11 @@
 SET_REASON_AND_RETURN_IF_NEEDED(FlowHasLineClamp, reasons, includeReasons);
 // This currently covers #text, #text and mutiple (sibling) RenderText cases.
 // The #text case is also popular and should be relatively easy to cover.
+auto hasSeenInlineBox = false;
 for (auto walker = InlineWalker(flow); !walker.atEnd(); walker.advance()) {
 if (auto childReasons = canUseForChild(flow, *walker.current(), includeReasons))
 ADD_REASONS_AND_RETURN_IF_NEEDED(childReasons, reasons, includeReasons);
+hasSeenInli

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

2021-11-13 Thread zalan
Title: [285782] trunk/Source/WebCore








Revision 285782
Author za...@apple.com
Date 2021-11-13 15:04:43 -0800 (Sat, 13 Nov 2021)


Log Message
[LFC][Integration] Bring showRenderTree for IFC integration back
https://bugs.webkit.org/show_bug.cgi?id=233000

Reviewed by Antti Koivisto.

Currently showRenderTree comes back blank for IFC content.

* layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::showInlineContent):
* layout/integration/LayoutIntegrationBoxTree.h:
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::outputLineTree const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp
trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.h
trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (285781 => 285782)

--- trunk/Source/WebCore/ChangeLog	2021-11-13 23:04:06 UTC (rev 285781)
+++ trunk/Source/WebCore/ChangeLog	2021-11-13 23:04:43 UTC (rev 285782)
@@ -1,5 +1,20 @@
 2021-11-13  Alan Bujtas  
 
+[LFC][Integration] Bring showRenderTree for IFC integration back
+https://bugs.webkit.org/show_bug.cgi?id=233000
+
+Reviewed by Antti Koivisto.
+
+Currently showRenderTree comes back blank for IFC content.
+
+* layout/integration/LayoutIntegrationBoxTree.cpp:
+(WebCore::LayoutIntegration::showInlineContent):
+* layout/integration/LayoutIntegrationBoxTree.h:
+* layout/integration/LayoutIntegrationLineLayout.cpp:
+(WebCore::LayoutIntegration::LineLayout::outputLineTree const):
+
+2021-11-13  Alan Bujtas  
+
 [LFC][IFC] Inline box end (opaque to bidi) should get the bidi level from its adjacent content
 https://bugs.webkit.org/show_bug.cgi?id=233082
 


Modified: trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp (285781 => 285782)

--- trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp	2021-11-13 23:04:06 UTC (rev 285781)
+++ trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp	2021-11-13 23:04:43 UTC (rev 285782)
@@ -248,8 +248,79 @@
 return const_cast(*this).rendererForLayoutBox(box);
 }
 
+#if ENABLE(TREE_DEBUGGING)
+void showInlineContent(TextStream& stream, const InlineContent& inlineContent, size_t depth)
+{
+auto& lines = inlineContent.lines;
+auto& boxes = inlineContent.boxes;
+
+for (size_t lineIndex = 0; lineIndex < lines.size(); ++lineIndex) {
+auto addSpacing = [&] {
+size_t printedCharacters = 0;
+stream << " --";
+while (++printedCharacters <= depth * 2)
+stream << " ";
+
+};
+addSpacing();
+auto& line = lines[lineIndex];
+stream << "line at (" << line.lineBoxLeft() << "," << line.lineBoxTop() << ") size (" << line.lineBoxRight() - line.lineBoxLeft() << "x" << line.lineBoxBottom() - line.lineBoxTop() << ") baseline (" << line.baseline() << ") enclosing top (" << line.enclosingContentTop() << ") bottom (" << line.enclosingContentBottom() << ")";
+stream.nextLine();
+
+addSpacing();
+stream << "  Inline level boxes:";
+stream.nextLine();
+
+auto outputInlineLevelBox = [&](const auto& inlineLevelBox) {
+addSpacing();
+stream << "";
+auto logicalRect = inlineLevelBox.logicalRect();
+auto& layoutBox = inlineLevelBox.layoutBox();
+if (layoutBox.isAtomicInlineLevelBox())
+stream << "Atomic inline level box";
+else if (layoutBox.isLineBreakBox())
+stream << "Line break box";
+else if (layoutBox.isInlineBox())
+stream << "Inline box";
+else
+stream << "Generic inline level box";
+stream
+<< " at (" << logicalRect.left() << "," << logicalRect.top() << ")"
+<< " size (" << logicalRect.width() << "x" << logicalRect.height() << ")";
+stream.nextLine();
+};
+for (auto& box : boxes) {
+if (box.lineIndex() != lineIndex)
+continue;
+if (!box.layoutBox().isInlineLevelBox())
+continue;
+outputInlineLevelBox(box);
+}
+
+addSpacing();
+stream << "  Runs:";
+stream.nextLine();
+for (auto& box : boxes) {
+if (box.lineIndex() != lineIndex)
+continue;
+addSpacing();
+stream << "";
+if (box.text())
+stream << "text box";
+else
+stream << "box box";
+stream << " at (" << box.logicalLeft() << "," << box.logicalTop() << ") size " << box.logicalWidth() << "x" << box.logicalHeight();
+if (box.text())
+stream << " box(" << box.text()->s

[webkit-changes] [285781] trunk

2021-11-13 Thread simon . fraser
Title: [285781] trunk








Revision 285781
Author simon.fra...@apple.com
Date 2021-11-13 15:04:06 -0800 (Sat, 13 Nov 2021)


Log Message
Implement UIScriptController.sendEventStream() for DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=233090

Reviewed by Wenson Hsieh.
Tools:

Implement UIScriptControllerMac::sendEventStream(), sharing some event dispatching code from
EventSendingController.

* DumpRenderTree/mac/EventSendingController.h:
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
(-[EventSendingController sendScrollEventAt:deltaX:deltaY:units:wheelPhase:momentumPhase:timestamp:]):
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::gesturePhaseFromString):
(WTR::momentumPhaseFromString):
(WTR::eventSenderFromView):
(WTR::UIScriptControllerMac::sendEventStream):

LayoutTests:

Convert one test that runs in WK1 to use sendEventStream().

* fast/scrolling/overflow-scroll-past-max.html:
* resources/ui-helper.js:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/scrolling/overflow-scroll-past-max.html
trunk/LayoutTests/resources/ui-helper.js
trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/mac/EventSendingController.h
trunk/Tools/DumpRenderTree/mac/EventSendingController.mm
trunk/Tools/DumpRenderTree/mac/UIScriptControllerMac.h
trunk/Tools/DumpRenderTree/mac/UIScriptControllerMac.mm
trunk/Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm




Diff

Modified: trunk/LayoutTests/ChangeLog (285780 => 285781)

--- trunk/LayoutTests/ChangeLog	2021-11-13 21:59:47 UTC (rev 285780)
+++ trunk/LayoutTests/ChangeLog	2021-11-13 23:04:06 UTC (rev 285781)
@@ -1,3 +1,15 @@
+2021-11-13  Simon Fraser  
+
+Implement UIScriptController.sendEventStream() for DumpRenderTree
+https://bugs.webkit.org/show_bug.cgi?id=233090
+
+Reviewed by Wenson Hsieh.
+
+Convert one test that runs in WK1 to use sendEventStream().
+
+* fast/scrolling/overflow-scroll-past-max.html:
+* resources/ui-helper.js:
+
 2021-11-13  Tyler Wilcock  
 
 AX: Make 7 more layout tests async so that they pass in --release --accessibility-isolated-tree mode


Modified: trunk/LayoutTests/fast/scrolling/overflow-scroll-past-max.html (285780 => 285781)

--- trunk/LayoutTests/fast/scrolling/overflow-scroll-past-max.html	2021-11-13 21:59:47 UTC (rev 285780)
+++ trunk/LayoutTests/fast/scrolling/overflow-scroll-past-max.html	2021-11-13 23:04:06 UTC (rev 285781)
@@ -16,6 +16,7 @@
 background-image: linear-gradient(silver, gray);
 }
 
+

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

2021-11-13 Thread zalan
Title: [285780] trunk/Source/WebCore








Revision 285780
Author za...@apple.com
Date 2021-11-13 13:59:47 -0800 (Sat, 13 Nov 2021)


Log Message
[LFC][IFC] Inline box end (opaque to bidi) should get the bidi level from its adjacent content
https://bugs.webkit.org/show_bug.cgi?id=233082

Reviewed by Antti Koivisto.

While the inline box start item () gets the bidi level from the next (adjacent) content, inline box end ()
should get it from the previous content (these are opaque inline items).

  e.g bidi content
  both the inline box start and the inline box end items get their bidi level from the "bidi content" inline text item.

* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (285779 => 285780)

--- trunk/Source/WebCore/ChangeLog	2021-11-13 21:58:50 UTC (rev 285779)
+++ trunk/Source/WebCore/ChangeLog	2021-11-13 21:59:47 UTC (rev 285780)
@@ -1,3 +1,19 @@
+2021-11-13  Alan Bujtas  
+
+[LFC][IFC] Inline box end (opaque to bidi) should get the bidi level from its adjacent content
+https://bugs.webkit.org/show_bug.cgi?id=233082
+
+Reviewed by Antti Koivisto.
+
+While the inline box start item () gets the bidi level from the next (adjacent) content, inline box end ()
+should get it from the previous content (these are opaque inline items).
+
+  e.g bidi content  
+  both the inline box start and the inline box end items get their bidi level from the "bidi content" inline text item.
+
+* layout/formattingContexts/inline/InlineItemsBuilder.cpp:
+(WebCore::Layout::InlineItemsBuilder::breakAndComputeBidiLevels):
+
 2021-11-12  Timothy Hatcher  
 
 webView._isBeingInspected does not work with Service Worker pages


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp (285779 => 285780)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-11-13 21:58:50 UTC (rev 285779)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp	2021-11-13 21:59:47 UTC (rev 285780)
@@ -324,10 +324,28 @@
 // Opaque items (inline items with no paragraph content) get their bidi level values from their adjacent items.
 auto lastBidiLevel = rootBidiLevel;
 for (auto index = inlineItems.size(); index--;) {
-if (!inlineItemOffsets[index])
+if (inlineItemOffsets[index]) {
+lastBidiLevel = inlineItems[index].bidiLevel();
+continue;
+}
+if (inlineItems[index].isInlineBoxStart()) {
+// Inline box start (e.g ) uses its content bidi level (next inline item).
 inlineItems[index].setBidiLevel(lastBidiLevel);
-else
-lastBidiLevel = inlineItems[index].bidiLevel();
+continue;
+}
+if (inlineItems[index].isInlineBoxEnd()) {
+// Inline box end (e.g. ) also uses the content bidi level, but in this case it's the previous content.
+auto previousBidiLevel = [&]() -> std::optional {
+for (auto i = index; i--;) {
+if (inlineItemOffsets[i])
+return inlineItems[i].bidiLevel();
+}
+return { };
+}();
+inlineItems[index].setBidiLevel(previousBidiLevel.value_or(rootBidiLevel));
+continue;
+}
+ASSERT_NOT_REACHED();
 }
 };
 setBidiLevelForOpaqueInlineItems();






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


[webkit-changes] [285779] trunk/Tools

2021-11-13 Thread jbedard
Title: [285779] trunk/Tools








Revision 285779
Author jbed...@apple.com
Date 2021-11-13 13:58:50 -0800 (Sat, 13 Nov 2021)


Log Message
Unreviewed, reverting r285772.

Ownership issues in some XCode installs

Reverted changeset:

"[webkitpy] Symlink daemons into simulator runtime root"
https://bugs.webkit.org/show_bug.cgi?id=233080
https://commits.webkit.org/r285772

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/api_tests/manager.py
trunk/Tools/Scripts/webkitpy/common/system/filesystem.py
trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py
trunk/Tools/Scripts/webkitpy/port/darwin.py
trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py
trunk/Tools/Scripts/webkitpy/xcode/simulated_device_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (285778 => 285779)

--- trunk/Tools/ChangeLog	2021-11-13 21:57:32 UTC (rev 285778)
+++ trunk/Tools/ChangeLog	2021-11-13 21:58:50 UTC (rev 285779)
@@ -1,3 +1,15 @@
+2021-11-13  Jonathan Bedard  
+
+Unreviewed, reverting r285772.
+
+Ownership issues in some XCode installs
+
+Reverted changeset:
+
+"[webkitpy] Symlink daemons into simulator runtime root"
+https://bugs.webkit.org/show_bug.cgi?id=233080
+https://commits.webkit.org/r285772
+
 2021-11-13  Tyler Wilcock  
 
 AX: Make accessibility/mac/header.html test async to fix it for isolated tree mode


Modified: trunk/Tools/Scripts/webkitpy/api_tests/manager.py (285778 => 285779)

--- trunk/Tools/Scripts/webkitpy/api_tests/manager.py	2021-11-13 21:57:32 UTC (rev 285778)
+++ trunk/Tools/Scripts/webkitpy/api_tests/manager.py	2021-11-13 21:58:50 UTC (rev 285779)
@@ -152,22 +152,6 @@
 def _initialize_devices(self):
 if 'simulator' in self._port.port_name:
 SimulatedDeviceManager.initialize_devices(DeviceRequest(self._port.DEVICE_TYPE, allow_incomplete_match=True), self.host, simulator_ui=False)
-
-# A Daemons executable path must be located within the runtime root.
-roots = {
-device.platform_device.runtime.root for device in SimulatedDeviceManager.INITIALIZED_DEVICES
-if device.platform_device.runtime and device.platform_device.runtime.root
-}
-fs = self._port.host.filesystem
-for root in roots:
-_log.debug("Linking Daemons into runtime root '{}'".format(root))
-for file in fs.files_under(self._port.path_to_daemons()):
-target = fs.join(root, 'usr', 'local', 'bin', 'webkit-testing', fs.basename(file))
-fs.maybe_make_directory(fs.dirname(target))
-if fs.isfile(target):
-fs.remove(target)
-fs.symlink(file, target)
-
 elif 'device' in self._port.port_name:
 raise RuntimeError('Running api tests on {} is not supported'.format(self._port.port_name))
 


Modified: trunk/Tools/Scripts/webkitpy/common/system/filesystem.py (285778 => 285779)

--- trunk/Tools/Scripts/webkitpy/common/system/filesystem.py	2021-11-13 21:57:32 UTC (rev 285778)
+++ trunk/Tools/Scripts/webkitpy/common/system/filesystem.py	2021-11-13 21:58:50 UTC (rev 285779)
@@ -339,6 +339,3 @@
 self.copytree(source, destination)
 else:
 self.copyfile(source, destination)
-
-def symlink(self, *args, **kwargs):
-os.symlink(*args, **kwargs)


Modified: trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py (285778 => 285779)

--- trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py	2021-11-13 21:57:32 UTC (rev 285778)
+++ trunk/Tools/Scripts/webkitpy/common/system/filesystem_mock.py	2021-11-13 21:58:50 UTC (rev 285779)
@@ -436,10 +436,7 @@
 def copy_from_base_host(self, source, destination):
 self.move(source, destination)
 
-def symlink(self, src, dst):
-self.move(src, dst)
 
-
 class WritableBinaryFileObject(object):
 def __init__(self, fs, path):
 self.fs = fs


Modified: trunk/Tools/Scripts/webkitpy/port/darwin.py (285778 => 285779)

--- trunk/Tools/Scripts/webkitpy/port/darwin.py	2021-11-13 21:57:32 UTC (rev 285778)
+++ trunk/Tools/Scripts/webkitpy/port/darwin.py	2021-11-13 21:58:50 UTC (rev 285779)
@@ -82,9 +82,6 @@
 def _path_to_webcore_library(self):
 return self._build_path('WebCore.framework/Versions/A/WebCore')
 
-def path_to_daemons(self):
-return self._build_path('WebKit.framework/Daemons')
-
 def show_results_html_file(self, results_filename):
 # We don't use self._run_script() because we don't want to wait for the script
 # to exit and we want the output to show up on stdout in case there are errors


Modified: trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py (285778 => 285779)

--- trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py	2021-11-13 21:57:32 UTC (rev 285778)
+++ trunk/Tools/Scripts/webkitpy/xcode/simulated_device.py	2021-11-13 21:58:50 UTC (rev 2

[webkit-changes] [285778] trunk/LayoutTests

2021-11-13 Thread commit-queue
Title: [285778] trunk/LayoutTests








Revision 285778
Author commit-qu...@webkit.org
Date 2021-11-13 13:57:32 -0800 (Sat, 13 Nov 2021)


Log Message
AX: Make 7 more layout tests async so that they pass in --release --accessibility-isolated-tree mode
https://bugs.webkit.org/show_bug.cgi?id=233085

Patch by Tyler Wilcock  on 2021-11-13
Reviewed by Chris Fleizach.

This patch makes 7 more tests async so that they pass in --release
--accessibility-isolated-tree mode. This patch also adds some helper
functions to accessibility-helper.js.

* accessibility/ancestor-computation.html:
Move `waitForElement` to accessibility-helpers.js and rename to
`waitForElementById`.

* accessibility/color-well-expected.txt:
* accessibility/color-well.html:
* accessibility/mac/scrollbars.html:
* accessibility/placeholder-expected.txt:
* accessibility/placeholder.html:
* accessibility/progressbar-expected.txt:
* accessibility/progressbar.html:
* accessibility/range-alter-by-percent-expected.txt:
* accessibility/range-alter-by-percent.html:
* accessibility/range-alter-by-step-expected.txt:
* accessibility/range-alter-by-step.html:
* accessibility/spinbutton-value-expected.txt:
* accessibility/spinbutton-value.html:
Make tests async so they pass in isolated tree mode.
Minor updates to expectations:
  - Some variables renamed for better readability
  - Sometimes there is one more or one less newline after the test rewrites

* resources/accessibility-helper.js:
(async waitForElementById): Added. Originally defined in
accessibility/ancestor-computation.html.
(async waitForExpression): Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/accessibility/ancestor-computation.html
trunk/LayoutTests/accessibility/color-well-expected.txt
trunk/LayoutTests/accessibility/color-well.html
trunk/LayoutTests/accessibility/mac/scrollbars.html
trunk/LayoutTests/accessibility/placeholder-expected.txt
trunk/LayoutTests/accessibility/placeholder.html
trunk/LayoutTests/accessibility/progressbar-expected.txt
trunk/LayoutTests/accessibility/progressbar.html
trunk/LayoutTests/accessibility/range-alter-by-percent-expected.txt
trunk/LayoutTests/accessibility/range-alter-by-percent.html
trunk/LayoutTests/accessibility/range-alter-by-step-expected.txt
trunk/LayoutTests/accessibility/range-alter-by-step.html
trunk/LayoutTests/accessibility/spinbutton-value-expected.txt
trunk/LayoutTests/accessibility/spinbutton-value.html
trunk/LayoutTests/resources/accessibility-helper.js




Diff

Modified: trunk/LayoutTests/ChangeLog (285777 => 285778)

--- trunk/LayoutTests/ChangeLog	2021-11-13 18:49:16 UTC (rev 285777)
+++ trunk/LayoutTests/ChangeLog	2021-11-13 21:57:32 UTC (rev 285778)
@@ -1,5 +1,43 @@
 2021-11-13  Tyler Wilcock  
 
+AX: Make 7 more layout tests async so that they pass in --release --accessibility-isolated-tree mode
+https://bugs.webkit.org/show_bug.cgi?id=233085
+
+Reviewed by Chris Fleizach.
+
+This patch makes 7 more tests async so that they pass in --release
+--accessibility-isolated-tree mode. This patch also adds some helper
+functions to accessibility-helper.js.
+
+* accessibility/ancestor-computation.html:
+Move `waitForElement` to accessibility-helpers.js and rename to
+`waitForElementById`.
+
+* accessibility/color-well-expected.txt:
+* accessibility/color-well.html:
+* accessibility/mac/scrollbars.html:
+* accessibility/placeholder-expected.txt:
+* accessibility/placeholder.html:
+* accessibility/progressbar-expected.txt:
+* accessibility/progressbar.html:
+* accessibility/range-alter-by-percent-expected.txt:
+* accessibility/range-alter-by-percent.html:
+* accessibility/range-alter-by-step-expected.txt:
+* accessibility/range-alter-by-step.html:
+* accessibility/spinbutton-value-expected.txt:
+* accessibility/spinbutton-value.html:
+Make tests async so they pass in isolated tree mode.
+Minor updates to expectations:
+  - Some variables renamed for better readability
+  - Sometimes there is one more or one less newline after the test rewrites
+
+* resources/accessibility-helper.js:
+(async waitForElementById): Added. Originally defined in
+accessibility/ancestor-computation.html.
+(async waitForExpression): Added.
+
+2021-11-13  Tyler Wilcock  
+
 AX: Make accessibility/mac/header.html test async to fix it for isolated tree mode
 https://bugs.webkit.org/show_bug.cgi?id=233017
 


Modified: trunk/LayoutTests/accessibility/ancestor-computation.html (285777 => 285778)

--- trunk/LayoutTests/accessibility/ancestor-computation.html	2021-11-13 18:49:16 UTC (rev 285777)
+++ trunk/LayoutTests/accessibility/ancestor-computation.html	2021-11-13 21:57:32 UTC (rev 285778)
@@ -53,19 +53,10 @@
 description("This test ensures accessibility elements properly track their ancestor types.

[webkit-changes] [285777] trunk

2021-11-13 Thread mmaxfield
Title: [285777] trunk








Revision 285777
Author mmaxfi...@apple.com
Date 2021-11-13 10:49:16 -0800 (Sat, 13 Nov 2021)


Log Message
[WebGPU] Add WebGPU.xcodeproj to WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=233078

Reviewed by Dean Jackson.

Mechanical change. When building WebGPU becomes required,
people using this workspace will need it.

* WebKit.xcworkspace/contents.xcworkspacedata:

Modified Paths

trunk/ChangeLog
trunk/WebKit.xcworkspace/contents.xcworkspacedata




Diff

Modified: trunk/ChangeLog (285776 => 285777)

--- trunk/ChangeLog	2021-11-13 18:38:12 UTC (rev 285776)
+++ trunk/ChangeLog	2021-11-13 18:49:16 UTC (rev 285777)
@@ -1,3 +1,15 @@
+2021-11-13  Myles C. Maxfield  
+
+[WebGPU] Add WebGPU.xcodeproj to WebKit.xcworkspace
+https://bugs.webkit.org/show_bug.cgi?id=233078
+
+Reviewed by Dean Jackson.
+
+Mechanical change. When building WebGPU becomes required,
+people using this workspace will need it.
+
+* WebKit.xcworkspace/contents.xcworkspacedata:
+
 2021-11-12  Don Olmstead  
 
 [WinCairo] Add Little-CMS support


Modified: trunk/WebKit.xcworkspace/contents.xcworkspacedata (285776 => 285777)

--- trunk/WebKit.xcworkspace/contents.xcworkspacedata	2021-11-13 18:38:12 UTC (rev 285776)
+++ trunk/WebKit.xcworkspace/contents.xcworkspacedata	2021-11-13 18:49:16 UTC (rev 285777)
@@ -17,6 +17,9 @@
   location = "group:Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj">

+  location = "group:Source/WebGPU/WebGPU.xcodeproj">
+   
+  location = "group:Source/WebCore/WebCore.xcodeproj">







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


[webkit-changes] [285776] trunk

2021-11-13 Thread commit-queue
Title: [285776] trunk








Revision 285776
Author commit-qu...@webkit.org
Date 2021-11-13 10:38:12 -0800 (Sat, 13 Nov 2021)


Log Message
AX: Make accessibility/mac/header.html test async to fix it for isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=233017

Patch by Tyler Wilcock  on 2021-11-13
Reviewed by Andres Gonzalez.

Tools:

This patch implements the `domIdentifier` attribute for DumpRenderTree
elements. When making this test async, I wanted to use this attribute,
hence the implementation in this patch.

* DumpRenderTree/AccessibilityUIElement.cpp:
(domIdentifierCallback): Added.
(AccessibilityUIElement::getJSClass):
Add "domIdentifer" entry to `staticValues[]`.

* DumpRenderTree/AccessibilityUIElement.h:
Add AccessibilityUIElement::domIdentifier const definition.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::domIdentifier const): Added.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::domIdentifier const): Added.
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::domIdentifier const):Added.

LayoutTests:

This test needs to be made async, as we need to wait for
accessibilityController.focusedElement to be synced with the DOM
focused element before running our expectations. This fixes the
test in isolated tree mode.

* accessibility/mac/header-expected.txt:
Remove extra newline at end of the file.
* accessibility/mac/header.html:
Make test async.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/accessibility/mac/header-expected.txt
trunk/LayoutTests/accessibility/mac/header.html
trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp
trunk/Tools/DumpRenderTree/AccessibilityUIElement.h
trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm
trunk/Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
trunk/Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (285775 => 285776)

--- trunk/LayoutTests/ChangeLog	2021-11-13 16:44:06 UTC (rev 285775)
+++ trunk/LayoutTests/ChangeLog	2021-11-13 18:38:12 UTC (rev 285776)
@@ -1,3 +1,20 @@
+2021-11-13  Tyler Wilcock  
+
+AX: Make accessibility/mac/header.html test async to fix it for isolated tree mode
+https://bugs.webkit.org/show_bug.cgi?id=233017
+
+Reviewed by Andres Gonzalez.
+
+This test needs to be made async, as we need to wait for
+accessibilityController.focusedElement to be synced with the DOM
+focused element before running our expectations. This fixes the
+test in isolated tree mode.
+
+* accessibility/mac/header-expected.txt:
+Remove extra newline at end of the file.
+* accessibility/mac/header.html:
+Make test async.
+
 2021-11-12  Said Abou-Hallawa  
 
 REGRESSION(r285481): Infinite recursion with cyclic filter reference


Modified: trunk/LayoutTests/accessibility/mac/header-expected.txt (285775 => 285776)

--- trunk/LayoutTests/accessibility/mac/header-expected.txt	2021-11-13 16:44:06 UTC (rev 285775)
+++ trunk/LayoutTests/accessibility/mac/header-expected.txt	2021-11-13 18:38:12 UTC (rev 285776)
@@ -10,4 +10,3 @@
 Header outside section and article elements.
 Header inside an article.
 Header inside a section.
-


Modified: trunk/LayoutTests/accessibility/mac/header.html (285775 => 285776)

--- trunk/LayoutTests/accessibility/mac/header.html	2021-11-13 16:44:06 UTC (rev 285775)
+++ trunk/LayoutTests/accessibility/mac/header.html	2021-11-13 18:38:12 UTC (rev 285776)
@@ -1,36 +1,45 @@
+
 
-
 
-
+ 
-
-
Header outside section and article elements.
-
-
Header inside an article.
-
-
-
Header inside a section.
-
-

-