WebKit-https.git
4 months agoimported/w3c/web-platform-tests/xhr/send-redirect-post-upload.htm is a flaky crash...
sroberts@apple.com [Tue, 26 Mar 2019 22:13:49 +0000 (22:13 +0000)]
imported/w3c/web-platform-tests/xhr/send-redirect-post-upload.htm is a flaky crash and a failing test
https://bugs.webkit.org/show_bug.cgi?id=196274

Unreviewed test gardening.

* TestExpectations:
* platform/mac/TestExpectations: Updating test expectaion for flaky crash

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

4 months ago[iOS][WK2] Use a better concept to describe the reason we defer zooming a focused...
dbates@webkit.org [Tue, 26 Mar 2019 22:08:52 +0000 (22:08 +0000)]
[iOS][WK2] Use a better concept to describe the reason we defer zooming a focused element: selectabiltiy
https://bugs.webkit.org/show_bug.cgi?id=196264

Reviewed by Wenson Hsieh.

Rename shouldDeferZoomingToSelectionWhenRevealingFocusedElement() to mayContainSelectableText() to describe
the criterion that we will use to decide whether to defer zooming or not. We defer zooming only for elements
that may support text selection on initial focus because we do not have an up-to-date selection rect at that
time. For element, like <select>, that do not support text selection, we can zoom them immediately when focused.

* UIProcess/ios/WKContentViewInteraction.mm:
(mayContainSelectableText): Renamed from shouldDeferZoomingToSelectionWhenRevealingFocusedElement.
List all the input types in the switch block and remove the default case to force the compiler to check that we
covered all cases. This will prevent unforseen keyboard issues (why isn't the keyboard shown? or why is the keyboard shown?)
for future input types that we may add.
(rectToRevealWhenZoomingToFocusedElement): Update for renaming.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): Add a
comment to explain why we may need to defer the zoom: the focused element supports text selection and we need
to wait for the web process to call back to provide an up-to-date selection rect for us to zoom and reveal.
(-[WKContentView _didReceiveEditorStateUpdateAfterFocus]): Update for renaming.
(shouldDeferZoomingToSelectionWhenRevealingFocusedElement): Deleted.

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

4 months agoImplement async paste method on UIWKInteractionViewProtocol
wenson_hsieh@apple.com [Tue, 26 Mar 2019 21:15:16 +0000 (21:15 +0000)]
Implement async paste method on UIWKInteractionViewProtocol
https://bugs.webkit.org/show_bug.cgi?id=196267
<rdar://problem/49236346>

Reviewed by Tim Horton.

Source/WebKit:

Implement a new UIWKInteractionViewProtocol hook to perform a paste command, and invoke the given completion
handler when pasting is finished.

Test: UIPasteboardTests.PasteWithCompletionHandler

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pasteWithCompletionHandler:]):

Tools:

Add a new test to exercise the new SPI. Additionally, add staging forward declarations for
-pasteWithCompletionHandler:, and remove some old existing staging declarations for other bits of UIKit SPI that
are now a part of all iOS 12 internal SDKs.

* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:

While we're here, also change a few iOS 11.3 checks to just be about PLATFORM(IOS) (since we don't build for iOS
prior to 12, these version checks are effectively only about iOS vs. tvOS or watchOS).

* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):
* TestWebKitAPI/ios/UIKitSPI.h:

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

4 months ago[ews-build] Use PostgreSQL for ews.webkit.org database
aakash_jain@apple.com [Tue, 26 Mar 2019 21:04:53 +0000 (21:04 +0000)]
[ews-build] Use PostgreSQL for ews.webkit.org database
https://bugs.webkit.org/show_bug.cgi?id=196270

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-app/ews-app/settings.py:

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

4 months agoLayout tests http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in...
sroberts@apple.com [Tue, 26 Mar 2019 20:42:10 +0000 (20:42 +0000)]
Layout tests http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-from-prevalent-resource.html
http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-without-link-decoration-from-prevalent-resource.html are flaky time outs
https://bugs.webkit.org/show_bug.cgi?id=196269

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations: Updating test expectations for flaky tests
* platform/ios-wk2/TestExpectations: Updatiting test expectations for flaky tests

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

4 months ago[ews] Reset simctl states on reboot
jbedard@apple.com [Tue, 26 Mar 2019 20:41:59 +0000 (20:41 +0000)]
[ews] Reset simctl states on reboot
https://bugs.webkit.org/show_bug.cgi?id=196260

Rubber-stamped by Aakash Jain.

* EWSTools/start-queue-mac.sh:

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

4 months agoRemove the SVG tear off objects for SVGLength, SVGLengthList and SVGAnimatedLengthList
said@apple.com [Tue, 26 Mar 2019 20:14:32 +0000 (20:14 +0000)]
Remove the SVG tear off objects for SVGLength, SVGLengthList and SVGAnimatedLengthList
https://bugs.webkit.org/show_bug.cgi?id=196083

Reviewed by Simon Fraser.

Source/WebCore:

-- SVGLength will be a superclass of SVGValueProperty<SVGLengthValue>. It
   is a wrapper of SVGLengthValue. It will be provide the DOM methods. It
   can setValueAsString() and return valueAsString().

-- SVGLengthList will be a superclass of SVGValuePropertyList<SVGLength>.
   The base class will provide all the DOM methods. SVGLengthList will be
   responsible for parsing a String to a SVGLength items. It can also
   build a string representing the stored items.

-- SVGAnimatedLengthList will be defined as SVGAnimatedPropertyList<SVGLengthList>.
   Like SVGAnimatedPointList, all the required methods and attributes
   will be handled by SVGAnimatedPropertyList.

-- SVGAnimatedLengthAccessor and SVGAnimatedLengthListAccessor will be
   added to access the members of types SVGAnimatedLength and
   SVGAnimatedLengthList.

-- SVGAnimatedLengthAnimator and SVGAnimatedLengthListAnimator will be
   created by the the new accessors to animate attributes of types
   SVGAnimatedLength and SVGAnimatedLengthList.

-- SVGAnimationLengthFunction and SVGAnimationLengthListFunction will be
   responsible for progressing the animVal() of attributes of types
   SVGAnimatedLength and SVGAnimatedLengthList.

-- SVGValuePropertyAnimator is a new template class which can animate a
   none reflecting attribute which should be backed by a value property,
   e.g. SVGLength.

-- SVGValuePropertyListAnimator is a new template class which can animate a
   none reflecting attribute which should be backed by a value property
   list, e.g. SVGLengthList.

Notes:

    -- SVGElement::isAnimatedStyleAttribute() will return true if the
       attribute is known by SVGPropertyAnimatorFactory. Or it's has
       a reflecting SVGAnimatedPropertyLength property and its name is
       one of the names listed in isAnimatedStylePropertyAttribute() of
       the propertyRegistry() of the SVGElement.

    -- SVGElement::commitPropertyChange() has to handle the attributes
       for which isAnimatedStylePropertyAttribute() returns true different
       from the other ones. styleReclac() needs updated attributes since
       it does not access the reflecting properties in the SVGELement.

    -- SVGTextContentElement does not need a customized SVGAnimatedLength.
       All SVGTextContentElement::textLengthAnimated() needs to know is
       whether m_textLength->baseVal() holds an empty SVGLength. If it
       does, it sets its value to getComputedTextLength().

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
(WebCore::updateCharacterData):
(WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
* svg/SVGAnimateElementBase.cpp:
(WebCore::SVGAnimateElementBase::hasValidAttributeType const):
* svg/SVGAnimatedLength.cpp: Removed.
* svg/SVGAnimatedLength.h: Removed.
* svg/SVGAnimatedLengthList.cpp: Removed.
* svg/SVGAnimatedLengthList.h: Removed.
* svg/SVGAnimatedType.h:
(WebCore::SVGAnimatedType::type const):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
(WebCore::inheritsFromProperty):
* svg/SVGAnimatorFactory.h:
(WebCore::SVGAnimatorFactory::isSupportedAttribute):
(WebCore::SVGAnimatorFactory::create):
These changes were required because some of the tests were trying to
animated unsupported attributes. To differentiate between between the
these two cases:
    1) the attribute is animate-able by the legacy controller.
    2) animating the attribute or the attribute itself is not supported
       by the element.

We want SVGAnimatorFactory tell us whether it can create an animator for
a given attribute or not.

* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::SVGCircleElement):
(WebCore::SVGCircleElement::parseAttribute):
(WebCore::SVGCircleElement::svgAttributeChanged):
(WebCore::SVGCircleElement::registerAttributes): Deleted.
* svg/SVGCircleElement.h:
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::SVGCursorElement):
(WebCore::SVGCursorElement::parseAttribute):
(WebCore::SVGCursorElement::svgAttributeChanged):
(WebCore::SVGCursorElement::registerAttributes): Deleted.
* svg/SVGCursorElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::commitPropertyChange):
(WebCore::SVGElement::isAnimatedStyleAttribute const):
* svg/SVGElement.h:
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::SVGEllipseElement):
(WebCore::SVGEllipseElement::parseAttribute):
(WebCore::SVGEllipseElement::svgAttributeChanged):
(WebCore::SVGEllipseElement::registerAttributes): Deleted.
* svg/SVGEllipseElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement):
(WebCore::SVGFilterElement::registerAttributes):
(WebCore::SVGFilterElement::parseAttribute):
* svg/SVGFilterElement.h:
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
(WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
(WebCore::SVGFilterPrimitiveStandardAttributes::registerAttributes): Deleted.
* svg/SVGFilterPrimitiveStandardAttributes.h:
(WebCore::SVGFilterPrimitiveStandardAttributes::x const):
(WebCore::SVGFilterPrimitiveStandardAttributes::y const):
(WebCore::SVGFilterPrimitiveStandardAttributes::width const):
(WebCore::SVGFilterPrimitiveStandardAttributes::height const):
(WebCore::SVGFilterPrimitiveStandardAttributes::xAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::yAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::widthAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::heightAnimated):
(WebCore::SVGFilterPrimitiveStandardAttributes::isKnownAttribute): Deleted.
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
(WebCore::SVGForeignObjectElement::parseAttribute):
(WebCore::SVGForeignObjectElement::registerAttributes): Deleted.
* svg/SVGForeignObjectElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::SVGImageElement):
(WebCore::SVGImageElement::parseAttribute):
(WebCore::SVGImageElement::registerAttributes): Deleted.
* svg/SVGImageElement.h:
* svg/SVGLength.h:
(WebCore::SVGLength::create):
(WebCore::SVGLength::clone const):
(WebCore::SVGLength::unitType):
(WebCore::SVGLength::valueForBindings):
(WebCore::SVGLength::setValueForBindings):
(WebCore::SVGLength::valueInSpecifiedUnits):
(WebCore::SVGLength::setValueInSpecifiedUnits):
(WebCore::SVGLength::setValueAsString):
(WebCore::SVGLength::newValueSpecifiedUnits):
(WebCore::SVGLength::convertToSpecifiedUnits):
(WebCore::SVGLength::valueAsString): Deleted.
(WebCore::SVGLength::SVGLength): Deleted.
* svg/SVGLengthList.h:
(WebCore::SVGLengthList::create):
(WebCore::SVGLengthList::lengthMode const):
(WebCore::SVGLengthList::parse):
(WebCore::SVGLengthList::SVGLengthList):
* svg/SVGLengthListValues.cpp: Removed.
* svg/SVGLengthListValues.h: Removed.
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::SVGLineElement):
(WebCore::SVGLineElement::parseAttribute):
(WebCore::SVGLineElement::svgAttributeChanged):
(WebCore::SVGLineElement::registerAttributes): Deleted.
* svg/SVGLineElement.h:
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
(WebCore::SVGLinearGradientElement::parseAttribute):
(WebCore::SVGLinearGradientElement::svgAttributeChanged):
(WebCore::SVGLinearGradientElement::registerAttributes): Deleted.
* svg/SVGLinearGradientElement.h:
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::registerAttributes):
(WebCore::SVGMarkerElement::parseAttribute):
* svg/SVGMarkerElement.h:
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::registerAttributes):
(WebCore::SVGMaskElement::parseAttribute):
(WebCore::SVGMaskElement::svgAttributeChanged):
* svg/SVGMaskElement.h:
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::registerAttributes):
(WebCore::SVGPatternElement::parseAttribute):
* svg/SVGPatternElement.h:
* svg/SVGPoint.h:
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
(WebCore::SVGRadialGradientElement::parseAttribute):
(WebCore::SVGRadialGradientElement::svgAttributeChanged):
(WebCore::SVGRadialGradientElement::registerAttributes): Deleted.
* svg/SVGRadialGradientElement.h:
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::SVGRectElement):
(WebCore::SVGRectElement::parseAttribute):
(WebCore::SVGRectElement::svgAttributeChanged):
(WebCore::SVGRectElement::registerAttributes): Deleted.
* svg/SVGRectElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::registerAttributes): Deleted.
* svg/SVGSVGElement.h:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::SVGTextContentElement):
(WebCore::SVGTextContentElement::registerAttributes):
(WebCore::SVGTextContentElement::parseAttribute):
(WebCore::SVGTextContentElement::svgAttributeChanged):
(WebCore::SVGTextContentElement::textLengthAnimated):
* svg/SVGTextContentElement.h:
(WebCore::SVGTextContentElement::specifiedTextLength const):
(WebCore::SVGTextContentElement::textLength const):
(WebCore::SVGTextContentElement::specifiedTextLength): Deleted.
(WebCore::SVGTextContentElement::textLengthAnimated): Deleted.
(WebCore::SVGTextContentElement::SVGAnimatedCustomLengthAttribute::SVGAnimatedCustomLengthAttribute): Deleted.
(WebCore::SVGTextContentElement::SVGAnimatedCustomLengthAttribute::synchronize): Deleted.
(WebCore::SVGTextContentElement::SVGAnimatedCustomLengthAttribute::animatedProperty): Deleted.
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::SVGTextPathElement):
(WebCore::SVGTextPathElement::registerAttributes):
(WebCore::SVGTextPathElement::parseAttribute):
* svg/SVGTextPathElement.h:
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::SVGTextPositioningElement):
(WebCore::SVGTextPositioningElement::parseAttribute):
(WebCore::SVGTextPositioningElement::svgAttributeChanged):
(WebCore::SVGTextPositioningElement::registerAttributes): Deleted.
* svg/SVGTextPositioningElement.h:
(WebCore::SVGTextPositioningElement::x const):
(WebCore::SVGTextPositioningElement::y const):
(WebCore::SVGTextPositioningElement::dx const):
(WebCore::SVGTextPositioningElement::dy const):
(WebCore::SVGTextPositioningElement::xAnimated):
(WebCore::SVGTextPositioningElement::yAnimated):
(WebCore::SVGTextPositioningElement::dxAnimated):
(WebCore::SVGTextPositioningElement::dyAnimated):
(WebCore::SVGTextPositioningElement::isKnownAttribute): Deleted.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::SVGUseElement):
(WebCore::SVGUseElement::parseAttribute):
(WebCore::SVGUseElement::svgAttributeChanged):
(WebCore::SVGUseElement::registerAttributes): Deleted.
* svg/SVGUseElement.h:
* svg/SVGValue.h:
* svg/properties/SVGAnimatedPropertyAccessorImpl.h:
* svg/properties/SVGAnimatedPropertyAnimator.h:
* svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
* svg/properties/SVGAnimatedPropertyImpl.h:
* svg/properties/SVGAnimationAdditiveListFunctionImpl.h:
(WebCore::SVGAnimationLengthListFunction::SVGAnimationLengthListFunction):
(WebCore::SVGAnimationLengthListFunction::progress):
(WebCore::SVGAnimationNumberListFunction::progress):
(WebCore::SVGAnimationPointListFunction::progress):
* svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:
(WebCore::SVGAnimationLengthFunction::SVGAnimationLengthFunction):
(WebCore::SVGAnimationLengthFunction::progress):
* svg/properties/SVGAttributeAnimator.cpp:
(WebCore::SVGAttributeAnimator::isAnimatedStylePropertyAniamtor const):
* svg/properties/SVGAttributeAnimator.h:
* svg/properties/SVGAttributeRegistry.h:
* svg/properties/SVGPropertyAnimatorFactory.h:
(WebCore::SVGPropertyAnimatorFactory::createLengthAnimator):
(WebCore::SVGPropertyAnimatorFactory::createLengthListAnimator):
(WebCore::SVGPropertyAnimatorFactory::attributeAnimatorCreator):
* svg/properties/SVGPropertyOwnerRegistry.h:
(WebCore::SVGPropertyOwnerRegistry::registerProperty):
(WebCore::SVGPropertyOwnerRegistry::isAnimatedLengthAttribute):
* svg/properties/SVGPropertyRegistry.h:
* svg/properties/SVGValuePropertyAnimator.h: Added.
(WebCore::SVGValuePropertyAnimator::SVGValuePropertyAnimator):
* svg/properties/SVGValuePropertyAnimatorImpl.h: Added.
* svg/properties/SVGValuePropertyListAnimator.h: Added.
(WebCore::SVGValuePropertyListAnimator::SVGValuePropertyListAnimator):
* svg/properties/SVGValuePropertyListAnimatorImpl.h: Added.

LayoutTests:

* platform/win/TestExpectations:
* svg/animations/svglength-element-removed-crash.svg:
* svg/dom/SVGLengthList-appendItem-expected.txt:
* svg/dom/SVGLengthList-appendItem.xhtml:
* svg/dom/SVGLengthList-basics-expected.txt:
* svg/dom/SVGLengthList-basics.xhtml:
* svg/dom/SVGLengthList-initialize-expected.txt:
* svg/dom/SVGLengthList-initialize.xhtml:
* svg/dom/SVGLengthList-insertItemBefore-expected.txt:
* svg/dom/SVGLengthList-insertItemBefore.xhtml:
* svg/dom/SVGLengthList-removeItem-expected.txt:
* svg/dom/SVGLengthList-removeItem.xhtml:
* svg/dom/SVGLengthList-replaceItem-expected.txt:
* svg/dom/SVGLengthList-replaceItem.xhtml:
This changes are required because SVGLengthList will be following the SVG2
specs regarding adding new items to the list.

See https://www.w3.org/TR/SVG/types.html#TermListInterface.

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

4 months agoWebAssembly: Fix f32.min, f64.min and f64.max operations on NaN
tzagallo@apple.com [Tue, 26 Mar 2019 19:29:02 +0000 (19:29 +0000)]
WebAssembly: Fix f32.min, f64.min and f64.max operations on NaN
https://bugs.webkit.org/show_bug.cgi?id=196217

Reviewed by Saam Barati.

JSTests:

Re-enable all NaN tests for f32.min, f64.min and f64.max.

* wasm/spec-tests/f32.wast.js:
* wasm/spec-tests/f64.wast.js:
* wasm/wasm.json:

Source/JavaScriptCore:

Generalize the fix for f32.max to properly handle NaN by doing an extra GreatherThan
comparison in r243446 to all min and max float operations.

* wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Min>):
(JSC::Wasm::AirIRGenerator::addFloatingPointMinOrMax):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Max>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Min>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Max>):
* wasm/wasm.json:

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

4 months ago[iOS WK2] position:fixed inside oveflow:scroll is jumpy
simon.fraser@apple.com [Tue, 26 Mar 2019 19:23:52 +0000 (19:23 +0000)]
[iOS WK2] position:fixed inside oveflow:scroll is jumpy
https://bugs.webkit.org/show_bug.cgi?id=196238

Reviewed by Antti Koivisto.
Source/WebCore:

We were inadvertently making Positioned nodes for position:fixed, which is unnecessary because
Fixed nodes handle them, and harmful because they introduced unwanted layer movement.

Tests: scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html
       scrollingcoordinator/ios/fixed-in-overflow-scroll.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCoordinatedPositioningForLayer const):

LayoutTests:

fixed-in-overflow-scroll-scrolling-tree.html actually tests the fix.
For some reason fixed-in-overflow-scroll.html doesn't show the jumpiness, but it's
a good test to have nonetheless.

Other minor cleanup.

* resources/ui-helper.js:
(window.UIHelper.immediateScrollElementAtContentPointToOffset):
* scrollingcoordinator/ios/fixed-in-overflow-scroll-expected.html: Added.
* scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree-expected.txt: Added.
* scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree.html: Copied from LayoutTests/scrollingcoordinator/ios/ui-scrolling-tree.html.
* scrollingcoordinator/ios/fixed-in-overflow-scroll.html: Added.
* scrollingcoordinator/ios/ui-scrolling-tree.html:

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

4 months agoIntl.DateTimeFormat should obey 2-digit hour
andy@vanwagoner.family [Tue, 26 Mar 2019 19:18:46 +0000 (19:18 +0000)]
Intl.DateTimeFormat should obey 2-digit hour
https://bugs.webkit.org/show_bug.cgi?id=195974

Reviewed by Keith Miller.

Source/JavaScriptCore:

* runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):

LayoutTests:

* js/intl-datetimeformat-expected.txt:
* js/script-tests/intl-datetimeformat.js:

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

4 months ago[macOS] Fix sandbox violations
pvollan@apple.com [Tue, 26 Mar 2019 19:15:56 +0000 (19:15 +0000)]
[macOS] Fix sandbox violations
https://bugs.webkit.org/show_bug.cgi?id=196262
<rdar://problem/47738015>

Reviewed by Brent Fulgham.

Fix various observed sandbox violations.

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

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

4 months agoPrimary cluster of measurement set should always contain latest point.
dewei_zhu@apple.com [Tue, 26 Mar 2019 19:04:37 +0000 (19:04 +0000)]
Primary cluster of measurement set should always contain latest point.
https://bugs.webkit.org/show_bug.cgi?id=196243

Reviewed by Ryosuke Niwa.

Fix a bug in measurement-set api that primary cluster may not contain latest data point as
'carry_over' row may not be updated.

* public/api/measurement-set.php: Should always keep 'carry_over' data points up to date.
* server-tests/api-measurement-set-tests.js: Added an unit test for this change.
Fixed a typo.

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

4 months ago[ews-build] Use PostgreSQL for ews-build database
aakash_jain@apple.com [Tue, 26 Mar 2019 18:20:22 +0000 (18:20 +0000)]
[ews-build] Use PostgreSQL for ews-build database
https://bugs.webkit.org/show_bug.cgi?id=196229

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-build/master.cfg:

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

4 months ago[ews-build] Get master_hostname dynamically in master.cfg
aakash_jain@apple.com [Tue, 26 Mar 2019 18:13:37 +0000 (18:13 +0000)]
[ews-build] Get master_hostname dynamically in cfg
https://bugs.webkit.org/show_bug.cgi?id=196255

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-build/master.cfg: Get hostname dynamically. Also do not
send events data in test mode.

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

4 months agoWeb Inspector: Sources: fix typo in CSS selector to always show add breakpoint button
drousso@apple.com [Tue, 26 Mar 2019 18:12:37 +0000 (18:12 +0000)]
Web Inspector: Sources: fix typo in CSS selector to always show add breakpoint button
https://bugs.webkit.org/show_bug.cgi?id=196241

Reviewed by Matt Baker.

* UserInterface/Views/SourcesNavigationSidebarPanel.css:
(.sidebar > .panel.navigation.sources > .content > .details-section:matches(.paused-reason, .breakpoints).collapsed > .header > .options,):
(.sidebar > .panel.navigation.sources > .content > .details-section:matches(.paused-reason, .breakpoins).collapsed > .header > .options,): Deleted.

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

4 months agovertexAttribPointer must restrict offset parameter
dino@apple.com [Tue, 26 Mar 2019 18:00:55 +0000 (18:00 +0000)]
vertexAttribPointer must restrict offset parameter
https://bugs.webkit.org/show_bug.cgi?id=196261
<rdar://problem/48458086>

Reviewed by Antoine Quint.

Source/WebCore:

This WebGL function should fail if the offset parameter is
not within [0, max 32-bit int].

Test: fast/canvas/webgl/vertexAttribPointer-with-bad-offset.html

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::vertexAttribPointer):

LayoutTests:

Add a test where the offset parameter is out of bounds.

* fast/canvas/webgl/vertexAttribPointer-with-bad-offset-expected.txt: Added.
* fast/canvas/webgl/vertexAttribPointer-with-bad-offset.html: Added.

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

4 months agoAssertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyCoordinatedGra...
commit-queue@webkit.org [Tue, 26 Mar 2019 17:57:58 +0000 (17:57 +0000)]
Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyCoordinatedGraphics::incorporateUpdate when forceCompositingMode is turned on
https://bugs.webkit.org/show_bug.cgi?id=195879

Patch by Tomoki Imai <Tomoki.Imai@sony.com> on 2019-03-26
Reviewed by Carlos Garcia Campos.

The root cause is that DrawingAreaProxyCoordinatedGraphics::isInAcceleratedCompositingMode checks both of alwaysUseCompositing() and !m_layerTreeContext.isEmpty().
alwaysUseCompositing() refers preferences, which is written by the application (UIProcess).
On the other hand, m_layerTreeContext is changed when it receives enterAcceleratedCompositingMode/exitAcceleratedCompositingMode from WebProcess.

It results when we set forceCompositingMode and acceleratedCompositingEnabled to true, WebProcess and UIProcess is out of sync until WebProcess sends enterAcceleratedCompositingMode message.
In such situation, WebProcess sends incorporateUpdate to UIProcess because WebProcess is in non-AC mode, but isInAcceleratedCompositingMode becomes true in UIProcess side.

* UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:
(WebKit::DrawingAreaProxyCoordinatedGraphics::~DrawingAreaProxyCoordinatedGraphics): Should call exitAcceleratedCompositingMode even when alwaysUseCompositing is true.
(WebKit::DrawingAreaProxyCoordinatedGraphics::enterAcceleratedCompositingMode): enterAcceleratedCompositingMode should check enterAcceleratedCompositingMode is not called twice.
* UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h: Remove alwaysUseCompositing from isInAcceleratedCompositingMode

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

4 months agoRemove mousemoveEventHandlingPreventsDefault internal setting and quirk
graouts@webkit.org [Tue, 26 Mar 2019 17:29:54 +0000 (17:29 +0000)]
Remove mousemoveEventHandlingPreventsDefault internal setting and quirk
https://bugs.webkit.org/show_bug.cgi?id=196254
<rdar://problem/49124334>

Unreviewed. Fix build broken by previous commit.

* dom/Event.cpp:
* dom/Event.h:
(WebCore::Event::hasEncounteredListener const): Deleted.
(WebCore::Event::setHasEncounteredListener): Deleted.
* dom/EventTarget.cpp:
(WebCore::EventTarget::innerInvokeEventListeners):

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

4 months ago[ContentChangeObserver] Skip anonymous renderers when checking for "willRespondToMous...
zalan@apple.com [Tue, 26 Mar 2019 17:27:05 +0000 (17:27 +0000)]
[ContentChangeObserver] Skip anonymous renderers when checking for "willRespondToMouseClickEvents"
https://bugs.webkit.org/show_bug.cgi?id=196259
<rdar://problem/49240029>

Reviewed by Dean Jackson.

Source/WebCore:

Anonymous renderers don't have associated DOM nodes so they can't have event listeners either. Let's skip them.

Test: fast/events/touch/ios/content-observation/crash-on-anonymous-renderer.html

* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::StyleChangeScope::isConsideredClickable const):

LayoutTests:

* fast/events/touch/ios/content-observation/crash-on-anonymous-renderer-expected.txt: Added.
* fast/events/touch/ios/content-observation/crash-on-anonymous-renderer.html: Added.

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

4 months ago[ews-app] Set db_constraint to False for Foreign Keys
aakash_jain@apple.com [Tue, 26 Mar 2019 17:13:30 +0000 (17:13 +0000)]
[ews-app] Set db_constraint to False for Foreign Keys
https://bugs.webkit.org/show_bug.cgi?id=196252

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-app/ews/models/build.py:
* BuildSlaveSupport/ews-app/ews/models/step.py:

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

4 months ago[ews-build] is_test_mode_enabled should default to True
aakash_jain@apple.com [Tue, 26 Mar 2019 17:12:23 +0000 (17:12 +0000)]
[ews-build] is_test_mode_enabled should default to True
https://bugs.webkit.org/show_bug.cgi?id=196248

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-build/master.cfg: Reverse the environment variable used to decide is_test_mode_enabled.

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

4 months ago[ews-app] Add webkitperl to ENABLED_QUEUES
aakash_jain@apple.com [Tue, 26 Mar 2019 17:08:17 +0000 (17:08 +0000)]
[ews-app] Add webkitperl to ENABLED_QUEUES
https://bugs.webkit.org/show_bug.cgi?id=196253

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:

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

4 months agoRemove mousemoveEventHandlingPreventsDefault internal setting and quirk
graouts@webkit.org [Tue, 26 Mar 2019 16:57:38 +0000 (16:57 +0000)]
Remove mousemoveEventHandlingPreventsDefault internal setting and quirk
https://bugs.webkit.org/show_bug.cgi?id=196254
<rdar://problem/49124334>

Reviewed by Dean Jackson.

Source/WebCore:

* page/Quirks.cpp:
(WebCore::Quirks::shouldMousemoveEventHandlingPreventDefault const): Deleted.
* page/Quirks.h:
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setMouseEventsSimulationEnabled):
(WebCore::RuntimeEnabledFeatures::mousemoveEventHandlingPreventsDefaultEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setMousemoveEventHandlingPreventsDefaultEnabled): Deleted.

Source/WebKit:

* Shared/WebPreferences.yaml:

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

4 months agoLayout tests fast/events/wheel-event-destroys-overflow.html
sroberts@apple.com [Tue, 26 Mar 2019 16:39:11 +0000 (16:39 +0000)]
Layout tests fast/events/wheel-event-destroys-overflow.html
fast/events/wheelevent-mousewheel-interaction.html
fast/events/wheel-event-destroys-frame.html
fast/events/wheelevent-basic.html
fast/events/wheelevent-in-text-node.html are a flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=195719

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations: Marking tests as flaky

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

4 months agoUnreviewed, rolling out r243493.
commit-queue@webkit.org [Tue, 26 Mar 2019 16:36:36 +0000 (16:36 +0000)]
Unreviewed, rolling out r243493.
https://bugs.webkit.org/show_bug.cgi?id=196257

broke the non-gst-gl build (Requested by philn on #webkit).

Reverted changeset:

"Build failure with gstreamer 1.12.5 if USE_GSTREAMER_GL is
enabled"
https://bugs.webkit.org/show_bug.cgi?id=196178
https://trac.webkit.org/changeset/243493

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

4 months agoAddress NSWindow sometimes using WebKitTestRunnerEvent too early
ap@apple.com [Tue, 26 Mar 2019 15:58:36 +0000 (15:58 +0000)]
Address NSWindow sometimes using WebKitTestRunnerEvent too early
https://bugs.webkit.org/show_bug.cgi?id=196211
rdar://problem/49110552

Reviewed by Tim Horton.

* WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize):
Make sure that EventSenderProxy always exists when running tests. We used to create
it when resetting before the first test, which is a bit too late.

* WebKitTestRunner/TestController.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
(WTR::TestController::finishCreatingPlatformWebView):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
Moved some code that made NSWindow use NSEvent during web view creation. We may
need to move more if some other case us found, but this is enough for now.

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

4 months agoLayout Test js/math-clz32.html is failing
pvollan@apple.com [Tue, 26 Mar 2019 14:50:24 +0000 (14:50 +0000)]
Layout Test js/math-clz32.html is failing
https://bugs.webkit.org/show_bug.cgi?id=196209

Unreviewed test gardening.

* platform/win/TestExpectations:

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

4 months ago[GTK] Unreviewed gardening, update test expectations and baselines
dpino@igalia.com [Tue, 26 Mar 2019 13:22:05 +0000 (13:22 +0000)]
[GTK] Unreviewed gardening, update test expectations and baselines

* platform/gtk/TestExpectations:
* platform/gtk/compositing/overflow/textarea-scroll-touch-expected.txt:
New expected results after r243031.
* platform/gtk/http/tests/inspector/network/har/har-page-expected.txt:
New expected results after r243347.

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

4 months agoBuild failure with gstreamer 1.12.5 if USE_GSTREAMER_GL is enabled
commit-queue@webkit.org [Tue, 26 Mar 2019 13:11:32 +0000 (13:11 +0000)]
Build failure with gstreamer 1.12.5 if USE_GSTREAMER_GL is enabled
https://bugs.webkit.org/show_bug.cgi?id=196178

Patch by Mike Gorse <mgorse@alum.wpi.edu> on 2019-03-26
Reviewed by Philippe Normand.

No new tests (build fix).

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
Include gst/gl/gl.h before including GraphicsContext3D.h.

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

4 months ago[WPE][Qt] Uninitialized racy ViewBackend
commit-queue@webkit.org [Tue, 26 Mar 2019 12:09:50 +0000 (12:09 +0000)]
[WPE][Qt] Uninitialized racy ViewBackend
https://bugs.webkit.org/show_bug.cgi?id=196247

Patch by Philippe Normand <pnormand@igalia.com> on 2019-03-26
Reviewed by Carlos Garcia Campos.

* UIProcess/API/wpe/qt/WPEQtView.h: Initialize the backend pointer to nullptr.

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

4 months agoUnreviewed. Fix typo in GLib geolocation API after r243285.
carlosgc@webkit.org [Tue, 26 Mar 2019 11:18:29 +0000 (11:18 +0000)]
Unreviewed. Fix typo in GLib geolocation API after r243285.

gelocation -> geolocation.

Source/WebKit:

* UIProcess/API/glib/WebKitGeolocationManager.cpp:
(webkit_geolocation_manager_class_init):
(webkit_geolocation_manager_update_position):
(webkit_geolocation_manager_failed):
(webkit_gelocation_manager_update_position): Deleted.
(webkit_gelocation_manager_failed): Deleted.
* UIProcess/API/gtk/WebKitGeolocationManager.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/wpe/WebKitGeolocationManager.h:
* UIProcess/API/wpe/docs/wpe-1.0-sections.txt:

Tools:

* TestWebKitAPI/Tests/WebKitGLib/TestGeolocationManager.cpp:
(testGeolocationManagerWatchPosition):

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

4 months ago[GTK][WPE] Disable process warming
commit-queue@webkit.org [Tue, 26 Mar 2019 10:16:46 +0000 (10:16 +0000)]
[GTK][WPE] Disable process warming
https://bugs.webkit.org/show_bug.cgi?id=196208

Patch by Patrick Griffis <pgriffis@igalia.com> on 2019-03-26
Reviewed by Chris Dumez.

Fixes crash caused by r243384.

Process warming is incompatible with our launcher as it expects a valid
WebsiteDataStore at initialization time for sandbox permissions.

* UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitialize):

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

4 months ago[GStreamer] Sound loop with Google Hangouts and WhatsApp notifications
philn@webkit.org [Tue, 26 Mar 2019 09:34:07 +0000 (09:34 +0000)]
[GStreamer] Sound loop with Google Hangouts and WhatsApp notifications
https://bugs.webkit.org/show_bug.cgi?id=189471

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The media duration is now cached (again). The loop issue was
triggered by the previous version of the code returning positive
infinite duration in didEnd(), followed by the timeupdate event
propagation that would trick the HTMLMediaElement into a new call
to play(). Now the cached duration is updated to current position
at EOS (for forward playback direction only), so the media element
no longer triggers a new play call for those cases.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::loadFull):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
(WebCore::MediaPlayerPrivateGStreamer::platformDuration const):
(WebCore::MediaPlayerPrivateGStreamer::durationMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
(WebCore::MediaPlayerPrivateGStreamer::durationChanged):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::currentMediaTime const):

LayoutTests:

* platform/gtk/TestExpectations:
* platform/gtk/media/video-playing-and-pause-expected.txt:

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

4 months agoHit-testing on layers overlapping scrollers should hit-test on text boxes
antti@apple.com [Tue, 26 Mar 2019 07:12:47 +0000 (07:12 +0000)]
Hit-testing on layers overlapping scrollers should hit-test on text boxes
https://bugs.webkit.org/show_bug.cgi?id=195373
<rdar://problem/48649865>

Reviewed by Simon Fraser.

Source/WebCore:

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint):

Collect event region for overflowing line boxes.

* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::paintFlow):

Collect event region for overflowing simple lines.

LayoutTests:

* fast/scrolling/ios/overflow-scroll-overlap-3.html:

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

4 months agoDo not terminate the NetworkProcess if a third party application sends a NSCredential...
commit-queue@webkit.org [Tue, 26 Mar 2019 06:12:55 +0000 (06:12 +0000)]
Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef
https://bugs.webkit.org/show_bug.cgi?id=196213

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-25
Reviewed by Geoff Garen.

Source/WebKit:

A release assertion added in r230225 was reachable.  I reached it in a unit test that responds to a challenge
with a SecIdentityRef wrapped in an NSCredential.

* Shared/cf/ArgumentCodersCF.cpp:
(IPC::decode):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added.
(credentialWithIdentityAndKeychainPath):
(-[ChallengeDelegate webView:didFinishNavigation:]):
(-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):

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

4 months agoExpected shouldn't assume its contained types are copyable
commit-queue@webkit.org [Tue, 26 Mar 2019 05:53:57 +0000 (05:53 +0000)]
Expected shouldn't assume its contained types are copyable
https://bugs.webkit.org/show_bug.cgi?id=195986

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-25
Reviewed by JF Bastien.

Source/WebCore:

* contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::loadAction):

Source/WTF:

* wtf/Expected.h:
(std::experimental::fundamentals_v3::__expected_detail::constexpr_base::constexpr_base):
(std::experimental::fundamentals_v3::operator==):
(std::experimental::fundamentals_v3::operator!=):
* wtf/Unexpected.h:
(std::experimental::fundamentals_v3::unexpected::unexpected):

Tools:

* TestWebKitAPI/Tests/WTF/Expected.cpp:
(TestWebKitAPI::NonCopyable::operator== const):
(TestWebKitAPI::NonCopyable::operator!= const):
(TestWebKitAPI::TEST):

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

4 months agoRegression(r242369) Trying to change profile picture on linked in shows file picker...
cdumez@apple.com [Tue, 26 Mar 2019 05:48:08 +0000 (05:48 +0000)]
Regression(r242369) Trying to change profile picture on linked in shows file picker, not the image picker
https://bugs.webkit.org/show_bug.cgi?id=196205
<rdar://problem/49083324>

Reviewed by Geoffrey Garen.

Update our FileUploadPanel code on iOS to properly deal with the MIME types containing
wild cards (e.g. "image/*") that are defined in the HTML specification:
- https://html.spec.whatwg.org/multipage/input.html#attr-input-accept

Previously, we would fail to convert those to UTIs.

* UIProcess/ios/forms/WKFileUploadPanel.mm:

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

4 months agoRemove some now-unnecessary dynamic class lookup
timothy_horton@apple.com [Tue, 26 Mar 2019 04:45:13 +0000 (04:45 +0000)]
Remove some now-unnecessary dynamic class lookup
https://bugs.webkit.org/show_bug.cgi?id=196237

Reviewed by Simon Fraser.

Source/WebKit:

* Shared/DocumentEditingContext.mm:
(WebKit::DocumentEditingContext::toPlatformContext):

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(makeRequest):
(TEST):

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

4 months agoLeak of SVGFontFaceElement when RenderStyle holds onto a FontRances which uses it
rniwa@webkit.org [Tue, 26 Mar 2019 03:34:43 +0000 (03:34 +0000)]
Leak of SVGFontFaceElement when RenderStyle holds onto a FontRances which uses it
https://bugs.webkit.org/show_bug.cgi?id=196059

Reviewed by Zalan Bujtas.

SVGFontFaceElement keeps its RenderStyle alive via ElementRareData but RenderStyle can hold onto FontRanges
and therefore CSSFontSource, which in turn keeps SVGFontFaceElement alive, making a reference cycle.

More precisely, there are two reference cycles:
SVGFontFaceElement (1) -> ElementRareData -> StyleInheritedData -> FontCascade -> FontCascadeFonts (2)
FontCascadeFonts (2) -> FontRanges (3)
FontCascadeFonts (2) -> CSSFontSelector -> CSSFontFaceSet -> CSSSegmentedFontFace -> FontRanges (3)
FontRanges (3) -> CSSFontAccessor > CSSFontFace > CSSFontSource -> SVGFontFaceElement (1)

No new tests. Unfortunately, writing a test proved to be intractable. The leak can be reproduced by running
svg/text/text-text-05-t.svg then svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html consecutively.

* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::CSSFontFaceSource):
(WebCore::CSSFontFaceSource::load):
(WebCore::CSSFontFaceSource::font):
(WebCore::CSSFontFaceSource::isSVGFontFaceSource const):
* css/CSSFontFaceSource.h:

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

4 months agoUnreviewed, rolling out r243450.
Hironori.Fujii@sony.com [Tue, 26 Mar 2019 03:30:12 +0000 (03:30 +0000)]
Unreviewed, rolling out r243450.

AppleWin and WinCairo port builds get broken.

Reverted changeset:

"Add test for fix of #196095"
https://bugs.webkit.org/show_bug.cgi?id=196097
https://trac.webkit.org/changeset/243450

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

4 months ago[WPE][GTK] Make building WebVR (w/OpenVR) not depend on ENABLE_EXPERIMENTAL_FEATURES
aperez@igalia.com [Tue, 26 Mar 2019 02:18:13 +0000 (02:18 +0000)]
[WPE][GTK] Make building WebVR (w/OpenVR) not depend on ENABLE_EXPERIMENTAL_FEATURES
https://bugs.webkit.org/show_bug.cgi?id=196223

Reviewed by Michael Catanzaro.

Disentangle USE_OPENVR from ENABLE_EXPERIMENTAL_FEATURES, making it
unneeded to include ThirdParty/openvr/ in release tarballs.

* Source/cmake/OptionsGTK.cmake: Set USE_OPENVR to OFF by default,
instead of making it use the value of ENABLE_EXPERIMENTAL_FEATURES.
* Source/cmake/OptionsWPE.cmake: Ditto.

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

4 months agoGet rid of ENABLE(ANIMATED_KEYBOARD_SCROLLING)
timothy_horton@apple.com [Tue, 26 Mar 2019 01:44:50 +0000 (01:44 +0000)]
Get rid of ENABLE(ANIMATED_KEYBOARD_SCROLLING)
https://bugs.webkit.org/show_bug.cgi?id=196224

Reviewed by Simon Fraser.

* Platform/spi/ios/AccessibilitySupportSPI.h:
* UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator invalidate]):
(perpendicularAbsoluteUnitVector):
(-[WKKeyboardScrollingAnimator beginWithEvent:]):
(-[WKKeyboardScrollingAnimator stopAnimatedScroll]):
(-[WKKeyboardScrollingAnimator willStartInteractiveScroll]):
(-[WKKeyboardScrollViewAnimator scrollToContentOffset:animated:]):
(-[WKKeyboardScrollViewAnimator scrollWithScrollToExtentAnimationTo:]):
(-[WKKeyboardScrollingAnimator startRepeatTimerIfNeeded]): Deleted.
(-[WKKeyboardScrollingAnimator stopRepeatTimer]): Deleted.
(-[WKKeyboardScrollingAnimator performDiscreteScroll]): Deleted.

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

4 months agoEnable IPC sending and receiving non-default-constructible types
Hironori.Fujii@sony.com [Tue, 26 Mar 2019 01:36:52 +0000 (01:36 +0000)]
Enable IPC sending and receiving non-default-constructible types
https://bugs.webkit.org/show_bug.cgi?id=196132
<rdar://problem/49229221>

Unreviewed build fix for WinCairo port.

error C2440: '=': cannot convert from 'int' to 'HANDLE'

* Platform/win/SharedMemoryWin.cpp:
(WebKit::SharedMemory::Handle::Handle): std::exchange HANDLE with nullptr, not 0.
(WebKit::SharedMemory::Handle::operator=): Ditto.

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

4 months agoRemove the SVG tear off objects for SVGAngle, SVGAnimatedAngle and SVGAnimatedEnumeration
commit-queue@webkit.org [Tue, 26 Mar 2019 01:26:11 +0000 (01:26 +0000)]
Remove the SVG tear off objects for SVGAngle, SVGAnimatedAngle and SVGAnimatedEnumeration
https://bugs.webkit.org/show_bug.cgi?id=196087

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-03-25
Reviewed by Simon Fraser.

Source/WebCore:

In this patch, the tear off objects for SVGAnimatedEnumeration will be
removed. Because the angle is paired with the orient type so its tear
off objects have to be removed as well. Here is what this patch does:

-- SVGAngle is now a superclass of SVGValueProperty<SVGAngleValue>. Its
relationship with its owner will be managed by the owner of its base
class SVGProperty.

-- SVGAnimatedAngle is now defined to be SVGAnimatedValueProperty<
SVGAngle>. All the DOM interfaces will be handled by the base class
given its baseVal and animVal are of type SVGAngle.

-- SVGAnimatedEnumeration is now defined to be
SVGAnimatedDecoratedProperty<SVGDecoratedEnumeration, unsigned>.
This can be read: SVGAnimatedEnumeration is an SVGAnimatedProperty which
decorates the "SVGDecoratedEnumeration" type to "unsigned". The reason
for this complication is the IDL of SVGAnimatedEnumeration defines the
baseVal and animVal are of type unsigned. However SVGAnimatedEnumeration
should be able to convert a string to its enum value and vice versa.

-- SVGAnimatedDecoratedProperty is a template class which maps from
DecoratedProperty to DecorationType. The DecoratedProperty is actually
a template class which exposes a property of type DecorationType.

-- SVGDecoratedProperty is an abstract class which manages setting and
getting a property in DecorationType regardless of how it is actually
stored.

-- SVGDecoratedPrimitive is a superclass of SVGDecoratedProperty which
stores a primitive property whose type is PropertyType but can decorate
it to the callers as DecorationType.

-- SVGDecoratedEnumeration is a superclass of SVGDecoratedPrimitive
which stores a primitive type DecorationType like "BlendMode" but
decorates it as "unsigned"

To get the mechanics of this change correct, new accessors, animators
and animation functions need to be added for SVGAnimatedAngle,
SVGAnimatedEnumeration and SVGAnimatedOrientType. But since angle and
the orient type are paired under a single attribute, a pair accessor and
animator are also needed for the pair { angle, orientType }.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* svg/SVGAngle.h:
(WebCore::SVGAngle::create):
(WebCore::SVGAngle::unitType):
(WebCore::SVGAngle::setValueForBindings):
(WebCore::SVGAngle::valueForBindings):
(WebCore::SVGAngle::setValueInSpecifiedUnits):
(WebCore::SVGAngle::valueInSpecifiedUnits):
(WebCore::SVGAngle::setValueAsString):
(WebCore::SVGAngle::newValueSpecifiedUnits):
(WebCore::SVGAngle::convertToSpecifiedUnits):
(WebCore::SVGAngle::valueAsString): Deleted.
(WebCore::SVGAngle::SVGAngle): Deleted.
* svg/SVGAnimatedAngle.cpp: Removed.
* svg/SVGAnimatedAngle.h: Removed.
* svg/SVGAnimatedEnumeration.cpp: Removed.
* svg/SVGAnimatedEnumeration.h: Removed.
* svg/SVGAnimatedType.h:
(WebCore::SVGAnimatedType::type const):
* svg/SVGAnimatorFactory.h:
(WebCore::SVGAnimatorFactory::create):
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::SVGClipPathElement):
(WebCore::SVGClipPathElement::parseAttribute):
(WebCore::SVGClipPathElement::svgAttributeChanged):
(WebCore::SVGClipPathElement::registerAttributes): Deleted.
* svg/SVGClipPathElement.h:
* svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
(WebCore::SVGComponentTransferFunctionElement::parseAttribute):
(WebCore::SVGComponentTransferFunctionElement::registerAttributes): Deleted.
* svg/SVGComponentTransferFunctionElement.h:
(WebCore::SVGComponentTransferFunctionElement::type const):
(WebCore::SVGComponentTransferFunctionElement::typeAnimated):
(WebCore::SVGComponentTransferFunctionElement::attributeRegistry): Deleted.
(WebCore::SVGComponentTransferFunctionElement::isKnownAttribute): Deleted.
* svg/SVGElement.cpp:
(WebCore::SVGElement::commitPropertyChange):
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::SVGFEBlendElement):
(WebCore::SVGFEBlendElement::parseAttribute):
(WebCore::SVGFEBlendElement::registerAttributes): Deleted.
* svg/SVGFEBlendElement.h:
(WebCore::SVGPropertyTraits<BlendMode>::fromString):
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
(WebCore::SVGFEColorMatrixElement::parseAttribute):
(WebCore::SVGFEColorMatrixElement::registerAttributes): Deleted.
* svg/SVGFEColorMatrixElement.h:
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::SVGFECompositeElement):
(WebCore::SVGFECompositeElement::parseAttribute):
(WebCore::SVGFECompositeElement::registerAttributes): Deleted.
* svg/SVGFECompositeElement.h:
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
(WebCore::SVGFEConvolveMatrixElement::parseAttribute):
(WebCore::SVGFEConvolveMatrixElement::registerAttributes): Deleted.
* svg/SVGFEConvolveMatrixElement.h:
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
(WebCore::SVGFEDisplacementMapElement::parseAttribute):
(WebCore::SVGFEDisplacementMapElement::registerAttributes): Deleted.
* svg/SVGFEDisplacementMapElement.h:
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
(WebCore::SVGFEGaussianBlurElement::registerAttributes): Deleted.
* svg/SVGFEGaussianBlurElement.h:
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
(WebCore::SVGFEMorphologyElement::parseAttribute):
(WebCore::SVGFEMorphologyElement::registerAttributes): Deleted.
* svg/SVGFEMorphologyElement.h:
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
(WebCore::SVGFETurbulenceElement::parseAttribute):
(WebCore::SVGFETurbulenceElement::svgAttributeChanged):
(WebCore::SVGFETurbulenceElement::registerAttributes): Deleted.
* svg/SVGFETurbulenceElement.h:
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::SVGFilterElement):
(WebCore::SVGFilterElement::registerAttributes):
(WebCore::SVGFilterElement::parseAttribute):
* svg/SVGFilterElement.h:
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::SVGGradientElement):
(WebCore::SVGGradientElement::registerAttributes):
(WebCore::SVGGradientElement::parseAttribute):
* svg/SVGGradientElement.h:
(WebCore::SVGGradientElement::spreadMethod const):
(WebCore::SVGGradientElement::gradientUnits const):
(WebCore::SVGGradientElement::spreadMethodAnimated):
(WebCore::SVGGradientElement::gradientUnitsAnimated):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::SVGMarkerElement):
(WebCore::SVGMarkerElement::registerAttributes):
(WebCore::SVGMarkerElement::parseAttribute):
(WebCore::SVGMarkerElement::setOrient):
(WebCore::SVGMarkerElement::setOrientToAngle):
(WebCore::SVGMarkerElement::orientTypeIdentifier): Deleted.
(WebCore::SVGMarkerElement::orientAngleIdentifier): Deleted.
* svg/SVGMarkerElement.h:
* svg/SVGMarkerTypes.h:
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::autoString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::autoStartReverseString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::fromString):
(WebCore::SVGPropertyTraits<SVGMarkerOrientType>::toString):
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::SVGMaskElement):
(WebCore::SVGMaskElement::registerAttributes):
(WebCore::SVGMaskElement::parseAttribute):
* svg/SVGMaskElement.h:
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::SVGPatternElement):
(WebCore::SVGPatternElement::registerAttributes):
(WebCore::SVGPatternElement::parseAttribute):
* svg/SVGPatternElement.h:
* svg/SVGSVGElement.cpp:
* svg/SVGScriptElement.cpp:
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::SVGTextContentElement):
(WebCore::SVGTextContentElement::registerAttributes):
(WebCore::SVGTextContentElement::parseAttribute):
* svg/SVGTextContentElement.h:
(WebCore::SVGTextContentElement::lengthAdjust const):
(WebCore::SVGTextContentElement::lengthAdjustAnimated):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::SVGTextPathElement):
(WebCore::SVGTextPathElement::registerAttributes):
(WebCore::SVGTextPathElement::parseAttribute):
* svg/SVGTextPathElement.h:
* svg/SVGValue.h:
* svg/properties/SVGAnimatedDecoratedProperty.h: Added.
(WebCore::SVGAnimatedDecoratedProperty::create):
(WebCore::SVGAnimatedDecoratedProperty::SVGAnimatedDecoratedProperty):
(WebCore::SVGAnimatedDecoratedProperty::setBaseVal):
(WebCore::SVGAnimatedDecoratedProperty::setBaseValInternal):
(WebCore::SVGAnimatedDecoratedProperty::baseVal const):
(WebCore::SVGAnimatedDecoratedProperty::setAnimVal):
(WebCore::SVGAnimatedDecoratedProperty::animVal const):
(WebCore::SVGAnimatedDecoratedProperty::currentValue const):
* svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Removed.
* svg/properties/SVGAnimatedPropertyAccessorImpl.h:
* svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
* svg/properties/SVGAnimatedPropertyImpl.h:
(WebCore::SVGAnimatedOrientType::create):
* svg/properties/SVGAnimatedPropertyPairAccessorImpl.h:
* svg/properties/SVGAnimatedPropertyPairAnimator.h:
(WebCore::SVGAnimatedPropertyPairAnimator::appendAnimatedInstance):
* svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h:
* svg/properties/SVGAnimatedStaticPropertyTearOff.h: Removed.
* svg/properties/SVGAnimationAdditiveValueFunctionImpl.h:
(WebCore::SVGAnimationAngleFunction::progress):
* svg/properties/SVGAnimationDiscreteFunctionImpl.h:
* svg/properties/SVGAttributeRegistry.h:
* svg/properties/SVGDecoratedEnumeration.h: Added.
(WebCore::SVGDecoratedEnumeration::create):
* svg/properties/SVGDecoratedPrimitive.h: Added.
(WebCore::SVGDecoratedPrimitive::SVGDecoratedPrimitive):
* svg/properties/SVGDecoratedProperty.h: Added.
(WebCore::SVGDecoratedProperty::setValue):
(WebCore::SVGDecoratedProperty::value const):
* svg/properties/SVGPropertyOwnerRegistry.h:
(WebCore::SVGPropertyOwnerRegistry::registerProperty):
(WebCore::SVGPropertyOwnerRegistry::isAnimatedLengthAttribute):
* svg/properties/SVGPropertyRegistry.h:
* svg/properties/SVGStaticPropertyTearOff.h: Removed.

LayoutTests:

* svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html:
Fixes cases that the tear off objects could not handle correctly for the
paired { angle, orientType }. Also when setting the orient type to "auto"
or "auto-start-reverse", the orient angle should be reset to
SVG_ANGLETYPE_UNSPECIFIED and is not suppsed to keep its original value.

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

4 months agofast/visual-viewport/ios/min-scale-greater-than-one.html is a flaky failure
sroberts@apple.com [Tue, 26 Mar 2019 01:21:43 +0000 (01:21 +0000)]
fast/visual-viewport/ios/min-scale-greater-than-one.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=196236

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations: Changing expectations due to test being flaky

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

4 months ago[iOS] Break a reference cycle between PreviewLoader and ResourceLoader
Hironori.Fujii@sony.com [Tue, 26 Mar 2019 01:19:59 +0000 (01:19 +0000)]
[iOS] Break a reference cycle between PreviewLoader and ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=194964

Unreviewed build fix for WinCairo port.

error C2504: 'CanMakeWeakPtr': base class undefined

* loader/ResourceLoader.h: Added #include <wtf/WeakPtr.h>.

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

4 months ago[Coordinated Graphics][WinCairo] ASSERTION FAILED: state.id == m_nicosia.state.id
Hironori.Fujii@sony.com [Tue, 26 Mar 2019 00:43:22 +0000 (00:43 +0000)]
[Coordinated Graphics][WinCairo] ASSERTION FAILED: state.id == m_nicosia.state.id
https://bugs.webkit.org/show_bug.cgi?id=196190

Reviewed by Žan Doberšek.

This assertion assumes the pre-committed and the committed scenes
are identical. But, the pre-committed scene is updated in the main
thread. Removed the false assertion.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::purgeGLResources): Remove the
assertion. Removed layers of committed scene, not pre-committed
scene.

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

4 months agofast/viewport/ios/initial-scale-after-changing-view-scale.html is a flaky timeout
sroberts@apple.com [Tue, 26 Mar 2019 00:24:23 +0000 (00:24 +0000)]
fast/viewport/ios/initial-scale-after-changing-view-scale.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=196233

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations: Changing expectations due to test being flaky

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

4 months agohttp/tests/cache-storage/cache-clearing-origin.https.html
sroberts@apple.com [Mon, 25 Mar 2019 23:58:17 +0000 (23:58 +0000)]
http/tests/cache-storage/cache-clearing-origin.https.html
http/tests/cache-storage/cache-records-persistency.https.html are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=196228

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations: Changing expectations due to flaky tests

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

4 months agoAdd socket-delegate to another entitlements config
beidson@apple.com [Mon, 25 Mar 2019 23:50:42 +0000 (23:50 +0000)]
Add socket-delegate to another entitlements config
rdar://problem/48090350 and https://bugs.webkit.org/show_bug.cgi?id=196227

Reviewed by Geoffrey Garen.

* Configurations/Network-iOSMac.entitlements:

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

4 months ago[iOS] Break a reference cycle between PreviewLoader and ResourceLoader
aestes@apple.com [Mon, 25 Mar 2019 23:30:47 +0000 (23:30 +0000)]
[iOS] Break a reference cycle between PreviewLoader and ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=194964
<rdar://problem/48279441>

Reviewed by Alex Christensen.

Source/WebCore:

When a document's QuickLook preview is loaded, a reference cycle is created between
WebPreviewLoader and ResourceLoader. Break the cycle by changing WebPreviewLoader to hold a
WeakPtr to its ResourceLoader ResourceLoader::releaseResources().

Fixes leaks detected by `run-webkit-tests --leaks LayoutTests/quicklook`. Also covered by
existing API tests.

* loader/ResourceLoader.h:
* loader/ios/PreviewLoader.mm:
(-[WebPreviewLoader initWithResourceLoader:resourceResponse:]):
(-[WebPreviewLoader _sendDidReceiveResponseIfNecessary]):
(-[WebPreviewLoader connection:didReceiveData:lengthReceived:]):
(-[WebPreviewLoader connectionDidFinishLoading:]):
(-[WebPreviewLoader connection:didFailWithError:]):

Source/WebKitLegacy/mac:

The WebDataSource._quickLookContent SPI accidentally relied on PreviewLoaders being leaked
to keep the temporary file referenced by WebQuickLookFileNameKey in existence. Since
PreviewLoaders are now being deleted properly, we teach WebDataSource to keep the
PreviewLoaderClient alive for its lifetime. This ensures that as long as
WebDataSource._quickLookContent can be called, the associated temp file will not be deleted
by WebKit.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPreviewLoaderClient):
* WebView/WebDataSource.mm:
(-[WebDataSource _quickLookPreviewLoaderClient]):
(-[WebDataSource _setQuickLookPreviewLoaderClient:]):
* WebView/WebDataSourceInternal.h:

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

4 months agoUnreviewed, rolling out r243465.
commit-queue@webkit.org [Mon, 25 Mar 2019 23:18:48 +0000 (23:18 +0000)]
Unreviewed, rolling out r243465.
https://bugs.webkit.org/show_bug.cgi?id=196226

the test doesn't build (Requested by thorton on #webkit).

Reverted changeset:

"Do not terminate the NetworkProcess if a third party
application sends a NSCredential with a SecIdentityRef"
https://bugs.webkit.org/show_bug.cgi?id=196213
https://trac.webkit.org/changeset/243465

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

4 months agoREGRESSION (r242687): Flicker when pinch-zooming pages in macOS Safari
simon.fraser@apple.com [Mon, 25 Mar 2019 23:11:11 +0000 (23:11 +0000)]
REGRESSION (r242687): Flicker when pinch-zooming pages in macOS Safari
https://bugs.webkit.org/show_bug.cgi?id=196126
rdar://problem/49095791

Reviewed by Tim Horton.

I fumbled the commit after the enum rename. Make this actually work.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

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

4 months agoZoom on macOS is centered around a point lower than the cursor
simon.fraser@apple.com [Mon, 25 Mar 2019 23:11:09 +0000 (23:11 +0000)]
Zoom on macOS is centered around a point lower than the cursor
https://bugs.webkit.org/show_bug.cgi?id=196225
rdar://problem/49213574

Reviewed by Tim Horton.

The origin handed to ViewGestureController::handleMagnificationGestureEvent is in WKWebView
coordinates, but we end up setting the transform on the RenderView's layer, so we need
to subtract the topContentInset.

* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::handleMagnificationGestureEvent):

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

4 months agoHeap::isMarked and friends should be instance methods
ysuzuki@apple.com [Mon, 25 Mar 2019 22:40:58 +0000 (22:40 +0000)]
Heap::isMarked and friends should be instance methods
https://bugs.webkit.org/show_bug.cgi?id=179988

Reviewed by Saam Barati.

Almost all the callers of Heap::isMarked have VM& reference. We should make Heap::isMarked instance function instead of static function
so that we do not need to look up Heap from the cell.

* API/JSAPIWrapperObject.mm:
(JSAPIWrapperObjectHandleOwner::isReachableFromOpaqueRoots):
* API/JSMarkingConstraintPrivate.cpp:
(JSC::isMarked):
* API/glib/JSAPIWrapperObjectGLib.cpp:
(JSAPIWrapperObjectHandleOwner::isReachableFromOpaqueRoots):
* builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::finalizeUnconditionally):
* bytecode/AccessCase.cpp:
(JSC::AccessCase::visitWeak const):
(JSC::AccessCase::propagateTransitions const):
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::visitWeak):
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::finalize):
* bytecode/CallLinkStatus.h:
* bytecode/CallVariant.cpp:
(JSC::CallVariant::finalize):
* bytecode/CallVariant.h:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::shouldJettisonDueToWeakReference):
(JSC::CodeBlock::shouldJettisonDueToOldAge):
(JSC::shouldMarkTransition):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::jettison):
* bytecode/CodeBlock.h:
* bytecode/ExecutableToCodeBlockEdge.cpp:
(JSC::ExecutableToCodeBlockEdge::visitChildren):
(JSC::ExecutableToCodeBlockEdge::finalizeUnconditionally):
(JSC::ExecutableToCodeBlockEdge::runConstraint):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::finalize):
* bytecode/GetByIdStatus.h:
* bytecode/GetByIdVariant.cpp:
(JSC::GetByIdVariant::finalize):
* bytecode/GetByIdVariant.h:
* bytecode/InByIdStatus.cpp:
(JSC::InByIdStatus::finalize):
* bytecode/InByIdStatus.h:
* bytecode/InByIdVariant.cpp:
(JSC::InByIdVariant::finalize):
* bytecode/InByIdVariant.h:
* bytecode/ObjectPropertyCondition.cpp:
(JSC::ObjectPropertyCondition::isStillLive const):
* bytecode/ObjectPropertyCondition.h:
* bytecode/ObjectPropertyConditionSet.cpp:
(JSC::ObjectPropertyConditionSet::areStillLive const):
* bytecode/ObjectPropertyConditionSet.h:
* bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::visitWeak const):
* bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isStillLive const):
* bytecode/PropertyCondition.h:
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::finalize):
* bytecode/PutByIdStatus.h:
* bytecode/PutByIdVariant.cpp:
(JSC::PutByIdVariant::finalize):
* bytecode/PutByIdVariant.h:
* bytecode/RecordedStatuses.cpp:
(JSC::RecordedStatuses::finalizeWithoutDeleting):
(JSC::RecordedStatuses::finalize):
* bytecode/RecordedStatuses.h:
* bytecode/StructureSet.cpp:
(JSC::StructureSet::isStillAlive const):
* bytecode/StructureSet.h:
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::visitWeakReferences):
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::finalizeInGC):
(JSC::DFG::Plan::isKnownToBeLiveDuringGC):
* heap/GCIncomingRefCounted.h:
* heap/GCIncomingRefCountedInlines.h:
(JSC::GCIncomingRefCounted<T>::filterIncomingReferences):
* heap/GCIncomingRefCountedSet.h:
* heap/GCIncomingRefCountedSetInlines.h:
(JSC::GCIncomingRefCountedSet<T>::lastChanceToFinalize):
(JSC::GCIncomingRefCountedSet<T>::sweep):
(JSC::GCIncomingRefCountedSet<T>::removeAll): Deleted.
(JSC::GCIncomingRefCountedSet<T>::removeDead): Deleted.
* heap/Heap.cpp:
(JSC::Heap::addToRememberedSet):
(JSC::Heap::runEndPhase):
(JSC::Heap::sweepArrayBuffers):
(JSC::Heap::addCoreConstraints):
* heap/Heap.h:
* heap/HeapInlines.h:
(JSC::Heap::isMarked):
* heap/HeapSnapshotBuilder.cpp:
(JSC::HeapSnapshotBuilder::appendNode):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::appendToMarkStack):
(JSC::SlotVisitor::visitChildren):
* jit/PolymorphicCallStubRoutine.cpp:
(JSC::PolymorphicCallStubRoutine::visitWeak):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finalizeUnconditionally):
* runtime/InferredValueInlines.h:
(JSC::InferredValue::finalizeUnconditionally):
* runtime/StackFrame.h:
(JSC::StackFrame::isMarked const):
* runtime/Structure.cpp:
(JSC::Structure::isCheapDuringGC):
(JSC::Structure::markIfCheap):
* runtime/Structure.h:
* runtime/TypeProfiler.cpp:
(JSC::TypeProfiler::invalidateTypeSetCache):
* runtime/TypeProfiler.h:
* runtime/TypeSet.cpp:
(JSC::TypeSet::invalidateCache):
* runtime/TypeSet.h:
* runtime/WeakMapImpl.cpp:
(JSC::WeakMapImpl<WeakMapBucket<WeakMapBucketDataKeyValue>>::visitOutputConstraints):
* runtime/WeakMapImplInlines.h:
(JSC::WeakMapImpl<WeakMapBucket>::finalizeUnconditionally):

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

4 months agoperformance-api/performance-observer-periodic.html is a flaky failure
sroberts@apple.com [Mon, 25 Mar 2019 22:15:41 +0000 (22:15 +0000)]
performance-api/performance-observer-periodic.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=196218

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations: Changing expectations due to flaky test

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

4 months agoDo not terminate the NetworkProcess if a third party application sends a NSCredential...
commit-queue@webkit.org [Mon, 25 Mar 2019 22:10:16 +0000 (22:10 +0000)]
Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef
https://bugs.webkit.org/show_bug.cgi?id=196213

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-25
Reviewed by Geoff Garen.

Source/WebKit:

A release assertion added in r230225 was reachable.  I reached it in a unit test that responds to a challenge
with a SecIdentityRef wrapped in an NSCredential.

* Shared/cf/ArgumentCodersCF.cpp:
(IPC::decode):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added.
(credentialWithIdentityAndKeychainPath):
(-[ChallengeDelegate webView:didFinishNavigation:]):
(-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):

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

4 months ago[ews-build] Gracefully handle missing patch_id in events
aakash_jain@apple.com [Mon, 25 Mar 2019 22:04:50 +0000 (22:04 +0000)]
[ews-build] Gracefully handle missing patch_id in events
https://bugs.webkit.org/show_bug.cgi?id=196216

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-build/events.py:

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

4 months ago[ews-build] use lz4 compression for improving buildbot performance
aakash_jain@apple.com [Mon, 25 Mar 2019 22:03:30 +0000 (22:03 +0000)]
[ews-build] use lz4 compression for improving buildbot performance
https://bugs.webkit.org/show_bug.cgi?id=196155

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-build/master.cfg:

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

4 months agoPull some API testing helper methods out of TestWKWebView
wenson_hsieh@apple.com [Mon, 25 Mar 2019 21:39:13 +0000 (21:39 +0000)]
Pull some API testing helper methods out of TestWKWebView
https://bugs.webkit.org/show_bug.cgi?id=196212

Reviewed by Tim Horton.

Refactor some more API testing utility methods, so that they can be used in
tests that do not use TestWKWebView.

* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView loadTestPageNamed:]):
(-[WKWebView synchronouslyLoadHTMLString:baseURL:]):
(-[WKWebView synchronouslyLoadHTMLString:]):
(-[WKWebView synchronouslyLoadTestPageNamed:]):
(-[TestWKWebView loadTestPageNamed:]): Deleted.
(-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]): Deleted.
(-[TestWKWebView synchronouslyLoadHTMLString:]): Deleted.
(-[TestWKWebView synchronouslyLoadTestPageNamed:]): Deleted.

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

4 months agoGet rid of WebPage::m_shouldResetDrawingAreaAfterSuspend flag
cdumez@apple.com [Mon, 25 Mar 2019 21:28:09 +0000 (21:28 +0000)]
Get rid of WebPage::m_shouldResetDrawingAreaAfterSuspend flag
https://bugs.webkit.org/show_bug.cgi?id=196210
<rdar://problem/48681326>

Reviewed by Geoffrey Garen.

Get rid of WebPage::m_shouldResetDrawingAreaAfterSuspend flag and use the drawing area identifier
instead to reset the DrawingArea in the WebProcess whenever the UIProcess did.

This is less error-prone and guarantees that the WebProcess and the UIProcess can reliably
communicate via DrawingArea IPC.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setIsSuspended):
* WebProcess/WebPage/WebPage.h:

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

4 months agoEnable IPC sending and receiving non-default-constructible types
achristensen@apple.com [Mon, 25 Mar 2019 21:23:15 +0000 (21:23 +0000)]
Enable IPC sending and receiving non-default-constructible types
https://bugs.webkit.org/show_bug.cgi?id=196132

Reviewed by Geoff Garen.

Source/WebCore:

This basically just requires the decoding of std::tuple to return an Optional<std::tuple> instead of
constructing a std::tuple then decoding into it.  I now decode synchronous replies into an Optional<std::tuple>
then move it into the tuple of references where the successfully decoded reply should go.  This required
the synchronous reply types be move constructible and move assignable.

* Modules/indexeddb/shared/IDBRequestData.h:
* Modules/indexeddb/shared/IDBTransactionInfo.h:
* platform/DragImage.h:
* platform/PasteboardWriterData.h:
* platform/audio/mac/CAAudioStreamDescription.h:
* platform/graphics/RemoteVideoSample.h:

Source/WebKit:

* Platform/IPC/ArgumentCoder.h:
* Platform/IPC/ArgumentCoders.h:
(IPC::TupleEncoder::encode):
(IPC::tupleFromTupleAndObject):
(IPC::TupleDecoderImpl::decode):
(IPC::TupleDecoderImpl<Type>::decode):
(IPC::TupleDecoder::decode):
(IPC::TupleDecoder<0>::decode):
(IPC::TupleCoder::encode): Deleted.
(IPC::TupleCoder::decode): Deleted.
* Platform/IPC/Connection.h:
(IPC::Connection::sendWithReply):
(IPC::TupleMover::move):
(IPC::moveTuple):
(IPC::Connection::sendSync):
* Platform/IPC/Decoder.h:
(IPC::Decoder::decode):
(IPC::Decoder::operator>>):
* Platform/IPC/HandleMessage.h:
(IPC::handleMessage):
(IPC::handleMessageSynchronous):
(IPC::handleMessageSynchronousWantsConnection):
(IPC::handleMessageAsync):
* Platform/SharedMemory.h:
* Scripts/webkit/LegacyMessages-expected.h:
* Scripts/webkit/Messages-expected.h:
* Scripts/webkit/MessagesSuperclass-expected.h:
* Scripts/webkit/messages.py:
* Shared/Databases/IndexedDB/WebIDBResult.h:
* Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
* Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:
* Shared/ShareableBitmap.h:
* Shared/ShareableResource.h:
* Shared/UpdateInfo.h:
* Shared/WebEvent.h:
* Shared/WebProcessCreationParameters.cpp:
* Shared/WebProcessCreationParameters.h:
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::SecItemResponseData):
(WebKit::SecItemResponseData::decode):
* Shared/mac/SecItemResponseData.h:
* WebProcess/MediaStream/MediaDeviceSandboxExtensions.h:

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

4 months agoStop storing raw pointers to Documents
achristensen@apple.com [Mon, 25 Mar 2019 21:21:50 +0000 (21:21 +0000)]
Stop storing raw pointers to Documents
https://bugs.webkit.org/show_bug.cgi?id=196042

Reviewed by Geoff Garen.

Use WeakPtr instead!  This could change some UAF bugs into null dereference crashes.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::CSSFontSelector::fontRangesForFamily):
* css/CSSFontSelector.h:
* css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::MediaQueryMatcher):
(WebCore::MediaQueryMatcher::matchMedia):
* css/MediaQueryMatcher.h:
* css/StyleSheetList.cpp:
(WebCore::StyleSheetList::StyleSheetList):
(WebCore::StyleSheetList::ownerNode const):
* css/StyleSheetList.h:
* css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::ViewportStyleResolver):
* css/ViewportStyleResolver.h:
* dom/Document.h:
(WebCore::Document::setTemplateDocumentHost):
(WebCore::Document::templateDocumentHost):
* dom/DocumentParser.cpp:
(WebCore::DocumentParser::DocumentParser):
* dom/DocumentParser.h:
(WebCore::DocumentParser::document const):
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::ScriptedAnimationController):
* dom/ScriptedAnimationController.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::HTMLScriptRunner):
(WebCore::HTMLScriptRunner::runScript):
* html/parser/HTMLScriptRunner.h:
* loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::MediaResourceLoader):
* loader/MediaResourceLoader.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequestInContentDispositionAttachmentSandbox const):
(WebCore::CachedResourceLoader::loadDone):
* loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::document const):
(WebCore::CachedResourceLoader::setDocument):

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

4 months agoUpdate browserbench.org/JetStream2.0 to the latest version.
sbarati@apple.com [Mon, 25 Mar 2019 21:14:50 +0000 (21:14 +0000)]
Update browserbench.org/JetStream2.0 to the latest version.

Rubber-stamped by Filip Pizlo.

* JetStream2.0: Replaced with ../../PerformanceTests/JetStream2.

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

4 months agoUnreviewed, rolling out r243419.
tsavell@apple.com [Mon, 25 Mar 2019 21:12:25 +0000 (21:12 +0000)]
Unreviewed, rolling out r243419.

Caused Mac WK2 testers to crash and become unresponsive.

Reverted changeset:

"[Web GPU] Prototype compute pipeline with MSL"
https://bugs.webkit.org/show_bug.cgi?id=196107
https://trac.webkit.org/changeset/243419

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

4 months agoUnreviewed, rolling out r243438.
tsavell@apple.com [Mon, 25 Mar 2019 21:10:38 +0000 (21:10 +0000)]
Unreviewed, rolling out r243438.

243319 Caused Mac WK2 testers to crash and become
unresponsive.

Reverted changeset:

"Update WebGPU class names based on sketch.idl"
https://bugs.webkit.org/show_bug.cgi?id=194260
https://trac.webkit.org/changeset/243438

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

4 months agoUpdate the blurb describing JetStream2 and fix a broken link in the in-depth page.
sbarati@apple.com [Mon, 25 Mar 2019 21:03:15 +0000 (21:03 +0000)]
Update the blurb describing JetStream2 and fix a broken link in the in-depth page.

Rubber-stamped by Filip Pizlo.

* JetStream2/in-depth.html:
* JetStream2/index.html:

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

4 months agoAnimated keyboard scrolling is extremely chaotic
timothy_horton@apple.com [Mon, 25 Mar 2019 20:55:33 +0000 (20:55 +0000)]
Animated keyboard scrolling is extremely chaotic
https://bugs.webkit.org/show_bug.cgi?id=196164
<rdar://problem/48702444>

Reviewed by Simon Fraser.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interpretKeyEvent:isCharEvent:]):
Consume keyboard events instead of interpreting them traditionally
if WKKeyboardScrollingAnimator is animating.

* UIProcess/ios/WKKeyboardScrollingAnimator.h:
* UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator beginWithEvent:]):
(-[WKKeyboardScrollingAnimator handleKeyEvent:]):
(-[WKKeyboardScrollingAnimator stopAnimatedScroll]):
(-[WKKeyboardScrollingAnimator scrollTriggeringKeyIsPressed]):
(-[WKKeyboardScrollingAnimator displayLinkFired:]):
(-[WKKeyboardScrollViewAnimator scrollTriggeringKeyIsPressed]):
Expose the current state of interactive scrolling, and rename the related member.

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

4 months agoAdd WebKit logging for first paint and other interesting layout milestones
krollin@apple.com [Mon, 25 Mar 2019 20:46:53 +0000 (20:46 +0000)]
Add WebKit logging for first paint and other interesting layout milestones
https://bugs.webkit.org/show_bug.cgi?id=196159
<rdar://problem/49128952>

Reviewed by Simon Fraser.

Add some logging to indicate what layout milestones have been reached.
This should help us determine if there's a client, rendering, layout,
or some other issue when page content does not appear in the client
window.

The logging is being added to
WebFrameLoaderClient::dispatchDidReachLayoutMilestone. This seems like
a nice central place to capture layout milestones. However, it will
only log notifications that are being sent to clients. It does not
indicate all milestones that have occurred. That is, it does not
report milestones that are filtered out due to client disinterest.
There doesn't seem to be a good central place to capture all
milestones, regardless of client interest.

* Platform/Logging.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone):

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

4 months agoWeb Inspector: Page Weight indicator clears on pages with zero length resources ...
joepeck@webkit.org [Mon, 25 Mar 2019 20:45:37 +0000 (20:45 +0000)]
Web Inspector: Page Weight indicator clears on pages with zero length resources (macrumors.com)
https://bugs.webkit.org/show_bug.cgi?id=196170

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

* UserInterface/Models/DefaultDashboard.js:
(WI.DefaultDashboard.prototype._resourceSizeDidChange):
Catch NaN earlier.

* UserInterface/Models/Resource.js:
(WI.Resource.prototype.updateWithMetrics):
When we receive exact metrics transition the estimated size to zero,
since we won't receive any more updates for the resource.

LayoutTests:

* http/tests/inspector/network/resource-sizes-network.html:
* http/tests/inspector/network/resources/empty.txt: Added.
* platform/mac/http/tests/inspector/network/resource-sizes-network-expected.txt:

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

4 months agoDelete MetadataPreloadingNotPermitted, it is unused
eric.carlson@apple.com [Mon, 25 Mar 2019 20:43:47 +0000 (20:43 +0000)]
Delete MetadataPreloadingNotPermitted, it is unused
https://bugs.webkit.org/show_bug.cgi?id=196202
<rdar://problem/49213611>

Reviewed by Jer Noble.

Source/WebCore:

No new tests, the flat was unused except in an existing test that was removed.

* html/MediaElementSession.cpp:
(WebCore::restrictionNames):
(WebCore::MediaElementSession::effectivePreloadForElement const):
* html/MediaElementSession.h:
* platform/graphics/cg/UTIRegistry.cpp:
(WebCore::defaultSupportedImageTypes):
* testing/Internals.cpp:
(WebCore::Internals::setMediaElementRestrictions):

LayoutTests:

* media/video-restricted-no-preload-metadata-expected.txt: Removed.
* media/video-restricted-no-preload-metadata.html: Removed.

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

4 months agoSource/WebCore:
jer.noble@apple.com [Mon, 25 Mar 2019 20:39:59 +0000 (20:39 +0000)]
Source/WebCore:
Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order.
https://bugs.webkit.org/show_bug.cgi?id=196097

Reviewed by Eric Carlson.

Test: media/track/track-in-band-metadata-display-order.html

Add a method in Internals to create a TextTrackCueGeneric (which can normally only be created
by parsing an in-band media track). This requires adding IDL for TextTrackCueGeneric, and exporting
TextTrackCueGeneric for testing.

Drive-by fixes:

Add runtime logging to MediaControlTextTrackContainerElement. This necessitates modifying the
parentMediaElement() method to take a const Node*, and const_cast that constness away in order to return
a HTMLMediaElement*

TextTrackCue, VTTCue, TextTrackCueGeneric, and DataCue should all use the WTF TypeCasts macros to
enable use of is<> and downcast<>.

* Source/WebCore/CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* html/shadow/MediaControlElementTypes.cpp:
(WebCore::parentMediaElement):
* html/shadow/MediaControlElementTypes.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
(WebCore::MediaControlTextTrackContainerElement::logger const):
(WebCore::MediaControlTextTrackContainerElement::logIdentifier const):
(WebCore::MediaControlTextTrackContainerElement::logChannel const):
* html/shadow/MediaControlElements.h:
* html/track/DataCue.h:
(isType):
* html/track/TextTrackCueGeneric.h:
(isType):
* html/track/TextTrackCueGeneric.idl: Added.
* html/track/VTTCue.h:
(isType):
* testing/Internals.cpp:
(WebCore::Internals::createGenericCue):
* testing/Internals.h:
* testing/Internals.idl:

Tools:
Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order.
https://bugs.webkit.org/show_bug.cgi?id=196097

Reviewed by Eric Carlson.

Drive-by bug fix: allow tests to play audio without a user gesture by default.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:
Add test for fix of #196095
https://bugs.webkit.org/show_bug.cgi?id=196097

Reviewed by Eric Carlson.

* media/track/track-in-band-metadata-display-order-expected.txt: Added.
* media/track/track-in-band-metadata-display-order.html: Added.

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

4 months ago[GTK][WPE] Remove network access from web process sandbox
commit-queue@webkit.org [Mon, 25 Mar 2019 20:38:16 +0000 (20:38 +0000)]
[GTK][WPE] Remove network access from web process sandbox
https://bugs.webkit.org/show_bug.cgi?id=189967

Patch by Patrick Griffis <pgriffis@igalia.com> on 2019-03-25
Reviewed by Michael Catanzaro.

* UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::createFlatpakInfo):
(WebKit::bubblewrapSpawn):
* UIProcess/Launcher/glib/FlatpakLauncher.cpp:
(WebKit::flatpakSpawn):

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

4 months agoASSERTION FAILED: m_op == CompareStrictEq in JSC::DFG::Node::convertToCompareEqPtr...
keith_miller@apple.com [Mon, 25 Mar 2019 20:29:19 +0000 (20:29 +0000)]
ASSERTION FAILED: m_op == CompareStrictEq in JSC::DFG::Node::convertToCompareEqPtr(JSC::DFG::FrozenValue *, JSC::DFG::Edge)
https://bugs.webkit.org/show_bug.cgi?id=196176

Reviewed by Saam Barati.

JSTests:

* stress/object-is-fold-to-compare-eq-ptr.js: Added.
(main.v10):
(main):

Source/JavaScriptCore:

convertToCompareEqPtr should allow for either CompareStrictEq or
the SameValue DFG node. This fixes the old assertion that only
allowed CompareStrictEq.

* dfg/DFGNode.h:
(JSC::DFG::Node::convertToCompareEqPtr):

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

4 months ago[Apple Pay] Call +canMakePayments on a work queue
aestes@apple.com [Mon, 25 Mar 2019 20:23:43 +0000 (20:23 +0000)]
[Apple Pay] Call +canMakePayments on a work queue
https://bugs.webkit.org/show_bug.cgi?id=196179
<rdar://problem/45388749>

Reviewed by Brady Eidson.

Calling +canMakePayments on either PKPaymentAuthorizationController or
PKPaymentAuthorizationViewController results in synchronous IPC and is therefore very
expensive to call on the main thread. On iOS, these calls are made in the network process,
and on Mac in the UI process.

Call these methods on a work queue to avoid main thread spins.

* Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::canMakePayments):
* Shared/ApplePay/WebPaymentCoordinatorProxy.h:
* Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):
* Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments):

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

4 months agoWebAssembly: f32.max with NaN generates incorrect result
tzagallo@apple.com [Mon, 25 Mar 2019 19:11:31 +0000 (19:11 +0000)]
WebAssembly: f32.max with NaN generates incorrect result
https://bugs.webkit.org/show_bug.cgi?id=175691
<rdar://problem/33952228>

Reviewed by Saam Barati.

JSTests:

Enable all f32.max NaN tests

* wasm/spec-tests/f32.wast.js:
* wasm/wasm.json:

Source/JavaScriptCore:

Fix the B3 and Air compilation for f32.max. In order to handle the NaN
case, we need an extra GreaterThan comparison on top of the existing
Equal and LessThan ones.

* wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Max>):
* wasm/wasm.json:

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

4 months agoPull IPadUserInterfaceSwizzler out into a separate header file
wenson_hsieh@apple.com [Mon, 25 Mar 2019 19:09:18 +0000 (19:09 +0000)]
Pull IPadUserInterfaceSwizzler out into a separate header file
https://bugs.webkit.org/show_bug.cgi?id=196193

Reviewed by Anders Carlsson.

Pull the IPadUserInterfaceSwizzler helper class out into a separate file, so that it may
be used in other API tests.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler): Deleted.
(TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom): Deleted.
* TestWebKitAPI/ios/IPadUserInterfaceSwizzler.h: Added.
(TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler):
(TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom):

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

4 months agoToggling "display: contents" to "display: none" fails to hide the element
antti@apple.com [Mon, 25 Mar 2019 18:27:55 +0000 (18:27 +0000)]
Toggling "display: contents" to "display: none" fails to hide the element
https://bugs.webkit.org/show_bug.cgi?id=188259
<rdar://problem/42886896>

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/display-contents-to-none.html

* style/StyleTreeResolver.cpp:
(WebCore::Style::affectsRenderedSubtree):

An element with 'display:contents' has a rendered subtree.

LayoutTests:

* fast/css/display-contents-to-none-expected.html: Added.
* fast/css/display-contents-to-none.html: Added.

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

4 months ago[Apple Pay] Remove the AvailablePaymentNetworks synchronous message
aestes@apple.com [Mon, 25 Mar 2019 18:26:10 +0000 (18:26 +0000)]
[Apple Pay] Remove the AvailablePaymentNetworks synchronous message
https://bugs.webkit.org/show_bug.cgi?id=196180

Reviewed by Youenn Fablet.

Unlike many PassKit interactions, it's ok to call +[PKPaymentRequest availableNetworks]
without an entitlement. Therefore, we can call it from the web process directly rather than
synchronously messaging the entitled UI or networking process.

* Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
* Shared/ApplePay/WebPaymentCoordinatorProxy.h:
* Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in:
* Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
* SourcesCocoa.txt:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::availablePaymentNetworks):
* WebProcess/ApplePay/WebPaymentCoordinator.h:
* WebProcess/ApplePay/cocoa/WebPaymentCoordinatorCocoa.mm: Added.
(WebKit::WebPaymentCoordinator::platformAvailablePaymentNetworks const):
* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm:
(-[WKAccessibilityWebPageObjectBase accessibilityRootObjectWrapper]):
(-[WKAccessibilityWebPageObjectBase setWebPage:]):

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

4 months agoUnreviewed, speculative fix for CLoop build on CPU(UNKNOWN)
ysuzuki@apple.com [Mon, 25 Mar 2019 18:13:09 +0000 (18:13 +0000)]
Unreviewed, speculative fix for CLoop build on CPU(UNKNOWN)
https://bugs.webkit.org/show_bug.cgi?id=195982

* jit/ExecutableAllocator.h:
(JSC::ExecutableAllocator::initializeUnderlyingAllocator):

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

4 months ago[WTF] Fix typo when forcing WTF_CPU_X86
commit-queue@webkit.org [Mon, 25 Mar 2019 17:57:13 +0000 (17:57 +0000)]
[WTF] Fix typo when forcing WTF_CPU_X86
https://bugs.webkit.org/show_bug.cgi?id=196204

Patch by Xan López <xan@igalia.com> on 2019-03-25
Reviewed by Michael Catanzaro.

Fix a typo when setting the WTF_CPU variable for X86.

* CMakeLists.txt:

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

4 months ago[GTK] Gardening, update expected results for several smart-delete-paragraph tests
dpino@igalia.com [Mon, 25 Mar 2019 16:11:31 +0000 (16:11 +0000)]
[GTK] Gardening, update expected results for several smart-delete-paragraph tests

Unreviewed test gardening.

* platform/gtk/editing/deleting/smart-delete-paragraph-001-expected.txt: Added.
* platform/gtk/editing/deleting/smart-delete-paragraph-002-expected.txt: Added.
* platform/gtk/editing/deleting/smart-delete-paragraph-004-expected.txt: Added.

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

4 months agoUnreviewed, tiny fix after r243388 to address API test failures on iOS
cdumez@apple.com [Mon, 25 Mar 2019 15:37:37 +0000 (15:37 +0000)]
Unreviewed, tiny fix after r243388 to address API test failures on iOS

m_processType was properly initialized on macOS but not iOS.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):

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

4 months agoUpdate WebGPU class names based on sketch.idl
justin_fan@apple.com [Mon, 25 Mar 2019 15:29:17 +0000 (15:29 +0000)]
Update WebGPU class names based on sketch.idl
https://bugs.webkit.org/show_bug.cgi?id=194260

Reviewed by Dean Jackson.
Source/WebCore:

Update all exposed Web GPU interface names to GPU* prefix.

Existing Web GPU tests updated to expect new names.

* Modules/webgpu/WebGPU.idl:
* Modules/webgpu/WebGPUAdapter.idl:
* Modules/webgpu/WebGPUBindGroup.idl:
* Modules/webgpu/WebGPUBindGroupLayout.idl:
* Modules/webgpu/WebGPUBuffer.idl:
* Modules/webgpu/WebGPUDevice.idl:
* Modules/webgpu/WebGPUInputStepMode.h: Removed.
* Modules/webgpu/WebGPUPipelineLayout.idl:
* Modules/webgpu/WebGPUProgrammablePassEncoder.idl:
* Modules/webgpu/WebGPUQueue.idl:
* Modules/webgpu/WebGPURenderPassEncoder.idl:
* Modules/webgpu/WebGPURenderPipeline.idl:
* Modules/webgpu/WebGPUSampler.idl:
* Modules/webgpu/WebGPUTexture.idl:
* Modules/webgpu/WebGPUTextureView.idl:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:

LayoutTests:

Update all exposed Web GPU interface names to GPU* prefix.

* webgpu/adapter-options.html:
* webgpu/bind-groups.html:
* webgpu/map-read-buffers.html:
* webgpu/map-write-buffers.html:
* webgpu/pipeline-layouts.html:
* webgpu/queue-creation.html:
* webgpu/render-command-encoding.html:
* webgpu/render-pipelines.html:
* webgpu/textures-textureviews.html:
* webgpu/webgpu-enabled.html:

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

4 months agoA single leading space is not considered as a word break even when word-break: break...
jfernandez@igalia.com [Mon, 25 Mar 2019 15:07:35 +0000 (15:07 +0000)]
A single leading space is not considered as a word break even when word-break: break-all is set
https://bugs.webkit.org/show_bug.cgi?id=195361

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Imported additonal WPT from the CSS Text Suite that verify the
change doesn't regress in any case, specially for the word-break:
break-word feature.

* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/w3c-import.log:
* web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-008.html: Added.
* web-platform-tests/css/css-text/white-space/w3c-import.log:
* web-platform-tests/css/css-text/word-break/w3c-import.log:
* web-platform-tests/css/css-text/word-break/word-break-break-all-015-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-015.html: Added.

Source/WebCore:

We must consider leading white-spaces as potential soft-breaking
opportunities that may avoid breaking in the middle of the word.

However, 'break-word: break-all' [1] implies that we should ignore
previous opportunities and break at any character (among the ones
valid for 'break-all') that prevents the line to overflow. Note,
that these breakable characters are different from the ones
provided by 'line-break: anywhere' [2].

This change is covered by the already existent tests of the CSS
Text 3 suite of the Web Platform Tests.

The word-break-break-all-010.html was precisely designed to cover
the basic issue fixed with this change, verifying that the word is
indeed broken even if a single leading space constitutes a
previous soft-breaking opportunity.

There are other Web Platform Tests. which already pass before this
change, to verify that such leading white-space must be used
instead of breaking the word in any other case, including
overflow-wrap: break-word and even the deprecated word-break:
break-word.

   - white-space/pre-wrap-008.html
   - white-space/pre-wrap-015.html
   - white-space/pre-wrap-016.html
   - overflow-wrap/overflow-wrap-break-word-004.html
   - overflow-wrap/overflow-wrap-break-word-005.html
   - overflow-wrap/overflow-wrap-break-word-007.html
   - word-break/word-break-break-all-011.html
   - word-break/word-break-break-all-014.html

The reason why the word-break-break-all-010.html passes in Mac
platform is that for that case the SimpleLineLayout codepath is
executed instead, which doesn't have this bug, present in the old
line-breaking logic implemented in the BreakingContext class.

In order to verify the validity of this change, I've added several
tests under fast/text with the SimpleLineLayout disabled.

Tests: fast/text/overflow-wrap-break-word-004.html
       fast/text/overflow-wrap-break-word-005.html
       fast/text/overflow-wrap-break-word-007.html
       fast/text/whitespace/pre-wrap-008.html
       fast/text/whitespace/pre-wrap-015.html
       fast/text/whitespace/pre-wrap-016.html
       fast/text/word-break-break-all-010.html
       fast/text/word-break-break-all-011.html
       fast/text/word-break-break-all-015.html
       imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html
       imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008.html
       imported/w3c/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html

* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):

LayoutTests:

Removed some entries from the GTK expectation file.
Added tests to verify the codepath with SimpleLineLayout disabled.

* fast/text/overflow-wrap-break-word-004-expected.html: Added.
* fast/text/overflow-wrap-break-word-004.html: Added.
* fast/text/overflow-wrap-break-word-005-expected.html: Added.
* fast/text/overflow-wrap-break-word-005.html: Added.
* fast/text/overflow-wrap-break-word-007-expected.html: Added.
* fast/text/overflow-wrap-break-word-007.html: Added.
* fast/text/whitespace/pre-wrap-008-expected.html: Added.
* fast/text/whitespace/pre-wrap-008.html: Added.
* fast/text/whitespace/pre-wrap-015-expected.html: Added.
* fast/text/whitespace/pre-wrap-015.html: Added.
* fast/text/whitespace/pre-wrap-016-expected.html: Added.
* fast/text/whitespace/pre-wrap-016.html: Added.
* fast/text/word-break-break-all-010-expected.html: Added.
* fast/text/word-break-break-all-010.html: Added.
* fast/text/word-break-break-all-011-expected.html: Added.
* fast/text/word-break-break-all-011.html: Added.
* fast/text/word-break-break-all-015-expected.html: Added.
* fast/text/word-break-break-all-015.html: Added.
* platform/gtk/TestExpectations:
  - word-break-break-all-010.html passes now thanks to this change.

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

4 months ago[GTK][WPE] Gardening, update test expectations.
dpino@igalia.com [Mon, 25 Mar 2019 14:42:42 +0000 (14:42 +0000)]
[GTK][WPE] Gardening, update test expectations.

Unreviewed test gardening.

* platform/gtk/TestExpectations:
* platform/gtk/fast/text/ja-sans-serif-expected.png: Removed.
Test harnessing suggested to remove this file as it was not being used.
* platform/wpe/TestExpectations:

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

4 months agoReflect HTMLLinkElement.as according to the spec
commit-queue@webkit.org [Mon, 25 Mar 2019 10:30:55 +0000 (10:30 +0000)]
Reflect HTMLLinkElement.as according to the spec
https://bugs.webkit.org/show_bug.cgi?id=196189

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

LayoutTests/imported/w3c:

Update improved test result and import reflected-as-value.html.

* web-platform-tests/html/dom/reflection-metadata-expected.txt:
* web-platform-tests/preload/reflected-as-value-expected.txt: Added.
* web-platform-tests/preload/reflected-as-value.html: Added.

Source/WebCore:

The 'as' attribute is an enumerated attribute [1] and should
reflect using a finite set of keywords, so lowercase the as getter
to match the defined set of destinations [2].

Test: imported/w3c/web-platform-tests/preload/reflected-as-value.html

[1] https://html.spec.whatwg.org/#enumerated-attribute
[2] https://fetch.spec.whatwg.org/#concept-request-destination

* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::as const):

LayoutTests:

Update improved test result.

* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-metadata-expected.txt:

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

4 months ago[GTK][WPE] Do not allow changes in active URI before provisional load starts for...
carlosgc@webkit.org [Mon, 25 Mar 2019 09:11:58 +0000 (09:11 +0000)]
[GTK][WPE] Do not allow changes in active URI before provisional load starts for non-API requests
https://bugs.webkit.org/show_bug.cgi?id=194208

Reviewed by Michael Catanzaro.

* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewWillStartLoad): Block updates of active URL.
(webkitWebViewLoadChanged): Unblock updates of active URL on WEBKIT_LOAD_STARTED.

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

4 months agoRemove NavigatorContentUtils in WebCore/Modules
gyuyoung.kim@webkit.org [Mon, 25 Mar 2019 08:07:14 +0000 (08:07 +0000)]
Remove NavigatorContentUtils in WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=196070

Reviewed by Alex Christensen.

NavigatorContentUtils was to support the custom scheme spec [1].
However, in WebKit side, no port has supported the feature in
WebKit layer after EFL port was removed. So there has been the
only IDL implementation of the NavigatorContentUtils in WebCore.
Source/JavaScriptCore:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

No new tests because this patch is just to remove the feature.

* CMakeLists.txt:
* Modules/navigatorcontentutils/NavigatorContentUtils.cpp: Removed.
* Modules/navigatorcontentutils/NavigatorContentUtils.h: Removed.
* Modules/navigatorcontentutils/NavigatorContentUtils.idl: Removed.
* Modules/navigatorcontentutils/NavigatorContentUtilsClient.h: Removed.
* Sources.txt:

Source/WebCore/PAL:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

* Configurations/FeatureDefines.xcconfig:
* WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: Removed.

Source/WebKitLegacy/mac:

So we don't need to keep the implementation in WebKit.

* Configurations/FeatureDefines.xcconfig:

Tools:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

So we don't need to keep the implementation in WebCore anymore.

[1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers

* fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt: Removed.
* fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html: Removed.
* fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt: Removed.
* fast/dom/NavigatorContentUtils/register-protocol-handler.html: Removed.
* fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt: Removed.
* fast/dom/NavigatorContentUtils/unregister-protocol-handler.html: Removed.
* platform/gtk/TestExpectations:
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wpe/TestExpectations:

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

5 months ago[css-grid] Fix grid container baseline alignment for orthogonal items
rego@igalia.com [Mon, 25 Mar 2019 07:46:54 +0000 (07:46 +0000)]
[css-grid] Fix grid container baseline alignment for orthogonal items
https://bugs.webkit.org/show_bug.cgi?id=196141

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

Imported test from WPT. This patch is making some of the test cases pass but not all.
Some are still failing in WebKit as it never uses the central baseline on vertical writing modes (bug #94410),
also "text-orientation" is not supported yet in WebKit (bug #196139),
even the prefixed version "-webkit-text-orientation" doesn't fix anything in this test case.

* web-platform-tests/css/css-grid/alignment/grid-container-baseline-001-expected.txt: Added.
* web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html: Added.
* web-platform-tests/css/css-grid/alignment/w3c-import.log:

Source/WebCore:

Grid container baseline was wrongly computed when done in reference to an orthogonal item.

Test: imported/w3c/web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::firstLineBaseline const): Simple change to use logicalTopForChild()
so it takes into account grid container and item writing modes.

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

5 months agoUnreviewed WPE build fix.
zandobersek@gmail.com [Mon, 25 Mar 2019 06:24:45 +0000 (06:24 +0000)]
Unreviewed WPE build fix.

* UIProcess/wpe/WebPasteboardProxyWPE.cpp:
Add an explicit CompletionHandler.h include to avoid a trip-up in
unified builds.

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

5 months ago[WinCairo] WebProcessDataStoreParameters.h(32): error C2653: 'SandboxExtension':...
Hironori.Fujii@sony.com [Mon, 25 Mar 2019 05:09:28 +0000 (05:09 +0000)]
[WinCairo] WebProcessDataStoreParameters.h(32): error C2653: 'SandboxExtension': is not a class or namespace name
https://bugs.webkit.org/show_bug.cgi?id=196192

Unreviewed for WinCairo port.

* Shared/WebProcessDataStoreParameters.h: Added #include "SandboxExtension.h".

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

5 months agoUnreviewed, forgot to refactor variable name for windows build in
keith_miller@apple.com [Mon, 25 Mar 2019 02:53:27 +0000 (02:53 +0000)]
Unreviewed, forgot to refactor variable name for windows build in
r243418.

* wtf/MathExtras.h:
(WTF::clz):
(WTF::ctz):

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

5 months ago[JSC] Move test into directory for WASM tests
dinfuehr@igalia.com [Mon, 25 Mar 2019 00:41:25 +0000 (00:41 +0000)]
[JSC] Move test into directory for WASM tests
https://bugs.webkit.org/show_bug.cgi?id=196187

Reviewed by Mark Lam.

Move Test into wasm-directory. Otherwise this test
is also executed on systems without WASM support.

* wasm/regress/web-assembly-link-error-exception-check.js: Renamed from JSTests/stress/web-assembly-link-error-exception-check.js.

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

5 months ago[watchOS] Remove unused Proximity Networking code
aestes@apple.com [Sun, 24 Mar 2019 20:42:37 +0000 (20:42 +0000)]
[watchOS] Remove unused Proximity Networking code
https://bugs.webkit.org/show_bug.cgi?id=196188

Reviewed by Tim Horton.

Source/WebKit:

* Configurations/WebKit.xcconfig:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformPrepareToSuspend):
(WebKit::NetworkProcess::platformProcessDidResume):
(WebKit::NetworkProcess::platformProcessDidTransitionToBackground):
(WebKit::NetworkProcess::platformProcessDidTransitionToForeground):
* NetworkProcess/watchos/NetworkProximityAssertion.h: Removed.
* NetworkProcess/watchos/NetworkProximityAssertion.mm: Removed.
* NetworkProcess/watchos/NetworkProximityManager.h: Removed.
* NetworkProcess/watchos/NetworkProximityManager.mm: Removed.
* SourcesCocoa.txt:
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration wirelessContextIdentifier]):
(-[_WKProcessPoolConfiguration setWirelessContextIdentifier:]):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* WebKit.xcodeproj/project.pbxproj:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):

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

5 months agoWeb Inspector: Canvas: WebGL action icon shouldn't invert when selected
drousso@apple.com [Sun, 24 Mar 2019 20:23:32 +0000 (20:23 +0000)]
Web Inspector: Canvas: WebGL action icon shouldn't invert when selected
https://bugs.webkit.org/show_bug.cgi?id=196135

Reviewed by Timothy Hatcher.

* UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement._classNameForAction):
(WI.RecordingActionTreeElement._classNameForAction.classNameForActionName): Deleted.
Remove unnecessary logging and memoization.

* UserInterface/Views/RecordingActionTreeElement.css:
(.tree-outline:focus .item.recording-action.selected:not(.invalid, .initial-state, .has-context-replacer, .name-unknown) > .icon): Added.
(@media (prefers-color-scheme: dark)):
(.item.recording-action:not(.invalid, .initial-state, .has-context-replacer, .name-unknown) > .icon): Added.
(.tree-outline:focus .item.recording-action.selected:not(.invalid, .initial-state, .has-context-replacer) > .icon): Deleted.
(.item.recording-action.has-context-replacer > .icon): Deleted.
(.item.recording-action:not(.invalid, .initial-state, .has-context-replacer) > .icon): Deleted.
Simplify styles between light and dark mode.

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

5 months agoWeb Inspector: testCellRoleForRequiredChidren accessibility audit checks for rows...
commit-queue@webkit.org [Sun, 24 Mar 2019 20:21:57 +0000 (20:21 +0000)]
Web Inspector: testCellRoleForRequiredChidren accessibility audit checks for rows in cells
https://bugs.webkit.org/show_bug.cgi?id=195988

Patch by Simon Welsh <simon@welsh-au.com> on 2019-03-24
Reviewed by Timothy Hatcher.

The audit now checks that rows contain cells, allowing any of the four
cell-based roles.

* UserInterface/Controllers/AuditManager.js:
(WI.AuditManager.prototype.addDefaultTestsIfNeeded):
(WI.AuditManager):
(WI.AuditManager.prototype.addDefaultTestsIfNeeded.const.testCellRoleForRequiredChidren): Deleted.

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

5 months agoWeb Inspector: Canvas: missing icons for WebGL2 contexts
drousso@apple.com [Sun, 24 Mar 2019 20:21:13 +0000 (20:21 +0000)]
Web Inspector: Canvas: missing icons for WebGL2 contexts
https://bugs.webkit.org/show_bug.cgi?id=196136

Reviewed by Timothy Hatcher.

* UserInterface/Views/CanvasSidebarPanel.css:
(.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled > .glyph): Added.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas:matches(.canvas-2d, .bitmaprenderer) .icon): Added.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas:matches(.webgl, .webgl2, .webgpu, .webmetal) .icon): Added.
(@media (prefers-color-scheme: dark)):
(.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): Deleted.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon): Deleted.
(.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.casnvas.webgl .icon): Deleted.
Use the 2D icon for BitmapRenderer and the 3D icon for WebGL2, WebMetals, and WebGPU.
Drive-by: the start/stop button text was too dark when disabled in dark mode.
* UserInterface/Models/Canvas.js:
Drive-by: "gpu" => "webgpu", to match the protocol string.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 months agoUnreviewed, fix -Wpessimizing-move warning
mcatanzaro@igalia.com [Sun, 24 Mar 2019 17:17:03 +0000 (17:17 +0000)]
Unreviewed, fix -Wpessimizing-move warning
https://bugs.webkit.org/show_bug.cgi?id=195905
<rdar://problem/49121824>

* svg/properties/SVGPropertyList.h:

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

5 months agoRolling out r243032 and r243071 because the fix is incorrect.
mark.lam@apple.com [Sun, 24 Mar 2019 04:15:56 +0000 (04:15 +0000)]
Rolling out r243032 and r243071 because the fix is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=195892
<rdar://problem/48981239>

Not reviewed.

JSTests:

* stress/check-object-property-condition-liveness-before-accessing-it-when-watchpoints-fire.js: Removed.

Source/JavaScriptCore:

The fix is incorrect: it relies on being able to determine liveness of an object
in an ObjectPropertyCondition based on the state of the object's MarkedBit.
However, there's no guarantee that GC has run and that the MarkedBit is already
set even if the object is live.  As a result, we may not re-install adaptive
watchpoints based on presumed dead objects which are actually live.

I'm rolling this out, and will implement a more comprehensive fix to handle
watchpoint liveness later.

* bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp:
(JSC::AdaptiveInferredPropertyValueWatchpointBase::fire):
* bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):
* bytecode/ObjectPropertyCondition.cpp:
(JSC::ObjectPropertyCondition::dumpInContext const):
* bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::StructureStubClearingWatchpoint::fireInternal):
* dfg/DFGAdaptiveStructureWatchpoint.cpp:
(JSC::DFG::AdaptiveStructureWatchpoint::fireInternal):
* runtime/StructureRareData.cpp:
(JSC::ObjectToStringAdaptiveStructureWatchpoint::fireInternal):

LayoutTests:

* platform/mac/TestExpectations:

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