WebKit-https.git
3 years agoSpeculatively change iteration protocall to use the same next function
keith_miller@apple.com [Sat, 23 Sep 2017 02:08:04 +0000 (02:08 +0000)]
Speculatively change iteration protocall to use the same next function
https://bugs.webkit.org/show_bug.cgi?id=175653

Reviewed by Saam Barati.

JSTests:

Change test to match the new iteration behavior.

* stress/spread-optimized-properly.js:

Source/JavaScriptCore:

This patch speculatively makes a change to the iteration protocall to fetch the next
property immediately after calling the Symbol.iterator function. This is, in theory,
a breaking change, so we will see if this breaks things (most likely it won't as this
is a relatively subtle point).

See: https://github.com/tc39/ecma262/issues/976

* builtins/IteratorHelpers.js:
(performIteration):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitIteratorNext):
(JSC::BytecodeGenerator::emitIteratorNextWithValue):
(JSC::BytecodeGenerator::emitDelegateYield):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::ArrayPatternNode::bindValue const):
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::iteratorEntries):
* runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorStep):
(JSC::iteratorClose):
(JSC::iteratorForIterable):
* runtime/IteratorOperations.h:
(JSC::forEachInIterable):
* runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):

LayoutTests:

Change test to match the new iteration behavior.

* js/sequence-iterator-protocol-2-expected.txt:
* js/sequence-iterator-protocol-2.html:

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

3 years agoWeb Inspector: Remove SidebarPanel show/hide and added/removed
mattbaker@apple.com [Sat, 23 Sep 2017 00:55:23 +0000 (00:55 +0000)]
Web Inspector: Remove SidebarPanel show/hide and added/removed
https://bugs.webkit.org/show_bug.cgi?id=177387

Reviewed by Devin Rousso.

* UserInterface/Views/DebuggerTabContentView.js:
(WI.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
* UserInterface/Views/SearchSidebarPanel.js:
(WI.SearchSidebarPanel.prototype.focusSearchField):
* UserInterface/Views/Sidebar.js:
(WI.Sidebar.prototype.insertSidebarPanel):
(WI.Sidebar.prototype.removeSidebarPanel):
* UserInterface/Views/SidebarPanel.js:
(WI.SidebarPanel.prototype.show): Deleted.
(WI.SidebarPanel.prototype.hide): Deleted.
(WI.SidebarPanel.prototype.added): Deleted.
(WI.SidebarPanel.prototype.removed): Deleted.

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

3 years agoWebRTC test gardening for iOS.
ryanhaddad@apple.com [Sat, 23 Sep 2017 00:55:01 +0000 (00:55 +0000)]
WebRTC test gardening for iOS.

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

3 years agoMove flaky expectation for imported/w3c/web-platform-tests/payment-request/payment...
ryanhaddad@apple.com [Sat, 23 Sep 2017 00:40:52 +0000 (00:40 +0000)]
Move flaky expectation for imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https.html.
https://bugs.webkit.org/show_bug.cgi?id=177391

Unreviewed test gardening.

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

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

3 years ago[Win64] Crashes in Yarr JIT compiled code
commit-queue@webkit.org [Sat, 23 Sep 2017 00:27:47 +0000 (00:27 +0000)]
[Win64] Crashes in Yarr JIT compiled code
https://bugs.webkit.org/show_bug.cgi?id=177293

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-09-22
Reviewed by Yusuke Suzuki.

In x64 Windows, rcx register is used for the address of allocated
space for the return value. But, rcx is used for regT1 since
r221052. Save rcx in the stack.

* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generateEnter): Push ecx.
(JSC::Yarr::YarrGenerator::generateReturn): Pop ecx.

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

3 years agoWeb Inspector: View should automatically layout when it becomes attached to the DOM
mattbaker@apple.com [Sat, 23 Sep 2017 00:27:38 +0000 (00:27 +0000)]
Web Inspector: View should automatically layout when it becomes attached to the DOM
https://bugs.webkit.org/show_bug.cgi?id=177189

Reviewed by Devin Rousso.

This guarantees that a layout is always scheduled as soon as a view is
attached to the DOM. Now that nearly all views are created lazily, it
is safe to make this change even without having a visibility concept in
the View class that would prevent layouts for background views.

* UserInterface/Views/View.js:
(WI.View):
Remove `this._needsLayoutWhenAttachedToRoot` flag, which is now implicit.
This was set if a layout was requested before the view had been attached
to the DOM.

(WI.View.prototype.get element):
(WI.View.prototype.get layoutPending):
(WI.View.prototype.get parentView):
(WI.View.prototype.get subviews):
(WI.View.prototype.get isAttached):
(WI.View.prototype.insertSubviewBefore):
(WI.View.prototype.removeSubview):
(WI.View.prototype.removeAllSubviews):
(WI.View.prototype.attached):
(WI.View.prototype.detached):
Hooks for subclasses to define behavior added or removed from the DOM.
(WI.View.prototype._didMoveToParent):
(WI.View.prototype._didMoveToWindow):
(WI.View._scheduleLayoutForView):
(WI.View.prototype.didMoveToWindow): Deleted.
(WI.View.prototype.didMoveToParent): Deleted.
These were only used by View, and have been made private.

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

3 years agoRe-enable configuration.HTTPCookieStorage on session without credentials
wilander@apple.com [Fri, 22 Sep 2017 23:37:23 +0000 (23:37 +0000)]
Re-enable configuration.HTTPCookieStorage on session without credentials
https://bugs.webkit.org/show_bug.cgi?id=177393

This patch rolls back the crucial change to the network session
without credentials that landed in r221632:
<http://trac.webkit.org/changeset/221632>

Reviewed by Brent Fulgham.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
    Commented out the disabled cookie jar and added a FIXME
    referring to https://bugs.webkit.org/show_bug.cgi?id=177394.

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

3 years agoWSL should report an error if you try to create an operator overload that will never...
fpizlo@apple.com [Fri, 22 Sep 2017 23:27:23 +0000 (23:27 +0000)]
WSL should report an error if you try to create an operator overload that will never be called
https://bugs.webkit.org/show_bug.cgi?id=177092

Reviewed by JF Bastien.

This adds all kinds of checks to ensure that your operator overloads make sense. This adds all
kinds of tests for those checks.

In the process of writing those tests, I hit an awesome bug: function instantiation was
instantiating all types, which meant that if that instantiated function needed to resolve calls
to protocol functions, we'd fail because we would have cloned top-level struct types. We need
to preserve the uninstantiated argument types, type arguments, and return type (for casts) in
order to be able to resolve protocol calls. But we also need the instantiated version of the
type arguments for execution. So, this adds some more stuff to the CallExpression class.

* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/ArrayRefType.js:
(ArrayRefType.prototype.unifyImpl):
* WebGPUShadingLanguageRI/ArrayType.js:
(ArrayType.prototype.get isArray):
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype.resolveToOverload):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkOperatorOverload):
(Checker.prototype.visitFuncDef):
(Checker.prototype.visitProtocolDecl):
(Checker.prototype.visitMakeArrayRefExpression):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype._createEPtr):
* WebGPUShadingLanguageRI/EPtr.js:
(EPtr):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype._snapshot):
(Evaluator.prototype._runBody):
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitCallExpression):
(Evaluator):
(Evaluator.prototype.runFunc): Deleted.
* WebGPUShadingLanguageRI/ExternalOrigin.js: Added.
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.toDeclString):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
(FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype.visitReferenceType):
(LateChecker.prototype._checkShaderType):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer._textIsIdentifierImpl):
(Lexer.textIsIdentifier):
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Parse.js:
(parseType.getAddressSpace):
(parseType):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.unifyImpl):
* WebGPUShadingLanguageRI/ReferenceType.js:
(ReferenceType):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitReferenceType):
(Rewriter.prototype.processDerivedCallData):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(intToString):
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/StructLayoutBuilder.js:
(StructLayoutBuilder.prototype.visitCallExpression):
(StructLayoutBuilder):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(checkNumber):
(set target):
(tests.literalBool):
(tests.identityBool):
(tests.intSimpleMath):
(tests.uintSimpleMath):
(tests.uint8SimpleMath):
(tests.equality):
(tests.logicalNegation):
(tests.notEquality):
(tests.equalityTypeFailure):
(tests.generalNegation):
(tests.add1):
(tests.simpleGeneric):
(tests.nameResolutionFailure):
(tests.simpleVariable):
(tests.simpleAssignment):
(tests.simpleDefault):
(tests.simpleDereference):
(tests.dereferenceStore):
(tests.simpleMakePtr):
(tests.threadArrayLoad):
(tests.threadArrayLoadIntLiteral):
(tests.deviceArrayLoad):
(tests.threadArrayStore):
(tests.deviceArrayStore):
(tests.deviceArrayStoreIntLiteral):
(tests.simpleProtocol):
(tests.typeMismatchReturn):
(tests.typeMismatchVariableDecl):
(tests.typeMismatchAssignment):
(tests.typeMismatchReturnParam):
(tests.badAdd):
(tests.lexerKeyword):
(tests.simpleNoReturn):
(tests.simpleUnreachableCode):
(tests.simpleStruct):
(tests.genericStructInstance):
(tests.doubleGenericCallsDoubleGeneric):
(tests.doubleGenericCallsSingleGeneric):
(tests.loadNull):
(tests.storeNull):
(tests.returnNull):
(tests.dereferenceDefaultNull):
(tests.defaultInitializedNull):
(tests.passNullToPtrMonomorphic):
(tests.passNullToPtrPolymorphic):
(tests.passNullToPolymorphic):
(tests.loadNullArrayRef):
(tests.storeNullArrayRef):
(tests.returnNullArrayRef):
(tests.dereferenceDefaultNullArrayRef):
(tests.defaultInitializedNullArrayRef):
(tests.defaultInitializedNullArrayRefIntLiteral):
(tests.passNullToPtrMonomorphicArrayRef):
(tests.passNullToPtrPolymorphicArrayRef):
(tests.returnIntLiteralUint):
(tests.returnIntLiteralDouble):
(tests.badIntLiteralForInt):
(tests.badIntLiteralForUint):
(tests.badIntLiteralForDouble):
(tests.passNullAndNotNull):
(tests.passNullAndNotNullFullPoly):
(tests.passNullAndNotNullFullPolyReverse):
(tests.nullTypeVariableUnify):
(tests.doubleNot):
(tests.simpleRecursion):
(tests.protocolMonoSigPolyDef):
(tests.protocolPolySigPolyDef):
(tests.protocolDoublePolySigDoublePolyDef):
(tests.protocolDoublePolySigDoublePolyDefExplicit):
(tests.variableShadowing):
(tests.ifStatement):
(tests.ifElseStatement):
(tests.ifElseIfStatement):
(tests.ifElseIfElseStatement):
(tests.returnIf):
(tests.simpleWhile):
(tests.protocolMonoPolySigDoublePolyDefExplicit):
(tests.ambiguousOverloadSimple):
(tests.ambiguousOverloadOverlapping):
(tests.ambiguousOverloadTieBreak):
(tests.intOverloadResolution):
(tests.intOverloadResolutionReverseOrder):
(tests.intOverloadResolutionGeneric):
(tests.intLiteralGeneric):
(tests.intLiteralGenericWithProtocols):
(tests.uintLiteralGeneric):
(tests.uintLiteralGenericWithProtocols):
(tests.intLiteralGenericSpecific):
(tests.simpleConstexpr):
(tests.break):
(tests.continue):
(tests.doWhile):
(tests.forLoop):
(tests.chainConstexpr):
(tests.chainGeneric):
(tests.chainStruct):
(tests.chainStructNewlyValid):
(tests.chainStructDevice):
(tests.paramChainStructDevice):
(tests.simpleProtocolExtends):
(tests.protocolExtendsTwo):
(tests.prefixPlusPlus):
(tests.prefixPlusPlusResult):
(tests.postfixPlusPlus):
(tests.postfixPlusPlusResult):
(tests.prefixMinusMinus):
(tests.prefixMinusMinusResult):
(tests.postfixMinusMinus):
(tests.postfixMinusMinusResult):
(tests.plusEquals):
(tests.plusEqualsResult):
(tests.minusEquals):
(tests.minusEqualsResult):
(tests.timesEquals):
(tests.timesEqualsResult):
(tests.divideEquals):
(tests.divideEqualsResult):
(tests.twoIntLiterals):
(tests.unifyDifferentLiterals):
(tests.unifyDifferentLiteralsBackwards):
(tests.unifyVeryDifferentLiterals):
(tests.unifyVeryDifferentLiteralsBackwards):
(tests.assignUintToInt):
(tests.buildArrayThenSumIt):
(tests.buildArrayThenSumItUsingArrayReference):
(tests.overrideSubscriptStruct):
(tests.overrideSubscriptStructAndDoStores):
(tests.overrideSubscriptStructAndUsePointers):
(tests.overrideSubscriptStructAndUsePointersIncorrectly):
(tests.makeArrayRefFromLocal):
(tests.makeArrayRefFromPointer):
(tests.makeArrayRefFromArrayRef):
(tests.simpleLength):
(tests.nonArrayRefArrayLengthSucceed):
(tests.nonArrayRefArrayLengthFail):
(tests.constexprIsNotLValuePtr):
(tests.constexprIsNotLValueAssign):
(tests.constexprIsNotLValueRMW):
(tests.assignLength):
(tests.assignLengthHelper):
(tests.simpleGetter):
(tests.simpleSetter):
(tests.genericAccessors):
(tests.bitSubscriptAccessor):
(tests.nestedSubscriptLValueEmulationSimple):
(tests.nestedSubscriptLValueEmulationGeneric):
(tests.boolBitAnd):
(tests.boolBitOr):
(tests.boolBitXor):
(tests.boolBitNot):
(tests.intBitAnd):
(tests.intBitOr):
(tests.intBitXor):
(tests.intBitNot):
(tests.intLShift):
(tests.intRShift):
(tests.uintBitAnd):
(tests.uintBitOr):
(tests.uintBitXor):
(tests.uintBitNot):
(tests.uintLShift):
(tests.uintRShift):
(tests.uint8BitAnd):
(tests.uint8BitOr):
(tests.uint8BitXor):
(tests.uint8BitNot):
(tests.uint8LShift):
(tests.uint8RShift):
(tests.floatMath):
(tests.genericCastInfer):
(tests.booleanMath):
(tests.typedefArray):
(tests.shaderTypes):
(tests.builtinVectors):
(tests.instantiateStructInStruct):
(tests.instantiateStructInStructWithInt2):
(tests.simpleEnum):
(tests.enumWithManualValues):
(tests.enumWithoutZero):
(tests.enumDuplicates):
(tests.enumWithSomeManualValues):
(tests.enumConstexprGenericFunction):
(tests.enumConstexprGenericStruct):
(tests.trap):
(tests.swizzle):
(tests.enumWithExplicitIntBase):
(tests.enumWithUintBase):
(tests.enumFloatBase):
(tests.enumPtrBase):
(tests.enumArrayRefBase):
(tests.emptyStruct):
(tests.enumStructBase):
(tests.enumNoMembers):
(tests.simpleSwitch):
(tests.exhaustiveUint8Switch):
(tests.notQuiteExhaustiveUint8Switch):
(tests.notQuiteExhaustiveUint8SwitchWithDefault):
(tests.switchFallThrough):
(tests.switchBreak):
(tests.enumSwitchBreakExhaustive):
(tests.enumSwitchBreakNotQuiteExhaustive):
(tests.enumSwitchBreakNotQuiteExhaustiveWithDefault):
(tests.simpleRecursiveStruct):
(tests.mutuallyRecursiveStruct):
(tests.mutuallyRecursiveStructWithPointersBroken):
(tests.mutuallyRecursiveStructWithPointers):
(tests.linkedList):
(tests.pointerToPointer):
(tests.arrayRefToArrayRef):
(tests.pointerGetter):
(tests.loneSetter):
(tests.setterWithMismatchedType):
(tests.setterWithMatchedType):
(tests.operatorWithUninferrableTypeVariable):
(tests.operatorWithoutUninferrableTypeVariable):
(tests.operatorCastWithUninferrableTypeVariable):
(tests.operatorCastWithTypeVariableInferredFromReturnType):
(tests.incWrongArgumentLength):
(tests.decWrongArgumentLength):
(tests.incWrongTypes):
(tests.decWrongTypes):
(tests.plusWrongArgumentLength):
(tests.minusWrongArgumentLength):
(tests.timesWrongArgumentLength):
(tests.divideWrongArgumentLength):
(tests.moduloWrongArgumentLength):
(tests.bitAndWrongArgumentLength):
(tests.bitOrWrongArgumentLength):
(tests.bitXorWrongArgumentLength):
(tests.lShiftWrongArgumentLength):
(tests.rShiftWrongArgumentLength):
(tests.bitNotWrongArgumentLength):
(tests.equalsWrongArgumentLength):
(tests.lessThanWrongArgumentLength):
(tests.lessEqualWrongArgumentLength):
(tests.greaterWrongArgumentLength):
(tests.greaterEqualWrongArgumentLength):
(tests.equalsWrongReturnType):
(tests.notEqualsOverload):
(tests.lessThanWrongReturnType):
(tests.lessEqualWrongReturnType):
(tests.greaterThanWrongReturnType):
(tests.greaterEqualWrongReturnType):
(tests.dotOperatorWrongArgumentLength):
(tests.dotOperatorSetterWrongArgumentLength):
(tests.loneSetterPointer):
(tests.setterWithNoGetterOverload):
(tests.setterWithNoGetterOverloadFixed):
(tests.anderWithNothingWrong):
(tests.anderWithWrongNumberOfArguments):
(tests.anderDoesntReturnPointer):
(tests.anderDoesntTakeReference):
(tests.anderWithArrayRef):
(tests.pointerIndexGetter):
(tests.loneIndexSetter):
(tests.notLoneIndexSetter):
(tests.indexSetterWithMismatchedType):
(tests.indexOperatorWrongArgumentLength):
(tests.indexOperatorSetterWrongArgumentLength):
(tests.loneIndexSetterPointer):
(tests.indexSetterWithNoGetterOverload):
(tests.indexSetterWithNoGetterOverloadFixed):
(tests.indexAnderWithNothingWrong):
(tests.indexAnderWithWrongNumberOfArguments):
(tests.indexAnderDoesntReturnPointer):
(tests.indexAnderDoesntTakeReference):
(tests.indexAnderWithArrayRef):
(tests.devicePtrPtr):
(tests.threadgroupPtrPtr):
(tests.constantPtrPtr):
(tests.pointerIndexGetterInProtocol):
(tests.loneIndexSetterInProtocol):
(tests.notLoneIndexSetterInProtocol):
(tests.indexSetterWithMismatchedTypeInProtocol):
(tests.indexOperatorWrongArgumentLengthInProtocol):
(tests.indexOperatorSetterWrongArgumentLengthInProtocol):
(tests.loneIndexSetterPointerInProtocol):
(tests.indexSetterWithNoGetterOverloadInProtocol):
(tests.indexSetterWithNoGetterOverloadFixedInProtocol):
(tests.indexAnderWithNothingWrongInProtocol):
(tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
(tests.indexAnderDoesntReturnPointerInProtocol):
(tests.indexAnderDoesntTakeReferenceInProtocol):
(tests.indexAnderWithArrayRefInProtocol):
(doTest):
(this.window.let._.of.doTest):
(TEST_literalBool): Deleted.
(TEST_identityBool): Deleted.
(TEST_intSimpleMath): Deleted.
(TEST_uintSimpleMath): Deleted.
(TEST_uint8SimpleMath): Deleted.
(TEST_equality): Deleted.
(TEST_logicalNegation): Deleted.
(TEST_notEquality): Deleted.
(TEST_equalityTypeFailure): Deleted.
(): Deleted.
(TEST_add1): Deleted.
(TEST_simpleGeneric): Deleted.
(TEST_nameResolutionFailure): Deleted.
(TEST_simpleAssignment): Deleted.
(TEST_simpleDefault): Deleted.
(TEST_simpleDereference): Deleted.
(TEST_dereferenceStore): Deleted.
(TEST_simpleMakePtr): Deleted.
(TEST_threadArrayLoad): Deleted.
(TEST_threadArrayLoadIntLiteral): Deleted.
(TEST_deviceArrayLoad): Deleted.
(TEST_threadArrayStore): Deleted.
(TEST_deviceArrayStore): Deleted.
(TEST_deviceArrayStoreIntLiteral): Deleted.
(TEST_simpleProtocol): Deleted.
(TEST_typeMismatchReturn): Deleted.
(TEST_simpleNoReturn): Deleted.
(TEST_genericStructInstance): Deleted.
(TEST_doubleGenericCallsDoubleGeneric): Deleted.
(TEST_doubleGenericCallsSingleGeneric): Deleted.
(TEST_dereferenceDefaultNull): Deleted.
(TEST_dereferenceDefaultNullArrayRef): Deleted.
(TEST_returnIntLiteralDouble): Deleted.
(TEST_badIntLiteralForInt): Deleted.
(TEST_passNullAndNotNullFullPoly): Deleted.
(TEST_passNullAndNotNullFullPolyReverse): Deleted.
(TEST_nullTypeVariableUnify.recurse): Deleted.
(TEST_nullTypeVariableUnify.everyOrder): Deleted.
(TEST_nullTypeVariableUnify.everyPair): Deleted.
(TEST_nullTypeVariableUnify): Deleted.
(TEST_simpleRecursion): Deleted.
(TEST_protocolPolySigPolyDef): Deleted.
(TEST_protocolDoublePolySigDoublePolyDef): Deleted.
(TEST_protocolDoublePolySigDoublePolyDefExplicit): Deleted.
(TEST_variableShadowing): Deleted.
(TEST_ifStatement): Deleted.
(TEST_ifElseStatement): Deleted.
(TEST_ifElseIfStatement): Deleted.
(TEST_ifElseIfElseStatement): Deleted.
(TEST_returnIf): Deleted.
(TEST_simpleWhile): Deleted.
(TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
(TEST_intOverloadResolution): Deleted.
(TEST_intOverloadResolutionReverseOrder): Deleted.
(TEST_intOverloadResolutionGeneric): Deleted.
(TEST_intLiteralGeneric): Deleted.
(TEST_intLiteralGenericWithProtocols): Deleted.
(TEST_uintLiteralGeneric): Deleted.
(TEST_uintLiteralGenericWithProtocols): Deleted.
(TEST_intLiteralGenericSpecific): Deleted.
(TEST_simpleConstexpr): Deleted.
(TEST_break): Deleted.
(TEST_forLoop): Deleted.
(TEST_chainConstexpr): Deleted.
(TEST_chainGeneric): Deleted.
(TEST_chainStruct): Deleted.
(TEST_chainStructNewlyValid): Deleted.
(TEST_chainStructDevice): Deleted.
(TEST_paramChainStructDevice): Deleted.
(TEST_simpleProtocolExtends): Deleted.
(TEST_protocolExtendsTwo): Deleted.
(TEST_prefixPlusPlus): Deleted.
(TEST_prefixPlusPlusResult): Deleted.
(TEST_postfixPlusPlus): Deleted.
(TEST_postfixPlusPlusResult): Deleted.
(TEST_prefixMinusMinus): Deleted.
(TEST_prefixMinusMinusResult): Deleted.
(TEST_postfixMinusMinus): Deleted.
(TEST_postfixMinusMinusResult): Deleted.
(TEST_plusEquals): Deleted.
(TEST_plusEqualsResult): Deleted.
(TEST_minusEquals): Deleted.
(TEST_minusEqualsResult): Deleted.
(TEST_timesEquals): Deleted.
(TEST_timesEqualsResult): Deleted.
(TEST_divideEquals): Deleted.
(TEST_divideEqualsResult): Deleted.
(TEST_twoIntLiterals): Deleted.
(TEST_unifyDifferentLiterals): Deleted.
(TEST_buildArrayThenSumItUsingArrayReference): Deleted.
(TEST_overrideSubscriptStruct): Deleted.
(TEST_overrideSubscriptStructAndDoStores): Deleted.
(TEST_overrideSubscriptStructAndUsePointers): Deleted.
(TEST_overrideSubscriptStructAndUsePointersIncorrectly): Deleted.
(TEST_makeArrayRefFromPointer): Deleted.
(TEST_makeArrayRefFromArrayRef): Deleted.
(TEST_nonArrayRefArrayLengthSucceed): Deleted.
(TEST_nonArrayRefArrayLengthFail): Deleted.
(TEST_simpleSetter): Deleted.
(TEST_genericAccessors): Deleted.
(TEST_bitSubscriptAccessor): Deleted.
(TEST_nestedSubscriptLValueEmulationSimple): Deleted.
(TEST_nestedSubscriptLValueEmulationGeneric): Deleted.
(TEST_boolBitAnd): Deleted.
(TEST_boolBitOr): Deleted.
(TEST_boolBitXor): Deleted.
(TEST_boolBitNot): Deleted.
(TEST_intBitAnd): Deleted.
(TEST_intBitOr): Deleted.
(TEST_intBitXor): Deleted.
(TEST_intBitNot): Deleted.
(TEST_intLShift): Deleted.
(TEST_intRShift): Deleted.
(TEST_uintBitAnd): Deleted.
(TEST_uintBitOr): Deleted.
(TEST_uintBitXor): Deleted.
(TEST_uintBitNot): Deleted.
(TEST_uintLShift): Deleted.
(TEST_uintRShift): Deleted.
(TEST_uint8BitAnd): Deleted.
(TEST_uint8BitOr): Deleted.
(TEST_uint8BitXor): Deleted.
(TEST_uint8BitNot): Deleted.
(TEST_uint8LShift): Deleted.
(TEST_uint8RShift): Deleted.
(TEST_floatMath): Deleted.
(TEST_booleanMath): Deleted.
(TEST_typedefArray): Deleted.
(TEST_shaderTypes): Deleted.
(TEST_instantiateStructInStruct): Deleted.
(TEST_instantiateStructInStructWithInt2): Deleted.
(TEST_simpleEnum): Deleted.
(TEST_enumWithManualValues): Deleted.
(TEST_enumWithoutZero): Deleted.
(TEST_enumConstexprGenericFunction): Deleted.
(TEST_enumConstexprGenericStruct): Deleted.
(TEST_trap): Deleted.
(TEST_enumWithExplicitIntBase): Deleted.
(TEST_enumWithUintBase): Deleted.
(TEST_enumFloatBase): Deleted.
(TEST_enumStructBase): Deleted.
(TEST_simpleSwitch): Deleted.
(TEST_exhaustiveUint8Switch): Deleted.
(TEST_notQuiteExhaustiveUint8Switch): Deleted.
(TEST_switchFallThrough): Deleted.
(TEST_switchBreak): Deleted.
(TEST_enumSwitchBreakExhaustive): Deleted.
(TEST_enumSwitchBreakNotQuiteExhaustive): Deleted.
(TEST_simpleRecursiveStruct): Deleted.
(TEST_linkedList): Deleted.
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isArray):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.wrap):
* WebGPUShadingLanguageRI/TypeVariableTracker.js:
(TypeVariableTracker.prototype.set get return):
(TypeVariableTracker.prototype.visitVariableRef):
(TypeVariableTracker):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/index.html:

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

3 years agoEnable File and Directory Entries API at runtime
cdumez@apple.com [Fri, 22 Sep 2017 23:16:06 +0000 (23:16 +0000)]
Enable File and Directory Entries API at runtime
https://bugs.webkit.org/show_bug.cgi?id=176616
<rdar://problem/34330942>

Reviewed by Geoffrey Garen.

Enable File and Directory Entries API at runtime on Mac/WebKit2,
now that DataTransfer.items is enabled there.

* Shared/WebPreferencesDefinitions.h:

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

3 years agoMark fast/mediastream/RTCPeerConnection-overloaded-operations.html as flaky.
ryanhaddad@apple.com [Fri, 22 Sep 2017 23:13:47 +0000 (23:13 +0000)]
Mark fast/mediastream/RTCPeerConnection-overloaded-operations.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177395

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

3 years agoMark imported/w3c/web-platform-tests/payment-request/payment-request-show-method...
ryanhaddad@apple.com [Fri, 22 Sep 2017 22:31:02 +0000 (22:31 +0000)]
Mark imported/w3c/web-platform-tests/payment-request/payment-request-show-method.https.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177391

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

3 years agoMark imported/w3c/web-platform-tests/css/css-ui-3/text-overflow-022.html as an image...
ryanhaddad@apple.com [Fri, 22 Sep 2017 21:47:40 +0000 (21:47 +0000)]
Mark imported/w3c/web-platform-tests/css/css-ui-3/text-overflow-022.html as an image failure.

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

3 years agoWeb Inspector: Styles Redesign: support toggling properties
nvasilyev@apple.com [Fri, 22 Sep 2017 21:37:15 +0000 (21:37 +0000)]
Web Inspector: Styles Redesign: support toggling properties
https://bugs.webkit.org/show_bug.cgi?id=176643

Reviewed by Joseph Pecoraro.

Add a primitive UI to make CSS property names and values editable. Autocomplete, syntax highlighting,
and proper keyboard navigation will be added later.

Display !important when it's specified. Before this patch !important wasn't shown in the redesigned
styles sidebar.

* UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype.update):
(WI.CSSProperty.prototype.get name):
(WI.CSSProperty.prototype.set name):
(WI.CSSProperty.prototype.get value):
(WI.CSSProperty.prototype.get rawValue):
(WI.CSSProperty.prototype.set rawValue):
CSSProperty.prototype.value returns the same value as before. !important remains stripped.
CSSProperty.prototype.rawValue returns a raw value from the payload. It may include !important.

(WI.CSSProperty.prototype._updateStyle):
(WI.CSSProperty.prototype._updateOwnerStyleText):
(WI.CSSProperty):
* UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype._parseStylePropertyPayload):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor :matches(.name, .value):focus):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetStyleProperty.prototype._update):
(WI.SpreadsheetStyleProperty.prototype._handleNameChange):
(WI.SpreadsheetStyleProperty.prototype._handleValueChange):
(WI.SpreadsheetStyleProperty):

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

3 years agoMark fast/forms/listbox-typeahead-greek.html as failing on Windows.
pvollan@apple.com [Fri, 22 Sep 2017 21:29:06 +0000 (21:29 +0000)]
Mark fast/forms/listbox-typeahead-greek.html as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177385

Unreviewed test gardening.

* platform/win/TestExpectations:

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

3 years agoMark fast/forms/listbox-typeahead-cyrillic.html as failing on Windows.
pvollan@apple.com [Fri, 22 Sep 2017 21:24:01 +0000 (21:24 +0000)]
Mark fast/forms/listbox-typeahead-cyrillic.html as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177378

Unreviewed test gardening.

* platform/win/TestExpectations:

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

3 years agoWeb Inspector: NavigationBar should coalesce consecutive dividers when items are...
mattbaker@apple.com [Fri, 22 Sep 2017 21:08:27 +0000 (21:08 +0000)]
Web Inspector: NavigationBar should coalesce consecutive dividers when items are hidden
https://bugs.webkit.org/show_bug.cgi?id=177379

Reviewed by Joseph Pecoraro.

* UserInterface/Views/NavigationBar.js:
(WI.NavigationBar.prototype.layout):

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

3 years agoAdd env() as an alias of constant()
timothy_horton@apple.com [Fri, 22 Sep 2017 20:15:14 +0000 (20:15 +0000)]
Add env() as an alias of constant()
https://bugs.webkit.org/show_bug.cgi?id=177371

Reviewed by Simon Fraser.

Source/WebCore:

* css/CSSValueKeywords.in:
* css/CSSVariableData.cpp:
(WebCore::CSSVariableData::checkVariablesForCyclesWithRange const):
(WebCore::CSSVariableData::resolveTokenRange const):
* css/parser/CSSVariableParser.cpp:
(WebCore::classifyBlock):
Add env() as an alias of constant() everywhere it is mentioned.

Source/WebInspectorUI:

* UserInterface/Models/CSSKeywordCompletions.js:
(WI.CSSKeywordCompletions.forProperty):
(WI.CSSKeywordCompletions.forFunction):
Add autocomplete support for env().

LayoutTests:

* TestExpectations:
* platform/ios-11/TestExpectations:
Duplicated constant() tests with env() instead.

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

3 years ago[Win] WebKit is built as a static library, and not as a dll.
pvollan@apple.com [Fri, 22 Sep 2017 19:57:11 +0000 (19:57 +0000)]
[Win] WebKit is built as a static library, and not as a dll.
https://bugs.webkit.org/show_bug.cgi?id=177365

Reviewed by Brent Fulgham.

Set target type for WebKitLegacy target.

* Source/cmake/OptionsWin.cmake:

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

3 years agoUnreviewed, rolling out r222394.
jlewis3@apple.com [Fri, 22 Sep 2017 19:56:05 +0000 (19:56 +0000)]
Unreviewed, rolling out r222394.

This broke the Windows Debug Build.

Reverted changeset:

"Remove build-webkit's notion of feature flags having a
default value"
https://bugs.webkit.org/show_bug.cgi?id=177338
http://trac.webkit.org/changeset/222394

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

3 years agoUnreviewed test gardening for iOS.
ryanhaddad@apple.com [Fri, 22 Sep 2017 19:31:22 +0000 (19:31 +0000)]
Unreviewed test gardening for iOS.

* platform/ios-simulator/TestExpectations:
* platform/ios-wk2/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt: Removed.
* platform/ios/TestExpectations:

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

3 years agoUsage of ErrorInstance::m_stackTrace on the mutator is racy with the collector
sbarati@apple.com [Fri, 22 Sep 2017 19:18:33 +0000 (19:18 +0000)]
Usage of ErrorInstance::m_stackTrace on the mutator is racy with the collector
https://bugs.webkit.org/show_bug.cgi?id=177368

Reviewed by Keith Miller.

* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):
(JSC::ErrorInstance::materializeErrorInfoIfNeeded):
(JSC::ErrorInstance::visitChildren):

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

3 years ago[Curl] Use didReceiveBuffer instead of didReceiveData
commit-queue@webkit.org [Fri, 22 Sep 2017 19:01:25 +0000 (19:01 +0000)]
[Curl] Use didReceiveBuffer instead of didReceiveData
https://bugs.webkit.org/show_bug.cgi?id=177260

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-09-22
Reviewed by Alex Christensen.

* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::readCachedData):
* platform/network/curl/MultipartHandle.cpp:
(WebCore::MultipartHandle::didReceiveData):
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::didReceiveContentData):
(WebCore::ResourceHandleCurlDelegate::handleDataURL):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
(WebCore::ResourceHandleCurlDelegate::didReceiveDataCallback):
* platform/network/curl/ResourceHandleCurlDelegate.h:

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

3 years agoNon-prevalent resources should be allowed access to existing cookies in a third-party...
wilander@apple.com [Fri, 22 Sep 2017 18:53:32 +0000 (18:53 +0000)]
Non-prevalent resources should be allowed access to existing cookies in a third-party context
https://bugs.webkit.org/show_bug.cgi?id=177336
<rdar://problem/34578257>

Reviewed by Brent Fulgham.

Source/WebCore:

No new tests. I will update existing tests and add at least
one new test in a follow-up patch,
see https://bugs.webkit.org/show_bug.cgi?id=177337. Need to
land this to meet submission deadline and fix the regression.

This patch restructures what is communicated to the network process,
from two vectors - with user interaction and without user interaction -
to three vectors - to partition, to block, to neither partition nor block.
The previous two vectors did not allow proper categorization into which
domains should be partitioned, blocked, or left alone. That was the cause
of the regression where non-prevalent third-party domains erroneously had
their cookies blocked when they should fall back to the old behavior of
access but no new cookies allowed to be set.

* loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):
* loader/ResourceLoadStatistics.h:
* platform/network/NetworkStorageSession.h:
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::shouldPartitionCookies const):
(WebCore::NetworkStorageSession::shouldBlockThirdPartyCookies const):
(WebCore::NetworkStorageSession::shouldBlockCookies const):
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):
(WebCore::NetworkStorageSession::removePrevalentDomains):
(WebCore::NetworkStorageSession::shouldAllowThirdPartyCookies const): Deleted.
(WebCore::NetworkStorageSession::setPrevalentDomainsWithAndWithoutInteraction): Deleted.
* platform/network/mac/CookieJarMac.mm:
(WebCore::cookiesInBlockedForURL):
(WebCore::cookiesForURL):

Source/WebKit:

This patch restructures what is communicated to the network process,
from two vectors - with user interaction and without user interaction -
to three vectors - to partition, to block, to neither partition nor block.
The previous two vectors did not allow proper categorization into which
domains should be partitioned, blocked, or left alone. That was the cause
of the regression where non-prevalent third-party domains erroneously had
their cookies blocked when they should fall back to the old behavior of
access but no new cookies allowed to be set.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::updatePrevalentDomainsToPartitionOrBlockCookies):
(WebKit::NetworkProcess::updatePrevalentDomainsWithAndWithoutInteraction): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:]):
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
(WebKit::WebResourceLoadStatisticsStore::logUserInteraction):
(WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdateForDomains):
(WebKit::WebResourceLoadStatisticsStore::clearInMemory):
(WebKit::WebResourceLoadStatisticsStore::shouldPartitionCookies const):
(WebKit::WebResourceLoadStatisticsStore::shouldBlockCookies const):
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning):
(WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains):
(WebKit::WebResourceLoadStatisticsStore::clearPartitioningStateForDomains):
(WebKit::WebResourceLoadStatisticsStore::resetCookiePartitioningState):
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::updatePrevalentDomainsToPartitionOrBlockCookies):
(WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback):
(WebKit::WebsiteDataStore::updatePrevalentDomainsWithAndWithoutInteraction): Deleted.
* UIProcess/WebsiteData/WebsiteDataStore.h:

LayoutTests:

This patch restructures what is communicated to the network process,
from two vectors - with user interaction and without user interaction -
to three vectors - to partition, to block, to neither partition nor block.
The previous two vectors did not allow proper categorization into which
domains should be partitioned, blocked, or left alone. That was the cause
of the regression where non-prevalent third-party domains erroneously had
their cookies blocked when they should fall back to the old behavior of
access but no new cookies allowed to be set.

See follow-up bug to assess these tests:
https://bugs.webkit.org/show_bug.cgi?id=177337

* http/tests/loading/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-network-process-crash.html:
* http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html:
* platform/mac-wk2/TestExpectations:
    Marked two new failures since the need to be reworked in:
    https://bugs.webkit.org/show_bug.cgi?id=177337

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

3 years ago[CMake][Win] EventTargetInterfaces.h are generated twice
commit-queue@webkit.org [Fri, 22 Sep 2017 18:44:54 +0000 (18:44 +0000)]
[CMake][Win] EventTargetInterfaces.h are generated twice
https://bugs.webkit.org/show_bug.cgi?id=177286

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-09-22
Reviewed by Brent Fulgham.

EventTargetInterfaces.h are generated twice in both
WebCoreDerivedSources.vcxproj and WebCore.vcxproj. This causes
unnecessary recompilation in CMake VisualStudio build.

WebCore target already has a dependency to WebCoreDerivedSources
target by calling add_dependencies. WebCore target doesn't need to
generate it.

* CMakeLists.txt: Don't ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES with EventTargetInterfaces.h.

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

3 years agoRemove build-webkit's notion of feature flags having a default value
mcatanzaro@igalia.com [Fri, 22 Sep 2017 18:11:51 +0000 (18:11 +0000)]
Remove build-webkit's notion of feature flags having a default value
https://bugs.webkit.org/show_bug.cgi?id=177338

Reviewed by Alex Christensen.

.:

Add an ENABLE_EXPERIMENTAL_FEATURES flag and use it to enable certain features.

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebKit:

Use ENABLE_EXPERIMENTAL_FEATURES instead of ENABLE_DEVELOPER_MODE to enable runtime
experimental features.

* Shared/WebPreferencesDefinitions.h:

Tools:

Delegate feature flag default values to the build system.
(FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
bots instead of --default-cmake-features.

* Scripts/build-webkit:
(cMakeArgsFromFeatures):
Default feature values to 'undef'.
Remove the --default-cmake-features argument; it is now the default.
Add --no-experimental-features to replace it.
Stop printing the default feature flag value in the help.
Avoid propagating undefined values to the build system;
only mention flags that are overridden on the command line.

This has the nice side effect of using the default CMake features
for CMake builds, but still allowing toggling of them using the
prettier --FEATURE and --no-FEATURE arguments.

* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
No longer need to suppress CMake warnings about unused arguments.

* Scripts/webkitperl/FeatureList.pm:
Remove the default values from the feature list.

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

3 years agoAdd asserts against layout time render tree mutations
antti@apple.com [Fri, 22 Sep 2017 17:45:09 +0000 (17:45 +0000)]
Add asserts against layout time render tree mutations
https://bugs.webkit.org/show_bug.cgi?id=177361

Reviewed by Zalan Bujtas.

We don't have any mutations left. Add asserts.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::insertChildInternal):
(WebCore::RenderElement::removeChildInternal):

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

3 years agoUse high resolution timestamp for event time
cdumez@apple.com [Fri, 22 Sep 2017 17:13:06 +0000 (17:13 +0000)]
Use high resolution timestamp for event time
https://bugs.webkit.org/show_bug.cgi?id=154246
<rdar://problem/34333304>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

* web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt:

Source/WebCore:

Have event.timeStamp return a DOMHighResTimeStamp instead of a DOMResTimeStamp. It now
has better precision, is monotonic and is relative to PerformanceTiming.navigationStart.

This is as per:
- https://dom.spec.whatwg.org/#interface-event

Chrome, Firefox and Edge all already ship this so the compatibility risk should be low.

Also use WallTime / MonotonicTime instead of double type for clarity.

Test: imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution.html

* WebCore.xcodeproj/project.pbxproj:
* dom/DOMHighResTimeStamp.h: Copied from Source/WebKit/Shared/WebTouchEvent.cpp.
* dom/Element.cpp:
(WebCore::Element::dispatchMouseForceWillBegin):
* dom/Event.cpp:
(WebCore::Event::Event):
(WebCore::Event::timeStampForBindings const):
* dom/Event.h:
(WebCore::Event::timeStamp const):
* dom/Event.idl:
* dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
* dom/MouseEvent.h:
* dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
* dom/MouseRelatedEvent.h:
* dom/SimulatedClick.cpp:
* dom/TouchEvent.cpp:
(WebCore::TouchEvent::TouchEvent):
* dom/UIEvent.cpp:
(WebCore::UIEvent::UIEvent):
* dom/UIEvent.h:
* dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
* dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
* html/TypeAhead.cpp:
(WebCore::TypeAhead::TypeAhead):
(WebCore::TypeAhead::handleEvent):
* html/TypeAhead.h:
* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::AutoscrollController):
(WebCore::AutoscrollController::updateDragAndDrop):
(WebCore::AutoscrollController::autoscrollTimerFired):
* page/AutoscrollController.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenuAt):
* page/DragController.cpp:
(WebCore::createMouseEvent):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
* page/EventHandler.h:
* page/Performance.cpp:
(WebCore::Performance::now const):
(WebCore::Performance::relativeTimeFromTimeOriginInReducedResolution const):
* page/Performance.h:
* page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::tryToBeginDataInteractionAtPoint):
* page/win/EventHandlerWin.cpp:
* platform/PlatformEvent.h:
(WebCore::PlatformEvent::timestamp const):
(WebCore::PlatformEvent::PlatformEvent):
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
* platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::handleWheelEvent):
* platform/glib/EventHandlerGLib.cpp:
* platform/gtk/ScrollAnimatorGtk.cpp:
(WebCore::ScrollAnimatorGtk::computeVelocity):
(WebCore::ScrollAnimatorGtk::handleWheelEvent):
* platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
(WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
* platform/mac/PlatformEventFactoryMac.h:
* platform/mac/PlatformEventFactoryMac.mm:
(WebCore::eventTimeStampSince1970):

Source/WebKit:

Use WallTime / MonotonicTime instead of double type for clarity.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<WallTime>::encode):
(IPC::ArgumentCoder<WallTime>::decode):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.cpp:
(WebKit::WebEvent::WebEvent):
* Shared/WebEvent.h:
(WebKit::WebEvent::timestamp const):
(WebKit::WebTouchEvent::WebTouchEvent):
* Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::WebKeyboardEvent):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
* Shared/WebTouchEvent.cpp:
(WebKit::WebTouchEvent::WebTouchEvent):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
* Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
* Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebKeyboardEvent):
* Shared/mac/NativeWebGestureEventMac.mm:
(WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
* Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
* Shared/mac/WebGestureEvent.h:
(WebKit::WebGestureEvent::WebGestureEvent):
* Shared/wpe/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebKeyboardEvent):
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSimulateMouseDown):
(WKBundlePageSimulateMouseUp):
(WKBundlePageSimulateMouseMotion):
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::showContextMenuAtPoint):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::createWebEvent const):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPage::contextMenuAtPointInWindow):
(WebKit::WebPage::dragEnded):
(WebKit::WebPage::simulateMouseDown):
(WebKit::WebPage::simulateMouseUp):
(WebKit::WebPage::simulateMouseMotion):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::requestAdditionalItemsForDragSession):
(WebKit::WebPage::inspectorNodeSearchMovedToPosition):

Source/WebKitLegacy/ios:

Use WallTime / MonotonicTime instead of double type for clarity.

* WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

Source/WebKitLegacy/mac:

Use WallTime / MonotonicTime instead of double type for clarity.

* DOM/DOMEvent.mm:
(-[DOMEvent timeStamp]):
* WebView/WebFrame.mm:
(-[WebFrame _dragSourceEndedAt:operation:]):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

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

3 years agoUpdate some links in demos
timothy_horton@apple.com [Fri, 22 Sep 2017 16:33:11 +0000 (16:33 +0000)]
Update some links in demos

* demos/safe-area-insets/1-default.html:
* demos/safe-area-insets/2-viewport-fit.html:
* demos/safe-area-insets/3-safe-area-constants.html:
* demos/safe-area-insets/4-min-max.html:

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

3 years agoMove test expectations from 'ios-11' to 'ios' directory.
ryanhaddad@apple.com [Fri, 22 Sep 2017 16:23:45 +0000 (16:23 +0000)]
Move test expectations from 'ios-11' to 'ios' directory.
https://bugs.webkit.org/show_bug.cgi?id=177167

Unreviewed test gardening.

* platform/ios-11/TestExpectations: Removed.
* platform/ios-11/fast/text/emoji-expected.txt: Removed.
* platform/ios-11/fast/text/international/system-language/system-font-punctuation-expected.txt: Removed.
* platform/ios-11/http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt: Removed.
* platform/ios-11/http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt: Removed.
* platform/ios-11/mathml/presentation/mo-stretch-expected.txt: Removed.
* platform/ios-11/mathml/presentation/roots-expected.txt: Removed.
* platform/ios-11/mathml/radical-fallback-expected.txt: Removed.
* platform/ios/TestExpectations:
* platform/ios/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt: Renamed from LayoutTests/platform/ios-11/crypto/subtle/rsa-generate-key-malformed-parameters-expected.txt.
* platform/ios/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt: Renamed from LayoutTests/platform/ios-11/crypto/subtle/rsa-import-key-malformed-parameters-expected.txt.
* platform/ios/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/css/getComputedStyle/computed-style-font-family-expected.txt.
* platform/ios/fast/text/font-selection-font-face-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-selection-font-face-parse-expected.txt.
* platform/ios/fast/text/font-selection-font-loading-api-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-selection-font-loading-api-parse-expected.txt.
* platform/ios/fast/text/font-stretch-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-stretch-parse-expected.txt.
* platform/ios/fast/text/font-style-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-style-parse-expected.txt.
* platform/ios/fast/text/font-weight-parse-expected.txt: Renamed from LayoutTests/platform/ios-11/fast/text/font-weight-parse-expected.txt.
* platform/ios/fast/text/international/system-language/system-font-punctuation-expected.txt:
* platform/ios/http/tests/quicklook/at-import-stylesheet-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/at-import-stylesheet-blocked-expected.txt.
* platform/ios/http/tests/quicklook/base-url-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/base-url-blocked-expected.txt.
* platform/ios/http/tests/quicklook/cross-origin-iframe-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/cross-origin-iframe-blocked-expected.txt.
* platform/ios/http/tests/quicklook/csp-header-ignored-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/csp-header-ignored-expected.txt.
* platform/ios/http/tests/quicklook/document-domain-is-empty-string-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/document-domain-is-empty-string-expected.txt.
* platform/ios/http/tests/quicklook/external-stylesheet-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/external-stylesheet-blocked-expected.txt.
* platform/ios/http/tests/quicklook/hide-referer-on-navigation-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/hide-referer-on-navigation-expected.txt.
* platform/ios/http/tests/quicklook/submit-form-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/submit-form-blocked-expected.txt.
* platform/ios/http/tests/quicklook/top-navigation-blocked-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/quicklook/top-navigation-blocked-expected.txt.
* platform/ios/http/tests/security/contentSecurityPolicy/audio-redirect-blocked-expected.txt:
* platform/ios/http/tests/security/contentSecurityPolicy/video-redirect-blocked-expected.txt:
* platform/ios/http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt: Renamed from LayoutTests/platform/ios-11/http/tests/websocket/tests/hybi/secure-cookie-secure-connection-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_RSA-PSS.worker-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-PSS.worker-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/rsa_importKey.worker-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pkcs.worker-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/rsa_pss.worker-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt.
* platform/ios/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt: Renamed from LayoutTests/platform/ios-11/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt.
* platform/ios/mathml/presentation/mo-stretch-expected.txt:
* platform/ios/mathml/presentation/roots-expected.txt:
* platform/ios/mathml/radical-fallback-expected.txt:
* platform/ios/platform/ios/ios/fast/text/opticalFont-expected.txt: Renamed from LayoutTests/platform/ios-11/platform/ios/ios/fast/text/opticalFont-expected.txt.
* platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt: Renamed from LayoutTests/platform/ios-11/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt.
* platform/ios/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt: Renamed from LayoutTests/platform/ios-11/platform/ios/ios/fast/text/opticalFontWithWeight-expected.txt.
* platform/ios/quicklook/excel-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/excel-expected.txt.
* platform/ios/quicklook/excel-legacy-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/excel-legacy-expected.txt.
* platform/ios/quicklook/excel-macro-enabled-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/excel-macro-enabled-expected.txt.
* platform/ios/quicklook/powerpoint-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/powerpoint-expected.txt.
* platform/ios/quicklook/powerpoint-legacy-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/powerpoint-legacy-expected.txt.
* platform/ios/quicklook/word-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/word-expected.txt.
* platform/ios/quicklook/word-legacy-expected.txt: Renamed from LayoutTests/platform/ios-11/quicklook/word-legacy-expected.txt.

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

3 years ago[GTK] HTMLMediaElement resize event not fired when video size changes
nael.ouedraogo@crf.canon.fr [Fri, 22 Sep 2017 15:43:24 +0000 (15:43 +0000)]
[GTK] HTMLMediaElement resize event not fired when video size changes
https://bugs.webkit.org/show_bug.cgi?id=174582

Reviewed by Xabier Rodriguez-Calvar.

Modify AppendPipeline to notify MediaPlayerPrivateGStreamerMSE that a track is detected
not only for the initial track detection but also for subsequent in particular when the
video size has changed.

Update test expectation for new passing tests.

Source/WebCore:

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::appsinkCapsChanged):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
* platform/graphics/gstreamer/mse/AppendPipeline.h:
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::trackDetected):
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
* platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:
(WebCore::PlaybackPipeline::reattachTrack):
* platform/graphics/gstreamer/mse/PlaybackPipeline.h:

LayoutTests:

* platform/gtk/TestExpectations:

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

3 years ago[GTK] Couple of pasteboard related tests are failing after r222228
Ms2ger@igalia.com [Fri, 22 Sep 2017 14:45:48 +0000 (14:45 +0000)]
[GTK] Couple of pasteboard related tests are failing after r222228
https://bugs.webkit.org/show_bug.cgi?id=177295

Reviewed by Michael Catanzaro.

Source/WebCore:

Call writeToClipboard() from Pasteboard::writeString() on GTK.

When writePasteboard was replaced by commitToPasteboard in r222228,
the call to writeToClipboard() did not make it into the
platform-neutral code. This attempts to find another place in the
GTK-specific code to make the call.

Tests: editing/pasteboard/copy-without-selection.html
       editing/pasteboard/pasting-empty-html-falls-back-to-text.html

* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::writeString):

LayoutTests:

* platform/gtk/TestExpectations: mark the tests as passing again.

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

3 years agoUnreviewed GTK+ gardening. Adding failure expectations for failure tests
zandobersek@gmail.com [Fri, 22 Sep 2017 14:39:56 +0000 (14:39 +0000)]
Unreviewed GTK+ gardening. Adding failure expectations for failure tests
that mostly originate from recent font code changes and WPT updates.
Updating baselines for two tests that aren't failing otherwise.

* platform/gtk/TestExpectations:
* platform/gtk/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:

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

3 years ago[GTK] Web Inspector: Can't load three.js
commit-queue@webkit.org [Fri, 22 Sep 2017 14:30:24 +0000 (14:30 +0000)]
[GTK] Web Inspector: Can't load three.js
https://bugs.webkit.org/show_bug.cgi?id=177340

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-09-22
Reviewed by Carlos Garcia Campos.

* PlatformGTK.cmake: Add JS files of three.js to InspectorFiles variable.
* PlatformWPE.cmake: Ditto.

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

3 years ago[DFG][FTL] Profile array vector length for array allocation
utatane.tea@gmail.com [Fri, 22 Sep 2017 12:19:54 +0000 (12:19 +0000)]
[DFG][FTL] Profile array vector length for array allocation
https://bugs.webkit.org/show_bug.cgi?id=177051

Reviewed by Saam Barati.

JSTests:

* microbenchmarks/new-array-buffer-vector-profile.js: Added.
(target):

Source/JavaScriptCore:

Currently, NewArrayBuffer allocation is penalized by JSC: While empty array gets 25 vector size (BASE_CONTIGUOUS_VECTOR_LEN),
new_array_buffer case gets 3 vector size (BASE_CONTIGUOUS_VECTOR_LEN). Surely, new_array_buffer can get larger vector size
if the number of its constant elements is larger than 3. But these created array may be grown by `push()` operation after
the allocation. In this case, new_array_buffer is penalized compared to empty array allocation.

    empty array allocation,

    var array = [];
    array.push(0);
    array.push(1);
    array.push(2);
    array.push(3);
    array.push(4);

    v.s. new_array_buffer case,

    var array = [0];
    array.push(1);
    array.push(2);
    array.push(3);
    array.push(4);

In this case, the latter becomes slow. While we have a chance to reduce memory usage if new_array_buffer is not grown (and a bit likely),
we should allocate 3 to 25 vector size if it is likely grown. So we should get profile on the resulted array.

We select 25 to make it fit to one of size classes.

In this patch, we extend ArrayAllocationProfile to record vector length. And use this information when allocating array for new_array_buffer.
If the number of new_array_buffer constants is <= 25, array vector size would become 3 to 25 based on profiling. If the number of its constants
is larger than 25, we just use it for allocation as before.

Added microbenchmark and SixSpeed spread-literal.es5 shows improvement.

    new-array-buffer-vector-profile       67.4706+-3.7625     ^     28.4249+-1.9025        ^ definitely 2.3736x faster
    spread-literal.es5                   133.1443+-9.2253     ^     95.2667+-0.5740        ^ definitely 1.3976x faster

* bytecode/ArrayAllocationProfile.cpp:
(JSC::ArrayAllocationProfile::updateProfile):
(JSC::ArrayAllocationProfile::updateIndexingType): Deleted.
* bytecode/ArrayAllocationProfile.h:
(JSC::ArrayAllocationProfile::selectIndexingType):
(JSC::ArrayAllocationProfile::vectorLengthHint):
(JSC::ArrayAllocationProfile::ArrayAllocationProfile): Deleted.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::updateAllArrayPredictions):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGNode.h:
(JSC::DFG::Node::vectorLengthHint):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArraySlice):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::allocateJSArray):
(JSC::FTL::DFG::LowerDFGToB3::allocateUninitializedContiguousJSArrayInternal):
(JSC::FTL::DFG::LowerDFGToB3::allocateUninitializedContiguousJSArray):
* runtime/ArrayConventions.h:
* runtime/JSArray.h:
(JSC::JSArray::tryCreate):

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

3 years agoUnreviewed GTK+ and WPE gardening. Adding baselines for the
zandobersek@gmail.com [Fri, 22 Sep 2017 11:53:28 +0000 (11:53 +0000)]
Unreviewed GTK+ and WPE gardening. Adding baselines for the
imported W3C WebCryptoAPI pbkdf2.worker.html where the
libgcrypt-based implementation is exhibiting somewhat different
behavior than what's expected in the generic baseline.

* platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.
* platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.worker-expected.txt: Added.

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

3 years agoUnreviewed, rolling out r222380.
utatane.tea@gmail.com [Fri, 22 Sep 2017 10:25:58 +0000 (10:25 +0000)]
Unreviewed, rolling out r222380.
https://bugs.webkit.org/show_bug.cgi?id=177352

Octane/box2d shows 8% regression (Requested by yusukesuzuki on
#webkit).

Reverted changeset:

"[DFG][FTL] Profile array vector length for array allocation"
https://bugs.webkit.org/show_bug.cgi?id=177051
http://trac.webkit.org/changeset/222380

Patch by Commit Queue <commit-queue@webkit.org> on 2017-09-22

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

3 years agoLayoutTests/imported/w3c:
zandobersek@gmail.com [Fri, 22 Sep 2017 09:51:38 +0000 (09:51 +0000)]
LayoutTests/imported/w3c:
Unreviewed WPE gardening. Updating the WPT EME idlharness.html
baseline -- it's not port-specific since there should be no
differences in the Web-exposed APIs for this feature across
ports.

* web-platform-tests/encrypted-media/idlharness-expected.txt:

LayoutTests:
Unreviewed WPE gardening. Updating a couple of css2.1 baselines,
adding a missing baseline for a new imported WPT test.

* platform/wpe/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt:
* platform/wpe/css2.1/t1507-c526-font-sz-02-b-a-expected.txt:
* platform/wpe/css2.1/t1601-c547-indent-00-b-a-expected.txt:
* platform/wpe/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/encrypted-media-default-feature-policy.https.sub-expected.txt: Added.

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

3 years ago[DFG][FTL] Profile array vector length for array allocation
utatane.tea@gmail.com [Fri, 22 Sep 2017 08:22:44 +0000 (08:22 +0000)]
[DFG][FTL] Profile array vector length for array allocation
https://bugs.webkit.org/show_bug.cgi?id=177051

Reviewed by Saam Barati.

JSTests:

* microbenchmarks/new-array-buffer-vector-profile.js: Added.
(target):

Source/JavaScriptCore:

Currently, NewArrayBuffer allocation is penalized by JSC: While empty array gets 25 vector size (BASE_CONTIGUOUS_VECTOR_LEN),
new_array_buffer case gets 3 vector size (BASE_CONTIGUOUS_VECTOR_LEN). Surely, new_array_buffer can get larger vector size
if the number of its constant elements is larger than 3. But these created array may be grown by `push()` operation after
the allocation. In this case, new_array_buffer is penalized compared to empty array allocation.

    empty array allocation,

    var array = [];
    array.push(0);
    array.push(1);
    array.push(2);
    array.push(3);
    array.push(4);

    v.s. new_array_buffer case,

    var array = [0];
    array.push(1);
    array.push(2);
    array.push(3);
    array.push(4);

In this case, the latter becomes slow. While we have a chance to reduce memory usage if new_array_buffer is not grown (and a bit likely),
we should allocate 3 to 25 vector size if it is likely grown. So we should get profile on the resulted array.

We select 25 to make it fit to one of size classes.

In this patch, we extend ArrayAllocationProfile to record vector length. And use this information when allocating array for new_array_buffer.
If the number of new_array_buffer constants is <= 25, array vector size would become 3 to 25 based on profiling. If the number of its constants
is larger than 25, we just use it for allocation as before.

Added microbenchmark and SixSpeed spread-literal.es5 shows improvement.

    new-array-buffer-vector-profile       67.4706+-3.7625     ^     28.4249+-1.9025        ^ definitely 2.3736x faster
    spread-literal.es5                   133.1443+-9.2253     ^     95.2667+-0.5740        ^ definitely 1.3976x faster

* bytecode/ArrayAllocationProfile.cpp:
(JSC::ArrayAllocationProfile::updateProfile):
(JSC::ArrayAllocationProfile::updateIndexingType): Deleted.
* bytecode/ArrayAllocationProfile.h:
(JSC::ArrayAllocationProfile::selectIndexingType):
(JSC::ArrayAllocationProfile::vectorLengthHint):
(JSC::ArrayAllocationProfile::ArrayAllocationProfile): Deleted.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::updateAllArrayPredictions):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGNode.h:
(JSC::DFG::Node::vectorLengthHint):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArraySlice):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::allocateJSArray):
(JSC::FTL::DFG::LowerDFGToB3::allocateUninitializedContiguousJSArrayInternal):
(JSC::FTL::DFG::LowerDFGToB3::allocateUninitializedContiguousJSArray):
* runtime/ArrayConventions.h:
* runtime/JSArray.h:
(JSC::JSArray::tryCreate):

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

3 years agoEnable dataTransfer.items on macOS and iOS
rniwa@webkit.org [Fri, 22 Sep 2017 01:51:19 +0000 (01:51 +0000)]
Enable dataTransfer.items on macOS and iOS
https://bugs.webkit.org/show_bug.cgi?id=177335

Reviewed by Sam Weinig.

Source/WebKit:

* Shared/WebPreferencesDefinitions.h:

Source/WebKitLegacy/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):

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

3 years agoAdd some blog post resources
timothy_horton@apple.com [Fri, 22 Sep 2017 01:08:24 +0000 (01:08 +0000)]
Add some blog post resources
https://bugs.webkit.org/show_bug.cgi?id=177333

Reviewed by Sam Weinig.

* demos/safe-area-insets/1-default.html: Added.
* demos/safe-area-insets/2-viewport-fit.html: Added.
* demos/safe-area-insets/3-safe-area-constants.html: Added.
* demos/safe-area-insets/4-min-max.html: Added.
* demos/safe-area-insets/safe-areas.html: Added.
* demos/safe-area-insets/style.css: Added.

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

3 years agoREGRESSION (r221017): iCloud mail logs me out after looking at a few messages
bfulgham@apple.com [Fri, 22 Sep 2017 00:42:49 +0000 (00:42 +0000)]
REGRESSION (r221017): iCloud mail logs me out after looking at a few messages
https://bugs.webkit.org/show_bug.cgi?id=177328

Reviewed by Daniel Bates.
<rdar://problem/34288629>

Reviewed by Dan Bates.

Source/WebCore:

This site was triggering a log-out because the page was loading insecure images. We don't treat that as a security
issue for deciding to display mixed content since it can only affect pixels on screen, not trigger a change in
program logic or persistent storage.

Consequently, we can correct thsi compatibility problem without relaxing the security fix by not blocking Secure cookies
when we have merely displayed mixed content (i.e., encountered 'Inactive' mixed content), as opposed to executing mixed
content (i.e., loaded 'Active' mixed content).

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::shouldBlockGeolocationRequests): Revise for new API.
* dom/SecurityContext.h:
(WebCore::SecurityContext::foundMixedContent const): Change to return an OptionSet of
mixed content types.
(WebCore::SecurityContext::setFoundMixedContent): Accept an enum stating the type of mixed content found.
* loader/CookieJar.cpp:
(WebCore::cookies): Only block Secure cookies for Active mixed content.
(WebCore::cookieRequestHeaderFieldValue): Ditto.
* loader/MixedContentChecker.cpp:
(WebCore::MixedContentChecker::canDisplayInsecureContent const): Mark the context as having found 'Inactive'
mixed content.
(WebCore::MixedContentChecker::canRunInsecureContent const): Mark the context as having found 'Active'
mixed content.

LayoutTests:

Rebaseline tests for revised behavior.

* http/tests/security/mixedContent/insecure-image-with-securecookie-block-expected.txt:
* http/tests/security/mixedContent/insecure-image-with-securecookie-block.html:
* http/tests/security/mixedContent/redirect-https-to-http-image-secure-cookies-block-expected.txt:

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

3 years agoClean up RenderLayer z-order traversal code
simon.fraser@apple.com [Fri, 22 Sep 2017 00:40:47 +0000 (00:40 +0000)]
Clean up RenderLayer z-order traversal code
https://bugs.webkit.org/show_bug.cgi?id=177325

Reviewed by Zalan Bujtas.

Remove isStackingContainer() checks before accessing posZOrderList() or negZOrderList();
we already have assertions in place to ensure that only stacking containers have non-null lists.

Use more auto.

No behavior change.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::update3DTransformedDescendantStatus):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayerBacking.cpp:
(WebCore::traverseVisibleNonCompositedDescendantLayers):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::RenderLayerCompositor::layerHas3DContent const):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):

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

3 years agoUnreviewed Windows build fix after r222360.
pvollan@apple.com [Fri, 22 Sep 2017 00:33:52 +0000 (00:33 +0000)]
Unreviewed Windows build fix after r222360.

* PlatformWin.cmake:

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

3 years agoUnreviewed, add the ability to skip a test262 test.
joepeck@webkit.org [Fri, 22 Sep 2017 00:19:46 +0000 (00:19 +0000)]
Unreviewed, add the ability to skip a test262 test.

* Scripts/run-jsc-stress-tests:
Other handlers have :skip but a few didn't.

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

3 years agoChange architecture for ios-ews queue to arm64.
ryanhaddad@apple.com [Fri, 22 Sep 2017 00:16:55 +0000 (00:16 +0000)]
Change architecture for ios-ews queue to arm64.
https://bugs.webkit.org/show_bug.cgi?id=177332

Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/common/config/ews.json:

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

3 years agoRemove the need for SetterMayThrowException
commit-queue@webkit.org [Thu, 21 Sep 2017 23:37:08 +0000 (23:37 +0000)]
Remove the need for SetterMayThrowException
https://bugs.webkit.org/show_bug.cgi?id=177099

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-21
Reviewed by Sam Weinig.

No change of behavior.
Introducing AttributeSetter to handle exception raising attribute setters,
based on the C++ class method instead of SetterMayThrowException.
A follow-up patch should remove SetterMayThrowException from the IDLs

* bindings/js/JSDOMAttribute.h:
(WebCore::AttributeSetter<ExceptionOr<void>>::call):
(WebCore::AttributeSetter<void>::call):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeSetterBodyDefinition):
* bindings/scripts/test/JS/JSTestCEReactions.cpp:
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
* bindings/scripts/test/JS/JSTestCallTracer.cpp:
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestSerialization.cpp:
* bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:

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

3 years agoUse 'ninja' from the SDK if it exists
timothy_horton@apple.com [Thu, 21 Sep 2017 23:30:27 +0000 (23:30 +0000)]
Use 'ninja' from the SDK if it exists
https://bugs.webkit.org/show_bug.cgi?id=177330

Reviewed by Alex Christensen.

* Scripts/webkitdirs.pm:
(canUseNinja):
Check for ninja with xcrun in addition to commandExists() for Cocoa platforms.

(generateBuildSystemFromCMakeProject):
(canUseNinjaGenerator): Deleted.
Remove canUseNinjaGenerator; as noted in bug 177057, the Ninja generator
is available in all versions of CMake supported by WebKit.

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

3 years agoDataTransfer.items should contain text/html and text/uri-list
rniwa@webkit.org [Thu, 21 Sep 2017 23:10:33 +0000 (23:10 +0000)]
DataTransfer.items should contain text/html and text/uri-list
https://bugs.webkit.org/show_bug.cgi?id=176772
<rdar://problem/34386899>

Reviewed by Darin Adler.

Source/WebCore:

Expose text/html and text/uri-list in dataTransfer.items.

Tests: editing/pasteboard/datatransfer-items-copy-html.html
       editing/pasteboard/datatransfer-items-copy-url.html

* dom/DataTransferItemList.cpp:
(WebCore::isSupportedType): Added both MIME types.
(WebCore::DataTransferItemList::add): Fixed the bug that new data transfer item was using
the original type string instead of the lowercased one.

LayoutTests:

Added tests for copying text/html and text/uri-list, and updated the existing test for
coping & pasting plain text to explicitly set only text/plain now that
the data transfer item list can contain HTML markup.

* editing/pasteboard/datatransfer-items-copy-html-expected.txt: Added.
* editing/pasteboard/datatransfer-items-copy-html.html: Added.
* editing/pasteboard/datatransfer-items-copy-url-expected.txt: Added.
* editing/pasteboard/datatransfer-items-copy-url.html: Added.
* editing/pasteboard/datatransfer-items-paste-plaintext.html:

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

3 years agoAdd missing expectation file.
ryanhaddad@apple.com [Thu, 21 Sep 2017 23:07:27 +0000 (23:07 +0000)]
Add missing expectation file.
https://bugs.webkit.org/show_bug.cgi?id=170713

Unreviewed test gardening.

* web-platform-tests/IndexedDB/nested-cloning-large-multiple-expected.txt: Added.

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

3 years agoLayoutTest platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html is a flaky...
commit-queue@webkit.org [Thu, 21 Sep 2017 23:06:19 +0000 (23:06 +0000)]
LayoutTest platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=173741

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-21
Reviewed by Alex Christensen.

Making the test more robust by getting the reference canvas to compare with each time a new comparison is done.
Previously, this was done at the start of the comparison.
Also increasing the threshold since we are going from 0 to 255 or vice-versa.

* platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:

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

3 years ago[Win] Compile error, PALHeaderDetection.h not found.
pvollan@apple.com [Thu, 21 Sep 2017 23:06:07 +0000 (23:06 +0000)]
[Win] Compile error, PALHeaderDetection.h not found.
https://bugs.webkit.org/show_bug.cgi?id=177309

Reviewed by Brent Fulgham.

Copy PAL header files to WebCore forwarding headers folder.

* PlatformWin.cmake:

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

3 years agoWeb Inspector: Add autocompletion suggestions for CSS functions (constant(), linear...
commit-queue@webkit.org [Thu, 21 Sep 2017 23:05:22 +0000 (23:05 +0000)]
Web Inspector: Add autocompletion suggestions for CSS functions (constant(), linear-gradient(), etc)
https://bugs.webkit.org/show_bug.cgi?id=177264

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-21
Reviewed by Matt Baker.

* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WI.CodeMirrorCompletionController.prototype._generateCSSCompletions):
Detect when we are inside of functions and provide completion suggestions
for the relevant function.

* UserInterface/Models/CSSCompletions.js:
Syntax highlight "constant()" like we do for "var()".

* UserInterface/Models/CSSKeywordCompletions.js:
(WI.CSSKeywordCompletions.forProperty):
Always suggest "constant()" everywhere, like we do for "var()".

(WI.CSSKeywordCompletions.forFunction):
Provide suggestions for some CSS functions.

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

3 years ago[Win] Compile error, generate-webkitversion.pl script not found.
pvollan@apple.com [Thu, 21 Sep 2017 23:03:30 +0000 (23:03 +0000)]
[Win] Compile error, generate-webkitversion.pl script not found.
https://bugs.webkit.org/show_bug.cgi?id=177310

Reviewed by Brent Fulgham.

The script is located using the WebKitLegacy folder cmake variable, which needs
to be set in the project file.

* WebKitLegacy.vcxproj/WebKitLegacy.proj:

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

3 years agoTry to fix Apple internal builds with the iOS 11.0 SDK.
mitz@apple.com [Thu, 21 Sep 2017 22:43:57 +0000 (22:43 +0000)]
Try to fix Apple internal builds with the iOS 11.0 SDK.

* Configurations/WebKit.xcconfig: Disable framework header postprocessing for iOS 11.0.

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

3 years agoWeb Inspector: Remove support for CSS Regions
commit-queue@webkit.org [Thu, 21 Sep 2017 22:32:49 +0000 (22:32 +0000)]
Web Inspector: Remove support for CSS Regions
https://bugs.webkit.org/show_bug.cgi?id=177287

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-21
Reviewed by Matt Baker.

Source/JavaScriptCore:

* inspector/protocol/CSS.json:
* inspector/protocol/OverlayTypes.json:

Source/WebCore:

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getNamedFlowCollection): Deleted.
* inspector/InspectorCSSAgent.h:
* inspector/InspectorOverlay.cpp:
(WebCore::buildRendererHighlight):
(WebCore::buildNodeHighlight):
(WebCore::InspectorOverlay::getHighlight const):
(WebCore::buildArrayForRendererFragments):
(WebCore::buildQuadObjectForCSSRegionContentClip): Deleted.
* inspector/InspectorOverlayPage.js:
(_createElementTitle):
(_drawElementTitle):
(_drawFragmentHighlight):
(drawNodeHighlight):
(_drawRegionNumber): Deleted.
(_quadMidPoint): Deleted.
(_drawRegionLink): Deleted.
(_drawRegionsHighlight): Deleted.

Source/WebInspectorUI:

* UserInterface/Protocol/CSSObserver.js:
(WI.CSSObserver.prototype.namedFlowCreated):
(WI.CSSObserver.prototype.namedFlowRemoved):
(WI.CSSObserver.prototype.regionLayoutUpdated):
(WI.CSSObserver.prototype.regionOversetChanged):
(WI.CSSObserver.prototype.registeredNamedFlowContentElement):
(WI.CSSObserver.prototype.unregisteredNamedFlowContentElement):
Leave observer functions in for older backends that will send
these messages, but we just ignore them.

* UserInterface/Base/Main.js:
* UserInterface/Controllers/DOMTreeManager.js:
(WI.DOMTreeManager):
(WI.DOMTreeManager.prototype._unbind):
(WI.DOMTreeManager._flowPayloadHashKey): Deleted.
(WI.DOMTreeManager.prototype._createContentFlowFromPayload): Deleted.
(WI.DOMTreeManager.prototype._updateContentFlowFromPayload): Deleted.
(WI.DOMTreeManager.prototype.getNamedFlowCollection.onNamedFlowCollectionAvailable): Deleted.
(WI.DOMTreeManager.prototype.getNamedFlowCollection): Deleted.
(WI.DOMTreeManager.prototype.namedFlowCreated): Deleted.
(WI.DOMTreeManager.prototype.namedFlowRemoved): Deleted.
(WI.DOMTreeManager.prototype._sendNamedFlowUpdateEvents): Deleted.
(WI.DOMTreeManager.prototype.regionOversetChanged): Deleted.
(WI.DOMTreeManager.prototype.registeredNamedFlowContentElement): Deleted.
(WI.DOMTreeManager.prototype._removeContentNodeFromFlowIfNeeded): Deleted.
(WI.DOMTreeManager.prototype.unregisteredNamedFlowContentElement): Deleted.
(WI.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes.nodeRequested): Deleted.
(WI.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.regionNodesAvailable): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.remoteObjectPropertiesAvailable): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.inspectedPage_node_getFlowInfo.getComputedProperty): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.inspectedPage_node_getFlowInfo.getContentFlowName): Deleted.
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo): Deleted.
* UserInterface/Images/ContentFlow.svg: Removed.
* UserInterface/Images/gtk/ContentFlow.svg: Removed.
* UserInterface/Main.html:
* UserInterface/Models/Collection.js:
* UserInterface/Models/ContentFlow.js: Removed.
* UserInterface/Models/DOMTree.js:
(WI.DOMTree):
(WI.DOMTree.prototype.get frame):
(WI.DOMTree.prototype._framePageExecutionContextChanged):
(WI.DOMTree.prototype.get contentFlowCollection): Deleted.
(WI.DOMTree.prototype.requestContentFlowList): Deleted.
(WI.DOMTree.prototype._isContentFlowInCurrentDocument): Deleted.
(WI.DOMTree.prototype._contentFlowListWasUpdated): Deleted.
(WI.DOMTree.prototype._contentFlowWasAdded): Deleted.
(WI.DOMTree.prototype._contentFlowWasRemoved): Deleted.
* UserInterface/Test.html:
* UserInterface/Views/CollectionContentView.js:
(WI.CollectionContentView):
* UserInterface/Views/ComputedStyleDetailsPanel.css:
(.details-section > .content > .group > .row.simple.content-flow-link > .value > span > .icon): Deleted.
* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WI.ComputedStyleDetailsPanel.prototype.refresh):
(WI.ComputedStyleDetailsPanel.prototype.initialLayout):
(WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
(WI.ComputedStyleDetailsPanel):
(WI.ComputedStyleDetailsPanel.prototype.get regionFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.set regionFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.get contentFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.set contentFlow): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.get containerRegions): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.set containerRegions): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.sizeDidChange): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._updateFlowNamesSectionVisibility): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._resetFlowDetails): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._refreshFlowDetails): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked): Deleted.
(WI.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked): Deleted.
* UserInterface/Views/ContentFlowDOMTreeContentView.js: Removed.
* UserInterface/Views/ContentFlowIcon.css: Removed.
* UserInterface/Views/ContentFlowTreeElement.js: Removed.
* UserInterface/Views/ContentView.js:
(WI.ContentView.createFromRepresentedObject):
(WI.ContentView.isViewable):
* UserInterface/Views/FrameTreeElement.js:
(WI.FrameTreeElement.prototype.onpopulate):
(WI.FrameTreeElement.prototype.onexpand):
(WI.FrameTreeElement.prototype._childContentFlowWasAdded): Deleted.
(WI.FrameTreeElement.prototype._childContentFlowWasRemoved): Deleted.
(WI.FrameTreeElement.prototype._rootDOMNodeInvalidated): Deleted.
* UserInterface/Views/ResourceSidebarPanel.js:
(WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
* UserInterface/Views/ResourcesTabContentView.js:
(WI.ResourcesTabContentView):
(WI.ResourcesTabContentView.prototype.canShowRepresentedObject):

LayoutTests:

* inspector/dom/content-flow-content-nodes-expected.txt: Removed.
* inspector/dom/content-flow-content-nodes.html: Removed.
* inspector/dom/content-flow-content-removal-expected.txt: Removed.
* inspector/dom/content-flow-content-removal.html: Removed.
* inspector/dom/content-flow-list-expected.txt: Removed.
* inspector/dom/content-flow-list.html: Removed.
* inspector/dom/content-node-region-info-expected.txt: Removed.
* inspector/dom/content-node-region-info.html: Removed.
* inspector/dom/highlight-flow-with-no-region-expected.txt: Removed.
* inspector/dom/highlight-flow-with-no-region.html: Removed.

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

3 years agoRegression(r222308): new API tests are failing for !NETWORK_SESSION
cdumez@apple.com [Thu, 21 Sep 2017 22:08:39 +0000 (22:08 +0000)]
Regression(r222308): new API tests are failing for !NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=177321

Reviewed by Alex Christensen.

Source/WebKit:

When a load is redirected and then converted into a download, CFNetwork
seems to call [NSURLDownloadDelegate willSendRequest:] on the download
with a non-nil redirectResponse, which was unexpected.

To address the issue, we now ignore the willSendRequest call if the
new request's URL is the same as the redirectResponse one.

* NetworkProcess/Downloads/mac/DownloadMac.mm:
(-[WKDownloadAsDelegate download:willSendRequest:redirectResponse:]):

Tools:

Unskip API tests now that they pass everywhere.

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

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

3 years agoSkip new hanging test262 tests.
joepeck@webkit.org [Thu, 21 Sep 2017 21:58:39 +0000 (21:58 +0000)]
Skip new hanging test262 tests.
https://bugs.webkit.org/show_bug.cgi?id=177326

Unreviewed test gardening.

* test262.yaml:

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

3 years agoUnreviewed, fix ability to run tests in browser.
fpizlo@apple.com [Thu, 21 Sep 2017 21:45:05 +0000 (21:45 +0000)]
Unreviewed, fix ability to run tests in browser.

* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/index.html:

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

3 years agowebkitpy: Ignore failure to get updated selenium version
jbedard@apple.com [Thu, 21 Sep 2017 21:37:04 +0000 (21:37 +0000)]
webkitpy: Ignore failure to get updated selenium version
https://bugs.webkit.org/show_bug.cgi?id=177205
<rdar://problem/34531669>

Reviewed by Lucas Forschler.

Sometime asking PyPI for the latest version of Selenium fails. We should try and
fallback to, at a minimum, version 3.5.0 or a newer installed version.

* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.greater_than_equal_to_version): Return true if the second
version string is greater than or equal to the first version string.
(AutoinstallImportHook._install_selenium): If we can't get the latest PyPI url,
fallback to version 3.5.0 or a newer installed version.

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

3 years agoWSL should have some post-instantiation type checking
fpizlo@apple.com [Thu, 21 Sep 2017 21:35:47 +0000 (21:35 +0000)]
WSL should have some post-instantiation type checking
https://bugs.webkit.org/show_bug.cgi?id=177303

Reviewed by Keith Miller.

This patch removes the Primitive protocol! Yay!

The Primitive protocol was an attempt to handle the fact that Metal wouldn't allow us to point a
non-thread pointer at data structures that have pointers. This type checking rule interacts badly with
generics. I was able to get it to mostly work by making Primitive into a dynamic protocol - a type
belongs to it if it happens to be isPrimitive.

But that was a mistake, since it makes it hard to create pointers that are generic over address space.
Also, it's not an appropriate rule for targeting SPIR-V logical mode. That rule will be different, and
possibly more complicated.

All of these kinds of rules are easier to implement of we run them after instantiation, since then they
don't get in the way of generics. That's what this patch does.

This means that we get all of the same type checking power as before, and we still can catch the errors
that Metal requires us to check for. It's easier to do those checks now.

Finally, this removes the shader type checker's incomplete reimplementation of isPrimitive (which was
called NonNumericSearcher). The shader type checker calls isPrimitive now.

* WebGPUShadingLanguageRI/AddressSpace.js:
(needsPrimitiveProtocol): Deleted.
(protocolSuffix): Deleted.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkShaderType):
(Checker.prototype._checkShaderType.NonNumericSearcher): Deleted.
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType): Deleted.
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType): Deleted.
(Checker.prototype.visitReferenceType): Deleted.
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/Inline.js:
(_inlineFunction):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/LateChecker.js: Added.
(LateChecker):
(LateChecker.prototype.visitReferenceType):
(LateChecker.prototype._checkShaderType):
(LateChecker.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/LexerToken.js:
(LexerToken.prototype.get isInternal): Deleted.
* WebGPUShadingLanguageRI/NativeType.js:
(NativeType):
(NativeType.prototype.get name):
(NativeType.prototype.get isPrimitive):
(NativeType.prototype.set isPrimitive):
(NativeType.prototype.toString):
* WebGPUShadingLanguageRI/Parse.js:
(parseNative):
* WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
(programWithUnnecessaryThingsRemoved):
* WebGPUShadingLanguageRI/ProtocolDecl.js:
* WebGPUShadingLanguageRI/ReferenceType.js:
(ReferenceType.prototype.get elementType):
(ReferenceType.prototype.get isPrimitive): Deleted.
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitNativeType):
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
(synthesizeStructAccessors):
* WebGPUShadingLanguageRI/Test.js:
(TEST_passNullAndNotNullFullPoly):
(TEST_passNullAndNotNullFullPolyReverse):
(TEST_nullTypeVariableUnify):
(TEST_chainStructNewlyValid):
(TEST_chainStructDevice):
(TEST_chainStructInvalid): Deleted.
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isPrimitive):

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

3 years agoRemove some more code from RenderFlowThread
antti@apple.com [Thu, 21 Sep 2017 21:11:03 +0000 (21:11 +0000)]
Remove some more code from RenderFlowThread
https://bugs.webkit.org/show_bug.cgi?id=177320

Reviewed by David Hyatt.

More dead code related to named flows.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
(WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion const):
(WebCore::RenderFlowThread::hasCachedOffsetFromLogicalTopOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::cachedOffsetFromLogicalTopOfFirstRegion const): Deleted.
(WebCore::RenderFlowThread::setOffsetFromLogicalTopOfFirstRegion): Deleted.
(WebCore::RenderFlowThread::clearOffsetFromLogicalTopOfFirstRegion): Deleted.
(WebCore::RenderFlowThread::currentActiveRenderBox const): Deleted.
(WebCore::RenderFlowThread::pushFlowThreadLayoutState): Deleted.
(WebCore::RenderFlowThread::popFlowThreadLayoutState): Deleted.
* rendering/RenderFlowThread.h:

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

3 years agoUnreviewed, drop assertion added in r222308.
cdumez@apple.com [Thu, 21 Sep 2017 20:58:28 +0000 (20:58 +0000)]
Unreviewed, drop assertion added in r222308.

The assertion is hit by a couple of tests still but there is no bad effect
to the vector not being empty at this point since we clear it right after.

* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):

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

3 years agoeventInitDict parameter to GamepadEvent constructor should be optional
cdumez@apple.com [Thu, 21 Sep 2017 20:46:53 +0000 (20:46 +0000)]
eventInitDict parameter to GamepadEvent constructor should be optional
https://bugs.webkit.org/show_bug.cgi?id=177308

Reviewed by Sam Weinig.

Source/WebCore:

eventInitDict parameter to GamepadEvent constructor should be optional to match Firefox
and Chrome. Having such dictionary parameter is also not valid Web IDL:
"""
If the type of an argument is a dictionary type (or a union type that has a dictionary as one
of its flattened member types), and that dictionary type and its ancestors have no required
members, and the argument is either the final argument or is followed only by optional arguments,
then the argument must be specified as optional. Such arguments are always considered to have a
default value of an empty dictionary, unless otherwise specified.
"""

Test: gamepad/gamepad-event.html

* Modules/gamepad/GamepadEvent.idl:

LayoutTests:

Add layout test coverage.

* gamepad/gamepad-event-expected.txt: Added.
* gamepad/gamepad-event.html: Added.

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

3 years agoMark imported/w3c/web-platform-tests/FileAPI/historical.https.html as flaky on El...
ryanhaddad@apple.com [Thu, 21 Sep 2017 20:45:19 +0000 (20:45 +0000)]
Mark imported/w3c/web-platform-tests/FileAPI/historical.https.html as flaky on El Capitan Debug WK2.
https://bugs.webkit.org/show_bug.cgi?id=177214

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agoMake StringBuilder movable
achristensen@apple.com [Thu, 21 Sep 2017 20:44:59 +0000 (20:44 +0000)]
Make StringBuilder movable
https://bugs.webkit.org/show_bug.cgi?id=177311

Reviewed by Chris Dumez.

* wtf/text/StringBuilder.h:
(WTF::StringBuilder::StringBuilder):

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

3 years agoMark webrtc/peer-connection-audio-mute.html as flaky.
ryanhaddad@apple.com [Thu, 21 Sep 2017 20:40:11 +0000 (20:40 +0000)]
Mark webrtc/peer-connection-audio-mute.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172649

Unreviewed test gardening.

* TestExpectations:

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

3 years agoMark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative...
ryanhaddad@apple.com [Thu, 21 Sep 2017 20:26:58 +0000 (20:26 +0000)]
Mark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177323

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

3 years agoUnreviewed, temporarily disable new API tests introduced in r222308 until they pass...
cdumez@apple.com [Thu, 21 Sep 2017 20:19:57 +0000 (20:19 +0000)]
Unreviewed, temporarily disable new API tests introduced in r222308 until they pass on El Capitan

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

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

3 years agoWeb Inspector: Add details sidebar to Layers tab.
commit-queue@webkit.org [Thu, 21 Sep 2017 20:18:01 +0000 (20:18 +0000)]
Web Inspector: Add details sidebar to Layers tab.
https://bugs.webkit.org/show_bug.cgi?id=177115

Patch by Ross Kirsling <ross.kirsling@sony.com> on 2017-09-21
Reviewed by Devin Rousso.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
* UserInterface/Views/LayerDetailsSidebarPanel.css: Added.
* UserInterface/Views/LayerDetailsSidebarPanel.js: Added.
New files and strings for sidebar.

* UserInterface/Base/Utilities.js:
Add global identifier for "×" character.

* UserInterface/Models/Layer.js: Added.
Add a model class for layers so that we can instanceof-check them.

* UserInterface/Controllers/LayerTreeManager.js:
(WI.LayerTreeManager.prototype.layersForNode):
Utilize model class WI.Layer.

* UserInterface/Views/Layers3DContentView.js:
(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.get supplementalRepresentedObjects):
(WI.Layers3DContentView.prototype.layout):
(WI.Layers3DContentView.prototype._addLayer):
Pass layer data to sidebar and utilize model class WI.Layer.

* UserInterface/Views/LayersTabContentView.js:
(WI.LayersTabContentView):
Attach details sidebar.

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

3 years agoMark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-elemen...
ryanhaddad@apple.com [Thu, 21 Sep 2017 20:16:52 +0000 (20:16 +0000)]
Mark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177322

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

3 years agoMark imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-eleme...
ryanhaddad@apple.com [Thu, 21 Sep 2017 19:49:44 +0000 (19:49 +0000)]
Mark imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=177319

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:
* platform/mac/TestExpectations:

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

3 years agoUnreviewed, rolling out r222272.
commit-queue@webkit.org [Thu, 21 Sep 2017 19:17:21 +0000 (19:17 +0000)]
Unreviewed, rolling out r222272.
https://bugs.webkit.org/show_bug.cgi?id=177316

This patch broke builds on some Win EWS bots. (Requested by
perarne on #webkit).

Reverted changeset:

"[Win] Cygwin 64-bit EWS process cannot find Visual Studio
installation."
https://bugs.webkit.org/show_bug.cgi?id=177244
http://trac.webkit.org/changeset/222272

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

3 years agoWeb Inspector: keyboard shortcut for "Reload page from origin" doesn't match Safari...
bburg@apple.com [Thu, 21 Sep 2017 19:04:30 +0000 (19:04 +0000)]
Web Inspector: keyboard shortcut for "Reload page from origin" doesn't match Safari, and doesn't work
https://bugs.webkit.org/show_bug.cgi?id=177010
<rdar://problem/33134548>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Use "reload from origin" nomenclature instead of "reload ignoring cache".

* inspector/protocol/Page.json: Improve the comment, but don't change the
parameter name since this would be a divergence from legacy protocols.

Source/WebCore:

Use "reload from origin" nomenclature instead of "reload ignoring cache".

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::reload):
* inspector/InspectorPageAgent.h:

Source/WebInspectorUI:

I seem to have broken reload from origin via Web Inspector in a previous
patch, because the parameter is 'ignoreCache' instead of 'shouldIgnoreCache'.

* Localizations/en.lproj/localizedStrings.js:
Modernize tooltip text.

* UserInterface/Base/Main.js:
(WI.contentLoaded):
Disambiguate two locals with the same name. Modernize the tooltip.
Make the shortcut Cmd-Opt-R to match Safari. Fix wrong parameter usage.

* UserInterface/Test/FrontendTestHarness.js:
(FrontendTestHarness.prototype.reloadPage):
Fix wrong parameter.

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

3 years agoAdd long press and drag test
megan_gardner@apple.com [Thu, 21 Sep 2017 18:48:08 +0000 (18:48 +0000)]
Add long press and drag test
https://bugs.webkit.org/show_bug.cgi?id=177289

Reviewed by Simon Fraser and Tim Horton.

Adding a test to test the long press and then drag functionality of selection.
Also add additional helper functions to basic gestures, and clarified the existing function
names, as to be more clear in what behavior to expect from them.

* fast/events/touch/ios/long-press-then-drag-to-select-text-expected.txt: Added.
* fast/events/touch/ios/long-press-then-drag-to-select-text.html: Added.
* fast/events/touch/ios/resources/basic-gestures.js:
(touchAndDragFromPointToPoint):

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

3 years agotest262: test262/test/annexB/built-ins/RegExp/prototype/flags/order-after-compile...
joepeck@webkit.org [Thu, 21 Sep 2017 18:43:35 +0000 (18:43 +0000)]
test262: test262/test/annexB/built-ins/RegExp/prototype/flags/order-after-compile.js ASSERTs
https://bugs.webkit.org/show_bug.cgi?id=177307

Reviewed by Michael Saboff.

* runtime/RegExpPrototype.cpp:
In r221160 we added support for the new RegExp flag (dotAll).
We needed to make space for it in FlagsString.

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

3 years agoRemove RenderNamedFlowFragment
antti@apple.com [Thu, 21 Sep 2017 18:29:47 +0000 (18:29 +0000)]
Remove RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=177299

Reviewed by David Hyatt.

Remove the remaining named flow rendering code.

The feature is already disabled, no functional changes.

* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::insertedIntoTree):
(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::updateLogicalHeight):
(WebCore::RenderBlockFlow::positionForPoint):
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded): Deleted.
(WebCore::RenderBlockFlow::canHaveChildren const): Deleted.
(WebCore::RenderBlockFlow::canHaveGeneratedChildren const): Deleted.
(WebCore::RenderBlockFlow::namedFlowFragmentNeedsUpdate const): Deleted.
(WebCore::RenderBlockFlow::setRenderNamedFlowFragment): Deleted.
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderBlockFlow::renderNamedFlowFragment const): Deleted.
(WebCore::RenderElement::isRenderNamedFlowFragmentContainer const): Deleted.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::isUnsplittableForPagination const):
(WebCore::RenderBox::overflowRectForPaintRejection const):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderElement.h:
(WebCore::RenderElement::generatingElement const):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::invalidateRegions):
(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
(WebCore::RenderFlowThread::hasCompositingRegionDescendant const): Deleted.
(WebCore::RenderFlowThread::getLayerListForRegion const): Deleted.
(WebCore::RenderFlowThread::regionForCompositedLayer const): Deleted.
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer const): Deleted.
(WebCore::RenderFlowThread::updateLayerToRegionMappings): Deleted.
(WebCore::RenderFlowThread::updateAllLayerToRegionMappings): Deleted.
(WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions const): Deleted.
(WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent const): Deleted.
(WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight): Deleted.
(WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout): Deleted.
(WebCore::RenderFlowThread::incrementAutoLogicalHeightRegions): Deleted.
(WebCore::RenderFlowThread::decrementAutoLogicalHeightRegions): Deleted.
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintList):
(WebCore::isHitCandidate):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestList):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::expandClipRectForRegionAndReflection): Deleted.
(WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions const): Deleted.
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer const): Deleted.
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::shouldClipCompositedBounds const):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer const):
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread const): Deleted.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason const):
(WebCore::RenderLayerCompositor::styleChangeMayAffectIndirectCompositingReasons):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition const):
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements): Deleted.
(WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree): Deleted.
* rendering/RenderLayerCompositor.h:
* rendering/RenderNamedFlowFragment.cpp: Removed.
* rendering/RenderNamedFlowFragment.h: Removed.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containerForRepaint const):
(WebCore::RenderObject::fixedPositionedWithNamedFlowContainingBlock const): Deleted.
(WebCore::hasFixedPosInNamedFlowContainingBlock): Deleted.
(WebCore::RenderObject::currentRenderNamedFlowFragment const): Deleted.
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderRegion const):
(WebCore::RenderObject::isAnonymousBlock const):
(WebCore::RenderObject::isRenderNamedFlowFragment const): Deleted.
* rendering/RenderRegion.cpp:
* rendering/RenderRegion.h:
(WebCore::RenderRegion::hasAutoLogicalHeight const): Deleted.
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::overflowClipRect):
(WebCore::RenderTable::nodeAtPoint):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
* rendering/RenderView.cpp:
(WebCore::RenderView::layout):
(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForPaginationIfNeeded):
(WebCore::RenderView::layoutContentInAutoLogicalHeightRegions): Deleted.
(WebCore::RenderView::checkTwoPassLayoutForAutoHeightRegions const): Deleted.
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread): Deleted.
(WebCore::RenderView::popLayoutStateForCurrentFlowThread): Deleted.
* rendering/RenderView.h:
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):

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

3 years ago[WK2] Add API to get the redirect chain of a WKDownload
cdumez@apple.com [Thu, 21 Sep 2017 18:20:03 +0000 (18:20 +0000)]
[WK2] Add API to get the redirect chain of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176628
<rdar://problem/34338279>

Reviewed by Alex Christensen.

Re-enable assertion initially added in r222308 and later disabled in
r222320. The assertion was hit because we failed to clear the redirect
chain in WebFrameProxy::didFailProvisionalLoad().

* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didFailProvisionalLoad):

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

3 years agoMark 6 test262 tests as passing.
ryanhaddad@apple.com [Thu, 21 Sep 2017 18:16:56 +0000 (18:16 +0000)]
Mark 6 test262 tests as passing.
https://bugs.webkit.org/show_bug.cgi?id=177307

Unreviewed test gardening.

* test262.yaml:

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

3 years agoRebaseline some tests for macOS.
ryanhaddad@apple.com [Thu, 21 Sep 2017 18:02:49 +0000 (18:02 +0000)]
Rebaseline some tests for macOS.

Unreviewed test gardening.

* platform/mac-wk1/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Added.
* platform/mac-wk2/js/dom/global-constructors-attributes-expected.txt:

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

3 years agoUnreviewed, fix a bug in the interactive app that was introduced by bad merging.
fpizlo@apple.com [Thu, 21 Sep 2017 17:51:07 +0000 (17:51 +0000)]
Unreviewed, fix a bug in the interactive app that was introduced by bad merging.

* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
(FlattenedStructOffsetGatherer.prototype.visitTypeRef):
(FlattenedStructOffsetGatherer):
* WebGPUShadingLanguageRI/index.html:

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

3 years agoWSL should support switch
fpizlo@apple.com [Thu, 21 Sep 2017 17:47:40 +0000 (17:47 +0000)]
WSL should support switch
https://bugs.webkit.org/show_bug.cgi?id=176978

Reviewed by Keith Miller.

This adds fairly complete support for switch statements. This includes things like verifying
whether or not a default statement is needed. This even works when the programmer lists all of
the values of an integer type.

To test that last part, this patch adds uint8 support. It's easy add it, but of course it
meant adding a lot of tests.

This also fixes enum bugs, since switch does things to enums that we previously didn't test.

* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitSwitchStatement):
* WebGPUShadingLanguageRI/EnumLiteral.js:
(EnumLiteral.prototype.get valueForSelectedType):
* WebGPUShadingLanguageRI/EnumType.js:
(EnumType.prototype.allValues):
(EnumType.prototype.valuesEqual):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitSwitchStatement):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCallExpression):
(Inliner):
(Inliner.prototype.visitCastExpression): Deleted.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
(Intrinsics):
* WebGPUShadingLanguageRI/LoopChecker.js:
(LoopChecker):
(LoopChecker.prototype.visitFuncDef):
(LoopChecker.prototype.visitWhileLoop):
(LoopChecker.prototype.visitDoWhileLoop):
(LoopChecker.prototype.visitForLoop):
(LoopChecker.prototype.visitSwitchStatement):
(LoopChecker.prototype.visitBreak):
(LoopChecker.prototype.visitContinue):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.commit):
* WebGPUShadingLanguageRI/Parse.js:
(parseSwitchCase):
(parseSwitchStatement):
(parseStatement):
(parseBlockBody):
(parseBlock):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype._mergeReturnStyle):
(ReturnChecker.prototype.visitIfStatement):
(ReturnChecker.prototype.visitWhileLoop):
(ReturnChecker.prototype.visitDoWhileLoop):
(ReturnChecker.prototype.visitForLoop):
(ReturnChecker.prototype.visitSwitchStatement):
(ReturnChecker.prototype.visitContinue):
(ReturnChecker):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitSwitchStatement):
(Rewriter.prototype.visitSwitchCase):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(uint8.operator):
(bool.operator):
(_generateSwizzle):
* WebGPUShadingLanguageRI/SwitchCase.js: Added.
(SwitchCase):
(SwitchCase.prototype.get origin):
(SwitchCase.prototype.get isDefault):
(SwitchCase.prototype.get value):
(SwitchCase.prototype.get body):
(SwitchCase.prototype.toString):
* WebGPUShadingLanguageRI/SwitchStatement.js: Added.
(SwitchStatement):
(SwitchStatement.prototype.get origin):
(SwitchStatement.prototype.get value):
(SwitchStatement.prototype.add):
(SwitchStatement.prototype.get switchCases):
(SwitchStatement.prototype.toString):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(makeUint8):
(makeEnum):
(checkUint8):
(TEST_uint8SimpleMath):
(TEST_equality):
(TEST_notEquality):
(TEST_uint8BitAnd):
(TEST_uint8BitOr):
(TEST_uint8BitXor):
(TEST_uint8BitNot):
(TEST_uint8LShift):
(TEST_uint8RShift):
(TEST_enumWithExplicitIntBase):
(TEST_enumWithUintBase):
(TEST_enumFloatBase):
(TEST_enumStructBase):
(TEST_simpleSwitch):
(TEST_exhaustiveUint8Switch):
(TEST_notQuiteExhaustiveUint8Switch):
(TEST_switchFallThrough):
(TEST_switchBreak):
(TEST_enumSwitchBreakExhaustive):
(TEST_enumSwitchBreakNotQuiteExhaustive):
(doTest):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext):
(UnificationContext.prototype.addExtraNode):
(UnificationContext.prototype.get nodes):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/index.html:

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

3 years agoFix all builds after r222325
achristensen@apple.com [Thu, 21 Sep 2017 17:43:07 +0000 (17:43 +0000)]
Fix all builds after r222325

* loader/DocumentLoader.h:
WebKit needs this, too.

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

3 years agoWSL needs a way to verify that structs are not cyclic
fpizlo@apple.com [Thu, 21 Sep 2017 17:41:11 +0000 (17:41 +0000)]
WSL needs a way to verify that structs are not cyclic
https://bugs.webkit.org/show_bug.cgi?id=177044

Reviewed by Myles Maxfield.

This adds a recursive type checking phase. Even before adding this phase, the compiler would
successfully detect recursive types - but at the cost of also rejecting programs that had
recursive types indirectly through pointers. To make both things work, I had to change Visitor
to no longer visit TypeRef.type by default. This resulted in some other changes in a few other
parts of the code that previously relied on that behavior.

* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Added.
(checkRecursiveTypes):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitTypeRef):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Added.
(RecursiveTypeChecker):
(RecursiveTypeChecker.prototype.visitFuncDef):
(RecursiveTypeChecker.prototype.visitNativeFunc):
(RecursiveTypeChecker.prototype.visitStructType):
(RecursiveTypeChecker.prototype.visitReferenceType):
(RecursiveTypeChecker.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/StructLayoutBuilder.js:
(StructLayoutBuilder.prototype.visitTypeRef):
(StructLayoutBuilder):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleRecursiveStruct):
* WebGPUShadingLanguageRI/TypeDefResolver.js:
(TypeDefResolver.prototype.visitTypeRef):
(TypeDefResolver):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/index.html:

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

3 years agoJSC should use unified sources for platform specific files.
keith_miller@apple.com [Thu, 21 Sep 2017 17:35:18 +0000 (17:35 +0000)]
JSC should use unified sources for platform specific files.
https://bugs.webkit.org/show_bug.cgi?id=177290

Reviewed by Michael Saboff.

.:

Change WEBKIT_COMPUTE_SOURCES CMake macro to look for platform
specific unified source lists. This is done in the same way that
we look for port specific configuration files. For example, if I
were building for the Mac port WEBKIT_COMPUTE_SOURCES would add
the Sources.txt and SourcesMac.txt source lists to the list of
unified sources.

* Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

Add a list of platform specific source files and update the
Generate Unified Sources phase of the Xcode build. I skipped WPE
since that seems to have failed for some reason that I didn't
fully understand. See:
https://webkit-queues.webkit.org/results/4611260

Also, fix duplicate symbols in Glib remote inspector files.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* SourcesGTK.txt: Added.
* SourcesMac.txt: Added.
* inspector/remote/glib/RemoteInspectorServer.cpp:
(Inspector::RemoteInspectorServer::interfaceInfo):
(Inspector::RemoteInspectorServer::setTargetList):
(Inspector::RemoteInspectorServer::setupInspectorClient):
(Inspector::RemoteInspectorServer::setup):
(Inspector::RemoteInspectorServer::close):
(Inspector::RemoteInspectorServer::connectionClosed):
(Inspector::RemoteInspectorServer::sendMessageToBackend):
(Inspector::RemoteInspectorServer::sendMessageToFrontend):
(Inspector::dbusConnectionCallAsyncReadyCallback): Deleted.

Source/WTF:

The unified source bundler script can now handle more than one
list of sources. Sources will not be bundled across source file
lists. We want to ensure that changing one platform's sources
doesn't break another platform's build, as much as
possible. Additionally, it means that there won't be weird
performance changes when files are added to an unrelated platform.

Remove stale reference to generate-unified-source-bundles.rb script
from Xcode.

* Scripts/generate-unified-source-bundles.rb:
* WTF.xcodeproj/project.pbxproj:

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

3 years ago[PAL] Move MediaTimeAVFoundation into PAL
commit-queue@webkit.org [Thu, 21 Sep 2017 17:33:52 +0000 (17:33 +0000)]
[PAL] Move MediaTimeAVFoundation into PAL
https://bugs.webkit.org/show_bug.cgi?id=177222

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-21
Reviewed by Myles C. Maxfield.

Source/WebCore:

No new tests. No change in behavior..

* Configurations/WebCore.unexp:
* PlatformAppleWin.cmake:
* WebCore.xcodeproj/project.pbxproj:
* platform/audio/mac/AudioSampleDataSource.mm:
(WebCore::AudioSampleDataSource::pushSamples):
* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::process):
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::readNativeSampleBuffer):
* platform/graphics/avfoundation/MediaSampleAVFObjC.h:
* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded const):
(WebCore::AVFWrapper::seekToTime):
(WebCore::AVFWrapper::legibleOutputCallback):
(WebCore::AVFWrapper::createImageForTimeInRect):
* platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
(WebCore::ImageDecoderAVFObjC::readSampleMetadata):
(WebCore::ImageDecoderAVFObjC::storeSampleBuffer):
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime const):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeWillChangeAtTime):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::calculateTimelineOffset):
* platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::presentationTime const):
(WebCore::MediaSampleAVFObjC::outputPresentationTime const):
(WebCore::MediaSampleAVFObjC::decodeTime const):
(WebCore::MediaSampleAVFObjC::duration const):
(WebCore::MediaSampleAVFObjC::outputDuration const):
(WebCore::MediaSampleAVFObjC::offsetTimestampsBy):
(WebCore::MediaSampleAVFObjC::setTimestamps):
(WebCore::MediaSampleAVFObjC::divide):
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
* platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::handleDecompressionOutput):
(WebCore::WebCoreDecompressionSession::automaticDequeue):
(WebCore::WebCoreDecompressionSession::enqueueDecodedSample):
(WebCore::WebCoreDecompressionSession::imageForTime):
* platform/mac/PlatformClockCM.mm:
(PlatformClockCM::setCurrentMediaTime):
(PlatformClockCM::currentMediaTime const):
* platform/mac/PlaybackSessionInterfaceMac.mm:
(WebCore::timeRangesToArray):
* platform/mac/VideoFullscreenInterfaceMac.mm:
* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
* platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
(WebCore::MockRealtimeAudioSourceMac::emitSampleBuffers):
* platform/mediastream/mac/RealtimeIncomingAudioSource.cpp:
(WebCore::RealtimeIncomingAudioSource::OnData):
* platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:

Source/WebCore/PAL:

* config.h:
Include PALHeaderDetection.h.
Define AVFOUNDATION-releavant definitions.

* pal/PlatformWin.cmake:
Add PAL dereived sources directory to include paths.

* PAL.xcodeproj/project.pbxproj:
* pal/CMakeLists.txt:
* pal/PlatformAppleWin.cmake:
* pal/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/graphics/avfoundation/MediaTimeAVFoundation.cpp.
* pal/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/graphics/avfoundation/MediaTimeAVFoundation.h.
* pal/cf/CoreMediaSoftLink.cpp: Added.
* pal/cf/CoreMediaSoftLink.h: Added.

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

3 years agoFix ASAN build after r222306
achristensen@apple.com [Thu, 21 Sep 2017 17:12:24 +0000 (17:12 +0000)]
Fix ASAN build after r222306
https://bugs.webkit.org/show_bug.cgi?id=177255

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::setCustomHeaderFields):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::setCustomHeaderFields): Deleted.
Moving a Vector of a type requires more than just a forward declaration of the type, but only in ASAN builds.  Weird.

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

3 years agoUpdate TestResultsServer for iOS 11 queues.
ryanhaddad@apple.com [Thu, 21 Sep 2017 16:47:55 +0000 (16:47 +0000)]
Update TestResultsServer for iOS 11 queues.
https://bugs.webkit.org/show_bug.cgi?id=177285

Reviewed by Alexey Proskuryakov.

* TestResultServer/static-dashboards/builders.jsonp:

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

3 years agoREGRESSION(r221465) WKWebViews without WebGL delegate callbacks crash when WebGL...
achristensen@apple.com [Thu, 21 Sep 2017 16:41:11 +0000 (16:41 +0000)]
REGRESSION(r221465) WKWebViews without WebGL delegate callbacks crash when WebGL contexts are created
https://bugs.webkit.org/show_bug.cgi?id=177306
<rdar://problem/34351988>

Reviewed by Chris Dumez.

Source/WebKit:

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::webGLLoadPolicy const):
(WebKit::NavigationState::NavigationClient::resolveWebGLLoadPolicy const):
I forgot to early return after calling the default completion handler if there's no delegate selector.

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
(-[WebGLTestDelegate webView:startURLSchemeTask:]):
(-[DelegateWithoutWebGL webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

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

3 years agoIn regular block layout, the width of a child's margin box should always be equal...
commit-queue@webkit.org [Thu, 21 Sep 2017 16:28:35 +0000 (16:28 +0000)]
In regular block layout, the width of a child's margin box should always be equal to that of its containing block
Merge from Blink https://bugs.chromium.org/p/chromium/issues/detail?id=708751
https://bugs.webkit.org/show_bug.cgi?id=176620

Patch by Zhifei FANG <facetothefate@gmail.com> on 2017-09-21
Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/block/over-constrained-auto-margin.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion const):

LayoutTests:

* fast/block/over-constrained-auto-margin-expected.txt: Added.
* fast/block/over-constrained-auto-margin.html: Added.

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

3 years agoUnreviewed, temporarily disable assertion added in r222308 while I investigate.
cdumez@apple.com [Thu, 21 Sep 2017 16:03:11 +0000 (16:03 +0000)]
Unreviewed, temporarily disable assertion added in r222308 while I investigate.

* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):

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

3 years ago[WPE] Mark wrapKey_unwrapKey.worker.html as flaky.
Ms2ger@igalia.com [Thu, 21 Sep 2017 14:55:32 +0000 (14:55 +0000)]
[WPE] Mark wrapKey_unwrapKey.worker.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177301

Unreviewed test gardening.

* platform/wpe/TestExpectations:

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

3 years agoUnpredictable selection when dragging out of float elements children of in-flow block...
jfernandez@igalia.com [Thu, 21 Sep 2017 13:43:28 +0000 (13:43 +0000)]
Unpredictable selection when dragging out of float elements children of in-flow block-level box
https://bugs.webkit.org/show_bug.cgi?id=176096

Reviewed by David Hyatt.

Source/WebCore:

In order to improve Selection across float elements we need to
consider them as HitTest candidates.  Additionally, since
out-of-flow elements must not affect how in-flow elements are
rendered we have to deal with some special cases when implementing
the positionForPoint logic.

This patch addresses the issues caused by the fact that an in-flow
box's logicalBottom does not consider the out-of-flow children, as
they don't affect its height. Hence, we should add the lowest float
logical bottom to figure out the box the point is actually hitting.

Tests: editing/selection/select-out-of-floated-non-editable-01.html
       editing/selection/select-out-of-floated-non-editable-02.html
       editing/selection/select-out-of-floated-non-editable-03.html
       editing/selection/select-out-of-floated-non-editable-04.html
       editing/selection/select-out-of-floated-non-editable-05.html
       editing/selection/select-out-of-floated-non-editable-06.html
       editing/selection/select-out-of-floated-non-editable-07.html
       editing/selection/select-out-of-floated-non-editable-08.html
       editing/selection/select-out-of-floated-non-editable-09.html
       editing/selection/select-out-of-floated-non-editable-10.html
       editing/selection/select-out-of-floated-non-editable-11.html
       editing/selection/select-out-of-floated-non-editable-12.html

* rendering/RenderBlock.cpp:
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::positionForPoint):

LayoutTests:

Tests defining several cases of selection with floats, children of
a block-level box, so they behave as regular HitTest candidates
and don't mess the selection boundaries.

* editing/selection/resources/select-out-of-floated-non-editable.js: Added.
(clearLog):
(log):
(else.window.onmouseup):
(runTest):
(checkSelection):
* editing/selection/select-out-of-floated-non-editable-01-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-01.html: Added.
* editing/selection/select-out-of-floated-non-editable-02-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-02.html: Added.
* editing/selection/select-out-of-floated-non-editable-03-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-03.html: Added.
* editing/selection/select-out-of-floated-non-editable-04-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-04.html: Added.
* editing/selection/select-out-of-floated-non-editable-05-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-05.html: Added.
* editing/selection/select-out-of-floated-non-editable-06-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-06.html: Added.
* editing/selection/select-out-of-floated-non-editable-07-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-07.html: Added.
* editing/selection/select-out-of-floated-non-editable-08-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-08.html: Added.
* editing/selection/select-out-of-floated-non-editable-09-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-09.html: Added.
* editing/selection/select-out-of-floated-non-editable-10-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-10.html: Added.
* editing/selection/select-out-of-floated-non-editable-11-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-11.html: Added.
* editing/selection/select-out-of-floated-non-editable-12-expected.txt: Added.
* editing/selection/select-out-of-floated-non-editable-12.html: Added.

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

3 years ago[WebCrypto] Support Elliptic Curve P-521
zandobersek@gmail.com [Thu, 21 Sep 2017 09:51:47 +0000 (09:51 +0000)]
[WebCrypto] Support Elliptic Curve P-521
https://bugs.webkit.org/show_bug.cgi?id=169231
<rdar://problem/30881703>

Reviewed by Jiewen Tan.

Add support for the P-521 elliptic curve to the CryptoKeyEC class, but
allow the underlying platform-specific implementations to opt out of
supporting this feature.

This is achieved with the platformSupportedCurve() static function that
each platform has to implement, returning true if the passed-in curve
type is supported. The function is called at each CryptoKeyEC entrypoint,
that is in each static function that could generate a new CryptoKeyEC
object. These functions return a NotSupportedError exception in case the
platformSupportedCurve() call returns false.

While the libgcrypt-based implementation will support P-521 curves in
the near future, the CommonCrypto-based implementation might not. The use
of platformSupportedCurve() ensures that the implementations that don't
support EC P-521 continue to return the NotSupportedError exception at
these entrypoints, instead of the OperationError exception that's returned
when the platform-specific extensions of these entrypoints fail due to the
specified elliptic curve not being supported.

Both libgcrypt-based and CommonCrypto-based implementations mark P-256 and
P-384 curves as supported. Switch statements handling NamedCurve values
must now also handle the NamedCurve::P521 value, but both implementations
treat that as an unreachable case since support is not indicated in
platformSupportedCurve(), and all CryptoKeyEC operations should have
returned with an NotSupportedError exception before entering
platform-specific code. The common CryptoKeyEC constructor similarly asserts
that the specified curve is supported by the underlying implementation.

CryptoAlgorithmECDSA is modified to now also support 'ES512' as the algorithm
identifier, matching it against the 'P-521' curve value.

No new tests -- tests covering EC P-521 already exist, but no platform
runs them yet due to missing implementations.

* crypto/algorithms/CryptoAlgorithmECDSA.cpp:
(WebCore::CryptoAlgorithmECDSA::importKey):
* crypto/gcrypt/CryptoKeyECGCrypt.cpp:
(WebCore::curveName):
(WebCore::curveIdentifier):
(WebCore::curveSize):
(WebCore::curveUncompressedFieldElementSize):
(WebCore::CryptoKeyEC::platformSupportedCurve):
* crypto/keys/CryptoKeyEC.cpp:
(WebCore::toNamedCurve):
(WebCore::CryptoKeyEC::CryptoKeyEC):
(WebCore::CryptoKeyEC::generatePair):
(WebCore::CryptoKeyEC::importRaw):
(WebCore::CryptoKeyEC::importJwk):
(WebCore::CryptoKeyEC::importSpki):
(WebCore::CryptoKeyEC::importPkcs8):
(WebCore::CryptoKeyEC::exportJwk const):
(WebCore::CryptoKeyEC::namedCurveString const):
(WebCore::CryptoKeyEC::algorithm const):
* crypto/keys/CryptoKeyEC.h:
* crypto/mac/CryptoKeyECMac.cpp:
(WebCore::doesUncompressedPointMatchNamedCurve):
(WebCore::doesFieldElementMatchNamedCurve):
(WebCore::getKeySizeFromNamedCurve):
(WebCore::CryptoKeyEC::platformSupportedCurve):
(WebCore::getOID):

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

3 years agoUnreviewed GTK+ gardening. Update expectations and rebaseline several tests failing...
magomez@igalia.com [Thu, 21 Sep 2017 09:33:40 +0000 (09:33 +0000)]
Unreviewed GTK+ gardening. Update expectations and rebaseline several tests failing at r222312.

* platform/gtk/TestExpectations:
* platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
* platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
* platform/gtk/fast/text/selection-in-initial-advance-region-expected.txt:

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

3 years agoinspector/dom/content-node-region-info.html and inspector/dom/content-flow tests...
antti@apple.com [Thu, 21 Sep 2017 06:49:54 +0000 (06:49 +0000)]
inspector/dom/content-node-region-info.html and inspector/dom/content-flow tests crashing
https://bugs.webkit.org/show_bug.cgi?id=177249
<rdar://problem/34559968>

Unreviewed.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getNamedFlowCollection):

    Fix crashing by adding a few lines of removed code back.

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

3 years agoUnreviewed follow-up to r222311.
joepeck@webkit.org [Thu, 21 Sep 2017 03:36:29 +0000 (03:36 +0000)]
Unreviewed follow-up to r222311.

* test262/harness/sta.js:
* test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
* test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
* test262/test/built-ins/Array/from/calling-from-valid-2.js:
* test262/test/built-ins/Array/from/elements-added-after.js:
* test262/test/built-ins/Array/from/elements-deleted-after.js:
* test262/test/built-ins/Array/from/elements-updated-after.js:
* test262/test/built-ins/Array/from/from-array.js:
* test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
* test262/test/built-ins/Array/from/mapfn-throws-exception.js:
* test262/test/built-ins/Array/from/source-array-boundary.js:
* test262/test/built-ins/Array/from/source-object-constructor.js:
* test262/test/built-ins/Array/from/source-object-iterator-1.js:
* test262/test/built-ins/Array/from/source-object-iterator-2.js:
* test262/test/built-ins/Array/from/source-object-length.js:
* test262/test/built-ins/Array/from/source-object-missing.js:
* test262/test/built-ins/Array/from/source-object-without.js:
* test262/test/built-ins/Array/from/this-null.js:
* test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
* test262/test/language/line-terminators/S7.3_A3.2_T1.js:
* test262/test/language/literals/numeric/7.8.3-1gs.js:
* test262/test/language/literals/numeric/7.8.3-2gs.js:
* test262/test/language/literals/numeric/7.8.3-3gs.js:
* test262/test/language/literals/regexp/7.8.5-1gs.js:
* test262/test/language/literals/string/7.8.4-1gs.js:
Fix some files that I failed to update when I applied my patch.

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

3 years agoUpdate test262 tests
joepeck@webkit.org [Thu, 21 Sep 2017 03:23:17 +0000 (03:23 +0000)]
Update test262 tests
https://bugs.webkit.org/show_bug.cgi?id=177220

Reviewed by Saam Barati and Yusuke Suzuki.

JSTests:

* test262.yaml:
* test262/test262-Revision.txt:
New rebaselined expectations for all tests.

* test262/*:
Updated.

Tools:

* Scripts/import-test262-tests:
- better detect upstream git repository url from import location
- update JSTest test262 resources when importing from repository
- take seconds instead of 20+ minutes to write yaml with --failures
- update "negative" command to only include just the exception type

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

3 years agoRemove redundant SelectionSubtreeData functions.
zalan@apple.com [Thu, 21 Sep 2017 03:05:13 +0000 (03:05 +0000)]
Remove redundant SelectionSubtreeData functions.
https://bugs.webkit.org/show_bug.cgi?id=177288

Reviewed by Simon Fraser.

No change in functionality.

* rendering/SelectionSubtreeRoot.h:
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos const):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos): Deleted.
(): Deleted.

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

3 years ago[Win] WTF: Add alias for process id to use in place of direct uses of pid_t
commit-queue@webkit.org [Thu, 21 Sep 2017 02:55:06 +0000 (02:55 +0000)]
[Win] WTF: Add alias for process id to use in place of direct uses of pid_t
https://bugs.webkit.org/show_bug.cgi?id=177017

Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-09-20
Reviewed by Alex Christensen.

Source/JavaScriptCore:

* API/JSRemoteInspector.cpp:
(JSRemoteInspectorSetParentProcessInformation):
* API/JSRemoteInspector.h:
* inspector/remote/RemoteInspector.h:

Source/WebKit:

* NetworkProcess/NetworkProcessCreationParameters.h:
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKContext.cpp:
(WKContextGetNetworkProcessIdentifier):
(WKContextGetDatabaseProcessIdentifier):
* UIProcess/API/C/WKContextPrivate.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageGetProcessIdentifier):
* UIProcess/API/C/WKPagePrivate.h:
* UIProcess/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::processIdentifier const):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::didFinishLaunchingProcess):
* UIProcess/Launcher/ProcessLauncher.h:
(WebKit::ProcessLauncher::processIdentifier const):
* UIProcess/ProcessAssertion.cpp:
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
* UIProcess/ProcessAssertion.h:
(WebKit::ProcessAssertion::ProcessAssertion):
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::didConnectToProcess):
* UIProcess/ProcessThrottler.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::processIdentifier const):
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessIdentifier):
(WebKit::WebProcessPool::storageProcessIdentifier):
* UIProcess/WebProcessPool.h:

Source/WTF:

* wtf/ProcessID.h:
(WTF::getCurrentProcessID):

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

3 years ago[WK2] Add API to get the redirect chain of a WKDownload
cdumez@apple.com [Thu, 21 Sep 2017 02:48:38 +0000 (02:48 +0000)]
[WK2] Add API to get the redirect chain of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176628
<rdar://problem/34338279>

Reviewed by Alex Christensen.

Source/WebKit:

Add API to get the redirect chain of a WKDwnload. The redirect chain includes redirects
that happened during initial load, before the load was converted into a download.

* UIProcess/API/C/WKDownload.cpp:
(WKDownloadCopyRedirectChain):
* UIProcess/API/C/WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload originatingWebView]):
(-[_WKDownload redirectChain]):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::willSendRequest):
* UIProcess/Downloads/DownloadProxy.h:
(WebKit::DownloadProxy::setRedirectChain):
(WebKit::DownloadProxy::redirectChain const):
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
* UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::redirectChain const):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):

Tools:

Add API test coverage for the 2 cases:
1. Download started as a download and is redirected while
   downloading.
2. Download started as a load and was redirected during the
   initial load.

* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):
(TEST):

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