⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jan 28, 2022:

11:34 PM Changeset in webkit [288788] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests/imported/w3c

css/css-backgrounds/animations/box-shadow-composition.html has failures
https://bugs.webkit.org/show_bug.cgi?id=235773

Unreviewed sync with WPT upstream, our copy of this test was outdated and we in fact pass
all assertions.

  • web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt:
  • web-platform-tests/css/css-backgrounds/animations/box-shadow-composition.html:
11:32 PM Changeset in webkit [288787] by graouts@webkit.org
  • 3 edits
    17 adds
    6 deletes in trunk/LayoutTests

[WPT] Update CSS animation tests
https://bugs.webkit.org/show_bug.cgi?id=235759

Unreviewed manual WPT update.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-backgrounds/animations/background-color-animation-non-empty-no-draw-crash-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-animation-non-empty-no-draw-crash.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-animation-removed-element-crash-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-animation-removed-element-crash.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-animation-with-mask-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-animation-with-mask-ref.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-animation-with-mask.html: Added.
  • web-platform-tests/css/css-fonts/animations/font-palette-animation-2-expected.html: Removed.
  • web-platform-tests/css/css-fonts/animations/font-palette-animation-2.html: Removed.
  • web-platform-tests/css/css-fonts/animations/font-palette-animation-3-expected-mismatch.html: Removed.
  • web-platform-tests/css/css-fonts/animations/font-palette-animation-3.html: Removed.
  • web-platform-tests/css/css-fonts/animations/font-palette-animation-expected.html: Removed.
  • web-platform-tests/css/css-fonts/animations/font-palette-animation.html: Removed.
  • web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt: Added.
  • web-platform-tests/css/css-fonts/animations/system-fonts.html: Added.
  • web-platform-tests/css/css-size-adjust/animations/text-size-adjust-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-size-adjust/animations/text-size-adjust-interpolation.html: Added.

LayoutTests:

  • platform/glib/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt: Added.
  • platform/ios/imported/w3c/web-platform-tests/css/css-fonts/animations/system-fonts-expected.txt: Added.
11:24 PM Changeset in webkit [288786] by Antti Koivisto
  • 51 edits in trunk

[CSS container Queries] Include container queries in RuleSets
https://bugs.webkit.org/show_bug.cgi?id=235763

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-contain/container-queries/animation-container-size-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/animation-container-type-dynamic-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/animation-nested-animation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/animation-nested-transition-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/aspect-ratio-feature-evaluation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/auto-scrollbars-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/backdrop-invalidation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/conditional-container-status-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/container-for-shadow-dom.tentative-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/container-name-invalidation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/container-selection-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/container-size-invalidation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/container-type-invalidation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/counters-flex-circular-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/display-contents-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/display-none-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/font-relative-units-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/get-animations-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/iframe-invalidation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/ineligible-containment-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/inline-size-and-min-width-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/inline-size-containment-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/inline-size-containment-vertical-rl-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/orthogonal-wm-container-query-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/percentage-padding-orthogonal-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/pseudo-elements-001-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/pseudo-elements-003.tentative-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/query-content-box-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/query-evaluation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/reattach-container-with-dirty-child-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/size-container-no-principal-box-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/size-feature-evaluation-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/style-change-in-container-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/top-layer-dialog-container-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/top-layer-dialog-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/top-layer-nested-dialog-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/transition-scrollbars-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/transition-style-change-event-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/unsupported-axis-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/viewport-units-dynamic-expected.txt:
  • web-platform-tests/css/css-contain/container-queries/viewport-units-expected.txt:

Source/WebCore:

Build the data structures in RuleSets. They are not yet used, all queries behave as if they match.

  • style/RuleSet.cpp:

(WebCore::Style::RuleSet::addRule):

  • style/RuleSet.h:
  • style/RuleSetBuilder.cpp:

(WebCore::Style::RuleSetBuilder::addChildRules):
(WebCore::Style::RuleSetBuilder::addStyleRule):

  • style/RuleSetBuilder.h:

LayoutTests:

9:33 PM Changeset in webkit [288785] by Diego Pino Garcia
  • 4 edits in trunk/Source

Source/JavaScriptCore:
[WPE] Unreviewed, fix non-unified build after r288758
https://bugs.webkit.org/show_bug.cgi?id=235853

  • wasm/WasmBranchHintsSectionParser.cpp:

Source/WebCore:
[WPE] Unreviewed, fix non-unified build after r288759
https://bugs.webkit.org/show_bug.cgi?id=235853

  • Modules/webaudio/AudioWorkletNode.cpp:
9:22 PM Changeset in webkit [288784] by Fujii Hironori
  • 29 edits
    1 delete in trunk

[WinCairo] WebKitTestRunner should support pixel dump for accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=215041

Reviewed by Don Olmstead.

Source/WebKit:

Windows WebKitTestRunner is using WM_PRINT message to get the
widonws content for the pixel dump support. However, in the
accelerated compositing mode, the compositor in the GPU process
directly renders to the HWND of UI process.

This change added the offscreen rendering mode for the compositor.
In this mode, the rendering results of the compositor are captured
by using glReadPixels in GPU process, and transferred it to UI
process via the non-AC mode code path.

Added WKViewSetUsesOffscreenRendering API to enable the offscreen
rendering mode.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::createWCLayerTreeHost):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/GPUConnectionToWebProcess.messages.in:
  • GPUProcess/graphics/wc/RemoteWCLayerTreeHost.cpp:

(WebKit::RemoteWCLayerTreeHost::create):
(WebKit::RemoteWCLayerTreeHost::RemoteWCLayerTreeHost):
(WebKit::RemoteWCLayerTreeHost::update):

  • GPUProcess/graphics/wc/RemoteWCLayerTreeHost.h:
  • GPUProcess/graphics/wc/RemoteWCLayerTreeHost.messages.in:
  • GPUProcess/graphics/wc/WCScene.cpp:

(WebKit::WCScene::WCScene):
(WebKit::WCScene::update):

  • GPUProcess/graphics/wc/WCScene.h:
  • PlatformWin.cmake:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/C/win/WKView.cpp:

(WKViewSetUsesOffscreenRendering):

  • UIProcess/API/C/win/WKView.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • UIProcess/wc/DrawingAreaProxyWC.cpp:

(WebKit::DrawingAreaProxyWC::dispatchAfterEnsuringDrawing):

  • UIProcess/wc/DrawingAreaProxyWC.h:
  • UIProcess/win/PageClientImpl.cpp:

(WebKit::PageClientImpl::usesOffscreenRendering const):

  • UIProcess/win/PageClientImpl.h:
  • UIProcess/win/WebView.cpp:

(WebKit::WebView::setUsesOffscreenRendering):
(WebKit::WebView::usesOffscreenRendering const):

  • UIProcess/win/WebView.h:
  • WebProcess/GPU/graphics/wc/RemoteWCLayerTreeHostProxy.cpp:

(WebKit::RemoteWCLayerTreeHostProxy::RemoteWCLayerTreeHostProxy):
(WebKit::RemoteWCLayerTreeHostProxy::ensureGPUProcessConnection):
(WebKit::RemoteWCLayerTreeHostProxy::disconnectGpuProcessIfNeeded):
(WebKit::RemoteWCLayerTreeHostProxy::gpuProcessConnectionDidClose):
(WebKit::RemoteWCLayerTreeHostProxy::update):
(WebKit::RemoteWCLayerTreeHostProxy::didUpdate): Deleted.

  • WebProcess/GPU/graphics/wc/RemoteWCLayerTreeHostProxy.h:
  • WebProcess/GPU/graphics/wc/RemoteWCLayerTreeHostProxy.messages.in: Removed.
  • WebProcess/WebPage/wc/DrawingAreaWC.cpp:

(WebKit::DrawingAreaWC::DrawingAreaWC):
(WebKit::DrawingAreaWC::setNeedsDisplay):
(WebKit::DrawingAreaWC::setNeedsDisplayInRect):
(WebKit::DrawingAreaWC::forceRepaintAsync):
(WebKit::DrawingAreaWC::sendUpdateAC):
(WebKit::DrawingAreaWC::didUpdate):

  • WebProcess/WebPage/wc/DrawingAreaWC.h:

Tools:

  • WebKitTestRunner/TestOptions.cpp:

(WTR::TestOptions::defaults):

  • WebKitTestRunner/win/PlatformWebViewWin.cpp:

(WTR::PlatformWebView::PlatformWebView):

8:44 PM Changeset in webkit [288783] by mmaxfield@apple.com
  • 7 edits
    2 adds in trunk

REGRESSION(r281687): Space widths have synthetic bold applied to them in the fast text codepath but not the complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=235755
<rdar://problem/88052073>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-fonts/synthetic-bold-space-width-expected.html: Added.
  • web-platform-tests/css/css-fonts/synthetic-bold-space-width.html: Added.

Source/WebCore:

r281687 made Font::widthForGlyph() return the non-synthetically-expanded width,
instead of the synthetically-expanded width.

I think this is philosophically correct, because Font::widthForGlyph() is called before shaping,
and shaping requires the original width. If some custom code is asking for the width of specific
characters without going through WidthIterator or ComplexTextController, that code needs to
determine whether or not it's going to run shaping, and thus when it should be adding in the
synthetic offset.

adjustGlyphsAndAdvances() used to subtract out the synthetic offset because it was expecting
Font::widthForGlyph() to return the already-expanded width. So, the solution is just stop subtracting
the offset, because it hasn't been applied in the first place.

Test: imported/w3c/web-platform-tests/css/css-fonts/synthetic-bold-space-width.html

  • platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/graphics/Font.h:

LayoutTests:

  • platform/mac/fast/text/atsui-multiple-renderers-expected.txt:
8:22 PM Changeset in webkit [288782] by Nikos Mouchtaris
  • 2 edits in trunk/Source/WebKit

Implement CSS overscroll-behavior for iOS
https://bugs.webkit.org/show_bug.cgi?id=233788

Reviewed by Simon Fraser.

Add setting of ScrollView parameters based on overscroll-behavior values.

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:

(WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren):

7:29 PM Changeset in webkit [288781] by Kocsen Chung
  • 1 copy in tags/Safari-613.1.16

Tag Safari-613.1.16.

7:29 PM Changeset in webkit [288780] by Kocsen Chung
  • 1 delete in tags/Safari-613.1.16

Delete tag.

7:27 PM Changeset in webkit [288779] by Kocsen Chung
  • 21 edits
    1 move
    3 adds in branches/safari-613-branch/Source

Apply patch. rdar://problem/82627192

7:27 PM Changeset in webkit [288778] by Kocsen Chung
  • 5 edits in branches/safari-613-branch/Source

Cherry-pick r287961. rdar://problem/86282584

[Re-landing] Update hashThreadState() to exclude opaque_flags.
https://bugs.webkit.org/show_bug.cgi?id=235081
rdar://86282584

Reviewed by Keith Miller.

Source/JavaScriptCore:

Removed some unused code.

  • runtime/MachineContext.h: (JSC::MachineContext::stackPointer): (JSC::MachineContext::framePointer): (JSC::MachineContext::instructionPointer): (JSC::MachineContext::linkRegister): (JSC::MachineContext::setStackPointer): Deleted. (JSC::MachineContext::setFramePointer): Deleted. (JSC::MachineContext::setLinkRegister): Deleted.

Source/WTF:

The opaque_flags may be used by the OS, and may be altered without our knowledge.
Hence, our hash should not include the
opaque_flags field.

Also remove some unused code.

  • wtf/PlatformRegisters.h:
  • wtf/threads/Signals.cpp: (WTF::hashThreadState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287961 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6:56 PM Changeset in webkit [288777] by Nikos Mouchtaris
  • 8 edits
    9 adds in trunk

Implement CSS overscroll-behavior for asynchronous scroll on Mac
https://bugs.webkit.org/show_bug.cgi?id=220139

Reviewed by Simon Fraser.

Source/WebCore:

Split up patch by Cathie Chen and Frederic Wang. Add function for blocking scroll chaining
and filtering scroll delta depending on the values of overscroll behavior for a scrolling
node. This patch is for asynchronous scrolling only.

Tests: fast/scrolling/mac/async-overscroll-behavior-element.html

fast/scrolling/mac/async-overscroll-behavior-iframe.html
fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html
fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::shouldBlockScrollChainingWithNode):
(WebCore::ScrollingTree::handleWheelEventWithNode):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::recompositeChangeRequiresGeometryUpdate):
(WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresRecompositeLayer const):

LayoutTests:

  • fast/scrolling/mac/async-overscroll-behavior-element-expected.txt: Added.
  • fast/scrolling/mac/async-overscroll-behavior-element.html: Added.
  • fast/scrolling/mac/async-overscroll-behavior-iframe-expected.txt: Added.
  • fast/scrolling/mac/async-overscroll-behavior-iframe.html: Added.
  • fast/scrolling/mac/async-overscroll-behavior-unscrollable-element-expected.txt: Added.
  • fast/scrolling/mac/async-overscroll-behavior-unscrollable-element.html: Added.
  • fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe-expected.txt: Added.
  • fast/scrolling/mac/async-overscroll-behavior-unscrollable-iframe.html: Added.
  • fast/scrolling/resources/overscroll-behavior-support.js: Added.

(getDeltas):
(async mouseWheelScrollAndWait):

6:42 PM Changeset in webkit [288776] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS][WP] Temporarily add syscall to sandbox
https://bugs.webkit.org/show_bug.cgi?id=235841
<rdar://88197549>

Reviewed by Brent Fulgham.

Temporarily add syscall to sandbox in the WebContent process on macOS. This can be removed when <rdar://88210738> is fixed.

  • WebProcess/com.apple.WebProcess.sb.in:
6:15 PM Changeset in webkit [288775] by Robert Jenner
  • 2 edits in trunk/LayoutTests

[ BigSur+ Release wk1 arm64 ] Bots are flaky exiting testing after 500 layout-test failures (235733)
https://bugs.webkit.org/show_bug.cgi?id=235733

Uneviewed test gardening.

  • platform/mac-wk1/TestExpectations: Skipping test for mac BigSur and later wk1 arm64 Release because it intermittently causes many tests to fail.
6:12 PM Changeset in webkit [288774] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore

AX: AccessibilitySlider::inputElement should check if the renderer has become null
https://bugs.webkit.org/show_bug.cgi?id=235827

Reviewed by Chris Fleizach.

After https://bugs.webkit.org/show_bug.cgi?id=235715, we no longer
call the update version of children() from logging. This has made
accessibility/mac/spinbutton-valuedescription.html a constant failure
in debug mode only, since the logging is trying to print an AX tree that
is out of sync with the DOM. This test uses JS to remove an <input>
renderer + node.

Fixes accessibility/mac/spinbutton-valuedescription.html in debug.

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::inputElement const):
Null check m_renderer before using it.
(WebCore::AccessibilitySlider::getAttribute const):
(WebCore::AccessibilitySlider::valueForRange const):
(WebCore::AccessibilitySlider::maxValueForRange const):
(WebCore::AccessibilitySlider::minValueForRange const):
Null check the result of inputElement() before dereferencing it.

5:23 PM Changeset in webkit [288773] by Aditya Keerthi
  • 14 edits in trunk

Add SPI to retrieve the rect of a found text range
https://bugs.webkit.org/show_bug.cgi?id=235830
rdar://88193004

Reviewed by Wenson Hsieh.

Source/WebKit:

Clients of found text ranges need a way to determine their position
in the web view. An asynchronous SPI is provided to support this need.
This information is not encoded in the text range itself, as the
position can change due to scrolling in sub-scrollable regions.
Consequently, the position must be obtained by communicating with the
WebProcess.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _requestRectForFoundTextRange:completionHandler:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::requestRectForFoundTextRange):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView requestRectForFoundTextRange:completionHandler:]):

  • WebProcess/WebPage/WebFoundTextRangeController.cpp:

(WebKit::WebFoundTextRangeController::requestRectForFoundTextRange):

  • WebProcess/WebPage/WebFoundTextRangeController.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::requestRectForFoundTextRange):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Added a test to verify the API works as expected.

The test uses an <iframe> to verify behavior for scrolled
<iframe>s.

  • TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:

(-[TestSearchAggregator initWithCompletionHandler:]):
(-[TestSearchAggregator foundRange:forSearchString:inDocument:]):
(-[TestSearchAggregator foundRanges]):
(-[TestSearchAggregator count]):
(TEST):

5:02 PM Changeset in webkit [288772] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Update CaptivePortal entitlements to support full GigaCage
https://bugs.webkit.org/show_bug.cgi?id=235834
<rdar://problem/88075019>

Reviewed by Chris Dumez.

The CaptivePortal process, which does not allow JIT, cannot enable GigaCage without
a new entitlement.

  • Scripts/process-entitlements.sh:
4:54 PM Changeset in webkit [288771] by Kocsen Chung
  • 1 copy in tags/Safari-613.1.16

Tag Safari-613.1.16.

4:50 PM Changeset in webkit [288770] by Kocsen Chung
  • 2 edits in branches/safari-613-branch/Source/WebKit

Cherry-pick r288750. rdar://problem/88177392

[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235828
<rdar://88177392>

Reviewed by Darin Adler.

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288750 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:50 PM Changeset in webkit [288769] by Kocsen Chung
  • 2 edits in branches/safari-613-branch/Source/WebKit

Cherry-pick r287844. rdar://problem/87262730

[MacCatalyst] Add syscalls from iOS sandbox
https://bugs.webkit.org/show_bug.cgi?id=234970
<rdar://problem/87262730>

Reviewed by Darin Adler.

Add syscalls from iOS sandbox that are not in the MacCatalyst sandbox, since these are potentially
still needed on MacCatalyst.

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@287844 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:39 PM Changeset in webkit [288768] by Russell Epstein
  • 1 copy in tags/Safari-613.1.14.5.6

Tag Safari-613.1.14.5.6.

4:38 PM Changeset in webkit [288767] by Russell Epstein
  • 4 edits in branches/safari-613.1.14.5-branch/Source

Cherry-pick r288766. rdar://problem/88207448

Catalyst builds for WebCore and WebKitLegacy don't create proper symlinks for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235839

Reviewed by Saam Barati.

Source/WebCore:

Fixed ALTERNATE_ROOT_PATH to have a proper path for Catalyst builds, but not for normal macOS builds
since they are under WebKit.framework.

  • Configurations/WebCore.xcconfig:

Source/WebKitLegacy/mac:

Fixed ALTERNATE_ROOT_PATH and OUTPUT_ALTERNATE_ROOT_PATH to have proper paths for Catalyst builds,
but not for normal macOS builds since they are under WebKit.framework.

  • Configurations/WebKitLegacy.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288766 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:36 PM Changeset in webkit [288766] by msaboff@apple.com
  • 4 edits in trunk/Source

Catalyst builds for WebCore and WebKitLegacy don't create proper symlinks for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235839

Reviewed by Saam Barati.

Source/WebCore:

Fixed ALTERNATE_ROOT_PATH to have a proper path for Catalyst builds, but not for normal macOS builds
since they are under WebKit.framework.

  • Configurations/WebCore.xcconfig:

Source/WebKitLegacy/mac:

Fixed ALTERNATE_ROOT_PATH and OUTPUT_ALTERNATE_ROOT_PATH to have proper paths for Catalyst builds,
but not for normal macOS builds since they are under WebKit.framework.

  • Configurations/WebKitLegacy.xcconfig:
4:25 PM Changeset in webkit [288765] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.5-branch/Source

Versioning.

WebKit-7613.1.14.5.6

4:14 PM Changeset in webkit [288764] by Kocsen Chung
  • 9 edits in branches/safari-613-branch/Source

Versioning.

WebKit-7613.1.16

4:05 PM Changeset in webkit [288763] by Alexey Shvayka
  • 8 edits in trunk

Remove showModalDialog-specific logic from JSDOMWindow::getOwnPropertySlot()
https://bugs.webkit.org/show_bug.cgi?id=234282

Reviewed by Yusuke Suzuki.

Source/WebCore:

This change removes showModalDialog-specific logic from JSDOMWindow::getOwnPropertySlot()
in favor of a setter-less CustomValue property on window, which returns a function only
if modals are allowed, and can be overriden by userland code.

Since we need to support setCanRunModal(true) being called after DOMWindow is initialized,
[EnabledByQuirk] and friends could not be used. However, once the function was exposed,
there is no point in hiding it, so the CustomValue getter replaces itself with a regular
data property to preserve function's identity (covered by fast/dom/wrapper-identity.html).

The patch makes JSDOMWindow's getOwnPropertySlot() consistent with its getOwnPropertyNames()
regarding the presence of "showModalDialog" property, and fixes JSDOMWindow::getOwnPropertySlot()
being ignored by LLInt when accessing "showModalDialog" from scope, which resulted in exposing
the function even if modals were disallowed.

Test: fast/dom/Window/forbid-showModalDialog.html

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::finishCreation):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSC_DEFINE_CUSTOM_GETTER):
(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSDOMWindow::showModalDialog): Deleted.

  • bindings/js/JSDOMWindowCustom.h:
  • page/DOMWindow.idl:

LayoutTests:

  • fast/dom/Window/forbid-showModalDialog-expected.txt:
  • fast/dom/Window/forbid-showModalDialog.html:
3:12 PM Changeset in webkit [288762] by Aditya Keerthi
  • 9 edits in trunk/Source/WebKit

Migrate _UITextSearching implementation to be backed by WebFoundTextRangeController
https://bugs.webkit.org/show_bug.cgi?id=235693
rdar://88117303

Reviewed by Tim Horton.

Migrate _UITextSearching implementation to be backed by
WebFoundTextRangeController to support restoreable find results.

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView scrollRangeToVisible:inDocument:]):
(-[WKWebView didBeginTextSearchOperation]):
(-[WKWebView didEndTextSearchOperation]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findTextRangesForStringMatches):
(WebKit::WebPageProxy::decorateTextRangeWithStyle):
(WebKit::WebPageProxy::scrollTextRangeToVisible):
(WebKit::WebPageProxy::clearAllDecoratedFoundText):
(WebKit::WebPageProxy::didBeginTextSearchOperation):
(WebKit::WebPageProxy::didEndTextSearchOperation):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView offsetFromPosition:toPosition:]):
(-[WKContentView performTextSearchWithQueryString:usingOptions:resultAggregator:]):
(-[WKContentView decorateFoundTextRange:inDocument:usingStyle:]):
(-[WKContentView scrollRangeToVisible:inDocument:]):
(-[WKContentView clearAllDecoratedFoundText]):
(-[WKContentView didBeginTextSearchOperation]):
(-[WKContentView didEndTextSearchOperation]):
(+[WKFoundTextRange foundTextRangeWithWebFoundTextRange:]):
(-[WKFoundTextRange start]):
(-[WKFoundTextRange end]):
(-[WKFoundTextRange webFoundTextRange]):
(+[WKFoundTextPosition textPositionWithOffset:order:]):
(+[WKFoundTextRange foundTextRangeWithRect:index:]): Deleted.
(+[WKFoundTextPosition textPositionWithIndex:]): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::findTextRangesForStringMatches):
(WebKit::WebPage::decorateTextRangeWithStyle):
(WebKit::WebPage::scrollTextRangeToVisible):
(WebKit::WebPage::clearAllDecoratedFoundText):
(WebKit::WebPage::didBeginTextSearchOperation):
(WebKit::WebPage::didEndTextSearchOperation):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::foundTextRangeController):

  • WebProcess/WebPage/WebPage.messages.in:
3:06 PM Changeset in webkit [288761] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Enable wasm branch hinting
https://bugs.webkit.org/show_bug.cgi?id=235832

Reviewed by Saam Barati.

https://github.com/WebAssembly/branch-hinting is stage-3 wasm feature.
Flip the flag to enable it.

  • runtime/OptionsList.h:
1:46 PM Changeset in webkit [288760] by Aditya Keerthi
  • 4 edits in trunk/Source/WebKit

Add support for decorating and scrolling to ranges in WebFoundTextRangeController
https://bugs.webkit.org/show_bug.cgi?id=235692
rdar://88117232

Reviewed by Wenson Hsieh.

  • Shared/WebFoundTextRange.h:

(WTF::HashTraits<WebKit::WebFoundTextRange>::deletedValue):

The empty and deleted values should not be the same.

(WTF::HashTraits<WebKit::WebFoundTextRange>::constructDeletedValue):
(WTF::HashTraits<WebKit::WebFoundTextRange>::isDeletedValue):

  • WebProcess/WebPage/WebFoundTextRangeController.cpp:

(WebKit::WebFoundTextRangeController::findTextRangesForStringMatches):

Cache the found ranges and their corresponding SimpleRange, to avoid
unnecessary tree traversal each time we want to decorate or scroll to
a found result.

(WebKit::WebFoundTextRangeController::decorateTextRangeWithStyle):

Found ranges can currently be decorated with 3 styles: "Normal",
"Found", and "Highlighted". The "Found" style is drawn using
document markers. The "Highlighted" style is drawn using a
TextIndicator.

(WebKit::WebFoundTextRangeController::scrollTextRangeToVisible):

Use TemporarySelectionChange to make the range visible.

(WebKit::WebFoundTextRangeController::clearAllDecoratedFoundText):
(WebKit::WebFoundTextRangeController::didBeginTextSearchOperation):
(WebKit::WebFoundTextRangeController::didEndTextSearchOperation):
(WebKit::WebFoundTextRangeController::willMoveToPage):
(WebKit::WebFoundTextRangeController::didMoveToPage):
(WebKit::WebFoundTextRangeController::drawRect):
(WebKit::WebFoundTextRangeController::rectsForTextMatchesInRect):
(WebKit::WebFoundTextRangeController::documentForFoundTextRange const):

Use the frame identifer of the WebFoundTextRange to retrieve the
corresponding Document, so that the range can be appropriately
mapped for decoration/scrolling.

(WebKit::WebFoundTextRangeController::simpleRangeFromFoundTextRange):

A helper method to cache WebFoundTextRanges and SimpleRanges.

  • WebProcess/WebPage/WebFoundTextRangeController.h:
12:56 PM Changeset in webkit [288759] by Chris Dumez
  • 14 edits
    1 copy in trunk/Source

ASSERTION FAILED: m_processCallback in WebCore::AudioWorkletProcessor::process
https://bugs.webkit.org/show_bug.cgi?id=235529

Reviewed by Geoffrey Garen and Darin Adler.

Source/WebCore:

m_processCallback stores the JS wrapper for the AudioWorkletProcessor and the crash
was due to that JS wrapper getting garbage collected while the AudioWorkletNode
was still rendering. The JS wrapper for AudioWorkletProcessor is actually created
by AudioWorkletGlobalScope::createProcessor() and the JavaScript does not usually
keep a reference to it.

To address the issue, I added a visitor to the AudioWorkletGlobalScope wrapper
which visits the processors that it created and that still have an associated
AudioWorkletNode owner.

  • Modules/webaudio/AudioWorkletGlobalScope.cpp:

(WebCore::AudioWorkletGlobalScope::createProcessor):
(WebCore::AudioWorkletGlobalScope::processorIsNoLongerNeeded):
(WebCore::AudioWorkletGlobalScope::visitProcessors):

  • Modules/webaudio/AudioWorkletGlobalScope.h:
  • Modules/webaudio/AudioWorkletGlobalScope.idl:
  • Modules/webaudio/AudioWorkletNode.cpp:

(WebCore::AudioWorkletNode::~AudioWorkletNode):

  • Modules/webaudio/AudioWorkletProcessor.cpp:

(WebCore::AudioWorkletProcessor::create):
(WebCore::AudioWorkletProcessor::AudioWorkletProcessor):
(WebCore::AudioWorkletProcessor::process):
(WebCore::AudioWorkletProcessor::setWrapper):
(WebCore::AudioWorkletProcessor::setProcessCallback): Deleted.

  • Modules/webaudio/AudioWorkletProcessor.h:

(WebCore::AudioWorkletProcessor::wrapper):
(WebCore::AudioWorkletProcessor::processCallbackWrapper): Deleted.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSAudioWorkletProcessorCustom.cpp:

(WebCore::JSAudioWorkletProcessor::visitAdditionalChildren):

Source/WTF:

Add template parameter to WeakHashSet to disable threading assertions. This is useful
when the call site is using locking.

  • wtf/WeakHashSet.h:
  • wtf/WeakPtr.h:
12:48 PM Changeset in webkit [288758] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk

[JSC] Add support for WASM branch hinting proposal
https://bugs.webkit.org/show_bug.cgi?id=235581

Patch by Tom Tartarin <tom@leaningtech.com> on 2022-01-28
Reviewed by Yusuke Suzuki.

JSTests:

Add test for branch hinting custom section

  • wasm.yaml:
  • wasm/branch-hints/branchHintsModule.wasm: Added.
  • wasm/branch-hints/branchHintsSection.js: Added.

(const.module):

Source/JavaScriptCore:

See the proposal for a more detailed description: https://github.com/WebAssembly/branch-hinting.

This allows parsing a "code_annotation.branch_hint" custom section,
as per the code annotation proposal: https://github.com/WebAssembly/annotations.
This section provides per function information about how likely a branch at a
given offset is to be taken. It is similar to branch weight metadata in LLVM.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • runtime/OptionsList.h:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addIf):
(JSC::Wasm::AirIRGenerator::addBranch):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addIf):
(JSC::Wasm::B3IRGenerator::addBranch):

  • wasm/WasmBranchHints.h: Added.

(JSC::Wasm::BranchHintMap::add):
(JSC::Wasm::BranchHintMap::getBranchHint const):
(JSC::Wasm::BranchHintMap::isValidKey const):
(JSC::Wasm::isValidBranchHint):

  • wasm/WasmBranchHintsSectionParser.cpp: Added.

(JSC::Wasm::BranchHintsSectionParser::parse):

  • wasm/WasmBranchHintsSectionParser.h: Added.

(JSC::Wasm::BranchHintsSectionParser::BranchHintsSectionParser):

  • wasm/WasmModuleInformation.h:

(JSC::Wasm::ModuleInformation::getBranchHint const):

  • wasm/WasmSectionParser.cpp:

(JSC::Wasm::SectionParser::parseCustom):

12:19 PM Changeset in webkit [288757] by Russell Epstein
  • 1 copy in tags/Safari-613.1.14.5.5

Tag Safari-613.1.14.5.5.

12:18 PM Changeset in webkit [288756] by Russell Epstein
  • 6 edits in branches/safari-613.1.14.5-branch/Source

Cherry-pick r288749. rdar://problem/87928380

Catalyst builds fail for WebCore, WebKi and WebKitLegacy for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235821

Reviewed by Saam Barati.

Source/WebCore:

The value of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR for Catalyst builds had the system content prefix
after the Catalyst prefix. I reversed them.

  • Configurations/WebCore.xcconfig:

Source/WebKit:

Eliminated the system content prefix from ALTERNATE_ROOT_PATH since it is the old location.
Changed the create symlink script to create the directory path leading up to the symlink because
it isn't created for Catalyst builds.

  • Configurations/SDKVariant.xcconfig:
  • Configurations/WebKit.xcconfig:
  • Scripts/create-symlink-to-altroot.sh:
  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288749 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:09 PM Changeset in webkit [288755] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.5-branch/Source

Versioning.

WebKit-7613.1.14.5.5

11:52 AM Changeset in webkit [288754] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebKit

Ensure session is added in network process when it creates connection to web process
https://bugs.webkit.org/show_bug.cgi?id=235754

Reviewed by Chris Dumez.

In NetworkProcess::CreateNetworkConnectionToWebProcess, if the session that web process is using is not added
yet, WorkQueueMessageReceiver cannot be added to the connection and storage messages will be dropped. Usually
session is added in NetworkProcess::AddWebsiteDataStore, which is sent from UI process before
NetworkProcess::CreateNetworkConnectionToWebProcess; but CreateNetworkConnectionToWebProcess message has
DispatchMessageEvenWhenWaitingForSyncReply flag set, so it might get processed earlier.

To fix the issue, now we send set DispatchMessageEvenWhenWaitingForSyncReply flag on AddWebsiteDataStore message
too, so it's processed before CreateNetworkConnectionToWebProcess.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::addSession):

11:48 AM Changeset in webkit [288753] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

JSEventListener::replaceJSFunctionForAttributeListener() should not replace m_wrapper unconditionally
https://bugs.webkit.org/show_bug.cgi?id=235658

Unreviewed, follow-up to r288648 based on Geoff's feedback.

Assert that if replaceJSFunctionForAttributeListener() is invoked, m_wrapper is
alive and remains unchanged. Remove writeBarrier() as ensureJSFunction() sets it
up only for functions created from source code.

To meet the expectation for Window-reflecting event handlers, ensure that
setAttributeEventListener() is called with the correct wrapper, and also call it
directly on DOMWindow to improve readability.

Patch by Alexey Shvayka <ashvayka@apple.com> on 2022-01-28

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::replaceJSFunctionForAttributeListener):

  • bindings/js/JSEventListener.h:

(WebCore::setWindowEventHandlerAttribute):

11:47 AM Changeset in webkit [288752] by Kocsen Chung
  • 1 edit in branches/safari-613-branch/Source/WTF/wtf/PlatformEnable.h

Apply patch. rdar://problem/88164014

11:29 AM Changeset in webkit [288751] by Kocsen Chung
  • 2 edits in branches/safari-613-branch/Source/WebKit

Cherry-pick r288591. rdar://problem/87850345

[macOS][WP] Allow mach extension to service

https://bugs.webkit.org/show_bug.cgi?id=235599
<rdar://87850345>

Reviewed by Darin Adler.

Allow mach extension to a service in the WebContent process on macOS.

  • WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288591 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:07 AM Changeset in webkit [288750] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS][WP] Add required syscall
https://bugs.webkit.org/show_bug.cgi?id=235828
<rdar://88177392>

Reviewed by Darin Adler.

  • WebProcess/com.apple.WebProcess.sb.in:
11:03 AM Changeset in webkit [288749] by msaboff@apple.com
  • 6 edits in trunk/Source

Catalyst builds fail for WebCore, WebKi and WebKitLegacy for builds with system content path
https://bugs.webkit.org/show_bug.cgi?id=235821

Reviewed by Saam Barati.

Source/WebCore:

The value of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR for Catalyst builds had the system content prefix
after the Catalyst prefix. I reversed them.

  • Configurations/WebCore.xcconfig:

Source/WebKit:

Eliminated the system content prefix from ALTERNATE_ROOT_PATH since it is the old location.
Changed the create symlink script to create the directory path leading up to the symlink because
it isn't created for Catalyst builds.

  • Configurations/SDKVariant.xcconfig:
  • Configurations/WebKit.xcconfig:
  • Scripts/create-symlink-to-altroot.sh:
  • WebKit.xcodeproj/project.pbxproj:
11:01 AM Changeset in webkit [288748] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] YarrJIT optimization for character BM search
https://bugs.webkit.org/show_bug.cgi?id=235738

Reviewed by Saam Barati.

Add micro-optimization of BM search path. Since it is super hot path,
this small improvement offsers 1% in jquery-todomvc-regexp microbenchmark.

ToT Patched

jquery-todomvc-regexp 484.1399+-1.0527 479.0932+-1.0999 definitely 1.0105x faster

  • yarr/YarrJIT.cpp:
10:33 AM Changeset in webkit [288747] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Symbols not always properly hidden when using WebKitAdditions to introduce new API
https://bugs.webkit.org/show_bug.cgi?id=235674
<rdar://87999257>

Reviewed by Wenson Hsieh.

Follow-up to r288658 to address post commit feedback from Alexey Proskuryakov.

  • UIProcess/API/Cocoa/WKWebpagePreferences.h:
  • mac/replace-webkit-additions-includes.py:

(main):

10:28 AM Changeset in webkit [288746] by ntim@apple.com
  • 2 edits in trunk/Source/WTF

Enable inert attribute feature flag
https://bugs.webkit.org/show_bug.cgi?id=235668

Reviewed by Darin Adler.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
10:09 AM Changeset in webkit [288745] by jonlee@apple.com
  • 3 edits in trunk/LayoutTests

Add copy-to-clipboard button for fuzzy matching meta tag
https://bugs.webkit.org/show_bug.cgi?id=235665

Reviewed by Darin Adler.

  • fast/harness/image-diff-template.html: Add button which cycles through different versions of

the fuzzy match string to allow for both absolute values and a range. Add a button that copies
that text and inserts into meta tag string prior to copying to clipboard.

  • fast/harness/image-diff-template-expected.txt:
9:37 AM Changeset in webkit [288744] by Ryan Haddad
  • 3 edits in trunk/Tools/CISupport/build-webkit-org

Bring up additional test queues on Big Sur
https://bugs.webkit.org/show_bug.cgi?id=235446

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/config.json:
  • CISupport/build-webkit-org/factories_unittest.py:

(TestExpectedBuildSteps):

  • CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

Canonical link: https://commits.webkit.org/246537@main

9:29 AM Changeset in webkit [288743] by Patrick Angle
  • 2 edits
    3 adds in trunk/Source/WebInspectorUI

Web Inspector: Add another Protocol Version (iOS 15.4)
https://bugs.webkit.org/show_bug.cgi?id=235741

Reviewed by Devin Rousso.

  • UserInterface/Models/Animation.js:

(WI.Animation.prototype.requestEffectTarget):

  • Update compatibility comment to reflect that the change is not present in iOS 15.4 or earlier.
  • UserInterface/Protocol/Legacy/15.4/InspectorBackendCommands.js: Added.
  • Versions/Inspector-iOS-15.4.json: Added.
9:16 AM Changeset in webkit [288742] by commit-queue@webkit.org
  • 4 edits in trunk

[XCBuild] Small corrections to build-webkit and Makefile for workspace builds
https://bugs.webkit.org/show_bug.cgi?id=235747

Patch by Elliott Williams <Elliott Williams> on 2022-01-28
Reviewed by Alexey Proskuryakov.

.:

  • Makefile: Set SCRIPTS_PATH correctly from the root of the repo

Tools:

  • Scripts/build-webkit: When --use-workspace is passed, assume --xcbuild
8:09 AM Changeset in webkit [288741] by Tyler Wilcock
  • 2 edits in trunk/Source/WebKit

AX: Isolated tree object frames no longer encode content offsets, so hit testing should be updated accordingly
https://bugs.webkit.org/show_bug.cgi?id=235726

Reviewed by Chris Fleizach.

In -[WKAccessibilityWebPageObjectMac accessibilityHitTest], we have a special isolated tree case:

Isolated tree frames have the offset encoded into them so we don't need to undo here.
#if ENABLE(ACCESSIBILITY_ISOLATED_TREE)

applyContentOffset = !WebCore::AXObjectCache::isIsolatedTreeEnabled();

#endif

The statement in the comment no longer seems to be true, as not applying this content offset results
in hit testing working incorrectly (the point given to WebCore is too small).

This is because isolated tree hit testing used to use relative frames:

https://github.com/WebKit/WebKit/blob/f5525921aac090ca9544cce2a3ac28e38f92c9ba/Source/WebCore/accessibility/isolatedtree/AXIsolatedTreeNode.cpp#L115

But now doesn't, instead deferring to the live, main-thread AX object, which doesn't use relative frames:

https://github.com/WebKit/WebKit/blob/4221a510fe4678cf1a03e5c06878cf2d3f0c1738/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp#L814

This patch removes this isolated-tree-specific behavior.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

8:00 AM Changeset in webkit [288740] by Jonathan Bedard
  • 3 edits in trunk/Tools

[EWS] Only make a single request to GitHub when validating PR
https://bugs.webkit.org/show_bug.cgi?id=235716
<rdar://problem/88133197>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(GitHubMixin._is_pr_closed): Accept pr_json, do not make request.
(GitHubMixin._is_pr_obsolete): Ditto.
(ValidateChange.validate_github): Make request and pass json to functions.

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/246533@main

7:27 AM Changeset in webkit [288739] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK][a11y] WTR: implement AccessibilityUIElement::isIgnored() for ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235761

Reviewed by Adrian Perez de Castro.

Source/WebCore:

  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::isIgnored const):

  • accessibility/atspi/AccessibilityObjectAtspi.h:

Tools:

  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::isIgnored const):

7:25 AM Changeset in webkit [288738] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK][a11y] Return the list of column/row headers from header cells too with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235711

Reviewed by Adrian Perez de Castro.

Source/WebCore:

We are only returning the list of column/row headers from cells that are not headers for consistency with
chromium. However, our layout tests don't expect that and firefox doesn't do it either.

  • accessibility/atspi/AccessibilityObjectTableCellAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::cellRowHeaders const):
(WebCore::AccessibilityObjectAtspi::cellColumnHeaders const):

Tools:

  • TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:

(testTableBasic):

7:22 AM Changeset in webkit [288737] by graouts@webkit.org
  • 2 edits
    4 deletes in trunk/LayoutTests

[WPT] Remove outdated Web Animations expectations
https://bugs.webkit.org/show_bug.cgi?id=235767

Unreviewed test gardening.

LayoutTests/imported/w3c:

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

LayoutTests:

  • platform/glib/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Removed.
5:28 AM Changeset in webkit [288736] by Pablo Saavedra
  • 2 edits in trunk

[WPE] Build error with ACCESSIBILITY=OFF after r288731
https://bugs.webkit.org/show_bug.cgi?id=235764

Reviewed by Adrian Perez de Castro.

  • Source/cmake/OptionsWPE.cmake:
3:35 AM Changeset in webkit [288735] by aakash_jain@apple.com
  • 1 edit in trunk/Tools/CISupport/ews-build/loadConfig.py

[ews] validate-change step fails while running for a try build
https://bugs.webkit.org/show_bug.cgi?id=235750

Reviewed by Jonathan Bedard.

  • Tools/CISupport/ews-build/loadConfig.py:

(loadBuilderConfig):

Canonical link: https://commits.webkit.org/246528@main

Jan 27, 2022:

11:58 PM Changeset in webkit [288734] by Chris Dumez
  • 20 edits in trunk

Radio buttons with no form owner are not grouped
https://bugs.webkit.org/show_bug.cgi?id=220502
<rdar://problem/73300895>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
  • web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
  • web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:

Source/WebCore:

Per the HTML specification and to match the behavior of both Gecko and Blink,
radio buttons should still be grouped, even if they are disconnected and not
owned by a form.

This patch aligns our behavior with Gecko and Blink and is based on the following
Blink commit:

No new tests, rebaselined existing tests.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::didChangeForm):
(WebCore::HTMLInputElement::insertedIntoAncestor):
(WebCore::HTMLInputElement::removedFromAncestor):
(WebCore::HTMLInputElement::checkedRadioButtonForGroup const):

  • html/InputType.h:

(WebCore::InputType::willUpdateCheckedness):

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::valueMissing const):
(WebCore::RadioInputType::willUpdateCheckedness):

  • html/RadioInputType.h:

LayoutTests:

  • fast/forms/radio/ValidityState-valueMissing-radio-expected.txt:
  • fast/forms/radio/ValidityState-valueMissing-radio.html:
  • fast/forms/radio/radio-live-validation-style-expected.txt:
  • fast/forms/radio/radio-live-validation-style.html:

Update existing tests to reflect behavior change. I have verified that our behavior on those tests
is aligned with both Firefox and Chrome.

  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:

Rebaseline existing WPT tests now that more checks are passing.

11:33 PM Changeset in webkit [288733] by Diego Pino Garcia
  • 3 edits in trunk/Source/WebCore

[WPE] Unreviewed, fix non-unified build after r288672
https://bugs.webkit.org/show_bug.cgi?id=235756

  • Modules/webxr/XRReferenceSpaceEvent.cpp:
  • loader/ProgressTracker.h:
11:31 PM Changeset in webkit [288732] by Aditya Keerthi
  • 15 edits
    3 copies
    2 adds in trunk/Source

Introduce WebFoundTextRange and WebFoundTextRangeController to support restorable find results
https://bugs.webkit.org/show_bug.cgi?id=235691
rdar://88117167

Reviewed by Wenson Hsieh.

Source/WebCore:

  • editing/TextIterator.cpp:

(WebCore::findIteratorOptions): Deleted.

  • editing/TextIterator.h:

(WebCore::findIteratorOptions):

Moved method into header to share logic.

  • page/Page.cpp:

(WebCore::Page::findTextMatches):

Added a way to suppress marking text matches.

  • page/Page.h:

Source/WebKit:

To better support the _UITextSearching protocol, WKWebView needs to be
able to restore find-in-page results found in other views with the same
content.

The desired functionality is achieved through the use of two new interfaces:
WebFoundTextRange, which represents a range of found text, and
WebFoundTextRangeController, which will be responsible for finding,
decorating, and scrolling to ranges.

A "found text range" is uniquely identified by a location, length,
frame identifier, and order. The location and length represent a
character range in document corresponding to the frame identifier.
The order represents the relative ordering between ranges - for
example, results in the main frame are ordered before results in a
subframe.

This is the first in a series of patches that implements the interface.
The available methods on WebFoundTextRangeController map one-to-one with
the _UITextSearching protocol. This patch implements the creation of
restorable found ranges.

  • Scripts/generate-unified-sources.sh:

Increase unified build files to 120.

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebFindOptions.cpp: Copied from Source/WebKit/Shared/WebFindOptions.h.

(WebKit::core):

  • Shared/WebFindOptions.h:
  • Shared/WebFoundTextRange.cpp:

(WebKit::WebFoundTextRange::operator== const):
(WebKit::WebFoundTextRange::encode const):
(WebKit::WebFoundTextRange::decode):

  • Shared/WebFoundTextRange.h:

(WTF::WebFoundTextRangeHash::hash):
(WTF::WebFoundTextRangeHash::equal):
(WTF::HashTraits<WebKit::WebFoundTextRange>::emptyValue):
(WTF::HashTraits<WebKit::WebFoundTextRange>::constructDeletedValue):
(WTF::HashTraits<WebKit::WebFoundTextRange>::isDeletedValue):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

Fix unified source-related build failure.

  • Sources.txt:
  • UnifiedSources-output.xcfilelist:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/FindController.cpp:

(WebKit::core): Deleted.

  • WebProcess/WebPage/FindController.h:
  • WebProcess/WebPage/WebFoundTextRangeController.cpp: Added.

(WebKit::WebFoundTextRangeController::WebFoundTextRangeController):
(WebKit::WebFoundTextRangeController::findTextRangesForStringMatches):

Use the FrameTrees's uniqueName as a frame identifier for the found
text range. These names are consistent across web content with the
same markup.

(WebKit::WebFoundTextRangeController::decorateTextRangeWithStyle):
(WebKit::WebFoundTextRangeController::scrollTextRangeToVisible):
(WebKit::WebFoundTextRangeController::clearAllDecoratedFoundText):
(WebKit::WebFoundTextRangeController::didBeginTextSearchOperation):
(WebKit::WebFoundTextRangeController::didEndTextSearchOperation):
(WebKit::WebFoundTextRangeController::willMoveToPage):
(WebKit::WebFoundTextRangeController::didMoveToPage):
(WebKit::WebFoundTextRangeController::mouseEvent):
(WebKit::WebFoundTextRangeController::drawRect):

  • WebProcess/WebPage/WebFoundTextRangeController.h: Added.
11:05 PM Changeset in webkit [288731] by Carlos Garcia Campos
  • 11 edits in trunk

[WPE][a11y] Add option to build with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235701

Reviewed by Adrian Perez de Castro.

.:

  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

  • PlatformWPE.cmake:
  • SourcesWPE.txt:

Source/WebKit:

  • UIProcess/wpe/WebPageProxyWPE.cpp:

(WebKit::WebPageProxy::bindAccessibilityTree):

  • WebProcess/WebPage/wpe/WebPageWPE.cpp:

(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformDetach):

  • WebProcess/wpe/WebProcessMainWPE.cpp:

Tools:

  • WebKitTestRunner/PlatformWPE.cmake:
11:04 PM Changeset in webkit [288730] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[GTK][a11y] Do not set the accessibility root object on svg image page elements with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235705

Reviewed by Adrian Perez de Castro.

This was needed only because of isolated tree mode.

  • accessibility/AccessibilityRenderObject.cpp:
  • accessibility/atspi/AXObjectCacheAtspi.cpp:
  • accessibility/atspi/AccessibilityObjectAtspi.cpp:
  • accessibility/atspi/AccessibilityObjectAtspi.h:
11:03 PM Changeset in webkit [288729] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK][a11y] Ignore span elements with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235704

Reviewed by Adrian Perez de Castro.

Their text contents are exposed as part of the parent object.

  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):

11:02 PM Changeset in webkit [288728] by graouts@webkit.org
  • 20 edits
    5 adds in trunk

[Model] Allow disabling interaction
https://bugs.webkit.org/show_bug.cgi?id=227621
<rdar://problem/80079703>

Reviewed by Darin Adler.

Source/WebCore:

We add support for the "interactive" IDL property and HTML attribute as discussed
in the <model> explainer at https://github.com/WebKit/explainers/tree/main/model.

If the "interactive" property is "true", then the HTML "interactive" attribute is
set on the element. If the property is "false", then the HTML attribute is absent.

Likewise, if the HTML attribute is present, the property returns "true". If the
HTML attribute is midding, the property returns "false".

Note that the value held by the HTML attribute is not taken into account, its mere
presence is all that is required.

Based on the value of the "interactive" property, we either disable or enable
interaction. On macOS, we check the property in HTMLModelElement::defaultEventHandler()
while on iOS, where dragging is performed entirely in the UI process, we use the
new ModelPlayer::setInteractionEnabled() method.

By default, interaction is disabled.

Tests: model-element/model-element-interactive-dragging.html

model-element/model-element-interactive.html

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::isInteractive const):
(WebCore::HTMLModelElement::attributeChanged):
(WebCore::HTMLModelElement::defaultEventHandler):

  • Modules/model-element/HTMLModelElement.h:
  • Modules/model-element/HTMLModelElement.idl:
  • Modules/model-element/ModelPlayer.cpp:

(WebCore::ModelPlayer::setInteractionEnabled):

  • Modules/model-element/ModelPlayer.h:
  • html/HTMLAttributeNames.in:

Source/WebKit:

Override the new ModelPlayer::setInteractionEnabled() method for the iOS flavor
and send the value up to the UI process such that it may set the matching value
for UIView.userInteractionEnabled on the matching WKModelView.

  • UIProcess/Cocoa/ModelElementControllerCocoa.mm:

(WebKit::ModelElementController::setInteractionEnabledForModelElement):

  • UIProcess/ModelElementController.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::modelElementSetInteractionEnabled):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WKModelView.mm:

(-[WKModelView initWithModel:]):

  • WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.h:
  • WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.mm:

(WebKit::ARKitInlinePreviewModelPlayerIOS::setInteractionEnabled):

LayoutTests:

Add two new tests:

  • model-element/model-element-interactive.html tests the "interactive" IDL property

and the "interactive" HTML attribute,

  • model-element/model-element-interactive-dragging.html tests that the "interactive"

IDL property correctly disables setting the camera by dragging when "false", and allows
it when "true".

We also refactor some code previously found in model-element/model-element-camera.html
to now be in the shared model-element/resources/model-utils.js to ease writing <model>
tests.

  • model-element/model-element-camera.html:
  • model-element/model-element-interactive-dragging-expected.txt: Added.
  • model-element/model-element-interactive-dragging.html: Added.
  • model-element/model-element-interactive-expected.txt: Added.
  • model-element/model-element-interactive.html: Added.
  • model-element/resources/model-utils.js: Added.

(const.makeModel):
(const.bodyAvailability.async return):
(const.bodyAvailability):
(const.readyModel.async test):
(const.assert_cameras_are_equal):
(const.assert_cameras_are_not_equal):

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
11:01 PM Changeset in webkit [288727] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

[GTK][a11y] WTR: add implementation for all relation APIs with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235702

Reviewed by Adrian Perez de Castro.

There's more API that is ATK only but should be implemented by ATSPI too.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):

11:00 PM Changeset in webkit [288726] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[GTK][a11y] Do not set the children count when serializing objects for the ATSPI cache
https://bugs.webkit.org/show_bug.cgi?id=235700

Reviewed by Adrian Perez de Castro.

It's confusing the cache if things don't happen in the expected order. We handle the children by emitting the
children-changed signals. When the children count is set in the cache by AddAccessible signal or as a response
to GetItems, atspi sets the accessible children vector size to the given value. If children-changed:add is
emitted after that, it's considered a new child and the children vector grows. So, we end up with the double of
children, but half of them are just null.

  • accessibility/atspi/AccessibilityAtspi.cpp:

(WebCore::AccessibilityAtspi::registerObject): Add the registered object to the update cache list.
(WebCore::AccessibilityAtspi::unregisterObject): Remove the object from the cache and emit RemoveAccessible
signal if needed.
(WebCore::AccessibilityAtspi::parentChanged): Stop registering the objects here, they will be registered when
actually needed. Also don't emit the signal if the object is pending, because AddAccessible will update the cache.
(WebCore::AccessibilityAtspi::childrenChanged): Do not add the pending objects to the cache, we can just emit
the signal now and cache will be updated later.
(WebCore::AccessibilityAtspi::stateChanged): Ditto.
(WebCore::AccessibilityAtspi::textChanged): Ditto.
(WebCore::AccessibilityAtspi::textAttributesChanged): Ditto.
(WebCore::AccessibilityAtspi::textCaretMoved): Ditto.
(WebCore::AccessibilityAtspi::textSelectionChanged): Ditto.
(WebCore::AccessibilityAtspi::valueChanged): Ditto.
(WebCore::AccessibilityAtspi::selectionChanged): Ditto.
(WebCore::AccessibilityAtspi::loadEvent): Ditto.
(WebCore::AccessibilityAtspi::cacheUpdateTimerFired): Copy the list because addToCacheIfNeeded() might add new
items to the that we don't want to process in this iteration.
(WebCore::AccessibilityAtspi::addToCacheIfPending): Deleted.
(WebCore::AccessibilityAtspi::addAccessible): Deleted.
(WebCore::AccessibilityAtspi::removeAccessible): Deleted.

  • accessibility/atspi/AccessibilityAtspi.h:
  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::registerObject): Remove the call to addAccessible, it's now done in AccessibilityAtspi::registerObject.
(WebCore::AccessibilityObjectAtspi::serialize const): Pass -1 as children count to ensure the children vector is
not modified.

  • accessibility/atspi/AccessibilityRootAtspi.cpp:

(WebCore::AccessibilityRootAtspi::serialize const): Ditto.

10:59 PM Changeset in webkit [288725] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK][a11y] Keep a reference to the parent wrapper with ATSPI
https://bugs.webkit.org/show_bug.cgi?id=235699

Reviewed by Adrian Perez de Castro.

When wrappers are destroyed it doesn't necessarily happen in the tree order, we need to keep the parent alive to
emit the children-changed signal.

  • accessibility/atspi/AccessibilityObjectAtspi.h:
10:58 PM Changeset in webkit [288724] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK][a11y] Return null reference for root parent reference if queried before being embedded
https://bugs.webkit.org/show_bug.cgi?id=235698

Reviewed by Adrian Perez de Castro.

Once embedded parent-changed will be emitted.

  • accessibility/atspi/AccessibilityRootAtspi.cpp:

(WebCore::AccessibilityRootAtspi::parentReference const):

10:53 PM Changeset in webkit [288723] by graouts@webkit.org
  • 9 edits in trunk/Source

<model> should not be draggable on macOS
https://bugs.webkit.org/show_bug.cgi?id=235697

Reviewed by Dean Jackson.

Source/WebCore:

As part of bug 229246 we added support for dragging <model> elements. However, it did not
work on macOS in practice so we make that explicit.

This is also important leading up to bug 227621, where we'll implement the "interactive"
HTML attribute and IDL property, since disabling dragging over a <model> element to adjust
the camera would trigger a crash under Pasteboard::write() on macOS due to not having an
image set on the pasteboard data.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::supportsDragging const):
(WebCore::HTMLModelElement::isDraggableIgnoringAttributes const):

  • Modules/model-element/HTMLModelElement.h:
  • Modules/model-element/ModelPlayer.cpp:

(WebCore::ModelPlayer::supportsDragging):

  • Modules/model-element/ModelPlayer.h:
  • page/DragController.cpp:

(WebCore::modelElementIsDraggable):

Source/WebKit:

Override the ModelPlayer method to disable <model> dragging on macOS.

  • WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.h:
  • WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:

(WebKit::ARKitInlinePreviewModelPlayerMac::supportsDragging):

10:51 PM Changeset in webkit [288722] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKit

Remove unnecessary build-time branch in ARKitInlinePreviewModelPlayerMac::supportsMouseInteraction()
https://bugs.webkit.org/show_bug.cgi?id=235729

Reviewed by Dean Jackson.

The whole file is wrapped in a #if ENABLE(ARKIT_INLINE_PREVIEW_MAC) statement already.

  • WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:

(WebKit::ARKitInlinePreviewModelPlayerMac::supportsMouseInteraction):

9:13 PM Changeset in webkit [288721] by Megan Gardner
  • 9 edits in trunk

DocumentContext gives empty rects for blank lines.
https://bugs.webkit.org/show_bug.cgi?id=235695

Reviewed by Wenson Hsieh.

Source/WebCore:

Test: DocumentEditingContext::RectsRequestInContentEditable

When requesting the document context for the end of a document, we would give empty rects for
blank lines. This was because when calculating the absoluteBoundingRect for the range, we
would use a normal unionRect call, which would use the basic unite call, which does not combine
empty rects. And empty rect is defined as a rect that does not have a non-zero hight and width.
Since we were calculating information about <br> lines, this was causing us to union a list of
a single rect, which was an empty rect. This left us with a zero rect after unioning. The solution
is to unionIfNonZero when calculating these rects for DocumentContext. I also took the opportunity
to make some of this code more parallel to other implementations.

  • platform/graphics/GeometryUtilities.cpp:

(WebCore::unionRectIfNonZero):

  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/IntRect.cpp:

(WebCore::IntRect::uniteIfNonZero):

  • platform/graphics/IntRect.h:

(WebCore::IntRect::isZero const):

Source/WebKit:

When requesting the document context for the end of a document, we would give empty rects for
blank lines. This was because when calculating the absoluteBoundingRect for the range, we
would use a normal unionRect call, which would use the basic unite call, which does not combine
empty rects. And empty rect is defined as a rect that does not have a non-zero hight and width.
Since we were calculating information about <br> lines, this was causing us to union a list of
a single rect, which was an empty rect. This left us with a zero rect after unioning. The solution
is to unionIfNonZero when calculating these rects for DocumentContext. I also took the opportunity
to make some of this code more parallel to other implementations.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestDocumentEditingContext):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST): DocumentEditingContext::RectsRequestInContentEditable

7:11 PM Changeset in webkit [288720] by timothy_horton@apple.com
  • 9 edits in trunk/Source

Remove ENABLE(HOVER_GESTURE_RECOGNIZER) and related code
https://bugs.webkit.org/show_bug.cgi?id=235749
Source/WebKit:

<rdar://problem/86425437>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
(-[WKContentView gestureRecognizer:shouldReceivePress:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView setUpHoverGestureRecognizer]): Deleted.
(-[WKContentView hoverGestureRecognizerChanged:]): Deleted.

  • UIProcess/ios/WKHoverPlatter.h:
  • UIProcess/ios/WKHoverPlatter.mm:
  • UIProcess/ios/WKHoverPlatterParameters.h:
  • UIProcess/ios/WKHoverPlatterParameters.mm:
  • WebProcess/WebPage/MomentumEventDispatcher.cpp:

(WebKit::mode):
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::equalizeTailGaps):

  • WebProcess/WebPage/MomentumEventDispatcher.h:

Source/WTF:

Reviewed by Wenson Hsieh.

  • wtf/PlatformEnableCocoa.h:
5:51 PM Changeset in webkit [288719] by Jonathan Bedard
  • 3 edits in trunk/Tools

[git-webkit] Respect EMAIL_ADDRESS environment variable during setup
https://bugs.webkit.org/show_bug.cgi?id=235748
<rdar://problem/88161757>

Reviewed by Ryan Haddad.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:

(Setup.git): Prefer EMAIL_ADDRESS variable over git config email.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:

Canonical link: https://commits.webkit.org/246512@main

5:23 PM Changeset in webkit [288718] by Adrian Perez de Castro
  • 2 edits in trunk

[CMake] Do not require GNU Gold usage to enable DEBUG_FISSION
https://bugs.webkit.org/show_bug.cgi?id=235737

Reviewed by Michael Catanzaro.

  • Source/cmake/OptionsCommon.cmake: Allow enabling DEBUG_FISSION with any linker.
5:08 PM Changeset in webkit [288717] by Russell Epstein
  • 1 copy in tags/Safari-613.1.14.5.4

Tag Safari-613.1.14.5.4.

5:07 PM Changeset in webkit [288716] by Russell Epstein
  • 15 edits in branches/safari-613.1.14.5-branch/Source

Cherry-pick r288710. rdar://problem/88100509

com.apple.WebKit.WebAuthn.xpc fails to build with system content path
https://bugs.webkit.org/show_bug.cgi?id=235734

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Adjusted build path variables to handle the case when building for Catalyst.
Did this by refactoring how the optional system content path is added as a prefix to paths.
As a result, modified the create symlink script to not be dependent on the target location,
since it isn't created when doing a catalyst build. Instead the script creates the parent
directory of the symlink if it doesn't exisst.

  • Configurations/Base.xcconfig:
  • Configurations/JSC.xcconfig:
  • Configurations/JavaScriptCore.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Scripts/create-symlink-to-altroot.sh:

Source/ThirdParty/libwebrtc:

Added explicit PUBLIC_HEADERS_FOLDER_PATH vavriable. Otherwise we get the
project version with didn't include the "libwebrtc" component.

  • Configurations/libwebrtc.xcconfig:

Source/WebCore:

Since WebCore is installed under the WebKit framework on macOS, we don't need a symlink for the
WebCore.framework itself. As a result, modified the create symlink script to not be dependent
on the target location, since it isn't created when doing a catalyst build.
Instead the script creates the parent directory of the symlink if it doesn't exisst.

  • Configurations/WebCore.xcconfig:
  • Scripts/create-symlink-to-altroot.sh:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Since we symlink the the whole framework when building the main "WebKit" target,
we can eliminate the create symlink script for the WebAuth target.
Eliminated the setting of ALTERNATE_ROOT_PATH build variables for all XPC services.

  • Configurations/BaseXPCService.xcconfig:
  • WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288710 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5:06 PM Changeset in webkit [288715] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.5-branch/Source

Versioning.

WebKit-7613.1.14.5.4

4:58 PM Changeset in webkit [288714] by Jonathan Bedard
  • 2 edits in trunk/Tools

[EWS] Differentiate UAT and production PR processing
https://bugs.webkit.org/show_bug.cgi?id=235669
<rdar://problem/88093065>

Reviewed by Aakash Jain.

  • CISupport/ews-build/events.py:

(Events.buildFinished): Append custom_suffix to reported context.
(Events.stepStartedGitHub): Ditto.

Canonical link: https://commits.webkit.org/246510@main

4:53 PM Changeset in webkit [288713] by Russell Epstein
  • 1 copy in tags/Safari-614.1.1

Tag Safari-614.1.1.

4:44 PM Changeset in webkit [288712] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Unreviewed fix for older macOS builds after r288577.

  • wtf/Assertions.h:
4:42 PM Changeset in webkit [288711] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[iOS][macOS] Removed unneeded telemetry
https://bugs.webkit.org/show_bug.cgi?id=235742

Reviewed by Darin Adler.

Remove some telemetry we have sufficient data for.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
4:24 PM Changeset in webkit [288710] by msaboff@apple.com
  • 15 edits in trunk/Source

com.apple.WebKit.WebAuthn.xpc fails to build with system content path
https://bugs.webkit.org/show_bug.cgi?id=235734

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Adjusted build path variables to handle the case when building for Catalyst.
Did this by refactoring how the optional system content path is added as a prefix to paths.
As a result, modified the create symlink script to not be dependent on the target location,
since it isn't created when doing a catalyst build. Instead the script creates the parent
directory of the symlink if it doesn't exisst.

  • Configurations/Base.xcconfig:
  • Configurations/JSC.xcconfig:
  • Configurations/JavaScriptCore.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Scripts/create-symlink-to-altroot.sh:

Source/ThirdParty/libwebrtc:

Added explicit PUBLIC_HEADERS_FOLDER_PATH vavriable. Otherwise we get the
project version with didn't include the "libwebrtc" component.

  • Configurations/libwebrtc.xcconfig:

Source/WebCore:

Since WebCore is installed under the WebKit framework on macOS, we don't need a symlink for the
WebCore.framework itself. As a result, modified the create symlink script to not be dependent
on the target location, since it isn't created when doing a catalyst build.
Instead the script creates the parent directory of the symlink if it doesn't exisst.

  • Configurations/WebCore.xcconfig:
  • Scripts/create-symlink-to-altroot.sh:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

Since we symlink the the whole framework when building the main "WebKit" target,
we can eliminate the create symlink script for the WebAuth target.
Eliminated the setting of ALTERNATE_ROOT_PATH build variables for all XPC services.

  • Configurations/BaseXPCService.xcconfig:
  • WebKit.xcodeproj/project.pbxproj:
4:01 PM Changeset in webkit [288709] by ysuzuki@apple.com
  • 1 edit
    1 add in trunk

Add .clangd similar to .ccls
https://bugs.webkit.org/show_bug.cgi?id=235743

Reviewed by Saam Barati.

This patch adds .clangd local configuration, which is similar to .ccls.

  • .clangd: Added.
3:29 PM Changeset in webkit [288708] by Matt Lewis
  • 1 edit in trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py

VSCode needs to be an option for commit message editor in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=235731

Reviewed by Jonathan Bedard.

  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py:

(Editor):
(Editor.vscode):
(Editor.programs):

Canonical link: https://commits.webkit.org/246505@main

3:24 PM Changeset in webkit [288707] by Chris Dumez
  • 9 edits in trunk

Geolocation API should callback with error if doc is not fully active
https://bugs.webkit.org/show_bug.cgi?id=228319
<rdar://problem/81450315>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/geolocation-API/non-fully-active.https-expected.txt:

Rebaseline WPT test that is now passing.

Source/WebCore:

Test: imported/w3c/web-platform-tests/geolocation-API/non-fully-active.https.html

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::getCurrentPosition):
(WebCore::Geolocation::watchPosition):
Schedule a task to call the error callback if the document is not fully active, as
per the specification:

  • dom/TaskSource.h:

As Geolocation task source for the HTML5 event loop, as per the Geolocation
specification.

LayoutTests:

Update existing layout tests to reflect behavior change.

  • fast/dom/Geolocation/disconnected-frame-already-expected.txt:
  • fast/dom/Geolocation/disconnected-frame-already.html:

Aligns test assertions with the spec. Gecko also passes it.

3:22 PM Changeset in webkit [288706] by Devin Rousso
  • 2 edits in trunk/Source/WTF

Change version number for HAVE_PASSKIT_DEFAULT_SHIPPING_METHOD
https://bugs.webkit.org/show_bug.cgi?id=235732
<rdar://problem/88152385>

Reviewed by Wenson Hsieh.

  • wtf/PlatformHave.h:
3:18 PM Changeset in webkit [288705] by Jonathan Bedard
  • 2 edits in trunk/Tools

[EWS] Ignore hooks from closed PRs
https://bugs.webkit.org/show_bug.cgi?id=235666
<rdar://problem/88091611>

Unreviewed follow-up fix.

  • Tools/CISupport/ews-build/events.py:

(GitHubEventHandlerNoEdits.handle_pull_request): 'state' is a member of the 'pull_request' dictionary.

3:07 PM Changeset in webkit [288704] by Russell Epstein
  • 1 copy in tags/Safari-613.1.15

Tag Safari-613.1.15.

2:23 PM Changeset in webkit [288703] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

AXIsolatedObject::children should honor the parameter updateChildrenIfNeeded.
https://bugs.webkit.org/show_bug.cgi?id=235728
<rdar://problem/88149344>

Reviewed by Chris Fleizach.

This will allow to get a more accurate smapshot of the isolated tree
during debugging. For instance it will allow to do AXLOG of the isolated
tree in applyPendingChanges which is currently not possible because
results in infinite recursion.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::children):

2:18 PM Changeset in webkit [288702] by Devin Rousso
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Console: move Preserve Log checkbox navigation item to a gear-with-contextmenu to save space (and match the Network Tab)
https://bugs.webkit.org/show_bug.cgi?id=235541

Reviewed by Patrick Angle.

Also collapse source scope bar into a single button for more space, and align it (and the
filter bar and type scope bar) to the left to better match other tabs.

  • UserInterface/Views/LogContentView.js:

(WI.LogContentView):
(WI.LogContentView.prototype.get navigationItems):
(WI.LogContentView.prototype._updateOtherFiltersNavigationItemState): Added.
(WI.LogContentView.prototype._handleOtherFiltersNavigationItemContextMenu): Added.
(WI.LogContentView.prototype._handleClearLogOnNavigateSettingChanged):
(WI.LogContentView.prototype._showHiddenMessagesBannerIfNeeded):
Drive-by: Also reset the message source WI.ScopeBar when clearing filters.

  • UserInterface/Views/LogContentView.css:

(.console-find-banner): Added.
(.message-channel-scope-bar.default-item-selected:not(:hover)): Added.
(.message-channel-scope-bar.default-item-selected:hover): Added.
(.log-scope-bar + .message-channel-scope-bar): Added.
(.console-other-filters-button > .glyph): Added.
(.console-other-filters-button:active > .glyph): Added.
(.console-other-filters-button.active > .glyph): Added.
(.console-other-filters-button.active:active > .glyph): Added.

  • UserInterface/Views/ConsoleTabContentView.js:

(WI.ConsoleTabContentView):
Override the flexibleNavigationItem so that there's no expanding space before the filter.

  • UserInterface/Views/ConsoleDrawer.js:

(WI.ConsoleDrawer):
Somehow this got overlooked when the constructor of WI.ContentBrowser was changed :(

  • UserInterface/Views/FindBanner.css:

(.find-banner):
(.find-banner > input[type="search"]):
Add --find-banner-input-margin-start so that this can be overridden by specific clients.

  • Localizations/en.lproj/localizedStrings.js:
2:11 PM Changeset in webkit [288701] by Kate Cheney
  • 113 edits
    10 adds in trunk

"Unrecognized Content-Security-Policy directive 'worker-src'."
https://bugs.webkit.org/show_bug.cgi?id=235260
<rdar://problem/83734079>

Reviewed by Brent Fulgham.

LayoutTests/imported/w3c:

  • web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub-expected.txt:
  • web-platform-tests/content-security-policy/child-src/child-src-worker-blocked.sub-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-self/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/script-src-wildcard/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-none/worker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/sharedworker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-wildcard/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-self/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/script-src-wildcard/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/dedicated-fallback.sub-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/dedicated-none.sub-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/dedicated-worker-src-child-fallback-blocked.sub-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/dedicated-worker-src-script-fallback.sub-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/dedicated-worker-src-self-fallback.sub-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/service-none.https.sub-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/service-worker-src-child-fallback-blocked.https.sub-expected.txt:
  • web-platform-tests/content-security-policy/worker-src/shared-child.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-fallback.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-list.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-none.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-self.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-worker-src-child-fallback-blocked.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-worker-src-child-fallback.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-worker-src-default-fallback.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-worker-src-script-fallback.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/worker-src/shared-worker-src-self-fallback.sub-expected.txt: Added.
  • web-platform-tests/content-security-policy/blob/self-doesnt-match-blob.sub-expected.txt:
  • web-platform-tests/content-security-policy/blob/star-doesnt-match-blob.sub-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.http-rp/worker-src-self/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/sharedworker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-classic.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-classic.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-import.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-module.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-none/worker-module.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/sharedworker-import-data.https-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/worker-import-data.http-expected.txt:
  • web-platform-tests/content-security-policy/gen/top.meta/worker-src-self/worker-import-data.https-expected.txt:

Source/WebCore:

Implementation of worker-src directive. According to https://www.w3.org/TR/CSP3/#changes-from-level-2
the worker-src directive now restricts URLs that can be loaded by
workers, and defers to child-src if not specified.

  • bindings/js/WorkerModuleScriptLoader.cpp:

(WebCore::WorkerModuleScriptLoader::load):
Check worker-src instead of child-src for worker loads.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):

  • loader/ThreadableLoader.h:

Check worker-src instead of child-src for worker loads.

  • page/csp/ContentSecurityPolicy.cpp:

We can remove allowChildContextFromSource which is now fully replaced
by allowWorkerFromSource.

(WebCore::ContentSecurityPolicy::allowWorkerFromSource const):
(WebCore::ContentSecurityPolicy::allowChildContextFromSource const): Deleted.

  • page/csp/ContentSecurityPolicy.h:
  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::operativeDirectiveForWorkerSrc const):
worker-src defers to child-src, then script-src, then default-src.

(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForWorker):
(WebCore::ContentSecurityPolicyDirectiveList::addDirective):

  • page/csp/ContentSecurityPolicyDirectiveList.h:
  • page/csp/ContentSecurityPolicyDirectiveNames.cpp:
  • page/csp/ContentSecurityPolicyDirectiveNames.h:
  • workers/AbstractWorker.cpp:

(WebCore::AbstractWorker::resolveURL):

  • workers/AbstractWorker.h:

We check LegacySchemeRegistry::schemeShouldBypassContentSecurityPolicy
in allowWorkerFromSource, so we don't need to check in in AbstractWorker::resolveURL
anymore. We can also replace the child-src checks with worker-src
ones.

  • workers/Worker.cpp:

(WebCore::Worker::create):

  • workers/WorkerFontLoadRequest.cpp:

(WebCore::WorkerFontLoadRequest::load):

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):
Block service worker registrations not specified by worker-src.

  • workers/shared/SharedWorker.cpp:

(WebCore::SharedWorker::create):
Block shared worker urls not specified by worker-src.

  • workers/shared/SharedWorkerScriptLoader.cpp:

(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):

Source/WebKit:

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):

LayoutTests:

Update tests now that worker-src defaults eventually to script-src.
Since this was not the case with child-src, legacy CSP tests do not
expect script-src policies to affect workers. We can fix this by
specifying a separate worker-src policy for these tests to maintain
behavior.

Some wpt tests log random URL strings that change for every test
iteration. For now we can't unskip those.

  • http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html:
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports.html:
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked.html:
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp.html:
  • http/tests/security/contentSecurityPolicy/worker-script-src.html:
  • http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-eval.html:
  • http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-importScript-redirect-cross-origin.html:
  • http/tests/security/isolatedWorld/bypass-main-world-csp-worker-blob-xhr.html:
  • http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html:
1:37 PM Changeset in webkit [288700] by Antti Koivisto
  • 5 edits in trunk

Default to 32 bit refcount for CanMakeCheckedPtr
https://bugs.webkit.org/show_bug.cgi?id=235723
rdar://86602114

Reviewed by Darin Adler.

Source/WTF:

It is currently uint16_t for no good reason. It is no unreasonable to have an object being referenced
by a large number of other objects.

We just hit the first bug caused by overrunning it (in IFC).

  • wtf/CheckedRef.h:

uint16_t -> uint32_t

Tools:

  • TestWebKitAPI/Tests/WTF/CheckedPtr.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/CheckedRef.cpp:
1:21 PM Changeset in webkit [288699] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebCore

Fix !ENABLE(ACCESSIBILITY) after r288674
https://bugs.webkit.org/show_bug.cgi?id=235727
<rdar://problem/88147878>

Unreviewed build fix.

In r288674 AXObjectCache had updateLoadingProgress added but it wasn't added to the block
of inlined !ENABLE(ACCESSIBILITY) methods further down the file.

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::updateLoadingProgress):

1:06 PM Changeset in webkit [288698] by Devin Rousso
  • 51 edits
    3 copies
    1 move
    3 adds in trunk

[Payment Request] allow additional payment method specific data to be passed to complete()
https://bugs.webkit.org/show_bug.cgi?id=235415
<rdar://problem/82970451>

Reviewed by Darin Adler.

Source/WebCore:

This allows for developers/merchants to give additional details to Apple Pay on completion.

Issue: <https://github.com/w3c/payment-request/issues/981>
Spec PR: <https://github.com/w3c/payment-request/pull/982>

Test: http/tests/paymentrequest/ApplePayPaymentCompleteDetails.https.html

  • Modules/paymentrequest/PaymentCompleteDetails.h: Added.
  • Modules/paymentrequest/PaymentCompleteDetails.idl: Added.
  • Modules/paymentrequest/PaymentResponse.h:
  • Modules/paymentrequest/PaymentResponse.idl:
  • Modules/paymentrequest/PaymentResponse.cpp:

(WebCore::PaymentResponse::complete):

  • Modules/paymentrequest/PaymentRequest.h:
  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::complete):

  • Modules/paymentrequest/PaymentHandler.h:

Add new dictionary PaymentCompleteDetails that's allowed as an optional second argument to
PaymentResponse.prototype.complete. If provided, JSON stringify it and pass the serialized
string data along to the relevant PaymentHandler for JSON (re)parsing if the associated
payment method requires it.

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::convertAndValidate):
(WebCore::merge):
(WebCore::ApplePayPaymentHandler::complete):
(WebCore::ApplePayPaymentHandler::retry):

  • Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.idl: Added.
  • Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.h: Added.

(WebCore::ApplePayPaymentCompleteDetails::encode const):
(WebCore::ApplePayPaymentCompleteDetails::decode):
Convert the JSON (re)parsed object into a ApplePayPaymentCompleteDetails, merging it into
the ApplePayPaymentAuthorizationResult passed to the PaymentCoordinator (see below).

  • Modules/applepay/ApplePayPaymentAuthorizationResult.h:
  • Modules/applepay/ApplePayPaymentAuthorizationResult.cpp: Added.

(WebCore::ApplePayPaymentAuthorizationResult::isFinalState const):
(WebCore::ApplePayPaymentAuthorizationResult::encode const):
(WebCore::ApplePayPaymentAuthorizationResult::decode):

  • Modules/applepay/ApplePaySessionPaymentRequest.h:
  • Modules/applepay/ApplePaySessionPaymentRequest.cpp:

(WebCore::isFinalStateResult): Deleted.

  • Modules/applepay/ApplePaySession.h:
  • Modules/applepay/ApplePaySession.cpp:

(WebCore::convertAndValidate):
(WebCore::ApplePaySession::completePayment):

  • Modules/applepay/PaymentCoordinator.h:
  • Modules/applepay/PaymentCoordinator.cpp:

(WebCore::PaymentCoordinator::completePaymentSession):

  • Modules/applepay/PaymentCoordinatorClient.h:
  • loader/EmptyClients.cpp:
  • testing/MockPaymentCoordinator.h:
  • testing/MockPaymentCoordinator.cpp:

(WebCore::MockPaymentCoordinator::completePaymentSession):
Replace PaymentAuthorizationResult with ApplePayPaymentAuthorizationResult so that data
doesn't need to be moved between identically shaped structs for sending to the UIProcess.

  • Modules/applepay/cocoa/PaymentAPIVersionCocoa.mm:

(WebCore::PaymentAPIVersion::current):
Increment the current version.

  • Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.h:
  • Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp:

(WebCore::ApplePayAMSUIPaymentHandler::complete):
AMS UI does not allow/require any data to be provided on completion.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • PlatformMac.cmake:
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

This allows for developers/merchants to give additional details to Apple Pay on completion.

Issue: <https://github.com/w3c/payment-request/issues/981>
Spec PR: <https://github.com/w3c/payment-request/pull/982>

  • WebProcess/ApplePay/WebPaymentCoordinator.h:
  • WebProcess/ApplePay/WebPaymentCoordinator.cpp:

(WebKit::WebPaymentCoordinator::completePaymentSession):

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<WebCore::PaymentAuthorizationResult>::encode): Deleted.
(IPC::ArgumentCoder<WebCore::PaymentAuthorizationResult>::decode): Deleted.

  • Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in:
  • Shared/ApplePay/WebPaymentCoordinatorProxy.h:
  • Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:

(WebKit::WebPaymentCoordinatorProxy::completePaymentSession):

  • Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:

(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession):

  • Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
  • Platform/cocoa/PaymentAuthorizationPresenter.h:
  • Platform/cocoa/PaymentAuthorizationPresenter.mm:

(WebKit::toPKPaymentAuthorizationStatus):
(WebKit::PaymentAuthorizationPresenter::completePaymentSession):
Replace PaymentAuthorizationResult with ApplePayPaymentAuthorizationResult so that data
doesn't need to be moved between identically shaped structs for sending to the UIProcess.

  • Platform/cocoa/WKPaymentAuthorizationDelegate.h:
  • Platform/cocoa/WKPaymentAuthorizationDelegate.mm:

Add some WKA hooks.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPaymentCoordinatorClient.h:
  • WebCoreSupport/WebPaymentCoordinatorClient.mm:

(WebPaymentCoordinatorClient::completePaymentSession):

LayoutTests:

  • http/tests/paymentrequest/ApplePayPaymentCompleteDetails.https.html: Added.
  • http/tests/paymentrequest/ApplePayPaymentCompleteDetails.https-expected.txt: Added.
12:56 PM Changeset in webkit [288697] by jonlee@apple.com
  • 104 edits in trunk/LayoutTests

Add fuzzy match meta headers to tests
https://bugs.webkit.org/show_bug.cgi?id=235671

Reviewed by Simon Fraser.

LayoutTests/imported/mozilla:

  • svg/blend-saturation.svg:
  • svg/filters/feComposite-2.svg:
  • svg/filters/feFlood-1.svg:
  • svg/filters/feFlood-2.svg:
  • svg/filters/feImage-1.svg:
  • svg/mask-type-01.svg:
  • svg/opacity-and-gradient-02.svg:
  • svg/text-scale-02.svg:
  • svg/text/simple-fill-gradient.svg:

LayoutTests:

Use a conservative range of pixels based on a comparison between an EWS run and a run on an
M1 16" MacBook Pro.

  • platform/ios/TestExpectations: a few tests are real failures with accelerated drawing. Mark

as image failures.

  • compositing/clipping/border-radius-async-overflow-non-stacking.html: Some of the ranges

were not large enough, and still reported errors on my machine. Expanding range.

  • compositing/geometry/css-clip-oversize.html:
  • compositing/geometry/scroller-with-clipping-and-foreground-layers.html:
  • compositing/masks/compositing-clip-path-and-mask.html:
  • compositing/patterns/direct-pattern-compositing-add-text.html:
  • compositing/patterns/direct-pattern-compositing-contain.html:
  • compositing/patterns/direct-pattern-compositing-padding.html:
  • compositing/patterns/direct-pattern-compositing-size.html:
  • compositing/patterns/direct-pattern-compositing.html:
  • compositing/scrolling/async-overflow-scrolling/border-radius-on-scroll-container.html:
  • css3/background/background-repeat-space-border.html:
  • css3/background/background-repeat-space-content.html:
  • css3/background/background-repeat-space-padding.html:
  • css3/blending/background-blend-mode-body-image.html:
  • css3/blending/background-blend-mode-body-transparent-color-and-image.html:
  • css3/blending/background-blend-mode-body-transparent-image.html:
  • css3/filters/filters-on-svg-root.html:
  • css3/masking/mask-luminance-gradient.html:
  • css3/masking/mask-repeat-space-border.html:
  • css3/masking/mask-repeat-space-content.html:
  • css3/masking/mask-repeat-space-padding.html:
  • fast/attachment/attachment-border-should-stay-inside-attachment.html:
  • fast/backgrounds/background-opaque-clipped-gradients.html:
  • fast/backgrounds/generated-bck-image-with-small-relative-size.html:
  • fast/backgrounds/hidpi-background-image-contain-cover-scale-needs-more-precision.html:
  • fast/backgrounds/scaled-gradient-background.html:
  • fast/borders/border-painting-inset.html:
  • fast/borders/border-painting-outset.html:
  • fast/borders/border-radius-on-html.html:
  • fast/borders/hidpi-border-painting-groove.html:
  • fast/borders/hidpi-border-painting-ridge.html:
  • fast/borders/wrong-border-color-when-radius-is-present.html:
  • fast/box-shadow/inset-box-shadow.html:
  • fast/box-shadow/inset-spread-box-shadow-split-inline.html:
  • fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html:
  • fast/css/object-fit/object-fit-img-svg2.html:
  • fast/gradients/conic-center-outside-box.html:
  • fast/gradients/conic-extended-stops.html:
  • fast/gradients/conic-from-angle.html:
  • fast/gradients/conic-off-center.html:
  • fast/gradients/conic-repeating.html:
  • fast/gradients/conic-two-hints.html:
  • fast/gradients/conic.html:
  • fast/gradients/linear-two-hints-angle.html:
  • fast/gradients/linear-two-hints.html:
  • fast/gradients/radial-two-hints.html:
  • fast/images/async-image-background-image-repeated.html:
  • fast/images/exif-orientation-background-image-repeat.html:
  • fast/images/exif-orientation-svg-feimage.html:
  • fast/images/hidpi-image-position-on-device-pixels-with-border-radius.html:
  • fast/images/sprite-sheet-image-draw.html:
  • fast/inline/inline-background-clip-text-multiline.html:
  • fast/shadow-dom/svg-linear-gradient-dynamic-update-href-in-shadow-tree.html:
  • fast/shadow-dom/svg-linear-gradient-href-in-shadow-tree.html:
  • fast/shadow-dom/svg-radial-gradient-dynamic-update-href-in-shadow-tree.html:
  • fast/shadow-dom/svg-radial-gradient-href-in-shadow-tree.html:
  • fast/text/empty-shadow.html:
  • fast/text/initial-advance-selected-text.html:
  • fast/transforms/skew-x-135deg-with-gradient.html:
  • fast/transforms/skew-y-135deg-with-gradient.html:
  • imported/blink/fast/gradients/large-horizontal-gradient.html:
  • imported/blink/fast/gradients/large-vertical-gradient.html:
  • imported/blink/svg/custom/fill-fallback-currentcolor-1.svg:
  • imported/blink/svg/text/obb-paintserver.html:
  • svg/animations/animated-string-href.svg:
  • svg/clip-path/clip-opacity.html:
  • svg/clip-path/clip-path-shape-rounded-inset-1.svg:
  • svg/clip-path/clip-path-shape-rounded-inset-2.svg:
  • svg/css/invalid-color-cascade.svg:
  • svg/custom/composited-svg-with-opacity.html:
  • svg/custom/hidpi-masking-clipping.svg:
  • svg/custom/href-svg-namespace-static.svg:
  • svg/custom/href-xlink-href-gradient-element.svg:
  • svg/custom/local-url-reference-fill.html:
  • svg/custom/local-url-reference-radial-gradient.html:
  • svg/custom/local-url-reference-srcdoc.html:
  • svg/custom/local-url-reference-stroke.html:
  • svg/dynamic-updates/SVGLinearGradientElement-svgdom-href-prop.html:
  • svg/dynamic-updates/SVGRadialGradientElement-svgdom-href-prop.html:
  • svg/filters/feComposite.svg:
  • svg/filters/feImage-element-primitive-subregion.svg:
  • svg/gradients/spreadMethod.svg:
  • svg/gradients/spreadMethodAlpha.svg:
  • svg/gradients/spreadMethodDiagonal.svg:
  • svg/gradients/spreadMethodDiagonal2.svg:
  • svg/gradients/spreadMethodDiagonal3.svg:
  • svg/gradients/spreadMethodDiagonal4.svg:
  • svg/gradients/spreadMethodDuplicateStop.svg:
  • svg/gradients/spreadMethodReversed.svg:
  • svg/gradients/stopAlpha.svg:
  • system-preview/badge.html:
  • webanimations/opacity-animation.html:
12:49 PM Changeset in webkit [288696] by commit-queue@webkit.org
  • 8 edits in trunk

[XCBuild] Add missing task dependencies on generate-unified-source-bundles.rb
https://bugs.webkit.org/show_bug.cgi?id=235724

Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.

Source/WebCore:

The targets which generate unified sources all use
/usr/local/include/wtf/Scripts/generate-unified-source-bundles.rb, but do not declare it.
In workspace builds, WTF may not have been built and this header may not exist yet.

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKitLegacy:

  • WebKitLegacy.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
12:27 PM Changeset in webkit [288695] by Chris Dumez
  • 1 edit
    2 adds in trunk/LayoutTests/imported/w3c

Add layout test for Bug 235645
https://bugs.webkit.org/show_bug.cgi?id=235718

Reviewed by Alex Christensen.

  • web-platform-tests/html/semantics/forms/the-input-element/radio-multiple-selected-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/the-input-element/radio-multiple-selected.html: Added.
12:10 PM Changeset in webkit [288694] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Unreviewed, reverting r288670.
https://bugs.webkit.org/show_bug.cgi?id=235725

broke TestWebKitAPI.DragAndDropTests.CanStartDragOnModel on
iOS

Reverted changeset:

"<model> should only be draggable on iOS"
https://bugs.webkit.org/show_bug.cgi?id=235697
https://commits.webkit.org/r288670

12:07 PM Changeset in webkit [288693] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore

AX: Remove ancestor flag initialized ASSERT in AXIsolatedObject::initializeAttributeData
https://bugs.webkit.org/show_bug.cgi?id=235717

Reviewed by Andres Gonzalez.

This patch removes:

ASSERT(isRoot
object.ancestorFlagsAreInitialized());

From AXIsolatedObject::initializeAttributeData.

This ASSERT is not very useful, since after
https://bugs.webkit.org/show_bug.cgi?id=235189 we do a single
traversal to compute all flags in the rare but legitimate cases
they aren't already initialized.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):

12:03 PM Changeset in webkit [288692] by commit-queue@webkit.org
  • 21 edits in trunk

Generated xcfilelists contain symlinks when building for macOS
https://bugs.webkit.org/show_bug.cgi?id=235663
rdar://88054903

Source/WebCore:

Introduce a build variable that expands to Versions/A when building for macOS, so that our
input filelists refer to the resolved location of headers and other files inside of
framework bundles. This fixes task dependencies which were not being detected by XCBuild.

Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.

  • Configurations/Base.xcconfig:
  • Configurations/WebCore.xcconfig:

Source/WebInspectorUI:

Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.

  • Configurations/Base.xcconfig:
  • Configurations/WebInspectorUIFramework.xcconfig:

Source/WebKit:

Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.

  • Configurations/Base.xcconfig:
  • Configurations/BaseTarget.xcconfig:
  • Configurations/BaseXPCService.xcconfig:
  • Configurations/WebKitSwift.xcconfig:
  • Configurations/adattributiond.xcconfig:
  • Configurations/webpushd.xcconfig:

Source/WebKitLegacy:

Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.

  • Configurations/Base.xcconfig:
  • Configurations/BaseTarget.xcconfig:
  • Configurations/BaseXPCService.xcconfig:
  • Configurations/WebKitSwift.xcconfig:
  • Configurations/adattributiond.xcconfig:
  • Configurations/webpushd.xcconfig:

Source/WebKitLegacy/mac:

Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.

  • Configurations/Base.xcconfig:
  • Configurations/WebKitLegacy.xcconfig:

Tools:

Patch by Elliott Williams <Elliott Williams> on 2022-01-27
Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
11:59 AM Changeset in webkit [288691] by Russell Epstein
  • 3 edits in branches/safari-614.1.1-branch/Source/WebKit

Cherry-pick r288658. rdar://problem/87999257

Symbols not always properly hidden when using WebKitAdditions to introduce new API
https://bugs.webkit.org/show_bug.cgi?id=235674
<rdar://87999257>

Reviewed by Wenson Hsieh.

Surround APIs from WebKitAdditions with #if ENABLE(API_WEBKIT_ADDITIONS) instead of
#if USE(APPLE_INTERNAL_SDK) and leaving API_WEBKIT_ADDITIONS to be intentionally
undefined. This is because we never want to build the code inside this #if block.
Instead, those blocks are only meant to be replaced by the
replace-webkit-additions-includes.py with the code from WebKitAdditions.

  • UIProcess/API/Cocoa/WKWebpagePreferences.h:
  • mac/replace-webkit-additions-includes.py: (main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288658 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:55 AM Changeset in webkit [288690] by Wenson Hsieh
  • 8 edits
    1 add in trunk

ImageAnalysisQueue should prioritize elements that intersect the visible viewport
https://bugs.webkit.org/show_bug.cgi?id=235664
rdar://88131827

Reviewed by Darin Adler.

Source/WebCore:

Make few adjustments to the image analysis queueing mechanism, such that we prioritize analyzing images that
are in the visible document rect over offscreen images. To do this, we turn the current image element queue into
a PriorityQueue instead, which treats images that are in the visible viewport (at enqueueing time) as higher
priority over images that are not in the visible viewport, and otherwise treats images that were queued earlier
as higher priority in the case where both images are either visible or not visible.

Test: ImageAnalysisTests.ImageAnalysisPrioritizesVisibleImages

  • page/ImageAnalysisQueue.cpp:

(WebCore::ImageAnalysisQueue::enqueueIfNeeded):
(WebCore::ImageAnalysisQueue::resumeProcessingSoon):
(WebCore::ImageAnalysisQueue::resumeProcessing):
(WebCore::ImageAnalysisQueue::clear):

  • page/ImageAnalysisQueue.h:

Swap out the Deque for a PriorityQueue, and introduce ImageAnalysisQueue::Task to represent an image analysis
task (which can be compared against other tasks to determine priority using firstIsHigherPriority() below).

(WebCore::ImageAnalysisQueue::firstIsHigherPriority):

Tools:

Add an API test to verify that batch image analysis prioritizes a visible image over another image that appears
first in DOM traversal order, but is offscreen.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::processedRequests):
(TestWebKitAPI::processRequestWithResults):
(TestWebKitAPI::makeFakeRequest):
(TestWebKitAPI::makeImageAnalysisRequestSwizzler):
(TestWebKitAPI::processRequestWithError):

Additionally add a mechanism for swizzling out VKImageAnalyzerRequest initialization to return a mock object
(TestVKImageAnalyzerRequest) instead, which can then be used to inspect the CGImage that would've been sent for
analysis. See changes in ImageAnalysisTestingUtilities.* below for more information.

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/offscreen-image.html: Added.
  • TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.h:
  • TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.mm:

(-[TestVKImageAnalyzerRequest initWithCGImage:orientation:requestType:]):
(-[TestVKImageAnalyzerRequest image]):
(-[TestVKImageAnalyzerRequest imageURL]):
(-[TestVKImageAnalyzerRequest setImageURL:]):
(-[TestVKImageAnalyzerRequest pageURL]):
(-[TestVKImageAnalyzerRequest setPageURL:]):
(TestWebKitAPI::createRequest):

11:45 AM Changeset in webkit [288689] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Disable WebXR experimental feature by default
https://bugs.webkit.org/show_bug.cgi?id=235688

Patch by Ada Chan <ada.chan@apple.com> on 2022-01-27
Reviewed by Tim Horton.

Source/WebKit:

Remove WebKit::defaultWebXREnabled() since it's no longer used.

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultWebXREnabled): Deleted.

  • Shared/WebPreferencesDefaultValues.h:

Source/WebKitLegacy/mac:

Remove WebKit::defaultWebXREnabled() since it's no longer used.

  • WebView/WebPreferencesDefaultValues.h:
  • WebView/WebPreferencesDefaultValues.mm:

(WebKit::defaultWebXREnabled): Deleted.

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
11:35 AM Changeset in webkit [288688] by Jonathan Bedard
  • 10 edits in trunk/Tools

[webkitbugspy] JSON encode trackers
https://bugs.webkit.org/show_bug.cgi?id=235426
<rdar://problem/87856802>

Reviewed by Dewei Zhu.

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:

(Tracker.Encoder.default): Encode bugzilla Tracker object.

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:

(Tracker.Encoder.default): Encode github Tracker object.

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/radar.py:

(Tracker.Encoder.default): Encode radar Tracker object.

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py:

(TestBugzilla.test_encoding):
(TestBugzilla.test_decoding):

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py:

(TestGitHub.test_encoding):
(TestGitHub.test_decoding):

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py:

(TestRadar.test_encoding):
(TestRadar.test_decoding):

  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/tracker.py:

(Tracker.Encoder.default): Generic encoding for all Tracker objects.
(Tracker.from_json): Decode dictionary into Tracker objects.

Canonical link: https://commits.webkit.org/246487@main

11:25 AM Changeset in webkit [288687] by Kocsen Chung
  • 3 edits in branches/safari-612.4.9.1-branch/Source/WebCore

Cherry-pick r288539. rdar://problem/88139659

Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840

Reviewed by Mark Lam.

Apply Ref / RefPtr instead of taking SerializedScriptValue*.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
  • loader/FrameLoader.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:23 AM Changeset in webkit [288686] by Kocsen Chung
  • 8 edits in branches/safari-612.4.9.1-branch/Source

Versioning.

WebKit-7612.4.9.1.8

11:16 AM Changeset in webkit [288685] by Russell Epstein
  • 3 edits in branches/safari-612.4.9.0-branch/Source/WebCore

Cherry-pick r288539. rdar://problem/88139598

Expand RefPtr / Ref use in FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=235551
rdar://87986840

Reviewed by Mark Lam.

Apply Ref / RefPtr instead of taking SerializedScriptValue*.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadInSameDocument): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
  • loader/FrameLoader.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288539 268f45cc-cd09-0410-ab3c-d52691b4dbfc

11:14 AM Changeset in webkit [288684] by Russell Epstein
  • 8 edits in branches/safari-612.4.9.0-branch/Source

Versioning.

WebKit-7612.4.9.0.4

10:54 AM Changeset in webkit [288683] by Russell Epstein
  • 1 copy in tags/Safari-613.1.14.41.3

Tag Safari-613.1.14.41.3.

10:53 AM Changeset in webkit [288682] by Russell Epstein
  • 12 edits in branches/safari-613.1.14.41-branch/Source/WebKit

Cherry-pick r288387. rdar://problem/87468788

Inject Launch Services database before NSApplication is initialized
https://bugs.webkit.org/show_bug.cgi?id=235186
<rdar://87468788>

Reviewed by Chris Dumez.

To avoid the main thread getting stuck, the Launch Services database should be injected before NSApplication
is initialized, since the initialization now depends on the database. To make sure also prewarmed WebContent
processes are receiving the Launch Services database, the WebsiteDataStore method
sendNetworkProcessXPCEndpointToProcess is moved to the class NetworkProcessProxy, since prewarmed processes
will not have a data store initially. This allows us to simplify the code, since we are no longer depending
on having a Website data store before sending the XPC endpoint.

  • UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching):
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: (WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess): (WebKit::WebsiteDataStore::sendNetworkProcessXPCEndpointToProcess const): Deleted.
  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::platformDidReceiveLoadParameters):
  • WebProcess/cocoa/LaunchServicesDatabaseManager.h:
  • WebProcess/cocoa/LaunchServicesDatabaseManager.mm: (WebKit::LaunchServicesDatabaseManager::waitForDatabaseUpdate):
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@288387 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10:49 AM Changeset in webkit [288681] by Russell Epstein
  • 9 edits in branches/safari-613.1.14.41-branch/Source

Versioning.

WebKit-7613.1.14.41.3

10:27 AM Changeset in webkit [288680] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Detect failed ThreadableLoader creation in FileReaderLoader.
https://bugs.webkit.org/show_bug.cgi?id=235566

Patch by Gavin Phillips <gavin.p@apple.com> on 2022-01-27
Reviewed by Youenn Fablet.

When we fail to successfully create a ThreadableLoader in FileReaderLoader we should catch
the failure and return early.

  • Modules/fetch/FormDataConsumer.cpp:

(WebCore::FormDataConsumer::consumeBlob):

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::start):

10:17 AM Changeset in webkit [288679] by Alexander Mikhaylenko
  • 19 edits
    2 deletes in trunk/Source

[GTK] Support accent colors
https://bugs.webkit.org/show_bug.cgi?id=235706

Reviewed by Michael Catanzaro.

Source/WebCore:

Use the accent color UI process provides rather than fetching it here.
Remove the last bits of ThemeGtk and stop using foreign drawing for
text selection on GTK3.

Use dark foreground color if the accent color is bright.

  • PlatformGTK.cmake:
  • SourcesGTK.txt:
  • platform/adwaita/ThemeAdwaita.cpp:

(WebCore::Theme::singleton):
(WebCore::ThemeAdwaita::activeSelectionForegroundColor const):
(WebCore::ThemeAdwaita::activeSelectionBackgroundColor const):
(WebCore::ThemeAdwaita::inactiveSelectionForegroundColor const):
(WebCore::ThemeAdwaita::setAccentColor):

  • platform/adwaita/ThemeAdwaita.h:
  • platform/gtk/ThemeGtk.cpp: Removed.
  • platform/gtk/ThemeGtk.h: Removed.
  • rendering/RenderThemeAdwaita.cpp:

(WebCore::RenderThemeAdwaita::setAccentColor):

  • rendering/RenderThemeAdwaita.h:

Source/WebKit:

Take the accent color from CSS named colors. Handle the colors used in
libadwaita, elementary OS 6.x and 5.x, and the generic selection bg
color that people have been using out of context for a long time.

Track changes the best we can, even though it's not perfect: css_changed()
in GTK4 won't be called unless the CSS change affects the web view itself.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::accentColor):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseStyleUpdated):
(webkit_web_view_base_class_init):

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::accentColorDidChange):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::setAccentColor):

Source/WTF:

  • wtf/PlatformHave.h: Flip HAVE_APP_ACCENT_COLORS for GTK.
10:13 AM Changeset in webkit [288678] by Patrick Griffis
  • 37 edits in trunk

CSP: Clean up effective-violation handling in reports
https://bugs.webkit.org/show_bug.cgi?id=235602

Reviewed by Kate Cheney.

LayoutTests/imported/w3c:

Updated expectations with more passes.

  • web-platform-tests/content-security-policy/child-src/child-src-cross-origin-load.sub-expected.txt:
  • web-platform-tests/content-security-policy/frame-src/frame-src-cross-origin-load.sub-expected.txt:
  • web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted-expected.txt:

Source/WebCore:

The CSP 3 spec uses the same value for effectiveDirective and
violatedDirective noting that is now now just an alias for historical
purposes. https://www.w3.org/TR/CSP3/#violation-events

I have refactored this so we only pass around a single string instead of constantly
repeating the directive which was error prone.

This does result in a lot of script-src changing to script-src-elem in reports
however this behavior matches what Chromium is already reporting and it fixes some
WPT results where it expects frame-src instead of child-src.

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::consoleMessageForViolation):
(WebCore::ContentSecurityPolicy::allowRunningOrDisplayingInsecureContent):
(WebCore::ContentSecurityPolicy::allowJavaScriptURLs const):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers const):
(WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const):
(WebCore::ContentSecurityPolicy::allowInlineScript const):
(WebCore::ContentSecurityPolicy::allowInlineStyle const):
(WebCore::ContentSecurityPolicy::allowEval const):
(WebCore::ContentSecurityPolicy::allowFrameAncestors const):
(WebCore::ContentSecurityPolicy::allowPluginType const):
(WebCore::ContentSecurityPolicy::allowObjectFromSource const):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource const):
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowChildContextFromSource const):
(WebCore::ContentSecurityPolicy::allowScriptFromSource const):
(WebCore::ContentSecurityPolicy::allowImageFromSource const):
(WebCore::ContentSecurityPolicy::allowStyleFromSource const):
(WebCore::ContentSecurityPolicy::allowFontFromSource const):
(WebCore::ContentSecurityPolicy::allowManifestFromSource const):
(WebCore::ContentSecurityPolicy::allowMediaFromSource const):
(WebCore::ContentSecurityPolicy::allowConnectToSource const):
(WebCore::ContentSecurityPolicy::allowFormAction const):
(WebCore::ContentSecurityPolicy::allowBaseURI const):
(WebCore::ContentSecurityPolicy::reportViolation const):

  • page/csp/ContentSecurityPolicy.h:
  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForNonParserInsertedScripts const):

LayoutTests:

Update effective-violation of expectations.

  • http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src.html:
  • http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src-expected.txt:
  • http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src.html:
  • http/tests/security/contentSecurityPolicy/iframe-blocked-when-loaded-via-javascript-url-expected.txt:
  • http/tests/security/contentSecurityPolicy/iframe-blocked-when-loaded-via-javascript-url2-expected.txt:
  • http/tests/security/contentSecurityPolicy/iframe-redirect-blocked-by-child-src-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
  • platform/glib/http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
10:04 AM Changeset in webkit [288677] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Check the process has the dynamic-codesigning entitlement before trying to allocate a holding JIT region
https://bugs.webkit.org/show_bug.cgi?id=235673
rdar://88094997

Patch by Gavin Phillips <gavin.p@apple.com> on 2022-01-27
Reviewed by Saam Barati.

We only need to allocate a holding JIT region, for processes with the JIT disabled, if that process has the
dynamic-codesigning entitlement. We can skip this allocation if the process doesn't have that entitlement.

  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::setJITEnabled):

9:58 AM Changeset in webkit [288676] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore

AXLogger::add should not cause tree updates via children()
https://bugs.webkit.org/show_bug.cgi?id=235715

Reviewed by Chris Fleizach.

AXLogger::add(TextStream&, const RefPtr<AXCoreObject>&, bool) currently
calls the update version of AXCoreObject::children(bool), causing behavior
to potentially be different between builds with logging enabled and logging
disabled.

The logger should only read the current state of the object / tree, never modify it.

  • accessibility/AXLogger.cpp:

(WebCore::AXLogger::add):

9:49 AM Changeset in webkit [288675] by Antti Koivisto
  • 10 edits in trunk

[CSS Container Queries] Basic parsing support for query syntax
https://bugs.webkit.org/show_bug.cgi?id=235712

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-contain/container-queries/at-container-parsing-expected.txt:

Source/WebCore:

https://drafts.csswg.org/css-contain-3/#at-ruledef-container

Use MediaQueryParser to parse the query syntax. Note that because the limitations
of MediaQueryParser only simple non-nested queries can be parsed for now.

  • css/StyleRule.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::filterProperties):
(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeContainerRule):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeContainerName):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeSingleContainerName):

  • css/parser/CSSPropertyParserHelpers.h:
  • css/parser/MediaQueryParser.cpp:

(WebCore::MediaQueryParser::parseContainerQuery):
(WebCore::MediaQueryParser::MediaQueryParser):
(WebCore::MediaQueryParser::readContainerQuery):
(WebCore::MediaQueryParser::handleBlocks):
(WebCore::MediaQueryParser::processToken):
(WebCore::MediaQueryParser::parseInternal):

  • css/parser/MediaQueryParser.h:
8:51 AM Changeset in webkit [288674] by Tyler Wilcock
  • 21 edits in trunk

AX ITM: Defer to the tree when determining AX object loading progress
https://bugs.webkit.org/show_bug.cgi?id=235646

Reviewed by Andres Gonzalez.

Source/WebCore:

Currently, we set AXPropertyName::IsLoaded and AXPropertyName::EstimatedLoadingProgress
once in AXIsolatedObject::initializeAttributeData and never update it. This means that
if an object is created while the page is at some non-100% load percentage, AX clients
that request these attributes will always think the object isn't loaded.

This patch removes these two properties and instead defers to the isolated tree associated
with each object when determining the load percentage. Both of these properties were based
on the entire page / document load progress anyways, so it doesn't make sense to set the
same value for all of them.

We track loading progress by changing ProgressTracker to also notify
the page when progress changes, which in turn updates the associated
AXObjectCache with the new progress value.

Covered by accessibility/mac/document-attributes.html which verifies the AXLoad and
AXLoadingProgress attributes.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::updateLoadingProgress):
Added.

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::loadingFinished):
(WebCore::AXObjectCache::loadingProgress const):
Added.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::loadingProgress const):
(WebCore::AccessibilityRenderObject::estimatedLoadingProgress const):
Rename estimatedLoadingProgress methods to loadingProgress.

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::create):
(WebCore::AXIsolatedTree::updateLoadingProgress):
(WebCore::AXIsolatedTree::applyPendingChanges):
Apply m_pendingEstimatedLoadingProgress.

  • accessibility/isolatedtree/AXIsolatedTree.h:

(WebCore::AXIsolatedTree::loadingProgress):
Added.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
Handle rename of estimatedLoadingProgress methods to loadingProgress.

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::ProgressTracker):
Store a reference to the associated page in new m_page member.
(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::progressEstimateChanged):
(WebCore::ProgressTracker::finalProgressComplete):
(WebCore::ProgressTracker::incrementProgress):
Notify the Page when progress changes or completes.

  • loader/ProgressTracker.h:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::progressEstimateChanged const):
Added.
(WebCore::Page::progressFinished const):
Added.

  • page/Page.h:

LayoutTests:

  • accessibility/mac/document-attributes-expected.txt:

Associated test now uses js-test.js, so modify expectations to include
js-test output (e.g. test description()).

  • accessibility/mac/document-attributes.html:

Wait asynchronously for loading to complete ("AXLoaded: 1").

  • accessibility/parent-delete.html:

Don't output all attributes, since it's not necessary for the purpose
of the test (which is to ensure calling allAttributes() in this
scenario doesn't cause a crash). Previously, the test output contained
loading AX attributes, so rather than making this test wait for
loading to complete I decided to remove the output all together.

  • platform/mac/accessibility/parent-delete-expected.txt:
8:03 AM Changeset in webkit [288673] by aakash_jain@apple.com
  • 2 edits in trunk/Tools/CISupport/ews-app/ews

[ews] Display status-bubble for try builds (builds for specific ews queues)
https://bugs.webkit.org/show_bug.cgi?id=235679

Reviewed by Jonathan Bedard.

  • Tools/CISupport/ews-app/ews/models/build.py:

(Build.save_build): Save the patch information in database.

  • Tools/CISupport/ews-app/ews/views/statusbubble.py:

(StatusBubble._build_bubble):
(StatusBubble._should_show_bubble_for_build):
(StatusBubble._build_bubbles_for_patch):

Canonical link: https://commits.webkit.org/246479@main

7:36 AM Changeset in webkit [288672] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

jsc_fuz/wktr: crash with new XRReferenceSpaceEvent(, {referenceSpace})
https://bugs.webkit.org/show_bug.cgi?id=235456

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2022-01-27
Reviewed by Chris Dumez.

Source/WebCore:

FastMalloc.h specifies that each derived class needs to be annotated as well with WTF_MAKE_ISO_ALLOCATED
if the base class is annotated with WTF_MAKE_ISO_ALLOCATED.

After doing this, the crash in WebCore::Event::operator new(unsigned long) is no longer reproducible.
However, this caused ASSERT(m_transform) to be hit in debug builds with the attached test case.

The XRReferenceSpaceEvent spec specifies the transform attribute as nullable
(https://immersive-web.github.io/webxr/#dictdef-xrreferencespaceeventinit), so this patch updates the
XRReferenceSpaceEvent IDL and implementation to match the spec, and removes the ASSERT accordingly.

Test: webxr/xr-reference-space-event-crash.html

  • Modules/webxr/XRReferenceSpaceEvent.cpp:

(WebCore::XRReferenceSpaceEvent::XRReferenceSpaceEvent):
(WebCore::XRReferenceSpaceEvent::transform const):

  • Modules/webxr/XRReferenceSpaceEvent.h:
  • Modules/webxr/XRReferenceSpaceEvent.idl:

LayoutTests:

  • webxr/xr-reference-space-event-crash.html: Added.
4:15 AM WebKitGTK/2.34.x edited by Alexander Mikhaylenko
Add 2 touch fixes to proposed (diff)
3:16 AM Changeset in webkit [288671] by commit-queue@webkit.org
  • 50 edits
    44 copies
    29 moves
    351 adds
    3 deletes in trunk

Update WebGL conformance test suite to 2022-01-12
https://bugs.webkit.org/show_bug.cgi?id=235563

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-01-27
Reviewed by Dean Jackson.

Tools:

Add functionality to Tools/Scripts/update-webgl-conformance-tests:

  • Copy http-only tests to http/tests/webgl
  • Add template to js-test-pre.js
  • Scripts/webkitpy/update_webgl_conformance_tests_lib/js-test-pre-template.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js.
  • Scripts/webkitpy/update_webgl_conformance_tests_lib/main.py:

(_copy_tree):
(main):

LayoutTests:

Update WebGL testsuite to 2022-01-12 9b58fd243d38f4b9c72ab6f75ad701cafc131137.

Additionally:
The import script can now categorize tests to regular tests and small amount of http
tests:

  • Remove old http/tests/webgl/1.0.2/
  • Add new http/tests/webgl/1.0.x / 2.0.y
  • http/tests/webgl/1.0.2/origin-clean-conformance-expected.txt: Removed.
  • http/tests/webgl/1.0.2/origin-clean-conformance.html: Removed.
  • http/tests/webgl/1.0.2/readPixelsBadArgs-expected.txt: Removed.
  • http/tests/webgl/1.0.2/readPixelsBadArgs.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/3x3.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/blue-1x1.jpg: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/bug-32888-texture.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/floatUniformShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-256-with-128-alpha.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-256.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-default-gamma.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma0.1.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma1.0.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma2.0.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma4.0.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp-gamma9.0.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/gray-ramp.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/green-2x2-16bit.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/noopUniformShader.frag: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/npot-video.mp4: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/npot-video.theora.ogv: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/npot-video.webmvp8.webm: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/pnglib.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.mp4: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.theora.ogv: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-green.webmvp8.webm: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/red-indexed.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-cie-rgb-profile.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-colormatch-profile.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-colorspin-profile.jpg: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-colorspin-profile.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-e-srgb-profile.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-smpte-c-profile.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/small-square-with-srgb-iec61966-2.1-profile.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-canvas.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-image-data.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-image.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/tex-image-and-sub-image-2d-with-video.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/zero-alpha.png: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/00_test_list.txt: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/compressed-tex-image.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/copy-tex-image-2d-formats.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/copy-tex-image-and-sub-image-2d.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/gl-get-tex-parameter.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/gl-pixelstorei.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/gl-teximage.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/mipmap-fbo.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/origin-clean-conformance.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-array-buffer-view.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgb565.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba4444.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas-rgba5551.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-canvas.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data-rgb565.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data-rgba4444.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data-rgba5551.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-data.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-rgb565.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-rgba4444.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image-rgba5551.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-image.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video-rgb565.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba4444.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video-rgba5551.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-sub-image-2d-with-video.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-and-uniform-binding-bugs.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-webgl.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-with-format-and-type.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-image-with-invalid-data.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-input-validation.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-sub-image-2d-bad-args.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/tex-sub-image-2d.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texparameter-test.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-active-bind-2.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-active-bind.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-attachment-formats.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-clear.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-complete.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-formats-test.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-hd-dpi.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-mips.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-npot-video.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-npot.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-size-cube-maps.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-size-limit.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-size.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-sub-image-cube-maps.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-transparent-pixels-initialized.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/textures/texture-upload-cube-maps.html: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/resources/desktop-gl-constants.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-post.js: Removed.
  • http/tests/webgl/1.0.2/resources/webgl_test_files/resources/webgl-test-harness.js: Removed.
  • http/tests/webgl/1.0.2/texImage2DHTML-expected.txt: Removed.
  • http/tests/webgl/1.0.2/texImage2DHTML.html: Removed.
  • http/tests/webgl/1.0.2/texSubImage2DHTML-expected.txt: Removed.
  • http/tests/webgl/1.0.2/texSubImage2DHTML.html: Removed.
  • http/tests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs-expected.txt.
  • http/tests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html.
  • http/tests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • http/tests/webgl/1.0.x/conformance/more/functions/texImage2DHTML.html: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML.html.
  • http/tests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML-expected.txt.
  • http/tests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML.html: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texSubImage2DHTML.html.
  • http/tests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs-expected.txt.
  • http/tests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs.html: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/readPixelsBadArgs.html.
  • http/tests/webgl/2.0.y/conformance/more/functions/texImage2DHTML-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texImage2DHTML-expected.txt.
  • http/tests/webgl/2.0.y/conformance/more/functions/texImage2DHTML.html: Copied from LayoutTests/webgl/2.0.y/conformance/more/functions/texImage2DHTML.html.
  • http/tests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML-expected.txt.
  • http/tests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML.html: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texSubImage2DHTML.html.
  • http/tests/webgl/resources/js-test-pre.js: Copied from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-pre.js.
  • http/tests/webgl/resources/webgl_test_files/conformance/more/functions/readPixelsBadArgs.html: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/readPixelsBadArgs.html.
  • http/tests/webgl/resources/webgl_test_files/conformance/more/functions/texImage2DHTML.html: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/texImage2DHTML.html.
  • http/tests/webgl/resources/webgl_test_files/conformance/more/functions/texSubImage2DHTML.html: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/texSubImage2DHTML.html.
  • http/tests/webgl/resources/webgl_test_files/conformance/more/unit.css: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.css.
  • http/tests/webgl/resources/webgl_test_files/conformance/more/unit.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/unit.js.
  • http/tests/webgl/resources/webgl_test_files/conformance/more/util.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/util.js.
  • http/tests/webgl/resources/webgl_test_files/js/js-test-post.js: Added.
  • http/tests/webgl/resources/webgl_test_files/js/js-test-pre.js: Copied from LayoutTests/webgl/resources/webgl_test_files/js/js-test-pre.js.
  • http/tests/webgl/resources/webgl_test_files/js/webgl-test-utils.js: Copied from LayoutTests/webgl/resources/webgl_test_files/js/webgl-test-utils.js.
  • http/tests/webgl/resources/webgl_test_files/resources/js-test-style.css: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webgl_test_files/resources/js-test-style.css.
  • http/tests/webgl/resources/webgl_test_files/resources/opengl_logo.jpg: Added.
  • http/tests/webgl/resources/webgl_test_files/resources/thunderbird-logo-64x64.png: Added.
  • http/tests/webgl/resources/webkit-webgl-test-harness.js: Renamed from LayoutTests/http/tests/webgl/1.0.2/resources/webkit-webgl-test-harness.js.
  • webgl/1.0.x/conformance/canvas/to-data-url-after-composite-expected.txt: Renamed from LayoutTests/webgl/2.0.y/deqp/functional/gles3/multisample-expected.txt.
  • webgl/1.0.x/conformance/canvas/to-data-url-after-composite.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_001_to_008-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_001_to_008.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_009_to_016-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_009_to_016.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_017_to_024-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_017_to_024.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_025_to_032-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_025_to_032.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_033_to_040-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_033_to_040.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_041_to_048-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_041_to_048.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_049_to_056-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_049_to_056.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_057_to_064-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_057_to_064.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_065_to_072-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_065_to_072.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_073_to_080-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_073_to_080.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_081_to_088-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_081_to_088.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_089_to_096-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_089_to_096.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_097_to_104-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_097_to_104.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_105_to_112-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_105_to_112.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_113_to_120-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_113_to_120.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_121_to_128-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_121_to_128.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_129_to_136-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_129_to_136.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_137_to_144-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_137_to_144.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_145_to_152-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_145_to_152.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_153_to_160-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_153_to_160.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_161_to_168-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_161_to_168.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_169_to_176-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_169_to_176.html: Added.
  • webgl/1.0.x/conformance/ogles/GL/build/build_177_to_178-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/1.0.x/conformance/ogles/GL/build/build_177_to_178.html: Added.
  • webgl/1.0.x/conformance/rendering/clear-default-framebuffer-with-scissor-test-expected.txt: Added.
  • webgl/1.0.x/conformance/rendering/clear-default-framebuffer-with-scissor-test.html: Added.
  • webgl/1.0.x/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution-expected.txt: Added.
  • webgl/1.0.x/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution.html: Added.
  • webgl/1.0.x/conformance/textures/misc/format-filterable-renderable-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/textures/misc/origin-clean-conformance-expected.txt.
  • webgl/1.0.x/conformance/textures/misc/format-filterable-renderable.html: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html.
  • webgl/1.0.x/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html: Removed.
  • webgl/1.0.x/conformance/textures/misc/png-image-types-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/textures/misc/origin-clean-conformance-expected.txt.
  • webgl/1.0.x/conformance/textures/misc/png-image-types.html: Renamed from LayoutTests/webgl/1.0.x/conformance/textures/misc/origin-clean-conformance.html.
  • webgl/2.0.y/conformance/canvas/to-data-url-after-composite-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/2.0.y/conformance/canvas/to-data-url-after-composite.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_001_to_008-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_001_to_008.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_009_to_016-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_009_to_016.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_017_to_024-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_017_to_024.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_025_to_032-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_025_to_032.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_033_to_040-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_033_to_040.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_041_to_048-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_041_to_048.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_049_to_056-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_049_to_056.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_057_to_064-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_057_to_064.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_065_to_072-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_065_to_072.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_073_to_080-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_073_to_080.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_081_to_088-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_081_to_088.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_089_to_096-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_089_to_096.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_097_to_104-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_097_to_104.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_105_to_112-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_105_to_112.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_113_to_120-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_113_to_120.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_121_to_128-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_121_to_128.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_129_to_136-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_129_to_136.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_137_to_144-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_137_to_144.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_145_to_152-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_145_to_152.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_153_to_160-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_153_to_160.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_161_to_168-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_161_to_168.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_169_to_176-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_169_to_176.html: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_177_to_178-expected.txt: Added.
  • webgl/2.0.y/conformance/ogles/GL/build/build_177_to_178.html: Added.
  • webgl/2.0.y/conformance/rendering/clear-default-framebuffer-with-scissor-test-expected.txt: Added.
  • webgl/2.0.y/conformance/rendering/clear-default-framebuffer-with-scissor-test.html: Added.
  • webgl/2.0.y/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution-expected.txt: Added.
  • webgl/2.0.y/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution.html: Added.
  • webgl/2.0.y/conformance/textures/misc/format-filterable-renderable-expected.txt: Renamed from LayoutTests/webgl/2.0.y/conformance/textures/misc/origin-clean-conformance-offscreencanvas-expected.txt.
  • webgl/2.0.y/conformance/textures/misc/format-filterable-renderable.html: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/readPixelsBadArgs.html.
  • webgl/2.0.y/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html: Removed.
  • webgl/2.0.y/conformance/textures/misc/origin-clean-conformance.html: Removed.
  • webgl/2.0.y/conformance/textures/misc/png-image-types-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/textures/misc/origin-clean-conformance-offscreencanvas-expected.txt.
  • webgl/2.0.y/conformance/textures/misc/png-image-types.html: Renamed from LayoutTests/webgl/2.0.y/conformance/more/functions/texImage2DHTML.html.
  • webgl/2.0.y/conformance2/extensions/required-extensions-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/2.0.y/conformance2/extensions/required-extensions.html: Added.
  • webgl/2.0.y/conformance2/glsl3/fragment-shader-loop-crash-expected.txt: Copied from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/2.0.y/conformance2/glsl3/fragment-shader-loop-crash.html: Added.
  • webgl/2.0.y/conformance2/glsl3/reciprocal-sqrt-of-sum-of-squares-crash-expected.txt: Added.
  • webgl/2.0.y/conformance2/glsl3/reciprocal-sqrt-of-sum-of-squares-crash.html: Added.
  • webgl/2.0.y/conformance2/misc/blend-integer-expected.txt: Renamed from LayoutTests/webgl/1.0.x/conformance/more/functions/texImage2DHTML-expected.txt.
  • webgl/2.0.y/conformance2/misc/blend-integer.html: Added.
  • webgl/2.0.y/conformance2/rendering/blitframebuffer-unaffected-by-colormask-expected.txt: Added.
  • webgl/2.0.y/conformance2/rendering/blitframebuffer-unaffected-by-colormask.html: Added.
  • webgl/2.0.y/conformance2/rendering/draw-buffers-sparse-output-locations-expected.txt: Added.
  • webgl/2.0.y/conformance2/rendering/draw-buffers-sparse-output-locations.html: Added.
  • webgl/2.0.y/conformance2/textures/misc/origin-clean-conformance-offscreencanvas-expected.txt: Removed.
  • webgl/2.0.y/conformance2/textures/misc/origin-clean-conformance-offscreencanvas.html: Removed.
  • webgl/2.0.y/deqp/functional/gles3/multisample.html: Removed.
  • webgl/2.0.y/deqp/functional/gles3/multisample/default_fbo-expected.txt: Added.
  • webgl/2.0.y/deqp/functional/gles3/multisample/default_fbo.html: Added.
  • webgl/2.0.y/deqp/functional/gles3/multisample/fbo_4_samples-expected.txt: Added.
  • webgl/2.0.y/deqp/functional/gles3/multisample/fbo_4_samples.html: Added.
  • webgl/2.0.y/deqp/functional/gles3/multisample/fbo_8_samples-expected.txt: Added.
  • webgl/2.0.y/deqp/functional/gles3/multisample/fbo_8_samples.html: Added.
  • webgl/2.0.y/deqp/functional/gles3/multisample/fbo_max_samples-expected.txt: Added.
  • webgl/2.0.y/deqp/functional/gles3/multisample/fbo_max_samples.html: Added.
  • webgl/draw-webgl-to-context2d-memory-test-expected.txt:
  • webgl/resources/webgl_test_files/conformance/attribs/gl-vertexattribpointer.html:
  • webgl/resources/webgl_test_files/conformance/canvas/to-data-url-after-composite.html: Added.
  • webgl/resources/webgl_test_files/conformance/context/context-attributes-alpha-depth-stencil-antialias.html:
  • webgl/resources/webgl_test_files/conformance/context/methods.html:
  • webgl/resources/webgl_test_files/conformance/extensions/ext-texture-compression-bptc.html:
  • webgl/resources/webgl_test_files/conformance/extensions/ext-texture-compression-rgtc.html:
  • webgl/resources/webgl_test_files/conformance/extensions/s3tc-and-rgtc.html:
  • webgl/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html:
  • webgl/resources/webgl_test_files/conformance/extensions/webgl-multi-draw.html:
  • webgl/resources/webgl_test_files/conformance/extensions/webgl-webcodecs-video-frame.html:
  • webgl/resources/webgl_test_files/conformance/glsl/bugs/character-set.html:
  • webgl/resources/webgl_test_files/conformance/glsl/constructors/glsl-construct-vec-mat-index.html:
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CG_Data_Types_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CG_Standard_Library_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectBuiltInOveride_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectComma_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectConstFolding1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectConstFolding2_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectConstruct_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectExtension10_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectExtension1_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectExtension4_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFull_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFuncOverload_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFuncOverload_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectFunction1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectModule_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParse1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParse2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParse2_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParseTest1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectParseTest_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectPreprocess5_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectPreprocess8_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectPreprocess9_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle2_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectSwizzle3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/CorrectVersion_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/DuplicateVersion1_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/FunctionParam_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/Include_Preprocessor_Directive_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/Low_Level_Assembly_Reserved_Words_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/Main_Parameters_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/ParseTest3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/ParseTest4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/Permissive_Constant_Conversions_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/Permissive_Scalar_Vector_Expressions_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/TernaryOp_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/Texture_Rectangle_Samplers_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array10_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array11_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array5_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array6_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array7_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array8_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/array9_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute2_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/attribute_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/break_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_001_to_008.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_009_to_016.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_017_to_024.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_025_to_032.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_033_to_040.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_041_to_048.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_049_to_056.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_057_to_064.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_065_to_072.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_073_to_080.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_081_to_088.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_089_to_096.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_097_to_104.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_105_to_112.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_113_to_120.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_121_to_128.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_129_to_136.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_137_to_144.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_145_to_152.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_153_to_160.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_161_to_168.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_169_to_176.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/build_177_to_178.html: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma2_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/comma3_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/comment_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/conditional1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/conditional2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/conditional3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/constFunc_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/constructor1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/constructor2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/constructor3_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/continue_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType10_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType11_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType12_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType13_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType19_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType5_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType6_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType7_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType8_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dataType9_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/default.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/default.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dowhile_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dvec2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dvec3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/dvec4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension2_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension3_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension5_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension6_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension7_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension8_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/extension9_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/float2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/float3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/float4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly2_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly3_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly4_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/fragmentOnly_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function10_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function2_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function6_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function7_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function8_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/function9_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/hvec2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/hvec3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/hvec4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/identifier1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/identifier2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/identifier3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/if1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/if2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/increment6_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/input.run.txt: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/main1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/main2_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/main3_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/matrix_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/normal_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser10_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser1_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser5_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser6_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser7_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser8_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/parser9_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess0_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess10_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess6_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/preprocess7_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/scoping1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/scoping2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct10_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct11_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct4_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct5_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct6_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct7_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct8_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/struct9_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/swizzle1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/swizzle2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/swizzle3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/typecast_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/uniform1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/uniform_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying3_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/varying_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/vector_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/version2_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/version3_V100_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/vertexOnly2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/vertexOnly_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/vertex_vert.vert: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/while1_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/while2_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/ogles/GL/build/while_frag.frag: Added.
  • webgl/resources/webgl_test_files/conformance/programs/program-test.html:
  • webgl/resources/webgl_test_files/conformance/rendering/clear-default-framebuffer-with-scissor-test.html: Added.
  • webgl/resources/webgl_test_files/conformance/rendering/color-mask-should-not-affect-antialiased-framebuffer-resolution.html: Added.
  • webgl/resources/webgl_test_files/conformance/state/gl-object-get-calls.html:
  • webgl/resources/webgl_test_files/conformance/textures/misc/format-filterable-renderable.html: Added.
  • webgl/resources/webgl_test_files/conformance/textures/misc/png-image-types.html: Added.
  • webgl/resources/webgl_test_files/conformance/textures/misc/video-rotation.html:
  • webgl/resources/webgl_test_files/conformance2/context/methods-2.html:
  • webgl/resources/webgl_test_files/conformance2/extensions/ext-color-buffer-float.html:
  • webgl/resources/webgl_test_files/conformance2/extensions/ext-texture-norm16.html:
  • webgl/resources/webgl_test_files/conformance2/extensions/oes-draw-buffers-indexed.html:
  • webgl/resources/webgl_test_files/conformance2/extensions/required-extensions.html: Added.
  • webgl/resources/webgl_test_files/conformance2/extensions/webgl-multi-draw-instanced-base-vertex-base-instance.html:
  • webgl/resources/webgl_test_files/conformance2/glsl3/array-equality.html:
  • webgl/resources/webgl_test_files/conformance2/glsl3/fragment-shader-loop-crash.html: Added.
  • webgl/resources/webgl_test_files/conformance2/glsl3/matrix-row-major-dynamic-indexing.html:
  • webgl/resources/webgl_test_files/conformance2/glsl3/reciprocal-sqrt-of-sum-of-squares-crash.html: Added.
  • webgl/resources/webgl_test_files/conformance2/misc/blend-integer.html: Added.
  • webgl/resources/webgl_test_files/conformance2/programs/gl-get-frag-data-location.html:
  • webgl/resources/webgl_test_files/conformance2/rendering/blitframebuffer-unaffected-by-colormask.html: Added.
  • webgl/resources/webgl_test_files/conformance2/rendering/draw-buffers-sparse-output-locations.html: Added.
  • webgl/resources/webgl_test_files/conformance2/state/gl-object-get-calls.html:
  • webgl/resources/webgl_test_files/conformance2/textures/misc/tex-storage-compressed-formats.html:
  • webgl/resources/webgl_test_files/deqp/functional/gles3/es3fMultisampleTests.js:
  • webgl/resources/webgl_test_files/deqp/functional/gles3/es3fPrimitiveRestartTests.js:
  • webgl/resources/webgl_test_files/deqp/functional/gles3/multisample.html: Removed.
  • webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/default_fbo.html: Added.
  • webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/fbo_4_samples.html: Added.
  • webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/fbo_8_samples.html: Added.
  • webgl/resources/webgl_test_files/deqp/functional/gles3/multisample/fbo_max_samples.html: Added.
  • webgl/resources/webgl_test_files/js/glsl-conformance-test.js:
  • webgl/resources/webgl_test_files/js/js-test-post.js:
  • webgl/resources/webgl_test_files/js/js-test-pre.js:
  • webgl/resources/webgl_test_files/js/tests/compressed-texture-utils.js:
  • webgl/resources/webgl_test_files/js/tests/context-methods.js: Added.
  • webgl/resources/webgl_test_files/js/tests/ext-color-buffer-half-float.js:
  • webgl/resources/webgl_test_files/js/tests/gl-object-get-calls.js:
  • webgl/resources/webgl_test_files/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-video.js:
  • webgl/resources/webgl_test_files/js/tests/tex-image-and-sub-image-3d-with-image-bitmap-from-video.js:
  • webgl/resources/webgl_test_files/js/webgl-test-utils.js:
  • webgl/resources/webgl_test_files/resources/red-green.webmvp8.webm:
  • webgl/resources/webgl_test_files/resources/video-rotation-0.mp4:
  • webgl/resources/webgl_test_files/resources/video-rotation-0.vp9.mp4:
  • webgl/resources/webgl_test_files/resources/video-rotation-180.mp4:
  • webgl/resources/webgl_test_files/resources/video-rotation-180.vp9.mp4:
  • webgl/resources/webgl_test_files/resources/video-rotation-270.mp4:
  • webgl/resources/webgl_test_files/resources/video-rotation-270.vp9.mp4:
  • webgl/resources/webgl_test_files/resources/video-rotation-90.mp4:
  • webgl/resources/webgl_test_files/resources/video-rotation-90.vp9.mp4:
3:08 AM Changeset in webkit [288670] by graouts@webkit.org
  • 9 edits in trunk/Source

<model> should only be draggable on iOS
https://bugs.webkit.org/show_bug.cgi?id=235697

Reviewed by Dean Jackson.

Source/WebCore:

As part of bug 229246 we added support for dragging <model> elements. However, it only
worked on iOS in practice so we make that explicit so that other platforms that do not
have complete support for <model> dragging do not have that feature.

This is also important leading up to bug 227621, where we'll implement the "interactive"
HTML attribute and IDL property, since disabling dragging over a <model> element to adjust
the camera would trigger a crash under Pasteboard::write() on macOS due to not having an
image set on the pasteboard data.

  • Modules/model-element/HTMLModelElement.cpp:

(WebCore::HTMLModelElement::supportsDragging const):
(WebCore::HTMLModelElement::isDraggableIgnoringAttributes const):

  • Modules/model-element/HTMLModelElement.h:
  • Modules/model-element/ModelPlayer.cpp:

(WebCore::ModelPlayer::supportsDragging):

  • Modules/model-element/ModelPlayer.h:
  • page/DragController.cpp:

(WebCore::modelElementIsDraggable):

Source/WebKit:

Override the ModelPlayer method to enable <model> dragging on iOS.

  • WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.h:
  • WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.mm:

(WebKit::ARKitInlinePreviewModelPlayerIOS::supportsDragging):

12:48 AM Changeset in webkit [288669] by Cameron McCormack
  • 4 edits in trunk

Avoid setting and clearing :active state when dispatching synthetic click events when possible
https://bugs.webkit.org/show_bug.cgi?id=235672
<rdar://problem/88095418>

Reviewed by Simon Fraser.

Source/WebCore:

Simulated click events are dispatched with two options:

  • whether to send associated events mouseover, mouseup, mousedown
  • whether to repaint the target element with its pressed look

We currently always set the element's :active state just after when we'd
send the mousedown event, and clear it just after that.

When we dispatch a simulated click event with neither of the above
options set, there's no way to observe the temporary :active state on
the element. We can skip it in that case.

We need to continue clearing clearing the :active state regardless,
because some callers have already set :active and are relying on
simulateClick to clear it.

This patch is a 0.3-0.4% improvement on Speedometer 2.

  • dom/SimulatedClick.cpp:

(WebCore::simulateClick):

LayoutTests:

  • platform/gtk/inspector/timeline/line-column-expected.txt:
Note: See TracTimeline for information about the timeline view.