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

Timeline



Jul 4, 2020:

6:54 PM Changeset in webkit [263948] by Darin Adler
  • 2 edits in trunk/Source/WTF

[Cocoa] Add almost everything from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213964

Reviewed by Sam Weinig.

Added logic that matches what FeatureDefines.xcconfig does for everything
except for ENABLE_EXPERIMENTAL_FEATURES.

Changed format so we mostly list platforms where we do not want to enable
a certain feature; also order it pretty consistently macOS, iOS, Mac Catalyst,
watchOS, then tvOS. This format highlights possible mistakes when not enabling
a feature on some platforms in an easier to understand way.

  • wtf/PlatformEnableCocoa.h:

(ENABLE_AIRPLAY_PICKER): List platforms that do *not* enable this.
(ENABLE_APPLE_PAY): All except Mac Catalyst, watchOS, tvOS.
Not sure why disabled in Mac Catalyst, but replicates FeatureDefines.xcconfig.
(ENABLE_APPLE_PAY_REMOTE_UI): List platforms that do *not* enable this.
(ENABLE_AUTOCAPITALIZE): List platforms that do *not* enable this.
(ENABLE_AUTOCORRECT): List platforms that do *not* enable this.
(ENABLE_CONTENT_FILTERING): All except older watchOS simulator and tvOS.
(ENABLE_CORE_IMAGE_ACCELERATED_FILTER_RENDER): Re-sorted this.
(ENABLE_CSS_CONIC_GRADIENTS): All except older macOS and tvOS. The tvOS
exception seems questionable, so added a FIXME.
(ENABLE_DARK_MODE_CSS): All except watchOS and tvOS.
(ENABLE_DATA_INTERACTION): All except macOS, watchOS, and tvOS.
(ENABLE_DATA_DETECTION): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_EDITABLE_REGION): Only iOS.
(ENABLE_ENCRYPTED_MEDIA): All except older macOS and Mac Catalyst.
(ENABLE_FULLSCREEN_API): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_FULL_KEYBOARD_ACCESS): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_GAMEPAD): All except watchOS.
(ENABLE_INPUT_TYPE_DATE): All except macOS, Mac Catalyst, and tvOS.
(ENABLE_INPUT_TYPE_DATETIMELOCAL): Ditto.
(ENABLE_INPUT_TYPE_MONTH): Ditto.
(ENABLE_INPUT_TYPE_TIME): Ditto.
(ENABLE_INPUT_TYPE_WEEK): Ditto.
(ENABLE_MEDIA_CAPTURE): All except macOS.
(ENABLE_MEDIA_SOURCE): All except Mac Catalyst, watchOS, tvOS, and
all simulators.
(ENABLE_MEDIA_STREAM): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_NAVIGATOR_STANDALONE): All iOS family. (Considered writing as
all except macOS, but left like this to match some .cpp code for now.)
(ENABLE_OVERFLOW_SCROLLING_TOUCH): All iOS family.
(ENABLE_PICTURE_IN_PICTURE_API): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_SPEECH_SYNTHESIS): All except Mac Catalyst.
(ENABLE_REVEAL): All except older macOS, watchOS, and tvOS.
(ENABLE_SIGILL_CRASH_ANALYZER): All except macOS and watchOS.
(ENABLE_TAKE_UNBOUNDED_NETWORKING_ASSERTION): All except macOS, watchOS, and tvOS.
(ENABLE_VIDEO_PRESENTATION_MODE): All except simulators and tvOS.
(ENABLE_WEBGPU): All except older macOS, Mac Catalyst, and simulators.
(ENABLE_WEB_API_STATISTICS): Re-sorted this.
(ENABLE_WEB_AUTHN): All except Mac Catalyst, watchOS, and tvOS.
(ENABLE_WEB_RTC): All except Mac Catalyst, watchOS, and tvOS.

2:32 PM Changeset in webkit [263947] by Darin Adler
  • 14 edits in trunk

[Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213962

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

Source/WTF:

  • wtf/PlatformEnableCocoa.h:

(ENABLE_DRAG_SUPPORT): Before, this was enabled for iOS, iOS simulator, and Mac Catalyst in the
FeatureDefines.xcconfig file, but then disabled for any other iOS family platform here, then enabled
by default in PlatformEnable.h, which covered Mac. Instead, disable here only for watchOS and tvOS,
which gives the same result in a more straightforward way.
(ENABLE_GEOLOCATION): Before, this was enabled for iOS, iOS simulator, Mac Catalyst, and Mac in the
FeatureDefines.xcconfig file, then enabled for any other iOS family platform here. Instead, just
enable here for all Cocoa platforms, which gives the same result in a more straightforward way.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned

in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

2:17 PM Changeset in webkit [263946] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][BFC] Move PositiveAndNegativeVerticalMargin to UsedVerticalMargin
https://bugs.webkit.org/show_bug.cgi?id=213963

Reviewed by Antti Koivisto.

Now that UsedVerticalMargin is not used in Display::Box, we can merged these 2 layout structures.

  • layout/MarginTypes.h:

(WebCore::Layout::UsedVerticalMargin::PositiveAndNegativePair::Values::isNonZero const):
(WebCore::Layout::PositiveAndNegativeVerticalMargin::Values::isNonZero const): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingState.h:

(WebCore::Layout::BlockFormattingState::hasUsedVerticalMargin const):
(WebCore::Layout::BlockFormattingState::setPositiveAndNegativeVerticalMargin): Deleted.
(WebCore::Layout::BlockFormattingState::hasPositiveAndNegativeVerticalMargin const): Deleted.
(WebCore::Layout::BlockFormattingState::positiveAndNegativeVerticalMargin const): Deleted.

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::computedPositiveAndNegativeMargin const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginValue const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeValues const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::positiveNegativeMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):

  • layout/blockformatting/PrecomputedBlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::precomputedPositiveNegativeValues const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::precomputedPositiveNegativeMarginBefore const):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

2:09 PM Changeset in webkit [263945] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][BFC] Remove redundant out-of-flow height-and-margin handling
https://bugs.webkit.org/show_bug.cgi?id=213959

Reviewed by Antti Koivisto.

We will never end up here with an out-of-flow box.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

1:06 PM Changeset in webkit [263944] by Alexey Shvayka
  • 5 edits
    3 adds in trunk

%TypedArray%.prototype.{indexOf,lastIndexOf} are not spec-perfect
https://bugs.webkit.org/show_bug.cgi?id=213715

Reviewed by Yusuke Suzuki.

JSTests:

  • microbenchmarks/array-prototype-indexOf-empty.js: Added.
  • microbenchmarks/typed-array-indexOf-empty.js: Added.
  • stress/array-indexof-tointeger-order.js: Added.
  • test262/expectations.yaml: Mark 10 test cases as passing.

Source/JavaScriptCore:

This patch:

  1. Implements step 3 of {Array,%TypedArray%}.prototype.indexOf [1] and %TypedArray%.prototype.lastIndexOf [2] since it is observable when second argument is an object with userland toString() or valueOf() method. Advances provided microbenchmark by 100% for Array and by 25% for %TypedArray%.
  1. Removes argument count check from %TypedArray%.prototype.{indexOf,lastIndexOf}, allowing these methods to be invoked w/o arguments. The spec treats missing arguments as undefined, always returning -1 for typed arrays.

Both changes align JSC with V8 and SpiderMonkey.

[1]: https://tc39.es/ecma262/#sec-array.prototype.indexof
[2]: https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):

1:06 PM Changeset in webkit [263943] by Alan Bujtas
  • 15 edits in trunk/Source/WebCore

[LFC][BFC] Store used vertical margin values in the formatting state
https://bugs.webkit.org/show_bug.cgi?id=213958

Reviewed by Antti Koivisto.

Layout related vertical margin values (collapsed vs. non-collapsed) should all go to the FormattingState, while
Display::Box should only have the final values.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::staticVerticalPositionForOutOfFlowPositioned const):

  • layout/MarginTypes.h:

(WebCore::Layout::marginBefore):
(WebCore::Layout::marginAfter):
(WebCore::Layout::UsedVerticalMargin::before const): Deleted.
(WebCore::Layout::UsedVerticalMargin::after const): Deleted.
(WebCore::Layout::UsedVerticalMargin::isCollapsedThrough const): Deleted.
(WebCore::Layout::UsedVerticalMargin::nonCollapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::collapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::hasCollapsedValues const): Deleted.
(WebCore::Layout::UsedVerticalMargin::setCollapsedValues): Deleted.
(WebCore::Layout::UsedVerticalMargin::UsedVerticalMargin): Deleted.

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::precomputeVerticalPositionForBoxAndAncestors):
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::verticalPositionWithMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):

  • layout/blockformatting/BlockFormattingState.h:

(WebCore::Layout::BlockFormattingState::setUsedVerticalMargin):
(WebCore::Layout::BlockFormattingState::usedVerticalMargin const):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::updateMarginAfterForPreviousSibling):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):
(WebCore::Display::Box::nonCollapsedMarginBox const): Deleted.

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::rectWithMargin const):
(WebCore::Display::Box::setHasValidVerticalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::marginBefore const):
(WebCore::Display::Box::marginAfter const):
(WebCore::Display::Box::VerticalMargin::before const): Deleted.
(WebCore::Display::Box::VerticalMargin::after const): Deleted.
(WebCore::Display::Box::VerticalMargin::isCollapsedThrough const): Deleted.
(WebCore::Display::Box::VerticalMargin::nonCollapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::collapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::hasCollapsedValues const): Deleted.
(WebCore::Display::Box::VerticalMargin::setCollapsedValues): Deleted.
(WebCore::Display::Box::hasCollapsedThroughMargin const): Deleted.
(WebCore::Display::Box::setHasValidVerticalNonCollapsedMargin): Deleted.
(WebCore::Display::Box::VerticalMargin::VerticalMargin): Deleted.
(WebCore::Display::Box::VerticalMargin::NonCollapsedValues::NonCollapsedValues): Deleted.
(WebCore::Display::Box::VerticalMargin::CollapsedValues::CollapsedValues): Deleted.
(WebCore::Display::Box::nonCollapsedMarginBefore const): Deleted.
(WebCore::Display::Box::nonCollapsedMarginAfter const): Deleted.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::verticalPositionWithClearance const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::layoutInFlowContent):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):
(WebCore::Layout::TableFormattingContext::layoutCell):

12:21 PM Changeset in webkit [263942] by Darin Adler
  • 12 edits in trunk

[Cocoa] Remove unconditional features from FeatureDefines.xcconfig, making sure they are covered in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,

or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.

12:20 PM Changeset in webkit [263941] by weinig@apple.com
  • 45 edits
    1 delete in trunk

Part 1 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
https://bugs.webkit.org/show_bug.cgi?id=213948

Reviewed by Darin Adler.

Source/WebCore:

Begin converging SimpleColor and SRGBA<uint8_t>, starting with removing usages that
were getting SimpleColors to access or operate on the color's components.

  • Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>
  • Replace toSRGBALossy() with toSRGBALossy<float>().
  • Remove direct color component accessors from SimpleColor.
  • Add new ARGB type to support explicit conversion from packed ARGB bits to a color type.
  • Update premulitplication functions to operate on SRGBA<uint8_t> and rename them to match existing function operating on SRGBA<float>.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Removes SimpleColor.cpp

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::colorValue const):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(getAttributeSetForAccessibilityObject):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::colorValue const):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • css/DeprecatedCSSOMRGBColor.h:

Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/Color.cpp:

(WebCore::Color::lightened const):
(WebCore::Color::darkened const):
(WebCore::Color::lightness const):
(WebCore::Color::luminance const):
(WebCore::Color::semanticColor const):
(WebCore::Color::toSRGBASimpleColorLossy const): Deleted.
(WebCore::Color::toSRGBALossy const): Deleted.

  • platform/graphics/Color.h:

Remove toSRGBASimpleColorLossy() and templatize toSRGBALossy() to support both
lossy conversion to byte based components as well.

  • platform/graphics/ColorBlending.cpp:

(WebCore::blendSourceOver):
(WebCore::blendWithWhite):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

(WebCore::blend):
(WebCore::blendWithoutPremultiply):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>. Adopt new premultipliedCeiling
and unpremultiplied functions that operate on SRGBA<uint8_t> (rather than SimpleColor) and
clamping conversion to SRGBA<uint8_t> via convertToComponentBytes<SRGBA>. premultipliedCeiling
now works correctly for 0 alpha, so no workaround is needed anymore.

  • platform/graphics/ColorTypes.h:

(WebCore::asARGB):
(WebCore::asSRGBA):
Add new type of color struct representing a format packing. The initial one is ARGB to support
the few places using SimpleColor to manipulate ARGB pixel data.

  • platform/graphics/ColorUtilities.cpp:

(WebCore::unpremultiplied):
(WebCore::premultipliedFlooring):
(WebCore::premultipliedCeiling):
(WebCore::unpremultipliedComponentByte):

  • platform/graphics/ColorUtilities.h:

(WebCore::convertToComponentBytes):
(WebCore::convertToComponentFloats):
Move remaining premultiplication functions here (from SimpleColor.h/cpp) and reimplement
to operate on SRGBA<uint8_t>. Also slightly rename, premultiply -> premultiplied, to
match existing premultiplied functions. While moving them, also fix the premultiplied
functions to better support 0 alpha to avoid workarounds in callers.

Additional, this adds convertToComponentBytes/convertToComponentFloats helper functions
which convert to/from uint8_t/float based color types, and support creating color types
from values potentially outside of their supported value range. Right now, that value
range is always considerer to be 0-255 for uint8_t and 0-1 for float, but that can be
chnaged in the future by allowing color type structs to indicate their supported ranges.

  • platform/graphics/ExtendedColor.cpp:

(WebCore::ExtendedColor::toSRGBAFloatComponentsLossy const):
(WebCore::ExtendedColor::toSRGBALossy const): Deleted.

  • platform/graphics/ExtendedColor.h:

(WebCore::ExtendedColor::toSRGBALossy const):
Rename existing toSRGBALossy() to toSRGBAFloatComponentsLossy() and replace templatize
toSRGBALossy(), with the uint8_t case just down converting via new convertToComponentBytes.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::fillRect):
(WebCore::ImageBackingStore::setPixel):
(WebCore::ImageBackingStore::blendPixel):
(WebCore::ImageBackingStore::pixelValue const):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions. Also, update the interface to take pixel
components as uint8_t, rather than unsigned, as that is what the callers are passing anyway,
and it avoids us having to clamp/cast manually all over the case.

  • platform/graphics/SimpleColor.cpp: Removed.
  • platform/graphics/SimpleColor.h:

(WebCore::SimpleColor::alphaComponent const):
(WebCore::SimpleColor::asSRGBA const):
(WebCore::SimpleColor::redComponent const):
(WebCore::SimpleColor::greenComponent const):
(WebCore::SimpleColor::blueComponent const):
(WebCore::operator==):
(WebCore::makeSimpleColor):
Simplify interface, making red, green and blue component accessors private and having
callers all use SRGBA directly. Remove premultiplication functions in favor of new ones
in ColorUtilities.

  • platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:

(WebCore::PlatformCAAnimationCocoa::setFromValue):
(WebCore::PlatformCAAnimationCocoa::setToValue):
(WebCore::PlatformCAAnimationCocoa::setValues):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

(PlatformCAAnimationWin::setFromValue):
(PlatformCAAnimationWin::setToValue):
(PlatformCAAnimationWin::setValues):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::setSourceRGBAFromColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::addColorStopRGBA):
(WebCore::setCornerColorRGBA):
(WebCore::interpolateColorStop):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/cairo/ImageBufferCairoImageSurfaceBackend.cpp:

(WebCore::ImageBufferCairoImageSurfaceBackend::platformTransformColorSpace):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions.

  • platform/graphics/cairo/NativeImageCairo.cpp:

(WebCore::nativeImageSinglePixelSolidColor):
Replace usage of SimpleColor with new ARGB type for conversion from ARGB to SRGBA<uint8_t>.
Update to use new premulitplication functions.

  • platform/graphics/cpu/arm/filters/FELightingNEON.h:

(WebCore::FELighting::platformApplyNeon):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::drawLighting):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::transformColor const):
(WebCore::FilterOperations::inverseTransformColor const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/gtk/ColorGtk.cpp:

(WebCore::Color::operator GdkRGBA const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawBorder):
(WebCore::TextureMapperGL::drawNumber):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::clearColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/ColorDirect2D.cpp:

(WebCore::Color::operator D2D1_COLOR_F const):
(WebCore::Color::operator D2D1_VECTOR_4F const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/GradientDirect2D.cpp:

(WebCore::Gradient::generateGradient):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • platform/graphics/win/GraphicsContextCGWin.cpp:

(WebCore::GraphicsContext::drawDotsForDocumentMarker):
Replace direct usage component access from SimpleColor with usage of accessed SRGBA<uint8_t>.

  • platform/graphics/win/GraphicsContextDirect2D.cpp:

(WebCore::GraphicsContext::colorWithGlobalAlpha const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::disabledTextColor const):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/RenderThemeIOS.mm:

(WebCore::shouldUseConvexGradient):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • rendering/TextPaintStyle.cpp:

(WebCore::textColorIsLegibleAgainstBackgroundColor):
Replace toSRGBALossy() with toSRGBALossy<float>().

  • svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:

(WebCore::SVGAnimationColorFunction::animate):
Replace toSRGBASimpleColorLossy() with toSRGBALossy<uint8_t>.

Source/WebKit:

  • UIProcess/API/wpe/WebKitColor.cpp:

(webkitColorFillFromWebCoreColor):

  • UIProcess/gtk/ViewGestureControllerGtk.cpp:

(WebKit::ViewGestureController::beginSwipeGesture):

  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:

(WebKit::animationValueFromKeyframeValue):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::getDocumentBackgroundColor):
Adapt to use templatized toSRGBALossy<float/uint8_t>.

Tools:

  • TestWebKitAPI/Tests/WebCore/ColorTests.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:

(TestWebKitAPI::TEST):
Adapt tests to use templatized toSRGBALossy<float/uint8_t>.

12:17 PM Changeset in webkit [263940] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC] Remove redundant Display::Box::HorizontalMargin c'tors
https://bugs.webkit.org/show_bug.cgi?id=213957

Reviewed by Antti Koivisto.

Let's just have a very simple Display::Box:HorizontalMargin struct.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::HorizontalMargin::HorizontalMargin): Deleted.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):

11:56 AM Changeset in webkit [263939] by svillar@igalia.com
  • 4 edits in trunk

[Flatpak SDK] Require OpenXR 1.0.9
https://bugs.webkit.org/show_bug.cgi?id=213930

Reviewed by Philippe Normand.

.:

Require version 1.0.9 because is the first one that include EGL support for Monado.

  • Source/cmake/OptionsWPE.cmake:

Tools:

  • buildstream/elements/sdk/openxr.bst:
11:37 AM Changeset in webkit [263938] by Alan Bujtas
  • 16 edits in trunk/Source/WebCore

[LFC] Do not cache computed horizontal margin values
https://bugs.webkit.org/show_bug.cgi?id=213956

Reviewed by Antti Koivisto.

Outside of the width + margin computation, computed horizontal margin values are only required by
float positioning. Let's just re-computed them on demand (which is basically just a style.marginStart/end resolve).

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layout):

  • layout/LayoutUnits.h:
  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computePositionToAvoidFloats):
(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::Box):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::setHasValidVerticalNonCollapsedMargin):
(WebCore::Display::Box::setHasValidHorizontalComputedMargin): Deleted.
(WebCore::Display::Box::ComputedHorizontalMargin::ComputedHorizontalMargin): Deleted.
(WebCore::Display::Box::setHorizontalComputedMargin): Deleted.
(WebCore::Display::Box::computedMarginStart const): Deleted.
(WebCore::Display::Box::computedMarginEnd const): Deleted.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::computedHorizontalMargin):
(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):

  • layout/floats/FloatingContext.h:
  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForRows):
(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):
(WebCore::Layout::TableFormattingContext::layoutCell):

10:18 AM Changeset in webkit [263937] by Darin Adler
  • 2 edits in trunk/Tools

Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420

  • Scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

9:43 AM Changeset in webkit [263936] by Lauro Moura
  • 2 edits in trunk/WebDriverTests

[WebDriver][WPE][GTK] Garden post update failures

Unreviewed test gardening.

9:41 AM Changeset in webkit [263935] by Darin Adler
  • 16 edits
    1 add in trunk

Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420

Reviewed by Don Olmstead.

.:

  • Source/cmake/WebKitCommon.cmake: Removed call to SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
  • Source/cmake/WebKitFeatures.cmake: Removed SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS.
  • Source/cmake/WebKitMacros.cmake: Removed use of "--feature-flags" when invoking the

generate-unified-source-bundles.rb, which also means no longer depending on the
UNIFIED_SOURCE_LIST_ENABLED_FEATURES variable, which was set by the
SET_CONFIGURATION_FOR_UNIFIED_SOURCE_LISTS function.

Source/JavaScriptCore:

  • Scripts/generate-unified-sources.sh: Removed many unneeded quote marks from the

invocation of generate-unified-source-bundles.rb.

Source/WebCore:

  • Scripts/generate-unified-sources.sh: Added code to include sources from

SourcesCocoaInternalSDK.txt, only if USE_INTERNAL_SDK is YES. Removed --feature-flags
argument from invocation of generate-unified-source-bundles.rb. Removed many
unnecessary quotes.

  • SourcesCocoa.txt: Removed the names of the files from the internal SDK.
  • SourcesCocoaInternalSDK.txt: Added. Moved those names here.
  • html/MediaElementSession.cpp: Added some includes, apparently needed because of different

groupings of unified sources.

Source/WebKit:

  • Scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

Source/WebKitLegacy:

  • scripts/generate-unified-sources.sh: Removed --feature-flags from the

arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.

Source/WTF:

  • Scripts/generate-unified-source-bundles.rb: Removed the --feature-flags

command line option along with the code that implements it.

9:33 AM Changeset in webkit [263934] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC] Used dedicated paint margin structures
https://bugs.webkit.org/show_bug.cgi?id=213955

Reviewed by Antti Koivisto.

This is in preparation for having only final margin values in Display::Box.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::computeOutOfFlowVerticalGeometry):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeWidthAndMargin):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::VerticalMargin::before const):
(WebCore::Display::Box::VerticalMargin::after const):
(WebCore::Display::Box::VerticalMargin::isCollapsedThrough const):
(WebCore::Display::Box::VerticalMargin::nonCollapsedValues const):
(WebCore::Display::Box::VerticalMargin::collapsedValues const):
(WebCore::Display::Box::VerticalMargin::hasCollapsedValues const):
(WebCore::Display::Box::VerticalMargin::setCollapsedValues):
(WebCore::Display::Box::VerticalMargin::VerticalMargin):
(WebCore::Display::Box::VerticalMargin::NonCollapsedValues::NonCollapsedValues):
(WebCore::Display::Box::VerticalMargin::CollapsedValues::CollapsedValues):
(WebCore::Display::Box::ComputedHorizontalMargin::ComputedHorizontalMargin):
(WebCore::Display::Box::HorizontalMargin::HorizontalMargin):
(WebCore::Display::Box::setHorizontalMargin):
(WebCore::Display::Box::setVerticalMargin):
(WebCore::Display::Box::setHorizontalComputedMargin):
(WebCore::Display::Box::verticalMargin const):
(WebCore::Display::Box::horizontalMargin const):

  • layout/floats/FloatingState.h:

(WebCore::Layout::FloatingState::FloatItem::horizontalMargin const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):

9:04 AM Changeset in webkit [263933] by Lauro Moura
  • 2 edits in trunk/Tools

[WebDriver][WPE] Allow running Selenium tests with the WPE WebDriver
https://bugs.webkit.org/show_bug.cgi?id=213500

Reviewed by Carlos Garcia Campos.

Add missing method used to discover the selenium name of
the WPE webdriver.

Proper gardening/triaging of failures will come in following commits.

  • Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:

(WebDriverWPE.selenium_name):

6:32 AM Changeset in webkit [263932] by Darin Adler
  • 12 edits in trunk

Update comment in FeatureDefines.xcconfig since PlatformEnableCocoa.h should be used instead
https://bugs.webkit.org/show_bug.cgi?id=213952

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig: Updated comment.

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Updated comment.
2:18 AM Changeset in webkit [263931] by youenn@apple.com
  • 13 edits in trunk/Source

Enable VTB required low latency code path
https://bugs.webkit.org/show_bug.cgi?id=210609
<rdar://problem/61890332>

Reviewed by Darin Adler.

Source/ThirdParty/libwebrtc:

Enable low latency mode for latest MacOS and iOS versions.
Add a boolean controlling whether to opt in that code path.
Export the setter to that boolean so that it can be controlled by a WebCore runtime flag.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:
  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm:

(webrtc::setH264LowLatencyEncoderEnabled):
(webrtc::isH264LowLatencyEncoderEnabled):

  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:

(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):

Source/WebCore:

Add new runtime flag for the low latency code path.
Call webrtc newly introduced setter whenever creating a new encoder factory.
Manually tested.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCH264LowLatencyEncoderEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCH264LowLatencyEncoderEnabled):

  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):

Source/WebKit:

Add a runtime flag to enable/disable the low latency code path.

  • Shared/WebPreferences.yaml:

Jul 3, 2020:

11:42 PM Changeset in webkit [263930] by ysuzuki@apple.com
  • 3 edits
    1 add in trunk

[JSC] Promise should check whether a user-provided function is set by using @isUndefinedOrNull
https://bugs.webkit.org/show_bug.cgi?id=213951

Reviewed by Ross Kirsling.

JSTests:

  • stress/masquerader-as-function-in-promise.js: Added.

Source/JavaScriptCore:

If a user-provided function is masquerade-as-undefined value, if (!xxx.@onRejected) returns wrong
value since this function object is considered as undefined in this context. We should use @isUndefinedOrNull
here instead since this if-branch is checking whether this property is null/undefined actually.
And if (@isUndefinedOrNull(...)) is efficient since we have jundefined_or_null / jnundefined_or_null bytecodes.

  • builtins/PromiseOperations.js:

(globalPrivate.promiseReactionJob):

11:38 PM Changeset in webkit [263929] by Wenson Hsieh
  • 2 edits in trunk/Tools

[macOS] Tests that show system menu popups may fail when run concurrently
https://bugs.webkit.org/show_bug.cgi?id=213950
<rdar://problem/64551566>

Reviewed by Darin Adler.

Make it possible to run tests that present system modal popups simultaneously, without the possibility of these
tests interfering with each other. Examples include context menus, select menus, and the DOM paste popup. To do
this, we swizzle out codepaths for showing and dimissing popups, and instead dispatch notifications and the
appropriate NSMenuDelegate methods ourselves.

This change has the side effect of fixing several layout tests that are currently timing out only on arm64e
macOS, due to reasons detailed in <rdar://problem/65084503>.

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::setSwizzledPopUpMenu):
(WTR::swizzledPopUpContextMenu):
(WTR::swizzledPopUpMenu):
(WTR::swizzledCancelTracking):
(WTR::TestController::platformInitialize):

10:15 PM Changeset in webkit [263928] by youenn@apple.com
  • 25 edits
    3 copies
    23 adds in trunk

MediaRecorder should support peer connection remote video tracks
https://bugs.webkit.org/show_bug.cgi?id=213924

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Resync to WPT ToT.

  • resources/resource-files.json:
  • web-platform-tests/mediacapture-record/BlobEvent-constructor.html:
  • web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-creation.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-creation.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-detached-context-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-detached-context.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-error.html:
  • web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-mimetype-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-pause-resume-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https.html: Added.
  • web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt:
  • web-platform-tests/mediacapture-record/MediaRecorder-stop.html:
  • web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
  • web-platform-tests/mediacapture-record/idlharness.window.js:
  • web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https-expected.txt: Added.
  • web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html: Added.
  • web-platform-tests/mediacapture-record/passthrough/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/utils/peerconnection.js: Added.

(async exchangeOfferAnswer):
(setTransceiverCodecPreference):
(async startConnection):
(async waitForReceivedFrames):
(async waitForReceivedCodec):

  • web-platform-tests/mediacapture-record/utils/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/w3c-import.log.
  • web-platform-tests/mediacapture-record/w3c-import.log:

Source/WebCore:

Previsouly we were checking whether width and height are given for a video track.
This is not always available, for instance for remote tracks.
And this can change over time.
Instead, pass a simple boolean (whether there is a video track or not).
Minor simplifications to stop storing unneeded members.

Tests: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-bitrate.https.html

imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-creation.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-detached-context.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-disabled-tracks.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-events-and-exceptions.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-mimetype.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-no-sink.https.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-peerconnection.https.html
imported/w3c/web-platform-tests/mediacapture-record/passthrough/MediaRecorder-passthrough.https.html

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp:

(WebCore::MediaRecorderPrivateAVFImpl::create):
(WebCore::MediaRecorderPrivateAVFImpl::MediaRecorderPrivateAVFImpl):

  • platform/mediarecorder/MediaRecorderPrivateAVFImpl.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::create):

Source/WebKit:

Pass a boolean instead of width/height for the video track.

  • GPUProcess/webrtc/RemoteMediaRecorder.cpp:

(WebKit::RemoteMediaRecorder::create):

  • GPUProcess/webrtc/RemoteMediaRecorder.h:
  • GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:

(WebKit::RemoteMediaRecorderManager::createRecorder):

  • GPUProcess/webrtc/RemoteMediaRecorderManager.h:
  • GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in:
  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

9:56 PM Changeset in webkit [263927] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/PAL

Fix a build error by forward declaring _NSHTTPAlternativeServicesStorage
https://bugs.webkit.org/show_bug.cgi?id=213911

Patch by Saagar Jha <saagar@saagarjha.com> on 2020-07-03
Reviewed by Darin Adler.

The public 10.16 SDK does not define _NSHTTPAlternativeServicesStorage, and the interface
declaration comes after it is used. Forward declare it to fix the error.

  • pal/spi/cf/CFNetworkSPI.h: Forward declare _NSHTTPAlternativeServicesStorage.
7:33 PM Changeset in webkit [263926] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove all remaining #if (ENABLE_WEBGL and ENABLE_WEBXR)
https://bugs.webkit.org/show_bug.cgi?id=213946

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_WEBGL and ENABLE_WEBXR items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove all remaining #if, and sort files, getting rid of paragraphing

per directory to just turn this into three sorted lists of filenames (separate ones for
derived sources and generated bindings at the end). The source files themselves have the
appropriate conditionals and soon we will not need to support #if in Sources.txt files.

7:07 PM Changeset in webkit [263925] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GStreamer] Garden media/vp9.html failure

Unreviewed test gardening.

  • platform/glib/TestExpectations:
6:51 PM Changeset in webkit [263924] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Rebaseline imported dom/idlharness tests after r263903

Unreviewed test gardening.

  • platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
5:42 PM Changeset in webkit [263923] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed stack-overflow crash fix for r263890
https://bugs.webkit.org/show_bug.cgi?id=213912
<rdar://problem/65069686>

Renamed mimeTypeForExtension to mimeTypeForExtensionFromRegistry.

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::mimeTypeForExtensionFromRegistry):
(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::mimeTypeForExtension): Deleted.

5:30 PM Changeset in webkit [263922] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix for r263913
https://bugs.webkit.org/show_bug.cgi?id=213939
<rdar://problem/65084185>

  • CMakeLists.txt: Process encrypted media IDL files even if ENABLE_ENCRYPTED_MEDIA is off.
5:16 PM Changeset in webkit [263921] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.20.3

Tag Safari-610.1.20.3.

5:12 PM Changeset in webkit [263920] by Kocsen Chung
  • 2 edits in branches/safari-610.1.20-branch/Source/WebKit

Revert r263781. rdar://problem/65085169

5:12 PM Changeset in webkit [263919] by Kocsen Chung
  • 3 edits in branches/safari-610.1.20-branch/Source/WebKit

Revert r263793. rdar://problem/65085169

4:56 PM Changeset in webkit [263918] by Darin Adler
  • 4 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_WIRELESS_PLAYBACK_TARGET
https://bugs.webkit.org/show_bug.cgi?id=213945

Reviewed by Sam Weinig.

  • CMakeLists.txt: Moved items from the pictureinpicture and remoteplayback module here

from PlatformMac.cmake. Even if these are currently only implemented on Mac, they are
not intrinsically Mac-specific, so they belong here.

  • PlatformMac.cmake: Ditto.
  • Sources.txt: Remove #if ENABLE_WIRELESS_PLAYBACK_TARGET and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

4:51 PM Changeset in webkit [263917] by Kocsen Chung
  • 8 edits in branches/safari-610.1.20-branch/Source

Versioning.

WebKit-610.1.20.3

4:43 PM Changeset in webkit [263916] by weinig@apple.com
  • 32 edits
    2 deletes in trunk

Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
https://bugs.webkit.org/show_bug.cgi?id=213932

Reviewed by Darin Adler.

Removes support for non-standard <input type="datetime">, currently being
guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
added back in 2013 as a temporary measure to support some engines who shipped
support for <input type="datetime">. It is currently not enabled for any
ports so now seems like as good a time as any to remove it.

.:

  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:
  • Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/html.css:

(#endif):

  • html/DateTimeInputType.cpp: Removed.
  • html/DateTimeInputType.h: Removed.
  • html/InputType.cpp:

(WebCore::createInputTypeFactoryMap):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::inputTypeDateTimeEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setInputTypeDateTimeEnabled): Deleted.

  • platform/DateComponents.cpp:

(WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal):
(WebCore::DateComponents::millisecondsSinceEpoch const):
(WebCore::DateComponents::toString const):
(WebCore::DateComponents::fromParsingDateTime): Deleted.
(WebCore::DateComponents::parseDateTime): Deleted.
(WebCore::DateComponents::fromMillisecondsSinceEpochForDateTime): Deleted.
(WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): Deleted.

  • platform/DateComponents.h:
  • platform/text/PlatformLocale.cpp:

(WebCore::Locale::formatDateTime):

  • platform/text/ios/LocalizedDateCache.mm:

(WebCore::LocalizedDateCache::createFormatterForType):

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/PlatformEnable.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4:25 PM Changeset in webkit [263915] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_USER_MESSAGE_HANDLERS
https://bugs.webkit.org/show_bug.cgi?id=213944

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_USER_MESSAGE_HANDLERS items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_USER_MESSAGE_HANDLERS and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

4:23 PM Changeset in webkit [263914] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/SourcesCocoa.txt: Remove #if ENABLE_APPLE_PAY
https://bugs.webkit.org/show_bug.cgi?id=213943

Reviewed by Sam Weinig.

  • SourcesCocoa.txt: Remove #if ENABLE_APPLE_PAY and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.
Also, sort the files and remove the separate per-directory paragraphs, making this closer
to just a sorted list of filenames with less "editorial" content. Also added comments
about the USE_INTERNAL_SDK part of the file.

3:17 PM Changeset in webkit [263913] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=213939

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_ENCRYPTED_MEDIA items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:50 PM Changeset in webkit [263912] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA
https://bugs.webkit.org/show_bug.cgi?id=213937

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_LEGACY_ENCRYPTED_MEDIA items out of if blocks.

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_LEGACY_ENCRYPTED_MEDIA and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:45 PM Changeset in webkit [263911] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_QUOTA
https://bugs.webkit.org/show_bug.cgi?id=213941

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_QUOTA items out of "if (ENABLE_QUOTA)".

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_QUOTA and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:43 PM Changeset in webkit [263910] by Darin Adler
  • 3 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_GAMEPAD
https://bugs.webkit.org/show_bug.cgi?id=213936

Reviewed by Sam Weinig.

  • CMakeLists.txt: Move IDL-related ENABLE_GAMEPAD items out of "if (ENABLE_GAMEPAD)".

Longer term, I think our direction should be to remove most feature conditionals from
CMakeLists.txt too, just like I am doing for Sources.txt. But for now, doing just enough
of this to keep the build working. Someone can tidy this later as desired.

  • Sources.txt: Remove #if ENABLE_GAMEPAD and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:40 PM Changeset in webkit [263909] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_MEDIA_SOURCE
https://bugs.webkit.org/show_bug.cgi?id=213940

Reviewed by Sam Weinig.

  • Sources.txt: Remove #if ENABLE_MEDIA_SOURCE and sort files in with the others.

The IDL files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

2:27 PM Changeset in webkit [263908] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[WPE] Fix build with clang after r263898
https://bugs.webkit.org/show_bug.cgi?id=213942

Unreviewed build fix.

  • loader/appcache/ApplicationCacheManifestParser.cpp:
2:16 PM Changeset in webkit [263907] by Darin Adler
  • 2 edits in trunk/Source/WebCore

WebCore/Sources.txt: Remove #if ENABLE_APPLICATION_MANIFEST
https://bugs.webkit.org/show_bug.cgi?id=213935

Reviewed by Sam Weinig.

  • Sources.txt: Remove #if ENABLE_APPLICATION_MANIFEST and sort files in with the others.

The source files themselves have conditionals, we don't need conditionals in Sources.txt,
and we are moving towards removing the capability for #if ENABLE in the Sources.txt file.

1:30 PM Changeset in webkit [263906] by weinig@apple.com
  • 17 edits in trunk/Source

Add "-Wliteral-conversion" warning to Xcode based builds and fix the issues it finds
https://bugs.webkit.org/show_bug.cgi?id=213931

Reviewed by Darin Adler.

  • Configurations/Base.xcconfig:

Add -Wliteral-conversion.
Source/WebCore:

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::draw):
Fix error due to passing a double when a uint8_t was expected. This probably means
that the debug borders looked wrong for a little bit, but should now be back to
their transparent splendor.

1:06 PM Changeset in webkit [263905] by ysuzuki@apple.com
  • 7 edits
    1 add in trunk

[JSC] Add exception checks before and after viewWithUnderlyingString
https://bugs.webkit.org/show_bug.cgi?id=213923
<rdar://problem/65068473>

Reviewed by Sam Weinig.

JSTests:

  • stress/exception-checks-before-and-after-viewwithunderlyingstring.js: Added.

(shouldThrow):

Source/JavaScriptCore:

This patch inserts missing exception checks before and after viewWithUnderlyingString.

  • jsc.cpp:

(printInternal):
(functionDebug):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncParseFloat):

  • runtime/JSONObject.cpp:

(JSC::JSONProtoFuncParse):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):

12:59 PM Changeset in webkit [263904] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Unreviewed, reverting r263882.
https://bugs.webkit.org/show_bug.cgi?id=213933

Broke the build

Reverted changeset:

"Make _WKWebsiteDataStoreConfiguration SPI for HSTS storage to
replace _WKProcessPoolConfiguration.hstsStorageDirectory"
https://bugs.webkit.org/show_bug.cgi?id=213048
https://trac.webkit.org/changeset/263882

11:54 AM Changeset in webkit [263903] by Chris Dumez
  • 48 edits
    5 copies
    3 moves
    29 adds
    9 deletes in trunk/LayoutTests

Resync web-platform-tests/html/dom & web-platform-tests/html/infrastructure from upstream
https://bugs.webkit.org/show_bug.cgi?id=213908

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Resync web-platform-tests/html/dom & web-platform-tests/html/infrastructure from upstream 145839c323ba1ec8b.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/html/dom/*: Updated.
  • web-platform-tests/html/infrastructure/*: Updated.

LayoutTests:

  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/usvstring-reflection.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
11:32 AM Changeset in webkit [263902] by Alan Bujtas
  • 10 edits
    3 adds in trunk

[LFC][TFC][Quirk] Inflow child box quirk vertical margins should collapse with table cell.
https://bugs.webkit.org/show_bug.cgi?id=213926

Reviewed by Antti Koivisto.

Source/WebCore:

The BFC rootd (table cell box in this case) nornally do not collapse their margins with the first/last inflow child.
However in quirks mode, cell boxes collapse their (non-existing)margins with inflow quirk margins.

<table><tr><td><p>text content</td></tr></table> <- <p> box's top position is at 0px in quirks mode, while at 16px (1em) in strict mode.

This patch ensures that we collapse the quirk margins and take them into account when computing the cell's content height.

Test: fast/layoutformattingcontext/table-quirk-vertical-margin-simple.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin):

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextQuirks.cpp:

(WebCore::Layout::BlockFormattingContext::Quirks::shouldCollapseMarginBeforeWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::Quirks::shouldCollapseMarginAfterWithParentMarginAfter const):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBeforeCollapsesWithParentMarginBefore const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginAfterCollapsesWithParentMarginAfter const):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::collapsedVerticalValues):

  • layout/tableformatting/TableFormattingContext.h:

(WebCore::Layout::TableFormattingContext::Quirks::Quirks):

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

(WebCore::Layout::TableFormattingContext::Geometry::cellHeigh const):

  • layout/tableformatting/TableFormattingContextQuirks.cpp: Added.

(WebCore::Layout::TableFormattingContext::Quirks::shouldIgnoreChildContentVerticalMargin const):

LayoutTests:

  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple-expected.html: Added.
  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple.html: Added.
9:55 AM Changeset in webkit [263901] by weinig@apple.com
  • 22 edits
    2 copies in trunk

Split color conversion functions out of ColorUtilities.h/cpp into their own file.
https://bugs.webkit.org/show_bug.cgi?id=213803

Reviewed by Simon Fraser.

Source/WebCore:

Moves color conversion functions (both between color spaces like toDisplayP3(const SRGBA&)
and between different representations like toHSLA(const SRGBA&)) to their own files.

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

Add new files.

  • css/parser/CSSPropertyParserHelpers.cpp:
  • editing/cocoa/DataDetection.mm:
  • html/canvas/CanvasRenderingContext2DBase.cpp:
  • html/canvas/CanvasStyle.cpp:

Add include of ColorConversion.h

  • platform/graphics/ColorConversion.cpp: Added.
  • platform/graphics/ColorConversion.h: Added.
  • platform/graphics/ColorUtilities.cpp:
  • platform/graphics/ColorUtilities.h:

Move functions to the new files.

  • platform/graphics/ExtendedColor.cpp:
  • platform/graphics/cairo/ImageBufferCairoBackend.cpp:
  • platform/graphics/filters/FELighting.cpp:

Add include of ColorConversion.h, remove unncessary include of ColorUtilities.h

  • platform/graphics/cairo/ImageBufferCairoSurfaceBackend.cpp:
  • platform/graphics/filters/FEDisplacementMap.cpp:
  • platform/graphics/filters/FEMorphology.cpp:
  • platform/graphics/filters/FilterOperations.cpp:

Remove unncessary include of ColorUtilities.h

  • platform/graphics/filters/FilterOperation.cpp:

Add include of ColorConversion.h and ColorTypes.h, remove unncessary include of ColorUtilities.h.

  • platform/graphics/gtk/ColorGtk.cpp:
  • platform/graphics/win/ColorDirect2D.cpp:

Remove unncessary include of ColorUtilities.h. Update to use standard float -> SimpleColor idiom
using SRGBA<float>.

Tools:

  • TestWebKitAPI/Tests/WebCore/ColorTests.cpp:

Update to include ColorConversion.h and ColorTypes.h rather than ColorUtilities.h

9:45 AM Changeset in webkit [263900] by weinig@apple.com
  • 21 edits in trunk/Source/WebCore

Convert DateComponents parsing code to use Optional based return values rather than out-parameters
https://bugs.webkit.org/show_bug.cgi?id=213440

Reviewed by Darin Adler.

Rework DateComponents and Date/Time related InputTypes to use Optional based programming
for parsing results. Also take the opportunity to remove unicode upconversion from
DateComponent parsing and instead separate UChar and LChar variants via templates.

  • html/BaseDateAndTimeInputType.cpp:
  • html/BaseDateAndTimeInputType.h:
  • html/DateInputType.cpp:
  • html/DateInputType.h:
  • html/DateTimeInputType.cpp:
  • html/DateTimeInputType.h:
  • html/DateTimeLocalInputType.cpp:
  • html/DateTimeLocalInputType.h:
  • html/HTMLInputElement.cpp:
  • html/HTMLInputElement.h:
  • html/InputType.cpp:
  • html/InputType.h:
  • html/MonthInputType.cpp:
  • html/MonthInputType.h:
  • html/TimeInputType.cpp:
  • html/TimeInputType.h:
  • html/WeekInputType.cpp:
  • html/WeekInputType.h:
    • Removes parseToDateComponentsInternal. No need it and parseToDateComponents.
    • Makes parseToDateComponents pure virtual. The old code had a default implementations down in InputType, but it had no callers.
    • Remove iOS vs. non-iOS difference for dateType(). It is now available on InputType on all platforms.
    • Make setMillisecondToDateComponents and parseToDateComponents return an Optional.
  • platform/DateComponents.cpp:
  • platform/DateComponents.h:
    • Replace member function based interfaces for parsing/setting explicit time offsets with new factory functions that return Optional<DateComponents>.
    • These factories are implemented using the existing member functions, which are now private.
    • Make max/min constants constexpr.
    • Make parse* member functions templates to allow factory parse functions to call them without upconverting.
    • Replace header guard with #pragma once.
8:19 AM WebKitGTK/2.28.x edited by Michael Catanzaro
(diff)
8:09 AM Changeset in webkit [263899] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Bubblewrap sandbox should not attempt to bind empty paths
https://bugs.webkit.org/show_bug.cgi?id=202880

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-07-03
Reviewed by Carlos Garcia Campos.

If an empty path is set in LD_LIBRARY_PATH (e.g. /foo::/bar), we wind up passing
--ro-bind-try --ro-bind-try to bwrap, where the second --ro-bind-try is treated as the
source path to mount, and the next flag we pass gets treated as the destination path. The
web process crashes with this confusing error:

bwrap: Can't create file at /.flatpak-info: Read-only file system

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::bindIfExists):

8:01 AM Changeset in webkit [263898] by weinig@apple.com
  • 3 edits in trunk/Source/WebCore

Cleanup ApplicationCacheManifestParser.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=213844

Reviewed by Alex Christensen.

Address some post review comments.

  • loader/appcache/ApplicationCacheManifestParser.cpp:

(WebCore::parseApplicationCacheManifest):
Fix typos: manfest -> manifest.

  • loader/appcache/ApplicationCacheManifestParser.h:

Stop including ApplicationCache.h, and only include / declare what's needed.

8:00 AM Changeset in webkit [263897] by clopez@igalia.com
  • 2 edits in trunk/Tools

[WPE][webkitpy] Use headless driver instead of wayland driver
https://bugs.webkit.org/show_bug.cgi?id=213914

Reviewed by Philippe Normand.

WPE now supports running tests completely headless, but we are
still using the webkitpy WaylandDriver to run the tests.
This causes an error if the environment doesn't have defined the
WAYLAND_DISPLAY or WAYLAND_SOCKET environment variables.
Switch the driver to HeadlessDriver.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort._driver_class):

7:55 AM Changeset in webkit [263896] by youenn@apple.com
  • 7 edits in trunk

Support MediaRecorder.onstart
https://bugs.webkit.org/show_bug.cgi?id=213720

Reviewed by Darin Adler.

Source/WebCore:

Fire start event if MediaRecorder.start is successful.
Do some WebIDL clean-up, in particular change timeSlice from long to unsigned long, as per spec.
Covered by added test.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::startRecording):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorder.idl:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt:
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html:
7:31 AM Changeset in webkit [263895] by Carlos Garcia Campos
  • 4 edits in trunk

REGRESSION(r261779): [GTK][WPE] http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212017

Reviewed by Michael Catanzaro.

Tools:

Use the ephemeral data store when useEphemeralSession option is enabled.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::platformInitializeDataStore):

LayoutTests:

Remove expectations for tests that are now passing.

  • platform/gtk/TestExpectations:
7:21 AM Changeset in webkit [263894] by youenn@apple.com
  • 20 edits
    1 copy
    4 adds in trunk

Allow registering VP9 as a VT decoder
https://bugs.webkit.org/show_bug.cgi?id=213837
<rdar://problem/64984881>

Reviewed by Jer Noble.

Source/ThirdParty/libwebrtc:

Implement a method that registers VP9 as a VT decoder.
Implement the binding code between VP9DecoderImpl and VT pluggable codec API.
Restrict this to internal SDK for now.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

(webrtc::createPixelBufferPool):

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

(webrtc::registerWebKitVP9Decoder):
(webrtc::createWebKitVP9Decoder):
(webrtc::invalidateVP9Decoder):
(webrtc::finalizeVP9Decoder):
(webrtc::copyVP9DecoderDebugDescription):
(webrtc::webKitVP9DecoderFromVTDecoder):
(webrtc::startVP9DecoderSession):
(webrtc::decodeVP9DecoderFrameFromContiguousBlock):
(webrtc::decodeVP9DecoderFrame):
(webrtc::WebKitVP9DecoderReceiver::WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::~WebKitVP9DecoderReceiver):
(webrtc::WebKitVP9DecoderReceiver::decoderFailed):
(webrtc::WebKitVP9DecoderReceiver::Decoded):

  • Source/webrtc/sdk/WebKit/WebKitVP9Decoder.h: Added.
  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebKit:

Add a runtime flag to enable registration of VP9 as a VT decoder.
Register conditionally this decoder on creation of page based on this flag.

Test: media/vp9.html

  • Scripts/GeneratePreferences.rb:
  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPreferences.yaml:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_limitsNavigationsToAppBoundDomains):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::enableVP9Decoder):

  • WebProcess/WebProcess.h:

LayoutTests:

  • media/content/bipbop-vp9.mp4: Added.
  • media/vp9-expected.txt: Added.
  • media/vp9.html: Added.
6:12 AM Changeset in webkit [263893] by Lauro Moura
  • 81 edits
    1 copy
    3 adds
    5 deletes in trunk/WebDriverTests

[WebDriver][WPE] Update imported selenium to a version that enables WPE WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=213916

Reviewed by Carlos Garcia Campos.

Also updated the importer.json file with more paths to be skipped.

  • imported/selenium/common/.classpath: Removed.
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_222222_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_228ef1_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ef8c08_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ffd27a_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/images/ui-icons_ffffff_256x240.png:
  • imported/selenium/common/src/web/css/ui-lightness/jquery-ui-1.12.1.min.css: Added.
  • imported/selenium/common/src/web/css/ui-lightness/jquery-ui-1.8.10.custom.css: Removed.
  • imported/selenium/common/src/web/draggableLists.html:
  • imported/selenium/common/src/web/droppableItems.html:
  • imported/selenium/common/src/web/jquery-1.3.2.js: Removed.
  • imported/selenium/common/src/web/js/jquery-1.4.4.min.js: Removed.
  • imported/selenium/common/src/web/js/jquery-3.5.1.min.js: Added.
  • imported/selenium/common/src/web/js/jquery-ui-1.12.1.min.js: Added.
  • imported/selenium/common/src/web/js/jquery-ui-1.8.10.custom.min.js: Removed.
  • imported/selenium/common/src/web/mousePositionTracker.html:
  • imported/selenium/common/src/web/selectableItems.html:
  • imported/selenium/importer.json:
  • imported/selenium/py/conftest.py:
  • imported/selenium/py/selenium/init.py:
  • imported/selenium/py/selenium/webdriver/init.py:
  • imported/selenium/py/selenium/webdriver/common/action_chains.py:
  • imported/selenium/py/selenium/webdriver/common/actions/action_builder.py:
  • imported/selenium/py/selenium/webdriver/common/actions/pointer_actions.py:
  • imported/selenium/py/selenium/webdriver/common/actions/pointer_input.py:
  • imported/selenium/py/selenium/webdriver/common/desired_capabilities.py:
  • imported/selenium/py/selenium/webdriver/common/html5/application_cache.py:
  • imported/selenium/py/selenium/webdriver/common/keys.py:
  • imported/selenium/py/selenium/webdriver/common/options.py:
  • imported/selenium/py/selenium/webdriver/common/service.py:
  • imported/selenium/py/selenium/webdriver/common/timeouts.py:
  • imported/selenium/py/selenium/webdriver/common/window.py:
  • imported/selenium/py/selenium/webdriver/remote/file_detector.py:
  • imported/selenium/py/selenium/webdriver/remote/remote_connection.py:
  • imported/selenium/py/selenium/webdriver/remote/switch_to.py:
  • imported/selenium/py/selenium/webdriver/remote/webdriver.py:
  • imported/selenium/py/selenium/webdriver/remote/webelement.py:
  • imported/selenium/py/selenium/webdriver/support/color.py:
  • imported/selenium/py/selenium/webdriver/support/event_firing_webdriver.py:
  • imported/selenium/py/selenium/webdriver/support/expected_conditions.py:
  • imported/selenium/py/selenium/webdriver/support/relative_locator.py:
  • imported/selenium/py/selenium/webdriver/support/select.py:
  • imported/selenium/py/selenium/webdriver/support/wait.py:
  • imported/selenium/py/selenium/webdriver/wpewebkit/options.py:
  • imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/api_example_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/appcache_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/children_finding_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/clear_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/click_scrolling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/cookie_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/correct_event_firing_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/driver_element_finding_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/element_attribute_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/executing_async_javascript_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/executing_javascript_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/form_handling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/frame_switching_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/google_one_box.py:
  • imported/selenium/py/test/selenium/webdriver/common/implicit_waits_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/interactions_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/page_loading_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/position_and_size_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/repr_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/results_page.py:
  • imported/selenium/py/test/selenium/webdriver/common/select_class_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/stale_reference_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/takes_screenshots_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/text_handling_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/timeout_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/typing_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/visibility_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/w3c_interaction_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/webdriverwait_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/window_switching_tests.py:
  • imported/selenium/py/test/selenium/webdriver/common/window_tests.py:
  • imported/selenium/py/test/selenium/webdriver/remote/remote_hub_connection.py: Copied from WebDriverTests/imported/selenium/py/selenium/webdriver/common/window.py.
  • imported/selenium/py/test/selenium/webdriver/safari/launcher_tests.py:
  • imported/selenium/py/test/selenium/webdriver/support/event_firing_webdriver_tests.py:
  • imported/selenium/py/test/selenium/webdriver/support/relative_by_tests.py:
5:58 AM Changeset in webkit [263892] by youenn@apple.com
  • 4 edits
    2 adds in trunk

MediaRecorder.start() Method is Ignoring the "timeslice" Parameter
https://bugs.webkit.org/show_bug.cgi?id=202233
<rdar://problem/55720555>

Reviewed by Eric Carlson.

Source/WebCore:

Use a timer to implement timeSlice parameter.
Schedule timer either when start is called or as part of requestData callback.
This should ensure that, if requestData is called by the application, the timer will be rescheduled appropriately.

Test: http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-start-timeSlice.html: Added.
5:01 AM Changeset in webkit [263891] by youenn@apple.com
  • 16 edits
    2 adds in trunk

MediaRecorder stopRecorder() returns empty Blob after first use
https://bugs.webkit.org/show_bug.cgi?id=212274
<rdar://problem/63601298>

Reviewed by Eric Carlson.

Source/WebCore:

Refactor code to create/destroy MediaRecorderPrivate on MediaRecorder start/stop.
This allows reusing a MediaRecorder after a stop and restarting with a clean state.

We introduce MediaRecorderPrivate::startRecording to do the initialization,
which allows to fix a potential ref cycle as part of the error callback handling.

Make some improvements to the platform implementation, in particular add default initialization to all fields.
Align the code using AudioConverterRef to what is done in AudioSampleDataSource.
Also call VTCompressionSessionInvalidate when destroying the VideoSampleBufferCompressor.

Test: http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::startRecording):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:
  • platform/mediarecorder/MediaRecorderPrivateMock.cpp:

(WebCore::MediaRecorderPrivateMock::fetchData):

  • platform/mediarecorder/MediaRecorderPrivate.h:

(WebCore::MediaRecorderPrivate::startRecording):

  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.h:
  • platform/mediarecorder/cocoa/AudioSampleBufferCompressor.mm:

(WebCore::AudioSampleBufferCompressor::~AudioSampleBufferCompressor):
(WebCore::AudioSampleBufferCompressor::initAudioConverterForSourceFormatDescription):
(WebCore::AudioSampleBufferCompressor::attachPrimingTrimsIfNeeded):
(WebCore::AudioSampleBufferCompressor::gradualDecoderRefreshCount):
(WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets):
(WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime):

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:

(WebCore::MediaRecorderPrivateWriter::stopRecording):

  • platform/mediarecorder/cocoa/VideoSampleBufferCompressor.mm:

(WebCore::VideoSampleBufferCompressor::~VideoSampleBufferCompressor):

Source/WebKit:

Update implementation to do initialization as part of startRecording.

  • GPUProcess/webrtc/RemoteMediaRecorderManager.cpp:

(WebKit::RemoteMediaRecorderManager::releaseRecorder):
Remove ASSERT as recorder creation in WebProcess is always ok while creation in GPUProcess may fail and m_recorders may not be populated.

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:

(WebKit::MediaRecorderPrivate::MediaRecorderPrivate):
(WebKit::MediaRecorderPrivate::startRecording):

  • WebProcess/GPU/webrtc/MediaRecorderPrivate.h:

LayoutTests:

  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop-expected.txt: Added.
  • http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html: Added.
2:35 AM Changeset in webkit [263890] by commit-queue@webkit.org
  • 28 edits in trunk/Source

Change the names of MIMETypeRegistry methods to comply with webkit naming style
https://bugs.webkit.org/show_bug.cgi?id=213912

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-07-03
Reviewed by Youenn Fablet.

Source/WebCore:

Remove the verb 'get' from the name of some of the methods of MIMETypeRegistry.

  • editing/cocoa/WebArchiveResourceFromNSAttributedString.mm:

(WebCore::if):

  • fileapi/File.cpp:

(WebCore::File::computeNameAndContentType):

  • html/HTMLPlugInElement.cpp:

(WebCore::pluginReplacementForType):

  • loader/mac/LoaderNSURLExtras.mm:

(suggestedFilenameWithMIMEType):

  • platform/MIMETypeRegistry.cpp:

(WebCore::commonMimeTypesMap):
(WebCore::MIMETypeRegistry::mediaMIMETypeForExtension):
(WebCore::MIMETypeRegistry::mimeTypeForPath):
(WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
(WebCore::MIMETypeRegistry::normalizedMIMEType):
(WebCore::MIMETypeRegistry::appendFileExtensionIfNecessary):
(WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Deleted.
Delete this function since it is not used.

(WebCore::MIMETypeRegistry::getMIMETypeForPath): Deleted.
(WebCore::MIMETypeRegistry::getNormalizedMIMEType): Deleted.

  • platform/MIMETypeRegistry.h:
  • platform/cocoa/MIMETypeRegistryCocoa.mm:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::load):

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

(WebCore::ImageDecoderAVFObjC::filenameExtension const):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.h:
  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::invokeDidReceiveResponseForFile):

  • platform/playstation/MIMETypeRegistryPlayStation.cpp:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

  • platform/xdg/MIMETypeRegistryXdg.cpp:

(WebCore::MIMETypeRegistry::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::preferredExtensionForMIMEType):
(WebCore::MIMETypeRegistry::extensionsForMIMEType):
(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Deleted.
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): Deleted.
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): Deleted.

Source/WebKit:

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::didSendRequest):

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::mimeTypeInferredFromFileExtension):
(API::Attachment::setFileWrapperAndUpdateContentType):

  • UIProcess/API/Cocoa/WKOpenPanelParameters.mm:

(-[WKOpenPanelParameters _allowedFileExtensions]):

  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

  • UIProcess/Automation/WebAutomationSession.cpp:

(WebKit::fileCanBeAcceptedForUpload):

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::findPlugin):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel presentWithParameters:resultListener:]):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::objectContentType):

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebMIMETypeRegistry.mm:

(+[WebMIMETypeRegistry mimeTypeForExtension:]):
(+[WebMIMETypeRegistry preferredExtensionForMIMEType:]):

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::MIMETypeForExtension):

2:18 AM Changeset in webkit [263889] by ysuzuki@apple.com
  • 4 edits
    1 add in trunk

[JSC] Add exception checks in JSStringBuilder and Array#join
https://bugs.webkit.org/show_bug.cgi?id=213915
<rdar://problem/64878225>

Reviewed by Saam Barati and Mark Lam.

JSTests:

  • stress/out-of-memory-handle-in-join.js: Added.

(shouldThrow):

Source/JavaScriptCore:

This patch adds missing exception checks into Array#join's certain place and JSStringBuilder.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):

  • runtime/JSStringJoiner.h:

(JSC::JSStringJoiner::append):

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

[GTK4] Enable threaded rendering by default
https://bugs.webkit.org/show_bug.cgi?id=213883

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2020-07-03
Reviewed by Adrian Perez de Castro.

When building with GTK4 we no longer use the cairo context to render directly, so we can always enable the
threaded rendering. In WPE port threaded rendering is only enabled when env var WEBKIT_NICOSIA_PAINTING_THREADS
is present. This patch changes a bit the meaning of the env var, so that when 0 is passed the feature is
disabled too, instead of setting the number of threads to 4.

  • platform/graphics/nicosia/NicosiaPaintingEngine.cpp:

(Nicosia::PaintingEngine::create):

1:37 AM Changeset in webkit [263887] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

[GTK4] Support kinetic scrolling
https://bugs.webkit.org/show_bug.cgi?id=213791

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-07-03
Reviewed by Carlos Garcia Campos.

GtkEventControllerScroll skips the last event and exposes it in a separate signal.
Normally one would add the KINETIC flag and listen to decelerate signal, but since
WebKit already has code for calculating the velocity for GTK3, just use the same
code path as scroll signal handler.

  • Shared/gtk/NativeWebWheelEventGtk.cpp:

(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebWheelEvent):

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseScrollEnd):
(webkitWebViewBaseConstructed):

12:42 AM Changeset in webkit [263886] by Diego Pino Garcia
  • 25 edits
    6 adds
    4 deletes in trunk/LayoutTests

Unreviewed test gardening. Update test expectations and baselines after r263858.

Baselines need to be updated after r263856. Some PNG images moved to
GLIB as their text output was on GLIB as well.

Filed a test crashing after r263858.

  • platform/glib/TestExpectations:
  • platform/glib/fast/css/percentage-non-integer-expected.png: Added.
  • platform/glib/fast/css/percentage-non-integer-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug100334-expected.png: Added.
  • platform/glib/tables/mozilla/bugs/bug100334-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug3037-1-expected.png: Added.
  • platform/glib/tables/mozilla/bugs/bug3037-1-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/other/empty_cells-expected.png: Added.
  • platform/glib/tables/mozilla_expected_failures/other/empty_cells-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css/percentage-non-integer-expected.png: Removed.
  • platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.png:
  • platform/gtk/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/gtk/fast/repaint/table-cell-move-expected.png:
  • platform/gtk/fast/repaint/table-cell-move-expected.txt:
  • platform/gtk/fast/table/cell-absolute-child-expected.png:
  • platform/gtk/fast/table/cell-absolute-child-expected.txt:
  • platform/gtk/fast/table/empty-cells-expected.png:
  • platform/gtk/fast/table/empty-cells-expected.txt:
  • platform/gtk/fast/table/prepend-in-anonymous-table-expected.png:
  • platform/gtk/fast/table/prepend-in-anonymous-table-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug100334-expected.png: Removed.
  • platform/gtk/tables/mozilla/bugs/bug10633-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1302-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug16012-expected.png:
  • platform/gtk/tables/mozilla/bugs/bug16012-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug222336-expected.png: Added.
  • platform/gtk/tables/mozilla/bugs/bug222336-expected.txt: Added.
  • platform/gtk/tables/mozilla/bugs/bug3037-1-expected.png: Removed.
  • platform/gtk/tables/mozilla_expected_failures/other/empty_cells-expected.png: Removed.
12:21 AM Changeset in webkit [263885] by Fujii Hironori
  • 3 edits in trunk/Source/JavaScriptCore

Builtin internal wrapper implementation files wrap static global initialization code with incorrect guards
https://bugs.webkit.org/show_bug.cgi?id=213792

Reviewed by Youenn Fablet.

Streams API hadn't worked since r263700 for AppleWin and WinCairo
ports. r263700 removed the unused ENABLE_STREAMS_API.

Before r263700, the static global initialization code was wrapped

by "ENABLE(WEB_RTC)
ENABLE(STREAMS_API)". After r263700, it was

wrapped by "ENABLE(WEB_RTC)". AppleWin and WinCairo doesn't turn
on ENABLE_WEB_RTC. So, builtins for Streams API weren't properly
initialized for them.

  • Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result: Rebaselined.
  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:

(BuiltinsInternalsWrapperImplementationGenerator.generate_initialize_method):
Removed calling wrap_with_guard for the value of _generate_initialize_static_globals().

12:15 AM Changeset in webkit [263884] by Fujii Hironori
  • 7 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/fast/css/acid2-expected.txt:
  • platform/wincairo/fast/css/acid2-pixel-expected.txt:
  • platform/wincairo/fast/css/percentage-non-integer-expected.txt:
  • platform/wincairo/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-expected.txt:
  • platform/wincairo/http/tests/misc/acid2-pixel-expected.txt:
Note: See TracTimeline for information about the timeline view.