Timeline



Apr 30, 2022:

7:42 PM Changeset in webkit [293650] by Andres Gonzalez
  • 15 edits in trunk/Source/WebCore

Code cleanup in preparation for refactoring of computing relationships between AXObjects.
https://bugs.webkit.org/show_bug.cgi?id=239848
<rdar://problem/92455544>

Reviewed by Chris Fleizach and Tyler Wilcock.

No new functionality.

AccessibilityObject::ariaElementsFromAttribute() and
ariaElementsReferencedByAttribute() are the methods that currently
compute the relationships between objects. These methods now return a
vector of the related objects instead of taking an out parameter.
In addition, all ariaXXXElements and ariaXXXReferencingElements methods
are renamed to better reflect the relationships they retrieve. Note that
the prefix aria is removed from all method names because ARIA is one way
of establishing relationships between objects, but not necessarily the
only way. These changes make the code more concise and clearer.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::textUnderElement const):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::ariaTreeRows):
(WebCore::AccessibilityObject::ariaElementsFromAttribute const):
(WebCore::AccessibilityObject::ariaElementsReferencedByAttribute const):
(WebCore::AccessibilityObject::isActiveDescendantOfFocusedContainer const):
(WebCore::AccessibilityObject::activeDescendantOfObjects const):
(WebCore::AccessibilityObject::controlledObjects const):
(WebCore::AccessibilityObject::controllers const):
(WebCore::AccessibilityObject::describedByObjects const):
(WebCore::AccessibilityObject::descriptionForObjects const):
(WebCore::AccessibilityObject::detailedByObjects const):
(WebCore::AccessibilityObject::detailsForObjects const):
(WebCore::AccessibilityObject::errorMessageObjects const):
(WebCore::AccessibilityObject::errorMessageForObjects const):
(WebCore::AccessibilityObject::flowToObjects const):
(WebCore::AccessibilityObject::flowFromObjects const):
(WebCore::AccessibilityObject::labelledByObjects const):
(WebCore::AccessibilityObject::labelForObjects const):
(WebCore::AccessibilityObject::ownedObjects const):
(WebCore::AccessibilityObject::owners const):
(WebCore::AccessibilityObject::ariaActiveDescendantReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaControlsElements const): Deleted.
(WebCore::AccessibilityObject::ariaControlsReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaDescribedByElements const): Deleted.
(WebCore::AccessibilityObject::ariaDescribedByReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaDetailsElements const): Deleted.
(WebCore::AccessibilityObject::ariaDetailsReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaErrorMessageElements const): Deleted.
(WebCore::AccessibilityObject::ariaErrorMessageReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaFlowToElements const): Deleted.
(WebCore::AccessibilityObject::ariaFlowToReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaLabelledByElements const): Deleted.
(WebCore::AccessibilityObject::ariaLabelledByReferencingElements const): Deleted.
(WebCore::AccessibilityObject::ariaOwnsElements const): Deleted.
(WebCore::AccessibilityObject::ariaOwnsReferencingElements const): Deleted.

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

(WebCore::AccessibilityRenderObject::linkedUIElements const):
(WebCore::AccessibilityRenderObject::targetElementForActiveDescendant const):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::columnHeaders):
(WebCore::AccessibilityTableCell::ariaOwnedByParent const):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::addChildren):

  • accessibility/atspi/AccessibilityObjectAtspi.cpp:

(WebCore::AccessibilityObjectAtspi::relationMap const):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::activeDescendantOfObjects const):
(WebCore::AXIsolatedObject::controllers const):
(WebCore::AXIsolatedObject::describedByObjects const):
(WebCore::AXIsolatedObject::descriptionForObjects const):
(WebCore::AXIsolatedObject::detailsForObjects const):
(WebCore::AXIsolatedObject::errorMessageForObjects const):
(WebCore::AXIsolatedObject::flowFromObjects const):
(WebCore::AXIsolatedObject::labelledByObjects const):
(WebCore::AXIsolatedObject::labelForObjects const):
(WebCore::AXIsolatedObject::owners const):
(WebCore::AXIsolatedObject::ariaActiveDescendantReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaControlsReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaDescribedByElements const): Deleted.
(WebCore::AXIsolatedObject::ariaDescribedByReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaDetailsReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaErrorMessageReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaFlowToReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaLabelledByElements const): Deleted.
(WebCore::AXIsolatedObject::ariaLabelledByReferencingElements const): Deleted.
(WebCore::AXIsolatedObject::ariaOwnsReferencingElements const): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

9:57 AM Changeset in webkit [293649] by commit-queue@webkit.org
  • 3 edits in trunk

[WPE][GTK] Enable MEDIA_SESSION by default
https://bugs.webkit.org/show_bug.cgi?id=239931

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-30
Reviewed by Michael Catanzaro.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

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

9:50 AM Changeset in webkit [293648] by commit-queue@webkit.org
  • 6 edits in trunk

REGRESSION(r283437) a number of media tests fail/timeout on the test bots
https://bugs.webkit.org/show_bug.cgi?id=231811
<rdar://problem/84552871>

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-30
Reviewed by Michael Catanzaro.

Disable DBus MPRIS notifications when running the tests, these leak to the host when running
on desktop and trigger timeouts on under-powered bots.

  • platform/audio/glib/MediaSessionGLib.cpp:

(WebCore::MediaSessionGLib::create):
(WebCore::MediaSessionGLib::MediaSessionGLib):
(WebCore::MediaSessionGLib::emitPositionChanged):
(WebCore::MediaSessionGLib::updateNowPlaying):
(WebCore::MediaSessionGLib::playbackStatusChanged):

  • platform/audio/glib/MediaSessionManagerGLib.h:

(WebCore::MediaSessionManagerGLib::setDBusNotificationsEnabled):
(WebCore::MediaSessionManagerGLib::areDBusNotificationsEnabled const):

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):

LayoutTests:

  • platform/glib/TestExpectations: Unflag tests now passing.

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

9:30 AM Changeset in webkit [293647] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Only stretch the percent height <body> when it is the document element's child
https://bugs.webkit.org/show_bug.cgi?id=239932
<rdar://92257660>

Reviewed by Antti Koivisto.

This IE quirk should only be applied to when the body is actually the document element's child (stretching case).

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight const):

  • rendering/RenderBox.h:

(WebCore::RenderBox::parentBox const):

8:30 AM Changeset in webkit [293646] by Alan Bujtas
  • 5 edits
    2 adds in trunk

ASSERTION FAILED: *trailingRunIndex >= overflowingRunIndex in WebCore::Layout::InlineContentBreaker::tryBreakingNextOverflowingRuns
https://bugs.webkit.org/show_bug.cgi?id=239838
<rdar://problem/92455051>

Reviewed by Antti Koivisto.

Source/WebCore:

Take partial text overflow into account when computing intrinsic width.

Test: fast/inline/overflowing-content-inside-inline-box-crash.html

  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::computedIntrinsicWidth):

  • layout/formattingContexts/inline/InlineLineBuilder.h:

LayoutTests:

  • fast/inline/overflowing-content-inside-inline-box-crash-expected.txt: Added.
  • fast/inline/overflowing-content-inside-inline-box-crash.html: Added.
6:11 AM Changeset in webkit [293645] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Introduce LineBuilder::PartialContent
https://bugs.webkit.org/show_bug.cgi?id=239886

Reviewed by Antti Koivisto.

This patch is in preparation for adding partial content support for intrinsic width computation.

  1. Use a dedicated PartialContent structure to store partial overflowing information (output of current line breaking, input to next line).
  2. Decouple partial overflowing width (see above) and the "let's not measure the wrapped content again on the next line as leading content" cached value.
  • layout/formattingContexts/inline/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::lineLayout):

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::layoutInlineContent):
(WebCore::Layout::LineBuilder::initialize):

  • layout/formattingContexts/inline/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::PartialContent::PartialContent):

6:01 AM Changeset in webkit [293644] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] Do not wrap </span> to the next line when it is preceded by overflowing text
https://bugs.webkit.org/show_bug.cgi?id=239879
<rdar://problem/92497176>

Reviewed by Antti Koivisto.

Source/WebCore:

This patch makes sure that inline content run(s) ("X") followed by inline box end run(s) (</span></span>)
don't get separated when they overflow the line (e.g. width: 0px).

Test: fast/inline/overflowing-content-inside-inline-box.html

  • layout/formattingContexts/inline/InlineContentBreaker.cpp:

(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):

LayoutTests:

  • fast/inline/overflowing-content-inside-inline-box-expected.html: Added.
  • fast/inline/overflowing-content-inside-inline-box.html: Added.
12:26 AM Changeset in webkit [293643] by jer.noble@apple.com
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

[Mac] VTVideoDecoderClass object pointers can become unaligned on x86
https://bugs.webkit.org/show_bug.cgi?id=239916
<rdar://92445366>

Reviewed by Eric Carlson.

Both the base class and the derived class must be 4-byte aligned on x86, or there
is a chance that a pointer member of that struct will cross a page boundary, and
dereferencing that pointer will fail.

  • Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp:
  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:

Apr 29, 2022:

11:07 PM Changeset in webkit [293642] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r290770): element.scrollIntoViewIfNeeded() scrolls to top even when element is already in viewport
https://bugs.webkit.org/show_bug.cgi?id=238985

Patch by Rob Buis <rbuis@igalia.com> on 2022-04-29
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/scrollintoview-zero-height-item-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scrollintoview-zero-height-item.html: Added.

Source/WebCore:

This mostly reverts to the code as it was before r290770, but adds code to
treat non-intersections as hidden, including zero width/height rects.

Test: imported/w3c/web-platform-tests/css/cssom-view/scrollintoview-zero-height-item.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::getRectToExpose const):

8:37 PM Changeset in webkit [293641] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebCore

The isYahooMail quirk is specific to PLATFORM(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=239914

Reviewed by Simon Fraser.

The isYahooMail check is incorrectly guarded by ENABLE(PUBLIC_SUFFIX_LIST) when the only
using this function is guarded by ENABLE(IOS_TOUCH_EVENTS) and PLATFORM(IOS_FAMILY). Use
PLATFORM(IOS_FAMILY) since ENABLE(IOS_TOUCH_EVENTS) implies that anyways.

Fixes an unused function warning for other ports.

  • page/Quirks.cpp:
6:37 PM Changeset in webkit [293640] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ Monterey WK2 ] media/media-source/media-source-webm-vorbis-partial.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=239308
rdar://91719356

Patch by Jean-Yves Avenard <jean-yves.avenard@apple.com> on 2022-04-29
Reviewed by Jer Noble.

The test disabled the GPU process, and sandboxing rules prevent from
calling CoreMedia in the content process.

  • media/media-source/media-source-webm-vorbis-partial.html:

# Please populate the above commit message. Lines starting
# with '#' will be ignored

# Reviewed by Jer Noble.

# On branch 239308
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git restore --staged <file>..." to unstage)
# modified: LayoutTests/ChangeLog
#

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

5:47 PM Changeset in webkit [293639] by Chris Dumez
  • 12 edits in trunk

Unreviewed, reverting r293621.

Reverting patch while we fix internal EWS issues, will reland
Source/JavaScriptCore:

after.

Reverted changeset:

https://commits.webkit.org/r293621

Source/WTF:

after

Reverted changeset:

https://commits.webkit.org/r293621

Tools:

after

Reverted changeset:

https://commits.webkit.org/r293621

5:18 PM Changeset in webkit [293638] by Wenson Hsieh
  • 4 edits in trunk

[Mail compose] Images with data URLs should be pasted or dropped as attachments
https://bugs.webkit.org/show_bug.cgi?id=239911
rdar://91658665

Reviewed by Tim Horton.

Source/WebCore:

Effectively revert the changes in r226340, which prevented data-URL and http-family-URL images from being
converted into attachments when pasting or dropping into Mail compose. The original intent behind this change
may have been to save Mail storage space (in the server and in the on-disk cache) by excluding remote images,
but this was changed in r291261 due to being a regression in behavior compared to legacy WebKit compose
behavior, which creates attachments when pasting or dropping both data and remote images.

Furthermore, the space-saving rationale never really made sense for image data URLs, which are encoded in base
64, since this base 64 representation is always going to be larger than the raw binary representation that we
would otherwise use for a normal attachment.

Test: WKAttachmentTests.InsertDataURLImagesAsAttachments

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::shouldReplaceSubresourceURLWithBlobDuringSanitization):

Remove the argument flag enum altogether, and rename this method to clarify that it is just about blob URL
replacement for sanitizing pasted/dropped fragments (rather than attachment replacement).

(WebCore::replaceRichContentWithAttachments):
(WebCore::sanitizeMarkupWithArchive):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentMarkupReader::readHTML):
(WebCore::shouldReplaceSubresourceURL): Deleted.

Tools:

Adjust expectations for an existing API test.

  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

(TestWebKitAPI::TEST):

4:23 PM Changeset in webkit [293637] by Chris Dumez
  • 16 edits in trunk/Source

Reduce usage of std::unique_ptr<HashSet> / std::unique_ptr<HashMap>
https://bugs.webkit.org/show_bug.cgi?id=239903

Reviewed by Yusuke Suzuki.

Reduce usage of std::unique_ptr<HashSet> / std::unique_ptr<HashMap> as HashSet / HashMap
are already essentially pointers. This avoids some unnecessary dereferencing.

  • Source/JavaScriptCore/heap/Heap.cpp:

(JSC::Heap::addCoreConstraints):

  • Source/JavaScriptCore/heap/Heap.h:
  • Source/JavaScriptCore/heap/HeapInlines.h:
  • Source/WebKit/WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp:

(WebKit::WebPasteboardOverrides::addOverride):
(WebKit::WebPasteboardOverrides::removeOverride):
(WebKit::WebPasteboardOverrides::overriddenTypes):
(WebKit::WebPasteboardOverrides::getDataForOverride const):

  • Source/WebKit/WebProcess/WebCoreSupport/WebPasteboardOverrides.h:
  • Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::recordCreatingDatabase):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::creatingDatabase):
(WebCore::DatabaseTracker::recordDeletingDatabase):
(WebCore::DatabaseTracker::doneDeletingDatabase):
(WebCore::DatabaseTracker::isDeletingDatabase):
(WebCore::DatabaseTracker::canDeleteOrigin):

  • Source/WebCore/Modules/webdatabase/DatabaseTracker.h:
  • Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::wrapForDeprecatedCSSOM):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::InlineCSSStyleDeclaration::didMutate):

  • Source/WebCore/css/PropertySetCSSStyleDeclaration.h:
  • Source/WebCore/dom/MutationObserver.cpp:

(WebCore::MutationObserver::deliver):

  • Source/WebCore/dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
(WebCore::MutationObserverRegistration::takeTransientRegistrations):
(WebCore::MutationObserverRegistration::isReachableFromOpaqueRoots const):

  • Source/WebCore/dom/MutationObserverRegistration.h:

(WebCore::MutationObserverRegistration::hasTransientRegistrations const):

  • Source/WebCore/platform/graphics/GlyphMetricsMap.h:

(WebCore::GlyphMetricsMap<T>::locatePageSlowCase):

  • Source/WebCore/rendering/RenderBlock.cpp:

(WebCore::insertIntoTrackedRendererMaps):
(WebCore::removeFromTrackedRendererMaps):
(WebCore::removeBlockFromPercentageDescendantAndContainerMaps):

  • Source/WebCore/style/StyleScope.cpp:

(WebCore::Style::Scope::updateActiveStyleSheets):
(WebCore::Style::Scope::activeStyleSheetsContains const):

  • Source/WebCore/style/StyleScope.h:

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

4:15 PM Changeset in webkit [293636] by Chris Dumez
  • 7 edits in trunk/Source/WebKit

[GPUProcess] Stop using a synchronous IPC for marking layers as volatile
https://bugs.webkit.org/show_bug.cgi?id=239901
<rdar://91663593>

Reviewed by Geoffrey Garen.

Stop using a synchronous IPC to the GPUProcess for marking layers as volatile. Instead,
use an asynchronous IPC for the request and another asynchronous one for the response.
Ideally, we'd be using a sendWithAsyncReply(), like the FIXME comment in the code
suggested. However, this is not supported yet by our new "streaming" IPC.

  • Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::markSurfacesVolatile):

  • Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
  • Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::~RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::markSurfacesVolatile):
(WebKit::RemoteRenderingBackendProxy::didMarkLayersAsVolatile):

  • Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::tryMarkLayersVolatileCompletionHandler):

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

3:54 PM Changeset in webkit [293635] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

increase transient activation duration to 5s
https://bugs.webkit.org/show_bug.cgi?id=239832

Reviewed by Geoffrey Garen.

This matches other user agents and gives a bit more time for asynchronous work to be done.

Spec: <https://html.spec.whatwg.org/multipage/interaction.html#transient-activation-duration>

  • page/DOMWindow.cpp:
3:40 PM Changeset in webkit [293634] by Alan Coon
  • 19 edits in branches/safari-613-branch/Source

Cherry-pick r287877. rdar://problem/92357915

Non-unified build fixes, early January 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=235013

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • wasm/js/JSWebAssemblyModule.cpp: Add missing JSWebAssemblyLinkError.h header.
  • wasm/js/JSWebAssemblyModule.h: Add missing forward declaration for the JSC::OptimizingCallLinkInfo type.

Source/WebCore:

No new tests needed.

  • Modules/fetch/FetchBodyConsumer.cpp: Add missing FormData.h header.
  • Modules/fetch/FormDataConsumer.h: Add missing ExceptionOr.h header, and forward declaration for the WebCore::ScriptExecutionContext type.
  • animation/CSSAnimation.cpp: Add missing KeyframeEffect.h header.
  • animation/KeyframeEffect.cpp: Add missing StyledElement.h header.
  • html/HTMLFormElement.cpp: Add missing PseudoClassChangeInvalidation.h header.
  • platform/network/SynchronousLoaderClient.cpp: Add missing SharedBuffer.h header.
  • rendering/svg/RenderSVGBlock.cpp: Add missing SVGRenderSupport.h header.
  • rendering/svg/RenderSVGForeignObject.cpp: Ditto.
  • rendering/svg/RenderSVGInline.cpp: Ditto.
  • rendering/svg/RenderSVGModelObject.cpp: Add missing SVGElementInlines.h header.
  • rendering/svg/SVGInlineTextBox.cpp: Add missing FloatConversion.h header.
  • svg/SVGViewElement.cpp: Add missing RenderElement.h header.
  • workers/service/context/ServiceWorkerFetch.h: Add missing forward declaration for the WebCore::SharedBuffer type, remove unused one for WebCore::FragmentedSharedBuffer.

Source/WebKit:

  • Platform/IPC/SharedBufferCopy.cpp: Add missing WebCoreArgumentCoders.h header, remove now unneeded ArgumentCoders.h header.

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

3:40 PM Changeset in webkit [293633] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r293481.
https://bugs.webkit.org/show_bug.cgi?id=239908

Introduced perf regression

Reverted changeset:

"Adjust what we consider to be private relayed"
https://bugs.webkit.org/show_bug.cgi?id=239784
https://commits.webkit.org/r293481

3:26 PM Changeset in webkit [293632] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.11.1

Tag WebKit-7614.1.11.1.

2:50 PM Changeset in webkit [293631] by Patrick Angle
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Regression(r267038) Import a timeline does not render the timeline, only lists the events
https://bugs.webkit.org/show_bug.cgi?id=239872

Reviewed by Devin Rousso.

Two issues existed after r267038 that prevented the timeline overview from rendering correctly for imported
recordings. The first is that the timeline view itself was not visible as the result of assuming that we would
already be in middle of layout when inside WI.TimelineRecordingContentView.prototype._updateTimes, which isn't
true for the updating of times when importing a recording. In that case, syncronously attempting to lay out the
view means that the layout, including initial layout, will be performed before the view is attached, which means
we are unable to get the clientWidth of the view's element during layout, which in turn prevents us from
painting the timeline ruler.

The second issue is that when importing a timeline, we should ignore the current capturing state when setting
the current, start, and end times, otherwise not all the values will be kept.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WI.TimelineRecordingContentView):
(WI.TimelineRecordingContentView.prototype._updateTimes):

2:38 PM Changeset in webkit [293630] by Alan Coon
  • 2 edits in trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy

Corrected spelling of edited in webkitscmpy.

1:05 PM Changeset in webkit [293629] by ysuzuki@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

[JSC] Use FixedVector in JumpReplacements and VariableEventStream
https://bugs.webkit.org/show_bug.cgi?id=239892

Reviewed by Mark Lam.

  1. Introduce DFG::VariableEventStreamBuilder. And construct DFG::VariableEventStream from that

builder when finailizing code generation. We also make it FixedVector.

  1. Use FixedVector for JumpReplacements.
  • Source/JavaScriptCore/dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::shrinkToFit):

  • Source/JavaScriptCore/dfg/DFGCommonData.h:
  • Source/JavaScriptCore/dfg/DFGGenerationInfo.h:

(JSC::DFG::GenerationInfo::noticeOSRBirth):
(JSC::DFG::GenerationInfo::use):
(JSC::DFG::GenerationInfo::spill):
(JSC::DFG::GenerationInfo::setSpilled):
(JSC::DFG::GenerationInfo::fillGPR):
(JSC::DFG::GenerationInfo::fillJSValue):
(JSC::DFG::GenerationInfo::fillCell):
(JSC::DFG::GenerationInfo::fillInt32):
(JSC::DFG::GenerationInfo::fillInt52):
(JSC::DFG::GenerationInfo::fillStrictInt52):
(JSC::DFG::GenerationInfo::fillBoolean):
(JSC::DFG::GenerationInfo::fillDouble):
(JSC::DFG::GenerationInfo::fillStorage):
(JSC::DFG::GenerationInfo::appendBirth):
(JSC::DFG::GenerationInfo::appendFill):
(JSC::DFG::GenerationInfo::appendSpill):

  • Source/JavaScriptCore/dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::shrinkToFit):
(JSC::DFG::JITCode::reconstruct):

  • Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::exceptionCheck):

  • Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h:

(JSC::DFG::SlowPathGenerator::SlowPathGenerator):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::emitInvalidationPoint):
(JSC::DFG::SpeculativeJIT::addSlowPathGeneratorLambda):
(JSC::DFG::SpeculativeJIT::fillStorage):
(JSC::DFG::SpeculativeJIT::compileDeleteById):
(JSC::DFG::SpeculativeJIT::compileDeleteByVal):
(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileHasPrivate):
(JSC::DFG::SpeculativeJIT::noticeOSRBirth):
(JSC::DFG::SpeculativeJIT::compileMovHint):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::compilePutByVal):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::finalizeEventStream):
(JSC::DFG::SpeculativeJIT::use):
(JSC::DFG::SpeculativeJIT::spill):
(JSC::DFG::SpeculativeJIT::recordSetLocal):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileGetByVal):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::fillSpeculateBigInt32):
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):

  • Source/JavaScriptCore/dfg/DFGVariableEventStream.cpp:

(JSC::DFG::VariableEventStreamBuilder::logEvent):
(JSC::DFG::VariableEventStream::reconstruct const):
(JSC::DFG::VariableEventStream::logEvent): Deleted.

  • Source/JavaScriptCore/dfg/DFGVariableEventStream.h:

(JSC::DFG::VariableEventStream::VariableEventStream):
(JSC::DFG::VariableEventStreamBuilder::appendAndLog):
(JSC::DFG::VariableEventStreamBuilder::size const):
(JSC::DFG::VariableEventStreamBuilder::finalize):
(JSC::DFG::VariableEventStream::appendAndLog): Deleted.

  • Source/JavaScriptCore/ftl/FTLLink.cpp:

(JSC::FTL::link):

  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • Source/JavaScriptCore/ftl/FTLState.h:

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

12:41 PM Changeset in webkit [293628] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r293591.
https://bugs.webkit.org/show_bug.cgi?id=239907

Did not resolve perf issue

Reverted changeset:

"Set top origin of CORS preflight requests"
https://bugs.webkit.org/show_bug.cgi?id=239869
https://commits.webkit.org/r293591

12:41 PM Changeset in webkit [293627] by Chris Dumez
  • 9 edits in trunk/Source

Update toExistingAtomString() to return an AtomString
https://bugs.webkit.org/show_bug.cgi?id=239904

Reviewed by Darin Adler.

Update toExistingAtomString() to return an AtomString instead of a RefPtr<AtomStringImpl>
as it is a bit less awkward to use.

  • Source/JavaScriptCore/dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/jit/JITOperations.cpp:

(JSC::getByVal):
(JSC::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

  • Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH):

  • Source/JavaScriptCore/runtime/JSString.h:

(JSC::JSString::toExistingAtomString const):

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

(WTF::StringView::toExistingAtomString const):

  • Source/WebCore/bindings/js/JSDOMConvertStrings.h:

(WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert):

  • Source/WebCore/dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById const):

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

(WebCore::ResourceHandle::create):
(WebCore::ResourceHandle::loadResourceSynchronously):

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

12:25 PM Changeset in webkit [293626] by Simon Fraser
  • 2 edits in trunk/Tools

REGRESSION (249864@main): [ iOS ] TestWebKitAPI.ScrollViewScrollabilityTests.ScrollableWithOverflowHiddenAndShrunkUI is failing
https://bugs.webkit.org/show_bug.cgi?id=239867

Reviewed by Sam Weinig.

Use values that are representative of iPhone 8, which is the model used for running
API tests.

  • TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm:

(TestWebKitAPI::TEST):

11:55 AM Changeset in webkit [293625] by yurys@chromium.org
  • 20 edits
    2 adds in trunk

Format time zone name using ICU instead of platform calls
https://bugs.webkit.org/show_bug.cgi?id=239865

Reviewed by Yusuke Suzuki.

JSTests:

Added new tests that ensure Date's timezone is formatted using preferred
language.

  • complex.yaml:
  • complex/timezone-format-de.js: Added.

(shouldBe):

  • complex/timezone-format-en.js: Added.

(shouldBe):

Source/JavaScriptCore:

formatDateTime now uses cached display name of the timezone.

  • runtime/DateConstructor.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/DateConversion.cpp:

(JSC::formatDateTime):

  • runtime/DateConversion.h:
  • runtime/DatePrototype.cpp:

(JSC::formateDateInstance):

  • runtime/JSDateMath.cpp:

(JSC::toICUTimeZone): Encapsulate bitwise_cast into typesafe functions.
(JSC::toOpaqueICUTimeZone):
(JSC::OpaqueICUTimeZoneDeleter::operator()):
(JSC::DateCache::calculateLocalTimeOffset):
(JSC::DateCache::defaultTimeZone):
(JSC::DateCache::timeZoneDisplayName): Both standard and daylight names are computed
once on the first access as ICU methods internally acquire locks.
(JSC::DateCache::timeZoneCacheSlow):
(JSC::DateCache::resetIfNecessary):

  • runtime/JSDateMath.h:

LayoutTests:

Rebased existing layout tests to reflect new format (which is the same as in other
browsers now).

  • storage/indexeddb/modern/date-basic-expected.txt:
  • storage/indexeddb/modern/date-basic-private-expected.txt:
  • storage/indexeddb/modern/get-keyrange-expected.txt:
  • storage/indexeddb/modern/get-keyrange-private-expected.txt:
  • storage/indexeddb/modern/idbobjectstore-delete-1-expected.txt:
  • storage/indexeddb/modern/idbobjectstore-delete-1-private-expected.txt:
11:13 AM Changeset in webkit [293624] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION(r291998): [GTK] test accessibility/gtk/menu-list-unfocused-notifications.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=239888

Change the delay between changes to the combobox value to 1ms to ensure that an
accessibility event is consistently generated for both changes.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-04-29
Reviewed by Martin Robinson.

  • accessibility/gtk/menu-list-unfocused-notifications.html:
11:11 AM Changeset in webkit [293623] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove unused variable
https://bugs.webkit.org/show_bug.cgi?id=239828

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

11:08 AM Changeset in webkit [293622] by Oriol Brufau
  • 5 edits in trunk/Source/WebCore

[css-cascade] Sort shorthand properties at the end of CSSPropertyID enum
https://bugs.webkit.org/show_bug.cgi?id=238888

Reviewed by Darin Adler.

Only longhands should matter during the CSS Cascade, so by sorting
shorthands at the end, and ignoring them, we can save some memory and
avoid some iterations.

No test since now there should be no observable change in behavior.

  • css/StylePropertyShorthand.cpp:

(WebCore::isShorthandCSSProperty): Deleted.

  • css/StylePropertyShorthand.h:

(WebCore::isShorthandCSSProperty):
Turn function into a simple constexpr comparison.

  • css/makeprop.pl:

(addProperty):
(sortByDescendingPriorityAndName):
Sort shorthand properties at the end.

  • style/PropertyCascade.h:

Update comment.

10:47 AM Changeset in webkit [293621] by Chris Dumez
  • 9 edits in trunk

Drop StringImpl::createFromLiteral()
https://bugs.webkit.org/show_bug.cgi?id=239792

Reviewed by Darin Adler.

Drop StringImpl::createFromLiteral().

Call sites that have an ASCIILiteral can now simply call StringImpl::create(ASCIILiteral).
Call sites that have raw characters can call the existing StringImpl::createWithoutCopying().

This simplifies our API a bit.

Also inline part of the createWithoutCopying() functions so that the 0-length check is
inline. This allows the compiler to optimize the check out when the length is known at
compile time (which is often the case with literals).

  • Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):

  • Source/JavaScriptCore/API/JSScriptRef.cpp:
  • Source/JavaScriptCore/Scripts/wkbuiltins/builtins_templates.py:
  • Source/JavaScriptCore/builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::BuiltinExecutables):

  • Source/JavaScriptCore/runtime/IntlObject.cpp:

(JSC::availableUnits):

  • Source/WTF/wtf/text/StringImpl.cpp:

(WTF::StringImpl::createWithoutCopyingNonEmpty):
(WTF::StringImpl::createFromLiteral): Deleted.
(WTF::StringImpl::createWithoutCopying): Deleted.

  • Source/WTF/wtf/text/StringImpl.h:

(WTF::StringImpl::create):
(WTF::StringImpl::createWithoutCopying):
(WTF::StringImpl::createFromLiteral): Deleted.

  • Source/WTF/wtf/text/WTFString.h:

(WTF::String::String):

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

10:40 AM Changeset in webkit [293620] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION(r290548) [GTK][WPE] test LayoutTests/fast/events/node-event-anchor-lock.html fails
https://bugs.webkit.org/show_bug.cgi?id=239890

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-04-29
Reviewed by Martin Robinson.

  • fast/events/node-event-anchor-lock.html: Disable scroll animation for this test.
9:36 AM Changeset in webkit [293619] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

REGRESSION(r293608): [GTK][WPE] Broke clang builds
https://bugs.webkit.org/show_bug.cgi?id=239899

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-29
Reviewed by Michael Catanzaro.

  • wtf/StdLibExtras.h: Restrict std::remove_cvref hacks to GCC.

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

9:26 AM Changeset in webkit [293618] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Video on twitch.tv shifts to top of screen when toggling playback in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=239884
<rdar://92367060>

Reviewed by Eric Carlson.

Twitch will cause the HTMLMediaElement to recreate the MediaPlayer when resuming playback
after pausing. If this happens in fullscreen, VideoLayerManagerObjC::setVideoLayer() will
be called with the new video layer, however it will be laid out pinned to the top-left
corner of the screen (rather than centered), as setVideoLayer() will call -setFrame with
an explicit 0,0 position argument.

Rather than pin the layer to the top-left, use the full value of m_videoFullscreenFrame
when setting the video layer frame, both in setVideoLayer() as well as
setVideoFullscreenLayer().

Its currently impossible to write an test for this behavior, as TestWebKitAPI is not a UI
application, and therefore cannot enter fullscreen mode.

  • platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:

(WebCore::VideoLayerManagerObjC::setVideoLayer):
(WebCore::VideoLayerManagerObjC::setVideoFullscreenLayer):

8:59 AM Changeset in webkit [293617] by Wenson Hsieh
  • 2 edits in trunk

Unreviewed, add my GitHub account name to contributors.json

I also ran validate-committer-lists --canonicalize to fix up some minor style inconsistencies in this file
after some other recent additions.

  • metadata/contributors.json:
8:45 AM Changeset in webkit [293616] by jer.noble@apple.com
  • 2 edits in trunk

Unreviewed; add my github account to contributors.json.

  • metadata/contributors.json:
8:35 AM Changeset in webkit [293615] by Jonathan Bedard
  • 6 edits in trunk/Tools

[git-webkit] Redact bug title in branch name on alternate remotes
https://bugs.webkit.org/show_bug.cgi?id=239826
<rdar://problem/92418512>

Rubber-stamped by Aakash Jain.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:

(Branch.main): Allow caller to redact bug title in branch name.

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

(PullRequest.pull_request_branch_point): Redact bug title in branch name
for non-origin remotes.

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

(TestBranch.test_redacted):

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

8:24 AM Changeset in webkit [293614] by Jonathan Bedard
  • 2 edits in trunk/Tools

[ews-build.webkit.org] Link to PRs with undefined title
https://bugs.webkit.org/show_bug.cgi?id=239820
<rdar://problem/92416554>

Reviewed by Aakash Jain.

  • CISupport/ews-build/steps.py:

(ConfigureBuild.add_pr_details):

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

8:11 AM Changeset in webkit [293613] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

Add background-clip: text to CSSProperties.json

Unreviewed fix.

  • css/CSSProperties.json:
7:31 AM Changeset in webkit [293612] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Fix ASAN build after "IPC testing API should have the ability to test IPC::Connection send and receive through IPC::Connection"
https://bugs.webkit.org/show_bug.cgi?id=239894

Unreviewed build fix.
Add a return for function which does ASSERT_NOT_REACHED().

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-29

  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPCConnection::didReceiveSyncMessage):

4:20 AM WebKitGTK/Debugging edited by Philippe Normand
(diff)
3:42 AM Changeset in webkit [293611] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK][WPE] media/video-with-alpha.html is failing and skipped
https://bugs.webkit.org/show_bug.cgi?id=226484

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-29
Unreviewed, gardening.

  • platform/glib/TestExpectations: The SDK ships GStreamer 1.20, mark

media/video-with-alpha.html as passing.

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

12:59 AM Changeset in webkit [293610] by Diego Pino Garcia
  • 6 edits in trunk/Source/WebKit

[macOS] Unreviewed, non-unified build fixes
https://bugs.webkit.org/show_bug.cgi?id=239889

  • UIProcess/API/Cocoa/_WKDataTask.h:
  • UIProcess/API/Cocoa/_WKDataTask.mm:
  • UIProcess/API/Cocoa/_WKInspectorConfigurationInternal.h:
  • UIProcess/Cocoa/ModalContainerControlClassifier.h:
  • UIProcess/Cocoa/ModalContainerControlClassifier.mm:
12:57 AM Changeset in webkit [293609] by youenn@apple.com
  • 4 edits
    2 adds in trunk

HTMLMediaElement can get multiple interruptions for invisible autoplay
https://bugs.webkit.org/show_bug.cgi?id=239842
<rdar://91809550>

Reviewed by Eric Carlson.

Source/WebCore:

A media element may be interrupted for invisible autoplay.
In some cases, like by calling play on the media element, the media element will no longer be in interrupted state.
This will lead to multiple invisible autoplay interruptions to be added to the same media element.
There will be only one end of interruption for invisible autoplay, which will lead to the media element to not restart as expected.

To prevent this, we store a boolean in HTMLMediaElement that tells us whether the media element has an ongoing invisible autoplay interruption.
Based on that, we make sure to always balance invisible autoplay interruption begin and end.

Test: media/video-mediastream-restricted-invisible-autoplay-not-allowed.html

  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h:

LayoutTests:

  • fast/mediastream/video-mediastream-restricted-invisible-autoplay-not-allowed-expected.txt: Added.
  • fast/mediastream/video-mediastream-restricted-invisible-autoplay-not-allowed.html: Added.
12:50 AM Changeset in webkit [293608] by Diego Pino Garcia
  • 5 edits in trunk

[GCC] std::remove_cvref is undefined in GCC8.4
https://bugs.webkit.org/show_bug.cgi?id=239881

Reviewed by Žan Doberšek.

r293505 changed the guard that added std::remove_cvref if not defined
by GCC, checking cplusplus <= 201703L.

However in Ubuntu GCC8.4 this flag's value is 201709L. Thus, the
evaluation of this flag cannot reliably determine whether the compiler
has to define std::remove_cvref or not.

Instead of relying on a predefined compiler flag, what the patch does is
to attempt to compile a small snippet of code to check whether std::remove_cvref
is supported by the compiler. If successful, the flag 'HAVE_STD_REMOVE_CVREF' is defined.

.:

  • Source/cmake/OptionsCommon.cmake: Set and expose HAVE_STD_REMOVE_CVREF if needed.
  • Source/cmake/WebKitCompilerFlags.cmake: Check whether GCC supports std::remove_cvref.

Source/WTF:

  • wtf/StdLibExtras.h: Define std::remove_cvref if not defined by GCC.
12:14 AM Changeset in webkit [293607] by youenn@apple.com
  • 4 edits in trunk

Make sure to fail importScripts as per https://w3c.github.io/ServiceWorker/#importscripts step 4
https://bugs.webkit.org/show_bug.cgi?id=239847

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/import-scripts-updated-flag.https-expected.txt:

Source/WebCore:

Once a service worker is installed, the service worker should not be able to call importScript on new URLs.
Covered by updated test.

  • workers/WorkerScriptLoader.cpp:

Apr 28, 2022:

10:18 PM Changeset in webkit [293606] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

afterprint event should be scheduled on event loop
https://bugs.webkit.org/show_bug.cgi?id=239883

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Chris Dumez.

  • page/Page.cpp:

(WebCore::dispatchPrintEvent):
(WebCore::Page::dispatchBeforePrintEvent):
(WebCore::Page::dispatchAfterPrintEvent):

9:12 PM Changeset in webkit [293605] by ysuzuki@apple.com
  • 19 edits in trunk/Source

[JSC] Make DFG::OSRExit data unlinked
https://bugs.webkit.org/show_bug.cgi?id=239828

Reviewed by Saam Barati.

This patch makes DFG::OSRExit unlinked. While generated OSR exit code is linked version,
we no longer put linked data to DFG::OSRExit so that unlinked DFG can use DFG::OSRExit.
Key changes are two things.

  1. Now, we always store compiled MacroAssemblerCodeRef in DFG::JITData regardless of whether we have linked / unlinked DFG. While linked DFG uses repatching to jump to this code, unlinked DFG looks into this vector in JITData and jump to that.
  2. MethodOfGettingAValueProfile was including CodeBlock*, ValueProfile* in CodeBlock* etc., so it was linked data structure which unlinked DFG cannot use. Instead, we encode how to retrieve these pointers when generating OSR exit code actually, and just storing CodeOrigin, type, and Operand to make MethodOfGettingAValueProfile unlinked data structure. While CodeOrigin can include InlineCallFrame, but our first version of unlinked DFG will not perform inlining thus we will not include it. It also makes sizeof(MethodOfGettingAValueProfile) smaller from 32 bytes to 16 bytes (50% reduction).
  • Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:

(JSC::MacroAssemblerCodeRef::offsetOfCodePtr):

  • Source/JavaScriptCore/bytecode/CodeBlock.cpp:

(JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): Deleted.

  • Source/JavaScriptCore/bytecode/CodeBlock.h:
  • Source/JavaScriptCore/bytecode/MethodOfGettingAValueProfile.cpp:

(JSC::MethodOfGettingAValueProfile::emitReportValue const):
(JSC::MethodOfGettingAValueProfile::fromLazyOperand): Deleted.
(JSC::MethodOfGettingAValueProfile::reportValue): Deleted.

  • Source/JavaScriptCore/bytecode/MethodOfGettingAValueProfile.h:

(JSC::MethodOfGettingAValueProfile::unaryArithProfile):
(JSC::MethodOfGettingAValueProfile::binaryArithProfile):
(JSC::MethodOfGettingAValueProfile::argumentValueProfile):
(JSC::MethodOfGettingAValueProfile::bytecodeValueProfile):
(JSC::MethodOfGettingAValueProfile::lazyOperandValueProfile):
(JSC::MethodOfGettingAValueProfile::operator bool const):
(JSC::MethodOfGettingAValueProfile::MethodOfGettingAValueProfile): Deleted.

  • Source/JavaScriptCore/dfg/DFGGraph.cpp:

(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

  • Source/JavaScriptCore/dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::JITCode):
(JSC::DFG::JITCode::findPC):

  • Source/JavaScriptCore/dfg/DFGJITCode.h:
  • Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):

  • Source/JavaScriptCore/dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::finalize):

  • Source/JavaScriptCore/dfg/DFGOSRExit.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
(JSC::DFG::OSRExit::compileExit):
(JSC::DFG::OSRExit::codeLocationForRepatch const): Deleted.

  • Source/JavaScriptCore/dfg/DFGOSRExit.h:

(JSC::DFG::OSRExit::codeLocationForRepatch const):
(JSC::DFG::OSRExitState::OSRExitState): Deleted.

  • Source/JavaScriptCore/dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeJITData):

  • Source/JavaScriptCore/dfg/DFGPlan.h:
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::lower):

  • Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • Source/WTF/wtf/FixedVector.h:

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

7:24 PM Changeset in webkit [293604] by Brent Fulgham
  • 12 edits in trunk/Source

Remove the AVFoundationNSURLSessionEnabled preference
https://bugs.webkit.org/show_bug.cgi?id=239632

Reviewed by Eric Carlson.

All supported operating systems have supported AVFoundationNSURLSession
for several years. Since we expect AVFoundation to always use WebKit
for network loading (and indeed, expect improper behavior if we do not)
we should remove this toggle to simplify the code and reduce the chance
for users to mistakenly activate it.

Source/WebCore:

  • page/DeprecatedGlobalSettings.cpp:

(WebCore::DeprecatedGlobalSettings::setAVFoundationEnabled):
(WebCore::DeprecatedGlobalSettings::setAVFoundationNSURLSessionEnabled): Deleted.

  • page/DeprecatedGlobalSettings.h:

(WebCore::DeprecatedGlobalSettings::isAVFoundationEnabled):
(WebCore::DeprecatedGlobalSettings::isAVFoundationNSURLSessionEnabled): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::didPassCORSAccessCheck const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wouldTaintOrigin const):

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAVFoundationNSURLSessionEnabled):
(WKPreferencesGetAVFoundationNSURLSessionEnabled):

  • UIProcess/API/C/WKPreferencesRef.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences setAVFoundationNSURLSessionEnabled:]):
(-[WebPreferences isAVFoundationNSURLSessionEnabled]):

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:
6:59 PM Changeset in webkit [293603] by Patrick Griffis
  • 3 edits
    2 adds in trunk

CSP: Fix mixing strict-dynamic and unsafe-inline policies
https://bugs.webkit.org/show_bug.cgi?id=239862

Reviewed by Kate Cheney.

Source/WebCore:

Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies.html

  • page/csp/ContentSecurityPolicyDirectiveList.cpp:

(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForNonParserInsertedScripts const):

LayoutTests:

If you had multiple policies, one including strict-dynamic and another with unsafe-inline, the unsafe-inline
policy was incorrectly handled.

  • http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies.html: Added.
6:46 PM Changeset in webkit [293602] by Oriol Brufau
  • 6 edits in trunk

[css-cascade] Mark properties sharing a computed value as related
https://bugs.webkit.org/show_bug.cgi?id=239579

Reviewed by Tim Nguyen.

LayoutTests/imported/w3c:

Some failures are now passing.

  • web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:

Source/WebCore:

Some longhand properties share a computed value with another property,
like a legacy -webkit- prefixed one.

In that case, when both properties are specified, the last one should
win. That is typically done by marking the properties as related, using
the "related-property" field. This defers the properties and makes
them cascade properly.

However, some properties weren't marked as related despite sharing a
computed value. So this patch marks these pairs:

  • mask-clip and -webkit-mask-clip
  • mask-composite and -webkit-mask-composite
  • mask-mode and -webkit-mask-source-type
  • text-combine-upright and -webkit-text-combine

Test: imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer.html

  • css/CSSProperties.json:

LayoutTests:

Some failures are now passing.

  • platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
6:28 PM Changeset in webkit [293601] by ysuzuki@apple.com
  • 16 edits in trunk

Support C files in Unified Builds
https://bugs.webkit.org/show_bug.cgi?id=239873

Reviewed by Mark Lam.

This patch adds support for C (not CPP) files in Unified Builds
so that we do not need to build Zydis in non-unified way.

Also, this patch fixes a bug that we always generate empty UnifiedSource-1.xxx.
It also fixes a bug that this script cannot handle 0 max bundle count.

  • Tools/TestWebKitAPI/Scripts/generate-unified-sources.sh:
  • Source/JavaScriptCore/CMakeLists.txt:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
  • Source/JavaScriptCore/Sources.txt:
  • Source/JavaScriptCore/UnifiedSources-output.xcfilelist:
  • Source/WebKit/Scripts/generate-unified-sources.sh:
  • Source/WebKitLegacy/scripts/generate-unified-sources.sh:
  • Source/WTF/Scripts/generate-unified-source-bundles.rb:
  • Source/WebCore/Scripts/generate-unified-sources.sh:

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

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

Tag WebKit-7613.2.7.1.7.

5:52 PM Changeset in webkit [293599] by Alan Coon
  • 19 edits in branches/safari-613.2.7.1-branch/Source

Cherry-pick r287877. rdar://problem/92357915

Non-unified build fixes, early January 2022 edition
https://bugs.webkit.org/show_bug.cgi?id=235013

Unreviewed non-unified build fixes.

Source/JavaScriptCore:

  • wasm/js/JSWebAssemblyModule.cpp: Add missing JSWebAssemblyLinkError.h header.
  • wasm/js/JSWebAssemblyModule.h: Add missing forward declaration for the JSC::OptimizingCallLinkInfo type.

Source/WebCore:

No new tests needed.

  • Modules/fetch/FetchBodyConsumer.cpp: Add missing FormData.h header.
  • Modules/fetch/FormDataConsumer.h: Add missing ExceptionOr.h header, and forward declaration for the WebCore::ScriptExecutionContext type.
  • animation/CSSAnimation.cpp: Add missing KeyframeEffect.h header.
  • animation/KeyframeEffect.cpp: Add missing StyledElement.h header.
  • html/HTMLFormElement.cpp: Add missing PseudoClassChangeInvalidation.h header.
  • platform/network/SynchronousLoaderClient.cpp: Add missing SharedBuffer.h header.
  • rendering/svg/RenderSVGBlock.cpp: Add missing SVGRenderSupport.h header.
  • rendering/svg/RenderSVGForeignObject.cpp: Ditto.
  • rendering/svg/RenderSVGInline.cpp: Ditto.
  • rendering/svg/RenderSVGModelObject.cpp: Add missing SVGElementInlines.h header.
  • rendering/svg/SVGInlineTextBox.cpp: Add missing FloatConversion.h header.
  • svg/SVGViewElement.cpp: Add missing RenderElement.h header.
  • workers/service/context/ServiceWorkerFetch.h: Add missing forward declaration for the WebCore::SharedBuffer type, remove unused one for WebCore::FragmentedSharedBuffer.

Source/WebKit:

  • Platform/IPC/SharedBufferCopy.cpp: Add missing WebCoreArgumentCoders.h header, remove now unneeded ArgumentCoders.h header.

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

5:51 PM Changeset in webkit [293598] by Alan Coon
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.7

5:29 PM Changeset in webkit [293597] by Wenson Hsieh
  • 2 edits in trunk/Source/WTF

REGRESSION (DOM GPUP): Rich HTML emails on watchOS no longer show up
https://bugs.webkit.org/show_bug.cgi?id=239870
rdar://91311606

Reviewed by Tim Horton.

Temporarily turn GPU process for DOM off by default on watchOS.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
4:51 PM Changeset in webkit [293596] by Chris Dumez
  • 3 edits in trunk/Source/WebCore/rendering/style

Use a HashSet instead of a std::unique_ptr<HashSet> for StyleRareNonInheritedData.customPaintWatchedProperties
https://bugs.webkit.org/show_bug.cgi?id=239863

Reviewed by Yusuke Suzuki.

Use a HashSet instead of a std::unique_ptr<HashSet> for StyleRareNonInheritedData.customPaintWatchedProperties.
A HashSet is already essentially a pointer, no need for the extra dereferencing.

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

(WebCore::RenderStyle::addCustomPaintWatchProperty):
(WebCore::changedCustomPaintWatchedProperty):

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

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

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

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

4:31 PM Changeset in webkit [293595] by pvollan@apple.com
  • 19 edits
    1 add in trunk/Source

Dynamically switch message filter
https://bugs.webkit.org/show_bug.cgi?id=238577
<rdar://69263324>

Reviewed by Geoffrey Garen.

Source/WebKit:

Use a sandbox state variable to dynamically switch the bootstrap filter in the WebContent process' sandbox.
During launch of the WebContent process, we use a more permissive bootstrap filter to allow creating Mach
connections in this time frame. After the WebContent process has launched, we switch to a blocking filter,
which will essentially block access to launchd. The bootstrap filter is being switched back to the more
permissive version when we create new Mach sandbox extensions for the WebContent process. This is done on
a case by case basis, by adding a new parameter to control this behavior when creating Mach sandbox
extensions. While launching the WebContent process there is usually no need to specify that the permissive
bootstrap filter is needed, since we are already using the permissive filter during launch time. However,
for some Mach extensions that will only result in a new XPC connection in the WebContent process after launch,
we need to specify that the permissive filter is requried. Otherwise, creating the new XPC connection after
launch will fail. For Mach sandbox extensions created after launch of the WebContent process, we always need
to use the permissive bootstrap filter to be able to create the XPC connection. Enabling the permissive
bootstrap filter requires the audit token to be available, which means we need to pass the audit token when
creating the new Mach sandbox extensions. This patch also waits until after the Web page has been created to
set the sandbox variable which indicates that the WebContent process has launched. Without this last change,
the bootstrap filter would have needed switching when creating the Web page, since creating the WebPage will
consume and revoke some mach extensions.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Scripts/process-entitlements.sh:
  • Shared/Cocoa/SandboxExtensionCocoa.mm:

(WebKit::SandboxExtension::createHandleForMachLookup):
(WebKit::SandboxExtension::createHandlesForMachLookup):

  • Shared/Sandbox/SandboxStateVariables.h: Added.
  • Shared/SandboxExtension.h:
  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::addPlatformLoadParameters):
(WebKit::WebPageProxy::grantAccessToAssetServices):
(WebKit::WebPageProxy::switchFromStaticFontRegistryToUserFontRegistry):
(WebKit::WebPageProxy::fontdMachExtensionHandle):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):
(WebKit::WebProcessProxy::messageSourceIsValidWebContentProcess):
(WebKit::WebProcessProxy::auditToken const):

  • UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.cpp:

(WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::addSource):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):

  • UIProcess/UserMediaProcessManager.cpp:

(WebKit::UserMediaProcessManager::willCreateMediaStream):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processNextQueuedMouseEvent):
(WebKit::WebPageProxy::didChooseFilesForOpenPanelWithDisplayStringAndIcon):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::create):

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

Source/WTF:

Add SPI to set sandbox state variable.

  • wtf/spi/darwin/SandboxSPI.h:
3:47 PM Changeset in webkit [293594] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] imported/w3c/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-003.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=239871

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk1/TestExpectations:

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

3:43 PM Changeset in webkit [293593] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix SafeBrowsing API tests on platforms with safe browsing result details
https://bugs.webkit.org/show_bug.cgi?id=239861
<rdar://91767123>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Anders Carlsson.

  • TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:

(-[TestServiceLookupResult malwareDetailsBaseURLString]):
(-[TestServiceLookupResult learnMoreURL]):
(-[TestServiceLookupResult reportAnErrorBaseURLString]):
(-[TestServiceLookupResult localizedProviderDisplayName]):

3:26 PM Changeset in webkit [293592] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Remove expectations for tiled-drawing/scrolling/scroll-snap/scroll-snap-momentum-in-non-snapping-axis.html
https://bugs.webkit.org/show_bug.cgi?id=228930

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

3:21 PM Changeset in webkit [293591] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Set top origin of CORS preflight requests
https://bugs.webkit.org/show_bug.cgi?id=239869
<rdar://92458995>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Geoffrey Garen.

Since r293481 we establish two TCP connections to each domain that needs a CORS preflight request.
This is because we were calling _setPrivacyProxyFailClosedForUnreachableNonMainHosts for the CORS
preflight request but not the actual request after a successful CORS preflight check. They were
different because we weren't setting parameters.topOrigin for the CORS preflight request. Now we
are and the two requests can share a TCP connection once more.

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::startPreflight):

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

Fix build error after r293509
https://bugs.webkit.org/show_bug.cgi?id=239866
<rdar://92471416>

Unreviewed build fix.

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::AuxiliaryProcess::isSystemWebKit):

2:23 PM Changeset in webkit [293589] by Simon Fraser
  • 5 edits in trunk

[ macOS Debug wk2 ] Thirteen imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ are a flaky crash (ASSERTION FAILED: willBeComposited == needsToBeComposited(layer, queryData))
https://bugs.webkit.org/show_bug.cgi?id=239770
<rdar://92334616>

Reviewed by Jer Noble.

Source/WebKit:

With media in the GPU Process, the contract that changes in the answer to
HTMLMediaElement::supportsAcceleratedRendering() must be associated with a call to
contentChanged(VideoChanged) was broken: MediaPlayerPrivateRemote's
m_configuration.supportsAcceleratedRendering changed in response to IPC from the GPU process,
but nothing triggered contentChanged(VideoChanged).

Fix by calling renderingModeChanged().

  • GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged):

LayoutTests:

Unskip the affected tests, reverting r293451.

  • platform/mac-wk2/TestExpectations:
1:13 PM Changeset in webkit [293588] by Chris Dumez
  • 6 edits in trunk/Source

Leverage the known length of an ASCIILiteral when comparing it to a String / AtomString
https://bugs.webkit.org/show_bug.cgi?id=239798

Reviewed by Yusuke Suzuki and Darin Adler.

Leverage the known length of an ASCIILiteral when comparing it to a String / AtomString.
Make sure we call ASCIILiteral::length() inline to allow the compiler to optimize out
the strlen() call, then call the more efficient equal(StringImpl*, const LChar*, unsigned)
instead of equal(StringImpl*, const LChar*).

  • Source/JavaScriptCore/jsc.cpp:

(printInternal):

  • Source/JavaScriptCore/runtime/JSCJSValueInlines.h:

(JSC::toPreferredPrimitiveType):

  • Source/JavaScriptCore/runtime/PropertyName.h:

(JSC::isCanonicalNumericIndexString):

  • Source/WTF/wtf/text/AtomString.h:

(WTF::operator==):

  • Source/WTF/wtf/text/StringImpl.h:

(WTF::equal):

  • Source/WTF/wtf/text/WTFString.h:

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

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

1:04 PM Changeset in webkit [293587] by commit-queue@webkit.org
  • 17 edits
    1 move
    1 delete in trunk/LayoutTests

[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=239827

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-04-28

LayoutTests/imported/w3c:

  • web-platform-tests/cookies/samesite/about-blank-toplevel.https-expected.txt: Update baseline to expect a pass.

LayoutTests:

  • platform/glib/TestExpectations:
  • platform/glib/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
  • platform/glib/fast/lists/li-br-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/gtk/compositing/repaint/composite-and-scale-change-expected.txt: Renamed from LayoutTests/platform/gtk/compositing/repaint/composite-and-scale-change-actual.txt.
  • platform/gtk/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
  • platform/gtk/fast/borders/rtl-border-05-expected.txt:
  • platform/gtk/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
  • platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/gtk/fast/ruby/ruby-runs-spans-expected.txt:
  • platform/gtk/fast/ruby/rubyDOM-insert-rt-expected.txt:
  • platform/gtk/fast/ruby/rubyDOM-insert-text1-expected.txt:
  • platform/gtk/inspector/css/shadow-scoped-style-expected.txt: Removed.
  • platform/wpe/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
  • platform/wpe/fast/borders/rtl-border-05-expected.txt:
  • platform/wpe/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
12:59 PM Changeset in webkit [293586] by Russell Epstein
  • 2 edits in branches/safari-614.1.11-branch/Source/WebGPU

Cherry-pick r293558. rdar://problem/91769511

WebGPU doesn't create a symlink to the system content path in installhdrs
https://bugs.webkit.org/show_bug.cgi?id=239819

Reviewed by Alexey Proskuryakov.

Enabled script phases for installhdrs and installapi.

  • Configurations/WebGPU.xcconfig:

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

12:56 PM Changeset in webkit [293585] by Russell Epstein
  • 9 edits in branches/safari-614.1.11-branch/Source

Versioning.

WebKit-7614.1.11.1

12:48 PM Changeset in webkit [293584] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.10.8

Tag WebKit-7614.1.10.8.

12:47 PM Changeset in webkit [293583] by Russell Epstein
  • 2 edits in branches/safari-614.1.10-branch/Source/WebGPU

Cherry-pick r293558. rdar://problem/91769511

WebGPU doesn't create a symlink to the system content path in installhdrs
https://bugs.webkit.org/show_bug.cgi?id=239819

Reviewed by Alexey Proskuryakov.

Enabled script phases for installhdrs and installapi.

  • Configurations/WebGPU.xcconfig:

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

12:45 PM Changeset in webkit [293582] by Russell Epstein
  • 9 edits in branches/safari-614.1.10-branch/Source

Versioning.

WebKit-7614.1.10.8

12:05 PM Changeset in webkit [293581] by youenn@apple.com
  • 4 edits in trunk/LayoutTests

Update webrtc/connection-state.html to not expected the completed ice connection state
https://bugs.webkit.org/show_bug.cgi?id=239843

Reviewed by Eric Carlson.

Wait for video to be playable to check states.
Remove completed state from the expected ice connection state as this is racy and app specific for when completed will happen (it can take a long time or not).
This is aligned with WebKit and Chrome implementations.

  • TestExpectations:
  • webrtc/connection-state.html:
  • webrtc/connection-state-expected.txt:
11:45 AM Changeset in webkit [293580] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[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

10:46 AM Changeset in webkit [293579] by ysuzuki@apple.com
  • 9 edits in trunk

[WTF] Use quadratic-probing instead of double-hashing
https://bugs.webkit.org/show_bug.cgi?id=239813

Reviewed by Geoffrey Garen.

If table size is always power-of-two, we can safely use quadratic-probing[1] even if the load exceeds 50%.
Quadratic-probing and double-hashing have different tradeoff between clustering possibility and CPU cache
friendliness. Double-hashing can avoid clustering more, but it is not CPU cache friendly. Quadratic-probing
can cause clustering more but better for CPU cache. And while linear-probing caused a lot of trouble and not
practical, quadratic-probing with 75% load factor is practical configuration which is used in production-ready
hashtables e.g. Google's sparsetable / densetable[2].

This patch replaces WTF::HashTable's probing algorithm from double-hashing to quadratic-probing to make it more
cache friendly while keeping reasonable clustering characteristics (compared to linear-probing etc.). Due to
this cache friendliness, we get large performance improvements.

  1. 0.52% improvement in Speedometer2 with 95% probability.
  2. 0.72% improvement in JetStream2 with 98% probability.

[1]: https://fgiesen.wordpress.com/2015/02/22/triangular-numbers-mod-2n/
[2]: http://goog-sparsehash.sourceforge.net/doc/implementation.html

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

10:40 AM Changeset in webkit [293578] by pvollan@apple.com
  • 2 edits in trunk/Source/WTF

[iOS] Enable IOKit blocking in GPUP by default
https://bugs.webkit.org/show_bug.cgi?id=239615

Reviewed by Darin Adler.

  • Scripts/Preferences/WebPreferencesInternal.yaml:
10:23 AM Changeset in webkit [293577] by Angelos Oikonomopoulos
  • 2 edits in trunk/Tools

[run-javascriptcore-tests] Fix user-facing accounting
https://bugs.webkit.org/show_bug.cgi?id=239845

Reviewed by Adrian Perez de Castro.

Update numJSCStressFlakyButPassed for flaky tests that were declared a
pass. Otherwise we end up miscounting passes as failures in the summary
we print out to the user. E.g. in
https://build.webkit.org/#/builders/31/builds/3567/steps/8/logs/stdio
the test was flaky but passed, yet run-javascriptcore-tests outputs

1 test flaky and failed.

since it calculates $numJSCStressFlaky - $numJSCStressFlakyButPassed
and $numJSCStressFlakyButPassed is zero (since it wasn't getting
updated).

  • Scripts/run-javascriptcore-tests:

(runJSCStressTests):

9:48 AM Changeset in webkit [293576] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

[ iOS ] tables/mozilla/bugs/bug26178.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=239567
<rdar://problem/92055518>

Unreviewed test gardening.

This test produces different (1px) render tree dump results on iOS 15 and 15E sims.
Mark as failure on iOS as there appears be no way to have different expectations for those.

  • platform/ios/TestExpectations:
  • platform/ios/tables/mozilla/bugs/bug26178-expected.txt:

Also update to E results.

9:34 AM Changeset in webkit [293575] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitbugspy] Limit number of failed bugzilla login attempts
https://bugs.webkit.org/show_bug.cgi?id=239850
<rdar://problem/92462214>

Reviewed by Michael Catanzaro.

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

(Tracker.init): Caller can define the number of failed login attempts.
(Tracker.user): Detect a failed login.
(Tracker._login_arguments): Only provide login arguments if login attempts
have not been exceeded.
(Tracker.populate): Detect a failed login.
(Tracker.set): Detect a failed login, handle case where login arguments are
not provided due to exceeded login attempts.
(Tracker.add_comment): Ditto.
(Tracker.projects): Detect a failed login.

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

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

9:27 AM Changeset in webkit [293574] by ntim@apple.com
  • 3 edits in trunk/LayoutTests

Rebaseline editing/pasteboard/smart-paste-paragraph-002.html after r293521
https://bugs.webkit.org/show_bug.cgi?id=166782

Unreviewed test gardening.

  • editing/pasteboard/smart-paste-paragraph-002-expected.txt:
  • platform/ios/editing/pasteboard/smart-paste-paragraph-002-expected.txt:
9:20 AM Changeset in webkit [293573] by aakash_jain@apple.com
  • 1 edit in trunk/Tools/CISupport/ews-build/steps.py

Merge-queue error message about missing user permissions from contributors.json should indicate how to fix it
https://bugs.webkit.org/show_bug.cgi?id=239851

Reviewed by Jonathan Bedard.

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

(ValidateCommitterAndReviewer.fail_build):

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

8:18 AM WebKitGTK/2.36.x edited by Michael Catanzaro
(diff)
8:12 AM Changeset in webkit [293572] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

DisplayList::Recorder should lazily create the DrawGlyphsRecorder
https://bugs.webkit.org/show_bug.cgi?id=239829

Reviewed by Myles C. Maxfield.

Creating a DrawGlyphsRecorder does a bit of work that calls into Core Graphics. We don't need
to do this work for a layer that has no text, so delay this work until the first drawGlyphs() call.

This is a few % perf gain on the Images MotionMark subtest.

  • platform/graphics/DrawGlyphsRecorder.h:
  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::drawGlyphs):

  • platform/graphics/displaylists/DisplayListRecorder.h:
3:06 AM Changeset in webkit [293571] by zan@falconsigh.net
  • 2 edits in trunk/Source/JavaScriptCore

[RISCV64] Implement MacroAssemblerRISCV64 branchAtomicWeakCAS{8,16,32,64} methods
https://bugs.webkit.org/show_bug.cgi?id=239806

Reviewed by Yusuke Suzuki.

Provide MacroAssemblerRISCV64 method implementations for the different
branchAtomicWeakCAS variants. The 32-bit and 64-bit versions are
straightforward, leveraging the load-reserved and store-conditional
instructions of the corresponding sizes. For 8-bit and 16-bit versions,
a method template is provided, loading and storing 32-bit words and
performing additional operations to validate and change the desired
value.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::branchAtomicWeakCASImpl):
(JSC::MacroAssemblerRISCV64::branchAtomicWeakCAS8):
(JSC::MacroAssemblerRISCV64::branchAtomicWeakCAS16):
(JSC::MacroAssemblerRISCV64::branchAtomicWeakCAS32):
(JSC::MacroAssemblerRISCV64::branchAtomicWeakCAS64):

1:21 AM Changeset in webkit [293570] by Said Abou-Hallawa
  • 62 edits in trunk/Source

[GPU Process] Make WebImage be backed by ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=239527
rdar://91113628

Reviewed by Tim Horton.

Source/WebCore:

Before enabling GPU Process for DOM rendering there were two modes for
page snapshot: Local bitmap and ShareableBitmap. The ShareableBitmap is
shared between the WebProcess and the UIProcess. The image is drawn in
WebProcess and is consumed by the UIProcess.

After enabling GPU Process for DOM rendering, a new mode should be added:
Remote ShareableBitmap. In this mode, the graphics will be recorded in
WebProcess, the drawing will be committed in GPUProcess and the image will
be consumed by either the WebProcess or the UIProcess.

To add this new mode, the snapshot will be drawn to an ImageBuffer instead
of a ShareableBitmap. And WebImage will be backed by an ImageBuffer instead
of a ShareableBitmap.

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

  • page/FrameSnapshotting.h:
  • platform/graphics/ConcreteImageBuffer.h:

(WebCore::ConcreteImageBuffer::create):

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::createCairoSurface):

  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::createCairoSurface):
(WebCore::ImageBufferBackend::Parameters::encode const):
(WebCore::ImageBufferBackend::Parameters::decode):

  • platform/graphics/RenderingMode.h:
  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:

(WebCore::ImageBufferCairoSurfaceBackend::createCairoSurface):

  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.h:

Source/WebKit:

-- Allow ImageBufferBackendHandleSharing and ImageBufferShareableBitmapBackend

to compile always.

-- Make WebImage hold an ImageBuffer instead of having it hold a ShareableBitamp.

-- Pass the ChromeClient to WebImage::create() so it can call its

createImageBuffer() which creates RemoteImageBuffer for GPUProcess
drawing.

-- Remove the ShareableBitamp local mode where is backed by a local memory

buffer. This mode was added to make WebImage can be non shareable even
it was backed by ShareableBitamp. So ShareableBitmap::createShareable()
should be renamed ShareableBitmap::create().

-- Replace WebImage::bitmap()::makeCGImageCopy() with

WebImage::copyNativeImage(WebCore::CopyBackingStore)

-- Replace WebImage::bitmap()::makeCGImageCopy() with

WebImage::copyNativeImage(WebCore::DontCopyBackingStore)

-- Replace WebImage::bitmap()::createGraphicsContext() with

WebImage::context()

-- Allow encoding and decoding ImageBufferShareableBitmapBackend by allowing

ImageBufferBackend::Parameters to be encoded and decoded.

-- Make ImageBuffer be able to createCairoSurface(). The pointer to this

surface will be leaked. And to maintain a correct life cycle for the
surface data which is owned by the backend, the ImageBuffer itself
will be ref() when the surface RefPtr is created and will be deref()
when the surface raw pointer is destroyed.

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::getFilteredImageForImageBuffer):

  • GPUProcess/graphics/wc/WCScene.cpp:

(WebKit::WCScene::update):

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::bitmapImageForCurrentTime):

  • Shared/API/c/WKImage.cpp:

(WKImageCreate):

  • Shared/API/c/cairo/WKImageCairo.cpp:

(WKImageCreateCairoSurface):
(WKImageCreateFromCairoSurface):

  • Shared/API/c/cg/WKImageCG.cpp:

(WKImageCreateCGImage):
(WKImageCreateFromCGImage):

  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::setImage):

  • Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.cpp:

(WebKit::CGDisplayListImageBufferBackend::createBackendHandle const):

  • Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.h:
  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::create):
(WebKit::ShareableBitmap::createHandle const):
(WebKit::ShareableBitmap::ShareableBitmap):
(WebKit::ShareableBitmap::data const):
(WebKit::ShareableBitmap::createShareable): Deleted.
(WebKit::ShareableBitmap::~ShareableBitmap): Deleted.

  • Shared/ShareableBitmap.h:

(WebKit::ShareableBitmap::bytesPerRow const):
(WebKit::ShareableBitmap::isBackedBySharedMemory const): Deleted.

  • Shared/UserData.cpp:

(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::encodeImage):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebImage.cpp:

(WebKit::WebImage::create):
(WebKit::WebImage::WebImage):
(WebKit::WebImage::size const):
(WebKit::WebImage::parameters const):
(WebKit::WebImage::context const):
(WebKit::WebImage::copyNativeImage const):
(WebKit::WebImage::bitmap const):
(WebKit::WebImage::createCairoSurface):
(WebKit::WebImage::createHandle const):
(WebKit::WebImage::~WebImage): Deleted.

  • Shared/WebImage.h:

(WebKit::WebImage::bitmap): Deleted.
(WebKit::WebImage::bitmap const): Deleted.

  • Shared/cairo/ShareableBitmapCairo.cpp:

(WebKit::ShareableBitmap::createPersistentCairoSurface):

  • Shared/gtk/ArgumentCodersGtk.cpp:

(IPC::encodeImage):

  • UIProcess/API/glib/WebKitWebView.cpp:

(webKitWebViewDidReceiveSnapshot):

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::convertPlatformImageToBitmap):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didGetImageForFindMatch):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WKTextFinderClient.mm:

(-[WKTextFinderClient didGetImageForMatchResult:]):

  • WebProcess/Automation/WebAutomationSessionProxy.cpp:

(WebKit::WebAutomationSessionProxy::takeScreenshot):

  • WebProcess/GPU/graphics/ImageBufferBackendHandle.h:
  • WebProcess/GPU/graphics/ImageBufferBackendHandleSharing.h:

(WebKit::ImageBufferBackendHandleSharing::bitmap const):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:

(WebKit::ImageBufferShareableBitmapBackend::create):
(WebKit::ImageBufferShareableBitmapBackend::ImageBufferShareableBitmapBackend):
(WebKit::ImageBufferShareableBitmapBackend::createBackendHandle const):
(WebKit::ImageBufferShareableBitmapBackend::createCairoSurface):

  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:

(WebKit::createShareableBitmapFromNativeImage):

  • WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:

(WebKit::ImageBufferRemoteIOSurfaceBackend::createBackendHandle const):

  • WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::createBackendHandle const):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:

(-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:width:]):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::image const):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::snapshot):

  • WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:

(WebKit::createShareableBitmap):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createImageBuffer const):

  • WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

(WebKit::convertCairoSurfaceToShareableBitmap):

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::convertDragImageToBitmap):

  • WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:

(WebKit::WebPopupMenu::setUpPlatformData):

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::display):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getImageForFindMatch):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::createSelectionSnapshot const):

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

(WebKit::WebPage::takeSnapshot):
(WebKit::snapshotColorSpace):
(WebKit::WebPage::snapshotAtSize):
(WebKit::WebPage::snapshotNode):
(WebKit::WebPage::drawRectToImage):
(WebKit::snapshotOptionsToBitmapConfiguration): Deleted.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::shareableBitmapSnapshotForNode):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::setTopOverhangImage):
(WebKit::WebPage::setBottomOverhangImage):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::shouldUseRemoteRenderingFor):

12:59 AM Changeset in webkit [293569] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use more smart pointers in Element.cpp
https://bugs.webkit.org/show_bug.cgi?id=239836

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Chris Dumez.

  • dom/Element.cpp:

(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):

12:38 AM Changeset in webkit [293568] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

test-webkitperl outputs errors about uninitialized $platform variable
https://bugs.webkit.org/show_bug.cgi?id=239762

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-28
Reviewed by Alexey Proskuryakov.

Make filter-build-webkit a module that exports the tested functions.
Avoid running filter-webkit-build main code if the code is being imported
as a module.

  • Scripts/filter-build-webkit:

(main):
(shouldIgnoreLine):

  • Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl:
12:18 AM Changeset in webkit [293567] by commit-queue@webkit.org
  • 16 edits
    1 copy
    5 adds in trunk

IPC testing API should have the ability to test IPC::Connection send and receive through IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=239495

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-28
Reviewed by Darin Adler.

Source/WebKit:

Add the testing interfaces to be able to send IPC::Connection instances
to other processes.
Add the testing interfaces to be able to send messages through arbitrary
IPC::Connection instances.

Test: ipc/create-connection-and-send-async.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Platform/IPC/Connection.h:

(IPC::Connection::waitForMessageForTesting):

  • Scripts/webkit/messages.py:

(types_that_cannot_be_forward_declared):

  • Shared/IPCConnectionTester.cpp: Added.

(WebKit::asIdentifier):
(WebKit::IPCConnectionTester::create):
(WebKit::IPCConnectionTester::IPCConnectionTester):
(WebKit::IPCConnectionTester::initialize):
(WebKit::IPCConnectionTester::stopListeningForIPC):
(WebKit::IPCConnectionTester::sendAsyncMessages):
(WebKit::IPCConnectionTester::didClose):
(WebKit::IPCConnectionTester::didReceiveInvalidMessage):
(WebKit::IPCConnectionTester::asyncMessage):
(WebKit::IPCConnectionTester::syncMessage):

  • Shared/IPCConnectionTester.h: Copied from Source/WebKit/Shared/IPCTester.h.
  • Shared/IPCConnectionTester.messages.in: Copied from Source/WebKit/Shared/IPCTester.messages.in.
  • Shared/IPCConnectionTesterIdentifier.h: Added.
  • Shared/IPCTester.cpp:

(WebKit::IPCTester::createConnectionTester):
(WebKit::IPCTester::createConnectionTesterAndSendAsyncMessages):
(WebKit::IPCTester::releaseConnectionTester):

  • Shared/IPCTester.h:
  • Shared/IPCTester.messages.in:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPCAttachment::create):
(WebKit::IPCTestingAPI::JSIPCAttachment::encode const):
(WebKit::IPCTestingAPI::JSIPCAttachment::JSIPCAttachment):
(WebKit::IPCTestingAPI::JSIPCConnection::create):
(WebKit::IPCTestingAPI::JSIPCConnection::JSIPCConnection):
(WebKit::IPCTestingAPI::createTypeError):
(WebKit::IPCTestingAPI::convertToUint64):
(WebKit::IPCTestingAPI::sendMessageWithJSArguments):
(WebKit::IPCTestingAPI::extractSyncIPCMessageInfo):
(WebKit::IPCTestingAPI::sendSyncMessageWithJSArguments):
(WebKit::IPCTestingAPI::waitForMessageWithJSArguments):
(WebKit::IPCTestingAPI::JSIPCSemaphore::createJSWrapper):
(WebKit::IPCTestingAPI::JSIPCSemaphore::wrapperClass):
(WebKit::IPCTestingAPI::JSIPCSemaphore::unwrap):
(WebKit::IPCTestingAPI::JSIPCSemaphore::toWrapped):
(WebKit::IPCTestingAPI::JSIPCSemaphore::initialize):
(WebKit::IPCTestingAPI::JSIPCSemaphore::finalize):
(WebKit::IPCTestingAPI::JSIPCSemaphore::staticFunctions):
(WebKit::IPCTestingAPI::JSIPCAttachment::createJSWrapper):
(WebKit::IPCTestingAPI::JSIPCAttachment::wrapperClass):
(WebKit::IPCTestingAPI::JSIPCAttachment::unwrap):
(WebKit::IPCTestingAPI::JSIPCAttachment::toWrapped):
(WebKit::IPCTestingAPI::JSIPCAttachment::initialize):
(WebKit::IPCTestingAPI::JSIPCAttachment::finalize):
(WebKit::IPCTestingAPI::JSIPCAttachment::staticFunctions):
(WebKit::IPCTestingAPI::JSIPCConnection::createJSWrapper):
(WebKit::IPCTestingAPI::JSIPCConnection::wrapperClass):
(WebKit::IPCTestingAPI::JSIPCConnection::unwrap):
(WebKit::IPCTestingAPI::JSIPCConnection::toWrapped):
(WebKit::IPCTestingAPI::JSIPCConnection::initialize):
(WebKit::IPCTestingAPI::JSIPCConnection::finalize):
(WebKit::IPCTestingAPI::JSIPCConnection::didReceiveMessage):
(WebKit::IPCTestingAPI::JSIPCConnection::didReceiveSyncMessage):
(WebKit::IPCTestingAPI::JSIPCConnection::didClose):
(WebKit::IPCTestingAPI::JSIPCConnection::didReceiveInvalidMessage):
(WebKit::IPCTestingAPI::JSIPCConnection::staticFunctions):
(WebKit::IPCTestingAPI::JSIPCConnection::open):
(WebKit::IPCTestingAPI::JSIPCConnection::invalidate):
(WebKit::IPCTestingAPI::JSIPCConnection::sendMessage):
(WebKit::IPCTestingAPI::JSIPCConnection::sendSyncMessage):
(WebKit::IPCTestingAPI::JSIPCConnection::waitForMessage):
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::prepareToSendOutOfStreamMessage):
(WebKit::IPCTestingAPI::JSIPC::staticFunctions):
(WebKit::IPCTestingAPI::encodeFrameInfoData):
(WebKit::IPCTestingAPI::encodeAttachment):
(WebKit::IPCTestingAPI::VectorEncodeHelper::encode const):
(WebKit::IPCTestingAPI::encodeArrayArgument):
(WebKit::IPCTestingAPI::encodeArgument):
(WebKit::IPCTestingAPI::JSIPC::sendMessage):
(WebKit::IPCTestingAPI::JSIPC::waitForMessage):
(WebKit::IPCTestingAPI::JSIPC::sendSyncMessage):
(WebKit::IPCTestingAPI::JSIPC::createConnectionPair):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

(TEST):
Change two tests to pass "IPC" object as the value of FrameInfoData. This way the argument encode functions
do not need to take the JSIPC argument.

LayoutTests:

  • ipc/create-connection-and-send-async.html: Added.

Apr 27, 2022:

10:36 PM Changeset in webkit [293566] by Tyler Wilcock
  • 3 edits in trunk/Source/WebCore

AXObjectCache::childrenChanged modifies m_deferred* member variables but doesn't start timer to process them
https://bugs.webkit.org/show_bug.cgi?id=239787

Reviewed by Chris Fleizach.

This patch fixes this a bug where AXObjectCache::childrenChanged
methods modify m_deferred* member variables, but doesn't start
the m_performCacheUpdateTimer.

This patch also renames m_deferredChildrenChangedNodeList to
m_deferredNodeAddedOrRemovedList, since this more accurately
captures what this list is for.

Finally, this refactors a few methods that modify m_deferred* member
variables to not start the cache timer unless the variable has
actually changed.

Fixes these tests in ITM:

  • accessibility/mac/focus-moves-cursor.html
  • accessibility/image-load-on-delay.html
  • accessibility/legend-children-are-visible.html
  • accessibility/text-alternative-calculation-hidden-nodes.html
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::deferMenuListValueChange):
(WebCore::AXObjectCache::deferModalChange):
(WebCore::AXObjectCache::deferNodeAddedOrRemoved): Added.
(WebCore::AXObjectCache::prepareForDocumentDestruction):
(WebCore::AXObjectCache::performDeferredCacheUpdate):

  • accessibility/AXObjectCache.h:
10:32 PM Changeset in webkit [293565] by Patrick Angle
  • 5 edits in trunk

Web Inspector: [Flexbox] <button> and <select> elements are appearing in list of Flex containers
https://bugs.webkit.org/show_bug.cgi?id=239425

Reviewed by Devin Rousso.

Source/WebCore:

Added test cases to inspector/css/nodeLayoutContextTypeChanged.html.

  • inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::layoutContextTypeForRenderer):

LayoutTests:

  • inspector/css/nodeLayoutContextTypeChanged-expected.txt:
  • inspector/css/nodeLayoutContextTypeChanged.html:
10:01 PM Changeset in webkit [293564] by Wenson Hsieh
  • 7 edits in trunk/Source/WebKit

[iOS] Add a mechanism to override desktop-class browsing state in multitasking mode
https://bugs.webkit.org/show_bug.cgi?id=239801
rdar://89786146

Reviewed by Tim Horton.

Keep the recommended desktop-class browsing state stable as the width of the web view changes, while
multitasking mode is active.

  • UIProcess/API/ios/WKWebViewIOS.h:
  • UIProcess/PageClient.h:

(WebKit::PageClient::isInMultitaskingMode const):

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

(WebKit::PageClientImpl::isInMultitaskingMode const):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::isDesktopClassBrowsingRecommended const):

Turn the static helper function desktopClassBrowsingRecommended into a private method instead, so that we
don't need to pass in all the information we need from the WebPageProxy when determining whether we should
default to desktop-class browsing. This also allows us to make a slight adjustment here to avoid recommending
mobile content when the window is narrower than 375 points in multitasking mode.

(WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies):
(WebKit::desktopClassBrowsingRecommended): Deleted.

9:50 PM Changeset in webkit [293563] by Chris Dumez
  • 161 edits in trunk/Source

Prepare more of the code base for making the AtomString(const String&) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=239711

Reviewed by Darin Adler.

Prepare more of the code base for making the AtomString(const String&) constructor explicit.
This helps us find cases where we atomize unnecessarily or not early enough, thus causing
unnecessary String allocations.

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):

  • Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::processResponse):

  • Source/WebKit/WebProcess/WebPage/WebPage.cpp:

(WebKit::dumpHistoryItem):

  • Source/WTF/wtf/text/StringImpl.h:
  • Source/WebCore/Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::create):

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

(WebCore::HighlightRegister::setFromMapLike):
(WebCore::HighlightRegister::remove):

  • Source/WebCore/Modules/highlight/HighlightRegister.h:

(WebCore::HighlightRegister::map const):

  • Source/WebCore/Modules/highlight/HighlightRegister.idl:
  • Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCDTMFToneChangeEvent.idl:
  • Source/WebCore/Modules/mediastream/RTCDataChannel.idl:
  • Source/WebCore/Modules/mediastream/RTCDataChannelEvent.idl:
  • Source/WebCore/Modules/pictureinpicture/PictureInPictureEvent.idl:
  • Source/WebCore/Modules/push-api/PushEvent.idl:
  • Source/WebCore/Modules/push-api/PushSubscriptionChangeEvent.idl:
  • Source/WebCore/Modules/speech/SpeechSynthesisErrorEvent.idl:
  • Source/WebCore/Modules/webaudio/AudioProcessingEvent.idl:
  • Source/WebCore/Modules/webaudio/OfflineAudioCompletionEvent.idl:
  • Source/WebCore/Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::readServerHandshake):
(WebCore::WebSocketHandshake::readStatusLine):

  • Source/WebCore/Modules/websockets/WebSocketHandshake.h:
  • Source/WebCore/animation/AnimationPlaybackEvent.idl:
  • Source/WebCore/css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::customPropertyValue):
(WebCore::ComputedStyleExtractor::customPropertyText):

  • Source/WebCore/css/CSSComputedStyleDeclaration.h:
  • Source/WebCore/css/CSSVariableReferenceValue.cpp:

(WebCore::resolveVariableReference):

  • Source/WebCore/css/ContainerQueryParser.cpp:

(WebCore::ContainerQueryParser::consumeFilteredContainerQuery):
(WebCore::consumeFeatureName):

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

(WebCore::CSSParserImpl::consumeFontPaletteValuesRule):
(WebCore::CSSParserImpl::consumeKeyframesRule):

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

(WebCore::CSSParserSelector::parsePseudoElementSelector):
(WebCore::CSSParserSelector::parsePseudoClassSelector):

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

(WebCore::CSSStyleValue::parse):
(WebCore::CSSStyleValue::parseAll):

  • Source/WebCore/css/typedom/CSSStyleValue.h:
  • Source/WebCore/css/typedom/CSSStyleValue.idl:
  • Source/WebCore/css/typedom/CSSStyleValueFactory.cpp:

(WebCore::CSSStyleValueFactory::extractCustomCSSValues):
(WebCore::CSSStyleValueFactory::parseStyleValue):

  • Source/WebCore/css/typedom/CSSStyleValueFactory.h:
  • Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.cpp:

(WebCore::ComputedStylePropertyMapReadOnly::get const):
(WebCore::ComputedStylePropertyMapReadOnly::getAll const):
(WebCore::ComputedStylePropertyMapReadOnly::has const):

  • Source/WebCore/css/typedom/ComputedStylePropertyMapReadOnly.h:
  • Source/WebCore/css/typedom/StylePropertyMapReadOnly.h:
  • Source/WebCore/css/typedom/StylePropertyMapReadOnly.idl:
  • Source/WebCore/dom/AnimationEvent.idl:
  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::setContentLanguage):
(WebCore::Document::processMetaHttpEquiv):

  • Source/WebCore/dom/Document.h:

(WebCore::Document::contentLanguage const):
(WebCore::Document::baseTarget const):

  • Source/WebCore/dom/Element.h:

(WebCore::Element::target const):

  • Source/WebCore/dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEvent::initKeyboardEvent):

  • Source/WebCore/dom/KeyboardEvent.h:
  • Source/WebCore/dom/KeyboardEvent.idl:
  • Source/WebCore/dom/PointerEvent.cpp:

(WebCore::PointerEvent::create):

  • Source/WebCore/dom/PointerEvent.h:
  • Source/WebCore/dom/PopStateEvent.idl:
  • Source/WebCore/dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestModuleScript):

  • Source/WebCore/dom/StyledElement.cpp:
  • Source/WebCore/history/HistoryItem.cpp:

(WebCore::HistoryItem::reset):
(WebCore::HistoryItem::target const):
(WebCore::HistoryItem::setTarget):
(WebCore::HistoryItem::childItemWithTarget):

  • Source/WebCore/history/HistoryItem.h:
  • Source/WebCore/html/Autofill.cpp:

(WebCore::AutofillData::createFromHTMLFormControlElement):

  • Source/WebCore/html/BaseButtonInputType.cpp:

(WebCore::BaseButtonInputType::setValue):

  • Source/WebCore/html/BaseCheckableInputType.cpp:

(WebCore::BaseCheckableInputType::setValue):

  • Source/WebCore/html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::setupDateTimeChooserParameters):

  • Source/WebCore/html/CustomPaintImage.cpp:

(WebCore::extractComputedProperty):
(WebCore::CustomPaintImage::doCustomPaint):

  • Source/WebCore/html/CustomPaintImage.h:
  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::target const):
(WebCore::HTMLAnchorElement::effectiveTarget const):

  • Source/WebCore/html/HTMLAnchorElement.h:
  • Source/WebCore/html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::target const):

  • Source/WebCore/html/HTMLAreaElement.h:
  • Source/WebCore/html/HTMLBaseElement.cpp:

(WebCore::HTMLBaseElement::target const):

  • Source/WebCore/html/HTMLBaseElement.h:
  • Source/WebCore/html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::target const):
(WebCore::HTMLFormElement::effectiveTarget const):

  • Source/WebCore/html/HTMLFormElement.h:
  • Source/WebCore/html/HTMLHtmlElement.idl:
  • Source/WebCore/html/HTMLIFrameElement.idl:
  • Source/WebCore/html/HTMLImageElement.idl:
  • Source/WebCore/html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::target const):

  • Source/WebCore/html/HTMLLinkElement.h:
  • Source/WebCore/html/track/AudioTrack.idl:
  • Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:
  • Source/WebCore/loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::startPreflight):

  • Source/WebCore/loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::loadRequest):

  • Source/WebCore/loader/FormSubmission.cpp:

(WebCore::FormSubmission::FormSubmission):

  • Source/WebCore/loader/FormSubmission.h:

(WebCore::FormSubmission::Attributes::target const):
(WebCore::FormSubmission::Attributes::setTarget):
(WebCore::FormSubmission::target const):

  • Source/WebCore/loader/FrameLoadRequest.cpp:

(WebCore::FrameLoadRequest::FrameLoadRequest):

  • Source/WebCore/loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::frameName const):
(WebCore::FrameLoadRequest::setFrameName):

  • Source/WebCore/loader/FrameLoader.cpp:

(WebCore::FrameLoader::changeLocation):
(WebCore::extractContentLanguageFromHeader):
(WebCore::FrameLoader::didBeginDocument):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

  • Source/WebCore/loader/FrameLoader.h:
  • Source/WebCore/loader/HistoryController.cpp:

(WebCore::FrameLoader::HistoryController::recursiveGoToItem):

  • Source/WebCore/loader/LinkLoader.cpp:

(WebCore::LinkLoader::preloadIfNeeded):

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

(WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile):

  • Source/WebCore/page/DOMWindow.cpp:

(WebCore::DOMWindow::name const):
(WebCore::DOMWindow::setName):

  • Source/WebCore/page/DOMWindow.h:
  • Source/WebCore/page/DOMWindow.idl:
  • Source/WebCore/page/DragController.cpp:

(WebCore::documentFragmentFromDragData):

  • Source/WebCore/page/ModalContainerObserver.h:

(WebCore::ModalContainerObserver::overrideSearchTermForTesting):

  • Source/WebCore/page/Navigator.cpp:

(WebCore::Navigator::initializePluginAndMimeTypeArrays):

  • Source/WebCore/page/PageSerializer.cpp:

(WebCore::PageSerializer::SerializerMarkupAccumulator::appendCustomAttributes):

  • Source/WebCore/page/Quirks.cpp:

(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):

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

(WebCore::FontCache::cachedFontPlatformData):

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

(WebCore::computeSpecializedChineseLocale):

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

(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::supportsType):

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

(WebCore::FontDescription::platformResolveGenericFamily):

  • Source/WebCore/platform/graphics/filters/FilterOperation.cpp:

(WebCore::ReferenceFilterOperation::ReferenceFilterOperation):

  • Source/WebCore/platform/graphics/filters/FilterOperation.h:

(WebCore::ReferenceFilterOperation::create):
(WebCore::ReferenceFilterOperation::fragment const):

  • Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:

(WebCore::DisplayCaptureSourceCocoa::settings):

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

(WebCore::CoreAudioCaptureSource::capabilities):
(WebCore::CoreAudioCaptureSource::settings):

  • Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::settings):
(WebCore::MockRealtimeAudioSource::capabilities):

  • Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::capabilities):
(WebCore::MockRealtimeVideoSource::settings):

  • Source/WebCore/platform/mock/mediasource/MockSourceBufferPrivate.cpp:
  • Source/WebCore/platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::create):
(WebCore::ResourceHandle::loadResourceSynchronously):

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

(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):
(WebCore::ResourceResponseBase::mimeType const):
(WebCore::ResourceResponseBase::setMimeType):
(WebCore::ResourceResponseBase::textEncodingName const):
(WebCore::ResourceResponseBase::setTextEncodingName):
(WebCore::ResourceResponseBase::httpVersion const):
(WebCore::ResourceResponseBase::setHTTPVersion):

  • Source/WebCore/platform/network/ResourceResponseBase.h:
  • Source/WebCore/plugins/DOMMimeType.cpp:

(WebCore::DOMMimeType::type const):

  • Source/WebCore/plugins/DOMMimeType.h:
  • Source/WebCore/plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::supportedPropertyNames const):

  • Source/WebCore/plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::supportedPropertyNames const):

  • Source/WebCore/plugins/PluginData.h:
  • Source/WebCore/rendering/MarkedText.h:
  • Source/WebCore/rendering/PathOperation.cpp:

(WebCore::ReferencePathOperation::create):
(WebCore::ReferencePathOperation::ReferencePathOperation):

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

(WebCore::RenderStyle::addCustomPaintWatchProperty):

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

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

  • Source/WebCore/rendering/style/StyleRareNonInheritedData.h:
  • Source/WebCore/style/RuleSetBuilder.cpp:

(WebCore::Style::RuleSetBuilder::pushCascadeLayer):

  • Source/WebCore/style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyCustomProperty):

  • Source/WebCore/style/StyleBuilder.h:
  • Source/WebCore/style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertPathOperation):

  • Source/WebCore/style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyValueListStyleType):
(WebCore::Style::BuilderCustom::applyValueWebkitLocale):
(WebCore::Style::BuilderCustom::applyValueFontFamily):
(WebCore::Style::BuilderCustom::applyValueTextEmphasisStyle):
(WebCore::Style::BuilderCustom::applyValueCounter):
(WebCore::Style::BuilderCustom::applyValueAlt):

  • Source/WebCore/style/StyleBuilderState.cpp:

(WebCore::Style::BuilderState::createFilterOperations):

  • Source/WebCore/svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

  • Source/WebCore/svg/SVGAElement.h:
  • Source/WebCore/svg/SVGElement.cpp:

(WebCore::SVGElement::synchronizeAttribute):
(WebCore::SVGElement::synchronizeAllAttributes):
(WebCore::SVGElement::commitPropertyChange):
(WebCore::SVGElement::insertedIntoAncestor):
(WebCore::SVGElement::buildPendingResourcesIfNeeded):

  • Source/WebCore/svg/SVGElement.h:

(WebCore::SVGElement::className const):

  • Source/WebCore/svg/SVGURIReference.cpp:

(WebCore::SVGURIReference::fragmentIdentifierFromIRIString):
(WebCore::SVGURIReference::targetElementFromIRIString):

  • Source/WebCore/svg/SVGURIReference.h:
  • Source/WebCore/svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::updateUserAgentShadowTree):
(WebCore::SVGUseElement::findTarget const):

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

(WebCore::SVGSMILElement::Condition::Condition):
(WebCore::SVGSMILElement::buildPendingResource):
(WebCore::SVGSMILElement::parseCondition):

  • Source/WebCore/svg/animation/SVGSMILElement.h:
  • Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:

(WebCore::SVGFilterBuilder::calculateFilterOutsets):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::Internals::overrideModalContainerSearchTermForTesting):

  • Source/WebCore/testing/Internals.h:
  • Source/WebCore/testing/Internals.idl:
  • Source/WebCore/worklets/PaintWorkletGlobalScope.cpp:

(WebCore::PaintWorkletGlobalScope::PaintDefinition::PaintDefinition):
(WebCore::PaintWorkletGlobalScope::registerPaint):

  • Source/WebCore/worklets/PaintWorkletGlobalScope.h:
  • Source/WebCore/worklets/PaintWorkletGlobalScope.idl:
  • Source/WebCore/xml/CustomXPathNSResolver.cpp:

(WebCore::CustomXPathNSResolver::lookupNamespaceURI):

  • Source/WebCore/xml/XPathGrammar.cpp:
  • Source/WebCore/xml/XPathParser.cpp:

(WebCore::XPath::Parser::expandQualifiedName):

  • Source/WebCore/xml/XPathParser.h:

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

9:09 PM Changeset in webkit [293562] by Chris Dumez
  • 4 edits in trunk/Source/WebKit/UIProcess

GPUProcess doesn't get notified of imminent process suspension
https://bugs.webkit.org/show_bug.cgi?id=239815

Reviewed by Tim Horton.

By defaults, ProcessThrottler in the UIProcess use a ProcessAndUIAssertion instance internally,
instead of a simple ProcessAssertion. This makes sure that a process assertion is taken on
behalf of the UIProcess as well, not just the child process. This also makes sure that when
the UIProcess has been in the background for too long and its assertion gets invalidated, we
release all ProcessAndUIAssertion instances as well.

The WebProcess and NetworkProcess were correctly using a ProcessAndUIAssertion. However, the
GPUProcess was passing false when constructing the ProcessThrottler, causing it to use a
simple ProcessAssertion. As a result, the GPUProcess would not get notified on imminent
suspension when the app has been running in the background for too long.

This patch aligns the behavior of the GPUProcess with the one of the NetworkProcess since
both processes are very similar.

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

(WebKit::GPUProcessProxy::GPUProcessProxy):

  • Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::anyProcessPoolShouldTakeUIBackgroundAssertion): Deleted.

  • Source/WebKit/UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::anyProcessPoolNeedsUIBackgroundAssertion):

  • Source/WebKit/UIProcess/WebProcessPool.h:

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

9:03 PM Changeset in webkit [293561] by Chris Dumez
  • 35 edits in trunk

Have equalIgnoringASCIICase() take in an ASCIILiteral instead of a const char*
https://bugs.webkit.org/show_bug.cgi?id=239802

Reviewed by Darin Adler.

Have equalIgnoringASCIICase() take in an ASCIILiteral instead of a const char*,
as we are encouraging developers to use ""_s for string literals.

  • Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

  • Tools/TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):

  • Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm:

(parameterValue):
(WebFrameLoaderClient::createPlugin):

  • Source/WTF/wtf/text/AtomString.h:

(WTF::equalIgnoringASCIICase):

  • Source/WTF/wtf/text/StringImpl.h:

(WTF::equalIgnoringASCIICase):

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

(WTF::equalIgnoringASCIICase):

  • Source/WTF/wtf/text/WTFString.h:

(WTF::equalIgnoringASCIICase):

  • Source/WTF/wtf/unix/LanguageUnix.cpp:

(WTF::platformLanguage):

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

(WebCore::PaymentCoordinator::validatedPaymentNetwork const):

  • Source/WebCore/accessibility/AccessibilityNodeObject.cpp:

(WebCore::siblingWithAriaRole):
(WebCore::AccessibilityNodeObject::menuElementForMenuButton const):
(WebCore::AccessibilityNodeObject::menuItemElementForMenu const):

  • Source/WebCore/accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::popupValue const):

  • Source/WebCore/css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific const):

  • Source/WebCore/css/MediaQueryEvaluator.h:
  • Source/WebCore/dom/Document.cpp:

(WebCore::messageSourceForWTFLogChannel):

  • Source/WebCore/dom/SecurityContext.cpp:

(WebCore::SecurityContext::isSupportedSandboxPolicy):

  • Source/WebCore/html/HiddenInputType.cpp:

(WebCore::HiddenInputType::appendFormData const):

  • Source/WebCore/html/LinkRelAttribute.cpp:

(WebCore::LinkRelAttribute::isSupported):

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

(WebCore::WebGL2RenderingContext::getExtension):

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

(WebCore::WebGLRenderingContext::getExtension):

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

(WebCore::WebGLRenderingContextBase::extensionIsEnabled):

  • Source/WebCore/page/FrameTree.cpp:

(WebCore::isBlankTargetFrameName):
(WebCore::isParentTargetFrameName):
(WebCore::isSelfTargetFrameName):
(WebCore::isTopTargetFrameName):

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

(WebCore::keySystemIsSupported):

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

(WebCore::FontCache::similarFont):
(WebCore::FontCache::platformAlternateFamilyName):

  • Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::Font::platformInit):

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

(WebCore::isThunderRanked):

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

(WebCore::normalizeHTTPMethod):
(WebCore::isSafeMethod):

  • Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp:

(WebCore::CurlMultipartHandle::extractBoundary):

  • Source/WebCore/platform/playstation/MIMETypeRegistryPlayStation.cpp:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):

  • Source/WebCore/style/ElementRuleCollector.h:

(WebCore::Style::ElementRuleCollector::setMedium):

  • Source/WebCore/svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable):
(WebCore::SVGToOTFFontConverter::appendGSUBTable):

  • Source/WebCore/xml/XMLHttpRequest.cpp:

(WebCore::replaceCharsetInMediaTypeIfNeeded):

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

8:23 PM Changeset in webkit [293560] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] Fourteen webgl/2.0.0/conformance tests are a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=239835

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk1/TestExpectations:

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

8:19 PM Changeset in webkit [293559] by sihui_liu@apple.com
  • 2 edits in trunk/Tools

[ iOS ] TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=239310
<rdar://problem/91721160>

Reviewed by Youenn Fablet.

Message may be received before runTestAndCheckResult(), so we should not unset receivedScriptMessage before
wait.

  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:

(runUntilMessageReceived):
(TEST):
(runTestAndCheckResult): Deleted.

8:04 PM Changeset in webkit [293558] by msaboff@apple.com
  • 2 edits in trunk/Source/WebGPU

WebGPU doesn't create a symlink to the system content path in installhdrs
https://bugs.webkit.org/show_bug.cgi?id=239819

Reviewed by Alexey Proskuryakov.

Enabled script phases for installhdrs and installapi.

  • Configurations/WebGPU.xcconfig:
8:03 PM Changeset in webkit [293557] by Jonathan Bedard
  • 9 edits in trunk

[git-webkit] Run style checker
https://bugs.webkit.org/show_bug.cgi?id=239730
<rdar://problem/92428565>

Reviewed by Chris Dumez.

  • 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): Add webkitscmpy.auto-check option.

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

(PullRequest.parser): Add --check/--no-check flag.
(PullRequest.pre_pr_checks): Find and run all pre-PR checks.
(PullRequest.create_pull_request): Run PR checks.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:
  • metadata/git_config_extension: Add style-checker as pre-pr check.

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

7:46 PM Changeset in webkit [293556] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.2.5

Tag WebKit-7613.2.7.2.5.

7:45 PM Changeset in webkit [293555] by Russell Epstein
  • 9 edits in branches/safari-613.2.7.2-branch/Source

Versioning.

WebKit-7613.2.7.2.5

7:42 PM Changeset in webkit [293554] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.3.5

Tag WebKit-7613.2.7.3.5.

7:37 PM Changeset in webkit [293553] by Russell Epstein
  • 9 edits in branches/safari-613.2.7.3-branch/Source

Versioning.

WebKit-7613.2.7.3.5

7:25 PM Changeset in webkit [293552] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7.0.6

Tag WebKit-7613.2.7.0.6.

7:24 PM Changeset in webkit [293551] by Russell Epstein
  • 9 edits in branches/safari-613.2.7.0-branch/Source

Versioning.

WebKit-7613.2.7.0.6

7:03 PM Changeset in webkit [293550] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

Ensure completion handler is called in SWServer::clear
https://bugs.webkit.org/show_bug.cgi?id=239755

Reviewed by Youenn Fablet.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::clearAll):
(WebCore::SWServer::clear):

5:32 PM Changeset in webkit [293549] by Ross Kirsling
  • 2 edits in trunk/Source/bmalloc

Unreviewed libpas build fix for PlayStation.
https://bugs.webkit.org/show_bug.cgi?id=239834

  • libpas/src/libpas/pas_random.h:

(pas_get_random):
Temporarily disable path on PlayStation.

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

5:29 PM Changeset in webkit [293548] by Chris Dumez
  • 82 edits in trunk

Drop AtomString(const char*, ConstructFromLiteral) constructor
https://bugs.webkit.org/show_bug.cgi?id=239721

Reviewed by Darin Adler.

Drop AtomString(const char*, ConstructFromLiteral) constructor and instead update
the call sites to use the AtomString(ASCIILiteral) one instead. It reduces
complexity to not have several constructor for the same purpose.

  • Tools/TestWebKitAPI/Tests/WTF/AtomString.cpp:

(TestWebKitAPI::TEST):

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

(TestWebKitAPI::TEST_F):

  • Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::resourceType):

  • Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::subresourcesType):

  • Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::soupHTTPVersionToString):

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:

(WebKit::PDFPluginAnnotation::attach):

  • Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):

  • Source/WTF/wtf/text/AtomString.cpp:

(WTF::AtomString::init):

  • Source/WTF/wtf/text/AtomString.h:
  • Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:

(WebCore::stringForPlaybackTargetAvailability):

  • Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::automaticKeyword):
(WebCore::MediaControlsHost::forcedOnlyKeyword):
(WebCore::alwaysOnKeyword):
(WebCore::manualKeyword):
(WebCore::MediaControlsHost::mediaControlsContainerClassName const):

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

(WebCore::MediaStreamTrack::kind const):
(WebCore::MediaStreamTrack::contentHint const):

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

(WebCore::blobKeyword):
(WebCore::arraybufferKeyword):

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

(WebCore::YouTubePluginReplacement::installReplacement):

  • Source/WebCore/accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::liveRegionRelevant const):

  • Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:

(GenerateDefaultValue):

  • Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunction_methodWithOptionalAtomStringAndDefaultValueBody):

  • Source/WebCore/css/MediaFeatureNames.cpp:

(WebCore::MediaFeatureNames::init):

  • Source/WebCore/css/makeprop.pl:
  • Source/WebCore/css/parser/CSSParserSelector.cpp:

(WebCore::CSSParserSelector::parsePseudoElementSelector):

  • Source/WebCore/dom/ConstantPropertyMap.cpp:

(WebCore::ConstantPropertyMap::nameForProperty const):

  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::validateCustomElementName):

  • Source/WebCore/dom/EventNames.cpp:
  • Source/WebCore/dom/ImageOverlay.cpp:

(WebCore::ImageOverlay::imageOverlayElementIdentifier):
(WebCore::ImageOverlay::imageOverlayDataDetectorClass):
(WebCore::ImageOverlay::imageOverlayLineClass):
(WebCore::ImageOverlay::imageOverlayTextClass):
(WebCore::ImageOverlay::imageOverlayBlockClass):

  • Source/WebCore/dom/MutationRecord.cpp:
  • Source/WebCore/dom/mac/ImageControlsMac.cpp:

(WebCore::ImageControlsMac::imageControlsElementIdentifier):
(WebCore::ImageControlsMac::imageControlsButtonIdentifier):

  • Source/WebCore/dom/make_names.pl:

(printNamesCppFile):

  • Source/WebCore/editing/MarkupAccumulator.cpp:

(WebCore::htmlAttributeSerialization):

  • Source/WebCore/html/Autocapitalize.cpp:

(WebCore::stringForAutocapitalizeType):

  • Source/WebCore/html/Autofill.cpp:

(WebCore::isContactToken):

  • Source/WebCore/html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLAnchorElement::isSystemPreviewLink):

  • Source/WebCore/html/HTMLElement.cpp:

(WebCore::toValidDirValue):

  • Source/WebCore/html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::formControlType const):

  • Source/WebCore/html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::formControlType const):

  • Source/WebCore/html/HTMLOutputElement.cpp:

(WebCore::HTMLOutputElement::formControlType const):

  • Source/WebCore/html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::formControlType const):

  • Source/WebCore/html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::scope const):

  • Source/WebCore/html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::formControlType const):

  • Source/WebCore/html/HTMLTextFormControlElement.cpp:

(WebCore::directionString):

  • Source/WebCore/html/InputMode.cpp:

(WebCore::InputModeNames::numeric):
(WebCore::InputModeNames::decimal):

  • Source/WebCore/html/InputTypeNames.cpp:

(WebCore::InputTypeNames::checkbox):
(WebCore::InputTypeNames::color):
(WebCore::InputTypeNames::date):
(WebCore::InputTypeNames::datetimelocal):
(WebCore::InputTypeNames::file):
(WebCore::InputTypeNames::hidden):
(WebCore::InputTypeNames::image):
(WebCore::InputTypeNames::month):
(WebCore::InputTypeNames::number):
(WebCore::InputTypeNames::password):
(WebCore::InputTypeNames::radio):
(WebCore::InputTypeNames::range):
(WebCore::InputTypeNames::time):
(WebCore::InputTypeNames::week):

  • Source/WebCore/html/MediaController.cpp:

(WebCore::playbackStateWaiting):
(WebCore::playbackStatePlaying):
(WebCore::playbackStateEnded):

  • Source/WebCore/html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • Source/WebCore/html/ModelDocument.cpp:

(WebCore::ModelDocumentParser::createDocumentStructure):

  • Source/WebCore/html/PDFDocument.cpp:

(WebCore::PDFDocument::createDocumentStructure):

  • Source/WebCore/html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):

  • Source/WebCore/html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createContainer):

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

(WebCore::createForeignAttributesMap):

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

(WebCore::DateTimeDayFieldElement::create):
(WebCore::DateTimeHourFieldElement::create):
(WebCore::DateTimeMeridiemFieldElement::create):
(WebCore::DateTimeMillisecondFieldElement::create):
(WebCore::DateTimeMinuteFieldElement::create):
(WebCore::DateTimeMonthFieldElement::create):
(WebCore::DateTimeSecondFieldElement::create):
(WebCore::DateTimeSymbolicMonthFieldElement::create):
(WebCore::DateTimeYearFieldElement::create):

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

(WebCore::ShadowPseudoIds::cue):
(WebCore::ShadowPseudoIds::fileSelectorButton):
(WebCore::ShadowPseudoIds::placeholder):
(WebCore::ShadowPseudoIds::webkitContactsAutoFillButton):
(WebCore::ShadowPseudoIds::webkitCredentialsAutoFillButton):
(WebCore::ShadowPseudoIds::webkitCreditCardAutoFillButton):
(WebCore::ShadowPseudoIds::webkitStrongPasswordAutoFillButton):
(WebCore::ShadowPseudoIds::webkitCapsLockIndicator):
(WebCore::ShadowPseudoIds::webkitColorSwatch):
(WebCore::ShadowPseudoIds::webkitColorSwatchWrapper):
(WebCore::ShadowPseudoIds::webkitDatetimeEdit):
(WebCore::ShadowPseudoIds::webkitDatetimeEditText):
(WebCore::ShadowPseudoIds::webkitDatetimeEditFieldsWrapper):
(WebCore::ShadowPseudoIds::webkitDateAndTimeValue):
(WebCore::ShadowPseudoIds::webkitDetailsMarker):
(WebCore::ShadowPseudoIds::webkitGenericCueRoot):
(WebCore::ShadowPseudoIds::webkitInnerSpinButton):
(WebCore::ShadowPseudoIds::webkitListButton):
(WebCore::ShadowPseudoIds::webkitMediaSliderThumb):
(WebCore::ShadowPseudoIds::webkitMediaSliderContainer):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackContainer):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackDisplay):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackDisplayBackdrop):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackRegion):
(WebCore::ShadowPseudoIds::webkitMediaTextTrackRegionContainer):
(WebCore::ShadowPseudoIds::webkitMeterBar):
(WebCore::ShadowPseudoIds::webkitMeterInnerElement):
(WebCore::ShadowPseudoIds::webkitMeterOptimumValue):
(WebCore::ShadowPseudoIds::webkitMeterSuboptimumValue):
(WebCore::ShadowPseudoIds::webkitMeterEvenLessGoodValue):
(WebCore::ShadowPseudoIds::webkitPluginReplacement):
(WebCore::ShadowPseudoIds::webkitProgressBar):
(WebCore::ShadowPseudoIds::webkitProgressValue):
(WebCore::ShadowPseudoIds::webkitProgressInnerElement):
(WebCore::ShadowPseudoIds::webkitSearchDecoration):
(WebCore::ShadowPseudoIds::webkitSearchResultsButton):
(WebCore::ShadowPseudoIds::webkitSearchResultsDecoration):
(WebCore::ShadowPseudoIds::webkitSearchCancelButton):
(WebCore::ShadowPseudoIds::webkitSliderRunnableTrack):
(WebCore::ShadowPseudoIds::webkitSliderThumb):
(WebCore::ShadowPseudoIds::webkitSliderContainer):
(WebCore::ShadowPseudoIds::webkitTextfieldDecorationContainer):
(WebCore::ShadowPseudoIds::webkitValidationBubble):
(WebCore::ShadowPseudoIds::webkitValidationBubbleArrowClipper):
(WebCore::ShadowPseudoIds::webkitValidationBubbleArrow):
(WebCore::ShadowPseudoIds::webkitValidationBubbleMessage):
(WebCore::ShadowPseudoIds::webkitValidationBubbleIcon):
(WebCore::ShadowPseudoIds::webkitValidationBubbleTextBlock):
(WebCore::ShadowPseudoIds::webkitValidationBubbleHeading):
(WebCore::ShadowPseudoIds::webkitValidationBubbleBody):

  • Source/WebCore/html/track/AudioTrack.cpp:

(WebCore::AudioTrack::descriptionKeyword):
(WebCore::AudioTrack::mainDescKeyword):
(WebCore::AudioTrack::translationKeyword):

  • Source/WebCore/html/track/TextTrack.cpp:

(WebCore::descriptionsKeyword):
(WebCore::chaptersKeyword):
(WebCore::metadataKeyword):
(WebCore::forcedKeyword):

  • Source/WebCore/html/track/VTTRegion.cpp:

(WebCore::upKeyword):
(WebCore::VTTRegion::textTrackCueContainerScrollingClass):

  • Source/WebCore/html/track/VideoTrack.cpp:

(WebCore::VideoTrack::signKeyword):

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

(WebCore::CachedResourceRequest::initiatorName const):

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

(WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):

  • Source/WebCore/page/EventHandler.cpp:

(WebCore::focusDirectionForKey):

  • Source/WebCore/page/Quirks.cpp:

(WebCore::Quirks::shouldBypassBackForwardCache const):

  • Source/WebCore/platform/CommonAtomStrings.cpp:
  • Source/WebCore/platform/cocoa/PlaybackSessionModelMediaElement.mm:

(WebCore::PlaybackSessionModelMediaElement::eventNameAll):

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

(WebCore::useBackslashAsYenSignForFamily):

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

(WebCore::computeSpecializedChineseLocale):

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

(WebCore::applicationOctetStream):

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

(WebCore::metadataType):

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

(WebCore::FontCache::lastResortFallbackFont):

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

(WebCore::SystemFontDatabaseCoreText::systemFontParameters):

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

(WebCore::ThemeMac::controlFont const):

  • Source/WebCore/platform/network/cocoa/ResourceResponseCocoa.mm:

(WebCore::extractHTTPStatusText):

  • Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::ResourceResponse):

  • Source/WebCore/rendering/RenderThemeCocoa.mm:

(WebCore::RenderThemeCocoa::updateCachedSystemFontDescription const):

  • Source/WebCore/rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::setFontFromControlSize const):

  • Source/WebCore/style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjustForSiteSpecificQuirks const):

  • Source/WebCore/svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::rotateMode const):

  • Source/WebCore/svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::setCalcMode):
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::sumAtom):

  • Source/WebCore/svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::media const):

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

(WebCore::indefiniteAtom):
(WebCore::SVGSMILElement::restart const):
(WebCore::SVGSMILElement::fill const):

  • Source/WebCore/svg/properties/SVGAnimationAdditiveValueFunctionImpl.cpp:

(WebCore::SVGAnimationColorFunction::colorFromString):

  • Source/WebCore/svg/properties/SVGPropertyAnimator.h:

(WebCore::SVGPropertyAnimator::adjustForInheritance const):

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

4:54 PM Changeset in webkit [293547] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: undefined is not an object (evaluating 'this.resource.hadLoadingError')
https://bugs.webkit.org/show_bug.cgi?id=239824

Reviewed by Patrick Angle.

  • UserInterface/Views/LocalResourceOverrideTreeElement.js:

(WI.LocalResourceOverrideTreeElement.prototype.updateStatus):

4:42 PM Changeset in webkit [293546] by Chris Dumez
  • 31 edits in trunk/Source/WebCore/html

Devirtualize InputType validation
https://bugs.webkit.org/show_bug.cgi?id=239809

Reviewed by Geoff Garen and Cameron McCormack.

HTMLInputElement::isValidValue() used to call 4 virtual functions on InputType
and is hot code on Speedometer. To optimize this, HTMLInputElement::isValidValue()
now calls a non-virtual HTMLInputElement::isValidValue() which switches on the
input type and then calls the 4 functions on the actual InputType subclass, so
that the compiler can optimize out the virtual calls out thanks to final
optimization.

This is a 0.5-0.75% progression on Speedometer on Intel. This might be a very
small (~0.2%) progression on Apple Silicon.

  • Source/WebCore/html/BaseButtonInputType.h:

(WebCore::BaseButtonInputType::BaseButtonInputType):

  • Source/WebCore/html/BaseCheckableInputType.h:

(WebCore::BaseCheckableInputType::BaseCheckableInputType):

  • Source/WebCore/html/BaseClickableWithKeyInputType.h:

(WebCore::BaseClickableWithKeyInputType::BaseClickableWithKeyInputType):

  • Source/WebCore/html/BaseDateAndTimeInputType.h:
  • Source/WebCore/html/BaseTextInputType.h:

(WebCore::BaseTextInputType::BaseTextInputType):

  • Source/WebCore/html/ButtonInputType.h:
  • Source/WebCore/html/CheckboxInputType.h:
  • Source/WebCore/html/ColorInputType.h:
  • Source/WebCore/html/DateInputType.h:
  • Source/WebCore/html/DateTimeLocalInputType.h:
  • Source/WebCore/html/EmailInputType.h:
  • Source/WebCore/html/FileInputType.h:
  • Source/WebCore/html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isValidValue const):

  • Source/WebCore/html/HiddenInputType.h:
  • Source/WebCore/html/ImageInputType.h:
  • Source/WebCore/html/InputType.cpp:

(WebCore::validateInputType):
(WebCore::InputType::isValidValue const):

  • Source/WebCore/html/InputType.h:

(WebCore::InputType::type const):

  • Source/WebCore/html/MonthInputType.h:
  • Source/WebCore/html/NumberInputType.h:
  • Source/WebCore/html/PasswordInputType.h:
  • Source/WebCore/html/RadioInputType.h:
  • Source/WebCore/html/RangeInputType.h:
  • Source/WebCore/html/ResetInputType.h:
  • Source/WebCore/html/SearchInputType.h:
  • Source/WebCore/html/SubmitInputType.h:
  • Source/WebCore/html/TelephoneInputType.h:
  • Source/WebCore/html/TextFieldInputType.h:
  • Source/WebCore/html/TextInputType.h:
  • Source/WebCore/html/TimeInputType.h:
  • Source/WebCore/html/URLInputType.h:
  • Source/WebCore/html/WeekInputType.h:

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

4:42 PM Changeset in webkit [293545] by Jonathan Bedard
  • 4 edits in trunk/Tools

[git-webkit] Cleanup PRs on alternate remotes
https://bugs.webkit.org/show_bug.cgi?id=239814
<rdar://problem/92410887>

Reviewed by Aakash Jain.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/clean.py:

(Clean.parser): Add --remote argument.
(Clean.cleanup): Allow caller to specify remote.
(Clean.main): Pass remote to cleanup.

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

4:36 PM Changeset in webkit [293544] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[PGO] Allow collecting other kinds of pgo profiles.
https://bugs.webkit.org/show_bug.cgi?id=239776

Reviewed by Saam Barati.

Update the way we collect PGO profiles to use LLVM's file handling, because
it really seems to care about that. This allowws us to try out other kinds
of profile generation, like the IR-based -fcs-profile-generate.

  • Source/WTF/wtf/GenerateProfiles.h:

(WTF::registerProfileGenerationCallback):

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

3:58 PM Changeset in webkit [293543] by Oriol Brufau
  • 8 edits
    2 adds in trunk

LayoutTests/imported/w3c:
Fix CSS cascade regarding logical properties
https://bugs.webkit.org/show_bug.cgi?id=236199

Reviewed by Darin Adler.

Expect animation-004.html to pass.
Add new test logicalprops-with-deferred-writing-mode.html

  • web-platform-tests/css/css-logical/animation-004-expected.txt:
  • web-platform-tests/css/css-logical/logicalprops-with-deferred-writing-mode-expected.txt: Added.
  • web-platform-tests/css/css-logical/logicalprops-with-deferred-writing-mode.html: Added.

Source/WebCore:
Reland "Fix CSS cascade regarding logical properties"
https://bugs.webkit.org/show_bug.cgi?id=236199

Reviewed by Antti Koivisto.

This is a reland of https://commits.webkit.org/r291546, which was
reverted due to a performance regression. This problem should have been
addressed by bug 238260.

Original summary:

The CSS cascade was trying to resolve logical properties into physical
ones too early. This failed if we still didn't know the direction or
writing-mode, e.g. because they were set to a variable or to a CSS-wide
keyword.

This patch keeps logical properties as-is during the cascade. They are
only resolved when finally applied. Also, both logical properties and
their physical equivalents are now set to apply in parse order, since
'height: 0px; block-size: 1px' and 'block-size: 1px; height: 0px' can be
different, the order matters.

Tests: imported/w3c/web-platform-tests/css/css-logical/animation-004.html

imported/w3c/web-platform-tests/css/css-logical/logicalprops-with-deferred-writing-mode.html

  • css/makeprop.pl:

(addProperty):
(sortByDescendingPriorityAndName):
Defer properties that belong to a logical property group.

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):
Logical properties no longer need special handling for variables.

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):
Remove members no longer needed.

(WebCore::Style::PropertyCascade::set):
This method is no longer used for properties in a logical property
group. Remove dead code and add assert.

(WebCore::Style::PropertyCascade::setDeferred):
Remove assert, logical properties are now handled here.

(WebCore::Style::PropertyCascade::lastDeferredPropertyResolvingRelated const):
Take into account that properties in a logical property group are now
deferred.

(WebCore::Style::PropertyCascade::resolveDirectionAndWritingMode const): Deleted.
(WebCore::Style::PropertyCascade::direction const): Deleted.
Remove broken logic.

  • style/PropertyCascade.h:

Remove members, struct and methods no longer needed.
Update method signatures.

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::Builder):
Remove argument no longer needed.

(WebCore::Style::Builder::applyProperty):
Resolve logical properties using the direction and writing-mode from the
style.

(WebCore::Style::directionFromStyle): Deleted.
Remove function no longer needed.

3:46 PM Changeset in webkit [293542] by Alan Coon
  • 1 copy in tags/WebKit-7614.1.11

Tag WebKit-7614.1.11.

3:38 PM Changeset in webkit [293541] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve rendering of GLenums in WebGL canvas recordings.
https://bugs.webkit.org/show_bug.cgi?id=239586

Patch by Dan Glastonbury <djg@apple.com> on 2022-04-27
Reviewed by Devin Rousso.

  • Source/WebInspectorUI/UserInterface/Models/RecordingAction.js:

(WI.RecordingAction.constantNameForParameter):
Arrays are also objects, so checking for typeof x == "object" is
not enough to distinguish arrays from dictionaries. Since the if
above the failing check was handling arrays, turn "object" check
into an else if handles arrays and dictionaries correctly.

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

3:31 PM Changeset in webkit [293540] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.0.5

Tag WebKit-7613.2.7.0.5.

3:29 PM Changeset in webkit [293539] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.1.6

Tag WebKit-7613.2.7.1.6.

3:26 PM Changeset in webkit [293538] by Alan Coon
  • 2 edits in branches/safari-613.2.7.1-branch/Source/WebKit

Cherry-pick r293481. rdar://problem/92336270

Adjust what we consider to be private relayed
https://bugs.webkit.org/show_bug.cgi?id=239784
<rdar://92336270>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-26
Reviewed by Geoffrey Garen.

If a request is not eligible for private relay, then do not consider it having been private relayed.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

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

3:25 PM Changeset in webkit [293537] by Alan Coon
  • 2 edits in branches/safari-613.2.7.0-branch/Source/WebKit

Cherry-pick r293481. rdar://problem/92336270

Adjust what we consider to be private relayed
https://bugs.webkit.org/show_bug.cgi?id=239784
<rdar://92336270>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-26
Reviewed by Geoffrey Garen.

If a request is not eligible for private relay, then do not consider it having been private relayed.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

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

2:45 PM Changeset in webkit [293536] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.3.4

Tag WebKit-7613.2.7.3.4.

2:44 PM Changeset in webkit [293535] by Alan Coon
  • 9 edits in branches/safari-613.2.7.3-branch/Source

Versioning.

WebKit-7613.2.7.3.4

2:30 PM Changeset in webkit [293534] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7.2.4

Tag WebKit-7613.2.7.2.4.

2:29 PM Changeset in webkit [293533] by Alan Coon
  • 9 edits in branches/safari-613.2.7.2-branch/Source

Versioning.

WebKit-7613.2.7.2.4

1:41 PM Changeset in webkit [293532] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS Debug wk2 ] fast/css/variables/test-suite/168.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=239822

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

1:20 PM Changeset in webkit [293531] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

[GStreamer] Track handling fixes
https://bugs.webkit.org/show_bug.cgi?id=239702

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

When the player is using playbin3 the audio/video/text tracks are associated to the
corresponding GstStream, itself part of a single GstStreamCollection. There is no need to
use a GRefPtr for GstStream in this case because those streams are not meant to be modified
and they remain valid as long as the parent collection is alive. So the player now keeps
track of the current stream collection and the private tracks handle GstStream pointers.

The stream collection handling was refactored, removing redundant logging, making use of
ScopeExit and removing the special case for text tracks creation.

This patch also changes the internal storage of tracks from HashMap<AtomString,RePtr<T>> to
HashMap<AtomString,Ref<T>>, bringing us a bit closer to the AVF implementation.

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:

(WebCore::AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer):
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromTags):
(WebCore::AudioTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::AudioTrackPrivateGStreamer::kind const):
(WebCore::AudioTrackPrivateGStreamer::disconnect):

  • platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:

(WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):

  • platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:

(WebCore::InbandTextTrackPrivateGStreamer::create):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack):
(WebCore::MediaPlayerPrivateGStreamer::updateEnabledVideoTrack):
(WebCore::MediaPlayerPrivateGStreamer::updateEnabledAudioTrack):
(WebCore::MediaPlayerPrivateGStreamer::playbin3SendSelectStreamsIfAppropriate):
(WebCore::MediaPlayerPrivateGStreamer::updateTracks):
(WebCore::MediaPlayerPrivateGStreamer::handleStreamCollectionMessage):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer):
(WebCore::TrackPrivateBaseGStreamer::disconnect):
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:

(WebCore::TrackPrivateBaseGStreamer::stream const):
(WebCore::TrackPrivateBaseGStreamer::stream): Deleted.

  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:

(WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer):
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromTags):
(WebCore::VideoTrackPrivateGStreamer::updateConfigurationFromCaps):
(WebCore::VideoTrackPrivateGStreamer::kind const):
(WebCore::VideoTrackPrivateGStreamer::disconnect):

  • platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:

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

1:18 PM Changeset in webkit [293530] by eric.carlson@apple.com
  • 10 edits in trunk

[iOS] unable to start playing audio when device is locked
https://bugs.webkit.org/show_bug.cgi?id=239812
<rdar://90642648>

Reviewed by Jer Noble.

Source/WebCore:

Updated media/audio-session-category.html.

  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::updateSessionState): Choose the appropriate
route sharing policy after choosing the audio session category because
setting MediaPlayback+Default makes a process ineligible for NowPlaying, and starting
playback in the background will be blocked.

  • platform/audio/mac/AudioSessionMac.h:
  • platform/audio/mac/AudioSessionMac.mm:

(WebCore::AudioSessionMac::setCategory): Updated for testing.

  • testing/Internals.cpp:

(WebCore::Internals::routeSharingPolicy const): Added accessor for testing.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • media/audio-session-category-expected.txt:
  • media/audio-session-category.html:
12:50 PM Changeset in webkit [293529] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS Debug wk2 ] fast/css/identical-logical-height-decl.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=239818

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

12:13 PM Changeset in webkit [293528] by ntim@apple.com
  • 2 edits in trunk/LayoutTests/imported/w3c

Rebaseline imported/w3c/web-platform-tests/css/css-text/inheritance.html after r293521
https://bugs.webkit.org/show_bug.cgi?id=166782

Unreviewed test gardening.

  • web-platform-tests/css/css-text/inheritance-expected.txt:
12:09 PM Changeset in webkit [293527] by Jonathan Bedard
  • 2 edits in trunk/Tools

[ews-build.webkit.org] Support alternative remotes (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=239617
<rdar://problem/92115230>

Unreviewed follow-up fix.

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

(GitHubEventHandlerNoEdits.extractProperties):

12:07 PM Changeset in webkit [293526] by Alan Coon
  • 9 edits in branches/safari-613.2.7.0-branch/Source

Versioning.

WebKit-7613.2.7.0.5

12:06 PM Changeset in webkit [293525] by Alan Coon
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.6

12:04 PM Changeset in webkit [293524] by ntim@apple.com
  • 21 edits in trunk

Make -webkit-transform-style an alias of transform-style
https://bugs.webkit.org/show_bug.cgi?id=239808

Reviewed by Antti Koivisto.

Fixes cascade issues when applying both -webkit-transform-style and transform-style (see bug 239579), and removes
unnecessary code as well given the FIXME was never addressed.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • rendering/style/WillChangeData.cpp:

(WebCore::WillChangeData::propertyCreatesStackingContext):

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
12:03 PM Changeset in webkit [293523] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] The setting WebKitMinimumFontSize is not reset by the testing framework, leading to flaky tests
https://bugs.webkit.org/show_bug.cgi?id=237181

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-04-27

  • platform/gtk/TestExpectations: Remove skip now that the test doesn't cause problems.
12:01 PM Changeset in webkit [293522] by Simon Fraser
  • 4 edits in trunk/Source

Avoid sending a flush IPC to the GPU process when destroying a RemoteImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=239799

Reviewed by Said Abou-Hallawa.

After r280652, destroying a RemoteImageBufferProxy would always send a flush to the GPU
process, even if there had be no drawing since the previous flush.

Fix to only send a flush and wait when necessary.

Roughly 8% progression on MotionMark Images subtest on iPhone.

Source/WebCore:

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::flushDrawingContextAsync):

Source/WebKit:

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::waitForDidFlushWithTimeout):

11:56 AM Changeset in webkit [293521] by ntim@apple.com
  • 24 edits in trunk

[css-text] Make word-wrap CSS property an alias of overflow-wrap
https://bugs.webkit.org/show_bug.cgi?id=166782

Reviewed by Antti Koivisto.

This follows the spec, and fixes cascade issues when applying both properties (see bug 239579).

Relevant WPT expectations updated to pass.

  • LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/word-wrap-alias-expected.txt:
  • Source/WebCore/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • Source/WebCore/css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

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

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • Source/WebCore/editing/Editor.cpp:

(WebCore::Editor::applyEditingStyleToBodyElement const):

  • Source/WebCore/html/HTMLElement.cpp:

(WebCore::HTMLElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::collectPresentationalHintsForAttribute):

  • LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
  • LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt:
  • LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • LayoutTests/svg/css/getComputedStyle-basic-expected.txt:* web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

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

11:37 AM Changeset in webkit [293520] by Angelos Oikonomopoulos
  • 2 edits in trunk/JSTests

Unskip flaky test on mips
https://bugs.webkit.org/show_bug.cgi?id=239342

Unreviewed gardening.

Re-enable test. It should still be flaky, so can use it to test
the code reporting the flakiness to resultsdb.

  • stress/new-largeish-contiguous-array-with-size.js:
10:36 AM Changeset in webkit [293519] by Aditya Keerthi
  • 4 edits in trunk

[iOS] Focus changes unexpectedly when scrolling to a found text range
https://bugs.webkit.org/show_bug.cgi?id=239793
rdar://90996437

Reviewed by Wenson Hsieh.

Source/WebKit:

  • WebProcess/WebPage/WebFoundTextRangeController.cpp:

(WebKit::WebFoundTextRangeController::scrollTextRangeToVisible):

Specify DoNotSetFocus in the TemporarySelectionOptions to avoid
unnecessary focus changes when scrolling to a found text range.

Focus changes can cause the web view to regain first responder status
while searching for text, which will dismiss the find panel and end
the search session.

Tools:

Add an API test to ensure that scrolling to a found range does not
change focus.

  • TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:

(TEST):

10:30 AM Changeset in webkit [293518] by Brandon
  • 7 edits in trunk/Source/bmalloc

[libpas] Implement secure random numbers
https://bugs.webkit.org/show_bug.cgi?id=239735

Reviewed by Yusuke Suzuki.

We currently have a cheesy random and secure random, which use the same implementation for generating
random numbers. (We are going to ignore the mock testing code here). This patch introduces a fast random and
secure random. The fast random maintains the same properties as the previous implementation, while secure random
will use the cryptographically secure arc4random_uniform to give better randomness. arc4random() can be quite an
expensive operation and based on discussing with Yusuke he found heavy performance penalties when using this in
JSC. Our secure random shall only be used in cases where true randomness is needed. We have 2 spots where we
currently use secure random; we shall just migrate those over to using fast random.

  • Source/bmalloc/libpas/src/libpas/pas_baseline_allocator_table.c:

(pas_baseline_allocator_table_get_random_index):

  • Source/bmalloc/libpas/src/libpas/pas_dynamic_primitive_heap_map.c:

(pas_dynamic_primitive_heap_map_find_slow):

  • Source/bmalloc/libpas/src/libpas/pas_random.c:
  • Source/bmalloc/libpas/src/libpas/pas_random.h:

(pas_get_random):

  • Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c:

(find_first_eligible_consider_view):

  • Source/bmalloc/libpas/src/test/IsoHeapPartialAndBaselineTests.cpp:

(std::testTwoBaselinesEvictions):

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

10:26 AM Changeset in webkit [293517] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Cleanup expectations for 7 imported/w3c/web-platform-tests/html/semantics/interactive-elements/ tests
https://bugs.webkit.org/show_bug.cgi?id=239790

Unreviewed test gardening.

  • LayoutTests/platform/ios-wk2/TestExpectations:

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

10:22 AM Changeset in webkit [293516] by youenn@apple.com
  • 4 edits in trunk

[Mac] http/tests/media/user-gesture-preserved-across-xmlhttprequest.html is a flaky fail/crash/timeout
https://bugs.webkit.org/show_bug.cgi?id=229588
<rdar://problem/82408723>

Reviewed by Chris Dumez.

Source/WebCore:

I removed the user gesture in fetch by mistake so let's add it back.
Test is no longer crashing on bots and is timing out on debug bots because it is a slow test.
Mark test as slow and remove flakiness expectations.

Covered by unflaked test.

  • Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp:

(WebCore::doFetch):

LayoutTests:

  • platform/mac/TestExpectations:
10:15 AM Changeset in webkit [293515] by Jonathan Bedard
  • 4 edits in trunk/Tools

test-webkitpy TestInstallGitLFS fails
https://bugs.webkit.org/show_bug.cgi?id=239788
<rdar://problem/92363359>

Reviewed by Michael Catanzaro.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/install_git_lfs_unittest.py:

(TestInstallGitLFS.test_install): Specify mock system and machine.
(TestInstallGitLFS.test_configure): Ditto.
(TestInstallGitLFS.test_no_op): Ditto.
(TestInstallGitLFS.test_no_repo): Ditto.

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

10:12 AM Changeset in webkit [293514] by Jonathan Bedard
  • 6 edits in trunk/Tools

[commits.webkit.org] Change branch forwarding behavior
https://bugs.webkit.org/show_bug.cgi?id=239136
<rdar://problem/91314217>

Reviewed by Dewei Zhu.

  • Tools/Scripts/libraries/reporelaypy/reporelaypy/init.py: Bump version.
  • Tools/Scripts/libraries/reporelaypy/setup.py: Ditto.
  • Tools/Scripts/libraries/reporelaypy/reporelaypy/checkout.py:

(Checkout.Encoder.default): Encode forwarding list.
(Checkout.init): Add forwarding argument.
(Checkout.push_update): Add dest_branch argument.
(Checkout.forward_update): Trigger push_update based on forwarding arguments.
(Checkout.update_all): Use forward_update instead of pushing to every branch.

  • Tools/Scripts/libraries/reporelaypy/reporelaypy/hooks.py:

(HookProcessor.process_worker_hook): Extract remote from incoming data, invoke forward_update.

  • Tools/Scripts/libraries/reporelaypy/reporelaypy/tests/checkout_unittest.py:

(CheckoutUnittest.test_json):

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

10:06 AM Changeset in webkit [293513] by commit-queue@webkit.org
  • 387 edits
    4 copies
    23 adds
    7 deletes in trunk/Source/ThirdParty/ANGLE

Update ANGLE to 2022-04-26 (7ca11287a056d4150cba96c9c9b964153ad539cb)
https://bugs.webkit.org/show_bug.cgi?id=239114
<rdar://problem/91944443>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-27
Reviewed by Kenneth Russell.

Contains upstream commits:
git log --oneline fe28a4295af087ee82b8f629b67176b95019af6d..7ca11287a056d4150cba96c9c9b964153ad539cb --pretty="%h %s"
7ca11287a Roll SwiftShader from f13461dbb23c to 5f5faa3a2aad (1 revision)
9d6b3a7ee Vulkan: Move overlay draw after swap's implicit flush
4aae5815f Vulkan: Overlay widgets for submission statistics
02b968481 Vulkan: Add support for GL_QCOM_shading_rate
69705e5c0 Add -Wno-deprecated-non-prototype
c0ac374f7 Replace adb exec-out cat with pull to temp location.
018118394 Refactor platform code
ea76cb0f5 Vulkan: Add entry points for GL_QCOM_shading_rate
62ca64492 Reland "Fix BlendStateExt::mMaxColorMask initialization"
d1788614c Use adb instead of catapult to run perf tests on Android.
e0183a421 Revert "Mark contexts as shared when importing EGL images."
400d9fe43 Rename feature files to *_autogen.h
0f3710d99 Generalize GetDisplayFromNativeDisplay
a8cac0058 Remove observer when element array buffer is detached
2d6e42fcc Update Program Pipeline TODOs.
853b6edf9 Roll SwiftShader from 71f3089b729c to f13461dbb23c (1 revision)
c95bd5e7e Roll vulkan-deps from 01fd48aca427 to f685346e2e51 (6 revisions)
2db718edf Vulkan: Skip empty submissions
b07a11569 Split Context ResourceUseList to RP Commandbuffers
37c53684e Split Context ResourceUseList to RP Commandbuffers
158951600 Avoid leaking gl::Framebuffers in gl::Context
f565ea4d6 Roll vulkan-deps from 158676f39f3b to 01fd48aca427 (13 revisions)
ad93a708a Further expand Vulkan end2end_test skip
e6fc5e62c Use _FindAdb (cached) directly instead of Adb wrapper.
4ac3ec13e Switch py_utils import to pathlib.
64fa5edaa Suppress VVL UNASSIGNED-BestPractices-SemaphoreCount
e1fdef909 Revert "Vulkan: Cache ImageView serials on texture changes."
3b38b3790 Vulkan: Add feature avoid HOST_VISIBLE and DEVICE_LOCAL combination
d988db39b Fall back to adb on PATH if platform-tools not present.
2dd13ebbd Track Surface color & depth/stencil init separately.
8f56edfdd Roll Chromium from 408793418c48 to 192db13f8509 (548 revisions)
0690f5d34 Revert "CGL, MTL: pbuffer for IOSurface fails for some formats"
0439d9cd2 Vulkan: Update glslang wrapper TODO.
768c7d47e Revert "Re-land: "Vulkan: Support Wayland""
47b9a97b6 Expand Vulkan end2end_test skip.
dc1b7029e Disable MSAN in the Vulkan loader
7a32cf547 Android: Add build to blueprint.
13784ebe3 Vulkan: use "undefined" for layerProvokingVertex
04c6f9375 Roll SwiftShader from ea5f37f39193 to 71f3089b729c (5 revisions)
96239a340 Roll Chromium from a434f1de2483 to 408793418c48 (456 revisions)
1d67951e0 Avoid IOError in capture_replay_tests.py
dd493b5ca EGL: allow eglQueryString(EGL_NO_DISPLAY, EGL_VERSION)
6cbedc984 Add a test for backwards mip generation with draw
d3dbaa8df Vulkan: Remove BufferVk::mHasBeenReferencedByGPU
5097d10c1 D3D: unsuppress some now-passing tests.
cb1ee485f Vulkan: Add perf test for MSAA swapchain resolve
c66de085a Vulkan: Fix surface invalidate w.r.t shared present mode
19c6a8566 Tests: Add Free Fire Max trace
7d229d047 Vulkan: Cache ImageView serials on texture changes.
7c091cb35 Use adb directly (instead of catapult) in gold tests.
4efc4ee68 Fix validate state cache after XFB buffer deleted.
3f800e5c8 Metal:Clear Backbuffer when Robust Resource Init enabled
5b84ad797 CGL, MTL: pbuffer for IOSurface fails for some formats
ff8a9f6a1 Vulkan: Renaming "ShaderBuffers" to "ShaderResources".
f6cdd02fb Re-land: "Vulkan: Support Wayland"
5610ab642 Fix ANGLEGetDisplayPlatform after method deprecation
6199e905a Switch to using
build/android:build_java
b2a1f0d28 Track total vs per-frame descriptor set counters.
37cdf93d0 Vulkan: Acquire a new buffer even when size is unchanged
349612591 Roll vulkan-deps from 00e1ddd4230c to 158676f39f3b (8 revisions)
f4a550bff Roll SwiftShader from 103a69bd6c82 to ea5f37f39193 (3 revisions)
dde8b6629 Roll Chromium from e1b5a693bbfe to a434f1de2483 (504 revisions)
fcec69045 Generate feature variable names from display names
f4fc8e168 Revert "Fix BlendStateExt::mMaxColorMask initialization"
5014ce664 Vulkan: Add orphaned list for non-empty BufferBlocks.
55c21842b Vulkan: Use flat array lookups for shader variables.
6e130d2b7 D3D: fix SSBOs used in vertex shaders.
50d008a7e Fix BlendStateExt::mMaxColorMask initialization
cfc92ebf1 Vulkan: Encapsulate ShareGroup::mContexts
9907f22d0 gold tests: Add command-line arg for gold instance.
e18240d13 Mark contexts as shared when importing EGL images.
bddb944bc Vulkan: Prep variable info map to remove hashing.
242f0d81f Revert "Infra: Enable Skia Gold tests on Pixel 6"
acdec48ad Tests: Add Monster Strike trace
e77be6632 Use ProgramExecutable directly in GlslangWrapper.
c82513afb Add FastMap class.
4cd15cb39 Skip a Vulkan test due to a threading flake.
64fa1e80f Revert "vulkan: Call glFinish in VulkanHelper destructor"
9cc459c98 Add check for GL_ANDROID_extension_pack_es31a support
dbe5b7554 Roll vulkan-deps from 1a408eb154d7 to 00e1ddd4230c (8 revisions)
834ca6869 Roll Chromium from e9b55eb91cb1 to e1b5a693bbfe (303 revisions)
197100880 Vulkan: Call into vulkan directly for big size allocation.
bdb52cb8b Vulkan: Remove retains before acquireBufferHelper
866210add Metal: Fix bytesPerRow computation for compressed formats
33c8a2d0d Roll vulkan-deps from 7f875b15c6a3 to 1a408eb154d7 (4 revisions)
d903818a8 Roll Chromium from 573f2ec89cb9 to e9b55eb91cb1 (411 revisions)
3636d129e Infra: Enable Skia Gold tests on Pixel 6
d18e9e84a Roll vulkan-deps from c9be322642fb to 7f875b15c6a3 (16 revisions)
dfde9f402 Roll SwiftShader from 1d450ae99a0f to 103a69bd6c82 (3 revisions)
ff084b28d Roll Chromium from e6765ea8299f to 573f2ec89cb9 (443 revisions)
5f7db7755 Vulkan: updateUniforms when commandbuffer is valid
3587e217d Remove copyResourceUseList from ShareGroupVk
956fb16ec Remove Win NVIDIA dEQP suppressions
5e48e5b8d Roll VK-GL-CTS from 2748d45ebbb4 to a22069b4e3b7 (10 revisions)
aefb2a99e vulkan: Call glFinish in VulkanHelper destructor
4a33204ce Roll VK-GL-CTS from 20a474e64382 to 2748d45ebbb4 (1 revision)
039660a07 Translator: Drop const from opaque parameter types
0360248c6 Suppress flaky end2end failures on Mac/NVIDIA/OpenGL
03b3bc3f6 Tests: Add Special Forces Group 2 trace.
c3f159629 Fix OOB problem in validationES.{h,cpp}
fef34a6ef doc/DevSetup: Add Visual Studio Installer hint.
27b01dd4a Roll SwiftShader from 011bba68c819 to 1d450ae99a0f (4 revisions)
fcd6e2605 GN: Fix util target when X11 not enabled
b5d34da08 Add src/tests/py_utils/ for utils, angle_path_util for imports.
7e61e176e Roll Chromium from 61150a1970a3 to e6765ea8299f (515 revisions)
871878352 Metal: For readPixels copy IOSurface to non-IOSurface texture
52237c322 Suppress CopyTextureTest.CopyToMipmap on Intel Mac OpenGL
d2fd28cae Vulkan: Relax advanced blend on VK extension requirement
c5271e8e6 Vulkan: Emulate GL_KHR_blend_equation_advanced
01c0bc215 Revert "Vulkan: Support Wayland"
af51a287a Vulkan: Enum class instead of bool didRespecify
e9d695b5d Roll vulkan-deps from 345e2a278e69 to c9be322642fb (74 revisions)
f00d827e0 Roll SwiftShader from 620982155d55 to 011bba68c819 (4 revisions)
4b8e5db62 Roll Chromium from f961a0d4732b to 61150a1970a3 (431 revisions)
985d42934 Metal:Speed up BGRA8 to RGBA8 copy for readPixels
8074061d2 Remove feature override platform methods
a0b5299b6 Vulkan: Fix resolve with subpass into smaller framebuffer
6768aff71 Fix Geometry Shader Conformance Test Failure on Pixel6
445bf9bdf Use the real max vertex attrib index instead of MAX_VERTEX_ATTRIBS
d4cbd9bfe vulkan: Mark external memory textures as preinitialized
291be0b7a Suppress multisample_interpolation dEQP failures on Pixel 6 Vulkan
9442b7a83 D3D: Remove a pass-through function.
957f82974 Vulkan: Change ContextVk to Context for BufferPool APIs
510351f20 Vulkan: Support Wayland
ea86cfd2e Roll chromium_revision f89964bd5b..f961a0d473 (990903:991486)
fb093278c egl_angle_ext: add more missing extension enum values
93ccde91b Update ANGLE's docs regarding Windows 10 SDK version to use
19582d120 gl_angle_ext.xml: treat glProvokingVertexANGLE as alias
fec9c918e Roll SwiftShader from d15c42482560 to 620982155d55 (2 revisions)
aed5951e3 Reland "Vulkan: Fix texture-after-framebuffer sync issues"
797e627e6 Autogenerate list of features as enum
eeb396535 Autogenerate features
9237272f9 Metal:remove TextureMtl::mIsPow2
e08476cf5 Metal: Avoid leaking MTLDevice lists in DisplayMtl
1b2adb402 Metal: Avoid leaking MTLFunctionConstantValues in ProgramMtl
a201bbc98 egl_angle_ext.xml: add missing enums and typedefs
5c85fd4e1 Add error check on resuming XFB with deleted buffer.
a947c5f56 Skip BlitFramebufferTest.ScissoredMultisampleStencil
fb91e27cf add GL_ANGLE_robust_resource_initialization extension to xml
6803a2d01 D3D11: implement SSBOs in pixel and vertex shaders.
c458b5add Fix CheckedNumeric using the wrong type.
04782d86b Validate vertex attrib index against caps.maxVertexAttributes
767b65939 Roll VK-GL-CTS from 6f8a7182bd26 to 20a474e64382 (14 revisions)
b120ab6d4 Roll Chromium from a01c0c749d0a to f89964bd5b42 (617 revisions)
1b94c5856 Revert "Vulkan: Switch loader to new driver files env var."
727cd8ef6 Fix pointer sscanf for ChromeOS
92e99653d Fix crashes in gl::VertexArray::detachBuffer() and onDestory()
4b381f419 Vulkan: Fix descriptorSet perf counter values.
09a24f3d5 Roll SwiftShader from d09282e5c609 to d15c42482560 (2 revisions)
5a16a1f99 Roll Chromium from 64472fba3112 to a01c0c749d0a (448 revisions)
3cea7fcc0 Split Context ResourceUseList to RP Commandbuffers
ac1301069 Metal: Remove Unused IOSurface code
1f6123d55 Vulkan: Switch loader to new driver files env var.
a16491d98 Vulkan: Fix invalidation of non-existing aspects
d6ff967e3 Roll SwiftShader from d3cc7d7ac0c3 to d09282e5c609 (6 revisions)
b7e8ab48d Roll Chromium from 6f6eb80eab19 to 64472fba3112 (509 revisions)
ba04fcfd1 Support ANGLE_PREFERRED_DEVICE on CGL
23558369a Update perf tests arguments.
f36dde314 D3D: remove NV GetDimensions() workaround for image load/store.
7a9856f67 Report durations of all flaky retries in JSON test output
9d486a85e GL: Unbind textures from FBO after calls to frameBufferTexture2D
a1c9ba709 Update validation of glFramebufferTextureLayer for cube maps
152616eed Tests: Add Aztec Ruins High trace
06c201f84 Roll SwiftShader from 1b159f6cdecb to d3cc7d7ac0c3 (1 revision)
b4eaa3a29 Roll Chromium from 3c01a5c3bc2f to 6f6eb80eab19 (52 revisions)
ff9bd35d9 Roll Chromium from c32f123be7eb to 3c01a5c3bc2f (107 revisions)
bac8915c5 Roll Chromium from f39b4372b8a8 to c32f123be7eb (777 revisions)
366f60116 Roll vulkan-deps from 6d732e01d9ea to 345e2a278e69 (3 revisions)
607d398e0 Vulkan: Optimize resolve of multisample swapchains
0ffff9eda Vulkan: Perf counters test for glInvalidateSubFramebuffer
ca3b7d35f Vulkan: Roll volk
3258477a0 Skip car_chase on all Intel Windows platforms
78f5ef92a Roll SwiftShader from 7d100c556081 to 1b159f6cdecb (2 revisions)
7b0f63182 Vulkan: Wayland include directories
8b84cf15e Tests: Add GFXBench Car Chase trace
256bbb8ac Vulkan: Don't invalidate resolve attachment except with MSRTT
b3fff1aaf retrace_restricted_traces: Check for json file.
a11bf0edc Fix Max Atomic Counter Conformance Test Failure on Pixel6
a555be4aa Tests: Add Scary Teacher 3D trace
e933df513 retrace_restricted_traces: Remove unused code.
808f754c4 Capture/Replay: Use glFramebufferTexture2D for cubes
1a3411c7d Set SKIPPED status on skipped tests, rely on it in Gold tests.
34471fed1 Vulkan: Skip failing intel blend test.
4f7efb51b Remove swiftshader_spirv_tools_dir
2cb264b5a Roll SwiftShader from a190ceed7293 to 7d100c556081 (9 revisions)
83d3a98cd Remove commented out mSkipTest.
74eac5e5a Roll VK-GL-CTS from fbc38865227d to 6f8a7182bd26 (14 revisions)
e7d44541e Use GTEST_SKIP to set gTest status of skipped tests to SKIPPED.
b33767ec9 Revert "Vulkan: Fix texture-after-framebuffer sync issues"
bd7915fd0 Use provided format as intended format for EGLImage from VkImage
4655ef15d Roll SwiftShader from 649d6e46aeae to a190ceed7293 (1 revision)
4b2602259 Roll Chromium from 804d5a91d49d to f39b4372b8a8 (124 revisions)
4b232a9a8 Roll Chromium from 384f873e0970 to 804d5a91d49d (4365 revisions)
f41303cda Skip end2end tests timing out on TSAN and ASAN
535cd538f Vulkan: Fix texture-after-framebuffer sync issues
4615a0355 Skip failing tests on Pixel 6
6b94a71ce Vulkan: Lift SwS suppressions.
ba0eba20b Remove the TODOs regarding multisample buffer age
cd9e887ae Vulkan: Add multisample buffer age tests
8f9043636 Vulkan: Move memory allocation initialization code into function
b169f6f94 Vulkan: Fix no location decoration vs framebuffer fetch
5cffbe965 Android: Track peak GPU memory in restricted_trace_perf
cc19587e2 infra: Use logarithmic batching in LUCI config.
e10803f76 Compiler: Allow deferred array sizing in geometry shaders
dd86dd15b Cache outer array offset in linked uniforms.
0754b1f72 Roll SwiftShader from bc5bec05c369 to 649d6e46aeae (3 revisions)
57a081c76 Roll vulkan-deps from e37ba68c0fde to 6d732e01d9ea (4 revisions)
d3492eef5 Vulkan: Handle border color for stencil component

9:32 AM Changeset in webkit [293512] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

test-webkitperl outputs git hints during the test
https://bugs.webkit.org/show_bug.cgi?id=239759

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-27
Reviewed by Alexey Proskuryakov.

Avoid git hints about initial branch name during a test that initializes a git repository.
The output disrupts the test system result reporting output.

Specify the quiet operation. --initial-branch cannot be specified
since the Perl tests run on older git.

  • Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl:
9:30 AM Changeset in webkit [293511] by Ziran Sun
  • 17 edits in trunk

[css-ui] Remove some unimplemented -webkit-appearance keywords
https://bugs.webkit.org/show_bug.cgi?id=238930

Reviewed by Aditya Keerthi.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:

Source/WebCore:

Remove the following unimplmented --webkit-appearance keyworkds:
button-bevel
media-controls-background
media-controls-fullscreen-background
media-current-time-display
media-enter-fullscreen-button
media-exit-fullscreen-button
media-mute-button
media-overlay-play-button
media-return-to-realtime-button
media-rewind-button
media-seek-back-button
media-seek-forward-button
media-time-remaining-display
media-toggle-closed-captions-button
media-volume-slider-container
menulist-textfield
menulist-text

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

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

(WebCore::operator<<):

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

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaMuteButton):
(WebCore::RenderTheme::paintMediaSliderThumb):
(WebCore::RenderTheme::paintMediaVolumeSliderThumb):
(WebCore::RenderTheme::paintMediaFullscreenButton): Deleted.
(WebCore::RenderTheme::paintMediaOverlayPlayButton): Deleted.
(WebCore::RenderTheme::paintMediaSeekBackButton): Deleted.
(WebCore::RenderTheme::paintMediaSeekForwardButton): Deleted.
(WebCore::RenderTheme::paintMediaVolumeSliderContainer): Deleted.
(WebCore::RenderTheme::paintMediaRewindButton): Deleted.
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Deleted.
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton): Deleted.
(WebCore::RenderTheme::paintMediaControlsBackground): Deleted.
(WebCore::RenderTheme::paintMediaCurrentTime): Deleted.
(WebCore::RenderTheme::paintMediaTimeRemaining): Deleted.

Source/WebInspectorUI:

We might need to update the changes on UserInterface/External/CodeMirror/css.js since
PR https://github.com/codemirror/CodeMirror/pull/6912 has been merged in CodeMirror.

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

LayoutTests:

  • imported/blink/editing/execCommand/outdent-collapse-table-crash.html:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:
8:49 AM Changeset in webkit [293510] by dbezhetskov
  • 19 edits
    1 add in trunk

[WASM-GC] Introduce rtt types
https://bugs.webkit.org/show_bug.cgi?id=239493

Reviewed by Keith Miller.

JSTests:

Added basic tests for manipulation of rtt types.

  • wasm/gc/rtt.js: Added.

(module):
(testRttTypes):
(testRttCanon):

  • wasm/wasm.json:

Source/JavaScriptCore:

Add a basic support through runtime call for rtt.canon and rtt types.
It is a prototype implementation of rtt types needed to move forward
with wasm gc proposal (https://github.com/WebAssembly/gc/blob/main/proposals/gc/MVP.md).
For example, we don't need to use rtt values for struct.new,
but we do need them for the future js api.
So, rtt.canon returns jsNull for now, but we can replace it with
properly defined values when the spec will be ready.

  • bytecode/BytecodeList.rb:
  • llint/WebAssembly.asm:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::tmpForType):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::addRttCanon):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::addRttCanon):

  • wasm/WasmCallingConvention.h:

(JSC::Wasm::WasmCallingConvention::marshallLocation const):

  • wasm/WasmFormat.h:

(JSC::Wasm::isValueType):
(JSC::Wasm::isValidHeapTypeKind):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::callInformationForCallee):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addRttCanon):

  • wasm/WasmOperations.cpp:

(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):

  • wasm/WasmOperations.h:
  • wasm/WasmParser.h:

(JSC::Wasm::Parser<SuccessType>::parseValueType):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::WASM_SLOW_PATH_DECL):

  • wasm/WasmSlowPaths.h:
  • wasm/generateWasmOpsHeader.py:
  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

  • wasm/wasm.json:
8:49 AM Changeset in webkit [293509] by pvollan@apple.com
  • 13 edits in trunk/Source/WebKit

[macOS] The function getpwnam can sometimes fail
https://bugs.webkit.org/show_bug.cgi?id=239513
<rdar://89758690>

Reviewed by Darin Adler.

The system function getpwnam is caching the results from the first invocation, and will return the cached
values after the first call. It may happen that opendirectoryd will invalidate the cached values by
posting notifications. If that happens, getpwnam will then fail, since there are no cached values and
the WebContent process' sandbox is blocking access to opendirectoryd. This patch addresses this issue
by observing these notifications in the UI process, and recreating the cached values for getpwnam, by
calling the function in the WebContent process while holding a temporary sandbox extenstion to
opendirectoryd.

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • GPUProcess/mac/GPUProcessMac.mm:

(WebKit::GPUProcess::openDirectoryCacheInvalidated):

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • Shared/AuxiliaryProcess.h:
  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::getHomeDirectory):
(WebKit::populateSandboxInitializationParameters):
(WebKit::AuxiliaryProcess::openDirectoryCacheInvalidated):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::openDirectoryCacheInvalidated):

  • WebProcess/com.apple.WebProcess.sb.in:
7:11 AM Changeset in webkit [293508] by commit-queue@webkit.org
  • 2 edits in trunk

[GTK] Add user agent quirk for "ClicSalud+" (Andalusian Health Service, Spain)
https://bugs.webkit.org/show_bug.cgi?id=239763

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-04-27
Reviewed by Adrian Perez de Castro.

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

(TestWebKitAPI::TEST):

  • Source/WebCore/platform/UserAgentQuirks.cpp:

(WebCore::urlRequiresMacintoshPlatform):

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

6:16 AM Changeset in webkit [293507] by commit-queue@webkit.org
  • 6 edits in trunk

[GLib] Make WebKitSettings XSS auditor functions no-op
https://bugs.webkit.org/show_bug.cgi?id=239651

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-04-27
Reviewed by Adrian Perez de Castro.

Let's deprecate these functions.

Also, do not print warnings because they are called during init by the property setters.

  • Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:

(webkit_settings_get_enable_xss_auditor):
(webkit_settings_set_enable_xss_auditor):

  • Source/WebKit/UIProcess/API/gtk/WebKitSettings.h:
  • Source/WebKit/UIProcess/API/wpe/WebKitSettings.h:

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

6:12 AM Changeset in webkit [293506] by youenn@apple.com
  • 20 edits in trunk

service worker update should refresh imported scripts in addition to the main script
https://bugs.webkit.org/show_bug.cgi?id=239657

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/credentials.https-expected.txt:

Source/WebCore:

After checking main script, if matching, we refreach each identified imported script.
If matching, we reuse the same worker, otherwise we install a new one.
We reuse the soft update loader to fetch scripts in case of soft update.
Otherwise, we load scripts through the job's client.

Covered by rebased test.

  • workers/service/SWClientConnection.cpp:
  • workers/service/SWClientConnection.h:
  • workers/service/ServiceWorkerContainer.cpp:
  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerJob.cpp:
  • workers/service/ServiceWorkerJob.h:
  • workers/service/ServiceWorkerJobClient.h:
  • workers/service/server/SWServer.cpp:
  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerJobQueue.cpp:
  • workers/service/server/SWServerJobQueue.h:
  • workers/service/server/SWServerWorker.cpp:
  • workers/service/server/SWServerWorker.h:

Source/WebKit:

  • NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
4:59 AM Changeset in webkit [293505] by Diego Pino Garcia
  • 2 edits in trunk/Source/WTF

[GCC] GCC9.3 defines 'remove_cvref_t' but not 'cpp_lib_remove_cvref'
https://bugs.webkit.org/show_bug.cgi?id=239805

Reviewed by Žan Doberšek.

GCC9.3 defines 'remove_cvref_t' but not 'cpp_lib_remove_cvref'. The
latter was introduced in GCC9.4:

https://github.com/gcc-mirror/gcc/blob/releases/gcc-9.4.0/libstdc%2B%2B-v3/include/std/type_traits#L3024

The flag 'cpp_lib_remove_cvref' is used to check whether 'remove_cvref_t'
is defined, but it's not posible to rely on it for GCC9.3 as explained on the
paragraph above.

Instead we check whether cplusplus is <= 201703L since the GCC commit
that defined 'remove_cvref_t' does it if
cplusplus > 201703L. See:

https://github.com/gcc-mirror/gcc/commit/6791489ee5214b0181aa22adc250cbbde1897a5c

  • wtf/StdLibExtras.h:
4:14 AM Changeset in webkit [293504] by commit-queue@webkit.org
  • 22 edits in trunk/Source/WebCore

[LBSE] Fix origin of transformations in SVG
https://bugs.webkit.org/show_bug.cgi?id=239717

Patch by Nikolas Zimmermann <nzimmermann@igalia.com> on 2022-04-27
Reviewed by Rob Buis.

Fix the majority of SVG transform issues in LBSE. webkit.org/b/237711 laid the groundwork for SVG
transforms in LBSE, however there are still issues:

  • SVG transforms specified alone on SVG elements, w/o any additional style/perspective related property such as transform-box / transform-origin / ... do not trigger layer creation, fix by adapting StyleAdjuster.
  • Switching on/off transforms for a SVG element, was not tracking updates to both 'HasSVGTransform' and 'HasTransformRelatedProperty' flags correctly, fix that by introducing an 'updateHasSVGTransformFlags' helper.
  • Modify SVGContainerLayout to avoid a dependency on the children transformations when computing container boundaries. In the legacy engine, we always have to mark the whole ancestor chain as 'need to recompute boundaries' and invoking a re-layout, to perform the recomputation. This change avoids the invalidation of the whole ancestor chain, when an elements transform changes in a non-accelerated way (e.g. SVGTransformList manipulation, SMIL <animateTransform> / <animate> / <set>). In CSS transformations do not affect layout, only hit-testing and painting.

-> SVG/CSS transforms applied on SVG elements is conceptually equivalent to CSS transformations on CSS boxes now.

Transformation changes no longer affect the 'internal geometry' (objectBoundingBoxWithoutTransformations()).
currentSVGLayoutLocation() / nominalSVGLayoutLocation() are computed using the 'internal geometry' and used
throughout layout.

This avoids most of the RenderLayer / RenderLayerBacking specific changes that were present in the downstream
LBSE implementation, while also solving an important design issue: no back-splash from children to parents.
Large, deep nested documents -- as seen in the wild -- will benefit the most, avoiding the frequent ancestor
walks to mark the containing block / parent hierachy for re-layout.

Covered by existing tests, no change in behaviour. (However testability for LBSE is ready soon!).

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::referenceBoxRect const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::paintLayerByApplyingTransform):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::rendererLocation const):

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):
(WebCore::RenderLayerModelObject::computeVisibleRectInSVGContainer const):
(WebCore::RenderLayerModelObject::updateHasSVGTransformFlags):

  • rendering/RenderLayerModelObject.h:

(WebCore::RenderLayerModelObject::nominalSVGLayoutLocation const):
(WebCore::RenderLayerModelObject::currentSVGLayoutLocation const):
(WebCore::RenderLayerModelObject::setCurrentSVGLayoutLocation):

  • rendering/RenderObject.h:

(WebCore::RenderObject::objectBoundingBoxWithoutTransformations const):

  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::layoutChildren):
(WebCore::RenderSVGContainer::paint):
(WebCore::RenderSVGContainer::nodeAtPoint):
(WebCore::RenderSVGContainer::styleDidChange): Deleted.

  • rendering/svg/RenderSVGContainer.h:
  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::updateFromStyle):
(WebCore::RenderSVGModelObject::absoluteRects const):

  • rendering/svg/RenderSVGModelObject.h:

(WebCore::RenderSVGModelObject::currentSVGLayoutRect const):
(WebCore::RenderSVGModelObject::setCurrentSVGLayoutRect):
(WebCore::RenderSVGModelObject::frameRectEquivalent const):
(WebCore::RenderSVGModelObject::applyTopLeftLocationOffsetEquivalent const):
(WebCore::RenderSVGModelObject::layoutRect const): Deleted.
(WebCore::RenderSVGModelObject::setLayoutRect): Deleted.
(WebCore::RenderSVGModelObject::setLayoutLocation): Deleted.
(WebCore::RenderSVGModelObject::paintingLocation const): Deleted.
(WebCore::RenderSVGModelObject::layoutLocation const): Deleted.
(WebCore::RenderSVGModelObject::layoutLocationOffset const): Deleted.
(WebCore::RenderSVGModelObject::layoutSize const): Deleted.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::updateFromStyle):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::layout):
(WebCore::RenderSVGShape::paint):
(WebCore::RenderSVGShape::nodeAtPoint):

  • rendering/svg/RenderSVGTransformableContainer.cpp:

(WebCore::RenderSVGTransformableContainer::updateFromStyle):

  • rendering/svg/SVGBoundingBoxComputation.cpp:

(WebCore::SVGBoundingBoxComputation::handleRootOrContainer const):

  • rendering/svg/SVGBoundingBoxComputation.h:

(WebCore::SVGBoundingBoxComputation::computeVisualOverflowRect):

  • rendering/svg/SVGContainerLayout.cpp:

(WebCore::SVGContainerLayout::positionChildrenRelativeToContainer):
(WebCore::SVGContainerLayout::verifyLayoutLocationConsistency):
(WebCore::layoutLocationFromRenderer): Deleted.
(WebCore::setLayoutLocationForRenderer): Deleted.

  • rendering/svg/SVGContainerLayout.h:
  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjust const):

3:36 AM Changeset in webkit [293503] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

<link rel=preconnect> always sends credentials to different-origin, ignoring crossorigin=anonymous
https://bugs.webkit.org/show_bug.cgi?id=239119
<rdar://problem/91643534>

Reviewed by John Wilander.

Update the check as per spec, step 5 of
https://html.spec.whatwg.org/multipage/links.html#link-type-preconnect

This is difficult to test as preconnect can only expose TLS credentials.

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::preconnectIfNeeded):

2:10 AM Changeset in webkit [293502] by youenn@apple.com
  • 15 edits
    3 adds in trunk

Add testRunner API to clear memory cache
https://bugs.webkit.org/show_bug.cgi?id=239804
rdar://92033309

Reviewed by Chris Dumez.

Source/WebCore:

  • testing/Internals.cpp:

(WebCore::Internals::clearMemoryCache):
Beef up clearMemoryCache to be on par with testRunner counterpart.

Source/WebKit:

Add necessary WebKit API to implement the testRunner API.
Make use of new testRunner API in added test.

Test: http/wpt/fetch/clear-memory-cache.html

  • NetworkProcess/NetworkProcess.cpp:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

Tools:

Implement the clear memory cache testRunner API and related plumbery.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:
  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:
  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

LayoutTests:

  • http/wpt/fetch/clear-memory-cache-expected.txt: Added.
  • http/wpt/fetch/clear-memory-cache.html: Added.
  • http/wpt/fetch/resources/clear-memory-cache.py: Added.
2:01 AM WebKitGTK/2.36.x edited by Adrian Perez de Castro
(diff)
1:21 AM Changeset in webkit [293501] by youenn@apple.com
  • 42 edits
    3 adds
    2 deletes in trunk

Shared workers should match service worker registrations
https://bugs.webkit.org/show_bug.cgi?id=239122

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/clients-get-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:

Source/WebCore:

Update SharedWorkerScriptLoader to set correctly client ID and service worker data.
Ditto for SharedWorkerThread and SharedWorkerThreadProxy.
Add support to get a SharedWorkerThreadProxy from a client ID.
Use this in SWClientConnection to add support for controller change and post messaging.

Given we create the shared worker identifier in one web process but we might spawn the actual worker in another process,
we need to unregister the identifier with the old process identifier and register the identifier with the new process identifier.
This is done at shared worker launch time.

Covered by updated tests.
Test: http/wpt/service-workers/controlled-sharedworker.https.html

  • Headers.cmake:
  • workers/Worker.cpp:
  • workers/Worker.h:
  • workers/WorkerGlobalScope.cpp:
  • workers/WorkerInitializationData.h:
  • workers/WorkerScriptLoader.cpp:
  • workers/WorkerScriptLoader.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::gatherClientData):

  • workers/service/server/SWServer.h:
  • workers/service/SWClientConnection.cpp:
  • workers/service/ServiceWorkerContainer.cpp:
  • workers/shared/SharedWorkerObjectConnection.cpp:
  • workers/shared/SharedWorkerObjectConnection.h:
  • workers/shared/SharedWorkerScriptLoader.cpp:
  • workers/shared/SharedWorkerScriptLoader.h:
  • workers/shared/context/SharedWorkerThread.cpp:
  • workers/shared/context/SharedWorkerThreadProxy.cpp:
  • workers/shared/context/SharedWorkerThreadProxy.h:

Source/WebKit:

  • NetworkProcess/NetworkResourceLoader.cpp:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/SharedWorker/WebSharedWorker.h:
  • NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:
  • NetworkProcess/SharedWorker/WebSharedWorkerServer.h:
  • NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.cpp:
  • NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
  • NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
  • WebProcess/Storage/WebSWClientConnection.cpp:
  • WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
  • WebProcess/Storage/WebSharedWorkerContextManagerConnection.h:
  • WebProcess/Storage/WebSharedWorkerContextManagerConnection.messages.in:
  • WebProcess/Storage/WebSharedWorkerObjectConnection.messages.in:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess):

LayoutTests:

  • http/wpt/service-workers/controlled-sharedworker.https-expected.txt: Added.
  • http/wpt/service-workers/controlled-sharedworker.https.html: Added.
  • http/wpt/service-workers/resources/controlled-sharedworker.js: Added.
  • http/wpt/service-workers/skipFetchEvent-worker.js:
  • platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt: Removed.

Apr 26, 2022:

10:59 PM Changeset in webkit [293500] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.10.7

Tag WebKit-7614.1.10.7.

10:55 PM Changeset in webkit [293499] by Russell Epstein
  • 9 edits in branches/safari-614.1.10-branch/Source

Versioning.

WebKit-7614.1.10.7

10:40 PM Changeset in webkit [293498] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove adjustPathForRecentRenamings from VCSUtils.pm, they are not recent anymore
https://bugs.webkit.org/show_bug.cgi?id=239646

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-26
Reviewed by Darin Adler.

These were used to adjust patches 10 years ago.
The functionality renames *_test_expectations.txt in ANGLE imports, which causes surprises
and hard to track redundant sections while inspecting downstream differences to upstream.

  • Scripts/VCSUtils.pm:

(parseGitDiffHeader):

10:30 PM Changeset in webkit [293497] by Antti Koivisto
  • 8 edits
    2 adds in trunk

::first-letter does not work if used only in shadow content
https://bugs.webkit.org/show_bug.cgi?id=220650
<rdar://problem/73477161>

Reviewed by Alan Bujtas.

Source/WebCore:

Test: fast/shadow-dom/shadow-first-line-and-letter.html

We were not setting usesFirstLetter/LinesRules bits if those pseudo-elements were used
only in shadow trees.

Fix by removing the bits. They don't seem to allow any valuable optimizations.

  • rendering/LegacyRootInlineBox.cpp:

(WebCore::LegacyRootInlineBox::verticalPositionForBox):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::lineHeight const):
(WebCore::RenderBlock::getFirstLetter):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::mayAffectLayout const):
(WebCore::RenderInline::lineHeight const):

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::lineHeight const):

  • rendering/RenderView.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
(WebCore::Style::TreeResolver::resolve):

LayoutTests:

Test case by vb@bigdot.de.

  • fast/shadow-dom/shadow-first-line-and-letter-expected.html: Added.
  • fast/shadow-dom/shadow-first-line-and-letter.html: Added.
9:49 PM Changeset in webkit [293496] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Don't flush the IOSurface CGContext when just setting ownership identity
https://bugs.webkit.org/show_bug.cgi?id=239800

Reviewed by Myles C. Maxfield.

ImageBufferIOSurfaceBackend::surface() has a call to flushContext(), which we don't need
to do if we're just getting the surface to call setOwnershipIdentity(), so use m_surface
directly.

This is a ~18% perf gain on the Leaves MotionMark subtest on iPhone.

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::setOwnershipIdentity):

7:48 PM Changeset in webkit [293495] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

[git-webkit] Cannot create pull request branch using bug URL, fails to fetch comments from Bugzilla, fails to modify bug
https://bugs.webkit.org/show_bug.cgi?id=239741

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-04-26
Reviewed by Jonathan Bedard.

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

(Tracker.credentials.validater):
(Tracker._login_arguments):

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

(Bugzilla.init):
(Bugzilla.request):

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

7:31 PM Changeset in webkit [293494] by Kyle Piddington
  • 3 edits in trunk/Source/ThirdParty/ANGLE

Max Limits have been reduced
https://bugs.webkit.org/show_bug.cgi?id=238914
Allow larger constant uniform buffer data. Provide a
buffer to Metal if uniform data exceeds 4kb
Tested by running deqp gles3 limits tests for uniform data

Reviewed by Dean Jackson.

  • src/libANGLE/renderer/metal/ProgramMtl.mm:

(rx::ProgramMtl::commitUniforms):

  • src/libANGLE/renderer/metal/mtl_common.h:
7:01 PM Changeset in webkit [293493] by Oriol Brufau
  • 6 edits in trunk/Source/WebCore

[css-logical] Side border shorthands should not be logical/physical
https://bugs.webkit.org/show_bug.cgi?id=239734

Reviewed by Tim Nguyen.

No test since now there should be no observable change in behavior.

However, this refactoring will be needed for bug 236199.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
Mark logical side border shorthands as animatable.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
Add code for serializing logical side border shorthands.

  • css/CSSProperties.json:

Stop side border shorthands from being in a logical property group.
They will just expand into logical or physical longhands, but the
shorthands themselves will be normal.

  • css/makeprop.pl:

(addProperty):
Assert that no shorthand belongs to a logical property group.

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):
Remove dead code.

7:00 PM Changeset in webkit [293492] by dbezhetskov
  • 2 edits in trunk/Source/JavaScriptCore

[WASM] Fix warning: cast from ‘char*’ to ‘JSC::Wasm::Type*’ increases required alignment of target type [-Wcast-align]
https://bugs.webkit.org/show_bug.cgi?id=239698

Reviewed by Darin Adler.

There is a warning inside TypeDefinition on some platforms so this
patch fixes it.

  • wasm/WasmTypeDefinition.h:

(JSC::Wasm::FunctionSignature::FunctionSignature):
(JSC::Wasm::FunctionSignature::storage):
(JSC::Wasm::FunctionSignature::storage const):
(JSC::Wasm::StructType::StructType):
(JSC::Wasm::StructType::storage):
(JSC::Wasm::StructType::storage const):
(JSC::Wasm::TypeDefinition::payload):

6:15 PM Changeset in webkit [293491] by Chris Dumez
  • 3 edits in trunk/Source

Avoid iterating the input string several times setInnerText() / setOuterText()
https://bugs.webkit.org/show_bug.cgi?id=239783

Reviewed by Geoff Garen.

Avoid iterating the input string several times setInnerText() / setOuterText(), to look for new lines
and carriage return characters. Instead of calling contains('\n') and then contains('\r'), thus iterating
over the string twice, we now call contains([](UChar c) { return c == '\n' || c == '\r'; }), achieving
the same thing by traversing the input string only once.

  • Source/WTF/wtf/text/WTFString.h:
  • Source/WebCore/editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::performTrivialReplace):

  • Source/WebCore/html/HTMLElement.cpp:

(WebCore::HTMLElement::setInnerText):
(WebCore::HTMLElement::setOuterText):

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

6:14 PM Changeset in webkit [293490] by commit-queue@webkit.org
  • 2 edits
    7 deletes in trunk/LayoutTests

Cleanup expectations for 7 imported/w3c/web-platform-tests/html/semantics/interactive-elements/ tests
https://bugs.webkit.org/show_bug.cgi?id=239790

Unreviewed test gardening.

  • LayoutTests/platform/ios-wk2/TestExpectations:
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/backdrop-receives-element-events-expected.txt: Removed.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/closed-dialog-does-not-block-mouse-events-expected.txt: Removed.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/inert-inlines-expected.txt: Removed.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-ancestor-is-inert-expected.txt: Removed.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/modal-dialog-blocks-mouse-events-expected.txt: Removed.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/non-modal-dialog-does-not-block-mouse-events-expected.txt: Removed.
  • LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/simulated-click-inert-expected.txt: Removed.

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

5:47 PM Changeset in webkit [293489] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.10.6

Tag WebKit-7614.1.10.6.

5:29 PM Changeset in webkit [293488] by Jean-Yves Avenard
  • 14 edits in trunk/Source/WebCore

MediaSession.setPositionState() does not work.
https://bugs.webkit.org/show_bug.cgi?id=237196

Reviewed by Eric Carlson.

Use MediaSession's positionState if present when constructing NowPlaying
MediaRemote data.
We emulate what the media-session position would have been had the
time progressed according to the playback rate.
As such, we need to tell the media-session when no action handlers are
set that the media was paused or played again.
When seeking, we update the new time position and continue according to
the set playback rate.

Tested manually with the following scenarios:

  • Set a page only defining the media-session's position state once
  • Let the media element play by default, check the Now Playing position
  • Pause/Play using Now Playing control and checks that the time doesn't jump around.
  • Seek using Now Playing and check that the media seeks properly and that the Now Playing positon progress from the seek point according to the media-session's playback rate.
  • Seek using default media control and check the same as above.
  • Seek using default media control, then pause in Now Playing: check that the playback position doesn't jump around.

We don't have a way to properly test the MediaRemote
external framework and with existing MediaSession API tests currently
disabled following bug 221514.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::setPlaybackState):
(WebCore::MediaSession::updateReportedPosition):
(WebCore::MediaSession::willBeginPlayback):
(WebCore::MediaSession::willPausePlayback):
(WebCore::MediaSession::positionOverridden):

  • Modules/mediasession/MediaSession.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):
(WebCore::HTMLMediaElement::removedFromAncestor):
(WebCore::HTMLMediaElement::mediaLoadingFailed):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::finishSeek):
(WebCore::HTMLMediaElement::clearMediaPlayer):

  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::clientWillBeginPlayback):
(WebCore::MediaElementSession::clientWillPausePlayback):
(WebCore::MediaElementSession::nowPlayingInfo const):
(WebCore::MediaElementSession::metadataChanged):
(WebCore::MediaElementSession::positionStateChanged):
(WebCore::MediaElementSession::clientCharacteristicsChanged):

  • html/MediaElementSession.h:
  • platform/audio/NowPlayingInfo.h:

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

  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::clientCharacteristicsChanged):

  • platform/audio/PlatformMediaSession.h:
  • platform/audio/PlatformMediaSessionManager.h:

(WebCore::PlatformMediaSessionManager::clientCharacteristicsChanged):

  • platform/audio/cocoa/MediaSessionManagerCocoa.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(WebCore::MediaSessionManagerCocoa::clientCharacteristicsChanged):
(WebCore::MediaSessionManagerCocoa::setNowPlayingInfo):

5:27 PM Changeset in webkit [293487] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS ] webanimations/accelerated-animation-after-forward-filling-animation.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=239794

Unreviewed test gardening.

  • LayoutTests/platform/mac/TestExpectations:

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

5:23 PM Changeset in webkit [293486] by Elliott Williams
  • 9 edits in trunk/Source

Unreviewed, reverting "[Xcode] Compute PGO profdata paths instead of searching for them at build time"
https://bugs.webkit.org/show_bug.cgi?id=239681

Source/JavaScriptCore:

This reverts commit 433f73bc052d7c978c619e28b2574df8faf6cb72.

  • Configurations/JavaScriptCore.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:

Source/WebCore:

  • Configurations/WebCore.xcconfig:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • Configurations/BaseTarget.xcconfig:
  • WebKit.xcodeproj/project.pbxproj:
5:19 PM Changeset in webkit [293485] by Oriol Brufau
  • 6 edits
    4 adds in trunk

[css-cascade] Fix cascade rollback for deferred properties
https://bugs.webkit.org/show_bug.cgi?id=238125

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Add a test. It still has some failures due to bug 239579, bug 239669,
and bug 239670.

  • web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt: Added.
  • web-platform-tests/css/css-cascade/all-prop-revert-layer.html: Added.

Source/WebCore:

When a deferred property was set to 'revert' or 'revert-layer', it used
to roll back to a declaration of the same exact property (or behave as
'unset' if none).

This patch lets deferred properties roll back to their related property,
e.g. '-webkit-box-shadow: revert-layer' can roll back to a 'box-shadow'
declaration in the previous layer.

This is consistent with logical and physical properties, where the
rollback happens after resolving logical properties.

Test: imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer.html

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::lastDeferredPropertyResolvingRelated const):

  • style/PropertyCascade.h:
  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyProperty):

LayoutTests:

Add custom expectation for mac-wk1 since scroll-behavior is disabled
there, and thus not checked by the test.

  • platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt: Added.
4:44 PM Changeset in webkit [293484] by Chris Dumez
  • 208 edits in trunk

Update equalLettersIgnoringASCIICase() / startsWithLettersIgnoringASCIICase() to take in an ASCIILiteral
https://bugs.webkit.org/show_bug.cgi?id=239775

Reviewed by Geoff Garen.

Update equalLettersIgnoringASCIICase() / startsWithLettersIgnoringASCIICase() to take in an ASCIILiteral,
as we are encouraging developers to use _s suffix for string literals.

  • Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

  • Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp:

(WTR::xmlRoleValueString):

  • Tools/WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::testPathFromURL):

  • Source/JavaScriptCore/runtime/Options.cpp:

(JSC::parse):

  • Source/WebCore/PAL/pal/text/TextEncodingRegistry.cpp:

(PAL::defaultTextEncodingNameForSystemLanguage):

  • Source/WebDriver/WebDriverService.cpp:

(WebDriver::WebDriverService::matchCapabilities const):

  • Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp:

(WebKit::NetworkDataTaskBlob::resume):

  • Source/WebKit/NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::preconnectTo):

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):

  • Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::isMediaMIMEType):

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

(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):

  • Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:

(WebKit::NetworkDataTaskCurl::willPerformHTTPRedirection):

  • Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):

  • Source/WebKit/UIProcess/API/C/WKWebsitePolicies.cpp:

(WKWebsitePoliciesSetCustomHeaderFields):

  • Source/WebKit/UIProcess/API/Cocoa/_WKCustomHeaderFields.mm:

(-[_WKCustomHeaderFields setFields:]):

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

(WebKit::visibleDomain):

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

(WebKit::matchesExtensionOrEquivalent):

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

(WebKit::desktopClassBrowsingRecommendedForRequest):

  • Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::encodeSharedMemory):

  • Source/WTF/wtf/Assertions.cpp:
  • Source/WTF/wtf/DateMath.cpp:

(WTF::parseDateFromNullTerminatedCharacters):

  • Source/WTF/wtf/SortedArrayMap.h:

(WTF::operator==):

  • Source/WTF/wtf/text/AtomString.h:

(WTF::equalLettersIgnoringASCIICase):

  • Source/WTF/wtf/text/StringCommon.h:

(WTF::equalLettersIgnoringASCIICase):
(WTF::equalLettersIgnoringASCIICaseCommon):
(WTF::startsWithLettersIgnoringASCIICaseCommon):
(WTF::equalLettersIgnoringASCIICaseCommonWithoutLength): Deleted.
(WTF::startsWithLettersIgnoringASCIICaseCommonWithoutLength): Deleted.

  • Source/WTF/wtf/text/StringImpl.h:

(WTF::startsWithLettersIgnoringASCIICase):
(WTF::equalLettersIgnoringASCIICase):

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

(WTF::equalLettersIgnoringASCIICase):
(WTF::startsWithLettersIgnoringASCIICase):

  • Source/WTF/wtf/text/WTFString.h:

(WTF::equalLettersIgnoringASCIICase):
(WTF::startsWithLettersIgnoringASCIICase):

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

(WebCore::PaymentCoordinator::validatedPaymentNetwork const):

  • Source/WebCore/Modules/applicationmanifest/ApplicationManifestParser.cpp:

(WebCore::ApplicationManifestParser::parseIcons):

  • Source/WebCore/Modules/encryptedmedia/legacy/LegacyCDMPrivateClearKey.cpp:

(WebCore::LegacyCDMPrivateClearKey::supportsKeySystem):
(WebCore::LegacyCDMPrivateClearKey::supportsKeySystemAndMimeType):

  • Source/WebCore/Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp:

(WebCore::CDMSessionClearKey::update):

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

(WebCore::FetchBodyConsumer::packageFormData):

  • Source/WebCore/Modules/mediacapabilities/MediaCapabilities.cpp:

(WebCore::isValidVideoMIMEType):
(WebCore::isValidAudioMIMEType):

  • Source/WebCore/Modules/mediarecorder/MediaRecorderProvider.cpp:

(WebCore::MediaRecorderProvider::isSupported):

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

(WebCore::YouTubePluginReplacement::supportsMIMEType):
(WebCore::YouTubePluginReplacement::supportsFileExtension):
(WebCore::isYouTubeURL):
(WebCore::processAndCreateYouTubeURL):
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):

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

(WebCore::AuthenticatorCoordinatorInternal::needsAppIdQuirks):

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

(WebCore::WebSocketHandshake::checkResponseHeaders):

  • Source/WebCore/accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::isModalElement const):
(WebCore::AXObjectCache::handleMenuItemSelected):
(WebCore::isNodeAriaVisible):

  • Source/WebCore/accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::isMultiSelectable const):

  • Source/WebCore/accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::isEnabled const):

  • Source/WebCore/accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
(WebCore::AccessibilityNodeObject::isEnabled const):
(WebCore::AccessibilityNodeObject::isIndeterminate const):
(WebCore::AccessibilityNodeObject::isPressed const):
(WebCore::AccessibilityNodeObject::isChecked const):
(WebCore::AccessibilityNodeObject::isMultiSelectable const):
(WebCore::AccessibilityNodeObject::isRequired const):
(WebCore::AccessibilityNodeObject::elementAttributeValue const):
(WebCore::shouldUseAccessibilityObjectInnerText):
(WebCore::AccessibilityNodeObject::textUnderElement const):

  • Source/WebCore/accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::autoCompleteValue const):
(WebCore::AccessibilityObject::contentEditableAttributeIsEnabled):
(WebCore::AccessibilityObject::ariaIsMultiline const):
(WebCore::AccessibilityObject::liveRegionStatusIsEnabled):
(WebCore::AccessibilityObject::sortDirection const):
(WebCore::AccessibilityObject::popupValue const):
(WebCore::AccessibilityObject::supportsPressed const):
(WebCore::AccessibilityObject::supportsExpanded const):
(WebCore::AccessibilityObject::isExpanded const):
(WebCore::AccessibilityObject::checkboxOrRadioValue const):
(WebCore::AccessibilityObject::isAXHidden const):
(WebCore::AccessibilityObject::setIsIgnoredFromParentDataForChild):

  • Source/WebCore/accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::hasPopup const):
(WebCore::AccessibilityRenderObject::supportsDragging const):
(WebCore::AccessibilityRenderObject::defaultObjectInclusion const):
(WebCore::AccessibilityRenderObject::isSelected const):
(WebCore::AccessibilityRenderObject::orientation const):
(WebCore::AccessibilityRenderObject::liveRegionAtomic const):

  • Source/WebCore/accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::orientation const):

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

(WebCore::AccessibilityObject::rolePlatformDescription const):

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::processKeyframes):

  • Source/WebCore/contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):

  • Source/WebCore/css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSVGFontFaceSrc const):

  • Source/WebCore/css/MediaList.cpp:

(WebCore::reportMediaQueryWarningIfNeeded):

  • Source/WebCore/css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::mediaTypeMatch const):
(WebCore::MediaQueryEvaluator::mediaTypeMatchSpecific const):
(WebCore::evaluateResolution):

  • Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setProperty):

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

(WebCore::isUniversalKeyword):

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

(WebCore::consumeStringOrURI):
(WebCore::CSSParserImpl::consumeImportRule):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeKeyframeKeyList):

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

(WebCore::CSSParserSelector::parsePagePseudoSelector):
(WebCore::CSSParserSelector::parsePseudoElementSelector):

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

(WebCore::CSSParserTokenRange::consumeBlockCheckingForEditability):

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

(WebCore::consumeAnimationName):

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

(WebCore::CSSPropertyParserHelpersWorkerSafe::consumeUnicodeRangeString):

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

(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeAttributeFlags):
(WebCore::consumeANPlusB):

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

(WebCore::CSSSupportsParser::consumeCondition):

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

(WebCore::CSSTokenizer::consumeIdentLikeToken):

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

(WebCore::MediaQueryParser::readMediaNot):
(WebCore::isRestrictorOrLogicalOperator):
(WebCore::MediaQueryParser::readMediaType):
(WebCore::MediaQueryParser::readAnd):
(WebCore::MediaQueryParser::handleBlocks):

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

(WebCore::SizesCalcParser::calcToReversePolishNotation):

  • Source/WebCore/css/typedom/transform/CSSPerspective.cpp:

(WebCore::checkLength):

  • Source/WebCore/dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

  • Source/WebCore/dom/Document.cpp:

(WebCore::Document::determineActiveThemeColorMetaElement):
(WebCore::Document::processColorScheme):
(WebCore::Document::processFormatDetection):
(WebCore::Document::createEvent):
(WebCore::Document::setDesignMode):
(WebCore::Document::parseDNSPrefetchControlHeader):

  • Source/WebCore/dom/Element.cpp:

(WebCore::isStyleAttribute):
(WebCore::Element::isSpellCheckingEnabled const):
(WebCore::Element::canContainRangeEndPoint const):

  • Source/WebCore/dom/InlineStyleSheetOwner.cpp:

(WebCore::isValidCSSContentType):

  • Source/WebCore/dom/ScriptElement.cpp:

(WebCore::ScriptElement::determineScriptType const):
(WebCore::ScriptElement::isScriptForEventSupported const):

  • Source/WebCore/dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy):

  • Source/WebCore/dom/ViewportArguments.cpp:

(WebCore::findSizeValue):
(WebCore::findScaleValue):
(WebCore::findBooleanValue):
(WebCore::parseViewportFitValue):
(WebCore::setViewportFeature):

  • Source/WebCore/editing/EditorCommand.cpp:

(WebCore::executeDefaultParagraphSeparator):
(WebCore::executeStyleWithCSS):
(WebCore::executeUseCSS):

  • Source/WebCore/editing/TextIterator.cpp:

(WebCore::isRendererReplacedElement):

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

(WebCore::DataDetection::requiresExtendedContext):
(WebCore::removeResultLinksFromAnchor):
(WebCore::searchForLinkRemovingExistingDDLinks):
(WebCore::DataDetection::isDataDetectorElement):

  • Source/WebCore/history/HistoryItem.cpp:

(WebCore::HistoryItem::setFormInfoFromRequest):

  • Source/WebCore/html/Autocapitalize.cpp:

(WebCore::autocapitalizeTypeForAttributeValue):

  • Source/WebCore/html/Autofill.cpp:

(WebCore::AutofillData::createFromHTMLFormControlElement):

  • Source/WebCore/html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::draggable const):
(WebCore::HTMLAnchorElement::relList):

  • Source/WebCore/html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::parseAttribute):

  • Source/WebCore/html/HTMLBRElement.cpp:

(WebCore::HTMLBRElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::parseAttribute):

  • Source/WebCore/html/HTMLDivElement.cpp:

(WebCore::HTMLDivElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLElement.cpp:

(WebCore::isLTROrRTLIgnoringCase):
(WebCore::contentEditableType):
(WebCore::HTMLElement::collectPresentationalHintsForAttribute):
(WebCore::toValidDirValue):
(WebCore::HTMLElement::applyAlignmentAttributeToStyle):
(WebCore::HTMLElement::setContentEditable):
(WebCore::HTMLElement::draggable const):
(WebCore::HTMLElement::translate const):
(WebCore::HTMLElement::hasDirectionAuto const):
(WebCore::HTMLElement::directionality const):
(WebCore::HTMLElement::dirAttributeChanged):
(WebCore::parseLegacyColorValue):
(WebCore::HTMLElement::shouldAutocorrect const):

  • Source/WebCore/html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::shouldAutocorrect const):

  • Source/WebCore/html/HTMLFormElement.cpp:

(WebCore::parseFormRelAttributes):
(WebCore::HTMLFormElement::shouldAutocorrect const):
(WebCore::HTMLFormElement::relList):
(WebCore::HTMLFormElement::shouldAutocomplete const):
(WebCore::HTMLFormElement::autocomplete const):

  • Source/WebCore/html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::scrollingMode const):

  • Source/WebCore/html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::parseAttribute):

  • Source/WebCore/html/HTMLHRElement.cpp:

(WebCore::HTMLHRElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseAttribute):
(WebCore::HTMLIFrameElement::loadingForBindings const):
(WebCore::isFrameLazyLoadable):

  • Source/WebCore/html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::hasLazyLoadableAttributeValue):
(WebCore::parseCrossoriginState):
(WebCore::HTMLImageElement::decodingMode const):

  • Source/WebCore/html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::mediaCaptureType const):

  • Source/WebCore/html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::as const):
(WebCore::HTMLLinkElement::process):

  • Source/WebCore/html/HTMLMarqueeElement.cpp:

(WebCore::HTMLMarqueeElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • Source/WebCore/html/HTMLMenuElement.cpp:

(WebCore::HTMLMenuElement::parseAttribute):

  • Source/WebCore/html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::attributeChanged):
(WebCore::HTMLMetaElement::removedFromAncestor):
(WebCore::HTMLMetaElement::process):

  • Source/WebCore/html/HTMLObjectElement.cpp:

(WebCore::mapDataParamToSrc):
(WebCore::HTMLObjectElement::parametersForPlugin):
(WebCore::HTMLObjectElement::containsJavaApplet const):

  • Source/WebCore/html/HTMLParagraphElement.cpp:

(WebCore::HTMLParagraphElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLParamElement.cpp:

(WebCore::HTMLParamElement::isURLParameter):

  • Source/WebCore/html/HTMLTableElement.cpp:

(WebCore::getBordersFromFrameAttributeValue):
(WebCore::HTMLTableElement::collectPresentationalHintsForAttribute):
(WebCore::HTMLTableElement::parseAttribute):

  • Source/WebCore/html/HTMLTablePartElement.cpp:

(WebCore::HTMLTablePartElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::parseAttribute):

  • Source/WebCore/html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setRangeText):
(WebCore::HTMLTextFormControlElement::directionForFormData const):

  • Source/WebCore/html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::parseAttribute):

  • Source/WebCore/html/InputType.cpp:

(WebCore::InputType::applyStep):

  • Source/WebCore/html/LinkRelAttribute.cpp:

(WebCore::LinkRelAttribute::LinkRelAttribute):
(WebCore::LinkRelAttribute::isSupported):

  • Source/WebCore/html/MediaElementSession.cpp:

(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled const):

  • Source/WebCore/html/NumberInputType.cpp:

(WebCore::NumberInputType::sizeShouldIncludeDecoration const):

  • Source/WebCore/html/RangeInputType.cpp:

(WebCore::RangeInputType::createStepRange const):
(WebCore::RangeInputType::handleKeydownEvent):

  • Source/WebCore/html/StepRange.cpp:

(WebCore::StepRange::parseStep):

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

(WebCore::isCurrentColorString):

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

(WebCore::CSSPreloadScanner::emitRule):

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

(WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype):

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

(WebCore::HTMLElementStack::isHTMLIntegrationPoint):

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

(WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):

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

(WebCore::parseCORSSettingsAttribute):

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

(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):

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

(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processStartTagForInTable):

  • Source/WebCore/html/parser/ParsingUtilities.h:

(WebCore::skipExactlyIgnoringASCIICase):

  • Source/WebCore/html/track/TextTrack.cpp:

(WebCore::TextTrack::setKindKeywordIgnoringASCIICase):

  • Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::shouldTreatAsText):

  • Source/WebCore/loader/CrossOriginAccessControl.cpp:

(WebCore::createPotentialAccessControlRequest):

  • Source/WebCore/loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::loadApplicationManifest):

  • Source/WebCore/loader/FetchIdioms.cpp:

(WebCore::shouldBlockResponseDueToMIMEType):

  • Source/WebCore/loader/FormSubmission.cpp:

(WebCore::appendMailtoPostFormDataToURL):
(WebCore::FormSubmission::Attributes::parseEncodingType):
(WebCore::FormSubmission::Attributes::parseMethodType):

  • Source/WebCore/loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldPerformFragmentNavigation):

  • Source/WebCore/loader/LinkHeader.cpp:

(WebCore::paramterNameFromString):

  • Source/WebCore/loader/LinkLoader.cpp:

(WebCore::LinkLoader::resourceTypeFromAsAttribute):
(WebCore::LinkLoader::preconnectIfNeeded):

  • Source/WebCore/loader/ResourceCryptographicDigest.cpp:

(WebCore::parseHashAlgorithmAdvancingPosition):

  • Source/WebCore/loader/ServerTiming.cpp:

(WebCore::ServerTiming::setParameter):

  • Source/WebCore/loader/TextResourceDecoder.cpp:

(WebCore::TextResourceDecoder::determineContentType):
(WebCore::TextResourceDecoder::setEncoding):

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

(WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):

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

(WebCore::parseApplicationCacheManifest):

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

(WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile):

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

(WebCore::CachedCSSStyleSheet::mimeTypeAllowedByNosniff const):
(WebCore::CachedCSSStyleSheet::canUseSheet const):

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

(WebCore::shouldCacheSchemeIndefinitely):

  • Source/WebCore/mathml/MathMLElement.cpp:

(WebCore::MathMLElement::collectPresentationalHintsForAttribute):

  • Source/WebCore/mathml/MathMLFractionElement.cpp:

(WebCore::MathMLFractionElement::lineThickness):
(WebCore::MathMLFractionElement::cachedFractionAlignment):

  • Source/WebCore/page/DOMSelection.cpp:

(WebCore::DOMSelection::modify):

  • Source/WebCore/page/EventSource.cpp:

(WebCore::EventSource::responseIsValid const):

  • Source/WebCore/page/FrameView.cpp:

(WebCore::FrameView::scrollToFragmentInternal):

  • Source/WebCore/page/Page.cpp:

(WebCore::Page::useDarkAppearance const):

  • Source/WebCore/page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::screenshot):

  • Source/WebCore/page/Quirks.cpp:

(WebCore::isYahooMail):
(WebCore::Quirks::needsFormControlToBeMouseFocusable const):
(WebCore::Quirks::needsSeekingSupportDisabled const):
(WebCore::Quirks::needsPerDocumentAutoplayBehavior const):
(WebCore::Quirks::shouldAutoplayWebAudioForArbitraryUserGesture const):
(WebCore::Quirks::shouldTooltipPreventFromProceedingWithClick const):
(WebCore::Quirks::needsMillisecondResolutionForHighResTimeStamp const):
(WebCore::Quirks::shouldStripQuotationMarkInFontFaceSetFamily const):
(WebCore::Quirks::isTouchBarUpdateSupressedForHiddenContentEditable const):
(WebCore::Quirks::isNeverRichlyEditableForTouchBar const):
(WebCore::shouldSuppressAutocorrectionAndAutocaptializationInHiddenEditableAreasForHost):
(WebCore::Quirks::shouldDispatchSyntheticMouseEventsWhenModifyingSelection const):
(WebCore::Quirks::needsYouTubeMouseOutQuirk const):
(WebCore::Quirks::shouldAvoidUsingIOS13ForGmail const):
(WebCore::Quirks::isGoogleMaps const):
(WebCore::Quirks::shouldDispatchSimulatedMouseEvents const):
(WebCore::Quirks::shouldDispatchedSimulatedMouseEventsAssumeDefaultPrevented const):
(WebCore::Quirks::simulatedMouseEventTypeForTarget const):
(WebCore::Quirks::shouldMakeTouchEventNonCancelableForTarget const):
(WebCore::Quirks::shouldPreventPointerMediaQueryFromEvaluatingToCoarse const):
(WebCore::Quirks::shouldPreventDispatchOfTouchEvent const):
(WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const):
(WebCore::Quirks::shouldDisablePointerEventsQuirk const):
(WebCore::Quirks::needsDeferKeyDownAndKeyPressTimersUntilNextEditingCommand const):
(WebCore::Quirks::needsInputModeNoneImplicitly const):
(WebCore::Quirks::needsGMailOverflowScrollQuirk const):
(WebCore::Quirks::needsYouTubeOverflowScrollQuirk const):
(WebCore::Quirks::needsFullscreenDisplayNoneQuirk const):
(WebCore::Quirks::shouldSilenceWindowResizeEvents const):
(WebCore::Quirks::shouldSilenceMediaQueryListChangeEvents const):
(WebCore::Quirks::shouldAvoidScrollingWhenFocusedContentIsVisible const):
(WebCore::Quirks::shouldUseLegacySelectPopoverDismissalBehaviorInDataActivation const):
(WebCore::Quirks::shouldIgnoreAriaForFastPathContentObservationCheck const):
(WebCore::Quirks::shouldOpenAsAboutBlank const):
(WebCore::Quirks::shouldBypassBackForwardCache const):
(WebCore::Quirks::shouldIgnoreContentObservationForSyntheticClick const):
(WebCore::Quirks::needsVP9FullRangeFlagQuirk const):
(WebCore::Quirks::needsHDRPixelDepthQuirk const):
(WebCore::Quirks::needsBlackFullscreenBackgroundQuirk const):
(WebCore::Quirks::shouldDisableEndFullscreenEventWhenEnteringPictureInPictureFromFullscreenQuirk const):
(WebCore::Quirks::needsToForceUserSelectAndUserDragWhenInstallingImageOverlay const):

  • Source/WebCore/page/SecurityOrigin.cpp:

(WebCore::isFeedWithNestedProtocolInHTTPFamily):
(WebCore::SecurityOrigin::isLocalHostOrLoopbackIPAddress):

  • Source/WebCore/page/SecurityOriginData.cpp:

(WebCore::SecurityOriginData::databaseIdentifier const):

  • Source/WebCore/page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::parse):
(WebCore::UserContentURLPattern::matches const):

  • Source/WebCore/page/WindowFeatures.cpp:

(WebCore::setWindowFeature):
(WebCore::boolFeature):

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

(WebCore::ContentSecurityPolicy::reportUnsupportedDirective const):
(WebCore::ContentSecurityPolicy::reportInvalidSourceExpression const):

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

(WebCore::isSourceListNone):
(WebCore::schemeIsInHttpFamily):
(WebCore::ContentSecurityPolicySourceList::isValidSourceForExtensionMode):
(WebCore::ContentSecurityPolicySourceList::parseSource):
(WebCore::ContentSecurityPolicySourceList::parseNonceSource):

  • Source/WebCore/platform/MIMETypeRegistry.cpp:

(WebCore::MIMETypeRegistry::isSupportedImageVideoOrSVGMIMEType):
(WebCore::MIMETypeRegistry::isSupportedWebAssemblyMIMEType):
(WebCore::MIMETypeRegistry::isSupportedStyleSheetMIMEType):
(WebCore::MIMETypeRegistry::isSupportedFontMIMEType):
(WebCore::MIMETypeRegistry::isTextMediaPlaylistMIMEType):
(WebCore::MIMETypeRegistry::isSupportedJSONMIMEType):
(WebCore::MIMETypeRegistry::isSupportedTextTrackMIMEType):
(WebCore::MIMETypeRegistry::isTextMIMEType):
(WebCore::MIMETypeRegistry::isXMLMIMEType):
(WebCore::MIMETypeRegistry::isXMLEntityMIMEType):
(WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
(WebCore::MIMETypeRegistry::isPostScriptMIMEType):
(WebCore::MIMETypeRegistry::canShowMIMEType):

  • Source/WebCore/platform/PreviewConverter.cpp:

(WebCore::PreviewConverter::supportsMIMEType):

  • Source/WebCore/platform/ReferrerPolicy.cpp:

(WebCore::parseReferrerPolicyToken):

  • Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::parseLicenseFormat):
(WebCore::CDMFactoryClearKey::supportsKeySystem):
(WebCore::CDMPrivateClearKey::supportsInitData const):
(WebCore::CDMInstanceSessionClearKey::requestLicense):

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

(WebCore::FontCache::alternateFamilyName):

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

(WebCore::computeSpecializedChineseLocale):

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

(WebCore::computeUserPrefersSimplified):

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

(WebCore::MIMETypeCache::shouldOverrideExtendedType):

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

(WebCore::MediaPlayer::supportsType):

  • Source/WebCore/platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType):

  • Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::keySystemIsSupported):

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

(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):

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

(WebCore::CDMSessionAVStreamSession::generateKeyRequest):

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

(WebCore::willUseWebMFormatReaderForType):
(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):

  • Source/WebCore/platform/graphics/cg/ImageBufferUtilitiesCG.cpp:

(WebCore::utiFromImageBufferMIMEType):

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

(WebCore::FontCache::similarFont):
(WebCore::isDotPrefixedForbiddenFont):
(WebCore::fontWithFamilySpecialCase):
(WebCore::FontCache::platformAlternateFamilyName):

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

(WebCore::matchSystemFontUse):

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

(WebCore::SourceBufferParserWebM::isContentTypeSupported):

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

(WebCore::SystemFontDatabaseCoreText::monospaceFamily):

  • Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::isCommonlyUsedGenericFamily):

  • Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

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

(webKitDMABufVideoSinkIsEnabled):

  • Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp:

(WebCore::CDMPrivateThunder::supportsInitData const):

  • Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

  • Source/WebCore/platform/graphics/win/FontCacheWin.cpp:

(WebCore::adjustedGDIFontWeight):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::platformAlternateFamilyName):

  • Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

  • Source/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::FontCustomPlatformData::supportsFormat):

  • Source/WebCore/platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:

(WebCore::VideoSampleBufferCompressor::create):

  • Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::LibWebRTCProvider::createDecodingConfiguration):
(WebCore::LibWebRTCProvider::createEncodingConfiguration):

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

(WebCore::BlobResourceHandle::loadResourceSynchronously):
(WebCore::BlobResourceHandle::doStart):

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

(WebCore::parseCacheControlDirectives):

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

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

  • Source/WebCore/platform/network/FormData.h:

(WebCore::FormData::parseEncodingType):

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

(WebCore::parseContentTypeOptionsHeader):
(WebCore::parseXFrameOptionsHeader):
(WebCore::parseRange):
(WebCore::isForbiddenHeaderName):
(WebCore::isPriviledgedNoCORSRequestHeaderName):
(WebCore::isForbiddenResponseHeaderName):
(WebCore::isForbiddenMethod):
(WebCore::isCrossOriginSafeRequestHeader):

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

(WebCore::MIMEHeader::parseContentTransferEncoding):

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

(WebCore::shouldUseGet):

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

(WebCore::ResourceResponseBase::isAttachment const):
(WebCore::ResourceResponseBase::isAttachmentWithFilename const):

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

(WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):

  • Source/WebCore/platform/network/curl/CookieUtil.cpp:

(WebCore::CookieUtil::parseCookieAttributes):

  • Source/WebCore/platform/network/curl/CurlMultipartHandle.cpp:

(WebCore::CurlMultipartHandle::extractBoundary):

  • Source/WebCore/platform/network/curl/ResourceResponseCurl.cpp:

(WebCore::ResourceResponse::isAppendableHeader):
(WebCore::ResourceResponse::appendHTTPHeaderField):

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

(WebCore::ResourceHandle::willSendRequest):

  • Source/WebCore/platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::useWALJournalMode):

  • Source/WebCore/platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::isColumnDeclaredAsBlob):

  • Source/WebCore/platform/win/PasteboardWin.cpp:

(WebCore::clipboardTypeFromMIMEType):

  • Source/WebCore/plugins/PluginData.cpp:

(WebCore::isBuiltInPDFPlugIn):

  • Source/WebCore/rendering/RenderThemeMac.mm:

(WebCore::iconForAttachment):

  • Source/WebCore/style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertTouchCallout):

  • Source/WebCore/svg/SVGAElement.cpp:

(WebCore::SVGAElement::relList):

  • Source/WebCore/svg/SVGTests.cpp:

(WebCore::SVGTests::hasFeatureForLegacyBindings):

  • Source/WebCore/svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):

  • Source/WebCore/testing/Internals.cpp:

(WebCore::markerTypeFrom):
(WebCore::markerTypesFrom):
(WebCore::Internals::mediaElementHasCharacteristic):
(WebCore::Internals::setCaptionDisplayMode):
(WebCore::Internals::beginMediaSessionInterruption):
(WebCore::Internals::endMediaSessionInterruption):
(WebCore::mediaTypeFromString):
(WebCore::Internals::setMediaSessionRestrictions):
(WebCore::Internals::setMediaElementRestrictions):
(WebCore::Internals::postRemoteControlCommand):
(WebCore::Internals::setAudioContextRestrictions):
(WebCore::Internals::setMockMediaPlaybackTargetPickerState):
(WebCore::Internals::setPageMuted):
(WebCore::Internals::addPrefetchLoadEventListener):

  • Source/WebCore/testing/LegacyMockCDM.cpp:

(WebCore::LegacyMockCDM::supportsKeySystem):
(WebCore::LegacyMockCDM::supportsKeySystemAndMimeType):
(WebCore::LegacyMockCDM::supportsMIMEType):

  • Source/WebCore/testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::supportsKeySystem):
(WebCore::MockCDM::sanitizeSessionId const):
(WebCore::MockCDMInstance::setServerCertificate):

  • Source/WebCore/workers/service/server/SWServer.cpp:

(WebCore::SWServer::canHandleScheme const):

  • Source/WebCore/xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createDecoder const):

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

(WebCore::shouldAllowExternalLoad):

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

4:39 PM Changeset in webkit [293483] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Cannot run test-webkitpy, autoinstaller fails to compile lupa
https://bugs.webkit.org/show_bug.cgi?id=239786

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-04-26
Reviewed by Jonathan Bedard.

  • Tools/Scripts/libraries/reporelaypy/reporelaypy/init.py:
  • Tools/Scripts/libraries/reporelaypy/setup.py:
  • Tools/Scripts/libraries/resultsdbpy/resultsdbpy/init.py:
  • Tools/Scripts/libraries/resultsdbpy/setup.py:

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

4:15 PM Changeset in webkit [293482] by Alan Coon
  • 4 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r292911. rdar://problem/91519558

Parent Mismatch
https://bugs.webkit.org/show_bug.cgi?id=239390

Reviewed by Simon Fraser.

The oldParent and layer->parent() may be different under certain circumstances.
To account for this, we can just use the layer->parent() and remove the use
of oldParent. This also has the benefit of simplifying the moveLayers() function.

  • rendering/RenderElement.cpp: (WebCore::RenderElement::moveLayers):
  • rendering/RenderElement.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::insertOnlyThisLayer):

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

3:58 PM Changeset in webkit [293481] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Adjust what we consider to be private relayed
https://bugs.webkit.org/show_bug.cgi?id=239784
<rdar://92336270>

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-26
Reviewed by Geoffrey Garen.

If a request is not eligible for private relay, then do not consider it having been private relayed.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

3:57 PM Changeset in webkit [293480] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r291968. rdar://problem/91681393

AccessibilityObject::listMarkerTextForNodeAndPosition should check for presence of list item before anything else
https://bugs.webkit.org/show_bug.cgi?id=238341

Reviewed by Andres Gonzalez.

The first thing AccessibilityObject::listMarkerTextForNodeAndPosition
does is check to see that the given range isStartOfLine. We
should instead check if there's an actual list item to work with
before doing this, since isStartOfLine can cause crashes.

Covered by test
accessibility/mac/attributed-string-with-listitem-multiple-lines.html.

  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):

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

3:56 PM Changeset in webkit [293479] by Jonathan Bedard
  • 2 edits in trunk/Tools

[build.webkit.org] Support identifiers on dashboard (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=239473
<rdar://problem/76852365>

Unreviewed test gardening.

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/index-expected.txt:

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

3:48 PM Changeset in webkit [293478] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS ] webanimations/accelerated-animation-slot-invalidation.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=239791

Unreviewed test gardening.

  • LayoutTests/platform/mac/TestExpectations:

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

3:45 PM Changeset in webkit [293477] by Jonathan Bedard
  • 2 edits in trunk/Tools

[ews-build.webkit.org] Support alternative remotes (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=239617
<rdar://problem/92115230>

Reviewed by Aakash Jain.

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

(GitHubEventHandlerNoEdits.extractProperties): 'project' is not set by extractProperties.

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

3:36 PM Changeset in webkit [293476] by Jonathan Bedard
  • 6 edits in trunk/Tools

[git-webkit] Checkout PRs from alternate remotes
https://bugs.webkit.org/show_bug.cgi?id=239745
<rdar://problem/92300209>

Reviewed by Dewei Zhu.

  • 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): The name of the repository is embedded in the argument.
(Git.checkout): Handle remote-postfixed remote names.

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

(Checkout.parser): Add --remote command.
(Checkout.main): Use the full repo name instead of the owner's username.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:

(GitHub.PRGenerator.PullRequest): Pass full repo name as metadata.

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

3:33 PM Changeset in webkit [293475] by Jonathan Bedard
  • 6 edits in trunk/Tools

[build.webkit.org] Support identifiers in popover
https://bugs.webkit.org/show_bug.cgi?id=239773
<rdar://problem/92339575>

Rubber-stamped by Aakash Jain.

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

(Commits): Keep track of all fetched commits.
(Commits.prototype._update): Save fetched commits.
(Commits.prototype.lastNIdentifiers): Return a list of the last n identifiers
on a branch.
(Commits.prototype.fetch): Load information for last N commits.
(Commits.prototype.urlFor): Return a url for a commit ref.

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Main.js: Remove

trac auto-updater.

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

(QueueView.prototype._appendPendingRevisionCount): After we determine the
number of commits behind, fetch that many commits.
(QueueView.prototype._popoverLinesForCommitRange): Support commits with identifiers.
(QueueView.prototype._presentPopoverForPendingCommits):

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/MockCommits.js:
  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/tests.js:

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

3:25 PM Changeset in webkit [293474] by Chris Dumez
  • 2 edits in trunk/Source/WebCore/dom

ElementData::setClassNames() can take an r-value reference
https://bugs.webkit.org/show_bug.cgi?id=239789

Reviewed by Geoffrey Garen.

  • Source/WebCore/dom/Element.cpp:

(WebCore::Element::classAttributeChanged):

  • Source/WebCore/dom/ElementData.h:

(WebCore::ElementData::setClassNames const):

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

3:22 PM Changeset in webkit [293473] by ysuzuki@apple.com
  • 34 edits in trunk

[JSC] Add forceUnlinkedDFG option
https://bugs.webkit.org/show_bug.cgi?id=239751

Reviewed by Saam Barati.

This patch adds forceUnlinkedDFG option to start running tests with unlinked DFG (while it is not truly unlinked yet).

  • Tools/Scripts/run-jsc-stress-tests:
  • Source/JavaScriptCore/jit/JITOperations.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/runtime/OptionsList.h:
  • JSTests/stress/arith-abs-on-various-types.js:
  • JSTests/stress/arith-abs-to-arith-negate-range-optimizaton.js:
  • JSTests/stress/arith-acos-on-various-types.js:
  • JSTests/stress/arith-acosh-on-various-types.js:
  • JSTests/stress/arith-asin-on-various-types.js:
  • JSTests/stress/arith-asinh-on-various-types.js:
  • JSTests/stress/arith-atan-on-various-types.js:
  • JSTests/stress/arith-atanh-on-various-types.js:
  • JSTests/stress/arith-cbrt-on-various-types.js:
  • JSTests/stress/arith-ceil-on-various-types.js:
  • JSTests/stress/arith-clz32-on-various-types.js:
  • JSTests/stress/arith-cos-on-various-types.js:
  • JSTests/stress/arith-cosh-on-various-types.js:
  • JSTests/stress/arith-expm1-on-various-types.js:
  • JSTests/stress/arith-floor-on-various-types.js:
  • JSTests/stress/arith-fround-on-various-types.js:
  • JSTests/stress/arith-log-on-various-types.js:
  • JSTests/stress/arith-log10-on-various-types.js:
  • JSTests/stress/arith-log2-on-various-types.js:
  • JSTests/stress/arith-round-on-various-types.js:
  • JSTests/stress/arith-sin-on-various-types.js:
  • JSTests/stress/arith-sinh-on-various-types.js:
  • JSTests/stress/arith-sqrt-on-various-types.js:
  • JSTests/stress/arith-tan-on-various-types.js:
  • JSTests/stress/arith-tanh-on-various-types.js:
  • JSTests/stress/arith-trunc-on-various-types.js:
  • JSTests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js:

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

3:18 PM Changeset in webkit [293472] by Alan Coon
  • 18 edits in branches/safari-613-branch

Revert "Apply patch. rdar://problem/88904160"

3:18 PM Changeset in webkit [293471] by Alan Coon
  • 9 edits
    3 adds in branches/safari-613-branch

Cherry-pick r290630. rdar://problem/89442583

AX: WebKit should ignore empty modals rather than trapping focus inside them
https://bugs.webkit.org/show_bug.cgi?id=237163

Reviewed by Chris Fleizach and Andres Gonzalez.

Source/WebCore:

Given this markup:

<div role="dialog" aria-modal="true">

<div aria-hidden="true">

<button>Close modal (inside modal)</button>

</div>

</div>

There is no accessible content inside this modal, but WebKit traps user focus inside,
making the rest of the page completely inaccessible.

With this patch we ignore modals that don't have accessible content.
We do this by walking the DOM to find any non-AX-ignored objects.

Because determining whether or not an element is ignored is dependent
on modals present on the page, this patch moves the call to ignoredFromModalPresence
out of AccessibilityObject::defaultObjectInclusion, as this function is
downstream of computeAccessibilityIsIgnored, and we need to call
that on objects inside modal candidates. Without this move, we would
recurse infinitely in AXObjectCache::modalElementHasAccessibleContent.

We now check whether an object is ignored due to modal presence in
AccessibilityObject::accessibilityIsIgnored(), so that function should
be used as the final say in determining whether an object is ignored.

Test: accessibility/ignore-modals-without-any-content.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::modalElementHasAccessibleContent): (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const): (WebCore::AccessibilityObject::accessibilityIsIgnored const):
  • accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::computeAccessibilityIsIgnored const):

LayoutTests:

  • accessibility/ignore-modals-without-any-content-expected.txt: Added.
  • accessibility/ignore-modals-without-any-content.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/ios/accessibility/ignore-modals-without-any-content-expected.txt: Added.
  • platform/win/TestExpectations: Skip new test.

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

3:18 PM Changeset in webkit [293470] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/ChangeLog

Cherry-pick r290860. rdar://problem/89291570

AX: Protect incoming object with Ref in AXObjectCache::textChanged
https://bugs.webkit.org/show_bug.cgi?id=237475

Reviewed by Chris Fleizach.

This is better practice as ascending the hierarchy could cause
the object to get deleted.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textChanged):

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

3:18 PM Changeset in webkit [293469] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r292430. rdar://problem/92204558

[Cocoa] Video is sometimes not visible after r292049
https://bugs.webkit.org/show_bug.cgi?id=238826

Reviewed by Jer Noble.

RenderVideo::willBeDestroyed calls MediaPlayer::setPageIsVisible, which causes
MediaPlayerPrivateAVFoundationObjC::platformSetVisible to hide the AVPlayerLayer.
HTMLMediaElement::visibilityStateChanged is the only other thing that calls
MediaPlayer::setPageIsVisible, and it only calls it when the page visibility changes,
so if that doesn't happen the AVPlayerLayer is not shown when the renderer is
recreated.

  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::willBeDestroyed): Don't call MediaPlayer::setPageIsVisible(false), the page visibility has not changed.

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

3:18 PM Changeset in webkit [293468] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r293286. rdar://problem/92198272

Crash under AsyncScrollingCoordinator::scrollingThreadAddedPendingUpdate()
https://bugs.webkit.org/show_bug.cgi?id=239683
<rdar://92198272>

Reviewed by Alan Bujtas.

Crash data suggest that m_page can be null in
AsyncScrollingCoordinator::scheduleRenderingUpdate(), which does seem possible because
scheduleRenderingUpdate() is a dispatch from the scrolling thread, and
ScrollingCoordinator::pageDestroyed() may have run before it runs.

  • page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::scheduleRenderingUpdate):

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

3:18 PM Changeset in webkit [293467] by Alan Coon
  • 3 edits in branches/safari-613-branch

Cherry-pick r292274. rdar://problem/80544133

[Cocoa] Automatically relayout the page when new fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=238483
<rdar://problem/80544133>

Reviewed by Chris Dumez.

Source/WebCore:

This patch simply calls setNeedsRecalcStyleInAllFrames on every Page when we receive a
kCTFontManagerRegisteredFontsChangedNotification.

FontCache::invalidateAllFontCaches() can't do this directly because it's in platform/ and
therefore isn't allowed to know what Pages are. Instead, this patch takes a process-global
callback and calls that instead. This callback is set at initialization time.

Test: fast/text/install-font-style-recalc.html

  • page/Page.cpp: (WebCore::m_contentSecurityPolicyModeForExtension): (WebCore::Page::firstTimeInitialization):
  • page/Page.h:
  • platform/graphics/FontCache.cpp: (WebCore::Function<void): (WebCore::FontCache::registerFontCacheInvalidationCallback): (WebCore::FontCache::invalidateAllFontCaches):
  • platform/graphics/FontCache.h:

Tools:

Make TestRunner::dumpResourceLoadStatistics() clear any currently-recorded statistics.
This avoids the problem where spurious layouts during the time when the page has been created but
before the test has begun record irrelevant statistics.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): (WTR::InjectedBundle::clearResourceLoadStatistics):
  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpResourceLoadStatistics):

LayoutTests:

  • TestExpectations:
  • fast/text/install-font-style-recalc-expected.txt: Added.
  • fast/text/install-font-style-recalc.html: Added.
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

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

3:18 PM Changeset in webkit [293466] by Alan Coon
  • 5 edits in branches/safari-613-branch/Source/WebKit

Revert "Apply patch. rdar://problem/88904160"

3:18 PM Changeset in webkit [293465] by Alan Coon
  • 3 edits in branches/safari-613-branch

Cherry-pick r292274. rdar://problem/80544133

[Cocoa] Automatically relayout the page when new fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=238483
<rdar://problem/80544133>

Reviewed by Chris Dumez.

Source/WebCore:

This patch simply calls setNeedsRecalcStyleInAllFrames on every Page when we receive a
kCTFontManagerRegisteredFontsChangedNotification.

FontCache::invalidateAllFontCaches() can't do this directly because it's in platform/ and
therefore isn't allowed to know what Pages are. Instead, this patch takes a process-global
callback and calls that instead. This callback is set at initialization time.

Test: fast/text/install-font-style-recalc.html

  • page/Page.cpp: (WebCore::m_contentSecurityPolicyModeForExtension): (WebCore::Page::firstTimeInitialization):
  • page/Page.h:
  • platform/graphics/FontCache.cpp: (WebCore::Function<void): (WebCore::FontCache::registerFontCacheInvalidationCallback): (WebCore::FontCache::invalidateAllFontCaches):
  • platform/graphics/FontCache.h:

Tools:

Make TestRunner::dumpResourceLoadStatistics() clear any currently-recorded statistics.
This avoids the problem where spurious layouts during the time when the page has been created but
before the test has begun record irrelevant statistics.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): (WTR::InjectedBundle::clearResourceLoadStatistics):
  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpResourceLoadStatistics):

LayoutTests:

  • TestExpectations:
  • fast/text/install-font-style-recalc-expected.txt: Added.
  • fast/text/install-font-style-recalc.html: Added.
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

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

3:18 PM Changeset in webkit [293464] by Alan Coon
  • 3 edits in branches/safari-613-branch

Cherry-pick r292072. rdar://problem/80544133

[Cocoa] Automatically relayout the page when new fonts are installed
https://bugs.webkit.org/show_bug.cgi?id=238483
<rdar://problem/80544133>

Reviewed by Chris Dumez.

Source/WebCore:

This patch simply calls setNeedsRecalcStyleInAllFrames on every Page when we receive a
kCTFontManagerRegisteredFontsChangedNotification.

FontCache::invalidateAllFontCaches() can't do this directly because it's in platform/ and
therefore isn't allowed to know what Pages are. Instead, this patch takes a process-global
callback and calls that instead. This callback is set at initialization time.

Test: fast/text/install-font-style-recalc.html

  • page/Page.cpp: (WebCore::m_attachmentElementClient):
  • platform/graphics/FontCache.cpp: (WebCore::Function<void): (WebCore::FontCache::registerFontCacheInvalidationCallback): (WebCore::FontCache::invalidateAllFontCaches):
  • platform/graphics/FontCache.h:

LayoutTests:

  • fast/text/install-font-style-recalc-expected.txt: Added.
  • fast/text/install-font-style-recalc.html: Added.

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

3:17 PM Changeset in webkit [293463] by Alan Coon
  • 5 edits in branches/safari-613-branch/Source/WebKit

Apply patch. rdar://problem/88904160

3:17 PM Changeset in webkit [293462] by Alan Coon
  • 18 edits in branches/safari-613-branch

Apply patch. rdar://problem/88904160

3:17 PM Changeset in webkit [293461] by Alan Coon
  • 2 edits in branches/safari-613-branch

Cherry-pick r291724. rdar://problem/91975589

Expose the AX tree of PDFs loaded via iframes on the Mac
https://bugs.webkit.org/show_bug.cgi?id=238168

Reviewed by Chris Fleizach.

Source/WebKit:

Given this markup:

<iframe src="/path/to/paystub.pdf">

An accessibility tree is built for paystub.pdf, but we don't expose it
to AX clients, making the PDF entirely inaccessible.

This happens because we were setting the AX parent to be the webpage
for full-frame PDF plugins (which an iframe with this markup is).
This behavior is correct only for main-frame (i.e. not iframe)
full-frame plugins, so this patch adds an extra condition to that logic.

Test: accessibility/mac/iframe-pdf.html

  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::PDFPlugin):

LayoutTests:

  • accessibility/mac/iframe-pdf-expected.txt: Added.
  • accessibility/mac/iframe-pdf.html: Added.
  • platform/mac-wk1/TestExpectations: Skip new test as it always times out in WK1 (similar to accessibility/mac/basic-embed-pdf-accessibility.html)

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

3:17 PM Changeset in webkit [293460] by Alan Coon
  • 4 edits in branches/safari-613-branch

Cherry-pick r291589. rdar://problem/90511155

LayoutTests/imported/w3c:
BroadcastChannel instances in distinct opaque origins can communicate
https://bugs.webkit.org/show_bug.cgi?id=238090
<rdar://problem/90511155>

Reviewed by Alex Christensen.

Import web-platform-tests test coverage.

  • web-platform-tests/webmessaging/broadcastchannel/opaque-origin-expected.txt: Added.
  • web-platform-tests/webmessaging/broadcastchannel/opaque-origin.html: Added.
  • web-platform-tests/webmessaging/broadcastchannel/w3c-import.log:

Source/WebCore:
BroadcastChannel instances in distinct opaque origins can communicate
https://bugs.webkit.org/show_bug.cgi?id=238090
<rdar://problem/90511155>

Reviewed by Alex Christensen.

The issue is that we would use a ClientOrigin to distinguish origins for BroadcastChannel,
which relies on SecurityOriginData internally. A unique/opaque SecurityOrigin becomes an empty
SecurityOriginData upon conversion. As a result, when comparing ClientOrigin objects from
unique SecurityOrigins, they would compare as equal.

To address the issue, I introduced a new PartitionedSecurityOrigin type which is similar
to ClientOrigin but stores SecurityOrigin objects internally, instead of SecurityOriginData
objects. PartitionedSecurityOrigin's operator==() is such that different SecurityOrigins
would not be equal but the same unique SecurityOrigin would be. I then used this new
PartitionedSecurityOrigin type as key in our HashMap on the WebProcess side instead of
ClientOrigin. This allows communication between several BroadcastChannels from the same
unique origin, while preventing communication between distinct opaque origins.

When the PartitionedSecurityOrigin contains an opaque security origin, we don't involve
the Network Process at all since the destination can only be in the same WebProcess.

Test: imported/w3c/web-platform-tests/webmessaging/broadcastchannel/opaque-origin.html

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/BroadcastChannel.cpp: (WebCore::shouldPartitionOrigin): (WebCore::BroadcastChannel::MainThreadBridge::registerChannel): (WebCore::BroadcastChannel::MainThreadBridge::unregisterChannel): (WebCore::BroadcastChannel::MainThreadBridge::postMessage):
  • dom/BroadcastChannelRegistry.h:
  • loader/EmptyClients.cpp:
  • page/PartitionedSecurityOrigin.h: Added. (WebCore::PartitionedSecurityOrigin::PartitionedSecurityOrigin): (WebCore::PartitionedSecurityOrigin::isHashTableDeletedValue const): (WebCore::PartitionedSecurityOrigin::isHashTableEmptyValue const): (WebCore::operator==): (WTF::add): (WTF::PartitionedSecurityOriginHash::hash): (WTF::PartitionedSecurityOriginHash::equal): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::emptyValue): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::constructEmptyValue): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::isEmptyValue): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::peek): (WTF::HashTraits<WebCore::PartitionedSecurityOrigin>::take):

Source/WebKit:
BroadcastChannel instances in distinct opaque origins can communicate
https://bugs.webkit.org/show_bug.cgi?id=238090
<rdar://problem/90511155>

Reviewed by Alex Christensen.

The issue is that we would use a ClientOrigin to distinguish origins for BroadcastChannel,
which relies on SecurityOriginData internally. A unique/opaque SecurityOrigin becomes an empty
SecurityOriginData upon conversion. As a result, when comparing ClientOrigin objects from
unique SecurityOrigins, they would compare as equal.

To address the issue, I introduced a new PartitionedSecurityOrigin type which is similar
to ClientOrigin but stores SecurityOrigin objects internally, instead of SecurityOriginData
objects. PartitionedSecurityOrigin's operator==() is such that different SecurityOrigins
would not be equal but the same unique SecurityOrigin would be. I then used this new
PartitionedSecurityOrigin type as key in our HashMap on the WebProcess side instead of
ClientOrigin. This allows communication between several BroadcastChannels from the same
unique origin, while preventing communication between distinct opaque origins.

When the PartitionedSecurityOrigin contains an opaque security origin, we don't involve
the Network Process at all since the destination can only be in the same WebProcess.

  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp: (WebKit::toClientOrigin): (WebKit::WebBroadcastChannelRegistry::registerChannel): (WebKit::WebBroadcastChannelRegistry::unregisterChannel): (WebKit::WebBroadcastChannelRegistry::postMessage): (WebKit::WebBroadcastChannelRegistry::postMessageLocally): (WebKit::WebBroadcastChannelRegistry::postMessageToRemote): (WebKit::WebBroadcastChannelRegistry::networkProcessCrashed):
  • WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h:

Source/WebKitLegacy:
Dust off Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=238121

Reviewed by Yusuke Suzuki.

  • PlatformMac.cmake:

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

3:17 PM Changeset in webkit [293459] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r292878. rdar://problem/90248865

ScriptDisallowedScope::isEventAllowedInMainThread assert failure when activating AudioSession
https://bugs.webkit.org/show_bug.cgi?id=239343

Reviewed by Eric Carlson.

As part of HTMLMediaElement::clearMediaPlayer we call PlatformMediaSession::canProduceAudioChanged
which can result in activating the AudioSession when the page is capturing audio.

This sends a synchronous IPC message to the GPU process. As part of IPC::Connection::waitForSyncReply,
we also end up dispatching enqueued messages, including a WebPage_EndPrinting message that
fires an event listener on the main thread.

This patch will instead queue the PlatformMediaSession::canProduceAudioChanged as a task to avoid
firing the event listener on the main thread, which results in assertion failure.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::clearMediaPlayer):

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

3:17 PM Changeset in webkit [293458] by Alan Coon
  • 6 edits in branches/safari-613-branch

Apply patch. rdar://problem/91446317

3:17 PM Changeset in webkit [293457] by Alan Coon
  • 6 edits in branches/safari-613-branch

Revert r291606. rdar://problem/91446317

3:17 PM Changeset in webkit [293456] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebKit/UIProcess/WebPageProxy.cpp

Revert "Unreviewed build fix. rdar://91446317"

2:58 PM Changeset in webkit [293455] by Elliott Williams
  • 6 edits in trunk/Source

Fix build error: "cp: JavaScriptCore.profdata is not a directory"
https://bugs.webkit.org/show_bug.cgi?id=239681

Unreviewed build fix.

  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:

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

2:51 PM Changeset in webkit [293454] by Wenson Hsieh
  • 4 edits in trunk

Show the option to Markup Image in the callout bar only when appropriate
https://bugs.webkit.org/show_bug.cgi?id=239779
rdar://88941823

Reviewed by Darin Adler.

Source/WebKit:

Make a minor adjustment to only show this callout bar action in the case where _imageAnalysisMarkupData has
already been computed and cached.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView imageAnalysisMarkupMenu]):

Tools:

Adjust some API tests so that they continue passing after these changes.

  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::iconImage):
(TestWebKitAPI::simulateCalloutBarAppearance):
(TestWebKitAPI::invokeImageMarkupAction):
(TestWebKitAPI::TEST):
(TestWebKitAPI::runMarkupTest):

2:35 PM Changeset in webkit [293453] by Alan Coon
  • 9 edits
    3 deletes in branches/safari-613.2.7.0-branch

Revert r290630. rdar://problem/89442583

This reverts r293440.

2:34 PM Changeset in webkit [293452] by commit-queue@webkit.org
  • 2 edits in trunk

Unreviewed, add my @redhat.com email

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-04-26

  • metadata/contributors.json:

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

2:34 PM Changeset in webkit [293451] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS Debug wk2 ] Thirteen imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ are a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=239770

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

2:30 PM Changeset in webkit [293450] by Alan Coon
  • 9 edits
    3 deletes in branches/safari-613.2.7.1-branch

Revert r290630. rdar://problem/89442583

This reverts commit r293439.

2:29 PM Changeset in webkit [293449] by Manuel Rego Casasnovas
  • 13 edits in trunk/Source

Remove AriaReflectionEnabled runtime flag
https://bugs.webkit.org/show_bug.cgi?id=239532

Reviewed by Chris Fleizach.

Source/WebCore:

ARIA reflection shipped in Safari 12.1 (July 2019)
so it looks the runtime flag is not needed anymore.

  • accessibility/AccessibilityRole.idl:
  • accessibility/AriaAttributes.idl:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setAriaReflectionEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::ariaReflectionEnabled const): Deleted.

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAriaReflectionEnabled): Deleted.
(WKPreferencesGetAriaReflectionEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences ariaReflectionEnabled]): Deleted.
(-[WebPreferences setAriaReflectionEnabled:]): Deleted.

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:
2:24 PM Changeset in webkit [293448] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

REGRESSION (r293117): Context menu lift animation encompasses the entire web view
https://bugs.webkit.org/show_bug.cgi?id=239782
rdar://92342919

Reviewed by Aditya Keerthi.

After r293117, we no longer implement the context menu delegate method for vending a targeted preview when
showing the context menu for a link or image; rename to match the name of the method we implement to match the
name of the UIKit delegate method.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
(-[WKContentView contextMenuInteraction:configuration:previewForHighlightingItemWithIdentifier:]): Deleted.

2:22 PM Changeset in webkit [293447] by Simon Fraser
  • 8 edits in trunk

[ iOS EWS ] css3/background/background-repeat-round-auto2.html is a image failure
https://bugs.webkit.org/show_bug.cgi?id=238965
<rdar://91454381>

Reviewed by Tim Horton.

Generic shaders can produce slightly different results to optimized shaders, and
get swapped in racily, so disable them for testing on platforms where accelerated
drawing is used.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port.port_adjust_environment_for_test_driver):

  • Scripts/webkitpy/port/driver.py:

(Driver._setup_environ_for_driver):

  • Scripts/webkitpy/port/ios.py:

(IOSPort.test_expectations_file_position):
(IOSPort):
(IOSPort.port_adjust_environment_for_test_driver):

  • Scripts/webkitpy/port/mac.py:

(MacPort.port_adjust_environment_for_test_driver):

LayoutTests:

  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
1:02 PM Changeset in webkit [293446] by Jonathan Bedard
  • 4 edits in trunk/Tools

[webkit-patch] Use Commit-Queue when landing by default
https://bugs.webkit.org/show_bug.cgi?id=239777
<rdar://problem/92345543>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/commands/download.py:

(LandUnsafe): Renamed from LandUnsafe.
(Land): Renamed to LandUnsafe.

  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/commands/upload.py:

(LandSafely):
(Land): Inherit from LandSafely.

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

1:01 PM Changeset in webkit [293445] by commit-queue@webkit.org
  • 8 edits in trunk/JSTests

Several internationalization tests broken with ICU 69.1
https://bugs.webkit.org/show_bug.cgi?id=239724

Patch by Michael Catanzaro <Michael Catanzaro> on 2022-04-26
Reviewed by Ross Kirsling and Yusuke Suzuki.

Update these tests to be more permissive of different results for different ICU versions.
ICU 69 on macOS is producing different results from ICU 69 on Linux for reasons unexplained,
so instead of checking the version number, let's instead just accept both ways.

  • stress/array-toLocaleString.js:

(shouldBeOneOf):

  • stress/date-toLocaleString.js:

(shouldBeOneOf):

  • stress/intl-datetimeformat-formatrange-relevant-extensions-ja.js:

(shouldBeOneOf):
(vm.icuVersion):
(shouldBeOneOfThem): Deleted.

  • stress/intl-datetimeformat-formatrangetoparts-relevant-extensions-ja.js:

(shouldBeOneOf):

  • stress/intl-datetimeformat.js:

(shouldBeOneOf):
(shouldBeOneOfThem): Deleted.

  • stress/intl-locale-info.js:

(shouldBeOneOf):
(shouldBe):

  • stress/intl-locale.js:

(shouldBeOneOf):

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

12:44 PM WebKitGTK/2.36.x edited by Michael Catanzaro
(diff)
12:31 PM Changeset in webkit [293444] by Ziran Sun
  • 9 edits in trunk

Constructed FormData object should not contain an entry for the submit button that was used to submit the form
https://bugs.webkit.org/show_bug.cgi?id=239070

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Update test expectation as the sub-test is now passing.

  • web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set-expected.txt:

Source/WebCore:

When the activedSubmit flag is set for a submit button, its value is appended to a FormData. In the case of form
submission called in submit event handler, we include submit button when build FormData. The submit button should
not be included though. This patch correct it by calling set the activatedSubmit flag just before or after building
FormData.

Part of the patch is an import of Chromium CL at
https://codereview.chromium.org/2340213002

  • html/DOMFormData.cpp:

(WebCore::DOMFormData::create):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::defaultEventHandler):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submit):
(WebCore::HTMLFormElement::constructEntryList):

  • html/HTMLFormElement.h:
  • html/SubmitInputType.cpp:

(WebCore::SubmitInputType::handleDOMActivateEvent):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

12:25 PM Changeset in webkit [293443] by Simon Fraser
  • 7 edits in trunk

Save a few drawing operations when painting layer contents
https://bugs.webkit.org/show_bug.cgi?id=239756

Reviewed by Tim Horton.

Remove an extra save/restore, and a translate(0,0) when painting layers and there's just one
dirty rect.

Source/WebCore:

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::paintGraphicsLayerContents):

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayer::drawLayerContents): The caller sets the clip when there's just one
dirty rect.

LayoutTests:

  • displaylists/extent-includes-shadow-expected.txt:
  • displaylists/layer-dispay-list-expected.txt:
  • displaylists/replay-skip-clipped-rect-expected.txt:
12:20 PM Changeset in webkit [293442] by Elliott Williams
  • 9 edits in trunk/Source

[Xcode] Compute PGO profdata paths instead of searching for them at build time
https://bugs.webkit.org/show_bug.cgi?id=239681

Reviewed by Alexey Proskuryakov.

Production builds should always use profdata from the SDK, internal
release builds should use profdata from the local WebKitAdditions, and
everyone else should use the stub profdata. Add a PROFILE_DATA_PATH
build setting which implements these rules and replace the script
phases that checked those paths dynamically.

This fixes XCBuild validation issues in the open-source build, and
should prevent production builders from using stale profdata in
BUILT_PRODUCTS_DIR. Additionally, engineers can now build with custom
profile data by overriding PROFILE_DATA_PATH.

If PROFILE_DATA_PATH does not appear to be raw LLVM profiling data, it
is decoded using compression_tool(1).

  • Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/WebKit/Configurations/BaseTarget.xcconfig:
  • Source/WebKit/WebKit.xcodeproj/project.pbxproj:
  • Source/WebCore/Configurations/WebCore.xcconfig:
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj:

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

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

[GTK] Initialize m_eglDisplay in PlatformDisplay::PlatformDisplay(GdkDisplay*)
https://bugs.webkit.org/show_bug.cgi?id=239760

Patch by Xi Ruoyao <xry111@mengyan1223.wang> on 2022-04-26
Reviewed by Michael Catanzaro.

No new tests because there is no behavior change.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::PlatformDisplay):
initialize m_eglDisplay to EGL_NO_DISPLAY.

11:35 AM Changeset in webkit [293440] by Alan Coon
  • 9 edits
    3 adds in branches/safari-613.2.7.0-branch

Cherry-pick r290630. rdar://problem/89442583

AX: WebKit should ignore empty modals rather than trapping focus inside them
https://bugs.webkit.org/show_bug.cgi?id=237163

Reviewed by Chris Fleizach and Andres Gonzalez.

Source/WebCore:

Given this markup:

<div role="dialog" aria-modal="true">

<div aria-hidden="true">

<button>Close modal (inside modal)</button>

</div>

</div>

There is no accessible content inside this modal, but WebKit traps user focus inside,
making the rest of the page completely inaccessible.

With this patch we ignore modals that don't have accessible content.
We do this by walking the DOM to find any non-AX-ignored objects.

Because determining whether or not an element is ignored is dependent
on modals present on the page, this patch moves the call to ignoredFromModalPresence
out of AccessibilityObject::defaultObjectInclusion, as this function is
downstream of computeAccessibilityIsIgnored, and we need to call
that on objects inside modal candidates. Without this move, we would
recurse infinitely in AXObjectCache::modalElementHasAccessibleContent.

We now check whether an object is ignored due to modal presence in
AccessibilityObject::accessibilityIsIgnored(), so that function should
be used as the final say in determining whether an object is ignored.

Test: accessibility/ignore-modals-without-any-content.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::modalElementHasAccessibleContent): (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const): (WebCore::AccessibilityObject::accessibilityIsIgnored const):
  • accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::computeAccessibilityIsIgnored const):

LayoutTests:

  • accessibility/ignore-modals-without-any-content-expected.txt: Added.
  • accessibility/ignore-modals-without-any-content.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/ios/accessibility/ignore-modals-without-any-content-expected.txt: Added.
  • platform/win/TestExpectations: Skip new test.

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

11:33 AM Changeset in webkit [293439] by Alan Coon
  • 9 edits
    3 adds in branches/safari-613.2.7.1-branch

Cherry-pick r290630. rdar://problem/89442583

AX: WebKit should ignore empty modals rather than trapping focus inside them
https://bugs.webkit.org/show_bug.cgi?id=237163

Reviewed by Chris Fleizach and Andres Gonzalez.

Source/WebCore:

Given this markup:

<div role="dialog" aria-modal="true">

<div aria-hidden="true">

<button>Close modal (inside modal)</button>

</div>

</div>

There is no accessible content inside this modal, but WebKit traps user focus inside,
making the rest of the page completely inaccessible.

With this patch we ignore modals that don't have accessible content.
We do this by walking the DOM to find any non-AX-ignored objects.

Because determining whether or not an element is ignored is dependent
on modals present on the page, this patch moves the call to ignoredFromModalPresence
out of AccessibilityObject::defaultObjectInclusion, as this function is
downstream of computeAccessibilityIsIgnored, and we need to call
that on objects inside modal candidates. Without this move, we would
recurse infinitely in AXObjectCache::modalElementHasAccessibleContent.

We now check whether an object is ignored due to modal presence in
AccessibilityObject::accessibilityIsIgnored(), so that function should
be used as the final say in determining whether an object is ignored.

Test: accessibility/ignore-modals-without-any-content.html

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::modalElementHasAccessibleContent): (WebCore::AXObjectCache::currentModalNode):
  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::defaultObjectInclusion const): (WebCore::AccessibilityObject::accessibilityIsIgnored const):
  • accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::computeAccessibilityIsIgnored const):

LayoutTests:

  • accessibility/ignore-modals-without-any-content-expected.txt: Added.
  • accessibility/ignore-modals-without-any-content.html: Added.
  • platform/glib/TestExpectations: Skip new test.
  • platform/ios/TestExpectations: Enable new test.
  • platform/ios/accessibility/ignore-modals-without-any-content-expected.txt: Added.
  • platform/win/TestExpectations: Skip new test.

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

11:32 AM Changeset in webkit [293438] by Alan Coon
  • 9 edits in branches/safari-613.2.7.0-branch/Source

Versioning.

WebKit-7613.2.7.0.4

11:31 AM Changeset in webkit [293437] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS Debug wk2 ] Six imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ are a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=239770

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

11:28 AM Changeset in webkit [293436] by Wenson Hsieh
  • 11 edits
    2 adds in trunk

Adjust some image transcoding behaviors related to "Copy Cropped Image"
https://bugs.webkit.org/show_bug.cgi?id=239748
rdar://92287000

Reviewed by Kate Cheney.

Source/WebKit:

Refactor some logic for extracting "cropped images" and "markup images". Currently, we always try to preserve
the MIME type of the source image data, but this causes various issues, such as images losing alpha or failing
to transcode altogether. See below for more details.

Test: ImageAnalysisTests.PerformImageAnalysisMarkupWithWebPImages

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

(WebKit::transcodeWithPreferredMIMEType):

Drop support for the fallbackTypeIdentifier argument, now that nothing depends on it.

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

(WebKit::imageDataForCroppedImageResult):

Add a new helper method to convert a CGImageRef to raw image data that's appropriate for the given source MIME
type. If the type belongs one of a short list of supported types, we use it directly; otherwise, fall back to
"image/png".

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView imageAnalysisMarkupMenu]):
(-[WKContentView actionSheetAssistant:copyCroppedImage:sourceMIMEType:]):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

Deploy imageDataForCroppedImageResult in place of directly calling transcodeWithPreferredMIMEType.

(WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage):

Tools:

Add an API test to exercise the change.

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

(TestWebKitAPI::runMarkupTest):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/webp-image.html: Added.
11:28 AM Changeset in webkit [293435] by Alan Coon
  • 9 edits in branches/safari-613.2.7.1-branch/Source

Versioning.

WebKit-7613.2.7.1.5

11:21 AM Changeset in webkit [293434] by Alan Coon
  • 9 edits in branches/safari-613.2.7.3-branch/Source

Versioning.

WebKit-7613.2.7.3.3.

11:16 AM Changeset in webkit [293433] by J Pascoe
  • 2 edits in trunk/Source/WebKit

[WebAuthn] Do not pass ASCCredentialRequestTypePlatform... if LocalService unavailable
https://bugs.webkit.org/show_bug.cgi?id=239746
rdar://91981865

Reviewed by Brent Fulgham.

Passing platform in requestTypes breaks the UI in registerations with the syncing platform
authenticator off and local service is unavailable. This patch stops passing it in this case.

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:

(WebKit::configureRegistrationRequestContext):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):

11:09 AM Changeset in webkit [293432] by J Pascoe
  • 2 edits in trunk/Source/WebCore

[WebAuthn] Remove misspelled constant "LocalAuthenticatiorAccessGroup"
https://bugs.webkit.org/show_bug.cgi?id=235894
rdar://88104045

Reviewed by Brent Fulgham.

This change removes a constant with a misspelled variable name after all
downstream usage is removed.

  • Modules/webauthn/WebAuthenticationConstants.h:
11:01 AM Changeset in webkit [293431] by Manuel Rego Casasnovas
  • 2 edits in trunk

Remove usage of makeWeakPtr() on Introduction.md
https://bugs.webkit.org/show_bug.cgi?id=239768

Reviewed by Chris Dumez.

  • Introduction.md:
9:56 AM Changeset in webkit [293430] by Angelos Oikonomopoulos
  • 3 edits in trunk/Tools

Enable --treat-failing-as-flaky for the JSC post-commit bots
https://bugs.webkit.org/show_bug.cgi?id=239341

Reviewed by Jonathan Bedard.

Try to cover up for a little test flakiness (while still recording
it in resultsdb) to avoid too many false alerts.

  • CISupport/build-webkit-org/steps.py:

(RunJavaScriptCoreTests):
(RunJavaScriptCoreTests.start):

  • CISupport/build-webkit-org/steps_unittest.py:
9:43 AM Changeset in webkit [293429] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ macOS Debug wk2 ] Four imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ are a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=239770

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

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

9:31 AM Changeset in webkit [293428] by Simon Fraser
  • 3 edits in trunk/Source/WebKit

Fix crashes under RemoteLayerBackingStore::applyBackingStoreToLayer()
https://bugs.webkit.org/show_bug.cgi?id=239742
<rdar://91533748>

Reviewed by Wenson Hsieh.

It's possible for ensureBackendCreated() to time out, especially when debugging the GPU
process, in which case RemoteLayerBackingStore can end up with a front buffer with no
backend, which results in an unset m_bufferHandle in the UI process. So add some logging
when this happens, and check the m_bufferHandle optional before accessing its value.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
9:28 AM Changeset in webkit [293427] by Kate Cheney
  • 11 edits in trunk

Remove WebArchiveDebugMode
https://bugs.webkit.org/show_bug.cgi?id=239738
<rdar://problem/88406961>

Reviewed by Tim Horton.

Source/WebCore:

Remove use case of WebArchiveDebugMode and deprecate it now that it
is no longer in use. Add a new temporary flag WebArchiveTestMode
that is more aptly named and will maintain existing behavior for
internal tests temporarily.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::scheduleArchiveLoad):

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebArchiveTestingModeEnabled):
(WKPreferencesGetWebArchiveTestingModeEnabled):
(WKPreferencesSetWebArchiveDebugModeEnabled):
(WKPreferencesGetWebArchiveDebugModeEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _setWebArchiveTestingModeEnabled:]):
(-[WKPreferences _webArchiveTestingModeEnabled]):
(-[WKPreferences _setWebArchiveDebugModeEnabled:]):
(-[WKPreferences _webArchiveDebugModeEnabled]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:

Tools:

  • TestWebKitAPI/Tests/mac/LoadWebArchive.mm:

(TestWebKitAPI::TEST):
(TestWebKitAPI::constructArchive):

8:59 AM Changeset in webkit [293426] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Add object addresses to IPC logging
https://bugs.webkit.org/show_bug.cgi?id=239754

Reviewed by Cameron McCormack.

It's useful if IPC logging shows the receiver address, so you can distinguish different
receivers.

  • Platform/IPC/HandleMessage.h:

(IPC::textStreamForLogging):
(IPC::logMessageImpl):
(IPC::logMessage):
(IPC::logReply):
(IPC::handleMessage):
(IPC::handleMessageWantsConnection):
(IPC::handleMessageSynchronous):
(IPC::handleMessageSynchronousWantsConnection):
(IPC::handleMessageAsync):
(IPC::handleMessageAsyncWantsConnection):

8:51 AM Changeset in webkit [293425] by youenn@apple.com
  • 8 edits in trunk/Source/WebKit

REGRESSION(r288464?):[ iOS15 Release GPUP arm64 ] TestWebKitAPI.GPUProcess.ExitsUnderMemoryPressureGetUserMediaAudioCase is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=237854
<rdar://problem/90273222>

Reviewed by Eric Carlson.

stopProducingData was called on some ended tracks.
This would trigger the creation of a new connection in case GPUProcess is gone.
To prevent this, we now keep a connection reference in RemoteRealtimeMediaSourceProxy.
When the GPUProcess connection is being closed, we update the connection if the track is to be continued.

Covered by API test.

  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
  • WebProcess/cocoa/RemoteCaptureSampleManager.h:
  • WebProcess/cocoa/RemoteRealtimeMediaSource.cpp:
  • WebProcess/cocoa/RemoteRealtimeMediaSource.h:
  • WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
  • WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
  • WebProcess/cocoa/RemoteRealtimeVideoSource.cpp:
8:35 AM Changeset in webkit [293424] by Chris Dumez
  • 2 edits in trunk/LayoutTests

http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html is failing
https://bugs.webkit.org/show_bug.cgi?id=239630
<rdar://92128154>

Reviewed by Youenn Fablet.

We get an error when closing the websocket. The error gets queued up on the event loop and
may or may not get processed before the test ends, leading to flakiness. The test is actually
about testing bufferedAmount after closing the socket and this part is still being tested and
reliably passing. As a result, I am simply silencing the error in the test to address the
flakiness.

  • LayoutTests/http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html:
  • LayoutTests/platform/mac-wk2/TestExpectations:

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

7:28 AM Changeset in webkit [293423] by Jonathan Bedard
  • 2 edits in trunk/Tools

[ews-build.webkit.org] Specify repository when sending emails
https://bugs.webkit.org/show_bug.cgi?id=239739
<rdar://problem/92291225>

Reviewed by Aakash Jain.

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

(GitHubMixin.should_send_email_for_pr): Pass repository URL.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.

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

4:01 AM Changeset in webkit [293422] by Claudio Saavedra
  • 2 edits in trunk/Source/WebCore

[DatabaseTracker] Use PRIu64 for logging for portability
https://bugs.webkit.org/show_bug.cgi?id=239765

Reviewed by Adrian Perez de Castro.

Use PRIu64 when logging to avoid warnings.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::setQuota):

3:59 AM Changeset in webkit [293421] by Claudio Saavedra
  • 2 edits in trunk/Source/WebCore

[GStreamer] Mark unused variable
https://bugs.webkit.org/show_bug.cgi?id=239766

Reviewed by Adrian Perez de Castro.

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:
3:29 AM Changeset in webkit [293420] by commit-queue@webkit.org
  • 4 edits in trunk/Source/ThirdParty/ANGLE

Update test_expectations, run_code_generation.py, angle_unittests.gni from ANGLE upstream
https://bugs.webkit.org/show_bug.cgi?id=239645

Unreviewed, reproducible with Tools/Scripts/update-angle --regenerate-changes-diff

These are not changed in downstream but the changes are due to stale merges.
Reduces the changes.diff

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-04-26

  • changes.diff:
  • scripts/run_code_generation.py:

(main):

  • src/tests/angle_unittests.gni:
  • src/tests/deqp_support/deqp_egl_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_egl_TestExpectations.
  • src/tests/deqp_support/deqp_gles2_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles2_TestExpectations.
  • src/tests/deqp_support/deqp_gles31_rotate_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles31_rotate_TestExpectations.
  • src/tests/deqp_support/deqp_gles31_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles31_TestExpectations.
  • src/tests/deqp_support/deqp_gles3_rotate_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles3_rotate_TestExpectations.
  • src/tests/deqp_support/deqp_gles3_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles3_TestExpectations.
  • src/tests/deqp_support/deqp_khr_gles2_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_khr_gles2_TestExpectations.
  • src/tests/deqp_support/deqp_khr_gles31_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_khr_gles31_TestExpectations.
  • src/tests/deqp_support/deqp_khr_gles32_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_khr_gles32_TestExpectations.
  • src/tests/deqp_support/deqp_khr_gles3_TestExpectations: Renamed from Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_khr_gles3_TestExpectations.
1:15 AM Changeset in webkit [293419] by commit-queue@webkit.org
  • 8 edits
    1 add in trunk/Tools/buildstream

[Flatpak SDK] Partial revert of r249480
https://bugs.webkit.org/show_bug.cgi?id=239700

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-26
Reviewed by Adrian Perez de Castro.

The switch to upstream gtk3 recipe broke something related with icons handling and
introduced a crash in media/video-controls-drag.html. For the time being, revert to our
custom recipe.

This patch also updates the pipenv environment used to build the SDK, to BuildStream 1.6.5.

  • Pipfile:
  • Pipfile.lock:
  • elements/qt5/qtbase.bst:
  • elements/sdk-platform.bst:
  • elements/sdk/adwaita-icon-theme.bst:
  • elements/sdk/gst-plugins-base.bst:
  • elements/sdk/gst-plugins-good.bst:
  • elements/sdk/gtk+-3.bst: Added.

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

12:34 AM Changeset in webkit [293418] by youenn@apple.com
  • 9 edits in trunk

Service Worker loads should not expose some ResourceTiming information
https://bugs.webkit.org/show_bug.cgi?id=239608

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/resource-timing-fetch-variants.https-expected.txt:

Source/WebCore:

Filter out some resource timing info when the load is served from a service worker.
While we could do the filtering on service worker side, it is best to do it within PerformanceResourceTiming
as native clients might still want to use non filtered data in case the service worker is returning a network load
as the response.

Covered by rebased test.

  • loader/ResourceTiming.cpp:

(WebCore::ResourceTiming::ResourceTiming):

  • loader/ResourceTiming.h:

(WebCore::ResourceTiming::isLoadedFromServiceWorker const):

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::nextHopProtocol const):
(WebCore::PerformanceResourceTiming::redirectStart const):
(WebCore::PerformanceResourceTiming::redirectEnd const):
(WebCore::PerformanceResourceTiming::domainLookupStart const):
(WebCore::PerformanceResourceTiming::domainLookupEnd const):
(WebCore::PerformanceResourceTiming::connectStart const):
(WebCore::PerformanceResourceTiming::connectEnd const):

  • page/PerformanceResourceTiming.h:

(WebCore::PerformanceResourceTiming::isLoadedFromServiceWorker const):

LayoutTests:

Note: See TracTimeline for information about the timeline view.