WebKit-https.git
28 min agoFix incorrect mach service name in sandboxes master
pvollan@apple.com [Thu, 23 Sep 2021 16:02:34 +0000 (16:02 +0000)]
Fix incorrect mach service name in sandboxes
https://bugs.webkit.org/show_bug.cgi?id=230640
<rdar://55258216>

Reviewed by Brent Fulgham.

Authentication related rules are using incorrect service names in sandboxes.

* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
* WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:

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

40 min ago[ BigSur wk2 Release ] imported/w3c/web-platform-tests/html/cross-origin-opener-polic...
ayumi_kojima@apple.com [Thu, 23 Sep 2021 15:49:52 +0000 (15:49 +0000)]
[ BigSur wk2 Release ] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/iframe-popup-unsafe-none-to-unsafe-none.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230691

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

50 min ago[LFC][IFC] Move Layout::Run under InlineDisplay and rename it to Box
zalan@apple.com [Thu, 23 Sep 2021 15:40:20 +0000 (15:40 +0000)]
[LFC][IFC] Move Layout::Run under InlineDisplay and rename it to Box
https://bugs.webkit.org/show_bug.cgi?id=230643

Reviewed by Antti Koivisto.

These fragments of inline content should be considered runs only up to the point where we finished breaking the line. Soon after they gain horizontal (and later vertical) geometries, we
should call them boxes.

* WebCore.xcodeproj/project.pbxproj:
* display/DisplayTreeBuilder.cpp:
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
* display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::displayBoxForTextRun const):
* display/css/DisplayBoxFactory.h:
* display/css/DisplayTextBox.cpp:
(WebCore::Display::TextBox::TextBox):
(WebCore::Display::m_text):
* display/css/DisplayTextBox.h:
(WebCore::Display::TextBox::expansion const):
(WebCore::Display::TextBox::text const):
* layout/Verification.cpp:
(WebCore::Layout::checkForMatchingNonTextRuns):
(WebCore::Layout::checkForMatchingTextRuns):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):
* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineContent):
(WebCore::Layout::InlineDisplayContentBuilder::createBoxesAndUpdateGeometryForLineSpanningInlineBoxes):
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxes):
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent): Deleted.
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineSpanningInlineBoxes): Deleted.
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxRuns): Deleted.
* layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
* layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent):
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
(WebCore::Layout::InlineFormattingContext::invalidateFormattingState):
* layout/formattingContexts/inline/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::lineBoxes const):
(WebCore::Layout::InlineFormattingState::addLineBox):
(WebCore::Layout::InlineFormattingState::boxes const):
(WebCore::Layout::InlineFormattingState::boxes):
(WebCore::Layout::InlineFormattingState::addBoxes):
(WebCore::Layout::InlineFormattingState::clearLineAndBoxes):
(WebCore::Layout::InlineFormattingState::shrinkToFit):
(WebCore::Layout::InlineFormattingState::runs const): Deleted.
(WebCore::Layout::InlineFormattingState::runs): Deleted.
(WebCore::Layout::InlineFormattingState::addRuns): Deleted.
(WebCore::Layout::InlineFormattingState::clearLineAndRuns): Deleted.
* layout/formattingContexts/inline/InlineLine.h:
(WebCore::Layout::Line::Run::expansion const):
(WebCore::Layout::Line::Run::setExpansion):
* layout/formattingContexts/inline/display/InlineLineRun.h:
(WebCore::InlineDisplay::Box::logicalRect const):
(WebCore::InlineDisplay::Box::inkOverflow const):
(WebCore::InlineDisplay::Box::logicalTop const):
(WebCore::InlineDisplay::Box::logicalBottom const):
(WebCore::InlineDisplay::Box::logicalLeft const):
(WebCore::InlineDisplay::Box::logicalRight const):
(WebCore::InlineDisplay::Box::logicalWidth const):
(WebCore::InlineDisplay::Box::logicalHeight const):
(WebCore::InlineDisplay::Box::moveVertically):
(WebCore::InlineDisplay::Box::adjustInkOverflow):
(WebCore::InlineDisplay::Box::layoutBox const):
(WebCore::InlineDisplay::Box::Box):
(WebCore::InlineDisplay::Box::Text::Text):
(WebCore::Layout::Run::Text::start const): Deleted.
(WebCore::Layout::Run::Text::end const): Deleted.
(WebCore::Layout::Run::Text::length const): Deleted.
(WebCore::Layout::Run::Text::originalContent const): Deleted.
(WebCore::Layout::Run::Text::renderedContent const): Deleted.
(WebCore::Layout::Run::Text::hasHyphen const): Deleted.
(WebCore::Layout::Run::isText const): Deleted.
(WebCore::Layout::Run::isSoftLineBreak const): Deleted.
(WebCore::Layout::Run::isLineBreakBox const): Deleted.
(WebCore::Layout::Run::isLineBreak const): Deleted.
(WebCore::Layout::Run::isAtomicInlineLevelBox const): Deleted.
(WebCore::Layout::Run::isInlineBox const): Deleted.
(WebCore::Layout::Run::isNonRootInlineBox const): Deleted.
(WebCore::Layout::Run::isRootInlineBox const): Deleted.
(WebCore::Layout::Run::isGenericInlineLevelBox const): Deleted.
(WebCore::Layout::Run::isInlineLevelBox const): Deleted.
(WebCore::Layout::Run::isNonRootInlineLevelBox const): Deleted.
(WebCore::Layout::Run::type const): Deleted.
(WebCore::Layout::Run::hasContent const): Deleted.
(WebCore::Layout::Run::logicalRect const): Deleted.
(WebCore::Layout::Run::inkOverflow const): Deleted.
(WebCore::Layout::Run::logicalTop const): Deleted.
(WebCore::Layout::Run::logicalBottom const): Deleted.
(WebCore::Layout::Run::logicalLeft const): Deleted.
(WebCore::Layout::Run::logicalRight const): Deleted.
(WebCore::Layout::Run::logicalWidth const): Deleted.
(WebCore::Layout::Run::logicalHeight const): Deleted.
(WebCore::Layout::Run::moveVertically): Deleted.
(WebCore::Layout::Run::adjustInkOverflow): Deleted.
(WebCore::Layout::Run::text): Deleted.
(WebCore::Layout::Run::text const): Deleted.
(WebCore::Layout::Run::expansion const): Deleted.
(WebCore::Layout::Run::layoutBox const): Deleted.
(WebCore::Layout::Run::style const): Deleted.
(WebCore::Layout::Run::lineIndex const): Deleted.
(WebCore::Layout::Run::Run): Deleted.
(WebCore::Layout::Run::Text::Text): Deleted.
* layout/formattingContexts/table/TableFormattingContext.cpp:
(WebCore::Layout::TableFormattingContext::setUsedGeometryForCells):
* layout/integration/LayoutIntegrationInlineContent.cpp:
(WebCore::LayoutIntegration::InlineContent::hasContent const):
(WebCore::LayoutIntegration:: const):
(WebCore::LayoutIntegration::InlineContent::~InlineContent):
(WebCore::LayoutIntegration::InlineContent::indexForBox const):
(WebCore::LayoutIntegration::InlineContent::firstBoxForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::firstBoxIndexForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::nonRootInlineBoxIndexesForLayoutBox const):
(WebCore::LayoutIntegration::InlineContent::releaseCaches):
(WebCore::LayoutIntegration::InlineContent::shrinkToFit):
(WebCore::LayoutIntegration::InlineContent::indexForRun const): Deleted.
(WebCore::LayoutIntegration::InlineContent::firstRunForLayoutBox const): Deleted.
(WebCore::LayoutIntegration::InlineContent::firstRunIndexForLayoutBox const): Deleted.
* layout/integration/LayoutIntegrationInlineContent.h:
(WebCore::LayoutIntegration::InlineContent::lineForBox const):
(WebCore::LayoutIntegration::InlineContent::traverseNonRootInlineBoxes):
(WebCore::LayoutIntegration::InlineContent::lineForRun const): Deleted.
* layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
* layout/integration/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::Line):
(WebCore::LayoutIntegration::Line::firstBoxIndex const):
(WebCore::LayoutIntegration::Line::boxCount const):
(WebCore::LayoutIntegration::Line::firstRunIndex const): Deleted.
(WebCore::LayoutIntegration::Line::runCount const): Deleted.
* layout/integration/LayoutIntegrationLineIteratorModernPath.h:
(WebCore::LayoutIntegration::LineIteratorModernPath::firstRun const):
(WebCore::LayoutIntegration::LineIteratorModernPath::lastRun const):
* layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::layout):
(WebCore::LayoutIntegration::LineLayout::textRunsFor const):
(WebCore::LayoutIntegration::LineLayout::runFor const):
(WebCore::LayoutIntegration::LineLayout::firstInlineBoxRect const):
(WebCore::LayoutIntegration::LineLayout::paint):
(WebCore::LayoutIntegration::LineLayout::hitTest):
(WebCore::LayoutIntegration::LineLayout::paintTextBoxUsingPhysicalCoordinates):
(WebCore::LayoutIntegration::LineLayout::paintTextRunUsingPhysicalCoordinates): Deleted.
* layout/integration/LayoutIntegrationLineLayout.h:
* layout/integration/LayoutIntegrationPagination.cpp:
(WebCore::LayoutIntegration::makeAdjustedContent):
* layout/integration/LayoutIntegrationRunIterator.cpp:
(WebCore::LayoutIntegration::PathRun::line const):
(WebCore::LayoutIntegration::textRunFor):
* layout/integration/LayoutIntegrationRunIterator.h:
(WebCore::LayoutIntegration::PathRun::inlineBox const):
* layout/integration/LayoutIntegrationRunIteratorModernPath.h:
(WebCore::LayoutIntegration::RunIteratorModernPath::RunIteratorModernPath):
(WebCore::LayoutIntegration::RunIteratorModernPath::isText const):
(WebCore::LayoutIntegration::RunIteratorModernPath::rect const):
(WebCore::LayoutIntegration::RunIteratorModernPath::isLineBreak const):
(WebCore::LayoutIntegration::RunIteratorModernPath::hasHyphen const):
(WebCore::LayoutIntegration::RunIteratorModernPath::text const):
(WebCore::LayoutIntegration::RunIteratorModernPath::start const):
(WebCore::LayoutIntegration::RunIteratorModernPath::end const):
(WebCore::LayoutIntegration::RunIteratorModernPath::length const):
(WebCore::LayoutIntegration::RunIteratorModernPath::offsetForPosition const):
(WebCore::LayoutIntegration::RunIteratorModernPath::positionForOffset const):
(WebCore::LayoutIntegration::RunIteratorModernPath::selectableRange const):
(WebCore::LayoutIntegration::RunIteratorModernPath::renderer const):
(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextTextRun):
(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextOnLine):
(WebCore::LayoutIntegration::RunIteratorModernPath::traversePreviousOnLine):
(WebCore::LayoutIntegration::RunIteratorModernPath::operator== const):
(WebCore::LayoutIntegration::RunIteratorModernPath::atEnd const):
(WebCore::LayoutIntegration::RunIteratorModernPath::box const):
(WebCore::LayoutIntegration::RunIteratorModernPath::traverseNextLeaf):
(WebCore::LayoutIntegration::RunIteratorModernPath::traversePreviousLeaf):
(WebCore::LayoutIntegration::RunIteratorModernPath::setAtEnd):
(WebCore::LayoutIntegration::RunIteratorModernPath::boxes const):
(WebCore::LayoutIntegration::RunIteratorModernPath::line const):
(WebCore::LayoutIntegration::RunIteratorModernPath::createTextRun const):
(WebCore::LayoutIntegration::RunIteratorModernPath::run const): Deleted.
(WebCore::LayoutIntegration::RunIteratorModernPath::runs const): Deleted.
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::showInlineTreeAndRuns):
* rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter::TextBoxPainter):
* rendering/TextBoxPainter.h:
* rendering/TextPainter.cpp:
(WebCore::TextPainter::clearGlyphDisplayLists):

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

62 min ago[IFC][Integration] RenderDeprecatedFlexibleBox::setIsStretchingChildren is unused...
zalan@apple.com [Thu, 23 Sep 2021 15:27:42 +0000 (15:27 +0000)]
[IFC][Integration] RenderDeprecatedFlexibleBox::setIsStretchingChildren is unused after r282873
https://bugs.webkit.org/show_bug.cgi?id=230627

Reviewed by Antti Koivisto.

* rendering/RenderDeprecatedFlexibleBox.h:

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

2 hours agoFactor LegacyInlineFlowBox painting into a class
antti@apple.com [Thu, 23 Sep 2021 14:11:56 +0000 (14:11 +0000)]
Factor LegacyInlineFlowBox painting into a class
https://bugs.webkit.org/show_bug.cgi?id=230683

Reviewed by Alan Bujtas.

Introduce InlineBoxPainter, similar to TextBoxPainter.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* rendering/InlineBoxPainter.cpp: Added.
(WebCore::InlineBoxPainter::InlineBoxPainter):
(WebCore::InlineBoxPainter::paint):
(WebCore::clipRectForNinePieceImageStrip):
(WebCore::InlineBoxPainter::paintMask):
(WebCore::InlineBoxPainter::paintDecorations):
(WebCore::InlineBoxPainter::style const):
(WebCore::InlineBoxPainter::constrainToLineTopAndBottomIfNeeded const):
(WebCore::InlineBoxPainter::paintFillLayers):
(WebCore::InlineBoxPainter::paintFillLayer):
(WebCore::InlineBoxPainter::paintBoxShadow):
* rendering/InlineBoxPainter.h: Added.
(WebCore::InlineBoxPainter::renderer const):
(WebCore::InlineBoxPainter::isHorizontal const):
* rendering/LegacyInlineFlowBox.cpp:
(WebCore::LegacyInlineFlowBox::paint):
(WebCore::LegacyInlineFlowBox::paintFillLayers): Deleted.
(WebCore::LegacyInlineFlowBox::paintFillLayer): Deleted.
(WebCore::LegacyInlineFlowBox::paintBoxShadow): Deleted.
(WebCore::LegacyInlineFlowBox::constrainToLineTopAndBottomIfNeeded const): Deleted.
(WebCore::clipRectForNinePieceImageStrip): Deleted.
(WebCore::LegacyInlineFlowBox::paintBoxDecorations): Deleted.
(WebCore::LegacyInlineFlowBox::paintMask): Deleted.
* rendering/LegacyInlineFlowBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::getBackgroundRoundedRect const):
(WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):
* rendering/RenderBoxModelObject.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground const):
* rendering/RenderImage.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground const):
* rendering/RenderTableCell.h:

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

3 hours agoRemove AXDRTElementIdAttribute from the AX object platform wrapper interface.
andresg_22@apple.com [Thu, 23 Sep 2021 13:08:26 +0000 (13:08 +0000)]
Remove AXDRTElementIdAttribute from the AX object platform wrapper interface.
https://bugs.webkit.org/show_bug.cgi?id=230657
<rdar://problem/83424767>

Reviewed by Chris Fleizach.

Source/WebCore:

No change in functionality.

AXDRTElementIdAttribute is a duplicate of AXDOMIdentifier, thus removing
an unnecessary attribute from the platform wrapper's
accessibilityAttributeValue method.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* accessibility/win/AccessibilityObjectWrapperWin.cpp:
(WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue):

Tools:

AXDRTElementIdAttribute is a duplicate of AXDOMIdentifier, thus removing
an unnecessary attribute from the platform wrapper's
accessibilityAttributeValue method, and making the corresponding change
to the DRT and WTR accessibilityControllers.

* DumpRenderTree/mac/AccessibilityControllerMac.mm:
(findAccessibleObjectById):
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(findAccessibleObjectById):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::findAccessibleObjectById):

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

4 hours agoUse visibleToHitTesting() in RenderLayerBacking::updateAfterDescendants() instead...
ntim@apple.com [Thu, 23 Sep 2021 11:55:27 +0000 (11:55 +0000)]
Use visibleToHitTesting() in RenderLayerBacking::updateAfterDescendants() instead of pointer-events check
https://bugs.webkit.org/show_bug.cgi?id=230681

Reviewed by Antti Koivisto.

The new check should account for inert as well once we implement it in RenderStyle.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterDescendants):

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

4 hours agoAX: Split out isInert from isAXHidden on AccessibilityObject
ntim@apple.com [Thu, 23 Sep 2021 11:54:55 +0000 (11:54 +0000)]
AX: Split out isInert from isAXHidden on AccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=230680

Reviewed by Antti Koivisto.

Reasons to do this are:
- Naming of isAXHidden is a bit of a lie
- We don't want to inherit inert state from parent to child like we do for aria-hidden, especially
in the document is blocked by modal dialog case, where the modal should be interactable unlike its ancestors/siblings.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isAXHidden const):
(WebCore::AccessibilityObject::isInert const):
(WebCore::AccessibilityObject::defaultObjectInclusion const):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityObjectInterface.h:
* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::isInert const):
* accessibility/isolatedtree/AXIsolatedObject.h:

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

4 hours agoReplace `axObject->isAXHidden() || axObject->isDOMHidden()` with `axObject->isHidden()`
ntim@apple.com [Thu, 23 Sep 2021 11:50:41 +0000 (11:50 +0000)]
Replace `axObject->isAXHidden() || axObject->isDOMHidden()` with `axObject->isHidden()`
https://bugs.webkit.org/show_bug.cgi?id=230678

Reviewed by Antti Koivisto.

No behaviour change. The definition of isHidden is:

`bool isHidden() const override { return isAXHidden() || isDOMHidden(); }`

* inspector/InspectorAuditAccessibilityObject.cpp:
(WebCore::InspectorAuditAccessibilityObject::getComputedProperties):
* inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

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

6 hours agoOpus and Vorbis codecs aren't available on iPad.
jya@apple.com [Thu, 23 Sep 2021 09:54:21 +0000 (09:54 +0000)]
Opus and Vorbis codecs aren't available on iPad.
https://bugs.webkit.org/show_bug.cgi?id=230595
rdar://problem/83382734

Vorbis and Opus are usable on platforms other than macOS and are being checked
Source/WebCore:

at runtime.

Reviewed by Eric Carlson.

Covered by existing tests.

* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::vorbisDecoderEnabled):
(WebCore::PlatformMediaSessionManager::setVorbisDecoderEnabled):
(WebCore::PlatformMediaSessionManager::opusDecoderEnabled):
(WebCore::PlatformMediaSessionManager::setOpusDecoderEnabled):
* platform/audio/PlatformMediaSessionManager.h:
* platform/graphics/cocoa/WebMAudioUtilitiesCocoa.mm:
(WebCore::registerDecoderFactory):
(WebCore::isOpusDecoderAvailable):
(WebCore::registerOpusDecoderIfNeeded):
(WebCore::isVorbisDecoderAvailable):
(WebCore::registerVorbisDecoderIfNeeded):

Source/WebKit:

at runtime.

Reviewed by Eric Carlson.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

Source/WTF:

at runtime already.
Reviewed by Eric Carlson.

* wtf/PlatformEnableCocoa.h:

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

8 hours ago[Flatpak] Use NUMBER_OF_PROCESSORS if already defined
svillar@igalia.com [Thu, 23 Sep 2021 08:19:24 +0000 (08:19 +0000)]
[Flatpak] Use NUMBER_OF_PROCESSORS if already defined
https://bugs.webkit.org/show_bug.cgi?id=230638

Reviewed by Martin Robinson.

The environment variable NUMBER_OF_PROCESSORS can be defined to instruct the build system
to spawn as many concurrent build commands as specified. By default flatpak was using 3x the number
of processors in the local system. However we might prefer to provide a more convenient number
by using the environment variable. Note that this approach is better than passing -j as
--makeargs because cmake would have to be reconfigured everytime the number passed to -j changes.

* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Use NUMBER_OF_PROCESSORS if already defined. Otherwise fallback
to 3x the number of processors.

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

8 hours ago[GTK] Allow sending precise mouse wheel events in LayoutTests
clord@igalia.com [Thu, 23 Sep 2021 08:18:45 +0000 (08:18 +0000)]
[GTK] Allow sending precise mouse wheel events in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=230541

Reviewed by Tim Horton.

Source/WebKit:

Add code to be able to send precise synthetic mouse-wheel events in GTK.

* Shared/NativeWebWheelEvent.h:
* Shared/gtk/NativeWebWheelEventGtk.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSynthesizeWheelEvent):
(webkitWebViewBaseSetWheelHasPreciseDeltas):
* UIProcess/API/gtk/WebKitWebViewBaseInternal.h:

Tools:

Add API to be able to send precise mouse-wheel events in EventSender.

* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::setWheelHasPreciseDeltas):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::toWebKitGLibAPI):
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::setWheelHasPreciseDeltas):

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

8 hours agoImprove the handling of CompositeEditCommand::splitTreeToNode() return values
svillar@igalia.com [Thu, 23 Sep 2021 08:16:36 +0000 (08:16 +0000)]
Improve the handling of CompositeEditCommand::splitTreeToNode() return values
https://bugs.webkit.org/show_bug.cgi?id=229470

Reviewed by Darin Adler.

splitTreeToNode() might return nullptr because, among other things, it might insert/remove nodes in
the DOM tree. It's well known that by doing so we're allowing the execution of arbitrary scripts
(see didFinishInsertingNode() for example). This means that there is a possibility that the node
that it's being splitted is no longer part of the DOM tree by the time splitTreeToNode() returns.
That's why we should bail out in those cases.

* editing/FormatBlockCommand.cpp:
(WebCore::FormatBlockCommand::formatRange):

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

9 hours agoNull pointer dereference in JSC::GetByStatus
commit-queue@webkit.org [Thu, 23 Sep 2021 06:58:52 +0000 (06:58 +0000)]
Null pointer dereference in JSC::GetByStatus
https://bugs.webkit.org/show_bug.cgi?id=229674

Patch by Mikhail R. Gadelha <mikhail@igalia.com> on 2021-09-22
Reviewed by Yusuke Suzuki.

In GetByStatus::computeForStubInfoWithoutExitSiteFeedback, there are
several places that dereference the stubInfo argument when calling the
GetByStatus constructor. To prevent a nullptr dereference, the pointer
is not dereferenced anymore, and a check was added to check if stubInfo
is a valid pointer before accessing it.

* bytecode/GetByStatus.cpp:
(JSC::GetByStatus::GetByStatus):
(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/GetByStatus.h:

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

11 hours ago[JSC] Filter algorithmic numbering systems from enumeration data
ysuzuki@apple.com [Thu, 23 Sep 2021 05:08:00 +0000 (05:08 +0000)]
[JSC] Filter algorithmic numbering systems from enumeration data
https://bugs.webkit.org/show_bug.cgi?id=230660

Reviewed by Ross Kirsling.

JSTests:

* stress/intl-enumeration.js:
* test262/expectations.yaml:

Source/JavaScriptCore:

Algorithmic numbering systems' handling is not included in normal ICU build.
This patch filters out them from available numbering systems.

* runtime/IntlObject.cpp:
(JSC::availableNumberingSystems):

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

11 hours agoMake SharedBuffer inherit from ThreadSafeRefCounted
jya@apple.com [Thu, 23 Sep 2021 05:05:02 +0000 (05:05 +0000)]
Make SharedBuffer inherit from ThreadSafeRefCounted
https://bugs.webkit.org/show_bug.cgi?id=230662
rdar://83419269

Source/WebCore:

The SourceBufferPrivateAVFObjC uses dispatch_async that takes an objective-C class.
This copies its argument rather than move it and we end up with the SharedBuffer
captured in the lambda to have its ref count be > 1.
The easiest workaround is to make SharedBuffer use thread-safe refcount.
Of course, this doesn't make a SharedBuffer a thread-safe class, but it allows
to safely move it between threads.

Already covered by existing tests.

Reviewed by Chris Dumez.

* platform/SharedBuffer.h:

LayoutTests:

Revert bug 230644.

Reviewed by Chris Dumez.

* platform/mac-wk1/TestExpectations:

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

11 hours ago[JSC] Adjust Intl currency enumeration
ysuzuki@apple.com [Thu, 23 Sep 2021 04:56:05 +0000 (04:56 +0000)]
[JSC] Adjust Intl currency enumeration
https://bugs.webkit.org/show_bug.cgi?id=230656

Reviewed by Ross Kirsling.

JSTests:

* stress/intl-enumeration.js:
* test262/expectations.yaml:

Source/JavaScriptCore:

1. List up all available currencies.
2. Introduce a work-around for VES, LSM, and EQE

* runtime/IntlObject.cpp:
(JSC::availableCurrencies):

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

11 hours ago[Cocoa] Hook up palettes to CoreText
mmaxfield@apple.com [Thu, 23 Sep 2021 04:52:05 +0000 (04:52 +0000)]
[Cocoa] Hook up palettes to CoreText
https://bugs.webkit.org/show_bug.cgi?id=230449

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

This is being upstreamed at https://github.com/web-platform-tests/wpt/pull/30910.

* web-platform-tests/css/css-fonts/font-palette-expected.html: Added.
* web-platform-tests/css/css-fonts/font-palette.html: Added.
* web-platform-tests/css/css-fonts/resources/Ahem-COLOR-palettes.ttf: Added.

Source/WebCore:

Now that we have FontCreationContext, we can just add FontPaletteValues to it, and turn
that into Core Text attributes in preparePlatformFont().

Test: imported/w3c/web-platform-tests/css/css-fonts/font-palette.html

* WebCore.xcodeproj/project.pbxproj:
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::font):
* css/CSSFontFace.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::lookupFontPaletteValues):
(WebCore::CSSFontSelector::fontRangesForFamily):
* css/CSSFontSelector.h:
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges):
* css/CSSSegmentedFontFace.h:
* platform/graphics/FontCreationContext.h:
(WebCore::FontCreationContext::operator== const):
(WebCore::add):
* platform/graphics/FontPaletteValues.h:
(WebCore::FontPaletteValues::operator== const):
(WebCore::FontPaletteValues::operator!= const):
(WebCore::add):
* platform/graphics/Gradient.cpp:
* platform/graphics/Gradient.h:
(WebCore::add):
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::addAttributesForFontPalettes):
(WebCore::preparePlatformFont):

Source/WebCore/PAL:

* pal/spi/cf/CoreTextSPI.h:

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

11 hours agoRename the Shaping log channel to TextShaping
mmaxfield@apple.com [Thu, 23 Sep 2021 04:48:59 +0000 (04:48 +0000)]
Rename the Shaping log channel to TextShaping
https://bugs.webkit.org/show_bug.cgi?id=230665

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

* platform/Logging.h:
* platform/graphics/coretext/FontCoreText.cpp:
(WebCore::Font::applyTransforms const):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):

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

11 hours agoTurn WebCore::LineCap and WebCore::LineJoin into 8-bit enum classes
wenson_hsieh@apple.com [Thu, 23 Sep 2021 04:30:49 +0000 (04:30 +0000)]
Turn WebCore::LineCap and WebCore::LineJoin into 8-bit enum classes
https://bugs.webkit.org/show_bug.cgi?id=230642

Reviewed by Simon Fraser.

Make LineJoin and LineCap enum classes, backed by uint8_t. This makes it easier to send these enum types as IPC
arguments to the GPU process. Using strongly typed identifiers is also better for type safety.

No change in behavior.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LineCap const):
(WebCore::CSSPrimitiveValue::operator LineJoin const):

Prefix individual enum values with `LineCap::` and `LineJoin::`, as needed.

* html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::toCanvasLineCap):
(WebCore::fromCanvasLineCap):
(WebCore::toCanvasLineJoin):
(WebCore::fromCanvasLineJoin):
(WebCore::CanvasRenderingContext2DBase::State::State):
(WebCore::CanvasRenderingContext2DBase::inflateStrokeRect const):
* platform/adwaita/ThemeAdwaita.cpp:
(WebCore::ThemeAdwaita::paintFocus):
* platform/graphics/GraphicsTypes.cpp:
(WebCore::operator<<):
* platform/graphics/GraphicsTypes.h:

Additionally rename these enum values to just (Butt, Round, Square) and (Miter, Round, Bevel) for LineCap and
LineJoin, respectively.

* platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::setLineCap):
(WebCore::Cairo::setLineJoin):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContextCG::setLineCap):
(WebCore::GraphicsContextCG::setLineJoin):
* platform/graphics/win/Direct2DOperations.cpp:
(WebCore::Direct2D::setLineCap):
(WebCore::Direct2D::setLineJoin):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::drawReplacementArrow):
* rendering/TextPaintStyle.cpp:
(WebCore::updateGraphicsContext):
* rendering/TextPaintStyle.h:
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::setCapStyle):
(WebCore::RenderStyle::initialCapStyle):
(WebCore::RenderStyle::setJoinStyle):
(WebCore::RenderStyle::initialJoinStyle):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::shapeDependentStrokeContains):
(WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath const):
(WebCore::RenderSVGPath::zeroLengthLinecapPath const):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::applyStrokeStyleToContext):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):

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

12 hours agoWeb Inspector: add a pinned [+] button to the tab bar to make it easier to re-open...
drousso@apple.com [Thu, 23 Sep 2021 04:08:29 +0000 (04:08 +0000)]
Web Inspector: add a pinned [+] button to the tab bar to make it easier to re-open closed tabs
https://bugs.webkit.org/show_bug.cgi?id=230600

Reviewed by BJ Burg.

* UserInterface/Views/TabBar.js:
(WI.TabBar):
(WI.TabBar.prototype.selectTabBarItem):
(WI.TabBar.prototype.layout):
(WI.TabBar.prototype._pinnedButtons): Added.
(WI.TabBar.prototype._closedTabClasses): Added.
(WI.TabBar.prototype._handleTabContainerMouseDown):
(WI.TabBar.prototype._handleShowHiddenTabsTabBarItemMouseDown): Added.
(WI.TabBar.prototype._handleAddClosedTabsTabBarItemMouseDown): Added.
(WI.TabBar.prototype._handleTabContainerClick): Deleted.
Add a `_openClosedTabsTabBarItem` that's a `WI.PinnedTabBarItem` without a `representedObject`,
meaning that it's basically just a button and won't actually open a tab when clicked. This
suits our purposes perfectly as we only want to show a contextmenu on click, not to mention
that it will only be shown if there are closed tabs.
Drive-by: Rename `_tabPickerTabBarItem` to `_showHiddenTabsTabBarItem` to clarify purpose.
Drive-by: Remove `_handleTabContainerClick` as tabs can only be removed via the contextmenu.
* UserInterface/Images/Overflow.svg: Renamed from UserInterface/Images/TabPicker.svg.
Drive-by: Rename to clarify purpose.
* Localizations/en.lproj/localizedStrings.js:

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

13 hours ago[Curl] Show TLS connection information in the inspector
Takashi.Komori@sony.com [Thu, 23 Sep 2021 03:28:06 +0000 (03:28 +0000)]
[Curl] Show TLS connection information in the inspector
https://bugs.webkit.org/show_bug.cgi?id=230526

Reviewed by Alex Christensen.

Add TLS version and cipher name in the network security tab.

No tests yet.

* platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::addExtraNetworkLoadMetrics):
* platform/network/curl/CurlContext.h:
* platform/network/curl/OpenSSLHelper.cpp:
(OpenSSL::tlsVersion):
(OpenSSL::tlsCipherName):
* platform/network/curl/OpenSSLHelper.h:

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

13 hours agoMove more scroll snap-related code into ScrollSnapAnimatorState
simon.fraser@apple.com [Thu, 23 Sep 2021 02:52:21 +0000 (02:52 +0000)]
Move more scroll snap-related code into ScrollSnapAnimatorState
https://bugs.webkit.org/show_bug.cgi?id=230659

Reviewed by Wenson Hsieh.

Reduce the brain print of ScrollingEffectsController by moving scroll snap-related code
into ScrollSnapAnimatorState, which is going to become a ScrollSnapController at some
point.

* page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition):
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::scrollOffsetAdjustedForSnapping const):
(WebCore::ScrollAnimator::adjustScrollOffsetForSnappingIfNeeded): Deleted.
* platform/ScrollAnimator.h:
* platform/ScrollSnapAnimatorState.cpp:
(WebCore::ScrollSnapAnimatorState::closestSnapPointForOffset const):
(WebCore::ScrollSnapAnimatorState::adjustedScrollDestination const):
(WebCore::ScrollSnapAnimatorState::resnapAfterLayout):
(WebCore::ScrollSnapAnimatorState::setNearestScrollSnapIndexForAxisAndOffset):
(WebCore::ScrollSnapAnimatorState::setNearestScrollSnapIndexForOffset):
* platform/ScrollSnapAnimatorState.h:
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::doPostThumbMoveSnapping):
* platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::adjustedScrollDestination const):
(WebCore::ScrollingEffectsController::updateActiveScrollSnapIndexForClientOffset):
(WebCore::ScrollingEffectsController::resnapAfterLayout):
(WebCore::ScrollingEffectsController::setNearestScrollSnapIndexForAxisAndOffset): Deleted.
(WebCore::ScrollingEffectsController::adjustScrollDestination): Deleted.
* platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsController::setScrollSnapIndexDidChange):
* rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::scrollToOffset):

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

13 hours ago[LFC][IFC] Move LineGeometry under InlineDisplay namespace
zalan@apple.com [Thu, 23 Sep 2021 02:39:34 +0000 (02:39 +0000)]
[LFC][IFC] Move LineGeometry under InlineDisplay namespace
https://bugs.webkit.org/show_bug.cgi?id=230635

Reviewed by Antti Koivisto.

* WebCore.xcodeproj/project.pbxproj:
* display/css/DisplayBoxFactory.cpp:
(WebCore::Display::BoxFactory::displayBoxForTextRun const):
* display/css/DisplayBoxFactory.h:
* layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):
* layout/formattingContexts/inline/InlineFormattingState.h:
(WebCore::Layout::InlineFormattingState::lines const):
(WebCore::Layout::InlineFormattingState::lines):
(WebCore::Layout::InlineFormattingState::addLine):
(WebCore::Layout::InlineFormattingState::clearLineAndRuns):
(WebCore::Layout::InlineFormattingState::shrinkToFit):
* layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::build):
* layout/formattingContexts/inline/InlineLineBoxBuilder.h:
* layout/formattingContexts/inline/display/InlineDisplayLine.h: Renamed from Source/WebCore/layout/formattingContexts/inline/display/InlineLineGeometry.h.
(WebCore::InlineDisplay::Line::lineBoxLogicalRect const):
(WebCore::InlineDisplay::Line::scrollableOverflow const):
(WebCore::InlineDisplay::Line::enclosingTopAndBottom const):
(WebCore::InlineDisplay::Line::baseline const):
(WebCore::InlineDisplay::Line::contentLogicalLeft const):
(WebCore::InlineDisplay::Line::contentLogicalWidth const):
(WebCore::InlineDisplay::Line::moveVertically):
(WebCore::InlineDisplay::Line::Line):
* layout/integration/LayoutIntegrationInlineContentBuilder.cpp:
(WebCore::LayoutIntegration::operator+):

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

14 hours ago[LFC][IFC] Move LineGeometry and LineRun files under /inline/display
zalan@apple.com [Thu, 23 Sep 2021 01:48:46 +0000 (01:48 +0000)]
[LFC][IFC] Move LineGeometry and LineRun files under /inline/display
https://bugs.webkit.org/show_bug.cgi?id=230632

Reviewed by Antti Koivisto.

This is in preparation for moving these classes out of the "layout namespace".

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* layout/formattingContexts/inline/display/InlineLineGeometry.h: Renamed from Source/WebCore/layout/formattingContexts/inline/InlineLineGeometry.h.
(WebCore::Layout::LineGeometry::lineBoxLogicalRect const):
(WebCore::Layout::LineGeometry::scrollableOverflow const):
(WebCore::Layout::LineGeometry::enclosingTopAndBottom const):
(WebCore::Layout::LineGeometry::baseline const):
(WebCore::Layout::LineGeometry::contentLogicalLeft const):
(WebCore::Layout::LineGeometry::contentLogicalWidth const):
(WebCore::Layout::LineGeometry::moveVertically):
(WebCore::Layout::LineGeometry::LineGeometry):
* layout/formattingContexts/inline/display/InlineLineRun.h: Renamed from Source/WebCore/layout/formattingContexts/inline/InlineLineRun.h.
(WebCore::Layout::Run::Text::start const):
(WebCore::Layout::Run::Text::end const):
(WebCore::Layout::Run::Text::length const):
(WebCore::Layout::Run::Text::originalContent const):
(WebCore::Layout::Run::Text::renderedContent const):
(WebCore::Layout::Run::Text::hasHyphen const):
(WebCore::Layout::Run::isText const):
(WebCore::Layout::Run::isSoftLineBreak const):
(WebCore::Layout::Run::isLineBreakBox const):
(WebCore::Layout::Run::isLineBreak const):
(WebCore::Layout::Run::isAtomicInlineLevelBox const):
(WebCore::Layout::Run::isInlineBox const):
(WebCore::Layout::Run::isNonRootInlineBox const):
(WebCore::Layout::Run::isRootInlineBox const):
(WebCore::Layout::Run::isGenericInlineLevelBox const):
(WebCore::Layout::Run::isInlineLevelBox const):
(WebCore::Layout::Run::isNonRootInlineLevelBox const):
(WebCore::Layout::Run::type const):
(WebCore::Layout::Run::hasContent const):
(WebCore::Layout::Run::logicalRect const):
(WebCore::Layout::Run::inkOverflow const):
(WebCore::Layout::Run::logicalTop const):
(WebCore::Layout::Run::logicalBottom const):
(WebCore::Layout::Run::logicalLeft const):
(WebCore::Layout::Run::logicalRight const):
(WebCore::Layout::Run::logicalWidth const):
(WebCore::Layout::Run::logicalHeight const):
(WebCore::Layout::Run::moveVertically):
(WebCore::Layout::Run::adjustInkOverflow):
(WebCore::Layout::Run::text):
(WebCore::Layout::Run::text const):
(WebCore::Layout::Run::expansion const):
(WebCore::Layout::Run::layoutBox const):
(WebCore::Layout::Run::style const):
(WebCore::Layout::Run::lineIndex const):
(WebCore::Layout::Run::Run):
(WebCore::Layout::Run::Text::Text):

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

15 hours agoFix for LayoutTests/accessibility/heading-level.html in isolated tree mode.
andresg_22@apple.com [Thu, 23 Sep 2021 01:16:01 +0000 (01:16 +0000)]
Fix for LayoutTests/accessibility/heading-level.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=230654
<rdar://problem/83422965>

Reviewed by Chris Fleizach.

Rewrote this test using Promises so that it works in isolated tree mode.

* accessibility/heading-level-expected.txt:
* accessibility/heading-level.html:

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

15 hours ago[libpas] fix DebugHeap
fpizlo@apple.com [Thu, 23 Sep 2021 00:52:25 +0000 (00:52 +0000)]
[libpas] fix DebugHeap
https://bugs.webkit.org/show_bug.cgi?id=230658

Reviewed by Yusuke Suzuki.

The previous DebugHeap integration with libpas assumed we didn't have a jit_heap. Now that
we have a jit_heap, we need to be able to do DebugHeap from the bmalloc_heap while we still
use jit_heap.

This was tricky, since previously, libpas could just follow bmalloc and say that if TLC is
not initialized, then we go slow, and the slow path checks for DebugHeap. Now, we might have
a TLC. This means having to push down the debug heap checks into other slow paths.

* bmalloc/DebugHeap.cpp:
(pas_debug_heap_is_enabled):
(pas_debug_heap_malloc):
(pas_debug_heap_memalign):
(pas_debug_heap_realloc):
(pas_debug_heap_free):
* libpas/src/libpas/bmalloc_heap_config.c:
(bmalloc_heap_config_activate):
* libpas/src/libpas/jit_heap.c:
(jit_heap_add_fresh_memory):
(jit_heap_try_allocate):
* libpas/src/libpas/jit_heap_config.c:
* libpas/src/libpas/pas_deallocate.c:
(pas_try_deallocate_slow_no_cache):
* libpas/src/libpas/pas_deallocate.h:
(pas_try_deallocate_not_small):
* libpas/src/libpas/pas_debug_heap.h:
(pas_debug_heap_is_enabled):
(pas_debug_heap_allocate):
* libpas/src/libpas/pas_local_allocator_inlines.h:
(pas_local_allocator_try_allocate_small_segregated_slow_impl):
(pas_local_allocator_try_allocate_slow_impl):
(pas_local_allocator_try_allocate):
* libpas/src/libpas/pas_thread_local_cache.c:
(allocate_cache):
(pas_thread_local_cache_get_local_allocator_if_can_set_cache_slow):
* libpas/src/libpas/pas_try_allocate.h:
(pas_try_allocate_impl):
* libpas/src/libpas/pas_try_allocate_common.h:
(pas_try_allocate_common_impl_slow):
* libpas/src/libpas/pas_try_allocate_intrinsic_primitive.h:
(pas_try_allocate_intrinsic_primitive_impl_medium_slow_case):
(pas_try_allocate_intrinsic_primitive_impl_inline_only):
* libpas/src/libpas/pas_try_reallocate.h:
(pas_try_reallocate):

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

15 hours agoFix the behavior that setting text field input's value content attribute to the same...
jh718.park@samsung.com [Thu, 23 Sep 2021 00:40:13 +0000 (00:40 +0000)]
Fix the behavior that setting text field input's value content attribute to the same value moves caret to the end of the input.
https://bugs.webkit.org/show_bug.cgi?id=191255

Reviewed by Simon Fraser.

This patch changes the behavior specified above to make WebKit's behavior interoperable
according to the spec below at
https://html.spec.whatwg.org/multipage/form-elements.html#dom-textarea-value.

'4. If the new API value is different from oldAPIValue,
then move the text entry cursor position to the end of the text control,
unselecting any selected text and resetting the selection direction to "none".'

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/forms/textfieldselection/defaultSelection-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-value-interactions-expected.txt:

Source/WebCore:

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::setValue):

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

15 hours ago[JSC] emoji and eor collations are missing
ysuzuki@apple.com [Thu, 23 Sep 2021 00:39:19 +0000 (00:39 +0000)]
[JSC] emoji and eor collations are missing
https://bugs.webkit.org/show_bug.cgi?id=230652

Reviewed by Ross Kirsling.

JSTests:

* stress/intl-enumeration.js:
* test262/expectations.yaml:

Source/JavaScriptCore:

Due to ICU's bug, "emoji" and "eor" collations are missing from enumeration.
This patch adds work-around for this.

* runtime/IntlObject.cpp:
(JSC::availableCollations):

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

16 hours agoDon't exempt WebXR source files from unified sources
simon.fraser@apple.com [Thu, 23 Sep 2021 00:22:01 +0000 (00:22 +0000)]
Don't exempt WebXR source files from unified sources
https://bugs.webkit.org/show_bug.cgi?id=230651

Reviewed by Dean Jackson.

Allow WebXR and related files to participate in unified sources.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

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

16 hours agoREGRESSION (r282865?): ASSERTION FAILED: Unsafe to ref/deref from different threads...
ayumi_kojima@apple.com [Thu, 23 Sep 2021 00:16:19 +0000 (00:16 +0000)]
REGRESSION (r282865?): ASSERTION FAILED: Unsafe to ref/deref from different threads m_isOwnedByMainThread == isMainThread().
https://bugs.webkit.org/show_bug.cgi?id=230644

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

16 hours agoIFC progression gardening.
zalan@apple.com [Wed, 22 Sep 2021 23:48:05 +0000 (23:48 +0000)]
IFC progression gardening.

Unreviewed.

* TestExpectations: progressed with r282764 and r282872

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

16 hours ago[ iOS & macOS wk2 Debug ] imported/w3c/web-platform-tests/webrtc/simulcast/setParamet...
ayumi_kojima@apple.com [Wed, 22 Sep 2021 23:45:43 +0000 (23:45 +0000)]
[ iOS & macOS wk2 Debug ] imported/w3c/web-platform-tests/webrtc/simulcast/setParameters-active.https.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230653

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:

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

16 hours agoUpdate test expectations for js/dfg-uint8clampedarray.html.
ehutchison@apple.com [Wed, 22 Sep 2021 23:39:55 +0000 (23:39 +0000)]
Update test expectations for js/dfg-uint8clampedarray.html.
https://bugs.webkit.org/show_bug.cgi?id=229594.

Unreviewed test gardening.

* platform/win/TestExpectations:

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

17 hours ago[ BigSur wk2 ] http/tests/cache/disk-cache/shattered-deduplication.html is flaky...
ayumi_kojima@apple.com [Wed, 22 Sep 2021 23:20:35 +0000 (23:20 +0000)]
[ BigSur wk2 ] http/tests/cache/disk-cache/shattered-deduplication.html is flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=230650

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

17 hours ago[JSC] Intl unicode identifier type will reject underscore
ysuzuki@apple.com [Wed, 22 Sep 2021 23:18:44 +0000 (23:18 +0000)]
[JSC] Intl unicode identifier type will reject underscore
https://bugs.webkit.org/show_bug.cgi?id=230645

Reviewed by Ross Kirsling.

JSTests:

* test262/expectations.yaml:

Source/JavaScriptCore:

We reject '_' since BCP-47 rejects it and we should follow BCP-47 in all Intl inputs.

* runtime/IntlObject.cpp:
(JSC::isUnicodeLocaleIdentifierType):

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

17 hours agoUnreviewed, (manually) reverting r282856.
achristensen@apple.com [Wed, 22 Sep 2021 23:18:25 +0000 (23:18 +0000)]
Unreviewed, (manually) reverting r282856.
https://bugs.webkit.org/show_bug.cgi?id=230634

Caused ProcessSwap API test failures on iOS.

Reverted changest:

"Remove GenericCallback"
https://bugs.webkit.org/show_bug.cgi?id=229366
https://trac.webkit.org/changeset/282856/webkit

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2021-09-22

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

18 hours agoPush ScrollAnimatorMac code into the base class and clean up the ScrollAnimator interface
simon.fraser@apple.com [Wed, 22 Sep 2021 22:15:54 +0000 (22:15 +0000)]
Push ScrollAnimatorMac code into the base class and clean up the ScrollAnimator interface
https://bugs.webkit.org/show_bug.cgi?id=230633

Reviewed by Martin Robinson.

Reduce the brainprint of ScrollAnimatorMac by pushing platform-agnostic code into
the base class.

Clean up ScrollAnimator, making more functions protected or private.

* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::notifyPositionChanged):
(WebCore::ScrollAnimator::allowsHorizontalScrolling const):
(WebCore::ScrollAnimator::allowsVerticalScrolling const):
(WebCore::ScrollAnimator::stretchAmount const):
(WebCore::ScrollAnimator::edgePinnedState const):
(WebCore::ScrollAnimator::isPinnedForScrollDelta const):
* platform/ScrollAnimator.h:
* platform/ScrollingEffectsController.h:
* platform/generic/ScrollAnimatorGeneric.cpp:
(WebCore::ScrollAnimatorGeneric::scrollAnimationDidUpdate):
(WebCore::ScrollAnimatorGeneric::updatePosition): Deleted.
* platform/generic/ScrollAnimatorGeneric.h:
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::scroll): Deleted.
(WebCore::ScrollAnimatorMac::notifyPositionChanged): Deleted.
(WebCore::ScrollAnimatorMac::edgePinnedState const): Deleted.
(WebCore::ScrollAnimatorMac::isPinnedForScrollDelta const): Deleted.
(WebCore::ScrollAnimatorMac::stretchAmount const): Deleted.
(WebCore::ScrollAnimatorMac::allowsHorizontalScrolling const): Deleted.
(WebCore::ScrollAnimatorMac::allowsVerticalScrolling const): Deleted.

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

18 hours agoUnreviewed test gardening.
ryanhaddad@apple.com [Wed, 22 Sep 2021 22:10:56 +0000 (22:10 +0000)]
Unreviewed test gardening.

fast/canvas/canvas-color-space-display-p3-ImageData.html should be marked as a text failure.

* TestExpectations:
* platform/ios-14/TestExpectations:

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

18 hours ago[JSC] Upgrade test262
ysuzuki@apple.com [Wed, 22 Sep 2021 21:49:18 +0000 (21:49 +0000)]
[JSC] Upgrade test262
https://bugs.webkit.org/show_bug.cgi?id=230641

Reviewed by Ross Kirsling.

Upgrade test262 to the latest one.

* test262/config.yaml:
* test262/expectations.yaml:
* test262/test262-Revision.txt:

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

18 hours agoPCM should include the bundle ID of the app from which it originated
commit-queue@webkit.org [Wed, 22 Sep 2021 21:32:16 +0000 (21:32 +0000)]
PCM should include the bundle ID of the app from which it originated
https://bugs.webkit.org/show_bug.cgi?id=230576
<rdar://83065221>

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-22
Reviewed by Kate Cheney.

Source/WebCore:

This adds infrastructure to store the bundle ID of the application.
In another patch I'm going to use that to prevent PCMs from one app from overwriting PCMs from another app during attribution.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurement const):
* loader/PrivateClickMeasurement.cpp:
(WebCore::PrivateClickMeasurement::isolatedCopy const):
* loader/PrivateClickMeasurement.h:
(WebCore::PrivateClickMeasurement::PrivateClickMeasurement):
(WebCore::PrivateClickMeasurement::attributionTriggerData const):
(WebCore::PrivateClickMeasurement::sourceApplicationBundleID const):
(WebCore::PrivateClickMeasurement::encode const):
(WebCore::PrivateClickMeasurement::decode):
(WebCore::PrivateClickMeasurement::attributionTriggerData): Deleted.

Source/WebKit:

* NetworkProcess/DatabaseUtilities.cpp:
(WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase const):
(WebKit::DatabaseUtilities::buildPrivateClickMeasurementFromDatabase): Deleted.
* NetworkProcess/DatabaseUtilities.h:
* NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:
(WebKit::PCM::Database::Database):
(WebKit::PCM::Database::insertPrivateClickMeasurement):
(WebKit::PCM::Database::privateClickMeasurementToStringForTesting const):
(WebKit::PCM::Database::attributionToStringForTesting const):
(WebKit::PCM::Database::addBundleIDColumnIfNecessary):
(WebKit::PCM::Database::columnsForTable):
(WebKit::PCM::Database::addMissingColumnToTable):
* NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
* UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:applicationBundleID:]):
(-[WKWebView _addEventAttributionWithSourceID:destinationURL:sourceDescription:purchaser:reportEndpoint:optionalNonce:]): Deleted.
* UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _setEphemeralUIEventAttribution:]):
(-[WKWebView _setEphemeralUIEventAttribution:forApplicationWithBundleID:]):

Tools:

* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:
(pollUntilPCMIsMigrated):

LayoutTests:

* http/tests/contentextensions/block-private-click-measurement-expected.txt:
* http/tests/privateClickMeasurement/attribution-conversion-through-cross-site-image-redirect-expected.txt:
* http/tests/privateClickMeasurement/attribution-conversion-through-fetch-keepalive-expected.txt:
* http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-ephemeral-expected.txt:
* http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-in-new-window-expected.txt:
* http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-with-priority-expected.txt:
* http/tests/privateClickMeasurement/attribution-conversion-through-image-redirect-without-priority-expected.txt:
* http/tests/privateClickMeasurement/conversion-disabled-in-ephemeral-session-expected.txt:
* http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-null-content-expected.txt:
* http/tests/privateClickMeasurement/private-click-measurement-with-source-nonce-wrong-content-type-expected.txt:
* http/tests/privateClickMeasurement/second-attribution-converted-with-higher-priority-expected.txt:
* http/tests/privateClickMeasurement/second-attribution-converted-with-lower-priority-expected.txt:
* http/tests/privateClickMeasurement/second-conversion-with-higher-priority-expected.txt:
* http/tests/privateClickMeasurement/second-conversion-with-lower-priority-expected.txt:
* http/tests/privateClickMeasurement/store-private-click-measurement-expected.txt:

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

19 hours agoMove PCMDaemon to WebKit.framework and rename it to AdAttributionDaemon
commit-queue@webkit.org [Wed, 22 Sep 2021 21:05:52 +0000 (21:05 +0000)]
Move PCMDaemon to WebKit.framework and rename it to AdAttributionDaemon
https://bugs.webkit.org/show_bug.cgi?id=230516

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-22
Reviewed by Brent Fulgham.

Source/WebKit:

Also, open iOS NetworkProcess's sandbox to allow connecting to it.

* Configurations/AdAttributionDaemon.xcconfig: Renamed from Tools/TestWebKitAPI/Configurations/TestPCMDaemon.xcconfig.
* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
* Shared/EntryPointUtilities/Cocoa/Daemon/AdAttributionDaemon.c: Renamed from Tools/TestWebKitAPI/cocoa/TestPCMDaemonMain.c.
* WebKit.xcodeproj/project.pbxproj:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::testPCMDaemonLocation):

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

20 hours agoDrop makeRef() and use Ref { } instead
cdumez@apple.com [Wed, 22 Sep 2021 20:04:19 +0000 (20:04 +0000)]
Drop makeRef() and use Ref { } instead
https://bugs.webkit.org/show_bug.cgi?id=230626

Reviewed by Alex Christensen.

Source/WebCore:

* platform/audio/cocoa/AudioFileReaderCocoa.cpp:
(WebCore::AudioFileReader::demuxWebMData const):

Source/WebKit:

* GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::RemoteGraphicsContextGL):
* GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::cacheNativeImage):
* GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::createH264Decoder):
(WebKit::LibWebRTCCodecsProxy::createH265Decoder):
(WebKit::LibWebRTCCodecsProxy::createVP9Decoder):
(WebKit::LibWebRTCCodecsProxy::createEncoder):
* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::migrateDataToPCMDatabaseIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateCookieBlocking):
* NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
(WebKit::ResourceLoadStatisticsStore::updateCacheMaxAgeCap):
(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):
(WebKit::ResourceLoadStatisticsStore::updateCookieBlockingForDomains):
(WebKit::ResourceLoadStatisticsStore::logTestingEvent):
(WebKit::ResourceLoadStatisticsStore::removeAllStorageAccess):
* NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
* NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::findPendingDownloadLocation):
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::SessionStorageQuotaManager::ensureOriginStorageQuotaManager):
* NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::initialize):
* NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementStore.cpp:
(WebKit::PCM::Store::Store):
(WebKit::PCM::Store::insertPrivateClickMeasurement):
(WebKit::PCM::Store::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting):
(WebKit::PCM::Store::attributePrivateClickMeasurement):
(WebKit::PCM::Store::privateClickMeasurementToStringForTesting const):
(WebKit::PCM::Store::allAttributedPrivateClickMeasurement):
(WebKit::PCM::Store::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WebKit::PCM::Store::clearPrivateClickMeasurement):
(WebKit::PCM::Store::clearPrivateClickMeasurementForRegistrableDomain):
(WebKit::PCM::Store::clearExpiredPrivateClickMeasurement):
(WebKit::PCM::Store::clearSentAttribution):
(WebKit::PCM::Store::close):
* NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:
(WebKit::ServiceWorkerSoftUpdateLoader::loadWithCacheEntry):
* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::from):
* NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::open):
(WebKit::CacheStorage::Cache::retrieveRecord):
(WebKit::CacheStorage::Cache::retrieveRecords):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::updateRecordToDisk):
* NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::readRecordsList):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::retrieve):
* NetworkProcess/cache/NetworkCacheIOChannelGLib.cpp:
(WebKit::NetworkCache::IOChannel::readSyncInThread):
* NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::NetworkStorageManager):
(WebKit::NetworkStorageManager::clearStorageForTesting):
* NetworkProcess/webrtc/NetworkMDNSRegister.cpp:
(WebKit::NetworkMDNSRegister::registerMDNSName):
* NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::NetworkRTCProvider):
* NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:
(WebKit::NetworkRTCTCPSocketCocoa::NetworkRTCTCPSocketCocoa):
* NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:
(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):
* Platform/IPC/Connection.cpp:
(IPC::Connection::SyncMessageState::processIncomingMessage):
* Platform/IPC/HandleMessage.h:
(IPC::handleMessageSynchronous):
(IPC::handleMessageSynchronousWantsConnection):
(IPC::handleMessageAsync):
(IPC::handleMessageAsyncWantsConnection):
* Platform/IPC/MessageReceiveQueues.h:
* Platform/IPC/StreamServerConnection.h:
(IPC::StreamServerConnection<Receiver>::startReceivingMessages):
* Platform/SharedMemory.cpp:
(WebKit::SharedMemory::createSharedBuffer const):
* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::updateSceneState):
* Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::~CompositingRunLoop):
* UIProcess/API/APIContentWorld.cpp:
(API::ContentWorld::sharedWorldWithName):
* UIProcess/API/Cocoa/WKDownload.mm:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _frames:]):
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload cancel]):
* UIProcess/API/glib/WebKitDownload.cpp:
(webkit_download_cancel):
* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::getBrowsingContext):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::willShowJavaScriptDialog):
(WebKit::WebAutomationSession::simulateMouseInteraction):
(WebKit::WebAutomationSession::simulateWheelInteraction):
(WebKit::WebAutomationSession::performMouseInteraction):
(WebKit::WebAutomationSession::performKeyboardInteractions):
(WebKit::WebAutomationSession::takeScreenshot):
* UIProcess/BackgroundProcessResponsivenessTimer.cpp:
(WebKit::BackgroundProcessResponsivenessTimer::setResponsive):
* UIProcess/Cocoa/LegacyDownloadClient.mm:
(WebKit::LegacyDownloadClient::didReceiveAuthenticationChallenge):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::didReceiveAuthenticationChallenge):
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest):
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin):
* UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
(-[WKSafeBrowsingWarning initWithFrame:safeBrowsingWarning:completionHandler:]):
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::beginSafeBrowsingCheck):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
* UIProcess/DrawingAreaProxy.cpp:
(WebKit::DrawingAreaProxy::DrawingAreaProxy):
* UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
(WebKit::WebInspectorUIExtensionControllerProxy::registerExtension):
(WebKit::WebInspectorUIExtensionControllerProxy::unregisterExtension):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::deleteWebsiteDataInUIProcessForRegistrableDomains):
* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::callObserverCallback):
* UIProcess/ResponsivenessTimer.cpp:
(WebKit::ResponsivenessTimer::timerFired):
(WebKit::ResponsivenessTimer::stop):
* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::grantRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::updateStoredRequests):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
* UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::addProcessIfPossible):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::handleSynchronousMessage):
(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createSpeechRecognitionServer):
(WebKit::WebProcessProxy::ensureSpeechRecognitionRemoteRealtimeMediaSourceManager):
* UIProcess/WebURLSchemeTask.cpp:
(WebKit::WebURLSchemeTask::WebURLSchemeTask):
* UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::beginAppBoundDomainCheck):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::networkProcessForSession):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):
* WebProcess/EncryptedMedia/MediaKeySystemPermissionRequestManager.cpp:
(WebKit::MediaKeySystemPermissionRequestManager::sendMediaKeySystemRequest):
* WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::recordFontUse):
* WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::ensureGPUProcessConnectionOnMainThreadWithLock):
* WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
* WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::sendUserMediaRequest):
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::schedulePluginStreamLoad):
* WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp:
(WebKit::LibWebRTCNetworkManager::StartUpdating):
(WebKit::LibWebRTCNetworkManager::networksChanged):
(WebKit::LibWebRTCNetworkManager::networkProcessCrashed):
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::cancelAndForgetLoader):
* WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
(WebKit::SpeechRecognitionRealtimeMediaSourceManager::createSource):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPC::visitedLinkStoreID):
(WebKit::IPCTestingAPI::JSMessageListener::didReceiveMessage):
(WebKit::IPCTestingAPI::JSMessageListener::willSendMessage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::requestStorageAccess):
(WebKit::WebPage::requestTextRecognition):
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::showEmojiPicker):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
(WebKit::isObscuredElement):
(WebKit::elementPositionInformation):
(WebKit::WebPage::focusTextInputContextAndPlaceCaret):
(WebKit::WebPage::animationDidFinishForElement):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
(WebKit::TiledCoreAnimationDrawingArea::handleActivityStateChangeCallbacksIfNeeded):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureSpeechRecognitionRealtimeMediaSourceManager):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):

Source/WTF:

* wtf/Ref.h:

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

22 hours agoDisable FTP.
beidson@apple.com [Wed, 22 Sep 2021 17:58:45 +0000 (17:58 +0000)]
Disable FTP.
<rdar://81193860> and https://bugs.webkit.org/show_bug.cgi?id=230477

Reviewed by Geoff Garen.

Source/WebKit:

Covered by new API tests.

* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::start):
(WebKit::NetworkLoad::willPerformHTTPRedirection):

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::ftpEnabled const):

* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Source/WTF:

* Scripts/Preferences/WebPreferencesExperimental.yaml:

* wtf/URL.cpp:
(WTF::URL::protocolIsInFTPFamily const):
(WTF::protocolIsInFTPFamily):
* wtf/URL.h:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

* TestWebKitAPI/Tests/WebKitCocoa/BundlePageConsoleMessage.mm: Added.
(willAddMessageToConsoleCallback):
(-[BundlePageConsoleMessage webProcessPlugIn:didCreateBrowserContextController:]):

* TestWebKitAPI/Tests/WebKitCocoa/FTP.mm: Added.
(TestWebKitAPI::didReceivePageMessageFromInjectedBundle):
(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::TEST):

* TestWebKitAPI/PlatformUtilities.h:
* TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
(TestWebKitAPI::Util::toNS):

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

23 hours agoSource/WebCore:
commit-queue@webkit.org [Wed, 22 Sep 2021 17:19:36 +0000 (17:19 +0000)]
Source/WebCore:
RenderBox is a RenderElement which can have image updates from style changes. We should call
the base class imageChanged method and handle image changes appropriately in RenderListMarker.
https://bugs.webkit.org/show_bug.cgi?id=230431

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-09-22
Reviewed by Darin Adler.

Test: fast/lists/list-marker-image-changed.html

* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::imageChanged):

LayoutTests:
RenderListMarker::imageChanged RenderBox image handling
https://bugs.webkit.org/show_bug.cgi?id=230431

Patch by Gabriel Nava Marino <gnavamarino@apple.com> on 2021-09-22
Reviewed by Darin Adler.

* fast/lists/list-marker-image-changed-expected.txt: Added.
* fast/lists/list-marker-image-changed.html: Added.

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

23 hours agoBuild fix for 230521
megan_gardner@apple.com [Wed, 22 Sep 2021 17:07:21 +0000 (17:07 +0000)]
Build fix for 230521
https://bugs.webkit.org/show_bug.cgi?id=230629

Reviewed by Wenson Hsieh.

* UIProcess/ios/WKContentViewInteraction.mm:
(toGestureType):

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

23 hours ago[Flatpak SDK] Switch runtime to 21.08 SDK
philn@webkit.org [Wed, 22 Sep 2021 16:37:27 +0000 (16:37 +0000)]
[Flatpak SDK] Switch runtime to 21.08 SDK
https://bugs.webkit.org/show_bug.cgi?id=229919

Reviewed by Michael Catanzaro.

Source/WebKit:

* Shared/RTCNetwork.h: Unified build fix, include <optional> before using std::optional<T>.

Tools:

Upgrade SDK runtime to the 21.08 branch.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* flatpak/flatpakutils.py:
(WebkitFlatpak.__init__):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.check_installed_packages):
(WebkitFlatpak._get_dependency_packages):
(WebkitFlatpak.install_all):

LayoutTests:

Tests expectations update for the new SDK runtime.

* platform/glib/fast/xsl/xslt-mismatched-tags-in-xslt-expected.txt:
* platform/glib/svg/custom/use-invalid-pattern-expected.txt: Added.
* platform/glib/svg/custom/use-invalid-style-expected.txt: Added.
* platform/gtk/fast/invalid/missing-end-tag-expected.txt:
* platform/gtk/http/tests/security/xss-DENIED-xsl-external-entity-expected.txt: Added.
* platform/gtk/http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt:
* platform/gtk/svg/hixie/error/012-expected.png: Removed.
* platform/gtk/svg/hixie/error/012-expected.txt:
* platform/wpe/fast/invalid/missing-end-tag-expected.txt:
* platform/wpe/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt:
* platform/wpe/fast/table/table-split-on-insert-with-section-crash-expected.txt: Added.
* platform/wpe/fast/text/international/spaces-combined-in-vertical-text-expected.txt:
* platform/wpe/fast/text/justify-nbsp-expected.txt: Added.
* platform/wpe/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
* platform/wpe/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
* platform/wpe/svg/hixie/error/012-expected.txt:
* platform/wpe/svg/text/text-altglyph-01-b-expected.txt:
* platform/wpe/svg/text/text-text-04-t-expected.txt:
* platform/wpe/svg/text/text-text-06-t-expected.txt:

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

24 hours agoRemove unused enums.
megan_gardner@apple.com [Wed, 22 Sep 2021 15:37:58 +0000 (15:37 +0000)]
Remove unused enums.
https://bugs.webkit.org/show_bug.cgi?id=230521

Reviewed by Wenson Hsieh.

Removing enums that are not used by UIKit or WebKit.

* Platform/spi/ios/UIKitSPI.h:
* Shared/ios/GestureTypes.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(toGestureType):
(toUIWKGestureType):

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

25 hours agoRemove ENABLE(SMOOTH_SCROLLING)
simon.fraser@apple.com [Wed, 22 Sep 2021 15:03:05 +0000 (15:03 +0000)]
Remove ENABLE(SMOOTH_SCROLLING)
https://bugs.webkit.org/show_bug.cgi?id=230587

Reviewed by Tim Horton.

ENABLE(SMOOTH_SCROLLING) was always enabled on macOS, so remove it. The pref defaults
to true on macOS, and false elsewhere.

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::scrollAnimatorEnabled const):
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scrollAnimatorEnabled const):
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:

Source/WTF:

* Scripts/Preferences/WebPreferences.yaml:
* wtf/PlatformEnable.h:
* wtf/PlatformEnableCocoa.h:

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

25 hours ago[WIN] Unreviewed test gardening
zalan@apple.com [Wed, 22 Sep 2021 14:52:57 +0000 (14:52 +0000)]
[WIN] Unreviewed test gardening

* platform/win/TestExpectations:

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

26 hours ago[LFC][Integration] FlowHasTextSecurity FlowHasJustifiedNonBreakingSpace are unused
zalan@apple.com [Wed, 22 Sep 2021 13:48:31 +0000 (13:48 +0000)]
[LFC][Integration] FlowHasTextSecurity FlowHasJustifiedNonBreakingSpace are unused
https://bugs.webkit.org/show_bug.cgi?id=230591

Reviewed by Antti Koivisto.

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
* layout/integration/LayoutIntegrationCoverage.h:

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

26 hours ago[LFC][Integration] Remove ensureLineBoxes
antti@apple.com [Wed, 22 Sep 2021 13:38:18 +0000 (13:38 +0000)]
[LFC][Integration] Remove ensureLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=230597

Reviewed by Alan Bujtas.

We don't need to switch to legacy lineboxes dynamically for non-style reasons anymore.

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForStyle):

Support -webkit-border-fit:lines.

* layout/integration/LayoutIntegrationCoverage.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustForBorderFit const):

Use iterator.

(WebCore::RenderBlockFlow::clearTruncation):

Remove an unnecessary ensureLineBoxes call.

(WebCore::RenderBlockFlow::ensureLineBoxes): Deleted.

Boom.

* rendering/RenderBlockFlow.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::nodeAtPoint):

This is not needed before we start supporting RenderInlines with layers on LFC path.

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

27 hours ago[LFC][IFC] Add fallback font support
zalan@apple.com [Wed, 22 Sep 2021 13:25:48 +0000 (13:25 +0000)]
[LFC][IFC] Add fallback font support
https://bugs.webkit.org/show_bug.cgi?id=228685
<rdar://problem/81661514>

Reviewed by Antti Koivisto.

Source/WebCore:

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
(WebCore::LayoutIntegration::canUseForText):
(WebCore::LayoutIntegration::canUseForFontAndText):
* layout/integration/LayoutIntegrationCoverage.h:

LayoutTests:

* TestExpectations:
* fast/text/multiple-feature-properties-expected.html: see webkit.org/b/206168
* fast/text/multiple-feature-properties.html:
* fast/text/simple-line-layout-do-not-support-unicode-range-expected.html: Removed.
* fast/text/simple-line-layout-do-not-support-unicode-range.html: Removed.
* fast/text/simple-line-layout-no-surrogate-pairs-expected.html: Removed.
* fast/text/simple-line-layout-no-surrogate-pairs.html: Removed.
* platform/ios-14/TestExpectations:
* platform/ios/TestExpectations:
* platform/ios/fast/css/font-face-implicit-local-font-expected.txt:
* platform/mac-bigsur/fast/text/capitalize-boundaries-expected.txt:
* platform/mac-catalina/fast/text/capitalize-boundaries-expected.txt: unused soft hyphens make the lines grow
* platform/mac/fast/text/international/003-expected.txt:

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

27 hours ago[LFC][Integration] Remove ALLOW_ coverage defines
antti@apple.com [Wed, 22 Sep 2021 13:22:29 +0000 (13:22 +0000)]
[LFC][Integration] Remove ALLOW_ coverage defines
https://bugs.webkit.org/show_bug.cgi?id=230608

Reviewed by Alan Bujtas.

They are not useful anymore.

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForChild):

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

29 hours agoREGRESSION(r282082): [GTK] Tests timeout when using xvfb after r282082
carlosgc@webkit.org [Wed, 22 Sep 2021 11:28:59 +0000 (11:28 +0000)]
REGRESSION(r282082): [GTK] Tests timeout when using xvfb after r282082
https://bugs.webkit.org/show_bug.cgi?id=230610

Reviewed by Philippe Normand.

r282082 changed the way xvfb is spawned by providing a PIPE for stdout and stderr instead of redirecting to
/dev/null. The problem is that stderr is only read in case of execution failure, so when nothing fails we end up
filling the buffer that is never read. We can try to find a better solution to show the stderr output in error
messages, but for now we can revert that part to redirect stderr to /dev/null to make the tests work again.

* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_run):
(XvfbDriver._xvfb_check_if_ready):

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

32 hours ago[Win][MSVC] REGRESSION(r282860): ClipboardItemBindingsDataSource.cpp(147): error...
Hironori.Fujii@sony.com [Wed, 22 Sep 2021 08:24:43 +0000 (08:24 +0000)]
[Win][MSVC] REGRESSION(r282860): ClipboardItemBindingsDataSource.cpp(147): error C2955: 'WTF::Ref': use of class template requires template argument list
https://bugs.webkit.org/show_bug.cgi?id=230599

Unreviewed build fix.

* Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
Conditioned out the ASSERT_UNUSED for MSVC.

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

32 hours agoTweak canvas test failure expectations to be more accurate
heycam@apple.com [Wed, 22 Sep 2021 07:55:18 +0000 (07:55 +0000)]
Tweak canvas test failure expectations to be more accurate
https://bugs.webkit.org/show_bug.cgi?id=230590

Unreviewed test gardening.

* TestExpectations:
* platform/ios-14/TestExpectations:

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

34 hours agoUse SharedMemory for transferring appended buffers from SourceBuffer to the GPU process
jya@apple.com [Wed, 22 Sep 2021 06:25:33 +0000 (06:25 +0000)]
Use SharedMemory for transferring appended buffers from SourceBuffer to the GPU process
https://bugs.webkit.org/show_bug.cgi?id=230329
rdar://problem/83291495

Source/WebCore:

Use SharedBuffer instead of Vector to pass data to the SourceBuffer's related
classes (SourceBuffer, SourceBufferPrivate and SourceBufferParser).
Modify SourceBufferParserWebM to never perform memory allocation and copy
of the original data content. Instead, we use CMBlockBuffer objects that retain the
backing SharedBuffer and use offsets inside this SharedBuffer to reference the data.
SourceBufferParserAVFObjC requires little modification as a NSData can wrap a SharedBuffer.

Reviewed by Jer Noble.

There should be no change from an observable standpoint other than the GPU memory usage
being drastically reduced (from 700MB when watching a 4K/60fps YouTube video to just over 200MB
on an iMac Pro (which only has software VP9 decoding), 25MB vs 360MB on an iPad)
Existing tests are fully exercising this new code.

* Modules/mediasource/SourceBuffer.cpp: Simplify logic around m_pendingAppendData member.
Only one appendBuffer operation can be pending at any given time otherwise appendBuffer
will throw an exception; as such, there's no need to append the data to a vector: "there can
be only one".
(WebCore::SourceBuffer::abortIfUpdating):
(WebCore::SourceBuffer::appendBufferInternal):
(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::reportExtraMemoryAllocated):
* Modules/mediasource/SourceBuffer.h:
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::create):
(WebCore::SharedBuffer::copyTo const):
(WebCore::SharedBuffer::DataSegment::data const):
(WebCore::SharedBuffer::DataSegment::size const):
* platform/SharedBuffer.h: Add new DataSegment type that takes a Provider in constructor.
A Provider provides two Function members data and size.
* platform/audio/cocoa/AudioFileReaderCocoa.cpp: The AudioFileReaderCocoa required
the CMBlockBuffer containing the compressed content to be contiguous. This is no
longer guaranteed so ensure that the CMBlockBuffer is contiguous.
(WebCore::AudioFileReader::demuxWebMData const):
(WebCore::AudioFileReader::decodeWebMData const):
* platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::append):
* platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:
(WebCore::SourceBufferParserAVFObjC::appendData):
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::append):
* platform/graphics/cocoa/SourceBufferParser.cpp:
(WebCore::SourceBufferParser::Segment::Segment):
(WebCore::SourceBufferParser::Segment::size const):
(WebCore::SourceBufferParser::Segment::read const):
(WebCore::SourceBufferParser::Segment::takeSharedBuffer):
(WebCore::SourceBufferParser::Segment::getSharedBuffer const):
* platform/graphics/cocoa/SourceBufferParser.h:
* platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::SourceBufferParserWebM::SourceBufferParserWebM):
(WebCore::SourceBufferParserWebM::TrackData::contiguousCompleteBlockBuffer const):
(WebCore::SourceBufferParserWebM::TrackData::readFrameData):
(WebCore::SourceBufferParserWebM::VideoTrackData::consumeFrameData):
(WebCore::SourceBufferParserWebM::VideoTrackData::createSampleBuffer):
(WebCore::SourceBufferParserWebM::AudioTrackData::resetCompleted):
(WebCore::SourceBufferParserWebM::AudioTrackData::consumeFrameData):
(WebCore::SourceBufferParserWebM::AudioTrackData::createSampleBuffer):
(WebCore::SourceBufferParserWebM::flushPendingAudioBuffers):
* platform/graphics/cocoa/SourceBufferParserWebM.h:
(WebCore::SourceBufferParserWebM::TrackData::resetCompleted):
(WebCore::SourceBufferParserWebM::TrackData::reset):

Source/WebCore/PAL:

Reviewed by Jer Noble.

* pal/cf/CoreMediaSoftLink.cpp:
* pal/cf/CoreMediaSoftLink.h: Add required CoreMedia methods.

Source/WebKit:

Use SharedMemory to pass SourceBuffer content to RemoteSourceBufferProxy in GPU process.
This is done by wrapping a SharedMemory into a SharedBuffer.

Reviewed by Jer Noble.

* GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::append):
* GPUProcess/media/RemoteSourceBufferProxy.h:
* GPUProcess/media/RemoteSourceBufferProxy.messages.in:
* Platform/SharedMemory.cpp:
(WebKit::SharedMemory::createSharedBuffer const):
* Platform/SharedMemory.h:
* WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::append):
* WebProcess/GPU/media/SourceBufferPrivateRemote.h:

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

35 hours ago[WebIDL] DOM constructors should extend InternalFunction
shvaikalesh@gmail.com [Wed, 22 Sep 2021 04:55:56 +0000 (04:55 +0000)]
[WebIDL] DOM constructors should extend InternalFunction
https://bugs.webkit.org/show_bug.cgi?id=228763

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Introduce finishCreation(VM&) overload to preserve the current property order of
WebIDL constructors, and to defer a large code change needed for passing through
`length` / `name` parameters (bug #230584).

* runtime/InternalFunction.cpp:
(JSC::InternalFunction::InternalFunction):
(JSC::InternalFunction::finishCreation):
* runtime/InternalFunction.h:

Source/WebCore:

This patch makes JSDOMConstructorBase a subclass of InternalFunction, aligning
DOM constructors with their ECMA-262 counterparts, which renders a few benefits.

  1. InternalFunction is way faster to call than a class with custom getCallData():
     JIT inlines InternalFunction::getCallData(), emitting a direct call into
     m_functionForConstruct. Speeds up invoking Event constructor by ~18% (1M calls).
  2. Since InternalFunction disallows its subclasses to override getCallData(),
     the presence of [[Call]] method can be inferred by JSType only. In the future,
     this invariant will allow to speed up a few bytecodes: is_callable, typeof*.
  3. InternalFunction::finishCreation() takes care of "length" / "name" properties,
     which can leveraged (in a follow-up) to align property order of WebIDL constructors
     with JSC built-ins, and also clean up bindings generator a bit (bug #230584).
  4. Using InternalFunctionType is essential to keep the `instanceof` update
     (bug #151348) performance-neutral for DOM constructors.

No new tests, no behavior change.

* bindings/js/JSDOMBuiltinConstructor.h:
(WebCore::JSDOMBuiltinConstructor<JSClass>::create):
(WebCore::JSDOMBuiltinConstructor<JSClass>::createStructure):
(WebCore::JSDOMBuiltinConstructor<JSClass>::getConstructData): Deleted.
* bindings/js/JSDOMBuiltinConstructorBase.h:
(WebCore::JSDOMBuiltinConstructorBase::JSDOMBuiltinConstructorBase):
* bindings/js/JSDOMConstructor.h:
(WebCore::JSDOMConstructor<JSClass>::create):
(WebCore::JSDOMConstructor<JSClass>::createStructure):
(WebCore::JSDOMConstructor<JSClass>::getConstructData): Deleted.
* bindings/js/JSDOMConstructorBase.cpp:
(WebCore::JSC_DEFINE_HOST_FUNCTION):
(WebCore::JSDOMConstructorBase::getCallData): Deleted.
* bindings/js/JSDOMConstructorBase.h:
(WebCore::JSDOMConstructorBase::globalObject const):
(WebCore::JSDOMConstructorBase::scriptExecutionContext const):
(WebCore::JSDOMConstructorBase::JSDOMConstructorBase):
(WebCore::JSDOMConstructorBase::createStructure): Deleted.
* bindings/js/JSDOMConstructorNotCallable.h:
(WebCore::JSDOMConstructorNotCallable::subspaceFor):
* bindings/js/JSDOMConstructorNotConstructable.h:
(WebCore::JSDOMConstructorNotConstructable<JSClass>::create):
(WebCore::JSDOMConstructorNotConstructable<JSClass>::createStructure):
* bindings/js/JSDOMConstructorWithDocument.h:
(WebCore::JSDOMConstructorWithDocument::JSDOMConstructorWithDocument):
* bindings/js/JSDOMLegacyFactoryFunction.h:
(WebCore::JSDOMLegacyFactoryFunction<JSClass>::create):
(WebCore::JSDOMLegacyFactoryFunction<JSClass>::createStructure):
(WebCore::JSDOMLegacyFactoryFunction<JSClass>::getConstructData): Deleted.
* bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSVMClientData::JSVMClientData):
* bindings/js/WebCoreJSClientData.h:
(WebCore::JSVMClientData::domNamespaceObjectSpace):
Move JSDOMConstructorNotCallable to separate IsoSubspace since it no longer shares
a common parent class with callable constructors.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorHelperMethods):
Introduce InternalFunction::finishCreation(VM&) overload and set m_originalName
directly to preserve the current property order of WebIDL constructors, and to defer
a large code change needed for passing through `length` / `name` parameters (bug #230584).

* bindings/scripts/test/JS/*: Updated.

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

36 hours agoAdd FontCreationContext
mmaxfield@apple.com [Wed, 22 Sep 2021 04:06:11 +0000 (04:06 +0000)]
Add FontCreationContext
https://bugs.webkit.org/show_bug.cgi?id=230592

Reviewed by Alan Bujtas.

We have this pattern where we pass around "const FontFeatureSettings&, const FontSelectionSpecifiedCapabilities&"
through all the various font creation routines. When I add support for font palettes and font-feature-values,
this would need to grow to 4 arguments being passed around instead of 2. Rather than passing all these arguments
around, a better idea is to encapsulate these arguments in a "context" object. This is because most places that
take these arguments don't actually inspect them, but instead just forward them on to other routines.

No new tests because there is no behavior change.

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::font):
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::load):
(WebCore::CSSFontFaceSource::font):
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::fontRangesForFamily):
* loader/FontLoadRequest.h:
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::createFont):
(WebCore::CachedFont::platformDataFromCustomData):
* loader/cache/CachedFont.h:
* loader/cache/CachedFontLoadRequest.h:
* loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::createFont):
(WebCore::CachedSVGFont::platformDataFromCustomData):
* loader/cache/CachedSVGFont.h:
* platform/graphics/Font.cpp:
(WebCore::Font::create):
* platform/graphics/FontCache.cpp:
(WebCore::operator==):
(WebCore::FontPlatformDataCacheKeyHash::hash):
(WebCore::FontCache::cachedFontPlatformData):
(WebCore::FontCache::fontForFamily):
* platform/graphics/FontCache.h:
(WebCore::FontCache::fontForFamily):
(WebCore::FontCache::cachedFontPlatformData):
(WebCore::FontCache::createFontPlatformDataForTesting):
* platform/graphics/FontCreationContext.h: Added.
(WebCore::FontCreationContext::operator== const):
(WebCore::FontCreationContext::operator!= const):
(WebCore::add):
* platform/graphics/cairo/FontCustomPlatformData.h:
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/cocoa/FontCacheCoreText.h:
* platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:
(WebCore::FontFamilySpecificationCoreText::fontRanges const):
* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/mac/FontCustomPlatformData.h:
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/win/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/FontCustomPlatformData.h:
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* workers/WorkerFontLoadRequest.cpp:
(WebCore::WorkerFontLoadRequest::createFont):
* workers/WorkerFontLoadRequest.h:

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

36 hours agoChange from ENABLE(RUBBER_BANDING) to HAVE(RUBBER_BANDING)
simon.fraser@apple.com [Wed, 22 Sep 2021 03:40:29 +0000 (03:40 +0000)]
Change from ENABLE(RUBBER_BANDING) to HAVE(RUBBER_BANDING)
https://bugs.webkit.org/show_bug.cgi?id=230583

Reviewed by Tim Horton.

RUBBER_BANDING is not a feature we'll ever turn off on macOS, and it was only ever enabled
for that platform. However, it's also used in some cross-platform code, so
HAVE(RUBBER_BANDING) makes more sense for that use.

Also remove ENABLE(RUBBER_BANDING) #ifdefs from inside PLATFORM(MAC) code.

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::isScrollable):
(WebCore::FrameView::handleWheelEventForScrolling):
* page/FrameView.h:
* page/Page.cpp:
(WebCore::Page::setUnderPageBackgroundColorOverride):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::headerLayerForFrameView):
(WebCore::ScrollingCoordinator::footerLayerForFrameView):
(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollPositionIsNotRubberbandingEdge const):
* platform/ScrollView.cpp:
(WebCore::ScrollView::paint):
* platform/ScrollableArea.h:
* platform/ScrollbarTheme.h:
* platform/ScrollingEffectsController.h:
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayerCocoa::updateCustomAppearance):
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::rubberBandingEnabledForSystem):
(WebCore::ScrollAnimatorMac::isRubberBandInProgress const):
(WebCore::ScrollAnimatorMac::immediateScrollBy):
* platform/mac/ScrollbarThemeMac.h:
* platform/mac/ScrollbarThemeMac.mm:
* platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::updateRubberBandAnimatingState):
(WebCore::ScrollingEffectsController::scrollPositionChanged):
(WebCore::ScrollingEffectsController::isRubberBandInProgress const):
(WebCore::ScrollingEffectsController::stopRubberbanding):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::~RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::rootBackgroundColorOrTransparencyChanged):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::destroyRootLayer):
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::isRubberBandInProgress const):
(WebCore::RenderLayerScrollableArea::overhangAmount const):
(WebCore::RenderLayerScrollableArea::setHasHorizontalScrollbar):
(WebCore::RenderLayerScrollableArea::setHasVerticalScrollbar):

Source/WebKit:

* Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::updateCustomAppearance):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didAddHeaderLayer):
(WebKit::WebChromeClient::didAddFooterLayer):

Source/WTF:

* Scripts/Preferences/WebPreferences.yaml:
* wtf/PlatformHave.h:

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

37 hours agoDelete dead code in FontPaletteValues
mmaxfield@apple.com [Wed, 22 Sep 2021 02:58:08 +0000 (02:58 +0000)]
Delete dead code in FontPaletteValues
https://bugs.webkit.org/show_bug.cgi?id=230586

Reviewed by Alex Christensen.

No new tests because there is no behavior change.

* platform/graphics/FontPaletteValues.h:
(WebCore::FontPaletteValues::setBasePalette): Deleted.
(WebCore::FontPaletteValues::appendOverrideColor): Deleted.
(WebCore::FontPaletteValues::clearOverrideColor): Deleted.
(WebCore::FontPaletteValues::remove): Deleted.

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

37 hours agoReduce use of makeRef() and use Ref { } instead
cdumez@apple.com [Wed, 22 Sep 2021 02:55:27 +0000 (02:55 +0000)]
Reduce use of makeRef() and use Ref { } instead
https://bugs.webkit.org/show_bug.cgi?id=230585

Reviewed by Alex Christensen.

Source/JavaScriptCore:

* debugger/Debugger.cpp:
(JSC::Debugger::setBreakpoint):
(JSC::Debugger::schedulePauseForSpecialBreakpoint):
* llint/LLIntEntrypoint.cpp:
(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
(JSC::LLInt::setModuleProgramEntrypoint):
* runtime/JSString.cpp:
(JSC::JSRopeString::resolveRopeToExistingAtomString const):
* runtime/VM.cpp:
(JSC::jitCodeForCallTrampoline):
(JSC::jitCodeForConstructTrampoline):
* wasm/WasmCodeBlock.cpp:
(JSC::Wasm::CodeBlock::CodeBlock):
* wasm/WasmOMGForOSREntryPlan.cpp:
(JSC::Wasm::OMGForOSREntryPlan::OMGForOSREntryPlan):
* wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::OMGPlan):
* wasm/WasmSignature.cpp:
(JSC::Wasm::SignatureInformation::signatureFor):
* wasm/WasmSignatureInlines.h:
(JSC::Wasm::SignatureInformation::get):
* wasm/WasmSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
* wasm/js/JSWebAssemblyInstance.h:

Source/WebCore:

* Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp:
(WebCore::ClipboardItemBindingsDataSource::collectDataForWriting):
* Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::addAll):
* Modules/cache/WorkerCacheStorageConnection.cpp:
(WebCore::WorkerCacheStorageConnection::create):
(WebCore::WorkerCacheStorageConnection::open):
(WebCore::WorkerCacheStorageConnection::remove):
(WebCore::WorkerCacheStorageConnection::retrieveCaches):
(WebCore::WorkerCacheStorageConnection::retrieveRecords):
(WebCore::WorkerCacheStorageConnection::batchDeleteOperation):
(WebCore::WorkerCacheStorageConnection::batchPutOperation):
* Modules/entriesapi/DOMFileSystem.cpp:
(WebCore::DOMFileSystem::listDirectory):
(WebCore::DOMFileSystem::getParent):
(WebCore::DOMFileSystem::getEntry):
(WebCore::DOMFileSystem::getFile):
* Modules/entriesapi/FileSystemDirectoryReader.cpp:
(WebCore::FileSystemDirectoryReader::readEntries):
* Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::bodyAsFormData const):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::iterateCursor):
(WebCore::IDBTransaction::requestPutOrAdd):
* Modules/mediasession/MediaSessionCoordinator.cpp:
(WebCore::MediaSessionCoordinator::MediaSessionCoordinator):
* Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::newDataChannel):
* Modules/mediastream/RTCRtpSFrameTransform.cpp:
(WebCore::RTCRtpSFrameTransform::initializeTransformer):
* Modules/mediastream/RTCRtpScriptTransform.cpp:
(WebCore::RTCRtpScriptTransform::create):
(WebCore::RTCRtpScriptTransform::initializeTransformer):
* Modules/mediastream/RTCRtpScriptTransformer.cpp:
(WebCore::RTCRtpScriptTransformer::writable):
(WebCore::RTCRtpScriptTransformer::start):
* Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
(WebCore::LibWebRTCDataChannelHandler::checkState):
(WebCore::LibWebRTCDataChannelHandler::OnMessage):
(WebCore::LibWebRTCDataChannelHandler::OnBufferedAmountChange):
* Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp:
(WebCore::LibWebRTCDtlsTransportBackendObserver::start):
(WebCore::LibWebRTCDtlsTransportBackendObserver::stop):
(WebCore::LibWebRTCDtlsTransportBackendObserver::OnStateChange):
(WebCore::LibWebRTCDtlsTransportBackendObserver::OnError):
* Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp:
(WebCore::LibWebRTCIceTransportBackendObserver::start):
(WebCore::LibWebRTCIceTransportBackendObserver::stop):
(WebCore::LibWebRTCIceTransportBackendObserver::onIceTransportStateChanged):
(WebCore::LibWebRTCIceTransportBackendObserver::onGatheringStateChanged):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::addPendingTrackEvent):
(WebCore::LibWebRTCMediaEndpoint::newTransceiver):
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::findExistingSender):
(WebCore::LibWebRTCPeerConnectionBackend::addTrack):
* Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp:
(WebCore::LibWebRTCSctpTransportBackendObserver::start):
(WebCore::LibWebRTCSctpTransportBackendObserver::stop):
(WebCore::LibWebRTCSctpTransportBackendObserver::OnStateChange):
* Modules/notifications/Notification.cpp:
(WebCore::Notification::requestPermission):
* Modules/speech/SpeechRecognitionResultList.cpp:
(WebCore::SpeechRecognitionResultList::add):
* Modules/webaudio/AsyncAudioDecoder.cpp:
(WebCore::AsyncAudioDecoder::DecodingTask::notifyComplete):
* Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::toWeakOrStrongContext):
* Modules/webaudio/AudioWorklet.cpp:
(WebCore::AudioWorklet::createProcessor):
* Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::Function<void):
* Modules/webdatabase/Database.cpp:
(WebCore::Database::runTransaction):
* Modules/webxr/WebXRInputSourceArray.cpp:
(WebCore::WebXRInputSourceArray::update):
* Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::requestSession):
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::getOrCreate):
* animation/DocumentTimelinesController.cpp:
(WebCore::DocumentTimelinesController::updateAnimationsAndSendEvents):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::ensureJSFunction const):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
* crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::wrapKey):
* css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::remove):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
* css/DOMCSSPaintWorklet.cpp:
(WebCore::PaintWorklet::addModule):
* css/typedom/CSSNumericValue.cpp:
(WebCore::CSSNumericValue::add):
(WebCore::CSSNumericValue::sub):
(WebCore::CSSNumericValue::mul):
(WebCore::CSSNumericValue::div):
(WebCore::CSSNumericValue::min):
(WebCore::CSSNumericValue::max):
* css/typedom/CSSStyleValueFactory.cpp:
(WebCore::CSSStyleValueFactory::reifyValue):
* css/typedom/StylePropertyMapReadOnly.cpp:
(WebCore::StylePropertyMapReadOnly::reifyValue):
* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::queueTaskToDispatchEventInternal):
(WebCore::ActiveDOMObject::queueCancellableTaskToDispatchEventInternal):
* dom/ActiveDOMObject.h:
* dom/DeviceOrientationAndMotionAccessController.cpp:
(WebCore::DeviceOrientationAndMotionAccessController::shouldAllowAccess):
* dom/Document.cpp:
(WebCore::Document::forEachMediaElement):
(WebCore::command):
* dom/Element.cpp:
(WebCore::Element::focus):
* dom/IdleCallbackController.cpp:
(WebCore::IdleCallbackController::queueTaskToStartIdlePeriod):
(WebCore::IdleCallbackController::queueTaskToInvokeIdleCallbacks):
* dom/Microtasks.cpp:
(WebCore::MicrotaskQueue::MicrotaskQueue):
* dom/MutationObserver.cpp:
(WebCore::MutationObserver::enqueueMutationRecord):
(WebCore::MutationObserver::enqueueSlotChangeEvent):
(WebCore::MutationObserver::setHasTransientRegistration):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestModuleScript):
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
* editing/Editor.cpp:
(WebCore::Editor::appliedEditing):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
(WebCore::scanForTelephoneNumbers):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::removeContentsWithSideEffects):
(WebCore::ReplacementFragment::insertFragmentForTestRendering):
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
(WebCore::ReplaceSelectionCommand::performTrivialReplace):
* editing/TextIterator.cpp:
(WebCore::plainText):
* editing/VisibleSelection.cpp:
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
* editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::attachmentForFilePath):
(WebCore::attachmentForData):
(WebCore::WebContentReader::readURL):
* editing/markup.cpp:
(WebCore::createFragmentForMarkup):
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::didFinishInsertingNode):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::updateWithTextRecognitionResult):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::forgetResourceSpecificTracks):
* html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::pushBufferToPlaceholder):
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::buildBubbleTree):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::makeXRCompatible):
* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
* inspector/InspectorFrontendAPIDispatcher.cpp:
(WebCore::InspectorFrontendAPIDispatcher::evaluateOrQueueExpression):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
(WebCore::computeResponseOriginAndCOOP):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::begin):
* loader/FrameLoadRequest.cpp:
(WebCore::FrameLoadRequest::FrameLoadRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
* loader/PingLoader.cpp:
(WebCore::PingLoader::startPingLoad):
* loader/PolicyChecker.cpp:
(WebCore::FrameLoader::PolicyChecker::checkNewWindowPolicy):
* loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::requestFrame):
(WebCore::FrameLoader::SubframeLoader::loadSubframe):
* loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::notifyIsDone):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishTiming):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
* loader/ios/LegacyPreviewLoader.mm:
(WebCore::LegacyPreviewLoader::previewConverterDidStartConverting):
* page/DOMWindowExtension.cpp:
(WebCore::DOMWindowExtension::suspendForBackForwardCache):
* page/EventHandler.cpp:
(WebCore::EventHandler::defaultWheelEventHandler):
* page/Frame.cpp:
(WebCore::Frame::addUserScriptAwaitingNotification):
* page/FrameView.cpp:
(WebCore::FrameView::didLayout):
* page/Page.cpp:
(WebCore::Page::didFinishLoadingImageForElement):
* page/PrintContext.cpp:
(WebCore::PrintContext::begin):
* page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::mouseMoved):
* page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::updateDataDetectorHighlights):
(WebCore::ImageOverlayController::elementUnderMouseDidChange):
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::createTimer):
* page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:
(WebCore::ScrollingCoordinatorNicosia::handleWheelEventForScrolling):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::framesNativeImages):
* platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::FontCascadeFonts):
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::startAsyncDecodingQueue):
* platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:
(WebCore::LocalSampleBufferDisplayLayer::enqueueSample):
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseInitializationData):
* platform/graphics/cg/GraphicsContextGLCG.cpp:
(WebCore::GraphicsContextGLOpenGL::paintToCanvas):
* platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::ImageBufferCGBackend::copyCGImageForEncoding const):
* platform/graphics/displaylists/DisplayList.h:
(WebCore::DisplayList::DisplayList::cacheImageBuffer):
(WebCore::DisplayList::DisplayList::cacheNativeImage):
(WebCore::DisplayList::DisplayList::cacheFont):
* platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::SetState::apply):
* platform/graphics/gstreamer/mse/MediaSourceTrackGStreamer.cpp:
(WebCore::MediaSourceTrackGStreamer::create):
* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcEmitStreams):
* platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::snapshotNSImage):
* platform/graphics/nicosia/NicosiaSceneIntegration.cpp:
(Nicosia::SceneIntegration::SceneIntegration):
* platform/mac/DataDetectorHighlight.mm:
(WebCore::DataDetectorHighlight::fadeOut):
* platform/mediastream/libwebrtc/gstreamer/RealtimeIncomingVideoSourceLibWebRTC.cpp:
(WebCore::RealtimeIncomingVideoSourceLibWebRTC::OnFrame):
* platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:
(WebCore::RealtimeOutgoingAudioSourceLibWebRTC::audioSamplesAvailable):
* platform/network/SocketStreamHandle.cpp:
(WebCore::SocketStreamHandle::disconnect):
* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::callClient):
* platform/network/curl/CurlResourceHandleDelegate.cpp:
(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):
* style/StyleBuilder.cpp:
(WebCore::Style::Builder::applyCustomProperty):
* style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueCustomProperty):
* style/StyleBuilderState.cpp:
(WebCore::Style::BuilderState::resolveImageStyles):
* style/StyleScope.cpp:
(WebCore::Style::Scope::createOrFindSharedShadowTreeResolver):
(WebCore::Style::Scope::collectResolverScopes):
* svg/SVGElement.cpp:
(WebCore::SVGElement::removedFromAncestor):
* testing/Internals.cpp:
(WebCore:: const):
(WebCore::Internals::queueMicroTask):
(WebCore::Internals::queueTaskToQueueMicrotask):
* testing/ServiceWorkerInternals.cpp:
(WebCore::ServiceWorkerInternals::waitForFetchEventToFinish):
* workers/Worker.cpp:
(WebCore::Worker::createRTCRtpScriptTransformer):
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::createRTCDataChannelRemoteHandlerConnection):
* workers/WorkerOrWorkletScriptController.cpp:
(WebCore::WorkerOrWorkletScriptController::loadModuleSynchronously):
(WebCore::WorkerOrWorkletScriptController::loadAndEvaluateModule):
* workers/service/FetchEvent.cpp:
(WebCore::FetchEvent::promiseIsSettled):
* workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::skipWaiting):
* workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::stopWorker):
* workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::queueTaskToFireFetchEvent):
(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
(WebCore::ServiceWorkerThread::queueTaskToFireInstallEvent):
(WebCore::ServiceWorkerThread::queueTaskToFireActivateEvent):
* workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange):
(WebCore::ServiceWorkerThreadProxy::continueDidReceiveFetchResponse):
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventWhenPossible):

Source/WTF:

* wtf/WeakPtr.h:
(WTF::WeakPtrFactory::createWeakPtr const):

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

37 hours ago[PlayStation] Unreviewed build fix (second attempt).
ross.kirsling@sony.com [Wed, 22 Sep 2021 02:37:41 +0000 (02:37 +0000)]
[PlayStation] Unreviewed build fix (second attempt).

* UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp:

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

38 hours ago[PlayStation] Unreviewed build fix.
ross.kirsling@sony.com [Wed, 22 Sep 2021 01:45:43 +0000 (01:45 +0000)]
[PlayStation] Unreviewed build fix.

* UIProcess/API/C/playstation/WKPagePrivatePlayStation.cpp:

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

39 hours ago[JSC] CompareStrictEq is omitting String check incorrectly
ysuzuki@apple.com [Wed, 22 Sep 2021 01:14:06 +0000 (01:14 +0000)]
[JSC] CompareStrictEq is omitting String check incorrectly
https://bugs.webkit.org/show_bug.cgi?id=230582
rdar://83237121

Reviewed by Mark Lam.

JSTests:

* stress/compare-strict-eq-string-check.js: Added.
(foo):
(bar):

Source/JavaScriptCore:

1. Add left and right prefixes to neitherDoubleNorHeapBigIntChild and notDoubleChild edges since
   registers are named with left and right. Without this prefix, it is hard to follow in the code.
2. Remove leftGPR and rightGPR and use leftRegs.payloadGPR() and rightRegs.payloadGPR() to avoid
   having different variables pointing to the same registers.
3. DFG needsTypeCheck is done with wrong type filters. As a result, necessary checks are omitted.
   This patch fixes that. FTL does not have the same problem.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileNeitherDoubleNorHeapBigIntToNotDoubleStrictEquality):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

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

39 hours agoRemove GenericCallback
commit-queue@webkit.org [Wed, 22 Sep 2021 00:34:47 +0000 (00:34 +0000)]
Remove GenericCallback
https://bugs.webkit.org/show_bug.cgi?id=229366

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-21
Reviewed by Chris Dumez.

It has been replaced by sendWithAsyncReply.

This last use can't really be replaced by sendWithAsyncReply because the CallbackIDs are sent, then further encoded
in RemoteLayerTreeTransaction::encode/decode which you can't really do with a CompletionHandler.  But we can replace
GenericCallback with WTF::Function.

* Shared/CallbackID.h:
* Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
* UIProcess/API/APIAttachment.h:
* UIProcess/API/APIIconLoadingClient.h:
* UIProcess/API/APIInspectorExtension.cpp:
* UIProcess/API/APIUIClient.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageCallAfterNextPresentationUpdate):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
* UIProcess/API/Cocoa/WKErrorInternal.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
(-[WKWebView _internalDoAfterNextPresentationUpdate:withoutWaitingForPainting:withoutWaitingForAnimatedResize:]):
* UIProcess/API/Cocoa/_WKInspectorExtension.mm:
* UIProcess/API/mac/WKView.mm:
(-[WKView _doAfterNextPresentationUpdate:]):
* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::takeScreenshot):
* UIProcess/Automation/mac/WebAutomationSessionMac.mm:
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
* UIProcess/Cocoa/WebViewImpl.mm:
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::dispatchAfterEnsuringDrawing):
* UIProcess/GenericCallback.h: Removed.
* UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp:
* UIProcess/Inspector/mac/WKInspectorViewController.mm:
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
* UIProcess/WebContextClient.cpp:
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebFrameProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::callAfterNextPresentationUpdate):
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessPool.cpp:
* UIProcess/WebProcessPool.h:
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::endSwipeGesture):
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView willFinishIgnoringCalloutBarFadeAfterPerformingAction]):
(-[WKContentView dragInteraction:item:willAnimateCancelWithAnimator:]):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy):
(WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing):
(WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchPresentationCallbacksAfterFlushingLayers):
* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKTextFinderClient.mm:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:

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

39 hours ago[ BigSur wk2 Debug] imported/w3c/web-platform-tests/html/rendering/replaced-elements...
ehutchison@apple.com [Wed, 22 Sep 2021 00:32:43 +0000 (00:32 +0000)]
[ BigSur wk2 Debug] imported/w3c/web-platform-tests/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-iframe-fixed.html.
https://bugs.webkit.org/show_bug.cgi?id=230588.

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

39 hours agoLaunch the new process a bit earlier when doing a COOP process-swap
cdumez@apple.com [Wed, 22 Sep 2021 00:32:09 +0000 (00:32 +0000)]
Launch the new process a bit earlier when doing a COOP process-swap
https://bugs.webkit.org/show_bug.cgi?id=230555

Reviewed by Alex Christensen.

Launch the new process a bit earlier when doing a COOP process-swap for better performance.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForResponseShared):

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

40 hours agoReduce sizeof(NetworkLoadMetrics)
commit-queue@webkit.org [Wed, 22 Sep 2021 00:27:22 +0000 (00:27 +0000)]
Reduce sizeof(NetworkLoadMetrics)
https://bugs.webkit.org/show_bug.cgi?id=226982

Patch by Alex Christensen <achristensen@webkit.org> on 2021-09-21
Reviewed by Chris Dumez.

Source/WebCore:

No change in behavior.  Just greatly reducing the size of a common structure.

We take all the members that aren't used without the inspector and move them to a new struct,
AdditionalNetworkLoadMetricsForWebInspector.  We also remove some equality comparison that
was unnecessary because it was only used for AuthenticationChallenge equality comparisons in
ResourceHandleMac.  We also use emptyMetrics() to remove a few unnecessary and hard to see
copy constructor calls.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::buildObjectForMetrics):
(WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* platform/network/AuthenticationChallengeBase.cpp:
(WebCore::AuthenticationChallengeBase::equalForWebKitLegacyChallengeComparison):
(WebCore::AuthenticationChallengeBase::compare): Deleted.
* platform/network/AuthenticationChallengeBase.h:
(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.
* platform/network/NetworkLoadMetrics.cpp: Added.
(WebCore::NetworkLoadMetrics::NetworkLoadMetrics):
(WebCore::NetworkLoadMetrics::emptyMetrics):
(WebCore::AdditionalNetworkLoadMetricsForWebInspector::isolatedCopy):
(WebCore::NetworkLoadMetrics::isolatedCopy const):
* platform/network/NetworkLoadMetrics.h:
(WebCore::NetworkLoadMetrics::encode const):
(WebCore::NetworkLoadMetrics::decode):
(WebCore::AdditionalNetworkLoadMetricsForWebInspector::encode const):
(WebCore::AdditionalNetworkLoadMetricsForWebInspector::decode):
(WebCore::NetworkLoadMetricsWithoutNonTimingData::isComplete const): Deleted.
(WebCore::NetworkLoadMetricsWithoutNonTimingData::markComplete): Deleted.
(WebCore::NetworkLoadMetrics::NetworkLoadMetrics): Deleted.
(WebCore::NetworkLoadMetrics::isolatedCopy const): Deleted.
(WebCore::NetworkLoadMetrics::operator== const): Deleted.
(WebCore::NetworkLoadMetrics::operator!= const): Deleted.
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::equalForWebKitLegacyChallengeComparison):
(WebCore::ResourceResponseBase::compare): Deleted.
* platform/network/ResourceResponseBase.h:
(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.
* platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::addExtraNetworkLoadMetrics):
* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::networkLoadMetrics):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCancellation):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedCancellation):
(WebCore::ResourceHandle::receivedRequestToPerformDefaultHandling):
(WebCore::ResourceHandle::receivedChallengeRejection):

Source/WebKit:

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::additionalNetworkLoadMetricsForWebInspector):
(WebKit::NetworkDataTaskSoup::didGetHeaders):
(WebKit::NetworkDataTaskSoup::wroteHeadersCallback):
(WebKit::NetworkDataTaskSoup::wroteBodyCallback):
(WebKit::NetworkDataTaskSoup::networkEvent):
(WebKit::NetworkDataTaskSoup::didRestart):
* Shared/WebCoreArgumentCoders.h:

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

40 hours ago[WTF] Use Int128 in MediaTime
ysuzuki@apple.com [Wed, 22 Sep 2021 00:11:35 +0000 (00:11 +0000)]
[WTF] Use Int128 in MediaTime
https://bugs.webkit.org/show_bug.cgi?id=230575

Reviewed by Eric Carlson.

Previously, __int128_t exists only in 64bit clang and GCC environments. But now
we always have Int128. Int128 is __int128_t in 64bit clang and GCC, and Int128 library
implementation in the other environments. So we always use Int128 code in MediaTime.

* wtf/MediaTime.cpp:
(WTF::MediaTime::setTimeScale):

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

40 hours agoParsing support for font-palette
mmaxfield@apple.com [Wed, 22 Sep 2021 00:04:34 +0000 (00:04 +0000)]
Parsing support for font-palette
https://bugs.webkit.org/show_bug.cgi?id=230394

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

This is being upstreamed at https://github.com/web-platform-tests/wpt/pull/30845.

* web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* web-platform-tests/css/css-fonts/parsing/font-palette-computed-expected.txt: Added.
* web-platform-tests/css/css-fonts/parsing/font-palette-computed.html: Added.
* web-platform-tests/css/css-fonts/parsing/font-palette-invalid-expected.txt: Added.
* web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html: Added.
* web-platform-tests/css/css-fonts/parsing/font-palette-valid-expected.txt: Added.
* web-platform-tests/css/css-fonts/parsing/font-palette-valid.html: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
* web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

This is a pretty straightforward parsing patch. The grammar is just
font-palette: none | normal | light | dark | <palette-identifier>.
A <palette-identifier> is a <custom-ident>.

There is a choice to make about how to represent the parsed data:
Option 1:
class None {}; class Normal {}; class Light {}; class Dark {};
class Custom { String value; };
using FontPalette = Variant<None, Normal, Light, Dark, Custom>;

or,
Option 2:
struct FontPalette {
    enum class Type { None, Normal, Light, Dark, Custom } type;
    String value;
};

Upon advice from a trusted colleague, I chose option 2.

I'm implementing parsing support for @font-palette-values in
https://bugs.webkit.org/show_bug.cgi?id=230337.

Tests: imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-computed.html
       imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-invalid.html
       imported/w3c/web-platform-tests/css/css-fonts/parsing/font-palette-valid.html

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontPaletteFromStyle):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* css/CSSProperties.json:
* css/CSSValueKeywords.in:
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontPalette):
(WebCore::CSSPropertyParser::parseSingleValue):
* platform/graphics/FontCache.h:
(WebCore::FontDescriptionKeyRareData::create):
(WebCore::FontDescriptionKeyRareData::featureSettings const):
(WebCore::FontDescriptionKeyRareData::variationSettings const):
(WebCore::FontDescriptionKeyRareData::fontPalette const):
(WebCore::FontDescriptionKeyRareData::operator== const):
(WebCore::FontDescriptionKeyRareData::FontDescriptionKeyRareData):
(WebCore::add):
(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator== const):
* platform/graphics/FontCascadeDescription.cpp:
* platform/graphics/FontCascadeDescription.h:
(WebCore::FontCascadeDescription::initialFontPalette):
* platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::FontDescription):
* platform/graphics/FontDescription.h:
(WebCore::FontDescription::fontPalette const):
(WebCore::FontDescription::setFontPalette):
(WebCore::FontDescription::operator== const):
(WebCore::FontDescription::encode const):
(WebCore::FontDescription::decode):
* platform/graphics/FontPalette.h: Added.
(WebCore::FontPaletteNone::operator== const):
(WebCore::FontPaletteNone::operator!= const):
(WebCore::add):
(WebCore::FontPaletteNormal::operator== const):
(WebCore::FontPaletteNormal::operator!= const):
(WebCore::FontPaletteLight::operator== const):
(WebCore::FontPaletteLight::operator!= const):
(WebCore::FontPaletteDark::operator== const):
(WebCore::FontPaletteDark::operator!= const):
(WebCore::FontPaletteCustom::operator== const):
(WebCore::FontPaletteCustom::operator!= const):
* style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertFontPalette):

LayoutTests:

* platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
* platform/ios/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-font-family-expected.txt:

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

40 hours ago[bmalloc] freeableMemory and footprint of Heap are completely broken
basuke.suzuki@sony.com [Wed, 22 Sep 2021 00:00:07 +0000 (00:00 +0000)]
[bmalloc] freeableMemory and footprint of Heap are completely broken
https://bugs.webkit.org/show_bug.cgi?id=230245

Reviewed by Geoffrey Garen.

This introduced in r279922. The physical size of the newly allocated range was changed from zero
to the size of the range on that commit and that causes the numbers wrong. That change itself is
correct fix because the range has physical pages attached. That simply activated the bug which was
there for a long time.

I've added the correction to adjust both numbers with newly allocated region. Also added assertion
to check the overflow of those values and the option to log those value change to the console.

Fortunately those numbers are used for debugging purpose. Scavenger will dump out those to stderr
with its verbose mode. There's no practical cases affected by this bug.

Here is the example of footprint logging before fixing the bug:

        >>> footprint: 18446744073709535232 (-16384) scavenge
        footprint: 18446744073709518848 (-16384) scavenge
        footprint: 18446744073709502464 (-16384) scavenge
        footprint: 18446744073709486080 (-16384) scavenge
        footprint: 18446744073709469696 (-16384) scavenge
        footprint: 18446744073709453312 (-16384) scavenge
        ...

It just began with negative number which overflows on unsigned. And following is the one with fix:

        footprint: 1048576 (1048576) allocateLarge
        footprint: 2097152 (1048576) allocateLarge
        footprint: 3145728 (1048576) allocateLarge
        footprint: 4194304 (1048576) allocateLarge
        footprint: 5242880 (1048576) allocateLarge
        footprint: 6291456 (1048576) allocateLarge
        >>> footprint: 6275072 (-16384) scavenge
        footprint: 6258688 (-16384) scavenge
        footprint: 6242304 (-16384) scavenge
        footprint: 6225920 (-16384) scavenge
        footprint: 6209536 (-16384) scavenge
        footprint: 6193152 (-16384) scavenge
        ...

* bmalloc/Heap.cpp:
(bmalloc::Heap::adjustStat):
(bmalloc::Heap::logStat):
(bmalloc::Heap::adjustFreeableMemory):
(bmalloc::Heap::adjustFootprint):
(bmalloc::Heap::decommitLargeRange):
(bmalloc::Heap::scavenge):
(bmalloc::Heap::allocateSmallChunk):
(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):
(bmalloc::Heap::externalCommit):
(bmalloc::Heap::externalDecommit):
* bmalloc/Heap.h:

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

40 hours agoFollow-up: WebKit::WebProcessPool should use a weak observer with CFNotificationCenter
ddkilzer@apple.com [Tue, 21 Sep 2021 23:35:41 +0000 (23:35 +0000)]
Follow-up: WebKit::WebProcessPool should use a weak observer with CFNotificationCenter
<https://webkit.org/b/230227>
<rdar://problem/83067708>

Reviewed by Tim Horton.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerNotificationObservers):
- Set m_weakObserver for all platforms at the beginning of the
  method.  Previously it was only set for macOS.

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

41 hours agoDrop makeRefPtr() and use RefPtr { } directly instead
cdumez@apple.com [Tue, 21 Sep 2021 23:03:37 +0000 (23:03 +0000)]
Drop makeRefPtr() and use RefPtr { } directly instead
https://bugs.webkit.org/show_bug.cgi?id=230564

Reviewed by Alex Christensen.

Source/WebKit:

* GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists):
(WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList):
* NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::addConnection):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
* Platform/IPC/Connection.cpp:
(IPC::Connection::MessagesThrottler::scheduleMessagesDispatch):
* Shared/WebHitTestResultData.cpp:
(WebKit::WebHitTestResultData::WebHitTestResultData):
* Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
(WebKit::MediaFormatReader::parseByteSource):
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewCreateNewPage):
* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::setWindowFrameOfBrowsingContext):
(WebKit::WebAutomationSession::maximizeWindowOfBrowsingContext):
(WebKit::WebAutomationSession::hideWindowOfBrowsingContext):
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::runOpenPanel):
(WebKit::UIDelegate::UIClient::requestPointerLock):
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::scheduleActivityStateUpdate):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(-[WKProcessPoolWeakObserver pool]):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::terminateUnresponsiveServiceWorkerProcesses):
* UIProcess/WebContextMenuProxy.cpp:
(WebKit::WebContextMenuProxy::useContextMenuItems):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handlePreventableTouchEvent):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::runModalJavaScriptDialog):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigation):
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::insertOrUpdateQuickLookImageItem):
* WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::waitForDidCreateImageBufferBackend):
(WebKit::RemoteRenderingBackendProxy::waitForDidFlush):
(WebKit::RemoteRenderingBackendProxy::findReusableDisplayListHandle):
* WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::prepareForPlayback):
(WebKit::MediaPlayerPrivateRemote::load):
(WebKit::MediaPlayerPrivateRemote::networkStateChanged):
(WebKit::MediaPlayerPrivateRemote::setReadyState):
(WebKit::MediaPlayerPrivateRemote::readyStateChanged):
(WebKit::MediaPlayerPrivateRemote::volumeChanged):
(WebKit::MediaPlayerPrivateRemote::muteChanged):
(WebKit::MediaPlayerPrivateRemote::timeChanged):
(WebKit::MediaPlayerPrivateRemote::durationChanged):
(WebKit::MediaPlayerPrivateRemote::rateChanged):
(WebKit::MediaPlayerPrivateRemote::playbackStateChanged):
(WebKit::MediaPlayerPrivateRemote::engineFailedToLoad):
(WebKit::MediaPlayerPrivateRemote::characteristicChanged):
(WebKit::MediaPlayerPrivateRemote::sizeChanged):
(WebKit::MediaPlayerPrivateRemote::firstVideoFrameAvailable):
(WebKit::MediaPlayerPrivateRemote::renderingModeChanged):
(WebKit::MediaPlayerPrivateRemote::acceleratedRenderingStateChanged):
(WebKit::MediaPlayerPrivateRemote::addRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::removeRemoteVideoTrack):
(WebKit::MediaPlayerPrivateRemote::currentPlaybackTargetIsWirelessChanged):
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):
(WebKit::MediaPlayerPrivateRemote::waitingForKeyChanged):
(WebKit::MediaPlayerPrivateRemote::initializationDataEncountered):
(WebKit::MediaPlayerPrivateRemote::resourceNotSupported):
(WebKit::MediaPlayerPrivateRemote::activeSourceBuffersChanged):
(WebKit::MediaPlayerPrivateRemote::getRawCookies const):
* WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::startRecording):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::renderedImage):
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::didDestroyNotification):
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::findStringMatches):
* WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPCSemaphore::signal):
(WebKit::IPCTestingAPI::JSIPCSemaphore::waitFor):
(WebKit::IPCTestingAPI::JSSharedMemory::readBytes):
(WebKit::IPCTestingAPI::JSSharedMemory::writeBytes):
(WebKit::IPCTestingAPI::JSIPC::addMessageListener):
(WebKit::IPCTestingAPI::encodeRemoteRenderingBackendCreationParameters):
(WebKit::IPCTestingAPI::encodeSharedMemory):
(WebKit::IPCTestingAPI::encodeSemaphore):
(WebKit::IPCTestingAPI::encodeArgument):
(WebKit::IPCTestingAPI::JSIPC::sendMessage):
(WebKit::IPCTestingAPI::JSIPC::sendSyncMessage):
(WebKit::IPCTestingAPI::JSIPC::vmPageSize):
* WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::addCommitHandlers):
* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::computeTextLegibilityScales):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPage::getContentsAsString):
(WebKit::WebPage::removeDataDetectedLinks):
(WebKit::WebPage::detectDataInAllFrames):
(WebKit::WebPage::startTextManipulations):
(WebKit::WebPage::completeTextManipulation):
(WebKit::WebPage::requestTextRecognition):
(WebKit::WebPage::updateWithTextRecognitionResult):
(WebKit::WebPage::createAppHighlightInSelectedRange):
(WebKit::WebPage::setAppHighlightsVisibility):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPlatformEditorState const):
(WebKit::insideImageOverlay):
(WebKit::expandForImageOverlay):
(WebKit::rangeForPointInRootViewCoordinates):
(WebKit::WebPage::rootViewBounds):
(WebKit::WebPage::absoluteInteractionBounds):
(WebKit::WebPage::rootViewInteractionBounds):
(WebKit::WebPage::requestEvasionRectsAboveSelection):
(WebKit::dataDetectorImageOverlayPositionInformation):
(WebKit::selectionPositionInformation):
(WebKit::populateCaretContext):
(WebKit::WebPage::positionInformation):
(WebKit::WebPage::performActionOnElement):
(WebKit::WebPage::shrinkToFitContent):
(WebKit::WebPage::updateVisibleContentRects):
(WebKit::WebPage::updateSelectionWithDelta):
(WebKit::WebPage::requestDocumentEditingContext):
(WebKit::WebPage::animationDidFinishForElement):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::addCommitHandlers):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):

Source/WebKitLegacy/mac:

* DOM/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::declareAndWriteDragImage):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]):
(-[WebHTMLRepresentation controlsInForm:]):
* WebView/WebView.mm:
(-[WebView updateTextTouchBar]):

Source/WTF:

* wtf/RefPtr.h:

Tools:

* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):

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

41 hours agoRemove XSS Auditor: Part 2 (Remove engine support)
bfulgham@apple.com [Tue, 21 Sep 2021 23:02:16 +0000 (23:02 +0000)]
Remove XSS Auditor: Part 2 (Remove engine support)
https://bugs.webkit.org/show_bug.cgi?id=230499
<rdar://problem/83318883>

Reviewed by Yusuke Suzuki.

This patch removes the implementation of the XSS Auditor from the engine, but leave the API in place so that
client software doesn't see any change in interface.

Source/WebCore:

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::pumpTokenizerLoop):
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLToken.h:
(WebCore::HTMLToken::attributes const):
(WebCore::HTMLToken::eraseValueOfAttribute): Deleted.
* html/parser/XSSAuditor.cpp: Removed.
* html/parser/XSSAuditor.h: Removed.
* html/parser/XSSAuditorDelegate.cpp: Removed.
* html/parser/XSSAuditorDelegate.h: Removed.
* loader/PingLoader.cpp:
(WebCore::PingLoader::sendViolationReport):
* loader/PingLoader.h:

LayoutTests:

* fast/frames/xss-auditor-handles-file-urls-expected.txt: Removed.
* fast/frames/xss-auditor-handles-file-urls.html: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location.html: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt: Removed.
* http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: Removed.
* http/tests/security/xssAuditor/base-href-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-control-char.html: Removed.
* http/tests/security/xssAuditor/base-href-direct-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-direct.html: Removed.
* http/tests/security/xssAuditor/base-href-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-null-char.html: Removed.
* http/tests/security/xssAuditor/base-href-safe-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-safe.html: Removed.
* http/tests/security/xssAuditor/base-href-safe2-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-safe2.html: Removed.
* http/tests/security/xssAuditor/base-href-safe3-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-safe3.html: Removed.
* http/tests/security/xssAuditor/base-href-scheme-relative-expected.txt: Removed.
* http/tests/security/xssAuditor/base-href-scheme-relative.html: Removed.
* http/tests/security/xssAuditor/base-href.html: Removed.
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt: Removed.
* http/tests/security/xssAuditor/block-does-not-leak-location.html: Removed.
* http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt: Removed.
* http/tests/security/xssAuditor/block-does-not-leak-referrer.html: Removed.
* http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url-expected.txt: Removed.
* http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: Removed.
* http/tests/security/xssAuditor/cached-frame-expected.txt: Removed.
* http/tests/security/xssAuditor/cached-frame.html: Removed.
* http/tests/security/xssAuditor/cookie-injection-expected.txt: Removed.
* http/tests/security/xssAuditor/cookie-injection.html: Removed.
* http/tests/security/xssAuditor/crash-while-loading-tag-with-pause-expected.txt: Removed.
* http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: Removed.
* http/tests/security/xssAuditor/data-urls-work-expected.txt: Removed.
* http/tests/security/xssAuditor/data-urls-work.html: Removed.
* http/tests/security/xssAuditor/dom-write-URL-expected.txt: Removed.
* http/tests/security/xssAuditor/dom-write-URL.html: Removed.
* http/tests/security/xssAuditor/dom-write-innerHTML-expected.txt: Removed.
* http/tests/security/xssAuditor/dom-write-innerHTML.html: Removed.
* http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror-expected.txt: Removed.
* http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: Removed.
* http/tests/security/xssAuditor/dom-write-location-expected.txt: Removed.
* http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt: Removed.
* http/tests/security/xssAuditor/dom-write-location-inline-event.html: Removed.
* http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt: Removed.
* http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: Removed.
* http/tests/security/xssAuditor/dom-write-location-open-img-onerror-expected.txt: Removed.
* http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: Removed.
* http/tests/security/xssAuditor/dom-write-location.html: Removed.
* http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt: Removed.
* http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: Removed.
* http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt: Removed.
* http/tests/security/xssAuditor/embed-tag-code-attribute.html: Removed.
* http/tests/security/xssAuditor/embed-tag-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/embed-tag-control-char.html: Removed.
* http/tests/security/xssAuditor/embed-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/embed-tag-in-path-unterminated-expected.txt: Removed.
* http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: Removed.
* http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt: Removed.
* http/tests/security/xssAuditor/embed-tag-javascript-url.html: Removed.
* http/tests/security/xssAuditor/embed-tag-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/embed-tag-null-char.html: Removed.
* http/tests/security/xssAuditor/embed-tag.html: Removed.
* http/tests/security/xssAuditor/faux-script1-expected.txt: Removed.
* http/tests/security/xssAuditor/faux-script1.html: Removed.
* http/tests/security/xssAuditor/faux-script2-expected.txt: Removed.
* http/tests/security/xssAuditor/faux-script2.html: Removed.
* http/tests/security/xssAuditor/faux-script3-expected.txt: Removed.
* http/tests/security/xssAuditor/faux-script3.html: Removed.
* http/tests/security/xssAuditor/form-action-expected.txt: Removed.
* http/tests/security/xssAuditor/form-action.html: Removed.
* http/tests/security/xssAuditor/formaction-on-button-expected.txt: Removed.
* http/tests/security/xssAuditor/formaction-on-button.html: Removed.
* http/tests/security/xssAuditor/formaction-on-input-expected.txt: Removed.
* http/tests/security/xssAuditor/formaction-on-input.html: Removed.
* http/tests/security/xssAuditor/frameset-injection-expected.txt: Removed.
* http/tests/security/xssAuditor/frameset-injection.html: Removed.
* http/tests/security/xssAuditor/full-block-base-href-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-base-href.html: Removed.
* http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-get-from-iframe.html: Removed.
* http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: Removed.
* http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-iframe-no-inherit.py: Removed.
* http/tests/security/xssAuditor/full-block-javascript-link-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-javascript-link.html: Removed.
* http/tests/security/xssAuditor/full-block-link-onclick-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-link-onclick.html: Removed.
* http/tests/security/xssAuditor/full-block-object-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-object-tag.html: Removed.
* http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-post-from-iframe.html: Removed.
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: Removed.
* http/tests/security/xssAuditor/full-block-script-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt: Removed.
* http/tests/security/xssAuditor/full-block-script-tag-with-source.html: Removed.
* http/tests/security/xssAuditor/full-block-script-tag.html: Removed.
* http/tests/security/xssAuditor/get-from-iframe-expected.txt: Removed.
* http/tests/security/xssAuditor/get-from-iframe.html: Removed.
* http/tests/security/xssAuditor/iframe-injection-allowed-2-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-injection-allowed-2.html: Removed.
* http/tests/security/xssAuditor/iframe-injection-allowed-3-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-injection-allowed-3.html: Removed.
* http/tests/security/xssAuditor/iframe-injection-allowed-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-injection-allowed.html: Removed.
* http/tests/security/xssAuditor/iframe-injection-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-injection.html: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: Removed.
* http/tests/security/xssAuditor/iframe-javascript-url.html: Removed.
* http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-onload-GBK-char.html: Removed.
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: Removed.
* http/tests/security/xssAuditor/iframe-srcdoc-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-srcdoc-property-blocked-expected.txt: Removed.
* http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: Removed.
* http/tests/security/xssAuditor/iframe-srcdoc.html: Removed.
* http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt: Removed.
* http/tests/security/xssAuditor/img-onerror-GBK-char.html: Removed.
* http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt: Removed.
* http/tests/security/xssAuditor/img-onerror-accented-char.html: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding-expected.txt: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding-expected.txt: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt: Removed.
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: Removed.
* http/tests/security/xssAuditor/img-onerror-tricky-expected.txt: Removed.
* http/tests/security/xssAuditor/img-onerror-tricky.html: Removed.
* http/tests/security/xssAuditor/img-tag-with-comma-expected.txt: Removed.
* http/tests/security/xssAuditor/img-tag-with-comma.html: Removed.
* http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt: Removed.
* http/tests/security/xssAuditor/inline-event-HTML-entities.html: Removed.
* http/tests/security/xssAuditor/intercept/.htaccess: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities-named-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: Removed.
* http/tests/security/xssAuditor/javascript-link-HTML-entities.html: Removed.
* http/tests/security/xssAuditor/javascript-link-ampersand-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-ampersand.html: Removed.
* http/tests/security/xssAuditor/javascript-link-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-control-char.html: Removed.
* http/tests/security/xssAuditor/javascript-link-control-char2-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-control-char2.html: Removed.
* http/tests/security/xssAuditor/javascript-link-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-null-char.html: Removed.
* http/tests/security/xssAuditor/javascript-link-one-plus-one-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-one-plus-one.html: Removed.
* http/tests/security/xssAuditor/javascript-link-safe-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-safe.html: Removed.
* http/tests/security/xssAuditor/javascript-link-url-encoded-expected.txt: Removed.
* http/tests/security/xssAuditor/javascript-link-url-encoded.html: Removed.
* http/tests/security/xssAuditor/javascript-link.html: Removed.
* http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt: Removed.
* http/tests/security/xssAuditor/link-onclick-ampersand.html: Removed.
* http/tests/security/xssAuditor/link-onclick-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/link-onclick-control-char.html: Removed.
* http/tests/security/xssAuditor/link-onclick-entities-expected.txt: Removed.
* http/tests/security/xssAuditor/link-onclick-entities.html: Removed.
* http/tests/security/xssAuditor/link-onclick-expected.txt: Removed.
* http/tests/security/xssAuditor/link-onclick-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/link-onclick-null-char.html: Removed.
* http/tests/security/xssAuditor/link-onclick.html: Removed.
* http/tests/security/xssAuditor/link-opens-new-window-expected.txt: Removed.
* http/tests/security/xssAuditor/link-opens-new-window.html: Removed.
* http/tests/security/xssAuditor/malformed-HTML-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-HTML.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt: Removed.
* http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: Removed.
* http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url-expected.txt: Removed.
* http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: Removed.
* http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored-expected.txt: Removed.
* http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: Removed.
* http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror-expected.txt: Removed.
* http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: Removed.
* http/tests/security/xssAuditor/no-protection-script-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/no-protection-script-tag.html: Removed.
* http/tests/security/xssAuditor/non-block-javascript-url-frame-expected.txt: Removed.
* http/tests/security/xssAuditor/non-block-javascript-url-frame.html: Removed.
* http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/object-embed-tag-control-char.html: Removed.
* http/tests/security/xssAuditor/object-embed-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/object-embed-tag-null-char.html: Removed.
* http/tests/security/xssAuditor/object-embed-tag.html: Removed.
* http/tests/security/xssAuditor/object-src-inject-expected.txt: Removed.
* http/tests/security/xssAuditor/object-src-inject.html: Removed.
* http/tests/security/xssAuditor/object-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt: Removed.
* http/tests/security/xssAuditor/object-tag-javascript-url.html: Removed.
* http/tests/security/xssAuditor/object-tag.html: Removed.
* http/tests/security/xssAuditor/open-attribute-body-expected.txt: Removed.
* http/tests/security/xssAuditor/open-attribute-body.html: Removed.
* http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt: Removed.
* http/tests/security/xssAuditor/open-event-handler-iframe.html: Removed.
* http/tests/security/xssAuditor/open-iframe-src-01-expected.txt: Removed.
* http/tests/security/xssAuditor/open-iframe-src-01.html: Removed.
* http/tests/security/xssAuditor/open-iframe-src-02-expected.txt: Removed.
* http/tests/security/xssAuditor/open-iframe-src-02.html: Removed.
* http/tests/security/xssAuditor/open-iframe-src-03-expected.txt: Removed.
* http/tests/security/xssAuditor/open-iframe-src-03.html: Removed.
* http/tests/security/xssAuditor/open-script-src-01-expected.txt: Removed.
* http/tests/security/xssAuditor/open-script-src-01.html: Removed.
* http/tests/security/xssAuditor/open-script-src-02-expected.txt: Removed.
* http/tests/security/xssAuditor/open-script-src-02.html: Removed.
* http/tests/security/xssAuditor/open-script-src-03-expected.txt: Removed.
* http/tests/security/xssAuditor/open-script-src-03.html: Removed.
* http/tests/security/xssAuditor/open-script-src-04-expected.txt: Removed.
* http/tests/security/xssAuditor/open-script-src-04.html: Removed.
* http/tests/security/xssAuditor/post-from-iframe-expected.txt: Removed.
* http/tests/security/xssAuditor/post-from-iframe.html: Removed.
* http/tests/security/xssAuditor/property-escape-comment-01-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-comment-01.html: Removed.
* http/tests/security/xssAuditor/property-escape-comment-02-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-comment-02.html: Removed.
* http/tests/security/xssAuditor/property-escape-comment-03-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-comment-03.html: Removed.
* http/tests/security/xssAuditor/property-escape-entity-01-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-entity-01.html: Removed.
* http/tests/security/xssAuditor/property-escape-entity-02-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-entity-02.html: Removed.
* http/tests/security/xssAuditor/property-escape-entity-03-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-entity-03.html: Removed.
* http/tests/security/xssAuditor/property-escape-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-long-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-long.html: Removed.
* http/tests/security/xssAuditor/property-escape-noquotes-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: Removed.
* http/tests/security/xssAuditor/property-escape-noquotes.html: Removed.
* http/tests/security/xssAuditor/property-escape-quote-01-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-quote-01.html: Removed.
* http/tests/security/xssAuditor/property-escape-quote-02-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-quote-02.html: Removed.
* http/tests/security/xssAuditor/property-escape-quote-03-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-quote-03.html: Removed.
* http/tests/security/xssAuditor/property-escape.html: Removed.
* http/tests/security/xssAuditor/property-inject-expected.txt: Removed.
* http/tests/security/xssAuditor/property-inject.html: Removed.
* http/tests/security/xssAuditor/reflection-in-path-expected.txt: Removed.
* http/tests/security/xssAuditor/reflection-in-path.html: Removed.
* http/tests/security/xssAuditor/regress-167121-expected.txt: Removed.
* http/tests/security/xssAuditor/regress-167121.html: Removed.
* http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report-expected.txt: Removed.
* http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: Removed.
* http/tests/security/xssAuditor/report-script-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report-expected.txt: Removed.
* http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: Removed.
* http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt: Removed.
* http/tests/security/xssAuditor/report-script-tag-full-block.html: Removed.
* http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt: Removed.
* http/tests/security/xssAuditor/report-script-tag-replace-state.html: Removed.
* http/tests/security/xssAuditor/report-script-tag.html: Removed.
* http/tests/security/xssAuditor/resources/anchor-url-dom-write-location-click.html: Removed.
* http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: Removed.
* http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: Removed.
* http/tests/security/xssAuditor/resources/base-href/really-safe-script.js: Removed.
* http/tests/security/xssAuditor/resources/base-href/safe-script.js: Removed.
* http/tests/security/xssAuditor/resources/echo-dom-write-URL.html: Removed.
* http/tests/security/xssAuditor/resources/echo-dom-write-innerHTML.html: Removed.
* http/tests/security/xssAuditor/resources/echo-dom-write-location.html: Removed.
* http/tests/security/xssAuditor/resources/echo-dom-write-unescaped-location.html: Removed.
* http/tests/security/xssAuditor/resources/echo-form-action.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-frame-src.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-head-base-href-direct.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-head-base-href.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-head.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-inner-tag.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-inspan.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-intertag-addslashes.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-intertag-click-and-notify.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-intertag-decode-16bit-unicode.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-intertag-default-encode.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-intertag.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-nested-dom-write-location.html: Removed.
* http/tests/security/xssAuditor/resources/echo-object-src.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-property-noquotes.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-property.pl: Removed.
* http/tests/security/xssAuditor/resources/echo-script-src.pl: Removed.
* http/tests/security/xssAuditor/resources/javascript-link-safe.html: Removed.
* http/tests/security/xssAuditor/resources/nph-cached.pl: Removed.
* http/tests/security/xssAuditor/resources/safe-script-noquotes.js: Removed.
* http/tests/security/xssAuditor/resources/safe-script.js: Removed.
* http/tests/security/xssAuditor/resources/script-tag-safe2.html: Removed.
* http/tests/security/xssAuditor/resources/script-tag-safe3.html: Removed.
* http/tests/security/xssAuditor/resources/script-tag-safe4-frame.html: Removed.
* http/tests/security/xssAuditor/resources/tag-with-pause.py: Removed.
* http/tests/security/xssAuditor/resources/utilities.js: Removed.
* http/tests/security/xssAuditor/resources/xss-filter-bypass-long-string-reply.html: Removed.
* http/tests/security/xssAuditor/resources/xss.js: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-Big5-char2.html: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-backslash-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-double-quote-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-single-quote-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: Removed.
* http/tests/security/xssAuditor/script-tag-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-control-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-convoluted-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-convoluted.html: Removed.
* http/tests/security/xssAuditor/script-tag-entities-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-entities.html: Removed.
* http/tests/security/xssAuditor/script-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-expression-follows.html: Removed.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: Removed.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: Removed.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: Removed.
* http/tests/security/xssAuditor/script-tag-near-start-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-near-start.html: Removed.
* http/tests/security/xssAuditor/script-tag-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-null-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-open-redirect.html: Removed.
* http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-post-control-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-post-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-post-null-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-post.html: Removed.
* http/tests/security/xssAuditor/script-tag-redirect-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-redirect.html: Removed.
* http/tests/security/xssAuditor/script-tag-safe-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-safe.html: Removed.
* http/tests/security/xssAuditor/script-tag-safe2-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-safe2.html: Removed.
* http/tests/security/xssAuditor/script-tag-safe3-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-safe3.html: Removed.
* http/tests/security/xssAuditor/script-tag-safe4-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-safe4.html: Removed.
* http/tests/security/xssAuditor/script-tag-src-redirect-safe-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode2-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode3-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode4-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-actual-comma.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-callbacks.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-comma-01.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-comma-02.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-injected-comment-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-injected-comment.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-control-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url4-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url5-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-entities.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-null-char.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-same-host-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-same-host.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: Removed.
* http/tests/security/xssAuditor/script-tag.html: Removed.
* http/tests/security/xssAuditor/svg-animate-expected.txt: Removed.
* http/tests/security/xssAuditor/svg-animate.html: Removed.
* http/tests/security/xssAuditor/svg-script-tag-expected.txt: Removed.
* http/tests/security/xssAuditor/svg-script-tag.html: Removed.
* http/tests/security/xssAuditor/window-open-without-url-should-not-assert-expected.txt: Removed.
* http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: Removed.
* http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt: Removed.
* http/tests/security/xssAuditor/xss-filter-bypass-big5.html: Removed.
* http/tests/security/xssAuditor/xss-filter-bypass-long-string-expected.txt: Removed.
* http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: Removed.
* http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt: Removed.
* http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-01.html: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-02.html: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-03.html: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt: Removed.
* http/tests/security/xssAuditor/xss-protection-parsing-04.html: Removed.
* platform/gtk/TestExpectations:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-wk1/TestExpectations:
* platform/win/TestExpectations:

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

41 hours ago[GLIB] Update test expectations for newly passing tests.
commit-queue@webkit.org [Tue, 21 Sep 2021 22:45:40 +0000 (22:45 +0000)]
[GLIB] Update test expectations for newly passing tests.
https://bugs.webkit.org/show_bug.cgi?id=230577

Unreviewed test gardening.

Patch by Arcady Goldmints-Orlov <agoldmints@igalia.com> on 2021-09-21

* platform/glib/TestExpectations:
* platform/gtk/TestExpectations:

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

41 hours agoRemove unused selection parameter.
megan_gardner@apple.com [Tue, 21 Sep 2021 22:43:35 +0000 (22:43 +0000)]
Remove unused selection parameter.
https://bugs.webkit.org/show_bug.cgi?id=230519

Reviewed by Wenson Hsieh.

The direction of movement of the selection is not actually used to determine which direction to extend to a
word boundary, so do not pass it in. In preparation of being able to condense these enums into one.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::rangeAtWordBoundaryForPosition):
(WebKit::WebPage::updateSelectionWithTouches):

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

42 hours agoRename {checked,dynamic}_ns_cast<> to {checked,dynamic}_objc_cast<>
ddkilzer@apple.com [Tue, 21 Sep 2021 22:13:24 +0000 (22:13 +0000)]
Rename {checked,dynamic}_ns_cast<> to {checked,dynamic}_objc_cast<>
<https://webkit.org/b/230508>
<rdar://problem/83323145>

Reviewed by Brent Fulgham.

Source/WebCore:

* Modules/applepay/PaymentInstallmentConfiguration.mm:
* Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm:
- Also fix *SoftLink.h header order.
* platform/graphics/cocoa/WebCoreCALayerExtras.mm:
* platform/mac/BlocklistUpdater.mm:
* rendering/RenderThemeIOS.mm:
- Import <wtf/cocoa/TypeCastsCocoa.h> for future move of
  WTF::dynamic_objc_cast<> from RetainPtr.h to that header.

Source/WebKit:

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::extractWebProcessPool):
- Update for rename.

* Shared/Cocoa/ArgumentCodersCocoa.mm:
* Shared/mac/ObjCObjectGraph.mm:
* UIProcess/API/Cocoa/NSAttributedString.mm:
* UIProcess/Cocoa/MediaPermissionUtilities.mm:
- Also fix *SoftLink.h header order.
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
* UIProcess/ios/WKContentViewInteraction.mm:
* WebProcess/cocoa/WebProcessCocoa.mm:
- Import <wtf/cocoa/TypeCastsCocoa.h> for future move of
  WTF::dynamic_objc_cast<> from RetainPtr.h to that header.

Source/WebKitLegacy/mac:

* WebCoreSupport/WebDragClient.mm:
* WebView/WebHTMLView.mm:
- Import <wtf/cocoa/TypeCastsCocoa.h> for future move of
  WTF::dynamic_objc_cast<> from RetainPtr.h to that header.

Source/WTF:

* WTF.xcodeproj/project.pbxproj:
* wtf/PlatformMac.cmake:
- Update for rename of TypeCastsNS.h to TypeCastsCocoa.h.

* wtf/RetainPtr.h:
(WTF::dynamic_objc_cast):
- Move dynamic_ns_cast<> from TypeCastsNS.h to here.
- Remove `using` statements to limit Objective-C types without
  asterisks to match RetainPtr<>.
* wtf/cocoa/TypeCastsCocoa.h: Rename from TypeCastsNS.h.
(WTF::checked_objc_cast):
(WTF::dynamic_objc_cast):
- Do the rename.
- Remove "using WTF::dynamic_ns_cast;" instead of renaming it
  since this is already in RetainPtr.h.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Update for rename of TypeCastsNS.h to TypeCastsCocoa.h.
* TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm: Rename from TypeCastsNS.mm.
(TestWebKitAPI::TEST):
- Update for rename.

* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
- Import <wtf/cocoa/TypeCastsCocoa.h> for future move of
  WTF::dynamic_objc_cast<> from RetainPtr.h to that header.

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

42 hours agoREGRESSION(241918@main): [WPE][GTK] New test is timing out on bots
commit-queue@webkit.org [Tue, 21 Sep 2021 21:43:21 +0000 (21:43 +0000)]
REGRESSION(241918@main): [WPE][GTK] New test is timing out on bots
https://bugs.webkit.org/show_bug.cgi?id=230556

Patch by Michael Catanzaro <mcatanzaro@gnome.org> on 2021-09-21
Reviewed by Alex Christensen.

Switch WebKitWebContext to use both ResourceLoaderIdentifier and WebPageProxyIdentifier as
the key for tracking outstanding tasks, since the ResourceLoaderIdentifier is not unique.

Rename WebURLSchemeTask::identifier to WebURLSchemeTask::resourceLoaderID because this is
really only one component of the ID for the WebURLSchemeTask, and cannot be used on its own
to identify the WebURLSchemeTask. It must always be paired with the WebPageProxyIdentifier.

This fixes WPE/GTK TestWebKitWebContext /webkit/WebKitWebContext/uri-scheme

* UIProcess/API/glib/WebKitWebContext.cpp:
* UIProcess/WebURLSchemeHandler.cpp:
(WebKit::WebURLSchemeHandler::taskCompleted):
* UIProcess/WebURLSchemeTask.cpp:
(WebKit::WebURLSchemeTask::WebURLSchemeTask):
(WebKit::WebURLSchemeTask::willPerformRedirection):
(WebKit::WebURLSchemeTask::didPerformRedirection):
(WebKit::WebURLSchemeTask::didReceiveResponse):
(WebKit::WebURLSchemeTask::didReceiveData):
(WebKit::WebURLSchemeTask::didComplete):
* UIProcess/WebURLSchemeTask.h:
(WebKit::WebURLSchemeTask::resourceLoaderID const):
(WebKit::WebURLSchemeTask::identifier const): Deleted.

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

43 hours ago[Mac Catalyst] Fix build issue
pvollan@apple.com [Tue, 21 Sep 2021 21:29:31 +0000 (21:29 +0000)]
[Mac Catalyst] Fix build issue
https://bugs.webkit.org/show_bug.cgi?id=230567
<rdar://83314629>

Unreviewed follow-up fix after <https://commits.webkit.org/241966@main>.

Fix an incorrect define check.

* pal/spi/cocoa/LaunchServicesSPI.h:

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

43 hours agoRemove preference write access to AX media domain
pvollan@apple.com [Tue, 21 Sep 2021 21:09:30 +0000 (21:09 +0000)]
Remove preference write access to AX media domain
https://bugs.webkit.org/show_bug.cgi?id=230574
<rdar://58899152>

Reviewed by Brent Fulgham.

This has been brokered to the UI process, so there should no longer be any need to write to the AX media domain in WebKit processes.

* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

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

43 hours ago[PlayStation][MiniBrowser] Remove WebKit private header include
yoshiaki.jitsukawa@sony.com [Tue, 21 Sep 2021 21:09:12 +0000 (21:09 +0000)]
[PlayStation][MiniBrowser] Remove WebKit private header include
https://bugs.webkit.org/show_bug.cgi?id=230183

Reviewed by Ross Kirsling.

* MiniBrowser/playstation/main.cpp:
Remove config.h and wtf/Platform.h include directive.
PlayStation MiniBrowser is expected to be independent of WebKit
private headers (i.e. it should depend only on WK API.) in order to
ensure that we can make a WebBrowser without those headers.

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

43 hours agoModernize ENABLE_IOSURFACE_POOL_STATISTICS logging
simon.fraser@apple.com [Tue, 21 Sep 2021 20:42:34 +0000 (20:42 +0000)]
Modernize ENABLE_IOSURFACE_POOL_STATISTICS logging
https://bugs.webkit.org/show_bug.cgi?id=230570

Reviewed by Tim Horton.

Fix thread safety warnings when ENABLE_IOSURFACE_POOL_STATISTICS is defined.
Use TextStream for logging.

This could be a log channel.

* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::addSurface):
(WebCore::IOSurfacePool::evict):
(WebCore::IOSurfacePool::collectionTimerFired):
(WebCore::IOSurfacePool::poolStatistics const):
(WebCore::IOSurfacePool::showPoolStatistics): Deleted.
* platform/graphics/cg/IOSurfacePool.h:
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(WebCore::operator<<):

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

44 hours agoPush font-palette-values data into CSSFontSelector
mmaxfield@apple.com [Tue, 21 Sep 2021 20:17:43 +0000 (20:17 +0000)]
Push font-palette-values data into CSSFontSelector
https://bugs.webkit.org/show_bug.cgi?id=230447

Reviewed by Antti Koivisto.

In https://bugs.webkit.org/show_bug.cgi?id=230337 I added parsing support for font-palette-values.
This patch pushes the parsed data down into CSSFontSelector, so it can be passed into the font
creation routines. The data is retained, so it's always possible to query the CSSFontSelector for
the state of the world regarding font palettes.

No new tests because there is no behavior change. This querying functionality will be hooked up
in https://bugs.webkit.org/show_bug.cgi?id=230449.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::buildStarted):
(WebCore::CSSFontSelector::addFontPaletteValuesRule):
(WebCore::CSSFontSelector::fontRangesForFamily):
* css/CSSFontSelector.h:
* style/RuleSet.cpp:
(WebCore::Style::RuleSet::Builder::addChildRules):

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

44 hours ago[LFC][IFC] Implement fallbackFontsForRun for IFC
zalan@apple.com [Tue, 21 Sep 2021 20:15:00 +0000 (20:15 +0000)]
[LFC][IFC] Implement fallbackFontsForRun for IFC
https://bugs.webkit.org/show_bug.cgi?id=230561

Reviewed by Antti Koivisto.

fallbackFontsForRun collects all the non-primary fonts used by a text run. It also takes soft hyphens into account but only when they are actually
part of the rendered content.
This function is called while we construct the final runs for a line and parent inline boxes (parent of the text runs)
need to know their enclosing layout bounds (glyphs from fallback font may stretch the parent inline box).

* layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::fallbackFontsForRunWithIterator):
(WebCore::Layout::TextUtil::fallbackFontsForRun):

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

44 hours ago[WinCairo] jquery/offset.html is randomly failing an assertion in DrawingAreaCoordina...
Hironori.Fujii@sony.com [Tue, 21 Sep 2021 20:06:33 +0000 (20:06 +0000)]
[WinCairo] jquery/offset.html is randomly failing an assertion in DrawingAreaCoordinatedGraphics::layerHostDidFlushLayers
https://bugs.webkit.org/show_bug.cgi?id=230531

Reviewed by Don Olmstead.

DrawingAreaCoordinatedGraphics::layerHostDidFlushLayers shouldn't
be called while LayerTreeHost is paused by pauseRendering().

* WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.cpp:
(WebKit::LayerTreeHost::layerFlushTimerFired):
(WebKit::LayerTreeHost::pauseRendering):
(WebKit::LayerTreeHost::resumeRendering):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h: Added m_isSuspended.

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

44 hours ago[Mac Catalyst] Fix build issue
pvollan@apple.com [Tue, 21 Sep 2021 19:32:17 +0000 (19:32 +0000)]
[Mac Catalyst] Fix build issue
https://bugs.webkit.org/show_bug.cgi?id=230567
<rdar://83314629>

Reviewed by Brent Fulgham.

The identifier kLSDefaultSessionID is undeclared. Declare it for the internal build on Catalyst.

* pal/spi/cocoa/LaunchServicesSPI.h:

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

45 hours ago[ macOS wk2 Release ] imported/w3c/web-platform-tests/page-visibility/unload-bubbles...
ayumi_kojima@apple.com [Tue, 21 Sep 2021 18:54:34 +0000 (18:54 +0000)]
[ macOS wk2 Release ] imported/w3c/web-platform-tests/page-visibility/unload-bubbles.html is a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=230571

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

45 hours ago[ Monterey GuardMalloc ] accessibility/* tests are timing out.
ayumi_kojima@apple.com [Tue, 21 Sep 2021 18:45:51 +0000 (18:45 +0000)]
[ Monterey GuardMalloc ] accessibility/* tests are timing out.
<rdar://82147955>

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations: Removed expectations

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

45 hours agoReplace a few ASSERTs with static_asserts in the ARM64 MacroAssemblers.
mark.lam@apple.com [Tue, 21 Sep 2021 18:43:34 +0000 (18:43 +0000)]
Replace a few ASSERTs with static_asserts in the ARM64 MacroAssemblers.
https://bugs.webkit.org/show_bug.cgi?id=230569

Reviewed by Yusuke Suzuki.

* assembler/ARM64Assembler.h:
* assembler/ARM64EAssembler.h:

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

46 hours agoNetworkRTCUDPSocketCocoaConnections should handle NAT64 IP addresses correctly
youenn@apple.com [Tue, 21 Sep 2021 18:30:37 +0000 (18:30 +0000)]
NetworkRTCUDPSocketCocoaConnections should handle NAT64 IP addresses correctly
https://bugs.webkit.org/show_bug.cgi?id=230552
<rdar://83297256>

Reviewed by Alex Christensen.

Source/ThirdParty/libwebrtc:

* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:

Source/WebKit:

When opening a UDP socket, check whether it is a NAT64 IPv4 address.
In that case, we cannot bind it like we used to do with the sockets API.
Instead use "0.0.0.0".
Manually tested.

* NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm:
* NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:
(WebKit::isNat64IPAddress):
(WebKit::computeHostAddress):
(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):
* NetworkProcess/webrtc/NetworkRTCUtilitiesCocoa.h:
* Platform/spi/Cocoa/NWSPI.h: Renamed from Source/WebKit/Platform/spi/Cocoa/NWParametersSPI.h.
* WebKit.xcodeproj/project.pbxproj:

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

46 hours agoFix the behavior that 3d translation's second value is serialized to 0px regardless...
commit-queue@webkit.org [Tue, 21 Sep 2021 18:27:59 +0000 (18:27 +0000)]
Fix the behavior that 3d translation's second value is serialized to 0px regardless of its specified unit if it is zero value.
https://bugs.webkit.org/show_bug.cgi?id=230534

Patch by Joonghun Park <pjh0718@gmail.com> on 2021-09-21
Reviewed by Simon Fraser.

When being serialized, the css value's unit should be preserved.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-transforms/parsing/translate-parsing-valid-expected.txt:
* web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html: updated from wpt repository.

Source/WebCore:

* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTranslate):

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

46 hours ago[iOS] Enable MSE in WKWebViews by default on iPad
jer.noble@apple.com [Tue, 21 Sep 2021 18:26:46 +0000 (18:26 +0000)]
[iOS] Enable MSE in WKWebViews by default on iPad
https://bugs.webkit.org/show_bug.cgi?id=230426

Reviewed by Tim Horton.

Source/WebKit:

Add a default value getter for the MediaSourceEnabled preference.

* Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultMediaSourceEnabled):
* Shared/WebPreferencesDefaultValues.h:
* Shared/ios/WebPreferencesDefaultValuesIOS.mm:
(WebKit::defaultMediaSourceEnabled):

Source/WTF:

Give a default value getter for the MediaSourceEnabled preference.

* Scripts/Preferences/WebPreferences.yaml:

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

46 hours agoAdd LLVM/FLang's int128_t implementation to WTF
commit-queue@webkit.org [Tue, 21 Sep 2021 18:04:20 +0000 (18:04 +0000)]
Add LLVM/FLang's int128_t implementation to WTF
https://bugs.webkit.org/show_bug.cgi?id=230437

Source/WTF:

Added int128_t implementation from LLVM, and its dependency
LeadingZeroBitCount.h. Both reformatted according to WebKit style.

Patch by Philip Chimento <philip.chimento@gmail.com> on 2021-09-21
Reviewed by Yusuke Suzuki.

* LICENSE-LLVM.txt: Added.
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Int128.h: Added.
(WTF::Int128Impl::Int128Impl):
(WTF::Int128Impl::operator+ const):
(WTF::Int128Impl::operator~ const):
(WTF::Int128Impl::operator- const):
(WTF::Int128Impl::operator! const):
(WTF::Int128Impl::operator bool const):
(WTF::Int128Impl::operator std::uint64_t const):
(WTF::Int128Impl::operator std::int64_t const):
(WTF::Int128Impl::operator int const):
(WTF::Int128Impl::high const):
(WTF::Int128Impl::low const):
(WTF::Int128Impl::operator++):
(WTF::Int128Impl::operator--):
(WTF::Int128Impl::operator& const):
(WTF::Int128Impl::operator |  const):
(WTF::Int128Impl::operator^ const):
(WTF::Int128Impl::operator<< const):
(WTF::Int128Impl::operator>> const):
(WTF::Int128Impl::operator* const):
(WTF::Int128Impl::operator/ const):
(WTF::Int128Impl::operator% const):
(WTF::Int128Impl::operator< const):
(WTF::Int128Impl::operator<= const):
(WTF::Int128Impl::operator== const):
(WTF::Int128Impl::operator!= const):
(WTF::Int128Impl::operator>= const):
(WTF::Int128Impl::operator> const):
(WTF::Int128Impl::operator&=):
(WTF::Int128Impl::operator|=):
(WTF::Int128Impl::operator^=):
(WTF::Int128Impl::operator<<=):
(WTF::Int128Impl::operator>>=):
(WTF::Int128Impl::operator+=):
(WTF::Int128Impl::operator-=):
(WTF::Int128Impl::operator*=):
(WTF::Int128Impl::operator/=):
(WTF::Int128Impl::operator%=):
(WTF::Int128Impl::leadingZeroes const):
* wtf/LeadingZeroBitCount.cpp: Added.
* wtf/LeadingZeroBitCount.h: Added.
(WTF::leadingZeroBitCount):
(WTF::bitsNeededFor):

Tools:

Added tests for Int128 and LeadingZeroBitCount copied from LLVM's tests,
reformatted according to WebKit style.

Patch by Philip Chimento <pchimento@igalia.com> on 2021-09-21
Reviewed by Yusuke Suzuki.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Int128.cpp: Added.
(TestWebKitAPI::TestUnary):
(TestWebKitAPI::TestBinary):
(TestWebKitAPI::TEST):
(TestWebKitAPI::ToNative):
(TestWebKitAPI::FromNative):
(TestWebKitAPI::TestVsNative):
* TestWebKitAPI/Tests/WTF/LeadingZeroBitCount.cpp: Added.
(countWithTwoShiftedBits):
(TEST):

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

46 hours ago[IFC][Integration] Removed unused AvoidanceReason::FlowTextHasSurrogatePair
zalan@apple.com [Tue, 21 Sep 2021 17:49:11 +0000 (17:49 +0000)]
[IFC][Integration] Removed unused AvoidanceReason::FlowTextHasSurrogatePair
https://bugs.webkit.org/show_bug.cgi?id=230559

Reviewed by Antti Koivisto.

* layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::printReason):
* layout/integration/LayoutIntegrationCoverage.h:

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

47 hours agoUnreviewed, reverting r282768.
ehutchison@apple.com [Tue, 21 Sep 2021 17:25:23 +0000 (17:25 +0000)]
Unreviewed, reverting r282768.

Slowdown on Mac EWS builders as a constant failure.

Reverted changeset:

"box-shadow and text-shadow do not yield float values while
interpolating"
https://bugs.webkit.org/show_bug.cgi?id=230347
https://commits.webkit.org/r282768

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

47 hours agoimported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html is flaky
youenn@apple.com [Tue, 21 Sep 2021 17:05:59 +0000 (17:05 +0000)]
imported/w3c/web-platform-tests/webrtc/RTCDataChannel-close.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=230399

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

* web-platform-tests/webrtc/RTCDataChannel-close-expected.txt:
* web-platform-tests/webrtc/RTCDataChannel-close.html:

Source/WebCore:

We fix a number of flaky issues:
- RTCDataChannel::didChangeReadyState should queue a task and inside the task update the state + dispatch event.
  Previously, we were updating the state, then queueing a task to dispatch the event.
- We were creating the data channel at the time we were creating the data channel handler.
  In that case, we might have missed some state changes.
  We now create the data channel handler as soon as possible, then queue a task where we create the data channel and fire the channel event.
- We check the backend data channel state as soon as creating the data channel handler, instead of when creating the data channel for the same reason.
- When we buffer states, we need to store whether an error occurs to properly fire the error event as needed.
- Similarly to readyState, we need to queue a task to update bufferedAmount and, if needed, synchronously fire the bufferedAmountLow event.

Covered by updated RTCDataChannel-close.html.

* Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::newDataChannel):
* Modules/mediastream/PeerConnectionBackend.h:
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::didChangeReadyState):
(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):
* Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:
(WebCore::LibWebRTCDataChannelHandler::LibWebRTCDataChannelHandler):
(WebCore::LibWebRTCDataChannelHandler::dataChannelInit const):
(WebCore::LibWebRTCDataChannelHandler::label const):
(WebCore::LibWebRTCDataChannelHandler::setClient):
(WebCore::LibWebRTCDataChannelHandler::checkState):
* Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):

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

47 hours agoRTCPeerConnection perfect negotiation tests are flaky
youenn@apple.com [Tue, 21 Sep 2021 16:47:36 +0000 (16:47 +0000)]
RTCPeerConnection perfect negotiation tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=230344

Reviewed by Alex Christensen.

Helper function checks that adding candidates only fails for candidates related to ignored descriptions.
But the flag that sets whther descriptions are ignored is set synchronously while it should be set once the description is applied.
Otherwise, errors related to the candidates that are in the operation queue related to the previously ignored description will not be ignored.

* web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-helper.js:
(try.async try):
(string_appeared_here.peer):
* web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation.https-expected.txt:

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

47 hours ago[LFC][IFC] Ceil the descent value when adjusting the layout bounds for an inline box
zalan@apple.com [Tue, 21 Sep 2021 16:39:54 +0000 (16:39 +0000)]
[LFC][IFC] Ceil the descent value when adjusting the layout bounds for an inline box
https://bugs.webkit.org/show_bug.cgi?id=230557

Reviewed by Antti Koivisto.

Use ceil instead of floor to match legacy line layout positioning.

* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp: use ceilf everywhere
(WebCore::Layout::InlineDisplayContentBuilder::createRunsAndUpdateGeometryForLineContent):
* layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::adjustVerticalGeometryForInlineBoxWithFallbackFonts const):
(WebCore::Layout::LineBoxBuilder::setInitialVerticalGeometryForInlineBox const):

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