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

Timeline



Nov 12, 2019:

10:51 PM Changeset in webkit [252393] by Simon Fraser
  • 6 edits
    2 adds in trunk/Source/WebCore

Move CSSUnitType enum to its own file
https://bugs.webkit.org/show_bug.cgi?id=204139

Reviewed by Antti Koivisto.

Pull CSSUnitType and CSSUnitCategory enums into their own file, since more future
code will use them and not CSSPrimitiveValue.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPrimitiveValue.cpp:

(WebCore::unitCategory): Deleted.

  • css/CSSPrimitiveValue.h:
  • css/CSSUnits.cpp: Added.

(WebCore::unitCategory):

  • css/CSSUnits.h: Added.
8:41 PM Changeset in webkit [252392] by Simon Fraser
  • 67 edits in trunk/Source

Convert CSSPrimitiveValue::UnitType to an enum class, and cleanup
https://bugs.webkit.org/show_bug.cgi?id=204101

Reviewed by Antti Koivisto.
Source/WebCore:

Move CSSPrimitiveValue::UnitType to a standalone enum class CSSUnitType, and
CSSPrimitiveVallue::UnitCategory to CSSUnitCategory; these are going to more extensive
use in calc() and in the CSS OM.

Remove some comments about quirky units behavior which is now the standard behavior.

The compiler warned about some units not handled in CSSPrimitiveValue::formatNumberForCustomCSSText()
and CSSPrimitiveValue::equals() which may reveal bugs; assert for now.

  • css/CSSCalculationValue.cpp:

(WebCore::calcUnitCategory):
(WebCore::hasDoubleValue):
(WebCore::CSSCalcOperation::createSimplified):
(WebCore::CSSCalcOperation::primitiveType const):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
(WebCore::createBlendHalf):
(WebCore::createCSS):
(WebCore::unitCategory): Deleted.

  • css/CSSCalculationValue.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForImageSliceSide):
(WebCore::valueForNinePieceImageQuad):
(WebCore::zoomAdjustedPixelValue):
(WebCore::zoomAdjustedNumberValue):
(WebCore::valueForReflection):
(WebCore::percentageOrZoomAdjustedValue):
(WebCore::matrixTransformValue):
(WebCore::adjustLengthForZoom):
(WebCore::ComputedStyleExtractor::valueForFilter):
(WebCore::specifiedValueForGridTrackBreadth):
(WebCore::specifiedValueForGridTrackSize):
(WebCore::OrderedNamedLinesCollector::appendLines const):
(WebCore::valueForGridPosition):
(WebCore::createTransitionPropertyValue):
(WebCore::delayValue):
(WebCore::durationValue):
(WebCore::textUnderlineOffsetToCSSValue):
(WebCore::textDecorationThicknessToCSSValue):
(WebCore::altTextToCSSValue):
(WebCore::contentToCSSValue):
(WebCore::counterToCSSValue):
(WebCore::ComputedStyleExtractor::fontNonKeywordWeightFromStyleValue):
(WebCore::ComputedStyleExtractor::fontNonKeywordStretchFromStyleValue):
(WebCore::ComputedStyleExtractor::fontNonKeywordStyleFromStyleValue):
(WebCore::fontShorthandValueForSelectionProperties):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSCrossfadeValue.cpp:

(WebCore::CSSCrossfadeValue::blend const):

  • css/CSSCustomPropertyValue.cpp:

(WebCore::CSSCustomPropertyValue::customCSSText const):

  • css/CSSFontFace.cpp:

(WebCore::calculateItalicRange):

  • css/CSSFontStyleValue.h:
  • css/CSSGradientValue.cpp:

(WebCore::compareStops):
(WebCore::CSSGradientValue::computeStops):
(WebCore::appendGradientStops):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSConicGradientValue::createGradient):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::createDeprecatedCSSOMWrapper const):

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::unitCategory):
(WebCore::CSSPrimitiveValue::primitiveType const):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::init):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::computeDegrees const):
(WebCore::CSSPrimitiveValue::computeLengthDouble const):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::setFloatValue):
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSPrimitiveValue::getFloatValue const):
(WebCore::CSSPrimitiveValue::doubleValue const):
(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
(WebCore::CSSPrimitiveValue::doubleValueInternal const):
(WebCore::CSSPrimitiveValue::setStringValue):
(WebCore::CSSPrimitiveValue::getStringValue const):
(WebCore::CSSPrimitiveValue::stringValue const):
(WebCore:: const):
(WebCore::CSSPrimitiveValue::getRGBColorValue const):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
(WebCore::CSSPrimitiveValue::equals const):
(WebCore::CSSPrimitiveValue::collectDirectComputationalDependencies const):
(WebCore::CSSPrimitiveValue::collectDirectRootComputationalDependencies const):
(WebCore::CSSPrimitiveValue::unitCategory): Deleted.

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isAngle const):
(WebCore::CSSPrimitiveValue::isFontRelativeLength):
(WebCore::CSSPrimitiveValue::isLength):
(WebCore::CSSPrimitiveValue::isResolution):
(WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
(WebCore::CSSPrimitiveValue::computeTime const):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator short const):
(WebCore::CSSPrimitiveValue::operator unsigned short const):
(WebCore::CSSPrimitiveValue::operator int const):
(WebCore::CSSPrimitiveValue::operator unsigned const):
(WebCore::CSSPrimitiveValue::operator float const):
(WebCore::CSSPrimitiveValue::operator LineClampValue const):
(WebCore::CSSPrimitiveValue::operator ColumnFill const):
(WebCore::CSSPrimitiveValue::operator ColumnSpan const):
(WebCore::CSSPrimitiveValue::convertingToLengthRequiresNonNullStyle const):
(WebCore::CSSPrimitiveValue::operator ImageOrientation const):

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::namedItem):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):

  • css/CSSValue.h:
  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::CSSValuePool):
(WebCore::CSSValuePool::createValue):

  • css/CSSValuePool.h:

(WebCore::CSSValuePool::createValue):

  • css/DeprecatedCSSOMPrimitiveValue.cpp:

(WebCore::DeprecatedCSSOMPrimitiveValue::primitiveType const):
(WebCore::DeprecatedCSSOMPrimitiveValue::setFloatValue):
(WebCore::DeprecatedCSSOMPrimitiveValue::getFloatValue const):
(WebCore::DeprecatedCSSOMPrimitiveValue::setStringValue):

  • css/DeprecatedCSSOMPrimitiveValue.h:
  • css/DeprecatedCSSOMRGBColor.h:
  • css/MediaQueryEvaluator.cpp:

(WebCore::doubleValue):
(WebCore::evaluateResolution):

  • css/MediaQueryExpression.cpp:

(WebCore::featureWithValidIdent):

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::glyphOrientationToCSSPrimitiveValue):
(WebCore::ComputedStyleExtractor::adjustSVGPaintForCurrentColor const):
(WebCore::ComputedStyleExtractor::svgPropertyValue):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::asText const):

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::parseSimpleLength):
(WebCore::parseSimpleAngle):
(WebCore::parseSimpleLengthValue):
(WebCore::parseColorIntOrPercentage):
(WebCore::fastParseColorInternal):
(WebCore::parseTransformTranslateArguments):
(WebCore::parseTransformAngleArgument):
(WebCore::parseTransformNumberArguments):

  • css/parser/CSSParserToken.cpp:

(WebCore::cssPrimitiveValueUnitFromTrie):
(WebCore::stringToUnitType):
(WebCore::CSSParserToken::CSSParserToken):
(WebCore::CSSParserToken::convertToPercentage):

  • css/parser/CSSParserToken.h:

(WebCore::CSSParserToken::unitType const):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumeTransformOrigin):
(WebCore::consumeFontStyle):
(WebCore::consumeFontStyleRange):
(WebCore::consumeCounter):
(WebCore::consumeAnimationName):
(WebCore::consumePerspective):
(WebCore::consumePositionLonghand):
(WebCore::consumeAttr):
(WebCore::consumeCounterContent):
(WebCore::consumeReflect):
(WebCore::consumeGridBreadth):
(WebCore::CSSPropertyParser::consumeSystemFont):
(WebCore::CSSPropertyParser::consumeFlex):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::CalcParser::consumeInteger):
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightNumber):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumeAngle):
(WebCore::CSSPropertyParserHelpers::consumeAngleOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeTime):
(WebCore::CSSPropertyParserHelpers::consumeResolution):
(WebCore::CSSPropertyParserHelpers::consumeCustomIdent):
(WebCore::CSSPropertyParserHelpers::consumeString):
(WebCore::CSSPropertyParserHelpers::consumeUrl):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientPoint):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientColorStop):
(WebCore::CSSPropertyParserHelpers::consumeCrossFade):
(WebCore::CSSPropertyParserHelpers::consumeImageSet):
(WebCore::CSSPropertyParserHelpers::consumeFilterFunction):

  • css/parser/MediaQueryParser.cpp:

(WebCore::MediaQueryParser::readFeatureValue):

  • css/parser/SizesAttributeParser.cpp:

(WebCore::SizesAttributeParser::computeLength):
(WebCore::SizesAttributeParser::effectiveSizeDefaultValue):

  • css/parser/SizesAttributeParser.h:
  • css/typedom/StylePropertyMapReadOnly.cpp:

(WebCore::StylePropertyMapReadOnly::reifyValue):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::addPropertyToPresentationAttributeStyle):

  • dom/StyledElement.h:
  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::computedFontSize):

  • editing/EditingStyle.cpp:

(WebCore::legacyFontSizeFromCSSValue):

  • editing/FontAttributeChanges.cpp:

(WebCore::FontChanges::createStyleProperties const):
(WebCore::cssValueListForShadow):

  • editing/cocoa/HTMLConverter.mm:

(stringFromCSSValue):
(floatValueFromPrimitiveValue):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::applyBorderAttributeToStyle):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::collectStyleForPresentationAttribute):

  • html/HTMLHRElement.cpp:

(WebCore::HTMLHRElement::collectStyleForPresentationAttribute):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute):

  • html/HTMLInputElement.cpp:

(WebCore::autoFillStrongPasswordMaskImage):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::didElementStateChange):

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::collectStyleForPresentationAttribute):
(WebCore::HTMLTableElement::createSharedCellStyle):

  • html/ValidationMessage.cpp:

(WebCore::adjustBubblePosition):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::makeOpaque):
(WebCore::MediaControlPanelElement::makeTransparent):
(WebCore::MediaControlTextTrackContainerElement::updateTextStrokeStyle):
(WebCore::MediaControlTextTrackContainerElement::updateStyleForTextTrackRepresentation):

  • html/shadow/ProgressShadowElement.cpp:

(WebCore::ProgressValueElement::setWidthPercentage):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerElement::resolveCustomStyle):

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::ImageControlsButtonElementMac::tryCreate):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
(WebCore::TextTrackCueGeneric::setFontSize):

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::applyCSSProperties):
(WebCore::VTTCue::getDisplayTree):

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):
(WebCore::VTTRegion::prepareRegionDisplayTree):

  • page/DragController.cpp:

(WebCore::DragController::insertDroppedImagePlaceholdersAtCaret):

  • page/PrintContext.cpp:

(WebCore::PrintContext::computedPageMargin):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::crossfadeBlend):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::resize):

  • rendering/RenderThemeIOS.mm:

(WebCore::applyCommonButtonPaddingToStyle):
(WebCore::RenderThemeIOS::adjustButtonStyle const):

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertNumber):
(WebCore::Style::BuilderConverter::convertWebkitHyphenateLimitLines):
(WebCore::Style::BuilderConverter::convertClipPath):
(WebCore::Style::BuilderConverter::convertTextStrokeWidth):
(WebCore::Style::BuilderConverter::convertFontStyleFromValue):

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::mmLength):
(WebCore::Style::BuilderCustom::inchLength):
(WebCore::Style::BuilderCustom::applyValueImageResolution):

  • svg/SVGLengthValue.cpp:

(WebCore::primitiveTypeToLengthType):
(WebCore::lengthTypeToPrimitiveType):

Source/WebKit:

Move CSSPrimitiveValue::UnitType to a standalone enum class CSSUnitType, and
CSSPrimitiveVallue::UnitCategory to CSSUnitCategory; these are going to more extensive
use in calc() and in the CSS OM.

  • WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:

(WebKit::PDFPluginAnnotation::updateGeometry):

  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:

(WebKit::PDFPluginChoiceAnnotation::updateGeometry):

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::updateGeometry):

6:58 PM Changeset in webkit [252391] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

Unreviewed test gardening for WinCairo

  • platform/wincairo/TestExpectations: Unskipped fast/events.
6:25 PM Changeset in webkit [252390] by ysuzuki@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

[JSC] Put more things in IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=204039

Reviewed by Keith Miller and Saam Barati.

This patch puts following things into IsoSubspace.

  1. UnlinkedEvalCodeBlock
  2. UnlinkedFunctionCodeBlock
  3. UnlinkedModuleProgramCodeBlock
  4. UnlinkedModuleProgramCodeBlock
  5. Symbol
  6. JSString
  7. JSRopeString
  8. GetterSetter
  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::subspaceFor):

  • bytecode/UnlinkedEvalCodeBlock.h:
  • bytecode/UnlinkedFunctionCodeBlock.h:
  • bytecode/UnlinkedModuleProgramCodeBlock.h:
  • bytecode/UnlinkedProgramCodeBlock.h:
  • runtime/GetterSetter.h:
  • runtime/JSString.h:

(JSC::JSString::subspaceFor):

  • runtime/Symbol.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
6:07 PM Changeset in webkit [252389] by keith_miller@apple.com
  • 17 edits
    4 adds
    1 delete in trunk

AudioScheduledSourceNodes leak if they have an attached onended EventTarget
https://bugs.webkit.org/show_bug.cgi?id=204087
Source/WebCore:

<rdar://problem/56772102>

Reviewed by Jer Noble.

Previously, if an AudioNode had any attributes that were event
targets we would leak the node as long as the AudioContext was
alive. This patch makes all the AudioNodes with EventTarget
attributes subclasses of ActiveDOMObject. For,
AudioScheduledSourceNodes we will mark the node as non-active when
either the node becomes eligible for deletion from the graph or
the onended event fires. For, ScriptProcessorNodes we mark the
node as non-active when the node becomes eligible for deletion.

Tests: webaudio/finished-audio-buffer-source-nodes-should-be-collectable.html

webaudio/audiobuffersource-not-gced-until-ended.html

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::startLater):
(WebCore::AudioBufferSourceNode::start): Deleted.

  • Modules/webaudio/AudioBufferSourceNode.h:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioContext.h:
  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::deref):
(WebCore::AudioNode::finishDeref):

  • Modules/webaudio/AudioNode.h:

(WebCore::AudioNode::didBecomeMarkedForDeletion):

  • Modules/webaudio/AudioNode.idl:
  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
(WebCore::AudioScheduledSourceNode::startLater):
(WebCore::AudioScheduledSourceNode::stopLater):
(WebCore::AudioScheduledSourceNode::didBecomeMarkedForDeletion):
(WebCore::AudioScheduledSourceNode::finish):
(WebCore::AudioScheduledSourceNode::start): Deleted.
(WebCore::AudioScheduledSourceNode::stop): Deleted.
(WebCore::AudioScheduledSourceNode::addEventListener): Deleted.
(WebCore::AudioScheduledSourceNode::removeEventListener): Deleted.
(WebCore::AudioScheduledSourceNode::removeAllEventListeners): Deleted.

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/OscillatorNode.h:
  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::ScriptProcessorNode):
(WebCore::ScriptProcessorNode::~ScriptProcessorNode):
(WebCore::ScriptProcessorNode::didBecomeMarkedForDeletion):
(WebCore::ScriptProcessorNode::process):
(WebCore::ScriptProcessorNode::addEventListener): Deleted.
(WebCore::ScriptProcessorNode::removeEventListener): Deleted.
(WebCore::ScriptProcessorNode::removeAllEventListeners): Deleted.

  • Modules/webaudio/ScriptProcessorNode.h:
  • Modules/webaudio/ScriptProcessorNode.idl:
  • Sources.txt:
  • bindings/js/JSAudioNodeCustom.cpp: Removed.

LayoutTests:

Reviewed by Jer Noble.

  • webaudio/audiobuffersource-not-gced-until-ended-expected.txt: Added.
  • webaudio/audiobuffersource-not-gced-until-ended.html: Added.
  • webaudio/finished-audio-buffer-source-nodes-should-be-collectable-expected.txt: Added.
  • webaudio/finished-audio-buffer-source-nodes-should-be-collectable.html: Added.
5:48 PM Changeset in webkit [252388] by Alan Coon
  • 11 edits in tags/Safari-609.1.10.0.2/Source/WebKit

Cherry-pick r252368. rdar://problem/57115922

Revert remainder of r251676
https://bugs.webkit.org/show_bug.cgi?id=203066
<rdar://problem/57115922>

  • NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::globalCTDataConnectionServiceType): (WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType): (WebKit::NetworkSessionCocoa::dataConnectionServiceType const): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: (-[_WKProcessPoolConfiguration CTDataConnectionServiceType]): (-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]):
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

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

5:47 PM Changeset in webkit [252387] by Alan Coon
  • 11 edits in tags/Safari-609.1.10.0.2/Source/WebKit

Cherry-pick r252364. rdar://problem/57115922

Revert part of r251676
https://bugs.webkit.org/show_bug.cgi?id=203066
<rdar://problem/57008444>

  • NetworkProcess/NetworkProcess.h: (WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const):
  • NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
  • UIProcess/API/APIProcessPoolConfiguration.cpp: (API::ProcessPoolConfiguration::copy):
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: (-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): (-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]):
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess):

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

5:44 PM Changeset in webkit [252386] by Alan Coon
  • 7 edits in tags/Safari-609.1.10.0.2/Source

Versioning.

5:40 PM Changeset in webkit [252385] by ysuzuki@apple.com
  • 22 edits
    1 add in trunk

[JSC] JSC GC relies on CodeBlock is not PreciseAllocation
https://bugs.webkit.org/show_bug.cgi?id=204124

Reviewed by Saam Barati.

JSTests:

  • stress/ensure-code-block-is-not-precise-allocation.js: Added.

(foo):
(get for):

Source/JavaScriptCore:

This is a follow-up patch after r252298. This patch fixes several GC issues.

  1. We found that CodeBlock heavily relies on the fact that this is never getting PreciseAllocation. For example, in our GC, we scan conservative roots to collect currently-executing CodeBlocks. But if this is done in an Eden cycle, this can only find PreciseAllocation CodeBlocks allocated in this current Eden cycle, since we only use Eden PreciseAllocation vector to find these cells. This means some CodeBlocks that are PreciseAllocation and allocated in the past Eden cycle can be missed in this currently-executing set. But we do not want to sort all the PreciseAllocation vector every time Eden cycle happens. So, for now, we make # of lower-tier cells of CodeBlocks 0 so that CodeBlocks are always allocated as non PreciseAllocation.
  1. We had an pre-existing PreciseAllocation bug: when Weak<> is pointing PreciseAllocation, we keep PreciseAllocation in m_preciseAllocations vector while the cell inside it is destroyed. This is OK. But HeapUtil::findGCObjectPointersForMarking can populate this PreciseAllocation when performing conservative root scanning. This means that HeapUtil::findGCObjectPointersForMarking can populate destroyed cells. We insert hasValidCell check to avoid this issue.
  1. Subspace::sweep only sweeps non PreciseAllocation blocks despite of this name. This is a problem since we are explicitly calling Subspace::sweep to sweep ScriptExecutables, CodeBlocks, and JIT stubs in a defined order. We rename Subspace::sweep to Subspace::sweepBlocks, and introduce IsoSubspace::sweep which also sweeps PreciseAllocations for lower-tier cells correctly. We are calling PreciseAllocation::sweep, but we still leave PreciseAllocation in m_preciseAllocations. This is OK since PreciseAllocation::sweep can be called multiple times. Destroying / Reusing PreciseAllocations are done by MarkedSpace::sweepPreciseAllocations.
  1. We clear IsoCellSet's bit as soon as PreciseAllocation's cell is destroyed. This is aligned to the behavior of MarkedBlocks.
  • bytecode/CodeBlock.h:
  • heap/CodeBlockSetInlines.h:

(JSC::CodeBlockSet::mark):

  • heap/Heap.cpp:

(JSC::Heap::sweepSynchronously):
(JSC::Heap::sweepInFinalize):

  • heap/HeapUtil.h:

(JSC::HeapUtil::findGCObjectPointersForMarking):

  • heap/IsoCellSet.h:
  • heap/IsoCellSetInlines.h:

(JSC::IsoCellSet::clearLowerTierCell):
(JSC::IsoCellSet::sweepLowerTierCell): Deleted.

  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::IsoSubspace):
(JSC::IsoSubspace::tryAllocateFromLowerTier):
(JSC::IsoSubspace::sweepLowerTierCell):

  • heap/IsoSubspace.h:
  • heap/IsoSubspaceInlines.h:

(JSC::IsoSubspace::clearIsoCellSetBit):
(JSC::IsoSubspace::sweep):

  • heap/IsoSubspacePerVM.cpp:

(JSC::IsoSubspacePerVM::AutoremovingIsoSubspace::AutoremovingIsoSubspace):

  • heap/MarkedBlock.h:
  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::sweepBlocks):
(JSC::MarkedSpace::sweep): Deleted.

  • heap/MarkedSpace.h:
  • heap/PreciseAllocation.cpp:

(JSC::PreciseAllocation::PreciseAllocation):
(JSC::PreciseAllocation::sweep):

  • heap/Subspace.cpp:

(JSC::Subspace::sweepBlocks):
(JSC::Subspace::sweep): Deleted.

  • heap/Subspace.h:
  • runtime/JSCell.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • wasm/js/JSWebAssemblyMemory.h:
5:38 PM Changeset in webkit [252384] by Alan Coon
  • 1 copy in tags/Safari-609.1.10.0.2

New tag.

5:32 PM Changeset in webkit [252383] by Alan Coon
  • 11 edits in tags/Safari-609.1.10.1/Source/WebKit

Cherry-pick r252368. rdar://problem/57115922

Revert remainder of r251676
https://bugs.webkit.org/show_bug.cgi?id=203066
<rdar://problem/57115922>

  • NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::globalCTDataConnectionServiceType): (WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType): (WebKit::NetworkSessionCocoa::dataConnectionServiceType const): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: (-[_WKProcessPoolConfiguration CTDataConnectionServiceType]): (-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]):
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess):
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

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

5:31 PM Changeset in webkit [252382] by Alan Coon
  • 11 edits in tags/Safari-609.1.10.1/Source/WebKit

Cherry-pick r252364. rdar://problem/57115922

Revert part of r251676
https://bugs.webkit.org/show_bug.cgi?id=203066
<rdar://problem/57008444>

  • NetworkProcess/NetworkProcess.h: (WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const):
  • NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
  • UIProcess/API/APIProcessPoolConfiguration.cpp: (API::ProcessPoolConfiguration::copy):
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: (-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): (-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]):
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess):

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

5:24 PM Changeset in webkit [252381] by sihui_liu@apple.com
  • 5 edits in trunk/Source/WebKit

Add size file for CacheStorage
https://bugs.webkit.org/show_bug.cgi?id=204027
<rdar://problem/57100861>

Reviewed by Youenn Fablet.

Keep the CacheStorage size in a separate file so that we can get that value without waiting for Engine to
initialize and read caches from disk.

No behavior change as the file is not in use now.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::writeSizeFile):
(WebKit::CacheStorage::Engine::readSizeFile):
(WebKit::CacheStorage::Engine::clearAllCachesFromDisk):
(WebKit::CacheStorage::Engine::deleteDirectoryRecursivelyOnBackgroundThread):

  • NetworkProcess/cache/CacheStorageEngine.h:
  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::cachesSizeFilename):
(WebKit::CacheStorage::Caches::updateSizeFile):
(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::removeRecord):
(WebKit::CacheStorage::Caches::resetSpaceUsed):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:
5:08 PM Changeset in webkit [252380] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] InlineFormattingState::addInlineRun should take a unique_ptr<Display::Run>
https://bugs.webkit.org/show_bug.cgi?id=204099
<rdar://problem/57102586>

Reviewed by Antti Koivisto.

It's rather wasteful to create a Display::Run just to pass it in to InlineFormattingState::addInlineRun.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

  • layout/inlineformatting/InlineFormattingState.h:

(WebCore::Layout::InlineFormattingState::addInlineRun):

4:39 PM Changeset in webkit [252379] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Local Overrides: drop zone overlay doesn't take up the full content area
https://bugs.webkit.org/show_bug.cgi?id=204093

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/FontResourceContentView.css:

(.content-view.resource.font > :matches(.local-resource-override-label-view, .local-resource-override-warning-view):not([hidden]) ~ .drop-zone): Added.
(.content-view.resource.font > .drop-zone): Deleted.

  • UserInterface/Views/ImageResourceContentView.css:

(.content-view.resource.image > :matches(.local-resource-override-label-view, .local-resource-override-warning-view):not([hidden]) ~ .drop-zone): Added.
(.content-view.resource.image > .drop-zone): Deleted.

4:23 PM Changeset in webkit [252378] by Devin Rousso
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Sources: create/update local override drop zone shown in image collection view
https://bugs.webkit.org/show_bug.cgi?id=204097

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/CollectionContentView.js:

(WI.CollectionContentView):
(WI.CollectionContentView.prototype.get contentViewConstructorOptions): Added.
(WI.CollectionContentView.prototype.addContentViewForItem):

  • UserInterface/Views/ResourceCollectionContentView.js:

(WI.ResourceCollectionContentView.prototype.get contentViewConstructorOptions): Added.
Provide a way to pass options when instantiating the content view from the constructor.

  • UserInterface/Views/ImageResourceContentView.js:

(WI.ImageResourceContentView.prototype.contentAvailable):
Support an optional object parameter that can be used to disable the WI.DropZone.

4:07 PM Changeset in webkit [252377] by Wenson Hsieh
  • 26 edits
    2 copies
    3 adds in trunk

[iOS] WKWebView does not respect system spellchecking preference
https://bugs.webkit.org/show_bug.cgi?id=204100
<rdar://problem/56653808>

Reviewed by Tim Horton.

Source/WebKit:

Implements a platform hook on iOS (-setContinuousSpellCheckingEnabled:) to allow UIKit to inform us when the
system spellchecking preference changes, and adds logic to propagate these changes to the web process. See below
for more details.

Test: editing/spelling/toggle-spellchecking.html

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setContinuousSpellCheckingEnabledForTesting:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Add testing SPI to enable or disable continuous spellchecking, for both iOS and macOS.

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setContinuousSpellCheckingEnabled):

  • UIProcess/TextChecker.h:
  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::TextChecker::setContinuousSpellCheckingEnabled):

  • UIProcess/ios/TextCheckerIOS.mm:

(WebKit::TextChecker::setContinuousSpellCheckingEnabled):

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

(-[WKContentView setupInteraction]):
(-[WKContentView setContinuousSpellCheckingEnabled:]):

Implement this method to handle changes to the system spellchecking preference. This hook is also used by legacy
WebKit on iOS to turn spellchecking on or off. If the value of the preference changed, we additionally notify
the web process. In the future, we should consider refactoring TextCheckerState to be per-web view and per-page,
since Cocoa platform APIs would allow for different WKWebViews to have different spell checking preferences.

  • UIProcess/mac/TextCheckerMac.mm:

(WebKit::TextChecker::setContinuousSpellCheckingEnabled):

  • UIProcess/win/TextCheckerWin.cpp:

(WebKit::TextChecker::setContinuousSpellCheckingEnabled):

  • UIProcess/wpe/TextCheckerWPE.cpp:

(WebKit::TextChecker::setContinuousSpellCheckingEnabled):

Adjusted setContinuousSpellCheckingEnabled to return whether or not the continuous spellchecking state changed.

Tools:

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/cocoa/UIScriptControllerCocoa.h:
  • DumpRenderTree/cocoa/UIScriptControllerCocoa.mm:

(WTR::UIScriptControllerCocoa::UIScriptControllerCocoa):
(WTR::UIScriptControllerCocoa::setContinuousSpellCheckingEnabled):

Add a new UIScriptControllerCocoa subclass for DumpRenderTree. For now, this will just contain the cross-
platform implementation of setContinuousSpellCheckingEnabled.

  • DumpRenderTree/ios/UIScriptControllerIOS.h:

(WTR::UIScriptControllerIOS::UIScriptControllerIOS):

  • DumpRenderTree/mac/UIScriptControllerMac.h:

(WTR::UIScriptControllerMac::UIScriptControllerMac):

Make both -IOS and -Mac subclasses inherit from UIScriptControllerCocoa.

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.h:

(WTR::UIScriptController::setContinuousSpellCheckingEnabled):

Add a new script controller method to change the platform spell checking preference during a layout test.

  • WebKitTestRunner/TestController.cpp:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::cocoaResetStateToConsistentValues):

Adjust this to explicitly turn continuous spellchecking on or off based on the shouldShowSpellCheckingDots
test option flag, instead of toggling it on and then off when resetting state before and after the layout test.

  • WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
  • WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:

(WTR::UIScriptControllerCocoa::setContinuousSpellCheckingEnabled):

LayoutTests:

Add a new layout test to verify that the changes to platform spellchecking preferences are reflected in editable
content. See other changelogs for more information.

  • editing/spelling/toggle-spellchecking-expected.txt: Added.
  • editing/spelling/toggle-spellchecking.html: Added.
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • resources/ui-helper.js:

(window.UIHelper.async.setContinuousSpellCheckingEnabled):

Also, add a new UIHelper method to enable or disable continuous spellchecking during a layout test.

(window.UIHelper):

3:50 PM Changeset in webkit [252376] by Alan Coon
  • 1 copy in tags/Safari-608.4.9.0.4

Tag Safari-608.4.9.0.4.

3:04 PM Changeset in webkit [252375] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Update unit-tests for JSC EWS
https://bugs.webkit.org/show_bug.cgi?id=204123

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(TestRunJavaScriptCoreTests.configureStep):
(TestRunJavaScriptCoreTests.test_success): Updated platform to mac-highsierra.
(TestRunJavaScriptCoreTests.test_failure): Ditto.
(TestRunJavaScriptCoreTests.test_remote_success): Unit-test for jsc-only platform.
(TestReRunJavaScriptCoreTests): Automatically run all unit-tests from TestRunJavaScriptCoreTests class.

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

RegExpBuiltinExec should create "groups" property unconditionally
https://bugs.webkit.org/show_bug.cgi?id=204067

Patch by Alexey Shvayka <Alexey Shvayka> on 2019-11-12
Reviewed by Ross Kirsling.

JSTests:

  • test262/expectations.yaml: Mark 4 test cases as passing.

Source/JavaScriptCore:

After RegExp named capture groups were initially implemented in JSC, the spec was changed
to unconditionally create "groups" property.
(https://github.com/tc39/proposal-regexp-named-groups/issues/34)

This patch implements the change (that was shipped by V8), reducing number of structures
we use for RegExpMatchesArray, and also sets Prototype of "groups" object to null.
(step 24 of https://tc39.es/ecma262/#sec-regexpbuiltinexec)

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::regExpMatchesArrayStructure const):
(JSC::JSGlobalObject::regExpMatchesArrayWithGroupsStructure const): Deleted.

  • runtime/RegExpMatchesArray.cpp:

(JSC::createStructureImpl):
(JSC::createRegExpMatchesArrayWithGroupsStructure): Deleted.
(JSC::createRegExpMatchesArrayWithGroupsSlowPutStructure): Deleted.

  • runtime/RegExpMatchesArray.h:

(JSC::createRegExpMatchesArray):

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):

11:49 AM Changeset in webkit [252373] by Kocsen Chung
  • 2 edits in branches/safari-608.4.9.2-branch/Source/WebKit

Apply patch. rdar://problem/57123564

11:43 AM Changeset in webkit [252372] by Kocsen Chung
  • 2 edits in branches/safari-608.4.9.0-branch/Source/WebKit

Apply patch. rdar://problem/57123575

11:38 AM Changeset in webkit [252371] by Kocsen Chung
  • 7 edits in branches/safari-608.4.9.0-branch/Source

Versioning.

11:32 AM Changeset in webkit [252370] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Skip matched declarations cache only for length resolution affecting font properties
https://bugs.webkit.org/show_bug.cgi?id=204098

Reviewed by Zalan Bujtas.

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::equalForLengthResolution):

Put this next to the length resolution function, hopefully helping to keep them in sync.

  • css/CSSPrimitiveValue.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyMatchedProperties):

Replace test for font declaration change with a narrower test that only looks for those properties that affect length resolution.

  • style/MatchedDeclarationsCache.cpp:

(WebCore::Style::MatchedDeclarationsCache::Entry::isUsableAfterHighPriorityProperties const):

Factor into function.

  • style/MatchedDeclarationsCache.h:
11:07 AM Changeset in webkit [252369] by Truitt Savell
  • 5 edits in trunk/Source/WebKit

Unreviewed, rolling out r252351.

casued 50+ crashes on Mac and iOS wk2 debug

Reverted changeset:

"Add size file for CacheStorage"
https://bugs.webkit.org/show_bug.cgi?id=204027
https://trac.webkit.org/changeset/252351

9:30 AM Changeset in webkit [252368] by achristensen@apple.com
  • 11 edits in trunk/Source/WebKit

Revert remainder of r251676
https://bugs.webkit.org/show_bug.cgi?id=203066
<rdar://problem/57115922>

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::globalCTDataConnectionServiceType):
(WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType):
(WebKit::NetworkSessionCocoa::dataConnectionServiceType const):
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration CTDataConnectionServiceType]):
(-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

8:51 AM Changeset in webkit [252367] by Megan Gardner
  • 4 edits in trunk/Source/WebKit

Rename _textSelectionAssistant to _textInteractionAssistant to reflect the only class it can now represent
https://bugs.webkit.org/show_bug.cgi?id=204103

Reviewed by Wenson Hsieh.

No new tests - rename only.

Now that UIWKSelectionAssistant is no longer, the _textSelectionAssistant can only be a
UIWKTextInteractionAssistant. There is enough confusion around all the selection and
interaction assistants, renaming this should alleviate some of that confusion.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didExitStableState]):

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

(-[WKContentView cleanupInteraction]):
(-[WKContentView becomeFirstResponderForWebView]):
(-[WKContentView endEditingAndUpdateFocusAppearanceWithReason:]):
(-[WKContentView _scrollingNodeScrollingWillBegin]):
(-[WKContentView _scrollingNodeScrollingDidEnd]):
(-[WKContentView gestureRecognizer:canBePreventedByGestureRecognizer:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _uiTextSelectionRects]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView setUpTextSelectionAssistant]):
(-[WKContentView _willStartScrollingOrZooming]):
(-[WKContentView _didEndScrollingOrZooming]):
(-[WKContentView _lookupForWebView:]):
(-[WKContentView _shareForWebView:]):
(-[WKContentView _addShortcutForWebView:]):
(-[WKContentView _promptForReplaceForWebView:]):
(-[WKContentView _transliterateChineseForWebView:]):
(-[WKContentView tintColorDidChange]):
(-[WKContentView _didHideMenu:]):
(-[WKContentView selectForWebView:]):
(-[WKContentView selectAllForWebView:]):
(-[WKContentView _showTextStyleOptionsForWebView:]):
(-[WKContentView _showDictionary:]):
(-[WKContentView interactionAssistant]):
(-[WKContentView _showKeyboard]):
(-[WKContentView _hideKeyboard]):
(-[WKContentView _updateChangedSelection:]):
(-[WKContentView _startSuppressingSelectionAssistantForReason:]):
(-[WKContentView _stopSuppressingSelectionAssistantForReason:]):
(-[WKContentView _restoreCalloutBarIfNeeded]):
(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):

8:35 AM Changeset in webkit [252366] by clopez@igalia.com
  • 10 edits
    1 delete in trunk

[GTK][WPE] Support Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=202789

Reviewed by Carlos Garcia Campos.

.:

Build support for PointerEvents when EXPERIMENTAL_FEATURES is enabled.
Currently support for PointerEvents of pointerType==mouse works fine,
but support for other type of PointerEvents is missing.

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

LayoutTests/imported/w3c:

  • web-platform-tests/resources/testdriver-vendor.js:

The fix for iOS added in r245639 triggers a call to sendEventStream in
UIScriptController that crashes on GTK because that function is only
implemented for iOS. For Mac this was not an issue because the Mac port
doesn't enable TouchEvent support ("createTouch" in document).
However TouchEvent support is enabled for GTK. Fix this by only
trigerring the call to dispatchTouchActions when TouchEvent support
is enabled _and_ its iOS.

Source/WebKit:

Covered by existing tests.

  • UIProcess/PageClient.h: Add a ifdef for platform COCOA on two

function declarations that depend on the UIGestureRecognizer ObjC type.
This is not needed for GTK/WPE code.

LayoutTests:

Add test expectations for GTK/WPE.

  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt: Removed. Now it passes with the general expectation.
  • platform/gtk/imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt: Removed. Now it passes with the general expectation.
  • platform/wpe/TestExpectations: Update also bug number for PointerLock.
7:39 AM Changeset in webkit [252365] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Picture-in-Picture events are not fired if we switch the Picture-in-Picture mode through modern media controls
https://bugs.webkit.org/show_bug.cgi?id=203933

Patch by Peng Liu <Peng Liu> on 2019-11-12
Reviewed by Eric Carlson.

When the Picture-in-Picture API is not available, we need to call webkitSetPresentationMode()
of the video element to implement the picture-in-picture feature.

No new tests, covered by test: media/modern-media-controls/pip-support/pip-support-click.html

  • Modules/modern-media-controls/media/pip-support.js:

(PiPSupport.prototype.buttonWasPressed):

7:27 AM Changeset in webkit [252364] by achristensen@apple.com
  • 11 edits in trunk/Source/WebKit

Revert part of r251676
https://bugs.webkit.org/show_bug.cgi?id=203066
<rdar://problem/57008444>

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]):
(-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

7:24 AM Changeset in webkit [252363] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/LayoutTests

Unskip some fetch tests
https://bugs.webkit.org/show_bug.cgi?id=204047

Patch by Rob Buis <rbuis@igalia.com> on 2019-11-12
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Add expectation for bad-gzip-body.any.worker.html.

  • web-platform-tests/fetch/api/request/destination/fetch-destination-no-load-event.https-expected.txt: Added.
  • web-platform-tests/fetch/content-encoding/bad-gzip-body.any.worker-expected.txt:

LayoutTests:

Unskip two fetch tests that do not time out anymore.

7:07 AM Changeset in webkit [252362] by Diego Pino Garcia
  • 3 edits in trunk/Tools

[GTK] Add 'test262-test' step to GTK and WPE build bots
https://bugs.webkit.org/show_bug.cgi?id=204063

Reviewed by Carlos Alberto Lopez Perez.

  • BuildSlaveSupport/build.webkit.org-config/factories.py:
  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
6:42 AM Changeset in webkit [252361] by clopez@igalia.com
  • 9 edits in trunk

[GTK][WPE] Enable CSS Painting API
https://bugs.webkit.org/show_bug.cgi?id=190710

Reviewed by Don Olmstead.

.:

This enables the feature when building with experimental features enabled.

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

Source/WebKit:

Enable the runtime feature by default on GTK/WPE when building with
experimental features enabled.

Covered by existing tests.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:

LayoutTests:

Unskip the tests that now pass.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
6:38 AM Changeset in webkit [252360] by clopez@igalia.com
  • 3 edits
    51 deletes in trunk/LayoutTests

[Pointer Events WPT] Delete manual tests imported as layout tests
https://bugs.webkit.org/show_bug.cgi?id=203996

Reviewed by Youenn Fablet.

Manual tests should not be imported as layout tests.

LayoutTests/imported/w3c:

  • web-platform-tests/pointerevents/compat/pointerevent_touch-action_two-finger_interaction-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_getCoalescedEvents_when_pointerlocked-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_getPredictedEvents_when_pointerlocked-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_pointerrawmove-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_pointerrawmove_in_pointerlock-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_predicted_events_attributes-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_touch-action-pan-down-css_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_touch-action-pan-left-css_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_touch-action-pan-right-css_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/extension/pointerevent_touch-action-pan-up-css_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/html/pointerevent_drag_interaction-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_attributes_hoverable_pointers-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_attributes_nohover_pointers-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_boundary_events_in_capturing-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_capture_suppressing_mouse-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_disabled_form_control-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_element_haspointercapture-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_element_haspointercapture_release_pending_capture-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_fractional_coordinates-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_multiple_primary_pointers_boundary_events-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_pointerId_scope-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_pointerleave_pen-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_releasepointercapture_release_right_after_capture-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_sequence_at_implicit_release_on_click-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_sequence_at_implicit_release_on_drag-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_setpointercapture_override_pending_capture_element-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_setpointercapture_to_same_element_twice-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-button-test_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-keyboard-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-mouse-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-none-css_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-span-test_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerevent_touch-action-table-test_touch-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerlock/pointerevent_movementxy_when_locked-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerlock/pointerevent_pointerlock_after_pointercapture-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerlock/pointerevent_pointerlock_supercedes_capture-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock-manual.html: Removed.
  • web-platform-tests/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked-manual.html: Removed.

LayoutTests:

  • platform/mac/TestExpectations: delete expectations.
6:34 AM Changeset in webkit [252359] by alex
  • 3 edits in trunk/LayoutTests

[GTK][WPE] New tests crashing after added in the r251377
https://bugs.webkit.org/show_bug.cgi?id=204112

Unreviewed test gardening, new tests crashing.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
3:21 AM Changeset in webkit [252358] by Carlos Garcia Campos
  • 136 edits
    1 copy
    14 adds in trunk

Unreviewed. Update W3C WebDriver imported tests.

Tools:

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook._install_mozlog): Update the mozlog version and add mozterm that is ow required by mozlog.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:

(WebDriverW3CExecutor.init): Add alternate domain for cross-origin checks.

WebDriverTests:

  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/README.md:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/webdriver/webdriver/transport.py:
  • imported/w3c/tools/wptrunner:
  • imported/w3c/webdriver/tests/accept_alert/accept.py:
  • imported/w3c/webdriver/tests/add_cookie/add.py:
  • imported/w3c/webdriver/tests/dismiss_alert/dismiss.py:
  • imported/w3c/webdriver/tests/element_clear/clear.py:
  • imported/w3c/webdriver/tests/element_click/bubbling.py:
  • imported/w3c/webdriver/tests/execute_async_script/collections.py:
  • imported/w3c/webdriver/tests/execute_async_script/promise.py: Added.
  • imported/w3c/webdriver/tests/execute_async_script/properties.py: Added.
  • imported/w3c/webdriver/tests/execute_script/collections.py:
  • imported/w3c/webdriver/tests/execute_script/execute.py:
  • imported/w3c/webdriver/tests/execute_script/promise.py:
  • imported/w3c/webdriver/tests/execute_script/properties.py: Added.
  • imported/w3c/webdriver/tests/find_element_from_element/find.py:
  • imported/w3c/webdriver/tests/get_alert_text/get.py:
  • imported/w3c/webdriver/tests/get_current_url/get.py:
  • imported/w3c/webdriver/tests/get_element_attribute/get.py:
  • imported/w3c/webdriver/tests/get_element_property/get.py:
  • imported/w3c/webdriver/tests/get_named_cookie/get.py:
  • imported/w3c/webdriver/tests/get_window_rect/get.py:
  • imported/w3c/webdriver/tests/maximize_window/maximize.py:
  • imported/w3c/webdriver/tests/navigate_to/navigate.py:
  • imported/w3c/webdriver/tests/new_session/conftest.py:
  • imported/w3c/webdriver/tests/new_session/timeouts.py:
  • imported/w3c/webdriver/tests/new_window/init.py: Added.
  • imported/w3c/webdriver/tests/new_window/new.py: Added.
  • imported/w3c/webdriver/tests/new_window/new_tab.py: Added.
  • imported/w3c/webdriver/tests/new_window/new_window.py: Added.
  • imported/w3c/webdriver/tests/new_window/user_prompts.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/key_events.py:
  • imported/w3c/webdriver/tests/perform_actions/pointer.py:
  • imported/w3c/webdriver/tests/perform_actions/pointer_contextmenu.py:
  • imported/w3c/webdriver/tests/perform_actions/pointer_origin.py:
  • imported/w3c/webdriver/tests/perform_actions/support/keys.py:
  • imported/w3c/webdriver/tests/perform_actions/validity.py:
  • imported/w3c/webdriver/tests/permissions/set.py:
  • imported/w3c/webdriver/tests/send_alert_text/conftest.py: Added.
  • imported/w3c/webdriver/tests/send_alert_text/send.py:
  • imported/w3c/webdriver/tests/set_timeouts/set.py:
  • imported/w3c/webdriver/tests/set_window_rect/set.py:
  • imported/w3c/webdriver/tests/support/asserts.py:
  • imported/w3c/webdriver/tests/support/authentication.py: Added.
  • imported/w3c/webdriver/tests/support/defaults.py:
  • imported/w3c/webdriver/tests/support/fixtures.py:
  • imported/w3c/webdriver/tests/support/helpers.py:
  • imported/w3c/webdriver/tests/support/inline.py:
  • imported/w3c/webdriver/tests/switch_to_frame/cross_origin.py: Added.
  • imported/w3c/webdriver/tests/switch_to_frame/switch.py:
  • imported/w3c/webdriver/tests/switch_to_window/alerts.py: Added.
  • imported/w3c/webdriver/tests/take_element_screenshot/init.py:
  • imported/w3c/webdriver/tests/take_element_screenshot/iframe.py: Added.
  • imported/w3c/webdriver/tests/take_element_screenshot/screenshot.py:
  • imported/w3c/webdriver/tests/take_element_screenshot/user_prompts.py:
  • imported/w3c/webdriver/tests/take_screenshot/init.py:
  • imported/w3c/webdriver/tests/take_screenshot/iframe.py: Added.
  • imported/w3c/webdriver/tests/take_screenshot/screenshot.py:
  • imported/w3c/webdriver/tests/take_screenshot/user_prompts.py:
12:26 AM Changeset in webkit [252357] by Fujii Hironori
  • 7 edits
    4 adds in trunk

[Win] UIScriptController::zoomToScale not implemented
https://bugs.webkit.org/show_bug.cgi?id=180424

Reviewed by Alex Christensen.

Tools:

  • DumpRenderTree/PlatformWin.cmake:
  • DumpRenderTree/win/UIScriptControllerWin.cpp: Added.

(WTR::UIScriptController::create):
(WTR::UIScriptControllerWin::doAsyncTask):
(WTR::UIScriptControllerWin::zoomToScale):
(WTR::UIScriptControllerWin::zoomScale const):

  • DumpRenderTree/win/UIScriptControllerWin.h: Added.

(WTR::UIScriptControllerWin::UIScriptControllerWin):

  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:
  • WebKitTestRunner/PlatformWin.cmake:
  • WebKitTestRunner/win/UIScriptControllerWin.cpp: Added.

(WTR::UIScriptController::create):
(WTR::UIScriptControllerWin::doAsyncTask):
(WTR::UIScriptControllerWin::zoomToScale):
(WTR::UIScriptControllerWin::zoomScale const):

  • WebKitTestRunner/win/UIScriptControllerWin.h: Added.

(WTR::UIScriptControllerWin::UIScriptControllerWin):

LayoutTests:

  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:

Unmarked skipped tests for webkit.org/b/180424.
Marked fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html,
fast/visual-viewport/client-rects-relative-to-layout-viewport.html
and fast/visual-viewport/zoomed-fixed-scroll-down-then-up.html as
Failure.

12:12 AM Changeset in webkit [252356] by Carlos Garcia Campos
  • 19 edits in trunk

[GTK] WebDriver: implement new window command
https://bugs.webkit.org/show_bug.cgi?id=203994

Reviewed by Carlos Alberto Lopez Perez.

Source/WebDriver:

  • Session.cpp:

(WebDriver::Session::newWindow):

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::newWindow):

  • WebDriverService.h:

Source/WebKit:

Add new API to support new window command. The WebKitAutomationSession::create-web-view signal can now receive a
detail that can be "window" or "tab". Applications can use that to decide whether to add the new webview to a
new window or tab. WebKitWebView has a new construct only property automation-presentation-type, which is an
enum that can be either window or tab value. Appplications should use the new property when creating the web
view for automation to indicate whether the web view was added to a new window or tab.

  • UIProcess/API/glib/WebKitAutomationSession.cpp:

(webkit_automation_session_class_init):

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkit_web_view_get_automation_presentation_type):

  • UIProcess/API/gtk/WebKitAutomationSession.h:
  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitWebView.h:
  • UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Tools:

Add support for new window command to MiniBrowser and a test case to check the new API to unit tests.

  • MiniBrowser/gtk/BrowserWindow.c:

(findActiveWindow):
(browser_window_get_or_create_web_view_for_automation):
(browser_window_create_web_view_in_new_tab_for_automation):

  • MiniBrowser/gtk/BrowserWindow.h:
  • MiniBrowser/gtk/main.c:

(createWebViewForAutomationInWindowCallback):
(createWebViewForAutomationInTabCallback):
(automationStartedCallback):
(createWebViewForAutomationCallback): Deleted.

  • TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:

(testAutomationSessionRequestSession):

12:07 AM Changeset in webkit [252355] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

REGRESSION(r250707): [GTK] UIClient::setWindowFrame only works the first time
https://bugs.webkit.org/show_bug.cgi?id=204068

Reviewed by Adrian Perez de Castro.

This is because we are connecting to configure-event of parent window, but not returning FALSE from the callback
to propagate the event.

  • UIProcess/API/glib/WebKitUIClient.cpp:

(UIClient::windowConfigureEventCallback): Make it boolean and return FALSE.

Nov 11, 2019:

6:56 PM Changeset in webkit [252354] by achristensen@apple.com
  • 9 edits in trunk

Add SPI to access a WebsiteDataStore without instantiating it, and its configuration
https://bugs.webkit.org/show_bug.cgi?id=204089

Reviewed by Tim Horton.

Source/WebKit:

Calling WKWebViewConfiguration.websiteDataStore instantiates the default data store.
We need a way to query if it has been set but not instantiate anything if it hasn't.
We also need a way to access the configuration used to create a WKWebsiteDataStore like we do with WKWebView.
These have been requested to fix <rdar://problem/57091216> and I think they're a good idea in general.

Covered by API tests.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _websiteDataStoreIfExists]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _setDelegate:]):
(-[WKWebsiteDataStore set_delegate:]):
(-[WKWebsiteDataStore _configuration]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy const):
(WebKit::WebsiteDataStoreConfiguration::copy): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:

(TEST):

5:59 PM Changeset in webkit [252353] by Simon Fraser
  • 8 edits
    6 adds in trunk

Captcha images render as blank white space
https://bugs.webkit.org/show_bug.cgi?id=204013
rdar://problem/50095458

Reviewed by Zalan Bujtas.
Source/WebCore:

If updating z-order lists adds layers to the paint-order lists that have
dirty bits, we need to propagate those dirty bits up the tree so that
later dirty bit propagation doesn't stop prematurely. This could happen
when content triggered visibility, and the missing dirty bits caused
subframe layers to not get parented, resulting in missing layers with reCaptcha.
We do this by accumulating dirty bits inside of collectLayers().

Test: compositing/visibility/visibility-change-in-subframe.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::calculateClipRects const):

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

(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
(WebCore::RenderLayerCompositor::layerTreeAsText): Log so that debugging test failures is easier.

LayoutTests:

New test. Fails in WK1 because of compositing timing differences in iframes in DRT which
has a non auto-displaying window.

  • compositing/scrolling/async-overflow-scrolling/layer-for-negative-z-in-scroller-expected.txt: Progression.
  • compositing/visibility/resources/become-composited.html: Added.
  • compositing/visibility/resources/frame-with-visibility-change.html: Added.
  • compositing/visibility/visibility-change-in-subframe-expected.txt: Added.
  • compositing/visibility/visibility-change-in-subframe.html: Added.
  • platform/ios-wk2/compositing/scrolling/async-overflow-scrolling/layer-for-negative-z-in-scroller-expected.txt:
  • platform/ios-wk2/compositing/visibility/visibility-change-in-subframe-expected.txt: Added.
  • platform/mac-wk1/TestExpectations:
5:58 PM Changeset in webkit [252352] by pvollan@apple.com
  • 3 edits in trunk/Source/WebCore

Many legacy animation tests are timing out with VS2019
https://bugs.webkit.org/show_bug.cgi?id=204000

Reviewed by Brent Fulgham.

When compiling with VS2019, there is a compiler issue, where an Optional without a value is returned
when it should definitely have a value. Work around this issue by moving the local Optional value
when returning.

No new tests, covered by existing tests.

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::timeToNextService):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::timeToNextService):

5:49 PM Changeset in webkit [252351] by sihui_liu@apple.com
  • 5 edits in trunk/Source/WebKit

Add size file for CacheStorage
https://bugs.webkit.org/show_bug.cgi?id=204027

Reviewed by Youenn Fablet.

Keep the CacheStorage size in a separate file so that we can get that value without waiting for Engine to
initialize and read caches from disk.

No behavior change as the file is not in use now.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::writeSizeFile):
(WebKit::CacheStorage::Engine::readSizeFile):

  • NetworkProcess/cache/CacheStorageEngine.h:
  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::cachesSizeFilename):
(WebKit::CacheStorage::Caches::updateSizeFile):
(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::removeRecord):
(WebKit::CacheStorage::Caches::resetSpaceUsed):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:
5:47 PM Changeset in webkit [252350] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

iOS: fast/scrolling/ios/scrollTo-at-page-load.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=204062

Reviewed by Wenson Hsieh.

Wait until the next rendering update for a scroll event.`

  • fast/scrolling/ios/scrollTo-at-page-load.html:
5:35 PM Changeset in webkit [252349] by youenn@apple.com
  • 23 edits in trunk

DOMFormData should be available in workers
https://bugs.webkit.org/show_bug.cgi?id=176674

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/file/Worker-read-file-constructor.worker-expected.txt:
  • web-platform-tests/FileAPI/idlharness.worker-expected.txt:
  • web-platform-tests/FileAPI/url/sandboxed-iframe-expected.txt:
  • web-platform-tests/FileAPI/url/url-format.any.worker-expected.txt:
  • web-platform-tests/fetch/api/abort/serviceworker-intercepted.https-expected.txt:
  • web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt:
  • web-platform-tests/mimesniff/mime-types/parsing.any.worker-expected.txt:
  • web-platform-tests/xhr/access-control-and-redirects-async-same-origin-expected.txt:
  • web-platform-tests/xhr/access-control-preflight-async-header-denied-expected.txt:
  • web-platform-tests/xhr/access-control-preflight-async-method-denied-expected.txt:
  • web-platform-tests/xhr/access-control-preflight-async-not-supported-expected.txt:
  • web-platform-tests/xhr/access-control-preflight-sync-header-denied-expected.txt:
  • web-platform-tests/xhr/access-control-preflight-sync-method-denied-expected.txt:
  • web-platform-tests/xhr/access-control-preflight-sync-not-supported-expected.txt:
  • web-platform-tests/xhr/event-error.sub-expected.txt:
  • web-platform-tests/xhr/idlharness.any.worker-expected.txt:
  • web-platform-tests/xhr/send-conditional-cors-expected.txt:
  • web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:

Source/WebCore:

Expose DOMFormData and File to workers.
Covered by existing tests.

  • Modules/beacon/NavigatorBeacon.cpp:

(WebCore::NavigatorBeacon::sendBeacon):

  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::bodyAsFormData const):

  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::resourceRequest const):

  • fileapi/File.cpp:

(WebCore::File::computeNameAndContentType):
Isolate string as this might now get called from background threads.

  • fileapi/File.idl:
  • html/DOMFormData.cpp:

(WebCore::DOMFormData::DOMFormData):

  • html/DOMFormData.idl:
  • platform/network/FormData.cpp:

LayoutTests:

  • platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
5:27 PM Changeset in webkit [252348] by youenn@apple.com
  • 23 edits in trunk

Fail cross-origin redirection loads in case of CORS with redirection URLs having credentials
https://bugs.webkit.org/show_bug.cgi?id=204036

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

  • web-platform-tests/cors/redirect-userinfo-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.any-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location.any-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location.any.worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-schemes-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-to-dataurl.any-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-to-dataurl.any.worker-expected.txt:
  • web-platform-tests/fetch/security/redirect-to-url-with-credentials.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-redirect.https-expected.txt:
  • web-platform-tests/xhr/access-control-and-redirects-async-expected.txt:

Source/WebCore:

Update checks in SubresourceLoader according networking process.
Make error messages consistent,
Test: http/tests/navigation/page-cache-mediastream.html

  • loader/CrossOriginAccessControl.cpp:

(WebCore::validateCrossOriginRedirectionURL):
(WebCore::isValidCrossOriginRedirectionURL): Deleted.

  • loader/CrossOriginAccessControl.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):

Source/WebKit:

Implement https://fetch.spec.whatwg.org/#http-redirect-fetch steps 7 and 8.
Covered by updated tests.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkRedirection):

LayoutTests:

  • http/tests/security/shape-image-cors-redirect-error-message-logging-4-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-async.html:
5:18 PM Changeset in webkit [252347] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix incorrect assertion
https://bugs.webkit.org/show_bug.cgi?id=201908

  • heap/PreciseAllocation.cpp:

(JSC::PreciseAllocation::reuseForLowerTier):

5:04 PM Changeset in webkit [252346] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk/Source/WebCore

ASSERT at PlatformCALayerCocoa::avPlayerLayer(): [platformLayer() sublayers].count == 1
https://bugs.webkit.org/show_bug.cgi?id=204077
<rdar://problem/56640423>

Reviewed by Simon Fraser.

Make PlatformCALayerCocoa::avPlayer() more robust against underlying layer changes.

Promote WebVideoContainerLayer to its own header file and give the class a "playerLayer" property. In
PlatformCALayerCocoa::avPlayer(), use that new property to retrieve the AVPlayerLayer.

Drive-by fix: Make PlatformCALayerCocoa::create() return a Ref<PlatformCALayerCocoa> rather than its parent class type.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.h:
  • platform/graphics/avfoundation/objc/VideoFullscreenLayerManagerObjC.mm:

(WebCore::VideoFullscreenLayerManagerObjC::setVideoLayer):
(-[WebVideoContainerLayer setBounds:]): Deleted.
(-[WebVideoContainerLayer setPosition:]): Deleted.

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(WebCore::PlatformCALayerCocoa::create):
(WebCore::PlatformCALayerCocoa::layerTypeForPlatformLayer):
(WebCore::PlatformCALayerCocoa::clone const):
(WebCore::PlatformCALayerCocoa::avPlayerLayer const):

  • platform/graphics/ca/cocoa/WebVideoContainerLayer.h: Added.
  • platform/graphics/ca/cocoa/WebVideoContainerLayer.mm: Added.

(-[WebVideoContainerLayer initWithPlayerLayer:]):
(-[WebVideoContainerLayer playerLayer]):
(-[WebVideoContainerLayer setBounds:]):
(-[WebVideoContainerLayer setPosition:]):

4:58 PM Changeset in webkit [252345] by Ross Kirsling
  • 6 edits
    1 add in trunk

UTC offset for Samoa is miscalculated when !HAVE(TIMEGM)
https://bugs.webkit.org/show_bug.cgi?id=204032

Reviewed by Yusuke Suzuki.

JSTests:

  • complex.yaml:
  • complex/timezone-offset-apia.js: Added.

Add test to verify Date.prototype.getTimezoneOffset for TZ=Pacific/Apia.

Source/WTF:

We have code assuming that the world's time zones haven't changed in the past decade,
but Samoa changed from UTC-11 to UTC+13 at the beginning of 2012.

(Note: "Samoa" here means the Independent State of Samoa (Pacific/Apia) and not American Samoa (Pacific/Samoa).

See https://en.wikipedia.org/wiki/Time_in_Samoa for more information.)

  • wtf/DateMath.cpp:

(WTF::calculateUTCOffset):
Update "canned date" from 2009 to 2019.

Tools:

  • Scripts/run-jsc-stress-tests:

Allow environment variables to be passed to "complex" tests.

4:34 PM Changeset in webkit [252344] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Always use matched declarations cache fully when parent inherited style matches
https://bugs.webkit.org/show_bug.cgi?id=204083

Reviewed by Zalan Bujtas.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyMatchedProperties):

We used inheritedDataShared check here since it is always just pointer compare.
However instrumentation shows we miss out from singificant amount of cache benefit
due to this and the full check is not expensive.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::inheritedEqual const):
(WebCore::RenderStyle::inheritedNotEqual const): Deleted.

Reverse the logic.

(WebCore::RenderStyle::inheritedDataShared const): Deleted.

Not used anymore.

  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.cpp:

(WebCore::SVGRenderStyle::inheritedEqual const):
(WebCore::SVGRenderStyle::inheritedNotEqual const): Deleted.

  • rendering/style/SVGRenderStyle.h:
  • style/StyleChange.cpp:

(WebCore::Style::determineChange):

  • style/StyleTreeResolver.cpp:

(WebCore::Style::createInheritedDisplayContentsStyleIfNeeded):

4:17 PM Changeset in webkit [252343] by Kocsen Chung
  • 1 copy in tags/Safari-608.4.9.1.3

Tag Safari-608.4.9.1.3.

4:17 PM Changeset in webkit [252342] by Kocsen Chung
  • 1 copy in tags/Safari-608.4.9.0.3

Tag Safari-608.4.9.0.3.

3:57 PM Changeset in webkit [252341] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix alignment adjustment when reusing PreciseAllocation
https://bugs.webkit.org/show_bug.cgi?id=201908

  • heap/PreciseAllocation.cpp:

(JSC::PreciseAllocation::reuseForLowerTier):

3:26 PM Changeset in webkit [252340] by Kate Cheney
  • 6 edits in trunk/LayoutTests

CrashTracer: com.apple.WebKit.Networking.Development at com.apple.WebKit: WebKit::NetworkProcess::setIsRunningResourceLoadStatisticsTest
https://bugs.webkit.org/show_bug.cgi?id=204081
<rdar://problem/56889809>

Reviewed by John Wilander.

This crash was happening in two places. First, in
has-storage-access-true-if-third-party-has-cookies-database.html,
the test was incorrectly marked as ephemeral then tried to use ITP by
calling setEnableFeature. ITP should not be used in ephemeral
sessions. There was also a small bug, ITP should be set to true (not
false) at the beginning of this test.

Second, both
has-storage-access-true-if-third-party-has-cookies-ephemeral.html and
has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html
had document.hrefs which redirected back to the non-ephemeral test cases after
setting a cookie. This caused a crash when trying to set ITP to false
using an ephemeral sessionID.

  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-database.html:
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database-expected.txt:
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html:
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-expected.txt:
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html:
2:43 PM Changeset in webkit [252339] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Empty property sets should not mark MatchedProperties uncacheable
https://bugs.webkit.org/show_bug.cgi?id=204079

Reviewed by Zalan Bujtas.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::addElementStyleProperties):

Bail out if there are no incoming properties.

2:13 PM Changeset in webkit [252338] by aestes@apple.com
  • 8 edits
    12 adds in trunk

PaymentRequest / PaymentResponse should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203101
<rdar://problem/56744409>

Reviewed by Chris Dumez.

Source/WebCore:

Removed PaymentRequest's and PaymentResponse's override of
ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED and implemented
ActiveDOMObject::suspend instead.

Tests: http/tests/paymentrequest/page-cache-closed-payment-request.https.html

http/tests/paymentrequest/page-cache-completed-payment-response.https.html
http/tests/paymentrequest/page-cache-created-payment-request.https.html
http/tests/paymentrequest/page-cache-created-payment-response.https.html
http/tests/paymentrequest/page-cache-interactive-payment-request.https.html
http/tests/paymentrequest/page-cache-retried-payment-response.https.html

  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::suspend):
(WebCore::PaymentRequest::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.

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

(WebCore::PaymentResponse::suspend):
(WebCore::PaymentResponse::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.

  • Modules/paymentrequest/PaymentResponse.h:
  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::callFunction):

LayoutTests:

  • http/tests/paymentrequest/page-cache-closed-payment-request.https-expected.txt: Added.
  • http/tests/paymentrequest/page-cache-closed-payment-request.https.html: Added.
  • http/tests/paymentrequest/page-cache-completed-payment-response.https-expected.txt: Added.
  • http/tests/paymentrequest/page-cache-completed-payment-response.https.html: Added.
  • http/tests/paymentrequest/page-cache-created-payment-request.https-expected.txt: Added.
  • http/tests/paymentrequest/page-cache-created-payment-request.https.html: Added.
  • http/tests/paymentrequest/page-cache-created-payment-response.https-expected.txt: Added.
  • http/tests/paymentrequest/page-cache-created-payment-response.https.html: Added.
  • http/tests/paymentrequest/page-cache-interactive-payment-request.https-expected.txt: Added.
  • http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: Added.
  • http/tests/paymentrequest/page-cache-retried-payment-response.https-expected.txt: Added.
  • http/tests/paymentrequest/page-cache-retried-payment-response.https.html: Added.
  • resources/js-test.js:

(shouldReject):
(shouldRejectWithErrorName):

1:41 PM Changeset in webkit [252337] by youenn@apple.com
  • 7 edits
    2 adds in trunk

Make MediaStream/MediaStreamTrack page cache friendly
https://bugs.webkit.org/show_bug.cgi?id=204030

Reviewed by Chris Dumez.

Source/WebCore:

Test: http/tests/navigation/page-cache-mediastream.html

  • Modules/mediastream/MediaStream.cpp:

Remove the unnneeded opt-out of page cache in case of MediaStream.

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::suspend):
In case of a capture track, end it at suspend time but fire ended event at resume time.

  • Modules/mediastream/MediaStreamTrack.h:

LayoutTests:

  • platform/mac-wk1/TestExpectations: Disabled test for WK1.
  • http/tests/navigation/page-cache-mediastream-expected.txt: Added.
  • http/tests/navigation/page-cache-mediastream.html: Added.
11:42 AM Changeset in webkit [252336] by Matt Lewis
  • 22 edits in trunk

Revert "[css-lists] Implement list-style-type: <string>"

This reverts commit 0727a951800d22b0d8413293ef7ff42cedeb5499.

11:24 AM Changeset in webkit [252335] by eric.carlson@apple.com
  • 32 edits
    3 moves
    31 adds
    5 deletes in trunk/LayoutTests

Update WPT mediacapture-streams tests
https://bugs.webkit.org/show_bug.cgi?id=204073

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/mediacapture-streams/GUM-deny.https.html:
  • web-platform-tests/mediacapture-streams/GUM-impossible-constraint.https.html:
  • web-platform-tests/mediacapture-streams/GUM-optional-constraint.https.html:
  • web-platform-tests/mediacapture-streams/GUM-trivial-constraint.https.html:
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt: Removed.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-all.html: Removed.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt: Removed.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices.html: Removed.
  • web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https.html:
  • web-platform-tests/mediacapture-streams/MediaDevices-getUserMedia.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaDevices-getUserMedia.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none.https-expected.txt: Removed.
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none.https.html: Removed.
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-add-audio-track.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-audio-only.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-finished-add.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-gettrackid.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-idl.https.html:
  • web-platform-tests/mediacapture-streams/MediaStream-removetrack.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStream-removetrack.https.html:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-audio-is-silence.https.html:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-end-manual.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-end-manual.https.html:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-getSettings.https-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-getSettings.https.html:
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-id.https.html:
  • web-platform-tests/mediacapture-streams/OWNERS: Removed.
  • web-platform-tests/mediacapture-streams/historical.html: Removed.
  • web-platform-tests/mediacapture-streams/w3c-import.log:

LayoutTests:

  • tests-options.json:
11:01 AM Changeset in webkit [252334] by Matt Lewis
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r252151.

This broke internal builds and tests along with
https://bugs.webkit.org/show_bug.cgi?id=167729#c18. For more
information discuss with your reviewers.

Reverted changeset:

"Keep None value at the end of the ListStyleType enum"
https://bugs.webkit.org/show_bug.cgi?id=203883
https://trac.webkit.org/changeset/252151

10:38 AM Changeset in webkit [252333] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Unable to view .pages files
https://bugs.webkit.org/show_bug.cgi?id=204076
<rdar://problem/57079557>

Reviewed by Brent Fulgham.

This is caused by a syscall being blocked by the sandbox. The syscall was previously unused in the
WebContent process.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
10:28 AM Changeset in webkit [252332] by dino@apple.com
  • 2 edits in trunk/Tools

Regression r252309: API Test TestWebKitAPI._WKActivatedElementInfo.InfoForLinkAroundImage is failing consistently
https://bugs.webkit.org/show_bug.cgi?id=204058
<rdar://problem/57056000>

Unreviewed.

Remove test that looks at screen dimensions, because it fails on iPad.

  • TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:

(TestWebKitAPI::TEST):

10:06 AM Changeset in webkit [252331] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Ensure MediaRemote callback always called.
https://bugs.webkit.org/show_bug.cgi?id=204072
<rdar://problem/56301651>

Reviewed by Eric Carlson.

MediaRemote.framework will complain if the callback passed in via MRMediaRemoteAddAsyncCommandHandlerBlock()
is not called for each invocation of the handler. Make sure we always call the completion handler, even in
the case of unsupported commands, or if the listener object has already been destroyed.

  • platform/mac/RemoteCommandListenerMac.mm:

(WebCore::RemoteCommandListenerMac::RemoteCommandListenerMac):

10:01 AM Changeset in webkit [252330] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

[Picture-in-Picture Web API] Support picture-in-picture CSS pseudo-class
https://bugs.webkit.org/show_bug.cgi?id=203493

Patch by Peng Liu <Peng Liu> on 2019-11-11
Reviewed by Dean Jackson.

Source/WebCore:

Add CSS pseudo class ":picture-in-picture" for a video element in the picture-in-picture mode.

Test: media/picture-in-picture/picture-in-picture-api-css-selector.html

  • Modules/pictureinpicture/HTMLVideoElementPictureInPicture.cpp:

(WebCore::HTMLVideoElementPictureInPicture::didEnterPictureInPicture):
(WebCore::HTMLVideoElementPictureInPicture::didExitPictureInPicture):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText const):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne const):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesPictureInPicturePseudoClass):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

  • media/picture-in-picture/picture-in-picture-api-css-selector-expected.txt: Added.
  • media/picture-in-picture/picture-in-picture-api-css-selector.html: Added.
9:49 AM Changeset in webkit [252329] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[EWS] Use named arguments in factories.py
https://bugs.webkit.org/show_bug.cgi?id=204071

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/factories.py:

(Factory.init):
(StyleFactory.init):
(WatchListFactory.init):
(BindingsFactory.init):
(WebKitPerlFactory.init):
(WebKitPyFactory.init):
(BuildFactory.init):
(TestFactory.init):
(JSCTestsFactory.init):
(WindowsFactory.init):
(WinCairoFactory.init):
(GTKFactory.init):
(WPEFactory.init):
(ServicesFactory.init):

9:29 AM Changeset in webkit [252328] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Typo in assertion in validateCPS in DFGValidate.cpp ("Unexecpted")
https://bugs.webkit.org/show_bug.cgi?id=204066

Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-11-11
Reviewed by Antti Koivisto.

  • dfg/DFGValidate.cpp:
9:07 AM Changeset in webkit [252327] by Kocsen Chung
  • 5 edits in branches/safari-608.4.9.1-branch

Cherry-pick r252248. rdar://problem/57058391

[WebAuthn] Return NotAllowedError immediately for UI cancellations
https://bugs.webkit.org/show_bug.cgi?id=203937
<rdar://problem/56962420>

Reviewed by Brent Fulgham.

Source/WebKit:

NotAllowedError representing UI cancellations should be returned to sites
immediately such that sites could show appropriate error page immediately.

Covered by existing tests.

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::cancelRequest): (WebKit::AuthenticatorManager::clearState): (WebKit::AuthenticatorManager::resetState): Deleted.
  • UIProcess/WebAuthentication/AuthenticatorManager.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST):

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

8:58 AM Changeset in webkit [252326] by Kocsen Chung
  • 5 edits in branches/safari-608.4.9.0-branch

Cherry-pick r252248. rdar://problem/57040121

[WebAuthn] Return NotAllowedError immediately for UI cancellations
https://bugs.webkit.org/show_bug.cgi?id=203937
<rdar://problem/56962420>

Reviewed by Brent Fulgham.

Source/WebKit:

NotAllowedError representing UI cancellations should be returned to sites
immediately such that sites could show appropriate error page immediately.

Covered by existing tests.

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::cancelRequest): (WebKit::AuthenticatorManager::clearState): (WebKit::AuthenticatorManager::resetState): Deleted.
  • UIProcess/WebAuthentication/AuthenticatorManager.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST):

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

8:24 AM Changeset in webkit [252325] by commit-queue@webkit.org
  • 7 edits in trunk

Unreviewed, rolling out r251460.
https://bugs.webkit.org/show_bug.cgi?id=204070

This patch caused a crash due to synchronous event firing
(Requested by jernoble on #webkit).

Reverted changeset:

"media/W3C/video/networkState/networkState_during_progress.html
is flaky"
https://bugs.webkit.org/show_bug.cgi?id=76280
https://trac.webkit.org/changeset/251460

8:23 AM Changeset in webkit [252324] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

EWS should retry build in case of kill-old-processes failure
https://bugs.webkit.org/show_bug.cgi?id=203858

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(KillOldProcesses.evaluateCommand): Retry the build in case of failure.
(KillOldProcesses.getResultSummary): Update the build-step summary string.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
7:16 AM Changeset in webkit [252323] by Carlos Garcia Campos
  • 14 edits in trunk

WebDriver: implement proxy support
https://bugs.webkit.org/show_bug.cgi?id=180408

Reviewed by Carlos Alberto Lopez Perez.

Source/JavaScriptCore:

Add optional Proxy struct to session capabilities.

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/glib/RemoteInspectorServer.cpp:

(Inspector::processSessionCapabilities):

Source/WebDriver:

Handle proxy object in capabilities.

  • Capabilities.h: Add Proxy struct.
  • WebDriverService.cpp:

(WebDriver::deserializeProxy): Deserialize the proxy from capabilities.
(WebDriver::WebDriverService::parseCapabilities const): Get the deserialized proxy.
(WebDriver::WebDriverService::validatedCapabilities const): Ensure proxy object is valid.
(WebDriver::WebDriverService::matchCapabilities const): Check proxy type is supported by the platform.
(WebDriver::WebDriverService::createSession): Only set an empty proxy object in capabilities if we don't have a
deserialized proxy.

  • WebDriverService.h:
  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::buildSessionCapabilities const): Send the proxy settings to the browser.

  • glib/WebDriverServiceGLib.cpp:

(WebDriver::WebDriverService::platformSupportProxyType const): Return false if proxy type is "pac".

Source/WebKit:

  • UIProcess/API/glib/WebKitAutomationSession.cpp:

(parseProxyCapabilities): Parse the proxy settings from capabilities.
(webkitAutomationSessionCreate): Set the proxy settings received from capabilities.

WebDriverTests:

Unskip the tests that are now passing.

7:13 AM Changeset in webkit [252322] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Line::m_trimmableRuns does not need to be a ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=204061
<rdar://problem/57064178>

Reviewed by Antti Koivisto.

Switch from ListHashSet to Vector.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::removeTrailingTrimmableContent):
(WebCore::Layout::Line::appendTextContent):

  • layout/inlineformatting/InlineLine.h:
Note: See TracTimeline for information about the timeline view.