Timeline



May 23, 2022:

11:17 PM Changeset in webkit [294740] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7614.1.14.0-branch

Cherry-pick r294186. rdar://problem/93805727

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

11:14 PM Changeset in webkit [294739] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7614.1.14.1-branch

Cherry-pick r294186. rdar://problem/93805727

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

11:13 PM Changeset in webkit [294738] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.10

11:10 PM Changeset in webkit [294737] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.10

11:00 PM Changeset in webkit [294736] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r294291): Another nullptr crash with ::first-letter
https://bugs.webkit.org/show_bug.cgi?id=240795
<rdar://93645746>

Reviewed by Alan Bujtas.

  • LayoutTests/fast/css/first-letter-remove-crash-expected.txt: Added.
  • LayoutTests/fast/css/first-letter-remove-crash.html: Added.
  • LayoutTests/fast/css/first-letter-removed-added-expected.txt:
  • Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::RenderTreeBuilder::FirstLetter::updateStyle):

We should always find :first-letter style when we get here.

  • Source/WebCore/style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::resolveElement):

Rebuild the renderer subtree if ::first-letter pseudo-class stops applying.

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

10:38 PM Changeset in webkit [294735] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.0-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://problem/87980543

Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'WebCore::FEImage::SourceImage &&' (aka 'variant<Ref<WebCore::Image>, Ref<WebCore::ImageBuffer>, ObjectIdentifier<WebCore::RenderingResourceIdentifierType>> &&')

10:38 PM Changeset in webkit [294734] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.0-branch/Source

Cherry-pick r294280. rdar://problem/87980543

This reverts r294694.

10:36 PM Changeset in webkit [294733] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.0-branch/Source

Versioning.

WebKit-7613.3.1.0.4

10:28 PM Changeset in webkit [294732] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.1-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://87980543

Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'WebCore::FEImage::SourceImage &&' (aka 'variant<Ref<WebCore::Image>, Ref<WebCore::ImageBuffer>, ObjectIdentifier<WebCore::RenderingResourceIdentifierType>> &&')

10:26 PM Changeset in webkit [294731] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.1-branch/Source

Cherry-pick r294280. rdar://problem/87980543

This reverts r294684.

10:24 PM Changeset in webkit [294730] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.1-branch/Source

Versioning.

WebKit-7613.3.1.1.4

10:13 PM Changeset in webkit [294729] by commit-queue@webkit.org
  • 2 edits in trunk

REGRESSION (250413@main): [ iOS ] system-preview/badge.html is a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240352
rdar://93191053

Patch by Antoine Quint <Antoine Quint> on 2022-05-23
Reviewed by Simon Fraser.

In the case of an ARKit image, we should only be returning when we don't
have a native image to record, otherwise the system image itself needs
to be recorded as well.

  • LayoutTests/platform/ios-wk2/TestExpectations:
  • Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::drawSystemImage):

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

10:09 PM Changeset in webkit [294728] by ntim@apple.com
  • 5 edits in trunk/Source/WebCore

Remove RenderSliderThumb
https://bugs.webkit.org/show_bug.cgi?id=240794

Reviewed by Antti Koivisto.

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

  • Source/WebCore/html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::resolveCustomStyle):
(WebCore::RenderSliderThumb::RenderSliderThumb): Deleted.
(WebCore::RenderSliderThumb::updateAppearance): Deleted.
(WebCore::RenderSliderThumb::isSliderThumb const): Deleted.
(WebCore::SliderThumbElement::createElementRenderer): Deleted.

  • Source/WebCore/html/shadow/SliderThumbElement.h:
  • Source/WebCore/rendering/RenderObject.h:

(WebCore::RenderObject::isSlider const):
(WebCore::RenderObject::isSliderThumb const): Deleted.

  • Source/WebCore/rendering/RenderSlider.cpp:

(WebCore::RenderSlider::layout): Deleted.

  • Source/WebCore/rendering/RenderSlider.h:

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

9:09 PM Changeset in webkit [294727] by Diego Pino Garcia
  • 1 edit
    2 deletes in trunk/LayoutTests/platform/glib

[GLIB] Unreviewed test gardening, update expectations after r293691

9:00 PM Changeset in webkit [294726] by Ben Nham
  • 3 edits in trunk

Fix webpushd crash when removing notification permissions
https://bugs.webkit.org/show_bug.cgi?id=240737

Reviewed by Chris Dumez and Geoffrey Garen.

When removing notification permissions for an origin, webpushd crashes because of a RELEASE_ASSERT
that fires in AppBundleRequest::start when INSTALL_COORDINATION_BUNDLES isn't enabled and mock
bundles aren't enabled.

Fix this by removing the calls into AppBundleRequest when INSTALL_COORDINATION_BUNDLES isn't enabled.
Those requests are only meant to run when that feature is enabled.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: Only run the permission management test when INSTALL_COORDINATION_BUNDLES is enabled (e.g. on iOS); that is the only time it makes sense to test that codepath.
  • Source/WebKit/webpushd/WebPushDaemon.h:
  • Source/WebKit/webpushd/WebPushDaemon.mm:

(WebPushD::Daemon::deletePushRegistration):
(WebPushD::Daemon::deletePushAndNotificationRegistration):

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

8:53 PM Changeset in webkit [294725] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.11.3

Tag WebKit-7614.1.14.11.3.

8:50 PM Changeset in webkit [294724] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.11-branch/Source

Versioning.

WebKit-7614.1.14.11.3

8:11 PM Changeset in webkit [294723] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.10.5

Tag WebKit-7614.1.14.10.5.

8:10 PM Changeset in webkit [294722] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.5

8:06 PM Changeset in webkit [294721] by Diego Pino Garcia
  • 2 edits
    10 moves in trunk/LayoutTests/platform

[WPE] Unreviewed test gardening, fix missing baselines reported by test bot

8:02 PM Changeset in webkit [294720] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.0.3

Tag WebKit-7613.3.1.0.3.

8:00 PM Changeset in webkit [294719] by Alan Coon
  • 1 delete in tags/WebKit-7613.3.1.0.3

Delete tag.

7:45 PM Changeset in webkit [294718] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.14.10.4

Tag WebKit-7614.1.14.10.4.

7:43 PM Changeset in webkit [294717] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.1.3

Tag WebKit-7613.3.1.1.3.

7:40 PM Changeset in webkit [294716] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js

Web Inspector: Network Table: activity is not marked as a previous session when the Network Tab is not selected
https://bugs.webkit.org/show_bug.cgi?id=240846

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._mainResourceDidChange):
(WI.NetworkTableContentView.prototype._entryForResource):
Also mark WI.Resource that haven't yet been inserted into the WI.Table when navigating the main
resource. Use this when generating an entry for that WI.Resource for the first time, instead of
always assuming that the WI.Resource is part of the current session.

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

7:39 PM Changeset in webkit [294715] by Russell Epstein
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.4

7:06 PM Changeset in webkit [294714] by Wenson Hsieh
  • 1 edit
    2 adds in trunk

Breaking out of a quoted reply block by inserting a new paragraph should reset writing direction
https://bugs.webkit.org/show_bug.cgi?id=240778
rdar://14839536

Reviewed by Devin Rousso.

The process of breaking out of a blockquote via the "InsertNewlineInQuotedContent" editor command currently works by
splitting the blockquote into two sibling elements underneath the same parent container, and then inserting a br
element in between these sibling blockquote elements. The selection is then moved to the end of the newly created
br, which inherits the writing direction (dir) of the element containing the blockquote. In the case of Mail, if
the system language is right-to-left but the quoted content is left-to-right, this can lead to some unintuitive behavior
when breaking out of quoted LTR content, since the newly created line break will inherit the right-to-left direction of
its ancestor.

To fix this, in the case where we're breaking out of a blockquote and the start of the selection is left-to-right but
the element that contains the blockquote is right-to-left, we can wrap the br in another block-level container
element with dir=auto to avoid inheriting the writing direction from the blockquote's ancestor. This means that the
writing direction of the newly inserted paragraph will automatically be determined by what the user types.

Test: editing/execCommand/reset-direction-after-breaking-blockquote.html

  • LayoutTests/editing/execCommand/reset-direction-after-breaking-blockquote-expected.txt: Added.
  • LayoutTests/editing/execCommand/reset-direction-after-breaking-blockquote.html: Added.
  • Source/WebCore/editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

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

6:44 PM Changeset in webkit [294713] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.0-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Revert build fix. rdar://problem/87980543

This reverts r294685.

6:42 PM Changeset in webkit [294712] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.0.3

Tag WebKit-7613.3.1.0.3.

6:04 PM Changeset in webkit [294711] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.3.1

Tag WebKit-7613.3.1.3.1.

6:03 PM Changeset in webkit [294710] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.3-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

6:03 PM Changeset in webkit [294709] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.3-branch/Source

Versioning.

WebKit-7613.3.1.3.1

5:55 PM Changeset in webkit [294708] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.9

Tag WebKit-7614.1.14.1.9.

5:54 PM Changeset in webkit [294707] by Alan Coon
  • 1 copy in tags/WebKit-7613.3.1.2.1

Tag WebKit-7613.3.1.2.1.

5:53 PM Changeset in webkit [294706] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.2-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

5:47 PM Changeset in webkit [294705] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.2-branch/Source

Versioning.

WebKit-7613.3.1.2.1

5:41 PM Changeset in webkit [294704] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.9

Tag WebKit-7614.1.14.0.9.

5:33 PM Changeset in webkit [294703] by Said Abou-Hallawa
  • 1 edit in trunk/metadata/contributors.json

Add Said Abou-Hallawa's GitHub to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240840

Unreviewed.

  • metadata/contributors.json:

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

5:27 PM Changeset in webkit [294702] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations

[Gardening]: REGRESSION (r294610): [ macOS wk1 ] Two fast/forms/ tests are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240841
<rdar://93794351>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk1/TestExpectations:

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

5:12 PM Changeset in webkit [294701] by Alan Coon
  • 1 copy in branches/safari-7613.3.1.3-branch

New branch.

5:11 PM Changeset in webkit [294700] by Alan Coon
  • 1 copy in branches/safari-7613.3.1.2-branch

New branch.

5:00 PM Changeset in webkit [294699] by Alan Bujtas
  • 19 edits in trunk/Source/WebCore

RenderObject::containerForRepaint should be able to tell if a full repaint has already been scheduled.
https://bugs.webkit.org/show_bug.cgi?id=240721

Reviewed by Simon Fraser.

This patch is in preparation for reducing redundant repaints when an ancestor layer (between the renderer and the repaint container) has already been scheduled for one.

  • Source/WebCore/editing/SelectionGeometryGatherer.cpp:

(WebCore::SelectionGeometryGatherer::addQuad):
(WebCore::SelectionGeometryGatherer::addGapRects):

  • Source/WebCore/editing/SelectionGeometryGatherer.h:
  • Source/WebCore/page/FrameView.cpp:

(WebCore::FrameView::isEnclosedInCompositingLayer const):

  • Source/WebCore/rendering/LayoutRepainter.cpp:

(WebCore::LayoutRepainter::LayoutRepainter):
(WebCore::LayoutRepainter::repaintAfterLayout):

  • Source/WebCore/rendering/LayoutRepainter.h:
  • Source/WebCore/rendering/LegacyLineLayout.cpp:

(WebCore::LegacyLineLayout::layoutRunsAndFloats):

  • Source/WebCore/rendering/RenderElement.cpp:

(WebCore::RenderElement::issueRepaintForOutlineAuto):

  • Source/WebCore/rendering/RenderFragmentedFlow.cpp:

(WebCore::RenderFragmentedFlow::mapLocalToContainer const):

  • Source/WebCore/rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::layout):

  • Source/WebCore/rendering/RenderLayer.cpp:

(WebCore::RenderLayer::recursiveUpdateLayerPositions):
(WebCore::RenderLayer::computeRepaintRectsIncludingDescendants):
(WebCore::RenderLayer::recursiveUpdateLayerPositionsAfterScroll):
(WebCore::RenderLayer::setHasVisibleContent):
(WebCore::RenderLayer::calculateClipRects const):

  • Source/WebCore/rendering/RenderLayer.h:
  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::repaintOnCompositingChange):

  • Source/WebCore/rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):

  • Source/WebCore/rendering/RenderLayerScrollableArea.cpp:

(WebCore::RenderLayerScrollableArea::scrollTo):

  • Source/WebCore/rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint const):
(WebCore::RenderObject::repaint const):
(WebCore::RenderObject::repaintRectangle const):
(WebCore::RenderObject::repaintSlowRepaintObject const):

  • Source/WebCore/rendering/RenderObject.h:
  • Source/WebCore/rendering/RenderSelectionInfo.cpp:

(WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):

  • Source/WebCore/rendering/RenderSelectionInfo.h:

(WebCore::RenderSelectionInfoBase::repaintContainer const):

  • Source/WebCore/rendering/RenderView.cpp:

(WebCore::RenderView::repaintRootContents):

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

4:58 PM Changeset in webkit [294698] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.2.4

Tag WebKit-7614.1.14.2.4.

4:57 PM Changeset in webkit [294697] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7614.1.14.2-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

4:55 PM Changeset in webkit [294696] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.2-branch/Source

Versioning.

WebKit-7614.1.14.2.4

4:42 PM Changeset in webkit [294695] by Patrick Angle
  • 4 edits
    2 adds in trunk

Web Inspector: Layout panel doesn't always match visible nodes/order of nodes in document
https://bugs.webkit.org/show_bug.cgi?id=240775
rdar://93727833

Reviewed by Devin Rousso.

There were a couple issues preventing the layout panel from showing nodes that could actually have an overlay shown in
a predictable order.

First, DOMManager.prototype.nodesWithLayoutContextType provided an array of nodes sorted by nodeId, not their order in
the document. This meant that nodes created later and inserted into the page did not get placed in their logical order
relative to other containers, but at the end of the list. This is fixed with a new iterator that iterated through the
document and its tree in a way the preserves the order of elements as they would appear in a Tree view.

Second, LayoutDetailsSidebarPanel was not instrumenting the insertion/deletion of nodes, which meant that a node with a
layout context could be removed from the DOM tree, but still exist. These nodes weren't actually useful in the list
because you can't turn on the overlay for them. A similar issue existed for inserting a known node back into the DOM
tree.

Also fix an assertion reached from NodeOverlayListSection when toggling all overlays off.

  • Source/WebInspectorUI/UserInterface/Controllers/DOMManager.js:

(WI.DOMManager.prototype.attachedNodes):
(WI.DOMManager.prototype.nodesWithLayoutContextType):

  • Source/WebInspectorUI/UserInterface/Views/LayoutDetailsSidebarPanel.js:

(WI.LayoutDetailsSidebarPanel.prototype.attached):
(WI.LayoutDetailsSidebarPanel.prototype.detached):
(WI.LayoutDetailsSidebarPanel.prototype._handleNodeInserted):
(WI.LayoutDetailsSidebarPanel.prototype._handleNodeRemoved):
(WI.LayoutDetailsSidebarPanel.prototype._handleLayoutContextTypeChanged):
(WI.LayoutDetailsSidebarPanel.prototype._removeNodeFromNodeSets):
(WI.LayoutDetailsSidebarPanel.prototype._invalidateNodeSets):
(WI.LayoutDetailsSidebarPanel.prototype._refreshNodeSets):

  • Instead of iterating all the nodes twice every time something changes, iterate all the nodes once, an only do so when

doing layout to prevent multiple iterations for an eventual single layout.

  • Source/WebInspectorUI/UserInterface/Views/NodeOverlayListSection.js:

(WI.NodeOverlayListSection.prototype._handleToggleAllCheckboxChanged):

  • Fix for an assertion reachable while manually testing this patch. Toggling the overlay off when it is already off is

not allowed, and turning an overlay on that is already on is needlessly chatty over the protocol (unless changing the
settings/color, which is left untouched).

  • LayoutTests/inspector/dom/attachedNodes-expected.txt: Added.
  • LayoutTests/inspector/dom/attachedNodes.html: Added.
  • LayoutTests/inspector/css/setLayoutContextTypeChangedMode.html:
  • Update to use WI.domManager.attachedNodes() iterator.

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

4:28 PM Changeset in webkit [294694] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.0-branch/Source

Revert r294280. rdar://problem/87980543

This reverts r294672.

4:27 PM Changeset in webkit [294693] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.1-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Revert fix. rdar://problem/87980543

This reverts r294689.

4:25 PM Changeset in webkit [294692] by Chris Dumez
  • 1 edit in trunk/Source/WebCore/loader/cache/CachedRawResource.cpp

Capture WeakPtr to CachedResourceClient in lambdas in CachedRawResource::didAddClient()
https://bugs.webkit.org/show_bug.cgi?id=240828
<rdar://93781799>

Reviewed by Alex Christensen.

Capture WeakPtr to CachedResourceClient in lambdas in CachedRawResource::didAddClient()
instead of a raw pointer, for hardening.

  • Source/WebCore/loader/cache/CachedRawResource.cpp:

(WebCore::iterateRedirects):
(WebCore::CachedRawResource::didAddClient):

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

3:53 PM Changeset in webkit [294691] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/editing/IndentOutdentCommand.cpp

Null check split node parent in outdentParagraph
https://bugs.webkit.org/show_bug.cgi?id=240806

Patch by Rob Buis <rbuis@igalia.com> on 2022-05-23
Reviewed by Wenson Hsieh.

The split node parent needs an extra null check to access its parent
before safely calling hasEditableStyle.

  • Source/WebCore/editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::outdentParagraph):

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

3:37 PM Changeset in webkit [294690] by Wenson Hsieh
  • 1 edit in trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

[iPadOS] Align scroll position to origin on resize in Multitasking mode
https://bugs.webkit.org/show_bug.cgi?id=240815
rdar://92888214

Reviewed by Devin Rousso.

Make a minor adjustment to avoid re-centering the target unobscured content rect on the hit-tested
node in the center of the viewport, when multitasking mode is enabled; instead, we can simply
preserve the existing unobscured content rect offset.

  • Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:

We can also avoid this hit-test when usesMultitaskingModeViewportBehaviors() is enabled, since we
only need to anchor to the origin of the current unobscured rect.

(WebKit::WebPage::dynamicViewportSizeUpdate):

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

3:19 PM Changeset in webkit [294689] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.1-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://problem/87980543

WebKit/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'Ref<WebCore::Image>'

3:15 PM Changeset in webkit [294688] by Alan Coon
  • 2 edits in branches/safari-7614.1.14.100-branch/Source

Cherry-pick r294467. rdar://problem/93507791

REGRESSION (r294160): Occasional infinite loops under updateLayersForInteractionRegions
https://bugs.webkit.org/show_bug.cgi?id=240610
<rdar://problem/93507791>

Reviewed by Wenson Hsieh.

  • Source/WebCore/page/InteractionRegion.cpp: (WebCore::regionForElement): Avoid emitting empty rects for interaction regions, and avoid emitting the region at all if this results in an empty set of rects.
  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm: (WebKit::updateLayersForInteractionRegions): Never re-use a layer with empty bounds; we should never get here, but I'd rather re-create the layer if we do than corrupt the hash table.

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

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

3:14 PM Changeset in webkit [294687] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: [ Monterey wk2 ] webgl/2.0.0/conformance/attribs/gl-vertexattribpointer-offsets.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240830
<rdar://93786598>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

3:13 PM Changeset in webkit [294686] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.100-branch/Source

Versioning.

WebKit-7614.1.14.100.3

3:11 PM Changeset in webkit [294685] by Alan Coon
  • 1 edit in branches/safari-7613.3.1.0-branch/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp

Unreviewed build fix. rdar://problem/87980543

WebKit/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:247:36:|error: no matching constructor for initialization of 'Ref<WebCore::Image>'

2:40 PM Changeset in webkit [294684] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.1-branch/Source

Revert r294280. rdar://problem/87980543

This reverts commit r294675.

2:36 PM Changeset in webkit [294683] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: [ Monterey wk2 ] WebGL conformance tests are a flaky time out
https://bugs.webkit.org/show_bug.cgi?id=239386

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:29 PM Changeset in webkit [294682] by Matt Woodrow
  • 1 edit in trunk/metadata/contributors.json

Add mattwoohdrow's GitHub to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240824

Reviewed by Jonathan Bedard.

  • metadata/contributors.json:

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

2:21 PM Changeset in webkit [294681] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: [ Monterey Release wk2 ] webgl/max-active-contexts-webglcontextlost-prevent-default.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=240821
<rdar://93782808>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:03 PM Changeset in webkit [294680] by ntim@apple.com
  • 17 edits
    20 deletes in trunk

[css-ui] Remove support for *-level-indicator appearance values
https://bugs.webkit.org/show_bug.cgi?id=240446

Reviewed by Antti Koivisto.

These only were implemented on macOS to display stars, or other alternative types of progress on <meter> elements.

These were already removed in Chromium: https://codereview.chromium.org/1747763002

  • continuous-capacity-level-indicator
  • discrete-capacity-level-indicator
  • relevancy-level-indicator
  • rating-level-indicator

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

  • LayoutTests/accessibility/accessibility-crash-setattribute.html:
  • LayoutTests/editing/execCommand/crash-breaking-blockquote-with-list.html:
  • LayoutTests/editing/selection/modify-by-lineboundary-toward-pseudo-element.html:
  • LayoutTests/fast/block/float/float-list-changed-before-layout-crash.html:
  • LayoutTests/fast/css/content/content-quotes-crash-with-details.html:
  • LayoutTests/fast/dom/HTMLMeterElement/meter-appearances-capacity.html: Removed.
  • LayoutTests/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html: Removed.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png: Removed.
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png: Removed.
  • LayoutTests/platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/ios/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/ios/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png: Removed.
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png: Removed.
  • LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/win/TestExpectations:
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png: Removed.
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png: Removed.
  • LayoutTests/platform/win/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/wincairo/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/wincairo/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • LayoutTests/platform/wpe/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • LayoutTests/platform/wpe/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt: Removed.
  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/platform/ThemeTypes.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebCore/rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::isControlStyled const):

  • Source/WebCore/rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::supportsMeter const):
(WebCore::RenderThemeMac::levelIndicatorFor const):
(WebCore::RenderThemeMac::levelIndicatorStyleFor const): Deleted.

  • Source/WebCore/rendering/RenderThemeMac.h:

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

2:03 PM Changeset in webkit [294679] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/gtk/po/uk.po

[GTK] Update Ukrainian translation
https://bugs.webkit.org/show_bug.cgi?id=240119

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-23
Unreviewed.

  • Source/WebCore/platform/gtk/po/uk.po:

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

1:47 PM Changeset in webkit [294678] by Karl Rackler
  • 3 edits in trunk/LayoutTests/platform

[Gardening]: [Mac wk1 Debug] webaudio/audioworket-out-of-memory.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=227845
<rdar://80398130>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:

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

1:17 PM Changeset in webkit [294677] by ntim@apple.com
  • 10 edits in trunk

[css-ui] Unexpose remaining media-* appearance values
https://bugs.webkit.org/show_bug.cgi?id=240484
<rdar://93376288>

Reviewed by Aditya Keerthi.

These are made UA sheet-only (since they're used in the mediaControls*.css sheets):

  • media-fullscreen-volume-slider
  • media-slider
  • media-volume-slider

These are made internal (only used from C++ code):

  • media-fullscreen-volume-slider-thumb
  • media-sliderthumb
  • media-volume-sliderthumb

Test: imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001.html

  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

  • Source/WebCore/html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::resolveCustomStyle):
(WebCore::SliderContainerElement::resolveCustomStyle):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:

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

12:56 PM Changeset in webkit [294676] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.1-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

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

12:55 PM Changeset in webkit [294675] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.1-branch/Source

Cherry-pick r294280. rdar://problem/87980543

REGRESSION(r249162): CanvasRenderingContext2DBase::drawImage() crashes if the image is animated and the first frame cannot be decoded
https://bugs.webkit.org/show_bug.cgi?id=239113
rdar://87980543

Reviewed by Simon Fraser.

Source/WebCore:

CanvasRenderingContext2DBase::drawImage() needs to ensure the first frame
of the animated image can be decoded correctly before creating the temporary
static image. If the first frame can't be decoded, this function should return
immediately. This matches the behavior of this function before r249162.

The animated image decodes its frames asynchronously in a work queue. But
the first frame has to be decoded synchronously in the main run loop. So
to avoid running the image decoder in two different threads we are going
to keep the first and the current frame cached when we receive a memory
pressure warning. This should not increase the memory allocation of the
animated image because the numbers of cached frames increases quickly and
we keep all of them till a memory warning is received. But the memory
pressure warning will be received a little bit more often. This depends
on the memory size of the first frame.

To make the code more robust, make ImageSource take a Ref<NativeImage>
instead of taking a RefPtr<NativeImage>.

  • html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::drawImage):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::ImageSource): (WebCore::ImageSource::destroyDecodedData): (WebCore::ImageSource::setNativeImage):
  • platform/graphics/ImageSource.h: (WebCore::ImageSource::create): (WebCore::ImageSource::isDecoderAvailable const): (WebCore::ImageSource::destroyAllDecodedData): Deleted. (WebCore::ImageSource::destroyAllDecodedDataExcludeFrame): Deleted. (WebCore::ImageSource::destroyDecodedDataBeforeFrame): Deleted.

Source/WebKit:

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::drawSystemImage):

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

12:55 PM Changeset in webkit [294674] by Alan Coon
  • 2 edits in branches/safari-7613.3.1.1-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92913312

Force PAS_ASSERT to generate different crash sites for each assertion.
https://bugs.webkit.org/show_bug.cgi?id=240209

Reviewed by Yusuke Suzuki.

Clang currently optimizes all crash sites into one in each function. Hence, if we
get a crash address at the 1 crash site, we don't know which failed assertion got
us there. This patch uses an asm statement to force Clang to emit a different
crash site for each assertion.

Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.

Size-wise, there is some increase. The following is the "size" output on
JavaScriptCore on M1:

TEXT. DATA OBJC others dec hex

old 19628032 180224 0 18792448 38600704 24d0000
new 19644416 180224 0 19251200 39075840 2544000

diff 16384 0 0 458752 475136

The increase in the "others" categories are mostly in the String Table, Symbol
Table, and Function Start Addresses. These take up disk space but should not
impact RAM usage unless they are accessed by a a debugger.

  • libpas/src/libpas/pas_utils.h: (pas_assertion_failed):

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

12:55 PM Changeset in webkit [294673] by Alan Coon
  • 6 edits
    2 adds in branches/safari-7613.3.1.1-branch

Cherry-pick r289713. rdar://problem/93601919

Expose the correct role, subrole and role description properties for the <dialog> element.
https://bugs.webkit.org/show_bug.cgi?id=236359

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/dialog-properties.html

Elements with role="dialog" are exposed to accessibility clients with
role AXGroup, subrole AXApplicationDialog and role description
"web dialog". This patch implements this behavior for the <dialog>
element.

  • accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const):

LayoutTests:

Tests that these AX properties have the expected values both when the
dialog is shown modal or modeless.

  • accessibility/dialog-properties-expected.txt: Added.
  • accessibility/dialog-properties.html: Added.

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

12:52 PM Changeset in webkit [294672] by Alan Coon
  • 8 edits
    2 adds in branches/safari-7613.3.1.0-branch

Cherry-pick r294186. rdar://problem/93213436

Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365

Reviewed by Chris Fleizach.

Source/WebCore:

We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:

AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...

This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).

Test: accessibility/aria-modal-with-text-crash.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.

LayoutTests:

  • accessibility/aria-modal-with-text-crash-expected.txt: Added.
  • accessibility/aria-modal-with-text-crash.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/win/TestExpectations: Skip new test.

Canonical link: https://commits.webkit.org/250552@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294186 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:51 PM Changeset in webkit [294671] by mmaxfield@apple.com
  • 1 edit in trunk/metadata/contributors.json

Add Mike Wyrzykowski to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240816

Unreviewed.

He is a contributor.

  • metadata/contributors.json:

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

12:46 PM Changeset in webkit [294670] by sihui_liu@apple.com
  • 4 edits in trunk/Source/WebKit/UIProcess

REGRESSION (r294469): [ iOS ] TestWebKitAPI.NSAttributedStringWebKitAdditions.DirectoriesNotCreated is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240690

Reviewed by Chris Dumez.

r294469 failed to check if WebsiteDataStore is persistent before getting and creating directories in WebProcessPool. To
fix this and to avoid future issues, we make WebsiteDataStore return null for directory getters if it's not persistent.

  • Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::GPUProcessProxy):

  • Source/WebKit/UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::webProcessDataStoreParameters):

  • Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::cookieStorageDirectory const):
(WebKit::WebsiteDataStore::containerCachesDirectory const):
(WebKit::WebsiteDataStore::parentBundleDirectory const):
(WebKit::WebsiteDataStore::networkingCachesDirectory const):
(WebKit::WebsiteDataStore::containerTemporaryDirectory const):
(WebKit::WebsiteDataStore::defaultContainerTemporaryDirectory):
(WebKit::WebsiteDataStore::cookieStorageDirectory): Deleted.
(WebKit::WebsiteDataStore::containerCachesDirectory): Deleted.
(WebKit::WebsiteDataStore::parentBundleDirectory): Deleted.
(WebKit::WebsiteDataStore::networkingCachesDirectory): Deleted.
(WebKit::WebsiteDataStore::containerTemporaryDirectory): Deleted.

  • Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:

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

12:44 PM Changeset in webkit [294669] by Alan Coon
  • 7 edits in branches/safari-7613.3.1.0-branch/Source

Cherry-pick r294280. rdar://problem/87980543

REGRESSION(r249162): CanvasRenderingContext2DBase::drawImage() crashes if the image is animated and the first frame cannot be decoded
https://bugs.webkit.org/show_bug.cgi?id=239113
rdar://87980543

Reviewed by Simon Fraser.

Source/WebCore:

CanvasRenderingContext2DBase::drawImage() needs to ensure the first frame
of the animated image can be decoded correctly before creating the temporary
static image. If the first frame can't be decoded, this function should return
immediately. This matches the behavior of this function before r249162.

The animated image decodes its frames asynchronously in a work queue. But
the first frame has to be decoded synchronously in the main run loop. So
to avoid running the image decoder in two different threads we are going
to keep the first and the current frame cached when we receive a memory
pressure warning. This should not increase the memory allocation of the
animated image because the numbers of cached frames increases quickly and
we keep all of them till a memory warning is received. But the memory
pressure warning will be received a little bit more often. This depends
on the memory size of the first frame.

To make the code more robust, make ImageSource take a Ref<NativeImage>
instead of taking a RefPtr<NativeImage>.

  • html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::drawImage):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::ImageSource): (WebCore::ImageSource::destroyDecodedData): (WebCore::ImageSource::setNativeImage):
  • platform/graphics/ImageSource.h: (WebCore::ImageSource::create): (WebCore::ImageSource::isDecoderAvailable const): (WebCore::ImageSource::destroyAllDecodedData): Deleted. (WebCore::ImageSource::destroyAllDecodedDataExcludeFrame): Deleted. (WebCore::ImageSource::destroyDecodedDataBeforeFrame): Deleted.

Source/WebKit:

  • GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::drawSystemImage):

Canonical link: https://commits.webkit.org/250624@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:44 PM Changeset in webkit [294668] by Alan Coon
  • 2 edits in branches/safari-7613.3.1.0-branch/Source/bmalloc

Cherry-pick r293952. rdar://problem/92913312

Force PAS_ASSERT to generate different crash sites for each assertion.
https://bugs.webkit.org/show_bug.cgi?id=240209

Reviewed by Yusuke Suzuki.

Clang currently optimizes all crash sites into one in each function. Hence, if we
get a crash address at the 1 crash site, we don't know which failed assertion got
us there. This patch uses an asm statement to force Clang to emit a different
crash site for each assertion.

Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.

Size-wise, there is some increase. The following is the "size" output on
JavaScriptCore on M1:

TEXT. DATA OBJC others dec hex

old 19628032 180224 0 18792448 38600704 24d0000
new 19644416 180224 0 19251200 39075840 2544000

diff 16384 0 0 458752 475136

The increase in the "others" categories are mostly in the String Table, Symbol
Table, and Function Start Addresses. These take up disk space but should not
impact RAM usage unless they are accessed by a a debugger.

  • libpas/src/libpas/pas_utils.h: (pas_assertion_failed):

Canonical link: https://commits.webkit.org/250398@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:44 PM Changeset in webkit [294667] by Alan Coon
  • 6 edits
    2 adds in branches/safari-7613.3.1.0-branch

Cherry-pick r289713. rdar://problem/93601919

Expose the correct role, subrole and role description properties for the <dialog> element.
https://bugs.webkit.org/show_bug.cgi?id=236359

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/dialog-properties.html

Elements with role="dialog" are exposed to accessibility clients with
role AXGroup, subrole AXApplicationDialog and role description
"web dialog". This patch implements this behavior for the <dialog>
element.

  • accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const):

LayoutTests:

Tests that these AX properties have the expected values both when the
dialog is shown modal or modeless.

  • accessibility/dialog-properties-expected.txt: Added.
  • accessibility/dialog-properties.html: Added.

Canonical link: https://commits.webkit.org/247198@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@289713 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12:41 PM Changeset in webkit [294666] by eric.carlson@apple.com
  • 1 edit in trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm

[macOS] 3 TestWebKitAPI.GetDisplayMediaTest API tests time out
https://bugs.webkit.org/show_bug.cgi?id=240813
rdar://92831194

Reviewed by Youenn Fablet.

  • Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Don't
prompt for getDisplayMedia if the UI delegate implements the old SPI.

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

12:33 PM Changeset in webkit [294665] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.1-branch/Source

Versioning.

WebKit-7613.3.1.1.3

12:21 PM Changeset in webkit [294664] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore/html

MediaController should be an ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=240749
<rdar://93525670>

Reviewed by Youenn Fablet.

  • html/MediaController.cpp:

(WebCore::MediaController::MediaController):

  • html/MediaController.h:

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

12:11 PM Changeset in webkit [294663] by Alan Coon
  • 9 edits in branches/safari-7613.3.1.0-branch/Source

Versioning.

WebKit-7613.3.1.0.3

11:54 AM Changeset in webkit [294662] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.3

Tag WebKit-7614.1.14.10.3.

11:53 AM Changeset in webkit [294661] by Jonathan Bedard
  • 6 edits in trunk/Tools/Scripts/libraries

git webkit setup opens a GitHub web page without warning
https://bugs.webkit.org/show_bug.cgi?id=240490
<rdar://93522009>

Reviewed by Alexey Proskuryakov.

  • Tools/Scripts/libraries/webkitbugspy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:

(Tracker.credentials.prompt): Prompt user before generating token.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py:

(Terminal.open_url): Allow caller to specify a prompt before opening URL.

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

11:50 AM Changeset in webkit [294660] by commit-queue@webkit.org
  • 2 edits in trunk/Source

Use kCGImageSourceCreateUnpremultipliedPNG on iOS family to correctly read PNG files without premultiplication.
https://bugs.webkit.org/show_bug.cgi?id=240137
<rdar://93198134>

Patch by John Cunningham <johncunningham@apple.com> on 2022-05-23
Reviewed by Simon Fraser.

  • Source/WTF/wtf/PlatformHave.h:
  • Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::createImageSourceOptions):

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

11:36 AM Changeset in webkit [294659] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.3

11:16 AM Changeset in webkit [294658] by eric.carlson@apple.com
  • 2 edits
    1 move in trunk/Tools/TestWebKitAPI

REGRESSION(r293671): [ iOS ] 2 TestWebKitAPI.MediaLoading.RangeRequestSynthesis (API-Tests) are constant failures
https://bugs.webkit.org/show_bug.cgi?id=240033
rdar://92689429

Refactor the new code, add the transport stream to the copy resources step.

Reviewed by Jer Noble.

  • Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add .ts file, copy to resources.
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:

(TestWebKitAPI::TEST): Update test.

  • Tools/TestWebKitAPI/Tests/WebKit/cocoa/start-offset.ts -> Tools/TestWebKitAPI/Tests/WebKitCocoa/start-offset.ts

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

11:05 AM Changeset in webkit [294657] by Alan Coon
  • 4 edits in branches/safari-7614.1.14.0-branch

Cherry-pick r294589. rdar://problem/92006847

[MacCatalyst] REGRESSION(r290091): sometimes can hang if WKWebView is unparented before the next visible content rect update
https://bugs.webkit.org/show_bug.cgi?id=240691
<rdar://problem/92006847>

Reviewed by Wenson Hsieh.

Test: WKWebViewResize.RemovesAssertionsAfterMovingToWindow

  • Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _processWillSwapOrDidExit]): (-[WKWebView didMoveToWindow]): (-[WKWebView _acquireResizeAssertionForReason:]): Drive-by: WebProcess crashes should also clear the resize assertions. Drive-by: Add a 1s timeout in case the next visible content rect update takes too long.
  • Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
  • Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm: (-[WKWebView _hasResizeAssertion]): Added.
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewResize.mm: (TEST.WKWebViewResize.RemovesAssertionsAfterMovingToWindow): Added.

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

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

11:02 AM Changeset in webkit [294656] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.9

10:58 AM Changeset in webkit [294655] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.9

10:57 AM Changeset in webkit [294654] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

[Cocoa] fast/text/international/generic-font-family-language-traditional.html is failing due to language minimization
https://bugs.webkit.org/show_bug.cgi?id=240751
<rdar://problem/93394618>

Reviewed by Chris Dumez.

We're saying the language list ["en", "zh-tw"] gets minimized to en?, which then removes the signal about whether we should render simplified or traditional Chinese.

On one hand, this is kind of good, because the whole point of minimization is to make different browser configurations in the same bucket as identical. On the other hand, it means a user with these language preferences won't get the rendering they expect.

I could change the test to just use the language list zh-tw? and I think it would still test the thing it's trying to test, so that's what this patch does.

  • LayoutTests/fast/text/international/generic-font-family-language-traditional.html:
  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac/TestExpectations:

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

10:54 AM Changeset in webkit [294653] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r294536): [ macOS Release wk2 ] Twelve webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240735

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

10:32 AM Changeset in webkit [294652] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r293885?): [ macOS wk2 ] webrtc/canvas-to-peer-connection.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240814
<rdar://93768909>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

10:11 AM Changeset in webkit [294651] by Patrick Angle
  • 2 edits in trunk/Source/WebKit/UIProcess/API/Cocoa

Web Driver: Expose new isPendingTermination property on _WKAutomationSession
https://bugs.webkit.org/show_bug.cgi?id=240669
rdar://93367943

Reviewed by Devin Rousso.

  • Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.h:
  • Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.mm:

(-[_WKAutomationSession isPendingTermination]):

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

10:09 AM Changeset in webkit [294650] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm

Bump the priority of iOS ProcessAssertion Queue
https://bugs.webkit.org/show_bug.cgi?id=240784

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-23
Reviewed by Chris Dumez.

It is important to acquire assertions in a timely manner as otherwise the UIProcess
might think a process is unresponsive.
Bump the priority to WorkQueue::QOS::UserInitiated.

  • Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm:

(assertionsWorkQueue):

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

9:55 AM Changeset in webkit [294649] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening]: [ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=231266
<rdar://83910715>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

9:36 AM Changeset in webkit [294648] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r294536): [ macOS Release wk2 ] Twelve webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240735

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

9:32 AM Changeset in webkit [294647] by ntim@apple.com
  • 8 edits in trunk

[css-ui] Restrict default-button CSS appearance value to useSystemAppearance
https://bugs.webkit.org/show_bug.cgi?id=240391

Reviewed by Aditya Keerthi.

This appearance value renders a button in its highlighted state to designate a button that is activated by default on macOS.

The most important reason to keep it around is for internal macOS apps, so we restrict it to webviews with useSystemAppearance.

  • LayoutTests/editing/deleting/insert-in-orphaned-selection-crash.html:
  • LayoutTests/editing/deleting/insert-in-orphaned-selection-crash-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:

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

9:09 AM Changeset in webkit [294646] by aakash_jain@apple.com
  • 1 edit in trunk/Tools/CISupport/ews-app/ews/views/statusbubble.py

Disable mac-debug-wk1 ews status bubble
https://bugs.webkit.org/show_bug.cgi?id=240803

Reviewed by Ryan Haddad.

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

(StatusBubble):

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

9:04 AM Changeset in webkit [294645] by Chris Dumez
  • 1 edit in trunk/Source/WebCore/Modules/webdatabase/Database.cpp

Regression(r294611): ASSERTION FAILED: m_isConstructed under WebCore::fullyQualifiedInfoTableName()
https://bugs.webkit.org/show_bug.cgi?id=240800

Unreviewed, use LazyNeverDestroyed::construct() instead of assignment to LazyNeverDestroyed::get()
to address the debug assertion on the bots.

  • Source/WebCore/Modules/webdatabase/Database.cpp:

(WebCore::fullyQualifiedInfoTableName):

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

8:58 AM Changeset in webkit [294644] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Update philn's emails in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240799

Patch by Philippe Normand <philn@igalia.com> on 2022-05-23
Unreviewed.

  • metadata/contributors.json: Update philn's emails and expertise.

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

8:44 AM Changeset in webkit [294643] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/gtk/po/sv.po

[GTK] Update Swedish translation
https://bugs.webkit.org/show_bug.cgi?id=240791

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-23
Unreviewed.

  • Source/WebCore/platform/gtk/po/sv.po:

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

8:35 AM Changeset in webkit [294642] by Mikhail R. Gadelha
  • 4 edits in trunk

Unskip JSTests/stress/shadow-realm-import-value.js on ARMv7 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=240662

Reviewed by Yusuke Suzuki.

Fix tag and payload being swapped in the resultRegs object.

Also updated some places that can use JSRInfo::returnValueJSR instead
of manually writing the GPR order.

Patch by Geza Lore and Mikhail R. Gadelha.

  • jit/ThunkGenerators.cpp: (JSC::boundFunctionCallGenerator): (JSC::remoteFunctionCallGenerator):

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

8:13 AM WebKitEmacsTips edited by Philippe Normand
(diff)
8:02 AM Changeset in webkit [294641] by ntim@apple.com
  • 24 edits
    5 deletes in trunk

[css-ui] Remove support for appearance: media-controls-{dark/light}-bar-background
https://bugs.webkit.org/show_bug.cgi?id=240756

Reviewed by Antoine Quint.

Reverts r180965 (adapted with new code), this was originally added for old media controls, but was never used.

Marked relevant WPT as passing.

  • LayoutTests/compositing/media-controls-bar-appearance-big-expected.txt: Removed.
  • LayoutTests/compositing/media-controls-bar-appearance-big.html: Removed.
  • LayoutTests/compositing/media-controls-bar-appearance-expected.txt: Removed.
  • LayoutTests/compositing/media-controls-bar-appearance.html: Removed.
  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/ios/compositing/media-controls-bar-appearance-expected.txt: Removed.
  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/platform/ThemeTypes.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebCore/platform/graphics/GraphicsLayer.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/graphics/GraphicsLayer.h:
  • Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::changeLayerTypeTo):
(WebCore::layerTypeForCustomBackdropAppearance): Deleted.
(WebCore::isCustomBackdropLayerType): Deleted.

  • Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
  • Source/WebCore/platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
  • Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayerCocoa::PlatformCALayerCocoa):
(WebCore::PlatformCALayerCocoa::updateCustomAppearance):

  • Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp:

(printLayer):

  • Source/WebCore/rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateConfigurationAfterStyleChange):
(WebCore::RenderLayerBacking::updateCustomAppearance): Deleted.

  • Source/WebCore/rendering/RenderLayerBacking.h:
  • Source/WebKit/Platform/spi/ios/UIKitSPI.h:
  • Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext):

  • Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(WebKit::updateCustomAppearance):
(WebKit::RemoteLayerTreePropertyApplier::applyHierarchyUpdates):
(WebKit::RemoteLayerTreePropertyApplier::updateMask):

  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::makeNode):

  • Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::makeNode):

  • Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
  • Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(-[WKBackdropView hitTest:withEvent:]): Deleted.
(-[WKBackdropView description]): Deleted.

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

7:58 AM Changeset in webkit [294640] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore/rendering

Remove RenderTheme::adjustSearchFieldDecorationStyle()
https://bugs.webkit.org/show_bug.cgi?id=240798

Reviewed by Antti Koivisto.

Let appearance: auto; handle this instead, to centralize this in one place.

  • Source/WebCore/rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::autoAppearanceForElement const):
(WebCore::RenderTheme::adjustSearchFieldDecorationStyle const): Deleted.

  • Source/WebCore/rendering/RenderTheme.h:

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

7:34 AM Changeset in webkit [294639] by commit-queue@webkit.org
  • 1 edit in trunk/metadata/contributors.json

Add github account for Kimmo Kinnunen
https://bugs.webkit.org/show_bug.cgi?id=240789

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-23
Unreviewed.

  • metadata/contributors.json:

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

6:49 AM Changeset in webkit [294638] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore/layout

Add support for block direction grow
https://bugs.webkit.org/show_bug.cgi?id=240776

Reviewed by Antti Koivisto.

This is a basic block direction grow support (e.g. default block direction (top->bottom) with flex direction of column) when
flex box's height is fixed.

  • Source/WebCore/layout/formattingContexts/FormattingConstraints.h:
  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:

(WebCore::LayoutIntegration::FlexLayout::updateRenderers const):

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

6:41 AM WebKitGTK/2.36.x edited by Michael Catanzaro
(diff)
6:38 AM Changeset in webkit [294637] by commit-queue@webkit.org
  • 2 edits in trunk

RealtimeOutgoingVideoSourceCocoa pixelBufferPool should use video range
https://bugs.webkit.org/show_bug.cgi?id=240463
rdar://problem/93354226

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-23
Reviewed by Eric Carlson.

We switched to using a pixel conformer that was using preferredPixelFormat to using libyuv routine.
Update the pixel buffer pool to use kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange to be compliant with libyuv routines.

  • LayoutTests/platform/ios/TestExpectations:
  • Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:

(WebCore::RealtimeOutgoingVideoSourceCocoa::pixelBufferPool):

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

6:24 AM Changeset in webkit [294636] by Adrian Perez de Castro
  • 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp

Merge r294540 - [GStreamer] Block legacy VAAPI plugin
https://bugs.webkit.org/show_bug.cgi?id=240664

Patch by Philippe Normand <philn@igalia.com> on 2022-05-20
Reviewed by Xabier Rodriguez-Calvar.

The VAAPI plugin is not much maintained anymore and prone to rendering issues. In the
mid-term we will leverage the new stateless VA decoders. Disable the legacy plugin,
unless the WEBKIT_GST_ENABLE_LEGACY_VAAPI environment variable is set to 1.

  • Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::registerWebKitGStreamerElements):

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

6:23 AM Changeset in webkit [294635] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r293319 - [GStreamer] Disable new demuxers based on adaptivedemux2
https://bugs.webkit.org/show_bug.cgi?id=239701

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-25
Reviewed by Xabier Rodriguez-Calvar.

The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new base
class does not abstract away network access. They can't work in a sandboxed media process,
so demote their rank in order to prevent decodebin3 from auto-plugging them.

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::registerWebKitGStreamerElements):

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

6:14 AM Changeset in webkit [294634] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore/platform/graphics/gstreamer/mse

REGRESSION(r290375) [GStreamer] Deadlock in WebProcess termination if AppendPipeline is started
https://bugs.webkit.org/show_bug.cgi?id=240716

Patch by Olivier Blin <Olivier Blin> on 2022-05-23
Reviewed by Alicia Boya Garcia.

Since r290375, GStreamer ports are calling gst_deinit() at WebProcess
termination.

This is causing a deadlock if a MSE SourceBuffer has been instantiated.
That is because the GstTask from the appsrc element in the
AppendPipeline is still running.

To avoid the deadlock, stop the appsrc element in the AppendPipeline
when the SourceBuffer is removed from the MediaSource, since it will
not be useful anymore after being removed from its associated MediaSource.

The W3C spec of MediaSource.removeSourceBuffer mentions as a last step
that it should destroy all resources for sourceBuffer.

The MediaSource will be stopped at WebProcess termination, since
active DOM objects are stopped when detaching the frame.
This ensures that MediaSource is detached from its media element, and
that it removes its source buffers.

Drive-by fix: remove resetPipeline declaration, deleted in r238892

  • Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::stopParser):

  • Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h:
  • Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):

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

4:33 AM Changeset in webkit [294633] by Ziran Sun
  • 1 edit in trunk/Source/WebCore/css/html.css

Remove unnecessary appearance: auto; declarations in html.css.
https://bugs.webkit.org/show_bug.cgi?id=240764

input and select already have an appearance: auto rule.

Reviewed by Tim Nguyen.

  • Source/WebCore/css/html.css:

(#endif):
(input[type="search"]::-webkit-search-cancel-button):
(input[type="search"]::-webkit-search-decoration):
(#if defined(ENABLE_DATE_AND_TIME_INPUT_TYPES) && ENABLE_DATE_AND_TIME_INPUT_TYPES):
(input:is([type="button"], [type="submit"], [type="reset"])):
(input[type="file"]::file-selector-button):
(input[type="checkbox"]):
(#if !(defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY)):
(select:is([size=""], [size="0"], [size="1"])):

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

4:21 AM Changeset in webkit [294632] by commit-queue@webkit.org
  • 2 edits in trunk

[JSC] Do not use bytecode cache on $.agent worker threads

Patch by Geza Lore <Geza Lore> on 2022-05-23
https://bugs.webkit.org/show_bug.cgi?id=240642

Reviewed by Yusuke Suzuki.

Workers started via $.agent.start are not shut down in a synchronous
manner, and it is possible the main thread terminates the process while
a worker is writing its bytecode cache, which results in intermittent
test failures. As $.agent.start is only a rarely used testing facility,
we simply do not cache bytecode on these threads.

Also un-skip test on ARMv7 that used to fail because of this.

  • Source/JavaScriptCore/jsc.cpp:

(Worker::isMain const):
(Worker::Worker):
(runJSC):

  • JSTests/stress/lars-sab-workers.js:

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

3:37 AM Changeset in webkit [294631] by commit-queue@webkit.org
  • 1 edit in trunk/JSTests/stress/class-subclassing-function.js

Re-enable JSTests/stress/class-subclassing-function.js in ARM+NoLLInt
https://bugs.webkit.org/show_bug.cgi?id=240648

Patch by Joseph Griego <jgriego@igalia.com> on 2022-05-23
Reviewed by Yusuke Suzuki.

This was originally skipped in
https://bugs.webkit.org/show_bug.cgi?id=194285 because it runs out of
executable memory without LLInt; this seems to no longer be the case, at
least as far as my testing revealed, and EWS can hopefully confirm this

Re-enable the test in ARM+NoLLInt configurations.

  • JSTests/stress/class-subclassing-function.js:

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

3:34 AM Changeset in webkit [294630] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Add a runtime setting for switching on/off AudioSampleDataSource buffer adaptation
https://bugs.webkit.org/show_bug.cgi?id=240634

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-23
Reviewed by Eric Carlson.

  • Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
  • Source/WebCore/page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCAudioLatencyAdaptationEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCAudioLatencyAdaptationEnabled):

  • Source/WebCore/platform/audio/cocoa/AudioSampleDataConverter.mm:

(WebCore::AudioSampleDataConverter::updateBufferedAmount):

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

2:06 AM Changeset in webkit [294629] by ntim@apple.com
  • 14 edits
    3 deletes in trunk

[css-ui] Remove media-play-button and media-volume-slider-mute appearance values
https://bugs.webkit.org/show_bug.cgi?id=240760

Reviewed by Antti Koivisto.

These are unimplemented/no-op on all platforms.

  • LayoutTests/fast/css-generated-content/empty-first-letter-with-columns-crash.html:
  • LayoutTests/fast/multicol/readjust-first-child-on-attach.html:

Stop using these appearance values in crashtests.

  • LayoutTests/imported/blink/fast/css-generated-content/empty-first-letter-with-columns-crash.html: Removed.

Remove duplicate test.

  • LayoutTests/imported/blink/media/video-webkit-appearance-expected.html: Removed.
  • LayoutTests/imported/blink/media/video-webkit-appearance.html: Removed.

Remove no longer relevant crashtest.

  • LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Marked subtests as passing.

  • Source/WebCore/css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/CSSValueKeywords.in:
  • Source/WebCore/css/mediaControls.css:

Clean up stylesheet and stop using unsupported appearance values.
(:is(audio, video)::-webkit-media-controls-panel):
(video:-webkit-full-page-media):
(:is(audio, video)::-webkit-media-controls-mute-button,):
(:is(audio, video)::-webkit-media-controls-overlay-play-button):
(:is(audio, video)::-webkit-media-controls-timeline-container):
(:is(audio, video)::-webkit-media-controls-current-time-display,):
(:is(audio, video)::-webkit-media-controls-timeline):
(:is(audio, video)::-webkit-media-controls-volume-slider):
(:is(audio, video)::-webkit-media-controls-seek-back-button,):
(:is(audio, video)::-webkit-media-controls-rewind-button,):
(:is(audio, video)::-webkit-media-controls-closed-captions-container,):
(:is(audio, video)::-webkit-media-controls-volume-slider-mute-button):
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): Deleted.
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): Deleted.
(audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button): Deleted.
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): Deleted.
(audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): Deleted.
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): Deleted.
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): Deleted.
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): Deleted.
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): Deleted.
(audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): Deleted.
(audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): Deleted.
(audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): Deleted.
(audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): Deleted.
(audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): Deleted.
(audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): Deleted.
(audio::-webkit-media-controls-closed-captions-container, video::-webkit-media-controls-closed-captions-container): Deleted.
(audio::-webkit-media-controls-closed-captions-track-list, video::-webkit-media-controls-closed-captions-track-list): Deleted.
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): Deleted.
(audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider): Deleted.
(audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button): Deleted.
(audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button): Deleted.

  • Source/WebCore/platform/ThemeTypes.cpp:

(WebCore::operator<<):

  • Source/WebCore/platform/ThemeTypes.h:
  • Source/WebCore/rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::adjustMediaControlStyle const): Deleted.

  • Source/WebCore/rendering/RenderTheme.h:

(WebCore::RenderTheme::paintMediaPlayButton): Deleted.
(WebCore::RenderTheme::paintMediaMuteButton): Deleted.

  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
  • Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js:

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

1:59 AM Changeset in webkit [294628] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

IPC stream work queues lack autoreleasepools
https://bugs.webkit.org/show_bug.cgi?id=240647
<rdar://problem/93575653>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-23
Reviewed by Simon Fraser.

Add the autorelease pool to each iteration of IPC stream message
processing.

This prevents leaks where the callgraph ends up using Objective-C
APIs that instantiate autoreleased objects. From WebKit code,
examples are things like dictionary literals from IOSurface.mm and
strings. Similarly other platform APIs use other similar, typically
small temporary autoreleased objects. Compared to GPUP held graphics
objects, even long running GPUP processes did not accumulate that much
leaked memory. The footprint would hike up 1-6 mb per hour on repeated
animation in the simplest case.

  • Source/WebKit/Platform/IPC/StreamConnectionWorkQueue.cpp:

(IPC::StreamConnectionWorkQueue::processStreams):

  • Source/WebKit/Shared/IPCStreamTester.cpp:

(WebKit::releaseUseCountHolder):
(WebKit::IPCStreamTester::checkAutoreleasePool):

  • Source/WebKit/Shared/IPCStreamTester.h:
  • Source/WebKit/Shared/IPCStreamTester.messages.in:
  • LayoutTests/ipc/stream-check-autoreleasepool-expected.txt: Added.
  • LayoutTests/ipc/stream-check-autoreleasepool.html: Added.

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

May 22, 2022:

11:45 PM Changeset in webkit [294627] by commit-queue@webkit.org
  • 1 edit in trunk/JSTests/wasm/wasm.json

WebAssembly: sync wasm.json files
https://bugs.webkit.org/show_bug.cgi?id=240741

Patch by Asumu Takikawa <asumu@igalia.com> on 2022-05-22
Reviewed by Yusuke Suzuki.

  • JSTests/wasm/wasm.json:

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

11:31 PM Changeset in webkit [294626] by Lauro Moura
  • 2 edits in trunk/Source/WebKit/Shared

Ignore SIGPIPE in subprocesses
https://bugs.webkit.org/show_bug.cgi?id=240444

Reviewed by Adrian Perez de Castro.

One common case where ignoring SIGPIPE is desired is to avoid issues
when logging to journald and it crashes. As stated in
https://www.freedesktop.org/software/systemd/man/systemd-journald.service

"In order to react gracefully in this (journald stopped) case it is
recommended that programs logging to standard output/error ignore such
errors."

  • Shared/AuxiliaryProcess.cpp: Avoid default platformInitialize on

Unix.

  • Shared/unix/AuxiliaryProcessMain.cpp:

(WebKit::AuxiliaryProcess::platformInitialize): Added, ignore SIGPIPE.

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

9:43 PM Changeset in webkit [294625] by commit-queue@webkit.org
  • 1 edit in trunk/LayoutTests/platform/glib/TestExpectations

Unreviewed, gardening glib timeouts
https://bugs.webkit.org/show_bug.cgi?id=240783

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

6:23 PM Changeset in webkit [294624] by Fujii Hironori
  • 2 edits in trunk/LayoutTests/platform

[WinCairo] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=240439

  • LayoutTests/platform/wincairo-wk1/TestExpectations:
  • LayoutTests/platform/wincairo/TestExpectations:

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

1:50 PM Changeset in webkit [294623] by Alan Bujtas
  • 6 edits
    1 add in trunk/Source/WebCore

Flex layout may use flex box's height to stretch flex items
https://bugs.webkit.org/show_bug.cgi?id=240774

Reviewed by Antti Koivisto.

This is in preparation for being able to stretch the flex items vertically (e.g. when the flex box has fixed height)

  • Source/WebCore/Headers.cmake:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/layout/formattingContexts/FormattingConstraints.h:

(WebCore::Layout::ConstraintsForInFlowContent::isConstraintsForFlexContent const):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingConstraints.h: Added.

(WebCore::Layout::ConstraintsForFlexContent::availableVerticalSpace const):
(WebCore::Layout::ConstraintsForFlexContent::ConstraintsForFlexContent):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::layoutInFlowContent):
(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):
(WebCore::Layout::FlexFormattingContext::setFlexItemsGeometry):
(WebCore::Layout::FlexFormattingContext::layoutInFlowContentForIntegration):

  • Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.h:
  • Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:

(WebCore::LayoutIntegration::FlexLayout::layout):

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

12:43 PM Changeset in webkit [294622] by Tyler Wilcock
  • 1 edit
    1 add in trunk/LayoutTests/platform/ios

AX: Update expectation for accessibility/aria-modal-with-text-crash.html on iOS
https://bugs.webkit.org/show_bug.cgi?id=240729

Reviewed by Chris Fleizach.

This test just needed a rebaseline.

  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/ios/accessibility/aria-modal-with-text-crash-expected.txt: Added.

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

11:00 AM Changeset in webkit [294621] by Patrick Angle
  • 10 edits in trunk

Unreviewed, reverting r249538 & r249598.
https://bugs.webkit.org/show_bug.cgi?id=240769

Introduced inconsistencies between backend and frontend DOM tree state.

Reverted changesets:

"Web Inspector: preserve DOM.NodeId if a node is removed and re-added"
https://bugs.webkit.org/show_bug.cgi?id=189687
https://commits.webkit.org/249538

"Web Inspector: Clean up WI.DOMNode to no longer require the shared WI.DOMManager be passed during construction"
https://bugs.webkit.org/show_bug.cgi?id=239129
https://commits.webkit.org/249598

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

7:36 AM Changeset in webkit [294620] by Antti Koivisto
  • 1 edit
    2 adds in trunk

REGRESSION(r293956): Bad color inheritance due to disallowsFastPathInheritance bit missing from RenderStyle::copyNonInheritedFrom
https://bugs.webkit.org/show_bug.cgi?id=240770

Reviewed by Alan Bujtas.

Test: fast/css/color-inheritance-dynamic.html

  • Source/WebCore/rendering/style/RenderStyle.h:

(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):

Add it.

  • LayoutTests/fast/css/color-inheritance-dynamic-expected.html: Added.
  • LayoutTests/fast/css/color-inheritance-dynamic.html: Added.

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

3:00 AM Changeset in webkit [294619] by ysuzuki@apple.com
  • 8 edits
    1 add in trunk

Clear StructureCache if it has Structure with relevant JSGlobalObjects
https://bugs.webkit.org/show_bug.cgi?id=240768
rdar://93232129

Reviewed by Saam Barati.

We need to clear Structures in StructureCache when having-a-bad-time: it is possible that Structure could have this have-a-bad-time
relevant JSGlobalObjects in its prototype chain. We are clearing it for InternalFunction's allocation cache. We should do the
same thing for JSGlobalObject's StructureCache.

This patch adds new watchpoint, structureCacheClearedWatchpoint. And use it in DFG. This watchpoint fires when the cache is cleared,
and it can happen even though JSGlobalObject is not getting have-a-bad-time.

  • JSTests/stress/global-object-have-a-bad-time-dependency.js: Added.

(shouldBe):
(cons):

  • Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • Source/JavaScriptCore/runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut):
(JSC::JSGlobalObject::clearStructureCache):

  • Source/JavaScriptCore/runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::structureCacheClearedWatchpoint):
(JSC::JSGlobalObject::isStructureCacheCleared const):

  • Source/JavaScriptCore/runtime/StructureCache.h:

(JSC::StructureCache::forEach):

  • Source/JavaScriptCore/runtime/WeakGCMap.h:

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

May 21, 2022:

7:34 PM Changeset in webkit [294618] by Alan Bujtas
  • 1 edit
    2 adds in trunk

Invisible border should not trigger Repaint diff when currentColor changes
https://bugs.webkit.org/show_bug.cgi?id=240763

Reviewed by Simon Fraser.

Let's check if the border is visible to decide if the currentColor should trigger Repaint diff.

Test: fast/repaint/currentColorChange-with-non-visible-border.html

  • Source/WebCore/rendering/style/BorderData.cpp:

(WebCore::BorderData::isEquivalentForPainting const):

  • LayoutTests/fast/repaint/currentColorChange-with-non-visible-border-expected.txt: Added.
  • LayoutTests/fast/repaint/currentColorChange-with-non-visible-border.html: Added.

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

4:40 PM Changeset in webkit [294617] by Wenson Hsieh
  • 2 edits in trunk/Source

REGRESSION (r290124): Unable to insert decimal point when typing in a number text field in QQ app
https://bugs.webkit.org/show_bug.cgi?id=240761
rdar://91882650

Reviewed by Chris Dumez and Tim Horton.

After the changes in r290124, we no longer treat strings that end with a full stop (e.g. "1.") as valid floating point
numbers, per section 2.5.4.3 of the HTML spec (Real numbers), which states that a decimal number that contains a full
stop character (".") must be succeeded by one or more digit characters. The HTML spec later references this when
describing how to sanitize the value of number inputs -- namely, we return the value of the input if it's a valid
floating point number, and otherwise return the empty string.

However, the QQ app still relies on the fact that strings of the form are "<n>." are valid floating point numbers; this
is because the app installs a keyup event handler that asks for the input's value, removes all non-digit and non-
full-stop characters, and then sets the text field's value to this new string. Because strings ending with a period are
no longer valid floating point numbers, it's now very difficult to type decimals of the form "N.N" into some text
fields in the QQ app, since the input is cleared out each time the user types "." at the end of the field.

This new behavior (more or less) matches Chrome and Firefox; to maintain consistent behavior with other browsers without
breaking binary compatibility, we guard this new behavior with a linked-on-or-after check.

  • Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
  • Source/WebCore/html/parser/HTMLParserIdioms.cpp:

(WebCore::parseToDoubleForNumberType):

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

4:38 PM Changeset in webkit [294616] by timothy_horton@apple.com
  • 3 edits in trunk/Source

InteractionRegion UI-side layers should be grouped by originating element
https://bugs.webkit.org/show_bug.cgi?id=240766

Reviewed by Wenson Hsieh.

  • Source/WebCore/page/InteractionRegion.cpp:

(WebCore::regionForElement):

  • Source/WebCore/page/InteractionRegion.h:

(WebCore::operator==):
(WebCore::InteractionRegion::encode const):
(WebCore::InteractionRegion::decode):
Store and transmit an ElementIdentifier for each InteractionRegion.

  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:

(WebKit::updateLayersForInteractionRegions):
Apply it to the layer.

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

4:16 PM Changeset in webkit [294615] by commit-queue@webkit.org
  • 18 edits in trunk

Perspective should not be affected by transform-origin
https://bugs.webkit.org/show_bug.cgi?id=211787
<rdar://problem/63143806>

Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-05-21
Reviewed by Simon Fraser.

Fix a number of issues related to perspective handling:

  • 'perspective-origin' always used the border-box as reference box, when resolving length percentages, ignoring the choice of 'transform-box'. Fix that.
  • Proper 'transform-box' awareness throghout RenderLayerBacking (few places with issue, e.g. perspectiveOrigin() affecting repaint & coverage rects)
  • The chosen perspective transformation was not invariant under 'transform-origin' / 'transform-box' changes of the element A, that defines the perspective. However the perspective set on element A should only affect the rendering of its descendants: the choice of the 'transform-origin' / 'transform-box' of element A should have no effect on the perspective established for the children.
  • Assure that 'transform-box' changes trigger GraphicLayer geometry updates: this fully fixes 'transform-box' support for composited elements, and brings its state on-par with non-composited elements (both support all kind of transform-box / transform-origin combinations on regular layers, clipped layers, scrolled layers).

This fixes the (not yet upstreamed) test web-platform-tests/css/css-transforms/animation/transform-box-will-change-transform-layer.html.

Prepared a new WPT test (see above) for upstreaming.

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::computeTransformedExtentViaTransformList const):

  • Source/WebCore/rendering/RenderLayer.cpp:

(WebCore::RenderLayer::perspectiveTransform const):
(WebCore::RenderLayer::perspectiveOrigin const):

  • Source/WebCore/rendering/RenderLayer.h:
  • Source/WebCore/rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateChildrenTransformAndAnchorPoint):
(WebCore::RenderLayerBacking::computeTransformOriginForPainting const): Deleted.

  • Source/WebCore/rendering/RenderLayerBacking.h:
  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::recompositeChangeRequiresGeometryUpdate):

  • Source/WebCore/rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::applySVGTransform const):

  • Source/WebCore/rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::computePerspectiveOrigin const):
(WebCore::RenderStyle::applyPerspective const):
(WebCore::RenderStyle::computeTransformOrigin const):
(WebCore::RenderStyle::applyTransformOrigin const):
(WebCore::RenderStyle::unapplyTransformOrigin const):
(WebCore::RenderStyle::applyTransform const):
(WebCore::RenderStyle::applyMotionPathTransform const):

  • Source/WebCore/rendering/style/RenderStyle.h:
  • Source/WebCore/svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::animatedLocalTransform const):

  • LayoutTests/compositing/tiling/coverage-adjustment-secondary-quad-mapping-expected.txt:
  • LayoutTests/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
  • LayoutTests/platform/glib/TestExpectations:
  • LayoutTests/platform/ios-wk2/compositing/tiling/coverage-adjustment-secondary-quad-mapping-expected.txt:
  • LayoutTests/platform/ios/TestExpectations:
  • LayoutTests/platform/mac-wk1/compositing/tiling/perspective-on-scroller-tile-coverage-expected.txt:
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/win/TestExpectations:

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

12:26 PM Changeset in webkit [294614] by timothy_horton@apple.com
  • 6 edits
    11 adds in trunk

InteractionRegion for wrapped text has multiple rects instead of one
https://bugs.webkit.org/show_bug.cgi?id=240748

Reviewed by Wenson Hsieh.

  • Source/WebCore/page/InteractionRegion.h:

(WebCore::operator==):
(WebCore::InteractionRegion::encode const):
(WebCore::InteractionRegion::decode):

  • Source/WebCore/rendering/EventRegion.cpp:

(WebCore::EventRegion::translate):
(WebCore::EventRegion::dump const):

  • Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm:

(WebKit::updateLayersForInteractionRegions):

  • Source/WebCore/page/DebugPageOverlays.cpp:

(WebCore::pathsForRegion):
(WebCore::InteractionRegionOverlay::activeRegion):
(WebCore::InteractionRegionOverlay::drawRect):

  • Source/WebCore/page/InteractionRegion.cpp:

(WebCore::regionForElement):
Maintain InteractionRegion geometry as a Region instead of a vector of rects,
so that we can smush overlapping rectangles together on a per-InteractionRegion basis.

(WebCore::operator<<):
Add dumping code for InteractionRegion (and adopt it in EventRegion).

  • LayoutTests/TestExpectations:
  • LayoutTests/interaction-region/click-handler-expected.txt: Added.
  • LayoutTests/interaction-region/click-handler.html: Added.
  • LayoutTests/interaction-region/inline-link-dark-background-expected.txt: Added.
  • LayoutTests/interaction-region/inline-link-dark-background.html: Added.
  • LayoutTests/interaction-region/inline-link-expected.txt: Added.
  • LayoutTests/interaction-region/inline-link.html: Added.
  • LayoutTests/interaction-region/split-inline-link-expected.txt: Added.
  • LayoutTests/interaction-region/split-inline-link.html: Added.
  • LayoutTests/interaction-region/wrapped-inline-link-expected.txt: Added.
  • LayoutTests/interaction-region/wrapped-inline-link.html: Added.

Add some basic interaction region tests, currently disabled by default
because they can only be run if you turn on the build-time flag.

"wrapped-inline-link.html" covers the case we are fixing by adopting Region;
the others are more generic tests that we should have had before.

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

8:15 AM Changeset in webkit [294613] by Antti Koivisto
  • 4 edits in trunk

Support invalidation for :in-range/:out-of-range
https://bugs.webkit.org/show_bug.cgi?id=238902
<rdar://91718746>

Reviewed by Alan Bujtas.

  • LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/input-pseudo-classes-in-has-expected.txt:
  • Source/WebCore/html/InputType.cpp:

(WebCore::InputType::setValue):

No need to invalidate style unconditionally on value change anymore.
Use Style::PseudoClassChangeInvalidation for :in-range invalidation.

  • Source/WebCore/html/SearchInputType.cpp:

(WebCore::SearchInputType::setValue):

Search cancel button style depends on emptiness of the value so invalidate that specifically.

  • Source/WebCore/html/SearchInputType.h:

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

5:38 AM Changeset in webkit [294612] by Alan Bujtas
  • 6 edits
    2 adds in trunk

Text selection does not show continuous selection when dragging across pages with widows
https://bugs.webkit.org/show_bug.cgi?id=240753
<rdar://90960113>

Reviewed by Antti Koivisto.

Use the correct variable to mark the line.

Test: fast/multicol/incorrect-is-first-line-after-page-break-with-widow.html

  • Source/WebCore/layout/integration/inline/InlineIteratorLineBox.cpp:

(WebCore::InlineIterator::LineBoxIterator::operator bool const):

  • Source/WebCore/layout/integration/inline/InlineIteratorLineBox.h:

(WebCore::InlineIterator::LineBoxIterator::operator bool const): Deleted.

  • Source/WebCore/layout/integration/inline/LayoutIntegrationPagination.cpp:

(WebCore::LayoutIntegration::adjustLinePositionsForPagination):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::lineIndexAfterPageBreak):

  • Source/WebCore/testing/Internals.h:
  • Source/WebCore/testing/Internals.idl:
  • LayoutTests/fast/multicol/incorrect-is-first-line-after-page-break-with-widow-expected.txt: Added.
  • LayoutTests/fast/multicol/incorrect-is-first-line-after-page-break-with-widow.html: Added.

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

May 20, 2022:

11:19 PM Changeset in webkit [294611] by Chris Dumez
  • 139 edits in trunk/Source

Start preparing the code base for marking the StringView(const char*) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=240687

Reviewed by Darin Adler.

Start preparing the code base for marking the StringView(const char*) constructor explicit.
This encourages people to ensure ASCIILiteral / ""_s whenever possible.

  • Source/JavaScriptCore/API/JSAPIGlobalObject.mm:

(JSC::computeValidImportSpecifier):

  • Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::isWebKitInjectedScript):

  • Source/JavaScriptCore/jit/ExecutableAllocator.cpp:

(JSC::dumpJITMemory):

  • Source/JavaScriptCore/jsc.cpp:

(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderResolve):

  • Source/JavaScriptCore/runtime/FileBasedFuzzerAgent.cpp:

(JSC::FileBasedFuzzerAgent::getPredictionInternal):

  • Source/JavaScriptCore/runtime/IntlLocale.cpp:

(JSC::IntlLocale::initializeLocale):

  • Source/JavaScriptCore/runtime/IntlObject.cpp:

(JSC::isValidTimeZoneNameFromICUTimeZone):

  • Source/JavaScriptCore/runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::logTypesForTypeLocation):

  • Source/JavaScriptCore/testRegExp.cpp:

(parseRegExpLine):

  • Source/JavaScriptCore/yarr/YarrUnicodeProperties.cpp:

(JSC::Yarr::HashTable::entry const):

  • Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • Source/WebKit/UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::hasOnlySecureContent):

  • Source/WebKit/UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _defaultAnimationController]):

  • Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _defaultAnimationController]):

  • Source/WTF/wtf/DateMath.cpp:

(WTF::parseDateFromNullTerminatedCharacters):

  • Source/WTF/wtf/SortedArrayMap.h:

(WTF::operator<):

  • Source/WTF/wtf/URL.cpp:

(WTF::URL::hasSpecialScheme const):
(WTF::URL::setPath):
(WTF::protocolIsInternal):
(WTF::protocolIs):
(WTF::URL::isLocalFile const):
(WTF::protocolIsJavaScript):
(WTF::URL::protocolIsAbout const):
(WTF::portAllowed):
(WTF::mimeTypeFromDataURL):
(WTF::URL::isAboutBlank const):
(WTF::URL::isAboutSrcDoc const):

  • Source/WTF/wtf/URL.h:

(WTF::URL::protocolIsBlob const):
(WTF::URL::protocolIsData const):

  • Source/WTF/wtf/URLHelpers.cpp:

(WTF::URLHelpers::applyHostNameFunctionToURLString):

  • Source/WTF/wtf/URLParser.cpp:

(WTF::URLParser::copyBaseWindowsDriveLetter):
(WTF::URLParser::URLParser):
(WTF::URLParser::parse):

  • Source/WTF/wtf/text/ASCIILiteral.h:
  • Source/WTF/wtf/text/StringView.h:

(WTF::operator==):
(WTF::operator!=):
(WTF::equal):

  • Source/WebCore/Modules/applepay/PaymentSession.cpp:

(WebCore::isSecure):

  • Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::resolveRelativeVirtualPath):
(WebCore::DOMFileSystem::getParent):

  • Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::FetchBodyConsumer::packageFormData):

  • Source/WebCore/Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::removeAllDatabasesForFullOriginPath):

  • Source/WebCore/Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::SQLiteIDBBackingStore::databasesSizeForDirectory):

  • Source/WebCore/Modules/mediasource/MediaSource.cpp:

(WebCore::addVP9FullRangeVideoFlagToContentType):

  • Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::shouldIgnoreIceCandidate):

  • Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::iceServersFromConfiguration):

  • Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::isValidURLBasedPaymentMethodIdentifier):

  • Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):

  • Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:

(WebCore::AuthenticatorCoordinatorInternal::needsAppIdQuirks):

  • Source/WebCore/Modules/webdatabase/Database.cpp:

(WebCore::fullyQualifiedInfoTableName):

  • Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::usage):

  • Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::validateURL):

  • Source/WebCore/Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):
(WebCore::WebSocket::didUpgradeURL):

  • Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:

(WebCore::hostName):
(WebCore::WebSocketHandshake::WebSocketHandshake):
(WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies const):
(WebCore::headerHasValidHTTPVersion):

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::handleAttributeChange):

  • Source/WebCore/accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isSearchField const):

  • Source/WebCore/accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::ariaLandmarkRoleDescription const):

  • Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::rolePlatformDescription const):

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setPseudoElement):

  • Source/WebCore/bindings/js/ScriptModuleLoader.cpp:

(WebCore::resolveModuleSpecifier):

  • Source/WebCore/contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForPingLoad):
(WebCore::ContentExtensions::applyResultsToRequest):

  • Source/WebCore/css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSupportedFormat const):

  • Source/WebCore/css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::formatInfiniteOrNanValue const):
(WebCore::CSSPrimitiveValue::formatNumberValue const):
(WebCore::CSSPrimitiveValue::formatIntegerValue const):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):

  • Source/WebCore/css/CSSPrimitiveValue.h:
  • Source/WebCore/css/CSSSelector.cpp:

(WebCore::CSSSelector::parsePseudoElementType):

  • Source/WebCore/css/ContainerQueryParser.cpp:

(WebCore::ContainerQueryParser::consumePlainSizeFeature):

  • Source/WebCore/css/DOMCSSNamespace.cpp:

(WebCore::valueWithoutImportant):

  • Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeDashedIdent):

  • Source/WebCore/css/parser/CSSSelectorParser.cpp:

(WebCore::consumeLangArgumentList):

  • Source/WebCore/css/typedom/CSSOMVariableReferenceValue.cpp:

(WebCore::CSSOMVariableReferenceValue::create):
(WebCore::CSSOMVariableReferenceValue::setVariable):

  • Source/WebCore/dom/ConstantPropertyMap.cpp:

(WebCore::variableDataForPositivePixelLength):
(WebCore::variableDataForPositiveDuration):

  • Source/WebCore/dom/DataTransfer.cpp:

(WebCore::normalizeType):

  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::isCookieAverse const):

  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::isEventHandlerAttribute const):

  • Source/WebCore/dom/TextDecoder.cpp:

(WebCore::TextDecoder::encoding const):

  • Source/WebCore/editing/cocoa/HTMLConverter.mm:

(HTMLConverterCaches::isBlockElement):
(HTMLConverter::computedAttributesForElement):
(HTMLConverter::_processText):

  • Source/WebCore/editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::stripMicrosoftPrefix):

  • Source/WebCore/editing/markup.cpp:

(WebCore::shouldPreserveMSOLists):

  • Source/WebCore/fileapi/BlobURL.cpp:
  • Source/WebCore/html/FeaturePolicy.cpp:

(WebCore::FeaturePolicy::parse):

  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • Source/WebCore/html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::formWouldHaveSecureSubmission):

  • Source/WebCore/html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • Source/WebCore/html/HTMLMediaElement.cpp:
  • Source/WebCore/html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::hasValidClassId):

  • Source/WebCore/html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::isImageType):

  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

  • Source/WebCore/html/URLDecomposition.cpp:

(WebCore::URLDecomposition::setUsername):
(WebCore::URLDecomposition::setPassword):
(WebCore::URLDecomposition::setHost):
(WebCore::URLDecomposition::setHostname):

  • Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::State::fontString const):

  • Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getActiveUniform):
(WebCore::WebGLRenderingContextBase::getUniformLocation):

  • Source/WebCore/html/parser/CSSPreloadScanner.cpp:

(WebCore::hasValidImportConditions):

  • Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp:

(WebCore::extractCharset):

  • Source/WebCore/html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):

  • Source/WebCore/html/track/WebVTTParser.cpp:
  • Source/WebCore/inspector/DOMPatchSupport.cpp:
  • Source/WebCore/inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::revealFileExternally):

  • Source/WebCore/inspector/InspectorStyleSheet.cpp:

(WebCore::StyleSheetHandler::observeComment):
(WebCore::lowercasePropertyName):
(WebCore::selectorsFromSource):

  • Source/WebCore/loader/CookieJar.cpp:

(WebCore::CookieJar::shouldIncludeSecureCookies):

  • Source/WebCore/loader/CustomHeaderFields.cpp:

(WebCore::CustomHeaderFields::thirdPartyDomainsMatch const):

  • Source/WebCore/loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

  • Source/WebCore/loader/FrameLoader.cpp:

(WebCore::FrameLoader::open):

  • Source/WebCore/loader/PolicyChecker.cpp:

(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):

  • Source/WebCore/loader/PrivateClickMeasurement.cpp:

(WebCore::PrivateClickMeasurement::parseAttributionRequest):

  • Source/WebCore/loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::isPDFJSResourceLoad const):

  • Source/WebCore/loader/appcache/ApplicationCacheManifestParser.cpp:

(WebCore::parseApplicationCacheManifest):

  • Source/WebCore/loader/archive/ArchiveResourceCollection.cpp:

(WebCore::ArchiveResourceCollection::archiveResourceForURL):

  • Source/WebCore/loader/cache/CachedResource.cpp:

(WebCore::CachedResource::makeRevalidationDecision const):

  • Source/WebCore/loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • Source/WebCore/page/ContextMenuController.cpp:

(WebCore::ContextMenuController::checkOrEnableIfNeeded const):

  • Source/WebCore/page/EventHandler.cpp:

(WebCore::hasDropZoneType):

  • Source/WebCore/page/Frame.cpp:

(WebCore::createRegExpForLabels):
(WebCore::matchLabelsAgainstString):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::userStyleSheetLocationChanged):
(WebCore::Page::allowsLoadFromURL const):

  • Source/WebCore/page/Quirks.cpp:

(WebCore::isYahooMail):
(WebCore::Quirks::shouldDisableContentChangeObserverTouchEventAdjustment const):
(WebCore::Quirks::shouldHideSearchFieldResultsButton const):
(WebCore::Quirks::isAmazon const):
(WebCore::Quirks::isGoogleMaps const):
(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const):
(WebCore::Quirks::simulatedMouseEventTypeForTarget const):
(WebCore::Quirks::shouldPreventPointerMediaQueryFromEvaluatingToCoarse const):
(WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const):
(WebCore::Quirks::shouldDisablePointerEventsQuirk const):
(WebCore::Quirks::needsInputModeNoneImplicitly const):
(WebCore::Quirks::needsFullscreenDisplayNoneQuirk const):
(WebCore::Quirks::shouldSilenceWindowResizeEvents const):
(WebCore::Quirks::shouldSilenceMediaQueryListChangeEvents const):
(WebCore::Quirks::shouldUseLegacySelectPopoverDismissalBehaviorInDataActivation const):
(WebCore::Quirks::shouldOpenAsAboutBlank const):
(WebCore::Quirks::shouldBypassBackForwardCache const):
(WebCore::Quirks::shouldBypassAsyncScriptDeferring const):
(WebCore::Quirks::shouldMakeEventListenerPassive):
(WebCore::Quirks::shouldDisableElementFullscreenQuirk const):
(WebCore::Quirks::needsCanPlayAfterSeekedQuirk const):
(WebCore::Quirks::shouldLayOutAtMinimumWindowWidthWhenIgnoringScalingConstraints const):
(WebCore::Quirks::shouldIgnoreContentObservationForSyntheticClick const):
(WebCore::isKinjaLoginAvatarElement):
(WebCore::Quirks::isMicrosoftTeamsRedirectURL):
(WebCore::Quirks::needsBlackFullscreenBackgroundQuirk const):
(WebCore::Quirks::needsToForceUserSelectAndUserDragWhenInstallingImageOverlay const):

  • Source/WebCore/page/SecurityOrigin.cpp:

(WebCore::schemeRequiresHost):
(WebCore::SecurityOrigin::shouldIgnoreHost):
(WebCore::shouldTreatAsUniqueOrigin):
(WebCore::isLoopbackIPAddress):
(WebCore::SecurityOrigin::isLocalHostOrLoopbackIPAddress):

  • Source/WebCore/page/SecurityPolicy.cpp:

(WebCore::SecurityPolicy::shouldHideReferrer):
(WebCore::SecurityPolicy::generateOriginHeader):

  • Source/WebCore/page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::parse):

  • Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::ResourceUsageThread::platformCollectCPUData):

  • Source/WebCore/page/csp/ContentSecurityPolicy.cpp:

(WebCore::shouldReportProtocolOnly):
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded const):
(WebCore::ContentSecurityPolicy::setUpgradeInsecureRequests):

  • Source/WebCore/page/csp/ContentSecurityPolicySource.cpp:

(WebCore::ContentSecurityPolicySource::portMatches const):

  • Source/WebCore/page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::ContentSecurityPolicySourceList::isProtocolAllowedByStar const):

  • Source/WebCore/platform/MIMETypeRegistry.cpp:

(WebCore::MIMETypeRegistry::isSupportedJSONMIMEType):
(WebCore::MIMETypeRegistry::isXMLMIMEType):

  • Source/WebCore/platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::MacApplication::isSafari):

  • Source/WebCore/platform/graphics/Image.cpp:

(WebCore::Image::isPDFResource):
(WebCore::Image::isPostScriptResource):

  • Source/WebCore/platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::CDMFactoryFairPlayStreaming::supportsKeySystem):

  • Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::isUnsupportedMIMEType):

  • Source/WebCore/platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:

(WebCore::AVAssetMIMETypeCache::isUnsupportedContainerType):

  • Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::fontWithFamilySpecialCase):

  • Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:

(WebCore::videoCodecTypeFromRFC4281Type):
(WebCore::computeMediaCapabilitiesInfo):

  • Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WebCore::SourceBufferParserWebM::isContentTypeSupported):

  • Source/WebCore/platform/mac/UserAgentMac.mm:

(WebCore::standardUserAgentWithApplicationName):

  • Source/WebCore/platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:

(WebCore::isValidCaptureDevice):

  • Source/WebCore/platform/network/CacheValidation.cpp:

(WebCore::parseCacheControlDirectives):
(WebCore::cookieRequestHeaderFieldValue):

  • Source/WebCore/platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::DecodeTask::process):

  • Source/WebCore/platform/network/HTTPParsers.cpp:

(WebCore::extractCharsetFromMediaType):

  • Source/WebCore/platform/network/ParsedContentRange.cpp:

(WebCore::parseContentRange):

  • Source/WebCore/platform/network/ParsedRequestRange.cpp:

(WebCore::ParsedRequestRange::parse):

  • Source/WebCore/platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::shouldContentSniffURL):

  • Source/WebCore/platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::redirectedRequest const):

  • Source/WebCore/platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::isHTTP09 const):

  • Source/WebCore/platform/network/cf/SocketStreamHandleImpl.h:

(WebCore::SocketStreamHandleImpl::shouldUseSSL const):

  • Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):

  • Source/WebCore/platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest):

  • Source/WebCore/plugins/PluginData.cpp:

(WebCore::shouldBePubliclyVisible):

  • Source/WebCore/rendering/HitTestResult.cpp:

(WebCore::HitTestResult::absolutePDFURL const):

  • Source/WebCore/rendering/RenderListMarker.cpp:

(WebCore::listMarkerSuffix):

  • Source/WebCore/svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::scrollToFragment):

  • Source/WebCore/svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseOffsetValue):
(WebCore::SVGSMILElement::parseCondition):

  • Source/WebCore/workers/Worker.cpp:

(WebCore::Worker::didReceiveResponse):

  • Source/WebCore/workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):

  • Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::shouldAllowExternalLoad):

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

11:09 PM Changeset in webkit [294610] by Brandon
  • 36 edits
    1 copy
    4 adds in trunk

Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=224471

Reviewed by Ryosuke Niwa.

This patch is based on a set of patches made by Sergio Villar Senin
and Gabriel Nava Marino.

Executing some editing commands in a text area might force the recomputation of things
like caret or the visible selection position and extent. Under some circumstances (like
when the text area has no content and children) we might end up trying to update layout
when it is not safe as a side effect of updating the caret.

In order to fix that, we can switch to a model in which we update the selection asynchronously
in the case of having a non-user triggered change. That way we don't do it inside
a restricted layout scope.

The App Highlight restoration code had to be tuned as well (when restoring and scrolling to reveal
a Quick Note on iOS MacOS). It uses TemporarySelectionChange to select and scroll to reveal the highlight
range; the code assumed that this scrolling happens synchronously, since it reverts the selection to
the original range at the end of AppHighlightStorage::attemptToRestoreHighlightAndScroll when the
TemporarySelectionChange falls out of scope. That is however no longer the case. Actually no scrolling
happened after this patch because we end up only scheduling the appearance update timer before setting
the selection back to the original state with SelectionRevealMode::DoNotReveal. Since this only happens
when the user interacts in the Notes app, it seems sensible to consider it as a user triggered event.

Layout Tests

Moved some tests out of the text-based-repaint.js model because selection is now updated
and revealed asynchronously in the case of non-user triggered changes. The problem is that
by the time the repaint rects are queried the update has not happened yet. That's why
the tests were modified so that we wait until the repaint happens.

Same situation for other tests that do not involve repaint rects but trigger accesibility
tree updates. We must ensure that we let the notification be thrown before checking whether or
not has been emited. As it's done asynchronously we must let the main thread run before checking.

Last but not least, some of the tests are using setTimeout() instead of requestAnimationFrame()
because the results with the latter were not as reliable under stress/debug conditions.

  • Source/WebCore/Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::TemporarySelectionChange::setSelection):

  • Source/WebCore/editing/Editor.h:
  • Source/WebCore/editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateSelectionAppearanceNow):
(WebCore::FrameSelection::absoluteCaretBounds):
(WebCore::FrameSelection::setCaretVisibility):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Deleted.
(WebCore::FrameSelection::selectionBounds const): Deleted.

  • Source/WebCore/editing/FrameSelection.h:
  • Source/WebCore/page/EventHandler.cpp:

(WebCore::setSelectionIfNeeded):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::doAfterUpdateRendering):

  • LayoutTests/accessibility/mac/selection-boundary-userinfo.html:
  • LayoutTests/accessibility/mac/selection-change-userinfo.html:
  • LayoutTests/accessibility/mac/selection-value-changes-for-aria-textbox.html:
  • LayoutTests/editing/selection-with-absolute-positioned-empty-content.html:
  • LayoutTests/fast/forms/textarea-scrolled-endline-caret.html:
  • LayoutTests/fast/repaint/selection-gap-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-fixed-child.html:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child.html:
  • LayoutTests/fast/repaint/selection-paint-invalidation-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl.html:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden.html:
  • LayoutTests/fast/text/incorrect-deselection-across-multiple-elements.html:
  • LayoutTests/platform/gtk/TestExpectations:
  • LayoutTests/platform/gtk/fast/repaint/selection-ruby-rl-expected.txt: Copied from LayoutTests/fast/repaint/selection-ruby-rl-expected.txt.
  • LayoutTests/platform/gtk/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/mac-wk1/accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt:
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/win/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/win/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/platform/win/fast/repaint/text-selection-overflow-hidden-expected.txt:

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

10:39 PM Changeset in webkit [294609] by Devin Rousso
  • 2 edits in trunk

[css-values-4] logical *vi(inline) and *vb (block) viewport units should be based on the current element's writing-mode
https://bugs.webkit.org/show_bug.cgi?id=234373
<rdar://problem/86832561>

Reviewed by Tim Nguyen.

Previously, we only looked at the root element's writing-mode. Looking at the current element's
writing-mode allows for non-root elements to have a writing-mode independent of the root element,
as well as having styles based on that. This was changed in <https://github.com/w3c/csswg-drafts/issues/6873>.

Tests: CSSViewportUnits.AllSame

CSSViewportUnits.MinimumViewportInsetWithWritingMode
CSSViewportUnits.MaximumViewportInsetWithWritingMode
CSSViewportUnits.EmptyUnobscuredSizeOverrides
CSSViewportUnits.SameUnobscuredSizeOverrides
CSSViewportUnits.DifferentUnobscuredSizeOverrides
CSSViewportUnits.SVGDocument

  • Source/WebCore/css/CSSPrimitiveValue.cpp:

(WebCore::lengthOfViewportPhysicalAxisForLogicalAxis):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:

(changeCSSPropertyOfElements): Added.
(TEST.CSSViewportUnits.AllSame):
(TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode):
(TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode):
(TEST.CSSViewportUnits.EmptyUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SameUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.DifferentUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SVGDocument):

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

9:21 PM Changeset in webkit [294608] by ggaren@apple.com
  • 1 edit in trunk/metadata/contributors.json

Trying out my git setup: Update my personal info in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240745

Reviewed by Beth Dakin.

  • metadata/contributors.json: Added some news skills I've acquired.

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

7:33 PM Changeset in webkit [294607] by commit-queue@webkit.org
  • 24 edits in trunk

Convert ExpansionBehavior to a struct of left/right expansion behaviors
https://bugs.webkit.org/show_bug.cgi?id=240554

Patch by Kiet Ho <Kiet Ho> on 2022-05-20
Reviewed by Myles C. Maxfield.

  • Tools/TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:

(TestWebKitAPI::TEST_F):

  • Source/WebKit/WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:

(WebKit::WebPopupMenu::setUpPlatformData):

No new tests, no functional changes made.

  • Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::measureText):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::drawText):
(WebCore::CanvasRenderingContext2DBase::measureTextInternal):

  • Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp:

(WebCore::Layout::Line::applyRunExpansion):

  • Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayBox.h:
  • Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::fallbackFontsForText):

  • Source/WebCore/platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • Source/WebCore/platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::expansionOpportunityCountInternal):

  • Source/WebCore/platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):

  • Source/WebCore/platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::calculateAdditionalWidth const):

  • Source/WebCore/platform/text/TextFlags.h:

(WebCore::ExpansionBehavior::ExpansionBehavior):
(WebCore::ExpansionBehavior::allowLeftOnly):
(WebCore::ExpansionBehavior::forceLeftOnly):
(WebCore::ExpansionBehavior::allowRightOnly):

  • Source/WebCore/platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • Source/WebCore/rendering/LegacyEllipsisBox.cpp:

(WebCore::LegacyEllipsisBox::paint):
(WebCore::LegacyEllipsisBox::selectionRect const):
(WebCore::LegacyEllipsisBox::paintSelection):

  • Source/WebCore/rendering/LegacyInlineTextBox.cpp:

(WebCore::LegacyInlineTextBox::expansionBehavior const):

  • Source/WebCore/rendering/LegacyLineLayout.cpp:

(WebCore::expansionBehaviorForInlineTextBox):
(WebCore::applyExpansionBehavior):

  • Source/WebCore/rendering/RenderBlock.h:
  • Source/WebCore/rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::paintObject):
(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths const):

  • Source/WebCore/rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):

  • Source/WebCore/rendering/RenderListBox.cpp:

(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):

  • Source/WebCore/rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::getAverageCharWidth):

  • Source/WebCore/rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun const):

  • Source/WebCore/rendering/svg/SVGTextMetrics.cpp:

(WebCore::SVGTextMetrics::constructTextRun):

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

7:25 PM Changeset in webkit [294606] by achristensen@apple.com
  • 1 edit
    2 adds in trunk

Fix invalid assertion in parseKeywordValue
https://bugs.webkit.org/show_bug.cgi?id=240593

Reviewed by Antti Koivisto.

Test: fast/css/parse-non-descriptor.html

  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

This function returns null, which is fine.

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

7:24 PM Changeset in webkit [294605] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Reduce branching a little under JSNodeOwner::isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=240742

Reviewed by Geoffrey Garen.

Given that JSNodeOwner::isReachableFromOpaqueRoots() already checks if the Node is
connected or not, make sure to avoid the same check under Node::opaqueRoot().

  • Source/WebCore/bindings/js/JSNodeCustom.cpp:

(WebCore::JSNodeOwner::isReachableFromOpaqueRoots):

  • Source/WebCore/dom/Node.cpp:

(WebCore::Node::traverseToOpaqueRoot const):
(WebCore::Node::opaqueRootSlow const): Deleted.

  • Source/WebCore/dom/Node.h:

(WebCore::Node::opaqueRoot const):

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

6:23 PM Changeset in webkit [294604] by Jenner@apple.com
  • 1 copy
    1 delete in trunk/LayoutTests/platform

[Gardening]: [ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=231266

Unreviewed test gardening.

  • LayoutTests/platform/ios/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt: Renamed from LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt.

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

6:06 PM Changeset in webkit [294603] by Jenner@apple.com
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[ Gardening ]: [ BigSur+ Debug wk2 EWS ] imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=237165

Unreviewed test gardening. Removal of no longer needed expectation.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

5:48 PM Changeset in webkit [294602] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.2

Tag WebKit-7614.1.14.10.2.

5:41 PM Changeset in webkit [294601] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.8

Tag WebKit-7614.1.14.1.8.

5:35 PM Changeset in webkit [294600] by Beth Dakin
  • 1 edit in trunk/metadata/contributors.json

Trying git workflow: updating personal info in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240747

Reviewed by Wenson Hsieh.

Adding more recent areas of expertise.

  • metadata/contributors.json:

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

5:23 PM Changeset in webkit [294599] by mmaxfield@apple.com
  • 4 edits
    89 adds in trunk

[WebGPU] Integrate Metal-cpp
https://bugs.webkit.org/show_bug.cgi?id=240746
<rdar://problem/89344870>

Reviewed by Dean Jackson.

Metal-cpp is a low-overhead C++ interface for Metal.
https://developer.apple.com/metal/cpp/

Metal-cpp isn't a library per-se, but is instead just a collection of files which users
are supposed to just copy into their project. This does just that, and hooks up all the
necessary flags and paths and everything.

This uses the "single header alternative" described on that webpage, and creates the
single file as a build step.

Metal-cpp files should not be style-checked.

  • Source/WebGPU/Configurations/WebGPU.xcconfig:
  • Source/WebGPU/WebGPU.xcodeproj/project.pbxproj:
  • Source/WebGPU/WebGPU/Metal.cpp: Added.
  • Source/WebGPU/WebGPU/config.h:
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/Foundation.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSArray.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSAutoreleasePool.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSBundle.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSData.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDefines.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSDictionary.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSEnumerator.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSError.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSLock.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSNotification.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSNumber.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSObjCRuntime.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSObject.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSPrivate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSProcessInfo.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSRange.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSString.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSTypes.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Foundation/NSURL.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/LICENSE.txt: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructure.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructureCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLAccelerationStructureTypes.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLArgument.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLArgumentEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBinaryArchive.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBlitCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBlitPass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLBuffer.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCaptureManager.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCaptureScope.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandBuffer.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCommandQueue.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputeCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputePass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLComputePipeline.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLCounters.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDefines.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDepthStencil.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDevice.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDrawable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLDynamicLibrary.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLEvent.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFence.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionConstantValues.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionDescriptor.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionHandle.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionLog.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLFunctionStitching.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLHeaderBridge.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLHeap.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIndirectCommandBuffer.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIndirectCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLIntersectionFunctionTable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLLibrary.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLLinkedFunctions.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLParallelRenderCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPipeline.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPixelFormat.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLPrivate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRasterizationRate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderPass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLRenderPipeline.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResource.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResourceStateCommandEncoder.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLResourceStatePass.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLSampler.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLStageInputOutputDescriptor.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLTexture.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLTypes.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLVertexDescriptor.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/MTLVisibleFunctionTable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/Metal/Metal.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CADefines.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CAMetalDrawable.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/CAPrivate.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/QuartzCore/QuartzCore.hpp: Added.
  • Source/WebGPU/WebGPU/metal-cpp/README.md: Added.
  • Source/WebGPU/WebGPU/metal-cpp/SingleHeader/MakeSingleHeader.py: Added.

(HeaderPrefix):
(HeaderPrefix.init):
(HeaderPrefix.str):
(HeaderPrefix.get_commit_hash):
(HeaderPrefix.
get_commit_string):
(HeaderPrefix.get_date_string):
(
meta_data_string):
(SingleHeader):
(SingleHeader.init):
(SingleHeader.str):
(SingleHeader.append):
(SingleHeader.process):
(SingleHeader.read_header):
(SingleHeader.
strip_pragma_once):
(SingleHeader.strip_comments):
(SingleHeader.
strip_empty_lines):
(SingleHeader.substitute_include_directive):
(SingleHeader.
process_include_directives):
(SingleHeader.process_foundation_directives):
(SingleHeader.
process_header):
(create_argument_parser):
(parse_arguments):
(make_header):
(make_dir):
(write_header):

  • Tools/Scripts/webkitpy/style/checker.py:

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

5:23 PM Changeset in webkit [294598] by Alan Coon
  • 47 edits in branches/safari-7614.1.14.10-branch/Source

Cherry-pick r294496. rdar://problem/93068926

[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK
https://bugs.webkit.org/show_bug.cgi?id=240408

Reviewed by Alexey Proskuryakov.

When building with WK_OVERRIDE_FRAMEWORKS_DIR, we assume that WebKit is
being built as part of a self-contained application, e.g. Safari
Technology Preview. This means that most content is installed to the
override directory, instead of the normal /System/Library/Frameworks
directory.

However, static library content (e.g. headers and archives
for bmalloc, webrtc, WTF) is _not_ installed to the override directory,
as it is not needed at runtime. It was being installed to the default
/usr/local prefix, where it would merge with and overwrite whatever
WebKit content was already present.

To prevent overwrites and other sorts of conflict with the
system-provided WebKit, introduce WK_LIBRARY_HEADERS_FOLDER_PATH and
WK_LIBRARY_INSTALL_PATH, which expand to /usr/local/include/safari-sdk
and /usr/local/lib/safari-sdk respectively when building in this mode.
Static library headers and archives are built to these locations, where
they're still in the expected SDK location, but won't clobber system
WebKit.

  • Source/bmalloc/Configurations/Base.xcconfig:
  • Source/bmalloc/Configurations/bmalloc.xcconfig:
  • Source/bmalloc/Configurations/mbmalloc.xcconfig:
  • Source/JavaScriptCore/Configurations/Base.xcconfig:
  • Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
  • Source/JavaScriptCore/DerivedSources.make:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
  • Source/JavaScriptCore/offlineasm/config.rb:
  • Source/JavaScriptCore/offlineasm/parser.rb:
  • Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/boringssl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libabsl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libsrtp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebm.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libyuv.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/usrsctp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig:
  • Source/WebCore/PAL/Configurations/Base.xcconfig:
  • Source/WebCore/PAL/Configurations/PAL.xcconfig:
  • Source/WebGPU/Configurations/Base.xcconfig:
  • Source/WebGPU/Configurations/WGSL.xcconfig:
  • Source/WebGPU/Configurations/WGSLUnitTests.xcconfig:
  • Source/WebGPU/Configurations/WebGPU.xcconfig:
  • Source/WebKit/Configurations/Base.xcconfig:
  • Source/WebKit/Configurations/BaseTarget.xcconfig:
  • Source/WebKit/Configurations/SandboxProfiles.xcconfig:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKitLegacy/scripts/generate-unified-sources.sh:
  • Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
  • Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
  • Source/WTF/Configurations/Base.xcconfig:
  • Source/WTF/Configurations/WTF.xcconfig:
  • Source/WTF/Configurations/icu.xcconfig:
  • Source/WebCore/Configurations/Base.xcconfig:
  • Source/WebCore/Configurations/WebCore.xcconfig:
  • Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
  • Source/WebCore/DerivedSources.make:
  • Source/WebCore/Scripts/generate-unified-sources.sh:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:

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

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

5:19 PM Changeset in webkit [294597] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.2

5:11 PM Changeset in webkit [294596] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.8

Tag WebKit-7614.1.14.0.8.

5:10 PM Changeset in webkit [294595] by commit-queue@webkit.org
  • 1 edit in trunk/JSTests/stress/regexp-bol-optimize-out-of-stack.js

Reduce array length for memory limited scenarios in regexp-bol-optimize-out-of-stack.js
https://bugs.webkit.org/show_bug.cgi?id=240717

Patch by Xan López <Xan Lopez> on 2022-05-20
Reviewed by Yusuke Suzuki.

  • stress/regexp-bol-optimize-out-of-stack.js: use a smaller array size when memory is limited.

(test):

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

5:06 PM Changeset in webkit [294594] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.3.3

Tag WebKit-7614.1.14.3.3.

5:04 PM Changeset in webkit [294593] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.2.3

Tag WebKit-7614.1.14.2.3.

5:02 PM Changeset in webkit [294592] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

Unreviewed, reverting r294371.
https://bugs.webkit.org/show_bug.cgi?id=240740

Introduced page load regression

Reverted changeset:

"Private relay should fail closed for third party loads if the main resource was loaded over private relay"
https://bugs.webkit.org/show_bug.cgi?id=240483
https://commits.webkit.org/r294371

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

4:42 PM Changeset in webkit [294591] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit

Remove unused WebPage::InteractionRegions IPC
https://bugs.webkit.org/show_bug.cgi?id=240725

Reviewed by Wenson Hsieh.

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::interactionRegions): Deleted.

  • Source/WebKit/UIProcess/WebPageProxy.h:
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::interactionRegions): Deleted.

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

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

4:40 PM Changeset in webkit [294590] by Devin Rousso
  • 5 edits in trunk

Web Inspector: only override request headers if they are provided
https://bugs.webkit.org/show_bug.cgi?id=240734

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.async requestIntercepted):
(WI.NetworkManager.prototype.async responseIntercepted):

  • LayoutTests/http/tests/inspector/network/intercept-request-properties.html:
  • LayoutTests/http/tests/inspector/network/intercept-request-properties-expected.txt:
  • LayoutTests/http/tests/inspector/network/local-resource-override-basic.html:
  • LayoutTests/http/tests/inspector/network/local-resource-override-basic-expected.txt:

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

4:09 PM Changeset in webkit [294589] by Devin Rousso
  • 4 edits in trunk

[MacCatalyst] REGRESSION(r290091): sometimes can hang if WKWebView is unparented before the next visible content rect update
https://bugs.webkit.org/show_bug.cgi?id=240691
<rdar://problem/92006847>

Reviewed by Wenson Hsieh.

Test: WKWebViewResize.RemovesAssertionsAfterMovingToWindow

  • Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _processWillSwapOrDidExit]):
(-[WKWebView didMoveToWindow]):
(-[WKWebView _acquireResizeAssertionForReason:]):
Drive-by: WebProcess crashes should also clear the resize assertions.
Drive-by: Add a 1s timeout in case the next visible content rect update takes too long.

  • Source/WebKit/UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h:
  • Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm:

(-[WKWebView _hasResizeAssertion]): Added.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewResize.mm:

(TEST.WKWebViewResize.RemovesAssertionsAfterMovingToWindow): Added.

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

3:53 PM Changeset in webkit [294588] by Devin Rousso
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/LocalResourceOverridePopover.js

Web Inspector: Sources Tab: adding a new header to a request local override doesn't show it
https://bugs.webkit.org/show_bug.cgi?id=240733

Reviewed by Patrick Angle.

  • Source/WebInspectorUI/UserInterface/Views/LocalResourceOverridePopover.js:

(WI.LocalResourceOverridePopover.prototype.show):

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

3:37 PM Changeset in webkit [294587] by Simon Fraser
  • 24 edits
    1 copy
    2 moves
    1 add
    2 deletes in trunk/LayoutTests

Clean up some fast/text layout tests
https://bugs.webkit.org/show_bug.cgi?id=240738

Reviewed by Myles C. Maxfield.

Move Ahem-COLR.ttf from fast/text/canvas-color-fonts/resources to fast/text/resources
so a future non-canvas test can use it.

Create a fast/text/glyph-display-lists directory to host more future glyph
display list tests.

Remove platform/ios/fast/text/softHyphen-expected.txt because the test is a ref test.

  • LayoutTests/TestExpectations:
  • LayoutTests/fast/text/canvas-color-fonts/COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/ctm-COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/ctm-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-shadow-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-color-shadow-ctm-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-gradient-COLR-2.html:
  • LayoutTests/fast/text/canvas-color-fonts/fill-gradient-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-COLR-expected-mismatch.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-outlines-expected-mismatch.html:
  • LayoutTests/fast/text/canvas-color-fonts/linedash-outlines.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR-expected.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-color-shadow-ctm-COLR.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-2.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-3.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-4.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR-5.html:
  • LayoutTests/fast/text/canvas-color-fonts/stroke-gradient-COLR.html:
  • LayoutTests/fast/text/glyph-display-lists/glyph-display-list-color-expected.txt: Renamed from LayoutTests/fast/text/glyph-display-list-color-expected.txt.
  • LayoutTests/fast/text/glyph-display-lists/glyph-display-list-color.html: Renamed from LayoutTests/fast/text/glyph-display-list-color.html.
  • LayoutTests/fast/text/resources/Ahem-COLR.ttf: Renamed from LayoutTests/fast/text/canvas-color-fonts/resources/Ahem-COLR.ttf.
  • LayoutTests/platform/ios/fast/text/softHyphen-expected.txt: Removed.

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

3:10 PM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
3:00 PM Changeset in webkit [294586] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r294243 - REGRESSION(r294104): [GStreamer][VideoCapture] Webcam raw streams may hang up the video capture pipeline
https://bugs.webkit.org/show_bug.cgi?id=240456

Patch by Loïc Le Page <llepage@igalia.com> on 2022-05-16
Reviewed by Philippe Normand.

When capturing a raw stream from a webcam, the pipeline may hang up because the decodebin3 cannot fix the upstream caps.
The webcam capsfilter should not only specify the captured mime-type (video/x-raw) but also the capture image dimensions.

Manually tested.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
2:59 PM Changeset in webkit [294585] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r294229 - REGRESSION(r294104): [GStreamer] getUserMedia broken
https://bugs.webkit.org/show_bug.cgi?id=240420

Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-16
Reviewed by Xabier Rodriguez-Calvar.

The converter handling logic was modified in order to fix getUserMedia negotiated with raw
video and also getDisplayMedia which is always raw video and thus doesn't require decoding.

This patch also introduces a small optimization, reconfiguration is now done once only,
after setting size and framerate. Before this patch it was done twice, so the pipeline was a
taking more time to produce the first frame.

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::~GStreamerVideoCaptureSource):
(WebCore::GStreamerVideoCaptureSource::settingsDidChange): Trigger capturer reconfiguration after setting both size and framerate.
(WebCore::GStreamerVideoCaptureSource::startProducingData): Ditto.

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter): Do not decode display capture streams, these are always raw anyway.
(WebCore::GStreamerVideoCapturer::setSize): Delay reconfiguration.
(WebCore::GStreamerVideoCapturer::setFrameRate): Ditto.
(WebCore::GStreamerVideoCapturer::reconfigure): Keep track of compatible video format. This
is needed to workaround an issue in pipewiresrc caps negotiation.
(WebCore::GStreamerVideoCapturer::adjustVideoSrcMIMEType): Renamed to reconfigure().

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:

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

2:57 PM Changeset in webkit [294584] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r294104 - [GStreamer][VideoCapture] Add support for capturing encoded video streams from a webcam
https://bugs.webkit.org/show_bug.cgi?id=240229

Patch by Loïc Le Page <llepage@igalia.com> on 2022-05-12
Reviewed by Philippe Normand.

Takes into account encoded video streams produced by a webcam for
video capture.

Manually tested (requires a webcam with encoded video streams).

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::generatePresets):

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createConverter):
(WebCore::GStreamerVideoCapturer::setSize):
(WebCore::GStreamerVideoCapturer::setFrameRate):
(WebCore::GStreamerVideoCapturer::adjustVideoSrcMIMEType):

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:
2:55 PM Changeset in webkit [294583] by Adrian Perez de Castro
  • 7 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r293580 - [GStreamer] Pipewire display capture broken
https://bugs.webkit.org/show_bug.cgi?id=239435

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-28
Reviewed by Xabier Rodriguez-Calvar.

The pipewiresrc GStreamer element now needs both the fd and path properties set in order
to open the right Pipewire stream, so we need to get the node ID from the portal Start
response and pass it to the GStreamer element.

  • platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h:
  • platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp:

(WebCore::GStreamerDisplayCaptureDeviceManager::createDisplayCaptureSource):
(WebCore::GStreamerDisplayCaptureDeviceManager::waitResponseSignal):

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:

(WebCore::GStreamerVideoCaptureSource::createPipewireSource):
(WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource):
(WebCore::m_deviceType):
(WebCore::GStreamerVideoCaptureSource::~GStreamerVideoCaptureSource):

  • platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:

(WebCore::GStreamerVideoCapturer::createSource):
(WebCore::GStreamerVideoCapturer::setSize):
(WebCore::GStreamerVideoCapturer::setFrameRate):

  • platform/mediastream/gstreamer/GStreamerVideoCapturer.h:

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

2:53 PM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
2:42 PM Changeset in webkit [294582] by Jonathan Bedard
  • 2 edits in trunk/Tools/CISupport/ews-build

[Merge-Queue] Validate reviewers in commit message
https://bugs.webkit.org/show_bug.cgi?id=240718
<rdar://problem/93665771>

Reviewed by Aakash Jain.

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

(ValidateCommitMessage):
(ValidateCommitMessage.init):
(ValidateCommitMessage.extract_reviewers): Extract reviewers from commit message.
(ValidateCommitMessage.is_reviewer): Check if a contributor is a reviewer.
(ValidateCommitMessage.run): Check if extracted reviewers are reviewers.

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

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

2:41 PM Changeset in webkit [294581] by Adrian Perez de Castro
  • 1 edit in trunk/Source/cmake/OptionsWPE.cmake

Unreviewed. [WPE] Bump version numbers

  • Source/cmake/OptionsWPE.cmake: Update version numbers for the next release series.

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

2:33 PM Changeset in webkit [294580] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[Gardening]: REGRESSION (r294536): [ macOS Release wk2 ] Twelve webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240735
<rdar://93678287>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:21 PM Changeset in webkit [294579] by commit-queue@webkit.org
  • 3 edits in trunk/Source

[web-animations] provide a dedicated flag for KeyframeEffect.iterationComposite
https://bugs.webkit.org/show_bug.cgi?id=240727

Patch by Antoine Quint <Antoine Quint> on 2022-05-20
Reviewed by Dean Jackson.

Add a dedicated flag for the KeyframeEffect.iterationComposite property as
that property did not make it to Web Animations 1.0 and should not be enabled
together with KeyframeEffect.composite.

  • Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::create):

  • Source/WebCore/animation/KeyframeEffect.idl:

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

2:13 PM Changeset in webkit [294578] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/LayoutTests

Remove redundant text-indent tests already covered by WPT
https://bugs.webkit.org/show_bug.cgi?id=240730

Patch by Kiet Ho <Kiet Ho> on 2022-05-20
Reviewed by Simon Fraser.

getComputedStyle-text-indent.html is covered by the following WPT tests:

  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-indent-computed.html
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-indent-invalid.html
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/parsing/text-indent-valid.html

getComputedStyle-text-indent-inherited.html is covered by the WPT test
LayoutTests/imported/w3c/web-platform-tests/css/css-text/inheritance.html

They are also obsolete, since they still use the prefixed keywords '-webkit-each-line' and
'-webkit-hanging', while WebKit has supported the non-prefixed keywords since
https://bugs.webkit.org/show_bug.cgi?id=223851. They were also marked as skipped since a long
time ago. Therefore there's no reason not to remove them.

  • LayoutTests/TestExpectations:
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-expected.txt: Removed.
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited-expected.txt: Removed.
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited.html: Removed.
  • LayoutTests/fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent.html: Removed.

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

2:12 PM Changeset in webkit [294577] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r292269 - AI should do int32 optimization in ValueRep
https://bugs.webkit.org/show_bug.cgi?id=238699

Reviewed by Saam Barati.

When constant folding an int52 into a ValueRep AI doesn't
do our normal int32 boxing optimization. I'm not sure if
it matters since I couldn't find a test but it probably
doesn't hurt.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

2:12 PM Changeset in webkit [294576] by Adrian Perez de Castro
  • 301 edits
    8 adds
    4 deletes in releases/WebKitGTK/webkit-2.36/Source/ThirdParty/ANGLE

Merge r291757 - Roll ANGLE to 2022-03-22 (e7f29440f02514126f30350dcd7132b68f7954d7)
https://bugs.webkit.org/show_bug.cgi?id=238171

Large autogenerated ChangeLog elided.

Tested locally with Minibrowser on M1, with test cases from the
following recent bugs:

https://bugs.webkit.org/show_bug.cgi?id=237006
https://bugs.webkit.org/show_bug.cgi?id=237906
https://bugs.webkit.org/show_bug.cgi?id=238022

and confirmed all render correctly.

Patch by Kenneth Russell <kbr@chromium.org> on 2022-03-23
Reviewed by Kimmo Kinnunen.

2:10 PM Changeset in webkit [294575] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/ThirdParty/ANGLE

Merge r290987 - ANGLE display cache does not work with explicit device ids
https://bugs.webkit.org/show_bug.cgi?id=237522

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-08
Reviewed by Kenneth Russell.
Add EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE
to the display cache key, so that a request for a display with an explicit device does
not get resolved with a display without explicit device or with a display with another
explicit device.

WebKit tests will be added once this will be used.
ANGLE tests will be added once upstreamed.

  • src/libANGLE/Display.cpp:

(egl::Display::GetDisplayFromNativeDisplay):
(egl::Display::~Display):

2:09 PM Changeset in webkit [294574] by Adrian Perez de Castro
  • 487 edits
    1 copy
    3 moves
    17 adds
    18 deletes in releases/WebKitGTK/webkit-2.36/Source/ThirdParty/ANGLE

Merge r290479 - Roll ANGLE to Feb 18 2022 (78c64dd74ee5)
https://bugs.webkit.org/show_bug.cgi?id=235746

Reviewed by Dean Jackson.

The changelog has been rewritten to avoid
confusion. The following commits are integrated in this
roll:

78c64dd74 Roll SwiftShader from 13f7365e81be to b4a56a893496 (11 revisions)
00c4dc93a Python3: Update generate_test_spec_json.py
d98f4812c FrameCapture: Capture empty buffer generation.
7a4fd4212 Roll Chromium from d984ec3b132a to 6594a8d1e6cf (1749 revisions)
b1bdce5f2 Roll VK-GL-CTS from 834c2e16ae1c to d321c7ec84de (7 revisions)
f996d4d87 Vulkan: Fix DynamicBuffer cache reuse.
8dc9e83e3 Translator: Fix RunAtTheEndOfShader w.r.t discard
00169174c gl.xml: Remove GL_BLEND_EQUATION_EXT from GetPName.
8ade4c2f7 Vulkan: Add overlay and stats for descriptor set caches.
671fcf732 Vulkan: Add a feature to retain SPIR-V debug info
1315bc816 Vulkan: Refactor DynamicBuffer::allocate.
8d966f7dd Vulkan: Simplify SubAllocation data types.
57b8b9332 Roll vulkan-deps from 9fb91023eb58 to 4d9fe6bf1f0c (8 revisions)
ae9c94f1b Add instructions to build RenderDoc for Android on Windows
38723c28c Vulkan: Allocate space for default attrib only if it is enabled
ad462491f Refine suppression for GLSLTest.SwizzledChainedAssignIncrement.
8cb586671 Vulkan: Add uniform descriptor set caching test.
bfbe86613 Fix UpdateChromeANGLE on mac for debug angle
a0d558f09 Vulkan: Fix D/S invalidation for MSAA EGL configs
3b8910625 Roll Chromium DEPS manually.
fb6303a15 Update docs for checkout with 'fetch' tool.
afacf7f99 Roll vulkan-deps from 956ca5369840 to 9fb91023eb58 (10 revisions)
2893effa4 validationESEXT: Implement ValidateGetCompressedTexImageANGLE.
b1075951d vk_helpers: Adjust CopyImageToBuffer extent to block size.
d77f64b35 Roll SwiftShader from 5f1c00bda1c1 to 13f7365e81be (5 revisions)
bdedf146d TextureVk: Implement getCompressedTexImage.
5f3f13f69 Vulkan: Invalidate D/S for multisampled EGL configs too
eeddb0504 Metal: Incorrect parenthization for assignment expressions
ed39d49a2 Metal: Fix Hang in WebGL CTS Occlusionquery_strict test
760253ce2 Vulkan: replace uniforms FastIntegerMap with FastUnorderedMap
931863370 Vulkan: Check Serial is valid in SyncHelperNativeFence
904a47975 Python3 upgrades
c590a1aa9 Roll VK-GL-CTS from 2d1377ec02b5 to 834c2e16ae1c (1 revision)
3adace153 Don't expose detailed driver version info to webGL
255fec892 Remove reference to policy_testserver.py
e2f8ff32c Tests: Add State of Survival trace
a5badc3ef [infra] Update active lucicfg experiments.
cf4b50c5b Vulkan: Retain images before changeLayoutAndQueue
3b8b1f709 Roll SwiftShader from cbd31d271e4c to 5f1c00bda1c1 (12 revisions)
f3b6af597 Roll vulkan-deps from 3a6f074dbd38 to 956ca5369840 (55 revisions)
ad4fae642 Roll Chromium from c9825531290b to d984ec3b132a (580 revisions)
e50455877 Debug Overlay Demo
527ceb73c Vulkan: Switch XFB counter buffer to suballocation
a0bc9dab4 Vulkan: Switch stencilBlitResolveNoShaderExport to suballocation
d36df8d73 Unicode support for system_utils on Windows
54d428dd5 Tests: Add MARVEL Strike Force trace
1e29ba626 Vulkan: Enable overlay by default with debug layers
19f405318 Vulkan: Enable subgroup feature in GenerateMipmap.comp
2efbfd058 Roll VK-GL-CTS from 071bfca11aa9 to 2d1377ec02b5 (11 revisions)
c6f5a5bbe Roll Chromium from c0b2804cbd93 to c9825531290b (658 revisions)
06edae72b Vulkan: Allow duplicated block name in different shader interface
6cced91b3 FrameCapture: Remove destroyed contexts from share group
f7f269560 Vulkan: Fix two bugs exposed by moving mEmptyBuffer to suballocation
9b7a77b08 Double batch timeout for sanitizer tests.
4b45576d4 Keep ANGLE_base_vertex_base_instance available for ES 2.0
d285d6a72 Vulkan: Use VK_EXT_depth_clip_control
3f0a28ba6 Add entry points for EGL_KHR_partial_update
3b4548bb6 Traces: Add restricted_trace_perf.py script for Android
a3c785fc1 GL: Remove avoid_dxt1_srgb_texture_format feature
fd378ce5a Rebind program on glUseProgramStages
3a72994ea Vulkan: Add an end2end test
0a320d16f GetImageTest: Enable on Vulkan SwiftShader.
568724918 Roll Chromium from bf99b2cc0f6b to c0b2804cbd93 (526 revisions)
d5df23318 Vulkan: Disable EGLContextSharingTestNoSyncTextureUploads on Pixel6
038adcae4 Vulkan: Render the overlay in the graphics pipeline
b39add311 Roll VK-GL-CTS from b594e2aabae9 to 071bfca11aa9 (1 revision)
419bca3f5 Vulkan: Use Vulkan API directly for BufferPool's buffer allocation
6fd2588df Update GL_MAX_CLIP_DISTANCES_EXT validation
734365a71 Vulkan: improve command buffer reset performance
118ce6aae Support to open d3d12 shared handles
a0e3a5fb9 Roll SwiftShader from 0915ab4bddf7 to cbd31d271e4c (3 revisions)
f63d5f1c1 Revert "Don't build dEQP tests on MSVC temporarily"
4b6a5a84b Roll Chromium from 60719c9cd084 to bf99b2cc0f6b (543 revisions)
670a6e476 Ignore invalid texture type error
91f92540c Metal: Fix multisample resolves.
823522375 Vulkan: Fix incorrect DescriptorSet's bufferInfo in XFB emulation path
37f59b850 Roll VK-GL-CTS from 97ceb2222747 to b594e2aabae9 (64 revisions)
02ce52d26 Test: Add Lords Mobile trace
33d17b7fc Fix perf test runner script.
4349904b0 Add keying on backend to ANGLE Display caching.
9cfd87244 Allow surface creation in DisplayVkNull
a91d56033 Roll SwiftShader from e576ca6011cd to 0915ab4bddf7 (6 revisions)
4716e0fe8 Roll Chromium from 817a527fde8c to 60719c9cd084 (571 revisions)
71d06198c Vulkan: Fix vkCmdClearAttachments vs multiview
1b9774f57 Vulkan: Force submit updates to immutable textures
a39618436 Vulkan: Bind aligned default uniform buffer size.
6207fe88d Vulkan: Minor cleanup to DynamicDescriptorPool.
5b43a30e3 Overlay: Rearrange the font image
70c510eb2 Vulkan: Use common storage for descriptor set descs.
50fb842d5 Expand SwiftShader Win/ASAN suppression.
520458769 Vulkan: StreamVertexDataWithDivisor write beyond buffer boundary
d635feb11 [fuchsia] Tests using additional_manifest_fragments are CFv1.
8622810c4 Roll SwiftShader from ad6d7f84f2a1 to e576ca6011cd (19 revisions)
d066f9a34 Roll Chromium from 26dacbf4b527 to 817a527fde8c (500 revisions)
2df2a9ec2 Add instructions to enable Debug Overlay On Android
236a3d0f0 Tests: Add Dead Trigger 2 trace
1acfe6597 Test: Add Last Shelter: Survival trace
8b81742dd Vulkan: Move shader resources descriptor set update.
02ad19e36 Vulkan: Fix vkCmdResolveImage offsets
d9fcebb8a Vulkan: Make framebuffer fetch syncval errors more specific
939da2945 Tests: Add Magic Rush: Heroes trace
9208dcc65 Revert "Vulkan: Enable framebuffer fetch on SwiftShader"
44deda4c2 Tests: Add Dragon Mania Legends trace
959d4be5f Vulkan: Remove buffer get method from descriptors desc.
b2006a222 Roll SwiftShader from 2b76a13c38ae to ad6d7f84f2a1 (1 revision)
06150ab2f Roll Chromium from 55ed02951fa2 to 26dacbf4b527 (583 revisions)
f65e7c3ca Vulkan: Take base level into account in image views
6d30de10d Metal: Fix ANGLEUniformBlock alignment
ac20272f6 Vulkan: Fix present region rectangles
2eeb87488 Vulkan: Enable framebuffer fetch on SwiftShader
2ab8f48fe Allow glCopyTexImage2D from BGRX and RGBX to GL_LUMINANCE
c48e35b94 Add more info in BlitFramebuffer error message
2b00f4f5a Fix bug in protected content validation
706f8a311 Support gl internal format for creating EGLImage from VkImage
da87b1dbc Fix GLES Display creation on ChromeOS when Vulkan is enabled
7820ca23e Vulkan: Binding available buffer range to descriptor.
8710d7fe2 Roll SwiftShader from 6014f10de554 to 2b76a13c38ae (3 revisions)
0aca45c1f Roll Chromium from 8894f7c632dd to 55ed02951fa2 (509 revisions)
1608a9567 Vulkan: Revert client vertex data streaming to use DynamicBuffer
9e3232998 FrameCapture: Regen framebuffers on Reset
e897bf9ae Remove gl_PerVertex-related suppression
3dbba51df Reland "Vulkan: Enable ANGLE_texture_multisample"
83a3f654a Revert "Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang"
4ac0f1436 Vulkan: Fix gl_LastFragData transformation
f1159253d Expand suppression of Mimap tests to any Win/Swiftshader config.
e56f0e293 Vulkan: Check program fetch status when switching framebuffers
600ffa6ec Suppress GLSLTest.FramebufferFetch... on Pixel6 / Vk / Glslang
4a65040b6 Add new Vulkan uniform update test.
464396c7b Roll vulkan-deps from fe093f4789c2 to 3a6f074dbd38 (8 revisions)
4c9f4519b Roll SwiftShader from 4998c7b3a2b8 to 6014f10de554 (6 revisions)
6e7a7a03e Roll Chromium from a210f891a450 to 8894f7c632dd (1053 revisions)
b756b2c27 Suppress flaky Mipmap/Multithreading tests on Win/SwS/ASAN
812d5fffa Metal: End the current render pass at glInvalidateFramebuffer.
7d7cca47f Vulkan: Update default FBO when fetch in use
25120c560 Mac: Try to diagnose crashes inside Core Animation.
139f4bd46 Revert "Vulkan: Enable ANGLE_texture_multisample"
494887100 Metal: Remove emulatedInstanceID
57933493d Roll vulkan-deps from 9ee740d2e9ef to fe093f4789c2 (5 revisions)
72529c197 Vulkan: Fix a few framebuffer fetch bugs
fe56532f5 Vulkan: Enable ANGLE_texture_multisample
bc3be5a83 Vulkan: Add a dedicated suballocation garbage list
be2da2343 Vulkan: Initialize exectuable with invalid uniform serial.
33427a4b3 Vulkan: Fix vkCmdResolveImage extents
293c0b516 Vulkan: Cache commonly used 6 ushorts stream index array data
38fada351 Vulkan: Add support for OES_primitive_bounding_box
91b383e82 Translator: Emit warning when identifier has double underscores
945a09d10 Vulkan: Fix off-by-one in DynamicBuffer.
d6fb76a68 [fuchsia] Don't try to use calling executable path to load .so's
868c0739f Vulkan: Fix image base/max level respecification case.
0a6c4310e Vulkan: Fix incorrect gl_SamplePosition on ES3.2
693b48a07 Roll SwiftShader from 4db20a80409b to 4998c7b3a2b8 (1 revision)
d1b1ef9af Roll vulkan-deps from 69f4b9c09e48 to 9ee740d2e9ef (3 revisions)
3c727e44e Allow GL_RGBX8_ANGLE for texture copy destination
069269540 Roll Chromium from 97a33ab1a078 to a210f891a450 (477 revisions)
f810e9989 Use a temporary timeout multipler for trace tests.
508a8a027 Remove old spellings for SYNC-HAZARD-WRITE_AFTER_READ skips
2d3ce72d1 Refactor shared library load to avoid allocations.
665ddccd8 Vulkan: Emulate dithering
29d087df4 Fix ANGLE_rgbx_internal_format's extension file name
471f18521 D3D11: Fix underflow with computing small strides.
84470eb3d Roll SwiftShader from 518c5780ac4f to 4db20a80409b (3 revisions)
b934fad92 Roll Chromium from 4d71de73b37d to 97a33ab1a078 (625 revisions)
a4a4fec8b Roll vulkan-deps from f703f3cc0975 to 69f4b9c09e48 (10 revisions)
69263b388 Roll vulkan-deps from 746e518a0b0e to f703f3cc0975 (1 revision)
55ef2b4f7 Update one more SYNC-HAZARD-WRITE_AFTER_READ skip
168e0ae50 Vulkan: Refactor descriptor pool code.
a994ea994 Update SYNC-HAZARD-WRITE_AFTER_READ skip
e03f17535 EGL: mutable_render_buffer deferredFlush fix
e27bb3972 Roll vulkan-deps from a19b5047ffca to 746e518a0b0e (5 revisions)
8a1f8af4d Turn on the Vulkan backend on ChromeOS
9bf5716c8 Tests: Add War Planet Online trace.
287057b3b FrameCapture: Don't track coherent buffers before capture starts.
42c8b29d0 Tests: Add Dead By Daylight trace.
46b420f66 Roll SwiftShader from bca23447ad46 to 518c5780ac4f (7 revisions)
078f7ea06 Roll Chromium from 8ff0cb4f71d8 to 4d71de73b37d (550 revisions)
c4a9d4169 Metal: Refactor to build without SPIR-V
701d51b10 Vulkan: Add SmallBufferPool for small allocations
66e01ae5a Expand error message on BindTexture validation failure
706e44b06 Tests: Add PUBG Mobile launch trace
df19e35a0 Vulkan: Use queue for mGarbageQueue
4e644b330 Vulkan: Remove ProgramExecutableVk back-pointers.
b3ed47809 Change Windows display initialization from ANSI to wide version
602b957b8 Enable robustnessEXT for SwiftShader.
8b966cfc5 Roll vulkan-deps from ae6a4b829252 to a19b5047ffca (9 revisions)
322d118fc Roll SwiftShader from 711968667748 to bca23447ad46 (4 revisions)
47d63b4e3 Roll Chromium from 7b890e4b915b to 8ff0cb4f71d8 (485 revisions)
2ad5f350c Vulkan: Fix texture array level redefinition
45237a047 Metal: Fix undefined behavior of depth write
aadc64343 Vulkan: Fix to correctly redefine gl_PerVertex in GS
25e8f02b0 [infra] Use python3 for run_presubmit recipe.
a79708899 Vulkan: Use queue instead of vector for mSharedGarbageList
39f66a9c1 Vulkan: Support different SCBs for outside and inside RP
cb96c236a Revert "Vulkan: Enable framebuffer fetch on SwiftShader."
7c1346bdc Vulkan: Consolidate uniforms code in ProgramExecutableVk.
b2d55742b Program: Add generic uniform update methods.
374e0c439 ProgramPipeline: Remove mHas members.
0dc0dc2a4 Re-land: "Vulkan: Remove "fillProgramStateMap"."
510723193 Vulkan: Enable framebuffer fetch on SwiftShader.
1316d1534 Roll vulkan-deps from 4ec99dddf407 to ae6a4b829252 (11 revisions)
f44159cdb Roll SwiftShader from 366db5aedd90 to 711968667748 (8 revisions)
83ca1fbc5 Roll Chromium from 94c8695167c4 to 7b890e4b915b (100 revisions)
54f8a8f71 Roll Chromium from 35ed79e6a83b to 94c8695167c4 (935 revisions)
aaac31b48 Unskip dEQP.GLES3/functional_shaders_operator_unary_operator_minus_*
c5498b957 FrameCapture: Reset immutable buffers correctly.
8474c8e1c FrameCapture: Add Renderbuffers to mStartingResources.
5f0badf45 Vulkan: Prevent out of bounds read in divisor emulation path.
526c93ddf FrameCapture: Detect GL_MAP_COHERENT_BIT_EXT correctly.
f5dc2a951 Roll vulkan-deps from 238eaa6f9d25 to 4ec99dddf407 (7 revisions)
8fc4d3b1e Roll SwiftShader from e823eef17385 to 366db5aedd90 (2 revisions)
d7585c22a Capture/Replay: don't capture MS depth renderbuffer pixels
d6dd0cb52 EGL: EGL_KHR_lock_surface3 backend
6a14e328b Revert "Vulkan: Remove "fillProgramStateMap"."
bd87cc1ca Skip flaky CopyTextureTest.CopyOutsideMipmap
c7f31b8ae Expand TransformFeedbackTest.SpanMultipleRenderPasses suppression
296783294 Vulkan: Fix advertised precision ranges
38deffe40 Vulkan: Remove "fillProgramStateMap".
540b2e46a Fix MultithreadingTestES3.MultithreadFenceDraw skip on SwiftShader
73c823108 Update the Capture and Replay docs
85e2991f2 Fix couple LSAN detected leaks in unit and end2end tests
adb802383 On invalidate, only sync the relevant framebuffer binding
a20cd8b73 Fix initialization for ETC2 punchthrough alpha formats
cac4e54a6 Mark GL_RGBX8_ANGLE format as filterable.
64c49da36 Roll Chromium from b7f974a39665 to 35ed79e6a83b (570 revisions)
096c268bd Add a few overrides for Samsung
339a6d181 Roll vulkan-deps from c9b583de6eb8 to 238eaa6f9d25 (8 revisions)
0f00fbae2 Translator: Make vec/matrix size getters unsigned
ca3b28b4b Metal: Fix compressed texture initialization and add DXT1 test
4a5a559d6 Update Metal/iOS status from "planned" to "in progress".
a0fbcb375 Vulkan: Remove flush from SyncHelperNativeFence::serverWait
038d28772 Roll VK-GL-CTS from bfede065f419 to 97ceb2222747 (3 revisions)
29e254689 Account for EGL 1.5 version when dealing with robustness
78d482e56 Add standalone ANGLE Pixel 6 experimental bots
a5e22715e Vulkan: Fixed TC shader and gl_PerVertex block interaction
a64d52fd2 Add ANGLE_FORMAT_PRINTF() for catching format errors
31bb03fe2 Add more tests for program pipelines.
e6ed6977c Roll SwiftShader from 2e74d5dc03df to e823eef17385 (4 revisions)
a4b312c01 Roll vulkan-deps from 70b3eb7a5ab4 to c9b583de6eb8 (1 revision)
515f60bd6 FrameCapture: Keep MEC Setup resources in Reset.
034b50587 Roll Chromium from d5bf6f7f9376 to b7f974a39665 (478 revisions)
1ab6c9f69 Hide ES 3.0+ extensions from ES 2.0 clients
2caa9d4fe Vulkan: Add missing glGetProgramPipelineiv parameters handling
d23549689 Vulkan: Rename BufferHelper::initFor* to allocateFor*
a83f7e91c Vulkan: inline some of the BufferSuballocation APIs
1b5efe51a Vulkan: Rename SubAllocation to Suballocation
659725aaa Metal: Cleanup texture caps init
3064920a9 Capture/Replay: Serialize ActiveTexturesCache.
161643215 Roll vulkan-deps from d1b842fca80d to 70b3eb7a5ab4 (4 revisions)
7ff95f28d Roll Chromium from b24759852b71 to d5bf6f7f9376 (533 revisions)
1bd1a3db1 Metal: Canvas resizing causes webpage to run out of memory
15439f8e4 Vulkan: Remove BufferMemoryAllocator
dcac02ac1 Revert "Enable robustnessEXT for SwiftShader."
ef3fffd6f Fix running tests with empty test set.
e5c9b3859 Add object label in glBindTexture() error message
b53607981 Vulkan: Support fetching from default FBO
ff5368cd2 Mark a context as shared if using global textures/semaphores
fc6b747df EGL: Fallback to native device if no display available
55d127703 Metal: Cleanup autogenerated format table
cb7ff65c1 Roll SwiftShader from f6bdbed95b37 to 2e74d5dc03df (7 revisions)
eda5aa0be Roll vulkan-deps from 4cda77455291 to d1b842fca80d (6 revisions)
17f912bd6 Roll Chromium from 8cf5fa683fa3 to b24759852b71 (537 revisions)
00a2a2f3e Merge metal format table updates from Webkit
af8dd1c38 Update documentation link
f071aaaf3 Use first test name instead of shard index for TestArtifacts
7dda50fc0 Add frontend for ANDROID_extension_pack_es31a
28f223acb Vulkan: Add missing ESSL 3.2 builtin functions
400175d8e Copy shader buffers into pipeline executables.
892511fc3 Isolate LinkValidateProgramInterfaceBlocks.
fdadc420a Fix non-bot mode sharding on Android and disable elsewhere.
fa3241b70 Vulkan: Move shader_framebuffer_fetch to FeaturesVk
9012c1288 Add Microsoft vendor Id parsing to SystemInfo
453cd955a Add EGL_ANGLE_platform_angle_display_id to D3D11 backend.
a1858b024 Tests: Add Respawnables trace.
b803b60df Enable robustnessEXT for SwiftShader.
31942507f Fix export_targets Windows presubmit with Vulkan Loader.
8eafe4912 Roll SwiftShader from d7117384b0ee to f6bdbed95b37 (1 revision)
c31e14d9c Roll vulkan-deps from d891854a594a to 4cda77455291 (30 revisions)
4572a1764 Add support for GL_MESA_framebuffer_flip_y 3/*
a76550078 Roll Chromium from 86a4c63b080e to 8cf5fa683fa3 (329 revisions)
9b231f090 Vulkan: Fix incorrect bit test when mipmapping
158ecba6a Vulkan: Remove cached Impl pointers from ContextVk.
5adee9161 Wrap some global vulkan methods which depend on env variables
652e3db46 use vpython3 in run_gtest_angle_test.py
770c81b91 Roll SwiftShader from cd848cd695a4 to d7117384b0ee (2 revisions)
9cfb4dd91 Roll Chromium from c00f3886d7aa to 86a4c63b080e (890 revisions)
0aae0d7ad Update PrintSystemInfo with missing fields.
6601b8d2e Vulkan: Fix storage buffer limits on geom/tess without Vulkan support
c4c73e827 Fix RobustBufferAccessBehaviourTest.
30254d349 Ignore VUID-RuntimeSpirv-NonWritable-06341 warning
158d47831 Vulkan: Suppress VVL message about allocation exceeding heap size
28f05f41e Capture/Replay: Add annotation for crashing test
6e2ab29d1 Avoid data race in overflow check.
4f3a50e55 Roll Chromium from 3fcf884156d8 to c00f3886d7aa (595 revisions)
6312da1ab Vulkan: Disable GL_KHR_parallel_shader_compile
9f3c306ec Fix collection of systemDeviceId on Mac/M1
9b1a6d8a4 Vulkan: Invalidate depth/stencil unconditionally
bd64b3eaa Move pipeline uniforms into the executable.
985db6409 Fix test harness config parsing in Compressed Tex tests.
f4b0a95f4 Metal: Implement EXT_shader_texture_lod
814a78af5 Roll Chromium from 3668290e6162 to 3fcf884156d8 (108 revisions)
d4412d0a0 Roll Chromium from 3d4921afbcfd to 3668290e6162 (378 revisions)
2f4f5f8aa Add EGL_ANGLE_platform_angle_device_id for the Metal backend.
0ab15998c Translator: Don't promote precision for assignment operation lvalues
cd157aae5 Revert "Use STL container for vulkan memory allocator"
89467fa56 Roll Chromium from 597c376626be to 3d4921afbcfd (999 revisions)
d4c8209b3 Fix validation of copyImageSubData related to texture completeness
4a819ee26 Update code generation script to work with specified generators
96fd9b72d Fix validation of glCompressedTexImage3D
926b43e75 Reland: Frontend: separate lock in swap prep
2d1051778 Enable a few features for Samsung
345cdcb0f Rename features for consistency.
b0e15ee48 Decide GL_KHR_parallel_shader_compile in backends
a026d0536 Add support for subgroupSize of 16 in Debug Overlay Module
f180ecc96 Supress TransformFeedbackPausedDrawThenResume on Mac AMD
5ec02c8f4 Roll SwiftShader from b57a3aaee927 to cd848cd695a4 (1 revision)
7f8e7c38e Roll vulkan-deps from 328da0f26e8e to d891854a594a (9 revisions)
0b02a592f Metal: Generated Metal shaders do not compile offline
6a2558333 Metal: Fix transform feedback issue
37cde9e99 Update GLES31 expectations file
e38dab0aa Add missing implementation for glGetnUniformuiv()
74e03b9af Expose the registryID of GPUs on Mac via SystemInfo
9d11a341c Vulkan: Fix Vulkan SCB vs multiple subpasses
b90bcb9c8 Roll vulkan-deps from 57e7495dc76d to 328da0f26e8e (4 revisions)
9f1dc3e99 Roll Chromium from b91f3880e3ec to 597c376626be (567 revisions)
acd8fc76b Vulkan: Distinguish RP and outside-RP command buffer types
eea784687 Tests: Add Angry Birds 2 launch trace
095d7c0a0 Translator: Clean up spec const / driver uniform types
5c9bd7bac Update Mac goldctl
4111f9ef1 Add standalone ANGLE Mac AMD experimental bot
9d042d686 Cleanup after iOS build fixes
99b021a15 infra: Add TSAN and UBSAN tests to CQ.
b0feea4e4 Suppress failing test on Vulkan/Intel/Linux.
60a8b5930 Vulkan: Remove std::unique_ptr usage from BufferVk::mBuffer
217dc204e Broaden TSAN EGL multithread suppression.
ae1a56b67 Vulkan: Turn on GL_EXT_shader_framebuffer_fetch for ARM
9d668d6c4 Revert "Frontend: separate lock in swap prep"
b2dac79d9 Fix typo in EGLPrintInfo end2end Test
462cdb08e Capture/Replay: Reset FBOs, RBOs, VAOs
4472b3b0d Fix TSAN suppressions.
40c5cb255 Frontend: separate lock in swap prep
c2a296149 Test Expectations: Use file order as override priority.
ece463808 tests/EGLProtectedContentTest: Add QueryContext test.
1e2856fdc Update freetype-py wheel
a203e1263 Roll SwiftShader from 0b901607cad4 to b57a3aaee927 (1 revision)
8ab13284a Roll vulkan-deps from 09edcd7c680b to 57e7495dc76d (27 revisions)
6f80fa0c3 Roll Chromium from 8712e27d7e28 to b91f3880e3ec (349 revisions)
2ebdd23b6 Cleanup TextureCubeTestES3.CubeMapPixelUnpackBuffer
caf6433ad Vulkan: Rename releaseStagingBuffer to releaseStagedUpdate
93159c020 Vulkan: Remove DynamicShadowBuffer implementation
cf3812921 Revert "Re-skip MSRTT tests on Linux/AMD/Vulkan"
3263eb01f Vulkan: Switch GPU translated vertex buffer to NonHostVisible
8589c456a Vulkan: Remove mStagingBuffer from ImageHelper and ContextVk
6da1ac814 Vulkan: Switch ReadPixels from DynamicBuffer to shared pool
ad27d5d6f Reland "Vulkan: Consolidate all vertex conversion buffers to shared pool"
535a90347 Suppress headers includes privacy checks for iOS executables
a61a7f597 Vulkan: Use correct aspectMask
4e85bdd99 Revert "Vulkan: Consolidate all vertex conversion buffers to shared pool"
cca412cd8 Vulkan: Consolidate all vertex conversion buffers to shared pool
02f6226b7 Avoid using GetCWD() on MacOS when possible
a0d0a1d65 Roll SwiftShader from c73969d73ff9 to 0b901607cad4 (6 revisions)
e98b62727 Roll Chromium from b1dc46c0f1be to 8712e27d7e28 (483 revisions)
fd0142714 Vulkan: Match chromaFilter to min/mag for YUV AHBs
ccabfd140 out\Debug -> out/Debug, like in other places
abf17f018 Metal: Support depth filtering queries for D32, D24S8
f13f440e6 Reland: Metal: Fix Webkit warnings in ANGLE build
39e1a2b2e Suppress Vulkan/SwiftShader/AsyncQueue ASAN flakes.
7126c3a3c Capture/Replay: Limit caps for QC/SwS
0e49a3dd4 Vulkan: Add std::move support for BufferHelper
43b0e92b5 Vulkan: Consolidate mHostVisibleBufferPool and mMapInvalidate
42cb6147f Revert workarounds for exception handler code-gen with CFG enabled
e4c7efeaf Capture/Replay: Fix GN build on iOS.
cabc3b982 Move atomic counter uniform range counter to executable.
e9e9a2c6a Do not pass mInstance to vkGetInstanceProcAddr
beda24596 Add support for GL_MESA_framebuffer_flip_y 2/*
c984dad5f FrameCapture: Don't remove protection from shared pages.
d76515b89 Roll SwiftShader from 433b1bf9bff2 to c73969d73ff9 (4 revisions)
1b2cb4222 Roll Chromium from 1a9dad30c65b to b1dc46c0f1be (497 revisions)
cfc4db346 Metal: Provoking vertex support for Metal DrawArrays
a00b6ca46 Roll Chromium from 04d22dcbc0f6 to 1a9dad30c65b (190 revisions)
5bd459618 Roll Chromium from 70ce2f66c417 to 04d22dcbc0f6 (183 revisions)
aad7ddb28 Skip VulkanPerformanceCounterTest.InvalidateDrawDisable
0a6b78974 Add macOS support to update_chrome_angle.py
4b3e3ed5f Re-skip MSRTT tests on Linux/AMD/Vulkan
39810def0 Roll Chromium from c764378a1f24 to 70ce2f66c417 (145 revisions)
9aca4285f Traces: Fix path in retrace script.
0331738b4 Fix extension download script, and update data.
58aeec65c Capture/Replay: GN cleanups.
85de4f81e Capture/Replay: Fix TODO in test utils.
b6399ac94 Traces: Finish writing restricted trace doc updates.
fed9ba44f Roll vulkan-deps from c32df39c11ce to 09edcd7c680b (1 revision)
65cc408c3 Roll Chromium from e45e6e1a55ae to c764378a1f24 (157 revisions)
a400e76d0 Vulkan: Don't expose MSRTT without VK_KHR_depth_stencil_resolve
9f74ec615 Skip angle_end2end_tests failing on Linux AMD RX 5500 XT
b7d2f4478 Roll Chromium from d09758fa672c to e45e6e1a55ae (153 revisions)
6f1c39b52 Vulkan: Restore color attachment mask-related blend states
95f6e6865 Roll SwiftShader from 87c78ac5eb86 to 433b1bf9bff2 (2 revisions)
a026169c9 Roll Chromium from 0635acc4de22 to d09758fa672c (93 revisions)
0a28c6c61 Capture/Replay: Capture some MultiDrawIndirect parameters
5f53268ce Capture/Replay: Gather Program sources directly from call
a92036893 Roll Chromium from 52c4c43d687f to 0635acc4de22 (149 revisions)
fce481863 Roll SwiftShader from f354daff5a2b to 87c78ac5eb86 (2 revisions)
6c9b79ead Roll Chromium from 16dc16f9ec67 to 52c4c43d687f (244 revisions)
4d893a935 Re-land: "Trace Tests: Remove auto-generated code."
542f7d808 Vulkan: Copy buffer data to correct cube map face
582651bee Roll vulkan-deps from fbeca8f4ea6a to c32df39c11ce (3 revisions)
5e0d97877 Roll Chromium from 274ab850e849 to 16dc16f9ec67 (303 revisions)
2ebd583ed Android: Remove setenv from common path
14af7a8da Log subprocess output in run_perf_tests.py
2f3e6cc07 Vulkan: Remove mShadowBuffer from BufferVk class.
7dfa69e69 Unskip MRTSigned and MRTUnsigned BlendIntegerTest
993f38896 Roll Chromium from 9ca41364d3dc to 274ab850e849 (341 revisions)
0e9353f60 Skip RenderbufferDrawStencilThenUnresolveStencil on Linux Vulkan AMD
bc9d2d7de Vulkan: Consolidate BufferHelper's code paths into one
4114fe23c Vulkan: Simplify transform feedback emulation logic
32d9e186d Roll vulkan-deps from 5568048d205e to fbeca8f4ea6a (4 revisions)
ab288fea5 Upgrade restricted traces. (Re-land)
c1f478fe0 Frame Capture: Allow for no FBO when running MEC.
eba2e620f Capture/Replay: Fix uniform program indexing.
73e764dc6 Suppress capture/replay tests.
1da7e3afb Revert "Metal: Fix Webkit warnings in ANGLE build"
bdaa046fe Roll Chromium from 81decb7250e1 to 9ca41364d3dc (272 revisions)
a7e0d520f Temporarily skip failing tests on Chromium
171bc07e2 Don't silently drop out-of-range bits in BitSetT
eca427b28 Vulkan: Add mutex to protect mVirtualBlock
c1598640b Vulkan: Improve mid-RP clear warning message
4a03668d7 Address comment in CL 3347143
cf8ac00a5 Vulkan: Fix MSRTT w.r.t stencil-only unresolve
c07df6fe8 Disable vulkan device select layer for msan build

1:49 PM Changeset in webkit [294573] by Devin Rousso
  • 12 edits in trunk

[Modern Media Controls] macCatalyst should not use touch events
https://bugs.webkit.org/show_bug.cgi?id=240704
<rdar://problem/84570717>

Reviewed by Eric Carlson.

  • Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js:

(LayoutTraits.prototype.supportsTouches): Added.

  • Source/WebCore/Modules/modern-media-controls/controls/macos-layout-traits.js:

(MacOSLayoutTraits.prototype.supportsTouches): Added.
Allow LayoutTraits to indicate whether touches are supported.

  • Source/WebCore/Modules/modern-media-controls/controls/auto-hide-controller.js:

(AutoHideController):

  • Source/WebCore/Modules/modern-media-controls/controls/button.js:

(Button):

  • Source/WebCore/Modules/modern-media-controls/controls/range-button.js:

(RangeButton):

  • Source/WebCore/Modules/modern-media-controls/controls/slider.js:

(Slider.prototype._interactionEndTarget):

  • Source/WebCore/Modules/modern-media-controls/media/media-document-controller.js:

(MediaDocumentController):
Use LayoutTraits.prototype.supportsTouches instead of GestureRecognizer.SupportsTouches so that
macOS (including macCatalyst) can always act as though touches are not supported (which is fine
since mouse events are fully functional on macOS).

  • LayoutTests/media/modern-media-controls/button/button-icon-name.html:
  • LayoutTests/media/modern-media-controls/button/button.html:
  • LayoutTests/media/modern-media-controls/buttons-container/buttons-container-buttons-property.html:
  • LayoutTests/media/modern-media-controls/buttons-container/buttons-container-constructor.html:
  • LayoutTests/media/modern-media-controls/buttons-container/buttons-container-layout.html:

Add layoutDelegate/layoutTraits where needed.

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

1:43 PM Changeset in webkit [294572] by Simon Fraser
  • 5 edits in trunk/Source/WebCore/platform/graphics/displaylists

Change display list item logging to respect logging options
https://bugs.webkit.org/show_bug.cgi?id=240527

Reviewed by Myles Maxfield.

Split off from the patch in bug 240422.

We need to log display list items through a function that can take the flags
argument to avoid logging unstable resource identifiers in layout tests, so
implement dumpItem() for each item type, and respect the IncludesResourceIdentifiers
flag.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::asText const):
(WebCore::DisplayList::DisplayList::dump const):

  • platform/graphics/displaylists/DisplayList.h:
  • platform/graphics/displaylists/DisplayListItemType.h:
  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::dumpItem):
(WebCore::DisplayList::dumpItemHandle):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::operator<<):

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

1:21 PM Changeset in webkit [294571] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

PROGRESSION (r294272): Correction to guard in Platform file caused multiple tests failures
https://bugs.webkit.org/show_bug.cgi?id=240579
<rdar://93504716>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

1:14 PM Changeset in webkit [294570] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.10.1

Tag WebKit-7614.1.14.10.1.

1:12 PM Changeset in webkit [294569] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.10-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

1:08 PM Changeset in webkit [294568] by Ross Kirsling
  • 2 edits in trunk/Tools/Scripts

test262-runner should have basic Windows compatibility
https://bugs.webkit.org/show_bug.cgi?id=240698

Reviewed by Mark Lam.

test262-runner currently has a slew of incompabilities on Windows;
this patch rectifies enough of them to achieve basic usability.

In particular:

  • When use of a module triggers a fork() call, a crash occurs on Windows. Avoid by calling Runner::main() from outside.
  • This is a WebKit-specific file; use webkitdirs.pm without hesitation and determine jsc binary path using jscPath().
  • Don't use DYLD_FRAMEWORK_PATH= prefix on Windows.
  • Remove erroneous quotes from system call.
  • Use File::Copy::copy instead of cp.
  • abs_path() of a not-yet-created file is invalid on Windows. But it's also completely unnecessary, as $resultsDir is absolute.
  • Manually flush progress meter on Windows (since \r without \n will never be flushed automatically).

Remaining limitation:

  • If --child-processes value is too high, the runner will hang. Workaround is to provide a lower number.
  • Tools/Scripts/test262-runner:
  • Tools/Scripts/test262/Runner.pm:

(processCLI):
(main):
(getBuildPath):
(runTest):
(summarizeResults):
(printHTMLResults):

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

1:06 PM Changeset in webkit [294567] by Alan Coon
  • 15 edits in branches/safari-7614.1.14.0-branch/Source

Cherry-pick r294536. rdar://problem/91660159

Drawing the PDF snapshot should take place in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=240368
rdar://91660159

Reviewed by Simon Fraser.

The ImageBufferBackends should act like a drawing surface only. It has
a GraphicsContext. It can get and set pixels. And it can get a NativeImage
out of the pixels. But it should never draw itself to a GraphicsContext.
The ImageBuffer can act like an image. It can draw itself as an image or
as a pattern into a GraphicsContext.

So draw(), drawPattern() and drawConsuming() will be removed from the
ImageBufferBackend super classes and the implementation will be unified
for all platforms and moved to ConcreteImageBuffer.

By doing that, a canvas can be drawn to the PDF context in WebProcess
even if the GPUProcess for DOM rendering is enabled.

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

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

1:06 PM Changeset in webkit [294566] by Alan Coon
  • 1 edit
    4 adds in branches/safari-7614.1.14.0-branch

Cherry-pick r294530. rdar://problem/92984518

REGRESSION (r293126): Gmail formatting menu/panel in compose view becomes blank/empty while scrolling
https://bugs.webkit.org/show_bug.cgi?id=240625
<rdar://92984518>

Reviewed by Alan Bujtas.

Gmail uses the css clip property with negative offsets, which is surprising, and revealed a bug in
the compositing code for clipping.

When a stacking-context layer has overflow:hidden or clip:, we assume that the clip encloses all the
descendants, so make a GraphicsLayer with masksToBounds as a parent of the child layers. When the
layer has border-radius with uneven corners, we implement that with a shape layer which acts as a
mask on that clipping GraphicsLayer.

The content in question had CSS clip with negative offsets and border-radius, so the shape layer
mask would clip out any content outside the border shape.

So if the clip rect extends beyond the border, we need to follow a different code path, which pushes
the clipping layers onto descendants; this code path is used for non-stacking context clipping, and
for mix-blend-mode which needs to avoid the creation of the intermediate clipping layer.

So generalize the isolatesCompositedBlending() code path to also be used in the scenario of CSS
clip which extends outside the border box.

Tests: compositing/clipping/css-clip-and-border-radius.html

compositing/clipping/css-clip-non-stacking.html

  • Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::canUseDescendantClippingLayer): (WebCore::RenderLayerCompositor::clippedByAncestor const): (WebCore::RenderLayerCompositor::computeAncestorClippingStack const): (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
  • LayoutTests/compositing/clipping/css-clip-and-border-radius-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-and-border-radius.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking.html: Added.

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

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

12:34 PM Changeset in webkit [294565] by Tyler Wilcock
  • 3 edits in trunk

AX: Update the isolated tree when aria-selected changes
https://bugs.webkit.org/show_bug.cgi?id=240703

Reviewed by Chris Fleizach.

Fixes accessibility/selected-state-changed-notifications.html in
isolated tree mode.

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::updateIsolatedTree):

  • Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::updateNodeProperty):

  • LayoutTests/accessibility/selected-state-changed-notifications.html:

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

12:01 PM Changeset in webkit [294564] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[ iOS ] accessibility/aria-modal-with-text-crash.html is a consistent failure
https://bugs.webkit.org/show_bug.cgi?id=240722
<rdar://93669155>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

11:33 AM Changeset in webkit [294563] by mark.lam@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/b3/B3ReduceStrength.cpp

Refine B3ReduceStrength's range for sign extension operations.
https://bugs.webkit.org/show_bug.cgi?id=240720
<rdar://problem/93536782>

Reviewed by Yusuke Suzuki and Keith Miller.

  • Source/JavaScriptCore/b3/B3ReduceStrength.cpp:

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

11:18 AM Changeset in webkit [294562] by sihui_liu@apple.com
  • 5 edits in trunk/Source/WebKit/NetworkProcess

Clear SessionStorage of a page when the page is destroyed
https://bugs.webkit.org/show_bug.cgi?id=240683

Reviewed by Chris Dumez.

We should not keep SessionStorage items in memory when they will not be accessed any more.

  • Source/WebKit/NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::removeWebPageNetworkParameters):

  • Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:

(WebKit::NetworkStorageManager::clearStorageForWebPage):

  • Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
  • Source/WebKit/NetworkProcess/storage/SessionStorageManager.cpp:

(WebKit::SessionStorageManager::removeNamespace):

  • Source/WebKit/NetworkProcess/storage/SessionStorageManager.h:

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

11:15 AM Changeset in webkit [294561] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.10-branch/Source

Versioning.

WebKit-7614.1.14.10.1

10:46 AM Changeset in webkit [294560] by Alan Coon
  • 1 copy in branches/safari-7614.1.14.10-branch

New branch.

10:33 AM Changeset in webkit [294559] by Tyler Wilcock
  • 2 edits in trunk/LayoutTests/accessibility/mac

Make accessibility/mac/aria-modal-auto-focus.html async so it can pass in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=240676

Reviewed by Chris Fleizach.

  • LayoutTests/accessibility/mac/aria-modal-auto-focus-expected.txt:
  • LayoutTests/accessibility/mac/aria-modal-auto-focus.html:

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

10:26 AM Changeset in webkit [294558] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.0-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:22 AM Changeset in webkit [294557] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.8

10:20 AM Changeset in webkit [294556] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.3-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:15 AM Changeset in webkit [294555] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.3-branch/Source

Versioning.

WebKit-7614.1.14.3.3

10:15 AM Changeset in webkit [294554] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.1-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:14 AM Changeset in webkit [294553] by Alan Coon
  • 3 edits in branches/safari-7614.1.14.2-branch/Source/ThirdParty/ANGLE/Configurations

Cherry-pick r294525. rdar://problem/93580049

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

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

10:13 AM Changeset in webkit [294552] by Tyler Wilcock
  • 1 edit in trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

WebAccessibilityObjectWrapperMac::detachIsolatedObject should not unregister the wrapper for AccessibilityDetachmentType::ElementChanged detachments
https://bugs.webkit.org/show_bug.cgi?id=240628

Reviewed by Chris Fleizach.

Prior to this change, WebAccessibilityObjectWrapperMac::detachIsolatedObject unconditionally
called NSAccessibilityUnregisterUniqueIdForUIElement. This is the wrong
behavior for AccessibilityDetachmentType::ElementChanged detachments, as
this unregistering causes an element destroyed notification to be issued.

This type of detachment happens when we swap the underlying isolated
object for a wrapper as the result of a call to AXIsolatedTree::updateNode.

This unregistering caused VoiceOver focus flickering when modifying
sliders or textboxes, greatly hampering user experience.

No test included because there isn't a great way to test this.

  • Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper detachIsolatedObject:]):

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

10:09 AM Changeset in webkit [294551] by Jenner@apple.com
  • 1 move in trunk/LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt

[ REBASELINE ][ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=231266

Unreviewed test gardening. Correct rebase for iOS.

  • LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt: Renamed from LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-rotation-expected.txt.

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

10:07 AM Changeset in webkit [294550] by Karl Rackler
  • 36 edits
    4 deletes in trunk

Revert "Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged"

This reverts commit 0a91c415adf4e01ff05b2e98934802790e57f276.

Unreviewed revert

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

10:07 AM Changeset in webkit [294549] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.2-branch/Source

Versioning.

WebKit-7614.1.14.2.3

10:06 AM Changeset in webkit [294548] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.8

10:00 AM Changeset in webkit [294547] by Tyler Wilcock
  • 3 edits in trunk/Tools/WebKitTestRunner

After commit 039ebd9, some tests run with ITM disabled despite --accessibility-isolated-tree flag being passed
https://bugs.webkit.org/show_bug.cgi?id=240627

Reviewed by Chris Fleizach.

https://github.com/WebKit/WebKit/commit/039ebd9 changed TestController::resetStateToConsistentValues to only send the "Reset" message to the testing InjectedBundle after a test completed, rather than before and after each test. This is a good and logical change, but exposed a bug in how we set InjectedBundle::m_accessibilityIsolatedTree, since we relied on this "Reset" behavior to setup this member variable.

With this patch, we instead set InjectedBundle::m_accessibilityIsolatedTree in response to the "BeginTest" message, which fixes the issue.

  • Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessageToPage):

  • Tools/WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

  • Tools/WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::createTestSettingsDictionary):

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

9:35 AM Changeset in webkit [294546] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[Gardening]REGRESSION (r294317): [ iOS ] Thirteen layout tests are flaky or consistent timeouts
https://bugs.webkit.org/show_bug.cgi?id=240616
<rdar://93541706>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

8:55 AM Changeset in webkit [294545] by Jonathan Bedard
  • 3 edits in trunk/Tools/CISupport/ews-build

[EWS] Remove ChangeLog steps
https://bugs.webkit.org/show_bug.cgi?id=240542
<rdar://problem/93456184>

Reviewed by Aakash Jain.

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

(ValidateCommitterAndReviewer.start):
(SetBuildSummary.start):
(ValidateChangeLogAndReviewer): Deleted.
(FindModifiedChangeLogs): Deleted.
(CreateLocalGITCommit): Deleted.

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

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

8:28 AM Changeset in webkit [294544] by Jonathan Bedard
  • 177 deletes in trunk

Eliminate changelogs
https://bugs.webkit.org/show_bug.cgi?id=239125
<rdar://91959187>

Reviewed by Michael Catanzaro and Aakash J.

Let the past die. Kill it, if you have to.

  • ChangeLog-2012-05-22: Removed.
  • ChangeLog-2018-01-01: Removed.
  • JSTests/ChangeLog-2018-09-11: Removed.
  • JSTests/ChangeLog-2021-03-18: Removed.
  • LayoutTests/ChangeLog-2007-10-14: Removed.
  • LayoutTests/ChangeLog-2008-08-10: Removed.
  • LayoutTests/ChangeLog-2009-06-16: Removed.
  • LayoutTests/ChangeLog-2010-01-29: Removed.
  • LayoutTests/ChangeLog-2010-05-24: Removed.
  • LayoutTests/ChangeLog-2010-12-06: Removed.
  • LayoutTests/ChangeLog-2011-02-16: Removed.
  • LayoutTests/ChangeLog-2011-06-04: Removed.
  • LayoutTests/ChangeLog-2012-04-23: Removed.
  • LayoutTests/ChangeLog-2012-05-22: Removed.
  • LayoutTests/ChangeLog-2012-10-02: Removed.
  • LayoutTests/ChangeLog-2013-04-24: Removed.
  • LayoutTests/ChangeLog-2013-10-13: Removed.
  • LayoutTests/ChangeLog-2014-02-20: Removed.
  • LayoutTests/ChangeLog-2014-10-07: Removed.
  • LayoutTests/ChangeLog-2015-11-21: Removed.
  • LayoutTests/ChangeLog-2016-09-26: Removed.
  • LayoutTests/ChangeLog-2017-03-23: Removed.
  • LayoutTests/ChangeLog-2018-01-01: Removed.
  • LayoutTests/ChangeLog-2018-09-11: Removed.
  • LayoutTests/ChangeLog-2019-06-05: Removed.
  • LayoutTests/ChangeLog-2020-04-10: Removed.
  • LayoutTests/ChangeLog-2021-03-18: Removed.
  • LayoutTests/ChangeLog-2022-02-22: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2016-09-26: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2018-01-01: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2018-09-11: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2020-04-10: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2021-03-18: Removed.
  • LayoutTests/imported/w3c/ChangeLog-2022-02-22: Removed.
  • PerformanceTests/ChangeLog-2018-01-01: Removed.
  • Source/JavaScriptCore/ChangeLog-2002-12-03: Removed.
  • Source/JavaScriptCore/ChangeLog-2003-10-25: Removed.
  • Source/JavaScriptCore/ChangeLog-2007-10-14: Removed.
  • Source/JavaScriptCore/ChangeLog-2008-08-10: Removed.
  • Source/JavaScriptCore/ChangeLog-2009-06-16: Removed.
  • Source/JavaScriptCore/ChangeLog-2010-05-24: Removed.
  • Source/JavaScriptCore/ChangeLog-2011-02-16: Removed.
  • Source/JavaScriptCore/ChangeLog-2012-05-22: Removed.
  • Source/JavaScriptCore/ChangeLog-2012-10-02: Removed.
  • Source/JavaScriptCore/ChangeLog-2013-04-24: Removed.
  • Source/JavaScriptCore/ChangeLog-2013-10-13: Removed.
  • Source/JavaScriptCore/ChangeLog-2014-02-20: Removed.
  • Source/JavaScriptCore/ChangeLog-2014-10-07: Removed.
  • Source/JavaScriptCore/ChangeLog-2015-11-21: Removed.
  • Source/JavaScriptCore/ChangeLog-2016-09-26: Removed.
  • Source/JavaScriptCore/ChangeLog-2017-03-23: Removed.
  • Source/JavaScriptCore/ChangeLog-2018-01-01: Removed.
  • Source/JavaScriptCore/ChangeLog-2018-09-11: Removed.
  • Source/JavaScriptCore/ChangeLog-2019-06-05: Removed.
  • Source/JavaScriptCore/ChangeLog-2020-04-10: Removed.
  • Source/JavaScriptCore/ChangeLog-2021-03-18: Removed.
  • Source/JavaScriptCore/ChangeLog-2022-02-22: Removed.
  • Source/ThirdParty/ANGLE/ChangeLog-2022-02-22: Removed.
  • Source/WTF/ChangeLog-2013-10-13: Removed.
  • Source/WTF/ChangeLog-2016-09-26: Removed.
  • Source/WTF/ChangeLog-2018-09-11: Removed.
  • Source/WTF/ChangeLog-2021-03-18: Removed.
  • Source/WebCore/ChangeLog-2002-12-03: Removed.
  • Source/WebCore/ChangeLog-2003-10-25: Removed.
  • Source/WebCore/ChangeLog-2005-08-23: Removed.
  • Source/WebCore/ChangeLog-2005-12-19: Removed.
  • Source/WebCore/ChangeLog-2006-05-10: Removed.
  • Source/WebCore/ChangeLog-2006-12-31: Removed.
  • Source/WebCore/ChangeLog-2007-10-14: Removed.
  • Source/WebCore/ChangeLog-2008-08-10: Removed.
  • Source/WebCore/ChangeLog-2009-06-16: Removed.
  • Source/WebCore/ChangeLog-2010-01-29: Removed.
  • Source/WebCore/ChangeLog-2010-05-24: Removed.
  • Source/WebCore/ChangeLog-2010-12-06: Removed.
  • Source/WebCore/ChangeLog-2011-02-16: Removed.
  • Source/WebCore/ChangeLog-2011-06-04: Removed.
  • Source/WebCore/ChangeLog-2011-10-19: Removed.
  • Source/WebCore/ChangeLog-2012-05-22: Removed.
  • Source/WebCore/ChangeLog-2012-10-02: Removed.
  • Source/WebCore/ChangeLog-2013-04-24: Removed.
  • Source/WebCore/ChangeLog-2013-10-13: Removed.
  • Source/WebCore/ChangeLog-2014-02-20: Removed.
  • Source/WebCore/ChangeLog-2014-10-07: Removed.
  • Source/WebCore/ChangeLog-2015-11-21: Removed.
  • Source/WebCore/ChangeLog-2016-09-26: Removed.
  • Source/WebCore/ChangeLog-2017-03-23: Removed.
  • Source/WebCore/ChangeLog-2018-01-01: Removed.
  • Source/WebCore/ChangeLog-2018-09-11: Removed.
  • Source/WebCore/ChangeLog-2019-06-05: Removed.
  • Source/WebCore/ChangeLog-2020-04-10: Removed.
  • Source/WebCore/ChangeLog-2021-03-18: Removed.
  • Source/WebCore/ChangeLog-2022-02-22: Removed.
  • Source/WebInspectorUI/ChangeLog-2013-06-11: Removed.
  • Source/WebInspectorUI/ChangeLog-2014-11-19: Removed.
  • Source/WebInspectorUI/ChangeLog-2015-11-21: Removed.
  • Source/WebInspectorUI/ChangeLog-2016-09-26: Removed.
  • Source/WebInspectorUI/ChangeLog-2018-01-01: Removed.
  • Source/WebInspectorUI/ChangeLog-2019-06-05: Removed.
  • Source/WebInspectorUI/ChangeLog-2021-03-18: Removed.
  • Source/WebKit/ChangeLog-2011-02-16: Removed.
  • Source/WebKit/ChangeLog-2011-06-04: Removed.
  • Source/WebKit/ChangeLog-2012-05-22: Removed.
  • Source/WebKit/ChangeLog-2012-10-02: Removed.
  • Source/WebKit/ChangeLog-2013-04-24: Removed.
  • Source/WebKit/ChangeLog-2013-10-13: Removed.
  • Source/WebKit/ChangeLog-2014-02-20: Removed.
  • Source/WebKit/ChangeLog-2014-10-07: Removed.
  • Source/WebKit/ChangeLog-2015-11-21: Removed.
  • Source/WebKit/ChangeLog-2016-09-26: Removed.
  • Source/WebKit/ChangeLog-2017-03-23: Removed.
  • Source/WebKit/ChangeLog-2018-01-01: Removed.
  • Source/WebKit/ChangeLog-2018-09-11: Removed.
  • Source/WebKit/ChangeLog-2019-06-05: Removed.
  • Source/WebKit/ChangeLog-2020-04-10: Removed.
  • Source/WebKit/ChangeLog-2021-03-18: Removed.
  • Source/WebKit/ChangeLog-2022-02-22: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2002-12-03: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2006-02-09: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2007-10-14: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2010-01-29: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2012-10-02: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2015-11-21: Removed.
  • Source/WebKitLegacy/mac/ChangeLog-2019-06-05: Removed.
  • Source/WebKitLegacy/win/ChangeLog-2009-06-16: Removed.
  • Source/WebKitLegacy/win/ChangeLog-2015-11-21: Removed.
  • Source/bmalloc/ChangeLog-2022-02-22: Removed.
  • Tools/ChangeLog-2009-06-16: Removed.
  • Tools/ChangeLog-2010-05-24: Removed.
  • Tools/ChangeLog-2011-02-16: Removed.
  • Tools/ChangeLog-2012-05-22: Removed.
  • Tools/ChangeLog-2012-10-02: Removed.
  • Tools/ChangeLog-2013-04-24: Removed.
  • Tools/ChangeLog-2014-02-20: Removed.
  • Tools/ChangeLog-2015-11-21: Removed.
  • Tools/ChangeLog-2017-03-23: Removed.
  • Tools/ChangeLog-2018-01-01: Removed.
  • Tools/ChangeLog-2018-09-11: Removed.
  • Tools/ChangeLog-2019-06-05: Removed.
  • Tools/ChangeLog-2020-04-10: Removed.
  • Tools/ChangeLog-2021-03-18: Removed.
  • Tools/ChangeLog-2022-02-22: Removed.
  • Websites/perf.webkit.org/ChangeLog-2018-01-01: Removed.

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

8:00 AM Changeset in webkit [294543] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/UIProcess/API/glib/WebKitDeviceInfoPermissionRequest.cpp

[GLib] Fix typo in WebKitUserMediaPermissionRequest description
https://bugs.webkit.org/show_bug.cgi?id=240708

Patch by Olivier Blin <Olivier Blin> on 2022-05-20
Reviewed by Adrian Perez de Castro.

Mention enumerateDevices instead of enumeraceDevices.
Introduced in r237031.

  • Source/WebKit/UIProcess/API/glib/WebKitDeviceInfoPermissionRequest.cpp:

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

5:58 AM Changeset in webkit [294542] by yurys@chromium.org
  • 2 edits in trunk/Tools/Scripts/webkitpy/style/checkers

check-webkit-style: more strict upper case enum exceptions
https://bugs.webkit.org/show_bug.cgi?id=240681

Reviewed by Darin Adler.

Added a new list of common abbreviations which are allowed to be
used as all uppercase enum values.

  • Tools/Scripts/webkitpy/style/checkers/cpp.py:

(_EnumState.process_clean_line):
(_EnumState.process_clean_line.is_case_error): Extracted common
logic for inline and multiline enum declarations.
(_EnumState):

  • Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py:

(NoNonVirtualDestructorsTest):

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

5:02 AM Changeset in webkit [294541] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebKit/PlatformWPE.cmake

REGRESSION(r294504) [WPE] Fix build after PDF.js changes
https://bugs.webkit.org/show_bug.cgi?id=240711

Patch by Olivier Blin <Olivier Blin> on 2022-05-20
Reviewed by Adrian Perez de Castro.

  • Source/WebKit/PlatformWPE.cmake: do not use GTK-specific variables.

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

2:25 AM Changeset in webkit [294540] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp

[GStreamer] Block legacy VAAPI plugin
https://bugs.webkit.org/show_bug.cgi?id=240664

Patch by Philippe Normand <philn@igalia.com> on 2022-05-20
Reviewed by Xabier Rodriguez-Calvar.

The VAAPI plugin is not much maintained anymore and prone to rendering issues. In the
mid-term we will leverage the new stateless VA decoders. Disable the legacy plugin,
unless the WEBKIT_GST_ENABLE_LEGACY_VAAPI environment variable is set to 1.

  • Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::registerWebKitGStreamerElements):

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

2:16 AM Changeset in webkit [294539] by ysuzuki@apple.com
  • 1 edit in trunk/Source/WTF/wtf/win/ThreadingWin.cpp

[Win] Destroy Thread::ClientData only when thread TLS is initialized
https://bugs.webkit.org/show_bug.cgi?id=240707

Reviewed by Mark Lam.

Move destruction under if (thread) check.

  • Source/WTF/wtf/win/ThreadingWin.cpp:

(WTF::Thread::ThreadHolder::~ThreadHolder):

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

2:16 AM Changeset in webkit [294538] by Adrian Perez de Castro
  • 1 edit in trunk/Source/WebCore/rendering/svg/RenderSVGBlock.cpp

Non-unified build fixes, late-ish May 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=240710

Unreviewed build fix

  • Source/WebCore/rendering/svg/RenderSVGBlock.cpp: Add missing RenderView.h inclusion.

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

1:47 AM Changeset in webkit [294537] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore/platform/graphics/gstreamer

REGRESSION(r288092): Deadlock when the playback is stopping just right after startup
https://bugs.webkit.org/show_bug.cgi?id=240661

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2022-05-20
Reviewed by Philippe Normand.

r288092 causes a deadlock with the "28. ChangeType.H264.VP9" test in "https://ytlr-cert.appspot.com/2020/main.html".

The background thread locks the GStPad and sends a notify::caps signal which is caught by
VideoTrackPrivateGStreamer that calls callOnMainThreadAndWait.

At the same time the main thread destroys MediaPlayerPrivateGStreamer and sets the pipeline to NULL
that calls "gst_pad_set_active" which wants to lock the GStPad.

This commit uses AbortableTaskQueue and calls enqueueTask instead of callOnMainThreadAndWait
in order to be able to abort the waiting job and avoid using the "AndWait" variant, consequently
we avoid the deadlock.

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:

(WebCore::AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer):
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromTags):
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::disconnect):

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:

(WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer):
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromTags):
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::disconnect):

  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:

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

12:17 AM Changeset in webkit [294536] by Said Abou-Hallawa
  • 15 edits in trunk/Source

Drawing the PDF snapshot should take place in WebProcess
https://bugs.webkit.org/show_bug.cgi?id=240368
rdar://91660159

Reviewed by Simon Fraser.

The ImageBufferBackends should act like a drawing surface only. It has
a GraphicsContext. It can get and set pixels. And it can get a NativeImage
out of the pixels. But it should never draw itself to a GraphicsContext.
The ImageBuffer can act like an image. It can draw itself as an image or
as a pattern into a GraphicsContext.

So draw(), drawPattern() and drawConsuming() will be removed from the
ImageBufferBackend super classes and the implementation will be unified
for all platforms and moved to ConcreteImageBuffer.

By doing that, a canvas can be drawn to the PDF context in WebProcess
even if the GPUProcess for DOM rendering is enabled.

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

12:14 AM Changeset in webkit [294535] by Diego Pino Garcia
  • 2 edits in trunk/Tools/Scripts/libraries

[git-webkit] Question 'Are you sure want to setup a fork?' always returns 'Yes'

Reviewed by Jonathan Bedard.

When the response of the user is an empty string, function 'Terminal.choose'
always returns the first option.

The reason for that is a 'startswith' comparison of an option with an empty
string. This comparison is always true, thus the first option is selected
instead of the default option.

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

May 19, 2022:

11:51 PM Changeset in webkit [294534] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore/css

CSSMotionPathEnabled setting does not prevent parsing of CSS Motion Path properties
https://bugs.webkit.org/show_bug.cgi?id=240594
<rdar://93522039>

Patch by Antoine Quint <Antoine Quint> on 2022-05-19
Reviewed by Antti Koivisto.

  • Source/WebCore/css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • Source/WebCore/css/CSSProperties.json:
  • Source/WebCore/css/parser/CSSParserContext.cpp:

(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):

  • Source/WebCore/css/parser/CSSParserContext.h:
  • Source/WebCore/css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):

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

11:39 PM Changeset in webkit [294533] by ntim@apple.com
  • 1 edit in trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp

Add revert-layer to isUniversalKeyword
https://bugs.webkit.org/show_bug.cgi?id=234674

Reviewed by Antti Koivisto.

  • Source/WebCore/css/parser/CSSParserFastPaths.cpp:

(WebCore::isUniversalKeyword):

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

11:19 PM Changeset in webkit [294532] by commit-queue@webkit.org
  • 2 edits in trunk/Tools/Scripts

Tests with an '-e' parameters in requireOptions fail with bytecode cache enabled
https://bugs.webkit.org/show_bug.cgi?id=218703

Patch by Xan López <Xan Lopez> on 2022-05-19
Reviewed by Yusuke Suzuki.

Do not try to further tokenize the command parameters to the test run
in the bytecode cache helper script. This will just mess up things
like the '-e "foo bar"' extra options, and it's not needed.

  • Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh: do not tokenize the arguments to the script.
  • Scripts/run-jsc-stress-tests: also run the bytecode cache tests on MIPS.

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

10:49 PM Changeset in webkit [294531] by Simon Fraser
  • 3 edits in trunk/Source

ASSERT(status == U_ZERO_ERROR) under SearchBuffer::search() when typing in the url bar in the iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=240699
<rdar://92182174>

Reviewed by Tim Horton.

Replace status == U_ZERO_ERROR tests with U_SUCCESS(status).

  • Source/WebCore/PAL/pal/text/TextCodecICU.cpp:

(PAL::ErrorCallbackSetter::ErrorCallbackSetter):
(PAL::ErrorCallbackSetter::~ErrorCallbackSetter):

  • Source/WebKit/UIProcess/Cocoa/ModalContainerControlClassifier.mm:

(WebKit::SpoofChecker::checker):

  • Source/WebCore/editing/TextIterator.cpp:

(WebCore::createSearcher):
(WebCore::SearchBuffer::SearchBuffer):
(WebCore::SearchBuffer::~SearchBuffer):
(WebCore::SearchBuffer::search):

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

10:27 PM Changeset in webkit [294530] by Simon Fraser
  • 1 edit
    4 adds in trunk

REGRESSION (r293126): Gmail formatting menu/panel in compose view becomes blank/empty while scrolling
https://bugs.webkit.org/show_bug.cgi?id=240625
<rdar://92984518>

Reviewed by Alan Bujtas.

Gmail uses the css clip property with negative offsets, which is surprising, and revealed a bug in
the compositing code for clipping.

When a stacking-context layer has overflow:hidden or clip:, we assume that the clip encloses all the
descendants, so make a GraphicsLayer with masksToBounds as a parent of the child layers. When the
layer has border-radius with uneven corners, we implement that with a shape layer which acts as a
mask on that clipping GraphicsLayer.

The content in question had CSS clip with negative offsets and border-radius, so the shape layer
mask would clip out any content outside the border shape.

So if the clip rect extends beyond the border, we need to follow a different code path, which pushes
the clipping layers onto descendants; this code path is used for non-stacking context clipping, and
for mix-blend-mode which needs to avoid the creation of the intermediate clipping layer.

So generalize the isolatesCompositedBlending() code path to also be used in the scenario of CSS
clip which extends outside the border box.

Tests: compositing/clipping/css-clip-and-border-radius.html

compositing/clipping/css-clip-non-stacking.html

  • Source/WebCore/rendering/RenderLayerCompositor.cpp:

(WebCore::canUseDescendantClippingLayer):
(WebCore::RenderLayerCompositor::clippedByAncestor const):
(WebCore::RenderLayerCompositor::computeAncestorClippingStack const):
(WebCore::RenderLayerCompositor::clipsCompositingDescendants):

  • LayoutTests/compositing/clipping/css-clip-and-border-radius-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-and-border-radius.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking-expected.html: Added.
  • LayoutTests/compositing/clipping/css-clip-non-stacking.html: Added.

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

9:52 PM Changeset in webkit [294529] by Jenner@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests/platform/ios-wk2

[ Gardening ]REBASELINE [ iOS ] fast/events/ios/rotation/layout-viewport-during-safari-type-rotation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=231266

Unreviewed test gardening. Rebaseline for iOS.

  • LayoutTests/platform/ios-wk2/TestExpectations:
  • LayoutTests/platform/ios-wk2/fast/events/ios/rotation/layout-viewport-during-rotation-expected.txt: Added.

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

9:03 PM Changeset in webkit [294528] by Diego Pino Garcia
  • 1 edit in trunk/Source/WebCore/rendering/PathOperation.h

Unreviewed, non-unified build fixes after 250776@main

8:46 PM Changeset in webkit [294527] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Remove unused memory capacity output value in calculateURLCacheSizes
https://bugs.webkit.org/show_bug.cgi?id=240577

Patch by Olivier Blin <Olivier Blin> on 2022-05-19
Reviewed by Darin Adler.

Source/WebKit:

calculateURLCacheSizes() had a urlCacheMemoryCapacity output value
since its creation in r203857, which was passed to platformSetURLCacheSize().

But the implementation has been removed for the soup platform in
r205556 when switching to the WebKit network cache, and for the Cocoa
platform in r232201 when dropping NSURLCache support.

urlCacheMemoryCapacity is now unused.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::computeCapacity):

  • Shared/CacheModel.cpp:

(WebKit::calculateURLCacheSizes):

  • Shared/CacheModel.h:

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

8:38 PM Changeset in webkit [294526] by Darin Adler
  • 48 edits
    3 deletes in trunk/Source

Remove a first bit of unused plug-in code
https://bugs.webkit.org/show_bug.cgi?id=240309

Reviewed by Chris Dumez.

  • Source/WebKit/Sources.txt: Removed Plugin.cpp.

Removed unneeded @no-unify for PluginView.cpp and WebPluginInfoProvider.cpp.

  • Source/WebKit/UIProcess/WebProcessProxy.cpp: Removed unneeded include

of PDFPlugin.h.

  • Source/WebKit/WebKit.xcodeproj/project.pbxproj: Removed Plugin.cpp,

Plugin.h, and PluginController.h, and turned off non-unified building
for PluginView.cpp and WebPluginInfoProvider.cpp.

  • Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameHandlesPageScaleGesture): Deprecate, and always return false.

  • Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.mm:

(WKBundlePageGetPDFDocumentInFrame): Moved code inside #if ENABLE(PDFKIT_PLUGIN)
and also removed some unneeded local variables and includes.

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h: Updated includes,

removing uneeeded ones, and adding others that previously were inherited
from Plugin.h. Similarly, added and removed forward declarations.
Changed the class to inherit from ThreadSafeRefCounted directly, eliminating
the Plugin base class. Removed the unneeded WebFrame argument from the create
function. Moved functions here from Plugin. Made handlesPageScalFactor,
convertFromPDFViewToRootView frameForHUD, and ensureDataBufferLength private.
Made isFullFramePlugin public. Added deviceScaleFactor. Made the virtual
function overrides just normal functions. Also tweaked arguments and return
values on some of them so they are the minimum needed to do the job.
Replaced the old weak pointer to the plug-in controller with a weak ponter
to the plug-in view; the two are the same object. Removed the isPDFPlugin
function and the type traits for downcast, since this is no longer derived
from a Plugin base class.

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm: Tweaked includes.

Removed the "requestID" since now loading the main resource of the plug-in
is done without using general purpose "stream-loading" machinery.
(WebKit::PDFPlugin::create): Take fewer arguments.
(WebKit::PDFPlugin::PDFPlugin): Use WebFrame::fromCoreFrame to find the
frame so we don't have to pass it in. No need for null checks, though, because
PluginView does all those. Refactor and tweak a bit.
(WebKit::PDFPlugin::getResourceBytesAtPosition): Get URL from m_view.
(WebKit::PDFPlugin::updateScrollbars): Use m_view.
(WebKit::PDFPlugin::pluginView): Deleted.
(WebKit::PDFPlugin::pluginView const): Deleted.
(WebKit::PDFPlugin::createScrollbar): Use m_view.
(WebKit::PDFPlugin::convertFromScrollbarToContainingView const): Ditto.
(WebKit::PDFPlugin::convertFromContainingViewToScrollbar const): Ditto.
(WebKit::PDFPlugin::handleScroll): Deleted.
(WebKit::PDFPlugin::scrollCornerRect const): Use m_view.
(WebKit::PDFPlugin::scrollableAreaBoundingBox const): Ditto.
(WebKit::PDFPlugin::addArchiveResource): Ditto. Also get URL from m_vie
since we no longer have m_sourceURL.
(WebKit::PDFPlugin::streamDidFinishLoading): Merged with
documentDataDidFinishLoading and manualStreamDidFinishLoading, and removed
the streamID argument since we only use one stream, to load PDF document data.
(WebKit::PDFPlugin::installPDFDocument): Use m_view.
(WebKit::PDFPlugin::streamDidReceiveResponse): Merged with setSuggestedFilename
and manualStreamDidReceiveResponse, and removed the streamID argument.
(WebKit::PDFPlugin::streamDidReceiveData): Merged with manualStreamDidReceiveData,
and removed the streamID argument.
(WebKit::PDFPlugin::streamDidFail): Merged with manualStreamDidFail, and removed
the streamID argument.
(WebKit::PDFPlugin::deviceScaleFactor const): Added. Gets the device scale factor
from the WebCore Page, which is something we have to do twice. The old code used
to go through the controller to do this.
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Use m_view. This change
looks confusing because what the controller called contentsScaleFactor was the
device scale factor from the WebCore::Page. Better to call that deviceScaleFactor.
(WebKit::PDFPlugin::initialize): Deleted. Moved all this code into
PluginView::initializePlugin.
(WebKit::PDFPlugin::setView): Added. Used to initialize.
(WebKit::PDFPlugin::destroy): Merged with destroyPlugin and with Plugin::destroy.
(WebKit::PDFPlugin::snapshot): Use deviceScaleFactor. See note above.
(WebKit::PDFPlugin::pluginLayer): Use CALayer for the return type.
(WebKit::PDFPlugin::geometryDidChange): Use m_view.
(WebKit::PDFPlugin::frameDidFinishLoading): Deleted.
(WebKit::PDFPlugin::frameDidFail): Deleted.
(WebKit::PDFPlugin::didEvaluateJavaScript): Deleted.
(WebKit::PDFPlugin::handleEditingCommand): Removed unused argument, use StringView.
(WebKit::PDFPlugin::isEditingCommandEnabled): Use StringView.
(WebKit::PDFPlugin::isFullFramePlugin const): Use m_view.
(WebKit::PDFPlugin::notifyContentScaleFactorChanged): Ditto.
(WebKit::PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest const): Deleted.
(WebKit::PDFPlugin::openWithNativeApplication): Use isNull.
(WebKit::PDFPlugin::nextMatchForString): Use bool.

  • Source/WebKit/WebProcess/Plugins/Plugin.cpp: Removed.
  • Source/WebKit/WebProcess/Plugins/Plugin.h: Removed.
  • Source/WebKit/WebProcess/Plugins/PluginController.h: Removed.
  • Source/WebKit/WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::URLRequest): Deleted.
(WebKit::PluginView::Stream::create): Remove streamID.
(WebKit::PluginView::Stream::streamID const): Deleted.
(WebKit::PluginView::Stream::Stream): Remove streamID.
(WebKit::PluginView::Stream::start): Use PluginView::frame.
(WebKit::PluginView::Stream::continueLoad): Removed unneeded assertion.
(WebKit::buildHTTPHeaders): Deleted.
(WebKit::lastModifiedDateMS): Deleted.
(WebKit::PluginView::Stream::willSendRequest): Removed call to
streamWillSendRequest.
(WebKit::PluginView::Stream::didReceiveResponse): Removed most of the
arguments to streamDidReceiveResponse.
(WebKit::PluginView::Stream::didReceiveData): Removed the streamID
argument to streamDidReceiveData.
(WebKit::PluginView::Stream::didFail): Removed the arguments to
streamDidFail, and the call to removeStream, since we can do that here.
(WebKit::PluginView::Stream::didFinishLoading): Removed the
streamID argument to stringDidFinishLoading, and the call to removeStream,
since we can do that here.
(WebKit::webPage): Deleted.
(WebKit::PluginView::create): Moved the code to map from element to WebPage
in here, changed the arguments to take all the parameters instead of
a Parameters struct, and moved the call to shouldUsePDFPlugin here
from WebPage::createPlugin.
(WebKit::PluginView::PluginView): Take individual parameters instead of
a Parameters struct. Also update for name changes.
(WebKit::PluginView::~PluginView): Removed most of the code, leaving
only call to cancel the stream and destroy the plug-in.
(WebKit::PluginView::destroyPluginAndReset): Deleted.
(WebKit::PluginView::setLayerHostingMode): Deleted.
(WebKit::PluginView::manualLoadDidReceiveResponse): Removed null check
of m_plugin, and most of the arguments to manualStreamDidReceiveResponse,
calling streamDidReceiveResponse instead.
(WebKit::PluginView::manualLoadDidReceiveData): Removed null check
of m_plugin, and call streamDidReceiveData instead of a separate
manualStreamDidReceiveData.
(WebKit::PluginView::manualLoadDidFinishLoading): Removed null check
of m_plugin, and call streamDidFinishLoading instead of a separate
manualStreamDidFinishLoading.
(WebKit::PluginView::manualLoadDidFail): Removed null check
of m_plugin, handling of specific stream errors, and call streamDidFail
without a specific error instead of a separate manualStreamDidFail.
(WebKit::PluginView::setPageScaleFactor): Removed unused IntPoint argument.
(WebKit::PluginView::handlesPageScaleFactor const): Deleted.
(WebKit::PluginView::requiresUnifiedScaleFactor const): Deleted.
(WebKit::PluginView::activityStateDidChange): Deleted.
(WebKit::PluginView::setDeviceScaleFactor): Removed null check of m_plugin.
(WebKit::PluginView::accessibilityAssociatedPluginParentForElement const):
(WebKit::PluginView::windowAndViewFramesChanged): Deleted.
(WebKit::PluginView::accessibilityAssociatedPluginParentForElement const):
Removed null check of m_plugin.
(WebKit::PluginView::accessibilityObject const): Ditto.
(WebKit::PluginView::initializePlugin): Merged with didInitializePlugin
removed null check of m_plugin, code to call addMediaCanStartListener,
code to call addAudioProducer, call Plugin::setView instead of calling
Plugin::initialize, call loadMainResource if needed, which was previously
done by Plugin::initialize. Removed the calls to windowAndViewFramesChanged
Plugin::setFocus. windowVisibilityChanged, windowFocusChanged, and
wantsWheelEvents. Fixed a bug in handling of non-full-frame plug-ins
in the main frame by only sending
MainFramePluginHandlesPageScaleGestureDidChange when it is full frame.
(WebKit::PluginView::platformLayer const): Removed null check of m_plugin.
(WebKit::PluginView::storageBlockingStateChanged): Deleted.
(WebKit::PluginView::scroll): Ditto.
(WebKit::PluginView::horizontalScrollbar): Ditto.
(WebKit::PluginView::verticalScrollbar): Ditto.
(WebKit::PluginView::wantsWheelEvents): Return true.
(WebKit::PluginView::paint): Removed null check of m_plugin and the
call to Plugin::paint.
(WebKit::PluginView::countFindMatches): Removed null check of m_plugin.
(WebKit::PluginView::findString): Ditto.
(WebKit::PluginView::getSelectionString const): Ditto.
(WebKit::PluginView::createWebEvent const): Deleted. Calling this
eventually resulted in calling Plugin::convertToRootView and would then
hit ASSSERT_NOT_REACHED.
(WebKit::PluginView::handleEvent): Removed the call to createWebEvent.
Updated since m_pluginElement is a Ref instead of RefPtr. Removed the
call to wantsWheelEvents, which is now always true.
(WebKit::PluginView::handleEditingCommand): Removed null check of
m_plugin and stop passing the argument to Plugin::handleEditingCommand.
(WebKit::PluginView::isEditingCommandEnabled): Removed null check of
m_plugin.
(WebKit::PluginView::shouldAllowScripting): Deleted.
(WebKit::PluginView::shouldAllowNavigationFromDrags const): Return true.
(WebKit::PluginView::willDetachRenderer): Removed null check of m_plugin.
(WebKit::PluginView::liveResourceData const): Ditto.
(WebKit::PluginView::performDictionaryLookupAtLocation): Ditto.
(WebKit::PluginView::existingSelectionContainsPoint const): Ditto.
(WebKit::PluginView::viewGeometryDidChange): Ditto.
(WebKit::PluginView::viewVisibilityDidChange): Removed code to calculate
the clip rect and don't pass a clip rect to Plugin::geometryDidChange.
(WebKit::PluginView::clipRectInWindowCoordinates const): Update since
m_pluginElement is a Ref.
(WebKit::PluginView::focusPluginElement): Ditto.
(WebKit::PluginView::pendingResourceRequestTimerFired): Renamed from
pendingURLRequestsTimerFired. Simplified code since we can only have
one pending resource request and we don't want to support JavaScript URLs.
(WebKit::PluginView::performURLRequest): Deleted.
(WebKit::PluginView::performFrameLoadURLRequest): Deleted.
(WebKit::PluginView::performJavaScriptURLRequest): Deleted.
(WebKit::PluginView::addStream): Deleted.
(WebKit::PluginView::removeStream): Deleted.
(WebKit::PluginView::cancelAllStreams): Deleted.
(WebKit::PluginView::redeliverManualStream): Removed error argument
for manualLoadDidFail function.
(WebKit::PluginView::invalidateRect): Removed null check of m_plugin.
(WebKit::PluginView::setFocus): Deleted.
(WebKit::PluginView::mediaCanStart): Deleted.
(WebKit::PluginView::pageMutedStateDidChange): Deleted.
(WebKit::PluginView::loadMainResource): Renamed from loadURL.
Removed all the arguments, since it always loads the same URL in the
same way. Removed most of the code since most arguments are defaults.
(WebKit::PluginView::contentsScaleFactor): Deleted.
(WebKit::PluginView::didFinishLoad): Deleted.
(WebKit::PluginView::didFailLoad): Deleted.
(WebKit::PluginView::shouldCreateTransientPaintingSnapshot const):
Removed null check of m_plugin.
(WebKit::PluginView::isBeingDestroyed const): Moved out of
PluginView.h so it does not have to include PDFPlugin.h.
(WebKit::PluginView::pdfDocumentForPrinting const): Ditto.
(WebKit::PluginView::pdfDocumentSizeForPrinting const): Added.
(WebKit::PluginView::accessibilityHitTest const): Moved out of
PluginView.h so it does not have to include PDFPlugin.h.
(WebKit::PluginView::rectForSelectionInRootView const): Added.
(WebKit::PluginView::contentScaleFactor const): Added.

  • Source/WebKit/WebProcess/Plugins/PluginView.h: Wrapped the

entire file in #if ENABLE(PDFKIT_PLUGIN) since this is no longer
a general purpose plug-in view. Removed many includes and an
obsolete comment about moving this whole class to WebCore.
Changed PluginView to no longer derive from PluginController,
MediaCanStartListener, LoadListener, or MediaProducer.
Removed most arguments to PluginView::create and the constructor,
added in the logic about whether to create a PDF view or not, so
it can now return nullptr. Moved isBeingDestroyed out of the header.
Removed the argument to manualLoadDidFail. Removed activityStateDidChange,
setLayerHostingMode, windowAndViewFramesChanged, initialParameters,
handlesPageScaleFactor, requiresUnifiedScaleFactor, shouldAllowScripting,
performURLRequest, performFrameLoadURLRequest, performJavaScriptURLRequest,
addStream, removeStream, cancelAllStreams, mediaCanStart, mediaState,
pageMutedStateDidChange, contentsScaleFactor, didInitializePlugin,
destroyPluginAndReset, didFinishLoad, didFailLoad, createWebEvent,
m_parameters, m_isWaitingUntilMediaCanStart, m_mainResourceURL,
m_mainResourceContentType, m_shouldUseManualLoader, m_pendingFrameLoads,
m_streams, m_manualStreamError, and m_pluginIsPlayingAudio.
Added pdfDocumentSizeForPrinting, mainResourceURL, lookupTextAtLocation,
rectForSelectionInRootView, contentScaleFactor, and m_stream.
Removed unused origin argument to setPageScaleFactor. Renamed
pendingURLRequestsTimerFired to pendingResourceRequestTimerFired,
m_pendingURLRequests to m_pendingResourceRequest,
m_pendingURLRequestsTimer to m_pendingResourceRequestTimer, and
loadURL to loadMainResource. Changed m_pluginElement and m_plugin
from RefPtr to Ref since neither can be null.

  • Source/WebKit/WebProcess/Plugins/WebPluginInfoProvider.cpp:

Removed most includes.
(WebKit::WebPluginInfoProvider::WebPluginInfoProvider): Deleted.
(WebKit::WebPluginInfoProvider::~WebPluginInfoProvider): Deleted.
(WebKit::pluginInfoVector): Added. Factors out common code.
(WebKit::WebPluginInfoProvider::pluginInfo): Removed everything
except the call to pluginInfoVector.
(WebKit::WebPluginInfoProvider::webVisiblePluginInfo): Ditto.

  • Source/WebKit/WebProcess/Plugins/WebPluginInfoProvider.h:

Removed unnneded include and tweaked coding style a bit.

  • Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp:

Added a missing FrameDestructionObserverInlines.h include.

  • Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print): Call pdfDocumentSizeForPrinting
on the view, not the plug-in. Fixed the #if that was incorrectly
doing PLATFORM(COCOA) when it means ENABLE(PDFKIT_PLUGIN).

  • Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::hasPlugInView const): Added.
(WebKit::WebFrameLoaderClient::setMainDocumentError): Moved
plug-in-specific code inside ENABLE(PDFKIT_PLUGIN).
(WebKit::WebFrameLoaderClient::committedLoad): Call hasPlugInView
and moved plug-in-specific code inside ENABLE(PDFKIT_PLUGIN).
(WebKit::WebFrameLoaderClient::finishedLoading): Ditto.
(WebKit::WebFrameLoaderClient::createPlugin): Ditto. Also pass in
the arguments individually instead of a Parameters struct.
(WebKit::WebFrameLoaderClient::redirectDataToPlugin): Ditto.
(WebKit::WebFrameLoaderClient::allowScript): Always return false
for frames with plug-in views.

  • Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Added hasPlugInView. Moved m_pluginView and m_hasSentResponseToPluginView
inside ENABLE(PDFKIT_PLUGIN).

  • Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::performDictionaryLookupAtLocation): Put the plug-in
code inside ENABLE(PDFKIT_PLUGIN) and use mainFramePlugIn.
(WebKit::WebPage::getPDFFirstPageSize): Ditto. Also call the
pdfDocumentSizeForPrinting function on the plug-in view rather than
the plug-in. Also removed unneeded null check of WebCore frame before
calling pluginViewForFrame.

  • Source/WebKit/WebProcess/WebPage/FindController.cpp: Added include

needed now that other headers don't pull in as many.
(WebKit::FindController::mainFramePlugIn): Added.
(WebKit::FindController::countStringMatches): Put code inside
(WebKit::FindController::updateFindUIAfterPageScroll): Ditto.
(WebKit::FindController::findString): Ditto.
(WebKit::FindController::hideFindUI): Ditto.

  • Source/WebKit/WebProcess/WebPage/FindController.h: Added mainFramePlugIn.
  • Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
Update since handlesPageScaleGesture is now a WebPage function rather than a
WebFrame function.
(WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture): Ditto.

  • Source/WebKit/WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::handlesPageScaleGesture const): Deleted.
(WebKit::WebFrame::requiresUnifiedScaleFactor const): Deleted.

  • Source/WebKit/WebProcess/WebPage/WebFrame.h: Updated for the above.
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::~WebPage): Put plug-in code inside #if ENABLE(PDFKIT_PLUGIN).
(WebKit::WebPage::editorState const): Ditto.
(WebKit::WebPage::createPlugin): Deleted.
(WebKit::WebPage::pluginViewForFrame): Use dynamicDowncast.
(WebKit::WebPage::mainFramePlugIn): Added.
(WebKit::WebPage::executeEditingCommand): Put plug-in code inside

#if ENABLE(PDFKIT_PLUGIN).

(WebKit::WebPage::isEditingCommandEnabled): Ditto.
(WebKit::WebPage::textZoomFactor const): Updated since all plug-ins
use "unified scale factor" and all main-frame plug-ins "handle page scale factor".
(WebKit::WebPage::setTextZoomFactor): Ditto.
(WebKit::WebPage::pageZoomFactor const): Ditto.
(WebKit::WebPage::setPageZoomFactor): Ditto.
(WebKit::WebPage::setPageAndTextZoomFactors): Ditto.
(WebKit::WebPage::scalePage): Removed original argument to setPageScaleFactor
and put plug-in code inside #if ENABLE(PDFKIT_PLUGIN).
(WebKit::WebPage::totalScaleFactor const): Updated since all main-frame
plug-ins "handle page scale factor" and put code in #if ENABLE.
(WebKit::WebPage::validateCommand): Put code in #if ENABLE.
(WebKit::WebPage::setTopContentInset): Ditto.
(WebKit::WebPage::getMainResourceDataOfFrame): Ditto.
(WebKit::WebPage::mainFrameView const): Ditto.
(WebKit::WebPage::setActivityState): Removed call to PluginView::activityStateDidChange.
(WebKit::WebPage::setLayerHostingMode): Removed call to PluginView::setLayerHostingMode.
(WebKit::WebPage::addPluginView): Removed code to set m_hasSeenPlugin.
(WebKit::WebPage::windowAndViewFramesChanged): Removed call to
PluginView::windowAndViewFramesChanged.
(WebKit::WebPage::handlesPageScaleGesture const): Added. Returns true if
we have a main-frame plug-in.

  • Source/WebKit/WebProcess/WebPage/WebPage.h: Removed include of Plugin.h,

createPlugin, and m_hasSeenPlugin. Changed argument to the
dictionaryPopupInfoForSelectionInPDFPlugin from PDFPlugin to PluginView.
Put all members that involve PluginView inside #if statements.
Added handlesPageScaleGesture and mainFramePlugIn functions.

(WebKit::WebPage::accessibilityObjectForMainFramePlugin): Just return nil
since we don't have any plug-ins in iOS at this time.

  • Source/WebKit/WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]): Removed call to
pluginHandlesContentOffsetForAccessibilityHitTest, and use mainFramePlugIn.

  • Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::accessibilityObjectForMainFramePlugin): Use mainFramePlugIn.
(WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin): Update since
the plug-in view function is named contentScaleFactor, not just scaleFactor
as the PDF plug-in functino was named.
(WebKit::WebPage::performImmediateActionHitTestAtLocation): Call
lookupTextAtLocation on the plug-in view, not the plug-in.

  • Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper associatedPluginParent]): Use dynamicDowncast,
and remove some other casts that are not needed any more.

  • Source/WebCore/bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginScriptObject): Use dynamicDowncast and removed the plug-in
element argument to DOMTimer::scriptDidInteractWithPlugin.

  • Source/WebCore/bindings/js/ScriptController.cpp: Removed include of

PluginViewBase.h.
(WebCore::ScriptController::createScriptInstanceForWidget): Always return
nullptr; this function is only used on platforms that do not support scripting
with widgets at all.

  • Source/WebCore/html/HTMLObjectElement.cpp: Removed include of PluginViewBase.h.
  • Source/WebCore/html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::pluginWidget const): Return PluginViewBase* instead
of Widget*.
(WebCore::HTMLPlugInElement::isKeyboardFocusable const): Return false.
(WebCore::HTMLPlugInElement::isUserObservable const): Deleted.
(WebCore::HTMLPlugInElement::isBelowSizeThreshold const): Deleted.

  • Source/WebCore/html/HTMLPlugInElement.h: Updated for the above.
  • Source/WebCore/html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willDetachRenderers): Removed unneeded
type castss now that pluginWidget returns a PluginViewBase.

  • Source/WebCore/html/PluginDocument.cpp:

(WebCore::PluginDocument::pluginWidget): Return PluginViewBase* instead
of Widget*.

  • Source/WebCore/html/PluginDocument.h: Updated for the above.
  • Source/WebCore/inspector/PageDebugger.cpp:

(WebCore::PageDebugger::setJavaScriptPaused): Removed calls to plug-in views.

  • Source/WebCore/loader/FrameLoaderClient.h: Removed forward

declaration of PluginViewBase.

  • Source/WebCore/page/DOMTimer.cpp:

(WebCore::DOMTimer::scriptDidInteractWithPlugin): Removed the plug-in
element argument, because all were always returning true for isUserObservable.

  • Source/WebCore/page/DOMTimer.h: Updated for the above.
  • Source/WebCore/page/DragController.cpp:

(WebCore::DragController::operationForLoad): Removed unneeded dynamicDowncast.

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::pluginViews): Deleted.
(WebCore::Page::storageBlockingStateChanged): Removed calls to plug-in views.

  • Source/WebCore/page/Page.h: Updated for the above.
  • Source/WebCore/platform/ScrollableArea.h:

(WebCore::ScrollableArea::isPDFPlugin const): Deleted.

  • Source/WebCore/platform/Widget.h:

(WebCore::Widget::isPluginView const): Deleted.

  • Source/WebCore/plugins/PluginViewBase.h: Removed storageBlockingStateChanged,

supportsKeyboardFocus, audioHardwareActivity, setJavaScriptPaused,
and bindingInstance. Made isPluginViewBase private and final.

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::pluginIsBelowSizeThreshold): Deleted.

  • Source/WebCore/testing/Internals.cpp: Updated for the above.
  • Source/WebCore/testing/Internals.idl: Ditto. No test was using this.

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

7:55 PM Changeset in webkit [294525] by mmaxfield@apple.com
  • 3 edits in trunk/Source/ThirdParty/ANGLE/Configurations

[ANGLE] Production builds don't need to include Metal debug info
https://bugs.webkit.org/show_bug.cgi?id=240696
<rdar://problem/93580049>

Reviewed by Tim Horton.

Metal debug info can be generated in engineering builds, but production builds don't need it.

  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig:

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

7:32 PM Changeset in webkit [294524] by Sam Sneddon
  • 1 edit in trunk/Tools/Scripts/hooks/prepare-commit-msg

prepare-commit-msg should be no-op with --no-edit
https://bugs.webkit.org/show_bug.cgi?id=240689

Reviewed by Jonathan Bedard.

  • Tools/Scripts/hooks/prepare-commit-msg:

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

7:14 PM Changeset in webkit [294523] by Brandon
  • 36 edits
    1 copy
    4 adds in trunk

Release assert in Document::updateLayout() via HTMLTextAreaElement::childrenChanged
https://bugs.webkit.org/show_bug.cgi?id=224471

Reviewed by Ryosuke Niwa.

This patch is based on a set of patches made by Sergio Villar Senin
and Gabriel Nava Marino.

Executing some editing commands in a text area might force the recomputation of things
like caret or the visible selection position and extent. Under some circumstances (like
when the text area has no content and children) we might end up trying to update layout
when it is not safe as a side effect of updating the caret.

In order to fix that, we can switch to a model in which we update the selection asynchronously
in the case of having a non-user triggered change. That way we don't do it inside
a restricted layout scope.

The App Highlight restoration code had to be tuned as well (when restoring and scrolling to reveal
a Quick Note on iOS MacOS). It uses TemporarySelectionChange to select and scroll to reveal the highlight
range; the code assumed that this scrolling happens synchronously, since it reverts the selection to
the original range at the end of AppHighlightStorage::attemptToRestoreHighlightAndScroll when the
TemporarySelectionChange falls out of scope. That is however no longer the case. Actually no scrolling
happened after this patch because we end up only scheduling the appearance update timer before setting
the selection back to the original state with SelectionRevealMode::DoNotReveal. Since this only happens
when the user interacts in the Notes app, it seems sensible to consider it as a user triggered event.

Layout Tests

Moved some tests out of the text-based-repaint.js model because selection is now updated
and revealed asynchronously in the case of non-user triggered changes. The problem is that
by the time the repaint rects are queried the update has not happened yet. That's why
the tests were modified so that we wait until the repaint happens.

Same situation for other tests that do not involve repaint rects but trigger accesibility
tree updates. We must ensure that we let the notification be thrown before checking whether or
not has been emited. As it's done asynchronously we must let the main thread run before checking.

Last but not least, some of the tests are using setTimeout() instead of requestAnimationFrame()
because the results with the latter were not as reliable under stress/debug conditions.

  • Source/WebCore/Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::attemptToRestoreHighlightAndScroll):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::TemporarySelectionChange::setSelection):

  • Source/WebCore/editing/Editor.h:
  • Source/WebCore/editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::updateSelectionAppearanceNow):
(WebCore::FrameSelection::absoluteCaretBounds):
(WebCore::FrameSelection::setCaretVisibility):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Deleted.
(WebCore::FrameSelection::selectionBounds const): Deleted.

  • Source/WebCore/editing/FrameSelection.h:
  • Source/WebCore/page/EventHandler.cpp:

(WebCore::setSelectionIfNeeded):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::doAfterUpdateRendering):

  • LayoutTests/accessibility/mac/selection-boundary-userinfo.html:
  • LayoutTests/accessibility/mac/selection-change-userinfo.html:
  • LayoutTests/accessibility/mac/selection-value-changes-for-aria-textbox.html:
  • LayoutTests/editing/selection-with-absolute-positioned-empty-content.html:
  • LayoutTests/fast/forms/textarea-scrolled-endline-caret.html:
  • LayoutTests/fast/repaint/selection-gap-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-fixed-child.html:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-flipped-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-absolute-child.html:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child-expected.txt:
  • LayoutTests/fast/repaint/selection-gap-transformed-fixed-child.html:
  • LayoutTests/fast/repaint/selection-paint-invalidation-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/fast/repaint/selection-ruby-rl.html:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/fast/repaint/text-selection-overflow-hidden.html:
  • LayoutTests/fast/text/incorrect-deselection-across-multiple-elements.html:
  • LayoutTests/platform/gtk/TestExpectations:
  • LayoutTests/platform/gtk/fast/repaint/selection-ruby-rl-expected.txt: Copied from LayoutTests/fast/repaint/selection-ruby-rl-expected.txt.
  • LayoutTests/platform/gtk/fast/repaint/text-selection-overflow-hidden-expected.txt:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/mac-wk1/accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-margin-005-expected.txt:
  • LayoutTests/platform/mac/TestExpectations:
  • LayoutTests/platform/win/fast/repaint/4776765-expected.txt: Added.
  • LayoutTests/platform/win/fast/repaint/selection-ruby-rl-expected.txt:
  • LayoutTests/platform/win/fast/repaint/text-selection-overflow-hidden-expected.txt:

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

7:05 PM Changeset in webkit [294522] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.0.7

Tag WebKit-7614.1.14.0.7.

6:26 PM Changeset in webkit [294521] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/webkitpy

[webkit-patch] Fix revert workflow
https://bugs.webkit.org/show_bug.cgi?id=240684
<rdar://93602151>

Reviewed by Dewei Zhu.

  • Tools/Scripts/webkitpy/common/checkout/checkout.py:

(_changelog_data_for_revision): Use git commit message instead of ChangeLog.
(changelog_entries_for_revision): Deleted.

  • Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py:

(CheckoutTest.test_changelog_entries_for_revision): Deleted.
(CheckoutTest.test_commit_info_for_revision): Deleted.
(CheckoutTest.test_bug_id_for_revision): Deleted.
(CheckoutTest.test_suggested_reviewers): Deleted.

  • Tools/Scripts/webkitpy/common/config/committers.py:

(Contributor.email): Match webkitscmpy's API.

  • Tools/Scripts/webkitpy/tool/commands/download.py:

(AbstractRevertPrepCommand._prepare_state): Use email instead of bugzilla_email.

  • Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:

(PrepareChangeLogForRevert.run): Replace with a git commit -a -m.

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

6:22 PM Changeset in webkit [294520] by Nikos Mouchtaris
  • 6 edits in trunk

Implement contain flag for ray() in offset path
https://bugs.webkit.org/show_bug.cgi?id=240259
<rdar://93374029>

Reviewed by Simon Fraser.

Implement contain flag for ray(). Contains purpose is to have the entire box
being animated be contained within the path. "Contained within the path" is
defined as having the box remain within a circle with the radius of the path
length and positioned at the offset anchor. This solution is adapted from the
repository of the spec writer: https://github.com/ewilligers/petrogale-purpureicollis.

The way this solution works is that you construct a coordinate system with the origin
being the offset anchor. You then calculate the position of each vertex of the box.
Then, rotate the vertices based on the angles difference from the x-axis. Next, using
the circle equation, we want to find an offset such that (x + offset)2 + y2 = r2.
This results in a lower and upper bound for offset: -x - sqrt(r
2 - y2) <= offset <=
-x + sqrt(r
2 + y2). Finally we choose the minimal value of these upper and lower
bounds to get the final clamped offset.

This patch currently doesn't take into account if it is not possible to fit the box
within the path, as this will be completed in a seperate patch. Currently, test 4 is
failing due to rounding error, and test 5 is failing due to the unimplemented part.

  • Source/WebCore/platform/graphics/GeometryUtilities.cpp:

(WebCore::toRelatedAcuteAngle):
(WebCore::distanceOfPointToSidesOfRect):
(WebCore::verticesForBox):

  • Source/WebCore/platform/graphics/GeometryUtilities.h:
  • Source/WebCore/rendering/PathOperation.cpp:

(WebCore::RayPathOperation::lengthForContainPath const):
(WebCore::RayPathOperation::pathForReferenceRect const):

  • Source/WebCore/rendering/PathOperation.h:
  • Source/WebCore/rendering/style/RenderStyle.cpp:

(WebCore::getPathFromPathOperation):
(WebCore::RenderStyle::applyMotionPathTransform const):

  • LayoutTests/TestExpectations:

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

6:17 PM Changeset in webkit [294519] by Elliott Williams
  • 47 edits in trunk/Source

Revert "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK"

This reverts commit ae2e942111f9f4f1a80c749a3f51ab0ae83b013a.

Seeing some new failures on internal post-commit builders.

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

6:15 PM Changeset in webkit [294518] by Diego Pino Garcia
  • 1 edit in trunk/Source/WebCore/css/typedom/numeric/CSSNumericType.cpp

Unreviewed, non-unified build fixes after 250765@main

5:59 PM Changeset in webkit [294517] by basuke.suzuki@sony.com
  • 1 edit in trunk/Tools/TestWebKitAPI/Tests/WTF/Bitmap.cpp

Fix boolean operation in WTF/BitMap test.
https://bugs.webkit.org/show_bug.cgi?id=240668

Reviewed by Adrian Perez de Castro.

Clang 14 starts complaining about using logical operators to boolean:
`
webkit/Tools/TestWebKitAPI/Tests/WTF/Bitmap.cpp:1172:32: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]

EXPECT_EQ(temp.get(i), bitmap1.get(i) | bitmap2.get(i));


`

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

5:04 PM Changeset in webkit [294516] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.14.1.7

Tag WebKit-7614.1.14.1.7.

5:04 PM Changeset in webkit [294515] by Kate Cheney
  • 3 edits in trunk

Mail: dragged in attachments are shown as rich icons in compose but are received as generic icons
https://bugs.webkit.org/show_bug.cgi?id=240679
<rdar://93513798>

Reviewed by Wenson Hsieh.

Render the thumbnail for iWork files when the file wrapper is set for
attachments that are not added via the pasteboard.

Confirmed this also fixes the issue for Notes.

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

(testiWorkAttachmentFileURL):
(testiWorkAttachmentData):
(-[AttachmentUIDelegate _webView:didInsertAttachment:withSource:]):
(TestWebKitAPI::TEST):

  • Source/WebKit/UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateAttachmentAttributes):

  • Source/WebCore/rendering/RenderThemeMac.mm:

(WebCore::shouldDrawIcon):
(WebCore::paintAttachmentIcon):
There's a small delay while we wait for the file wrapper for the
attachment to be set so we can retrieve the thumbnail. In order to avoid a
flicker from the generic icon to the thumbnail, we should avoid painting
iWork file icons until the thumbnail is retrieved.

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

5:00 PM Changeset in webkit [294514] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore/editing

Avoid injected bundle delegate calls when text fields are focused and blurred without user interaction
https://bugs.webkit.org/show_bug.cgi?id=240614

Reviewed by Chris Dumez.

Add a mechanism to throttle calls to injected bundle form client via textFieldDidBeginEditing, in
the case where the focused element is in a subframe that has never handled an editing command or
user interaction. This yields a small win on Speedometer 2, on M1 MacBookPro:

`


| subtest | ms | ms | b / a | pValue |


| Angular2-TypeScript-TodoMVC |30.651667 |28.456667 |0.928389 | 0.000000 (significant) |
| AngularJS-TodoMVC |109.733333 |111.623333 |1.017224 | 0.000000 (significant) |
| BackboneJS-TodoMVC |31.371667 |33.988333 |1.083409 | 0.000000 (significant) |
| Elm-TodoMVC |96.818333 |96.893333 |1.000775 | 0.760078 |
| EmberJS-Debug-TodoMVC |292.241667 |292.628333 |1.001323 | 0.530967 |
| EmberJS-TodoMVC |99.671667 |98.963333 |0.992893 | 0.040683 |
| Flight-TodoMVC |43.815000 |50.915000 |1.162045 | 0.000000 (significant) |
| Inferno-TodoMVC |46.633333 |44.911667 |0.963081 | 0.000000 (significant) |
| Preact-TodoMVC |11.636667 |11.673333 |1.003151 | 0.862258 |
| React-Redux-TodoMVC |121.411667 |120.096667 |0.989169 | 0.000000 (significant) |
| React-TodoMVC |69.908333 |69.885000 |0.999666 | 0.944581 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |47.750000 |46.223333 |0.968028 | 0.000000 (significant) |
| Vanilla-ES2015-TodoMVC |48.721667 |48.323333 |0.991824 | 0.001202 (significant) |
| VanillaJS-TodoMVC |40.218333 |38.231667 |0.950603 | 0.000000 (significant) |
| VueJS-TodoMVC |18.420000 |16.793333 |0.911690 | 0.000000 (significant) |
| jQuery-TodoMVC |188.831667 |186.908333 |0.989815 | 0.000005 (significant) |


a mean = 343.48012
b mean = 344.99902
pValue = 0.0027314347
(Bigger means are better.)
1.004 times better
Results ARE significant
`

See below for more details.

  • Source/WebCore/editing/Editor.cpp:

(WebCore::Editor::Editor):
(WebCore::Editor::stopTextFieldDidBeginEditingTimer):

Stop the textFieldDidBeginEditing timer if needed, and return true if and only if it was active.

(WebCore::Editor::textFieldDidBeginEditingTimerFired):

Dispatch the deferred EditorClient call using the currently focused element.

(WebCore::Editor::textFieldDidBeginEditing):

If we're inside of a subframe that has never handled user interaction or editing, then don't eagerly
notify the injected bundle about the newly focused text field; instead, schedule a newly added timer
(m_textFieldDidBeginEditingTimer) to perform this call after a short delay.

(WebCore::Editor::textFieldDidEndEditing):

If editing ends (i.e. the text field is blurred) while the textFieldDidBeginEditing timer is still
scheduled, then simply elide this call to textFieldDidBeginEditing and textFieldDidEndEditing
altogether. This prevents us from repeatedly calling into the injected bundle if a page frequently
programmatically focuses and blurs text fields.

(WebCore::Editor::textDidChangeInTextField):
(WebCore::Editor::doTextFieldCommandFromEvent):
(WebCore::Editor::textWillBeDeletedInTextField):
(WebCore::Editor::textDidChangeInTextArea):

If any of these other injected bundle form client hooks are invoked while there is a scheduled
textFieldDidBeginEditing timer, then stop the timer and immediately inform the injected bundle
client about the focused text field.

(WebCore::Editor::isInSubframeWithoutUserInteraction const):
(WebCore::Editor::respondToChangedSelection):

Use the new helper function above.

  • Source/WebCore/editing/Editor.h:

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

4:46 PM Changeset in webkit [294513] by Sam Sneddon
  • 1 edit in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py

Handle cases where origin/HEAD doesn't exist in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=240693

Reviewed by Jonathan Bedard.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.default_branch):

This makes several changes to default_branch:

  • We attempt origin/HEAD, origin/main, and origin/master before trying to guess based on all branches.
  • When guessing based on all branches, prefer main over master.

Additionally, this changes the searching to use --symbolic-full-ref,
as we only ever want refs to be returned, and this takes away the
guesswork parsing.

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

4:42 PM Changeset in webkit [294512] by Patrick Angle
  • 4 edits in trunk

Web Inspector: Getting style data via WebCore::InspectorCSSAgent::getMatchedStylesForNode for a detached node crashes
https://bugs.webkit.org/show_bug.cgi?id=240608
rdar://93473674

Reviewed by Devin Rousso.

Added test case to inspector/css/node-styles-refreshed.html

Previously it was possible under at least two different circumstances that
WebCore::InspectorCSSAgent::getMatchedStylesForNode could be called with the NodeId of a detached node, which means
that computedStyle for that Node will be nullptr, and calls to Style::Scope::forNode will fail.

The first failure state is timing based. If the Inspector frontend makes a request for updated styles for a node, the
node may already have been detached by some other means (webpage JS, for example). In this case by the time
getMatchedStylesForNode is invoked the computedStyle is no longer available.

The second failure state is easier to get into. In a DOM tree with elements A, B, and C, each a child of the
previous such that A is the parent of B and B is the parent of C, imagine C is the selected DOM node. Now if
we right click and delete A from the DOM tree, we will have removed all three elements from the tree (both the
frontend representation as well as the actual tree in the backend). Previously C remained the selected node in the
tree, which means that we continue to show the Styles sidebar panel, where the user could then attempt to edit the style
of the node. These style changes trigger the need to refresh the frontend's style information, at which point we will
call getMatchedStylesForNode with a detached node id.

The fix to the underlying problem is to check in the backend that a node is actually attached before determining its
style information. Additionally, we should always update the selection of a TreeOutline when the current selection is
part of the subtree being removed from the tree. This prevents the user being able to easily get into the state in the
first place as well as prevents folks from getting confused about what the open sidebars are showing information for,
since visually no node _appears_ selected.

  • Source/WebCore/inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):

  • Guard the functions that will eventually use computedStyle or Style::Scope::forNode, both of which only work for

"connected" (in Web Inspector parlance "attached") nodes. Note there are a few other uses in our code where
computedStyle is used without this check, but we do explicitly check the result of computed styles in those cases,
which also works since computedStyle returns early if the node is not connected.

(WebCore::InspectorCSSAgent::buildObjectForRule):

  • Add an assertion that we never call buildObjectForRule with a disconnected Element.
  • Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype.removeChildAtIndex):

  • Fix selection updating to account for the fact the selected node may be part of the descendants tree of the removed

item, in which case we would still want to update the selection to something else.

  • LayoutTests/inspector/css/node-styles-refreshed-expected.txt:
  • LayoutTests/inspector/css/node-styles-refreshed.html:
  • Add test case to try getting styles of a detached node, and update other test cases with a new helper function instead

of relying on a "global" nodeStyles.

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

4:00 PM Changeset in webkit [294511] by pvollan@apple.com
  • 1 edit in trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

Add sys call MSC_iokit_user_client_trap to the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=240685
<rdar://93600722>

Reviewed by Chris Dumez.

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

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

3:47 PM Changeset in webkit [294510] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

[git-webkit] Use --date=unix in log commands
https://bugs.webkit.org/show_bug.cgi?id=240537
<rdar://93464544>

Reviewed by Stephanie Lewis.

Override any local configuration for git log's date format,
use a simpler date format.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git.Cache.populate): Use --date=unix.
(Git.commit): Ditto.
(Git._args_from_content): Parse --date=unix.
(Git.commits): Use --date=unix.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_log):

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

3:43 PM Changeset in webkit [294509] by basuke.suzuki@sony.com
  • 1 edit in trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp

[Curl] Suppress warning of unused enum value in switch statement.
https://bugs.webkit.org/show_bug.cgi?id=240672

Reviewed by Fujii Hironori.

Just after the request object creation, the state is WaitingForStart. It is better
the code explicitly takes care of this fact. Also moving the assignment to the state
inside the switch statement denotes the state is changing to the response of previous
state.

No new tests. Covered by existing tests.

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::start):

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

3:37 PM Changeset in webkit [294508] by achristensen@apple.com
  • 9 edits
    1 add in trunk

Implement unit checks of CSSNumericValue.{min,max}
https://bugs.webkit.org/show_bug.cgi?id=240559

Reviewed by Chris Dumez.

This is part of an off-by-default experimental feature.
This is in the spec but not implemented in Chrome yet.
Covered by an addition to WPT tests at https://github.com/web-platform-tests/wpt/pull/34103

  • Source/WebCore/Sources.txt:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:
  • Source/WebCore/css/typedom/CSSNumericValue.cpp:
  • Source/WebCore/css/typedom/CSSNumericValue.h:
  • Source/WebCore/css/typedom/numeric/CSSMathProduct.cpp:
  • Source/WebCore/css/typedom/numeric/CSSMathSum.cpp:
  • Source/WebCore/css/typedom/numeric/CSSNumericType.cpp:
  • Source/WebCore/css/typedom/numeric/CSSNumericType.h:

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

3:08 PM Changeset in webkit [294507] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/mac-wk2/TestExpectations

[ macOS Debug wk2 iOS ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=240670
<rdar://93589033>

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:49 PM Changeset in webkit [294506] by Razvan Caliman
  • 1 edit in trunk/Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js

Web Inspector: Computed Panel: Assertion Failed: Cannot remove view which isn't a subview. ComputedStyleSection
https://bugs.webkit.org/show_bug.cgi?id=240644

Reviewed by Patrick Angle.

The root cause for this failed assertion is an accumulation of orphaned WI.ComputedStyleSection view instances in
WI.ComputedStyleDetailsPanel._detailsSectionByStyleSectionMap.

When WI.ComputedStyleDetailsPanel.layout() is called to reflect the latest selected node's variables, the previous WI.ComputedStyleSection view instance for ungrouped
variables is accidentally kept around. When attempting to remove this view on the next layout() run, this orphaned instance has no
host node that belongs to the parent view so the assertion fails. The issue gets progressively worse on each layout() run by accumulating more orphans.

  • Source/WebInspectorUI/UserInterface/Views/ComputedStyleDetailsPanel.js: (WI.ComputedStyleDetailsPanel.prototype.layout):

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

2:44 PM Changeset in webkit [294505] by Devin Rousso
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

media/modern-media-controls tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=231187
<rdar://problem/83846919>

Unreviewed.

The tests in media/modern-media-controls/overflow-support and media/modern-media-controls/tracks-support
require "touch*" (really "pointer*") events on iOS, so skip for OpenSource and unskip internally.

  • LayoutTests/platform/ios/TestExpectations:

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

1:57 PM Changeset in webkit [294504] by commit-queue@webkit.org
  • 9 edits
    1 move
    1 add in trunk

[WPE][GTK] Improve dependency tracking of PDF.js files (and other GResources)
https://bugs.webkit.org/show_bug.cgi?id=240535

Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-05-19
Reviewed by Adrian Perez de Castro.

This commit does two things. First, for each use of
glib-compile-resources, it adds the --dependency-file argument in order
to make the build command depend on the files included in the GResource
manifest, to ensure the resource is automatically recompiled whenever
any of its source files change. Second, for PDF.js only, it replaces the
GLOB_RECURSE command with a list of source files. The
generate-pdfjs-gresource-manifest.py script is adapted to create CMake
file lists in addition to GResource manifests, and renamed from
-gresource-manifest.py to -resource-manifest.py. The web inspector
GResource would benefit from similar work, but that will be a problem
for another day.

  • Tools/TestWebKitAPI/glib/CMakeLists.txt:
  • Tools/glib/generate-pdfjs-resource-manifest.py: Renamed from Tools/glib/generate-pdfjs-gresource-manifest.py.

(get_filenames):
(get_filenames.resource_name):
(is_compressible):
(write_cmake_file):
(write_gresource_manifest):

  • Source/ThirdParty/pdfjs/PdfJSFiles.cmake: Added.
  • Source/ThirdParty/pdfjs/README.webkit:
  • Source/WebKit/InspectorGResources.cmake:
  • Source/WebKit/PdfJSGResources.cmake:
  • Source/WebKit/PlatformGTK.cmake:
  • Source/WebKit/PlatformWPE.cmake:
  • CMakeLists.txt:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

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

12:57 PM Changeset in webkit [294503] by Alan Bujtas
  • 1 edit in trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp

Changing text color and removing line-clamp on hover causes text to disappear permanently
https://bugs.webkit.org/show_bug.cgi?id=240410

Reviewed by Darin Adler.

Address post-landing review comment.

  • Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::styleWillChange):

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

12:54 PM Changeset in webkit [294502] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.0-branch/Source

Versioning.

WebKit-7614.1.14.0.7

12:53 PM Changeset in webkit [294501] by Jonathan Bedard
  • 1 edit in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py

git webkit setup pauses between questions to install modules
https://bugs.webkit.org/show_bug.cgi?id=240487
<rdar://93522052>

Reviewed by Alexey Proskuryakov.

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

(Setup.main): Pre-install jinja.

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

12:53 PM Changeset in webkit [294500] by Alan Coon
  • 9 edits in branches/safari-7614.1.14.1-branch/Source

Versioning.

WebKit-7614.1.14.1.7

12:22 PM Changeset in webkit [294499] by Tyler Wilcock
  • 1 edit in trunk/Source/WebCore/accessibility/AXLogger.cpp

AX: Logging outerHTML in streamAXCoreObject is not truncated
https://bugs.webkit.org/show_bug.cgi?id=240523
<rdar://93429407>

Reviewed by Chris Fleizach.

outerHTML can be a very, very big string, and we don't truncate it at all.
This can cause debug builds to perform even worse than they already do, and
is almost always too much noise in the logs.

In this change, we truncate outerHTML to 150 characters.

  • Source/WebCore/accessibility/AXLogger.cpp:

(WebCore::streamAXCoreObject):

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

12:18 PM Changeset in webkit [294498] by Chris Dumez
  • 6 edits in trunk/Source/WebCore/html/track

TextTrackCue should get its document for its ActiveDOMObject base class
https://bugs.webkit.org/show_bug.cgi?id=240660
<rdar://93512736>

Reviewed by Eric Carlson.

TextTrackCue should get its document for its ActiveDOMObject base class instead
of requiring an extra data member to store it.

  • Source/WebCore/html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::scriptExecutionContext const):
(WebCore::TextTrackCue::document const):
(WebCore::TextTrackCue::getCueAsHTML):
(WebCore::TextTrackCue::rebuildDisplayTree):

  • Source/WebCore/html/track/TextTrackCue.h:

(WebCore::TextTrackCue::ownerDocument): Deleted.

  • Source/WebCore/html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::createDisplayTree):
(WebCore::TextTrackCueGeneric::setFontSize):

  • Source/WebCore/html/track/TextTrackCueGeneric.h:
  • Source/WebCore/html/track/VTTCue.cpp:

(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::initialize):
(WebCore::VTTCue::createDisplayTree):
(WebCore::VTTCue::displayTreeInternal):
(WebCore::VTTCue::createWebVTTNodeTree):
(WebCore::VTTCue::getCueAsHTML):
(WebCore::VTTCue::createCueRenderingTree):
(WebCore::VTTCue::getDisplayTree):
(WebCore::VTTCue::removeDisplayTree):

  • Source/WebCore/html/track/VTTCue.h:

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

11:42 AM Changeset in webkit [294497] by graouts@webkit.org
  • 1 edit in trunk/Source/WebCore/animation/KeyframeEffect.cpp

Need to keep the document alive in KeyframeEffect::processKeyframes()
https://bugs.webkit.org/show_bug.cgi?id=240677
<rdar://93513759>

Reviewed by Saam Barati.

Since the Document is used throughout KeyframeEffect::processKeyframes and it's provided
as a simple reference, we must ensure we keep it alive with a Ref since JS code in a custom
iterator for the keyframes object could cause it to be torn down.

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::processKeyframes):

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

11:32 AM Changeset in webkit [294496] by Elliott Williams
  • 47 edits in trunk/Source

[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK
https://bugs.webkit.org/show_bug.cgi?id=240408

Reviewed by Alexey Proskuryakov.

When building with WK_OVERRIDE_FRAMEWORKS_DIR, we assume that WebKit is
being built as part of a self-contained application, e.g. Safari
Technology Preview. This means that most content is installed to the
override directory, instead of the normal /System/Library/Frameworks
directory.

However, static library content (e.g. headers and archives
for bmalloc, webrtc, WTF) is _not_ installed to the override directory,
as it is not needed at runtime. It was being installed to the default
/usr/local prefix, where it would merge with and overwrite whatever
WebKit content was already present.

To prevent overwrites and other sorts of conflict with the
system-provided WebKit, introduce WK_LIBRARY_HEADERS_FOLDER_PATH and
WK_LIBRARY_INSTALL_PATH, which expand to /usr/local/include/safari-sdk
and /usr/local/lib/safari-sdk respectively when building in this mode.
Static library headers and archives are built to these locations, where
they're still in the expected SDK location, but won't clobber system
WebKit.

  • Source/bmalloc/Configurations/Base.xcconfig:
  • Source/bmalloc/Configurations/bmalloc.xcconfig:
  • Source/bmalloc/Configurations/mbmalloc.xcconfig:
  • Source/JavaScriptCore/Configurations/Base.xcconfig:
  • Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
  • Source/JavaScriptCore/DerivedSources.make:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
  • Source/JavaScriptCore/offlineasm/config.rb:
  • Source/JavaScriptCore/offlineasm/parser.rb:
  • Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
  • Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/boringssl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libabsl.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libsrtp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebm.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/libyuv.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/usrsctp.xcconfig:
  • Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig:
  • Source/WebCore/PAL/Configurations/Base.xcconfig:
  • Source/WebCore/PAL/Configurations/PAL.xcconfig:
  • Source/WebGPU/Configurations/Base.xcconfig:
  • Source/WebGPU/Configurations/WGSL.xcconfig:
  • Source/WebGPU/Configurations/WGSLUnitTests.xcconfig:
  • Source/WebGPU/Configurations/WebGPU.xcconfig:
  • Source/WebKit/Configurations/Base.xcconfig:
  • Source/WebKit/Configurations/BaseTarget.xcconfig:
  • Source/WebKit/Configurations/SandboxProfiles.xcconfig:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebKitLegacy/scripts/generate-unified-sources.sh:
  • Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
  • Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
  • Source/WTF/Configurations/Base.xcconfig:
  • Source/WTF/Configurations/WTF.xcconfig:
  • Source/WTF/Configurations/icu.xcconfig:
  • Source/WebCore/Configurations/Base.xcconfig:
  • Source/WebCore/Configurations/WebCore.xcconfig:
  • Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
  • Source/WebCore/DerivedSources.make:
  • Source/WebCore/Scripts/generate-unified-sources.sh:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:

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

11:18 AM Changeset in webkit [294495] by timothy_horton@apple.com
  • 5 edits
    4 deletes in trunk/Source/WebKit

Delete WKHoverPlatter
https://bugs.webkit.org/show_bug.cgi?id=240623

Reviewed by Wenson Hsieh.

  • Source/WebKit/SourcesCocoa.txt:
  • Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _allowsDoubleTapGestures]):

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

(-[WKContentView _createAndConfigureHighlightLongPressGestureRecognizer]):
(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _locationForGesture:]):
(-[WKContentView _startPointForGesture:]):
(-[WKContentView _longPressRecognized:]):
(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
(-[WKContentView _didCommitLoadForMainFrame]):
(-[WKContentView _shouldUseContextMenus]):
(-[WKContentView setUpDragAndDropInteractions]):
(-[WKContentView mouseGestureRecognizerChanged:]):
(-[WKContentView positionInformationForHoverPlatter:withRequest:completionHandler:]): Deleted.
(-[WKContentView interactionRegionsForHoverPlatter:inRect:completionHandler:]): Deleted.

  • Source/WebKit/UIProcess/ios/WKHoverPlatter.h: Removed.
  • Source/WebKit/UIProcess/ios/WKHoverPlatter.mm: Removed.
  • Source/WebKit/UIProcess/ios/WKHoverPlatterParameters.h: Removed.
  • Source/WebKit/UIProcess/ios/WKHoverPlatterParameters.mm: Removed.
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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

11:05 AM Changeset in webkit [294494] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[ iOS macOS Debug wk2 ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-move-into-script-disabled-iframe.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=240670
<rdar://93589033>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

10:50 AM Changeset in webkit [294493] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore/runtime

Build fix for Release ASAN builds.
https://bugs.webkit.org/show_bug.cgi?id=240667

Reviewed by Yusuke Suzuki.

JSC::ptrTagName() should also be defined for CPU(ARM64E) when ENABLE(DISASSEMBLER)
is true because it is used to support disassembly now.

  • Source/JavaScriptCore/runtime/JSCPtrTag.cpp:
  • Source/JavaScriptCore/runtime/JSCPtrTag.h:

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

10:40 AM Changeset in webkit [294492] by achristensen@apple.com
  • 3 edits in trunk/Tools/TestWebKitAPI

Begin using coroutines in testing code
https://bugs.webkit.org/show_bug.cgi?id=235730

Reviewed by Darin Adler.

co_await is nicer than nested lambdas.
This begins WebKit's use of C++ coroutines in a small, incomplete, and low-risk way by using it with test code.

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

10:13 AM Changeset in webkit [294491] by aboya@igalia.com
  • 4 edits in trunk/Tools/Scripts/libraries

git-webkit setup: Fix various pitfalls with credentials input
https://bugs.webkit.org/show_bug.cgi?id=240574

Reviewed by Jonathan Bedard.

Yesterday I tried to run git webkit setup.

To put it mildly, it wasn't a smooth ride. I ended up having to debug the
tooling for hours just to be able to get it running.

This patch fixes several issues I found during the process, so that the next
unlucky person doesn't have to go through this again.

  1. Whenever a request failed, the response from the server was not shown in

anyway, instead printing an unhelpful generic message. This patch adds code to
write to the screen the responses obtained from the GitHub API, so that the
next person having problems with it doesn't need to add debugging code to know
what is wrong.

  1. When copying and pasting tokens from the browser it's very easy to

accidentally grab some leading or trailing whitespace. This is especially easy
to miss for the blind terminal key prompt. This patch adds code to trim these
fields. This is generally good UX practice since leading and trailing spaces
are virtually always accidental. [1]

  1. The validation code for GitHub username and token was not run under `git

webkit setup`. Looking at the code it's clear the intention was for that
validation to be done to check (1) a plain GitHub username is used instead of
an email address associated to that account and (2) that a test log-in
succeeds. But because the credentials function is called in many places, the
first instance that actually gets called happens to not set validate=True in
the arguments.

Validating passwords that have just been input for the first time should not

be an optional feature that is disabled by default. Otherwise any mistake in
the credentials input can cause cryptic errors and the user is left on their
own to figure out what is going on, and eventually, how to manually interact
with the keychain to remove or edit the bogus username and/or token. This patch
makes changes so that validation is made whenever the user is prompt for
username and token, no matter in what codepath this becomes necessary.

[1] https://tonyshowoff.com/articles/should-you-trim-passwords/

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

(Tracker.credentials):

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

(credentials):

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

(Setup.github):

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

10:10 AM Changeset in webkit [294490] by Razvan Caliman
  • 1 edit in trunk/metadata/contributors.json

Add Razvan Caliman's GitHub username to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=240663

Reviewed by Jonathan Bedard.

Adding my GitHub username to contributors.json

  • metadata/contributors.json:

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

10:07 AM Changeset in webkit [294489] by Jonathan Bedard
  • 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy

git webkit setup ignores configured editor (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=240529
<rdar://93521972>

Reviewed by Alexey Proskuryakov.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:

(Git): Allow whitespace in config keys.

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

(Setup.git): Pull editor from environment variables, if available.

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

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

9:43 AM Changeset in webkit [294488] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

[ iOS Debug ] fast/text/isolate-ignore.html is a consistent crash
https://bugs.webkit.org/show_bug.cgi?id=240659
<rdar://93582407>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

9:28 AM Changeset in webkit [294487] by commit-queue@webkit.org
  • 2 edits
    4 adds in trunk

importedScript service worker loads should not have ServiceWorker headers
https://bugs.webkit.org/show_bug.cgi?id=240571

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-19
Reviewed by Chris Dumez.

In case of update, we were reloading imported scripts with ServiceWorker header.
Prevent this as this is not as per spec.

Test: http/wpt/service-workers/update-with-importScripts.html

  • Source/WebCore/workers/service/ServiceWorkerJob.cpp:

(WebCore::scriptResourceRequest):
(WebCore::ServiceWorkerJob::ImportedScriptsLoader::load):
(WebCore::ServiceWorkerJob::fetchScriptWithContext):

  • Source/WebCore/workers/service/server/SWServer.cpp:

(WebCore::SWServer::createScriptRequest):
(WebCore::SWServer::startScriptFetch):

  • LayoutTests/http/wpt/service-workers/resources/update-with-importScripts-script.py: Added.

(main):

  • LayoutTests/http/wpt/service-workers/resources/update-with-importScripts-worker.js: Added.
  • LayoutTests/http/wpt/service-workers/update-with-importScripts-expected.txt: Added.
  • LayoutTests/http/wpt/service-workers/update-with-importScripts.html: Added.
  • LayoutTests/platform/mac/TestExpectations:

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

9:06 AM Changeset in webkit [294486] by mark.lam@apple.com
  • 1 edit in trunk/Source/WTF/wtf/PlatformEnable.h

Debug assertion on launch when using an ASAN build on macOS Apple Silicon.
https://bugs.webkit.org/show_bug.cgi?id=240655

Reviewed by Chris Dumez.

Temporarily disabling ENABLE(JIT_OPERATION_DISASSEMBLY) on ASAN builds as a workaround.

  • Source/WTF/wtf/PlatformEnable.h:

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

8:46 AM Changeset in webkit [294485] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r294291): Nullptr crash with :first-letter
https://bugs.webkit.org/show_bug.cgi?id=240631
<rdar://93495868>

Reviewed by Alan Bujtas.

Test: fast/css/first-letter-multicol-crash.html

  • Source/WebCore/rendering/RenderObject.h:
  • Source/WebCore/rendering/updating/RenderTreeBuilderFirstLetter.cpp:

With multicol there can be multiple levels of anonymous ancestors. Search for the
nearest non-anonymous ancestor to find the first-letter style.

(WebCore::styleForFirstLetter):

  • LayoutTests/fast/css-generated-content/first-letter-in-nested-before-table-expected.html:

Update expected results. The new results match Chrome behavior.

  • LayoutTests/fast/css/first-letter-multicol-crash-expected.txt: Added.
  • LayoutTests/fast/css/first-letter-multicol-crash.html: Added.

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

8:40 AM Changeset in webkit [294484] by Karl Rackler
  • 1 edit in trunk/LayoutTests/platform/ios/TestExpectations

REGRESSION (r294452): [ iOS ] ImageBufferIOSurfaceBackend - nine tests are a consistent image failure
https://bugs.webkit.org/show_bug.cgi?id=240654
<rdar://93578166>

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

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

8:36 AM Changeset in webkit [294483] by aboya@igalia.com
  • 1 edit in trunk/metadata/contributors.json

Link Alicia Boya Garcia's GitHub to contributors.json

Reviewed by Jonathan Bedard.

  • metadata/contributors.json:

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

8:28 AM Changeset in webkit [294482] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/workers/service/context/SWContextManager.cpp

REGRESSION (250635@main): TestWebKitAPI.PushAPI.pushEventsAndInspectedServiceWorker is failing
https://bugs.webkit.org/show_bug.cgi?id=240612
rdar://problem/93537478

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-19
Reviewed by Chris Dumez.

The test was failing as the injection of internals in a ServiceWorkerGlobalScope might happen after firing a push event.
To prevent this, we now do the injection by posting a task to the service worker right after starting the service worker thread
instead of after the script has been executed.

  • Source/WebCore/workers/service/context/SWContextManager.cpp:

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

8:13 AM Changeset in webkit [294481] by Manuel Rego Casasnovas
  • 2 edits in trunk/LayoutTests/imported/w3c/web-platform-tests/dom/nodes

Update WPT dom/nodes/aria-element-reflection.tentative.html test
https://bugs.webkit.org/show_bug.cgi?id=240641

Reviewed by Chris Dumez.

Update test and expectations.
The new failure is due to https://webkit.org/b/240563.

  • LayoutTests/imported/w3c/web-platform-tests/dom/nodes/aria-element-reflection.tentative-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/dom/nodes/aria-element-reflection.tentative.html:

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

7:55 AM Changeset in webkit [294480] by Jonathan Bedard
  • 3 edits in trunk/Tools/Scripts/libraries/webkitcorepy

git webkit setup ignores configured editor (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=240529
<rdar://93521972>

Reviewed by Alexey Proskuryakov.

  • Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitcorepy/webkitcorepy/editor.py:

(Editor):
(Editor.bbedit): Added.
(Editor.programs): Add bbedit, VSCode should have higher precedence than default installed
editors.

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

7:28 AM Changeset in webkit [294479] by Antti Koivisto
  • 1 edit in trunk/LayoutTests/TestExpectations

accessibility/visible-character-range-scrolling.html is timing out on debug
https://bugs.webkit.org/show_bug.cgi?id=240643

Unreviewed test gardening.

  • LayoutTests/TestExpectations:

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

6:08 AM Changeset in webkit [294478] by graouts@webkit.org
  • 6 edits
    2 adds in trunk

[web-animations] dynamically toggle acceleration of offset animations depending on ability of animations in the effect stack to be accelerated
https://bugs.webkit.org/show_bug.cgi?id=236712
<rdar://89030146>

Reviewed by Dean Jackson.

We implement CSS Motion Path by using it as another input for the matrix computed
in RenderStyle::applyCSSTransform(). This means that if we were to run an accelerated
animation for a transform-related property, we'd clobber a motion path set either
on the underlying style or via another animation on this element.

For transforms and motion paths to co-exist, we opt out of acceleration for all
effects in a stack associated with an element that has a motion set using the
underlying style or containing an effect animating one of the CSS Motion Path
properties.

This is done simply by adding those checks to KeyframeEffect::preventsAcceleration().

But we also need to determine when the underlying style may have changed to either
newly contain a motion path or no longer contain one. To do this, we message from
ElementAnimationRareData::setLastStyleChangeEventStyle() down to all effects on the
associated stack and check in KeyframeEffect::lastStyleChangeEventStyleDidChange()
whether the motion path state changed.

Test: webanimations/accelerated-animations-and-motion-path.html

  • Source/WebCore/animation/ElementAnimationRareData.cpp:

(WebCore::ElementAnimationRareData::setLastStyleChangeEventStyle):

  • Source/WebCore/animation/ElementAnimationRareData.h:

(WebCore::ElementAnimationRareData::setLastStyleChangeEventStyle): Deleted.

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::preventsAcceleration const):
(WebCore::KeyframeEffect::lastStyleChangeEventStyleDidChange):

  • Source/WebCore/animation/KeyframeEffect.h:
  • Source/WebCore/animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::lastStyleChangeEventStyleDidChange):

  • Source/WebCore/animation/KeyframeEffectStack.h:
  • LayoutTests/webanimations/accelerated-animations-and-motion-path-expected.txt: Added.
  • LayoutTests/webanimations/accelerated-animations-and-motion-path.html: Added.

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

6:03 AM Changeset in webkit [294477] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/platform/audio/cocoa/AudioSampleDataConverter.mm

Add some logging in AudioSampleDataConverter::updateBufferedAmount
https://bugs.webkit.org/show_bug.cgi?id=240632

Patch by Youenn Fablet <youennf@gmail.com> on 2022-05-19
Reviewed by Eric Carlson.

This can help debugging audio related issues like echo cancellation.
No change of behavior.

  • Source/WebCore/platform/audio/cocoa/AudioSampleDataConverter.mm:

(WebCore::AudioSampleDataConverter::updateBufferedAmount):

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

4:42 AM Changeset in webkit [294476] by Ziran Sun
  • 2 edits in trunk

Fix input type email visible value update.

This is an import of Chromium CL at
https://chromium-review.googlesource.com/c/chromium/src/+/3299014
For email type, when the visible value is different from the sanitized value, we need to update it.

https://bugs.webkit.org/show_bug.cgi?id=235522

Reviewed by Chris Dumez.

  • LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/email-set-value-expected.txt:
  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::setValue):

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

4:37 AM Changeset in webkit [294475] by Ziran Sun
  • 2 edits in trunk

Make sure :active is removed on keyup for radios.

When the radio input is checked, we need to make sure that the active flag is
set to false on keyup in order to to prevent the radio from being stuck in the
active state.

This is an import of Chromium CL at
https://chromium-review.googlesource.com/c/chromium/src/+/2466297

https://bugs.webkit.org/show_bug.cgi?id=235530

Reviewed by Chris Dumez.

  • LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-double-activate-pseudo-expected.txt:
  • Source/WebCore/html/RadioInputType.cpp:

(WebCore::RadioInputType::handleKeyupEvent):

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

3:54 AM Changeset in webkit [294474] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r291602 - Fix bug in Relationship::mergeImpl
https://bugs.webkit.org/show_bug.cgi?id=238183
<rdar://89822922>

Reviewed by Yusuke Suzuki.

  • dfg/DFGIntegerRangeOptimizationPhase.cpp:
3:37 AM Changeset in webkit [294473] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r291601 - AirFixObviousSpills needs to consider a PreIndex and PostIndex as clobbering the Reg used for indexing
https://bugs.webkit.org/show_bug.cgi?id=238178
<rdar://87345895>

Reviewed by Mark Lam.

Inside AirFixObviousSpills, we run a basic alias analysis for StackSlots and
registers. For example, when we overwrite a register, we clear anything
it's aliased with. However, the way we were doing this was by looking at
each Arg that was Defd. However, this iteration was missing that
PostIndex/PreIndex mutate the register that feeds into the address Arg.
This patch fixes the issue by walking the instruction in such a way that
we visit all the Defs we care about, both Regs and StackSlots.

  • b3/air/AirFixObviousSpills.cpp:
2:44 AM Changeset in webkit [294472] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r290999 - UniqueIDBDatabase::didFireVersionChangeEvent should capture identifier of UniqueIDBDatabaseConnection
https://bugs.webkit.org/show_bug.cgi?id=236950
rdar://problem/89218299

Reviewed by Chris Dumez.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::didFireVersionChangeEvent):

2:16 AM Changeset in webkit [294471] by commit-queue@webkit.org
  • 1 edit in trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp

Remove dead code in handling of GridTrackEntryAutoRepeat in canInterpolate
https://bugs.webkit.org/show_bug.cgi?id=240620

Patch by Kiet Ho <Kiet Ho> on 2022-05-19
Reviewed by Tim Nguyen.

No new tests, no changes in behavior.

  • Source/WebCore/animation/CSSPropertyAnimation.cpp:

(WebCore::canInterpolate):

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

12:39 AM Changeset in webkit [294470] by Diego Pino Garcia
  • 36 edits in trunk/Source

Unreviewed, non-unified build fixes after 250693@main

Note: See TracTimeline for information about the timeline view.