Timeline



May 30, 2018:

11:51 PM Changeset in webkit [232340] by Kocsen Chung
  • 3 edits in tags/Safari-606.1.19/Source/WebKit

Cherry-pick r232307. rdar://problem/40651225

Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
https://bugs.webkit.org/show_bug.cgi?id=186097
<rdar://problem/40651225>

Reviewed by Dan Bernstein.

Refactor fix landed in r232298 so that we rely on the existing Callback infrastructure
to take a background process assertion.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::callAfterNextPresentationUpdate):

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

11:51 PM Changeset in webkit [232339] by Kocsen Chung
  • 2 edits in tags/Safari-606.1.19/Source/WebKit

Cherry-pick r232298. rdar://problem/40651225

Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
https://bugs.webkit.org/show_bug.cgi?id=186097
<rdar://problem/40651225>

Reviewed by Tim Horton.

Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate(). Otherwise,
apps may get stuck on _doAfterNextPresentationUpdate because the WebProcess got suspended.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::callAfterNextPresentationUpdate):

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

11:41 PM Changeset in webkit [232338] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GTK] Hardcoded text color in input fields
https://bugs.webkit.org/show_bug.cgi?id=126907

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-05-30
Reviewed by Carlos Garcia Campos.

Set text color in input fields to foreground theme color.
Also, set "window.background" as base GtkStyleContext to mimic
GTK applications and fix some theme bugs.

No new tests required. ManualTests/gtk/theme.html already covers it.

  • platform/gtk/RenderThemeGadget.cpp:

(WebCore::baseStyleContext): Added.
(WebCore::RenderThemeGadget::RenderThemeGadget):
Use "window.background" GtkStyleContext instead of
null parent for RenderThemeGadgets.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::adjustButtonStyle const):
Set color as foreground theme color.
(WebCore::RenderThemeGtk::adjustTextFieldStyle const): Ditto.
(WebCore::RenderThemeGtk::adjustTextAreaStyle const): Ditto.
(WebCore::RenderThemeGtk::adjustSearchFieldStyle const): Ditto.

  • rendering/RenderThemeGtk.h: adjustTextAreaStyle() overriden.
11:19 PM Changeset in webkit [232337] by Yusuke Suzuki
  • 171 edits in trunk/Source

[JSC] Pass VM& parameter as much as possible
https://bugs.webkit.org/show_bug.cgi?id=186085

Reviewed by Saam Barati.

Source/JavaScriptCore:

JSCell::vm() is slow compared to ExecState::vm(). That's why we have bunch of functions in JSCell/JSObject that take VM& as a parameter.
For example, we have JSCell::structure() and JSCell::structure(VM&), the former retrieves VM& from the cell and invokes structure(VM&).
If we can get VM& from ExecState* or the other place, it reduces the inlined code size.
This patch attempts to pass VM& parameter to such functions as much as possible.

  • API/APICast.h:

(toJS):
(toJSForGC):

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex):
(JSC::JSCallbackObject<Parent>::deletePropertyByIndex):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):

  • API/JSObjectRef.cpp:

(JSObjectIsConstructor):

  • API/JSTypedArray.cpp:

(JSObjectGetTypedArrayBuffer):

  • API/JSValueRef.cpp:

(JSValueIsInstanceOfConstructor):

  • bindings/ScriptFunctionCall.cpp:

(Deprecated::ScriptFunctionCall::call):

  • bindings/ScriptValue.cpp:

(Inspector::jsToInspectorValue):

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/ObjectAllocationProfileInlines.h:

(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):

  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::generateConditionsForInstanceOf):

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::isWatchableWhenValid const):
(JSC::PropertyCondition::attemptToMakeEquivalenceWithoutBarrier const):

  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::StructureStubClearingWatchpoint::fireInternal):

  • debugger/Debugger.cpp:

(JSC::Debugger::detach):

  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::create):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::mergeOSREntryValue):

  • dfg/DFGArgumentsEliminationPhase.cpp:
  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine const):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::check):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetConstantProperty):

  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnString):

  • dfg/DFGStrengthReductionPhase.cpp:

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

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):

  • ftl/FTLOperations.cpp:

(JSC::FTL::operationPopulateObjectInOSR):

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::createInjectedScript):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::caller const):
(Inspector::JSJavaScriptCallFrame::scopeChain const):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::wasmAwareLexicalGlobalObject):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):

  • jit/JITOperations.cpp:

(JSC::getByVal):

  • jit/Repatch.cpp:

(JSC::tryCacheInByID):

  • jsc.cpp:

(functionDollarAgentReceiveBroadcast):
(functionHasCustomProperties):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setupGetByIdPrototypeCache):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::llint_throw_stack_overflow_error):

  • runtime/AbstractModuleRecord.cpp:

(JSC::AbstractModuleRecord::finishCreation):

  • runtime/ArrayConstructor.cpp:

(JSC::constructArrayWithSizeQuirk):

  • runtime/ArrayPrototype.cpp:

(JSC::speciesWatchpointIsValid):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint):

  • runtime/AsyncFunctionConstructor.cpp:

(JSC::callAsyncFunctionConstructor):
(JSC::constructAsyncFunctionConstructor):

  • runtime/AsyncGeneratorFunctionConstructor.cpp:

(JSC::callAsyncGeneratorFunctionConstructor):
(JSC::constructAsyncGeneratorFunctionConstructor):

  • runtime/BooleanConstructor.cpp:

(JSC::constructWithBooleanConstructor):

  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createEmpty):
(JSC::ClonedArguments::createWithInlineFrame):
(JSC::ClonedArguments::createWithMachineFrame):
(JSC::ClonedArguments::createByCopyingFrom):
(JSC::ClonedArguments::getOwnPropertySlot):
(JSC::ClonedArguments::materializeSpecials):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
(JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):
(JSC::CommonSlowPaths::canAccessArgumentIndexQuickly):

  • runtime/ConstructData.cpp:

(JSC::construct):

  • runtime/DateConstructor.cpp:

(JSC::constructWithDateConstructor):

  • runtime/DatePrototype.cpp:

(JSC::dateProtoFuncToJSON):

  • runtime/DirectArguments.cpp:

(JSC::DirectArguments::overrideThings):

  • runtime/Error.cpp:

(JSC::getStackTrace):

  • runtime/ErrorConstructor.cpp:

(JSC::Interpreter::constructWithErrorConstructor):
(JSC::Interpreter::callErrorConstructor):

  • runtime/FunctionConstructor.cpp:

(JSC::constructWithFunctionConstructor):
(JSC::callFunctionConstructor):

  • runtime/GeneratorFunctionConstructor.cpp:

(JSC::callGeneratorFunctionConstructor):
(JSC::constructGeneratorFunctionConstructor):

  • runtime/GenericArgumentsInlines.h:

(JSC::GenericArguments<Type>::getOwnPropertySlot):

  • runtime/InferredStructureWatchpoint.cpp:

(JSC::InferredStructureWatchpoint::fireInternal):

  • runtime/InferredType.cpp:

(JSC::InferredType::removeStructure):

  • runtime/InferredType.h:
  • runtime/InferredTypeInlines.h:

(JSC::InferredType::finalizeUnconditionally):

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::initializeCollator):

  • runtime/IntlCollatorConstructor.cpp:

(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):

  • runtime/IntlCollatorPrototype.cpp:

(JSC::IntlCollatorPrototypeGetterCompare):

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::formatToParts):

  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototypeGetterFormat):

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::formatToParts):

  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):

  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatPrototypeGetterFormat):

  • runtime/IntlObject.cpp:

(JSC::canonicalizeLocaleList):
(JSC::defaultLocale):
(JSC::lookupSupportedLocales):
(JSC::intlObjectFuncGetCanonicalLocales):

  • runtime/IntlPluralRules.cpp:

(JSC::IntlPluralRules::initializePluralRules):
(JSC::IntlPluralRules::resolvedOptions):

  • runtime/IntlPluralRulesConstructor.cpp:

(JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf):

  • runtime/IteratorOperations.cpp:

(JSC::iteratorNext):
(JSC::iteratorClose):
(JSC::iteratorForIterable):

  • runtime/JSArray.cpp:

(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::isIteratorProtocolFastAndNonObservable):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation):
(JSC::constructArrayBuffer):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::arrayBufferProtoFuncSlice):

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::unsharedJSBuffer):
(JSC::JSArrayBufferView::possiblySharedJSBuffer):

  • runtime/JSAsyncFunction.cpp:

(JSC::JSAsyncFunction::createImpl):
(JSC::JSAsyncFunction::create):
(JSC::JSAsyncFunction::createWithInvalidatedReallocationWatchpoint):

  • runtime/JSAsyncGeneratorFunction.cpp:

(JSC::JSAsyncGeneratorFunction::createImpl):
(JSC::JSAsyncGeneratorFunction::create):
(JSC::JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint):

  • runtime/JSBoundFunction.cpp:

(JSC::boundThisNoArgsFunctionCall):
(JSC::boundFunctionCall):
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::boundArgsCopy):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):

  • runtime/JSCellInlines.h:

(JSC::JSCell::setStructure):
(JSC::JSCell::methodTable const):
(JSC::JSCell::toBoolean const):

  • runtime/JSFunction.h:

(JSC::JSFunction::createImpl):

  • runtime/JSGeneratorFunction.cpp:

(JSC::JSGeneratorFunction::createImpl):
(JSC::JSGeneratorFunction::create):
(JSC::JSGeneratorFunction::createWithInvalidatedReallocationWatchpoint):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex):
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):
(JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::exposeDollarVM):
(JSC::JSGlobalObject::finishCreation):

  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncEval):

  • runtime/JSInternalPromise.cpp:

(JSC::JSInternalPromise::then):

  • runtime/JSInternalPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSJob.cpp:

(JSC::JSJobMicrotask::run):

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::getOwnPropertySlot):
(JSC::JSLexicalEnvironment::put):

  • runtime/JSMap.cpp:

(JSC::JSMap::isIteratorProtocolFastAndNonObservable):

  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::createPair):

  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::provideFetch):
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::requestImportModule):

  • runtime/JSONObject.cpp:

(JSC::JSONProtoFuncParse):

  • runtime/JSObject.cpp:

(JSC::JSObject::putInlineSlow):
(JSC::JSObject::putByIndex):
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::ensureWritableInt32Slow):
(JSC::JSObject::ensureWritableDoubleSlow):
(JSC::JSObject::ensureWritableContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::setPrototypeDirect):
(JSC::JSObject::deleteProperty):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::hasInstance):
(JSC::JSObject::getOwnNonIndexPropertyNames):
(JSC::JSObject::preventExtensions):
(JSC::JSObject::isExtensible):
(JSC::JSObject::reifyAllStaticProperties):
(JSC::JSObject::fillGetterPropertySlot):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::reallocateAndShrinkButterfly):
(JSC::JSObject::shiftButterflyAfterFlattening):
(JSC::JSObject::anyObjectInChainMayInterceptIndexedAccesses const):
(JSC::JSObject::prototypeChainMayInterceptStoreTo):
(JSC::JSObject::needsSlowPutIndexing const):
(JSC::JSObject::suggestedArrayStorageTransition const):

  • runtime/JSObject.h:

(JSC::JSObject::mayInterceptIndexedAccesses):
(JSC::JSObject::hasIndexingHeader const):
(JSC::JSObject::hasCustomProperties):
(JSC::JSObject::hasGetterSetterProperties):
(JSC::JSObject::hasCustomGetterSetterProperties):
(JSC::JSObject::isExtensibleImpl):
(JSC::JSObject::isStructureExtensible):
(JSC::JSObject::indexingShouldBeSparse):
(JSC::JSObject::staticPropertiesReified):
(JSC::JSObject::globalObject const):
(JSC::JSObject::finishCreation):
(JSC::JSNonFinalObject::finishCreation):
(JSC::getCallData):
(JSC::getConstructData):
(JSC::JSObject::getOwnNonIndexPropertySlot):
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putOwnDataPropertyMayBeIndex):
(JSC::JSObject::butterflyPreCapacity):
(JSC::JSObject::butterflyTotalSize):

  • runtime/JSObjectInlines.h:

(JSC::JSObject::putDirectInternal):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::initialize):
(JSC::JSPromise::resolve):

  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSPromiseDeferred.cpp:

(JSC::newPromiseCapability):
(JSC::callFunction):

  • runtime/JSScope.cpp:

(JSC::abstractAccess):

  • runtime/JSScope.h:

(JSC::JSScope::globalObject): Deleted.
Remove this JSScope::globalObject function since it is completely the same to JSObject::globalObject().

  • runtime/JSSet.cpp:

(JSC::JSSet::isIteratorProtocolFastAndNonObservable):

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::createPair):

  • runtime/JSStringIterator.cpp:

(JSC::JSStringIterator::clone):

  • runtime/Lookup.cpp:

(JSC::reifyStaticAccessor):
(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::getStaticPropertySlotFromTable):
(JSC::replaceStaticPropertySlot):
(JSC::reifyStaticProperty):

  • runtime/MapConstructor.cpp:

(JSC::constructMap):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):

  • runtime/ObjectConstructor.cpp:

(JSC::constructObject):
(JSC::objectConstructorAssign):
(JSC::toPropertyDescriptor):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncToLocaleString):

  • runtime/Operations.cpp:

(JSC::jsIsFunctionType): Deleted.
Replace it with JSValue::isFunction(VM&).

  • runtime/Operations.h:
  • runtime/ProgramExecutable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/RegExpConstructor.cpp:

(JSC::constructWithRegExpConstructor):
(JSC::callRegExpConstructor):

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::processUnverifiedStackTraces):
(JSC::SamplingProfiler::StackFrame::nameFromCallee):

  • runtime/ScopedArguments.cpp:

(JSC::ScopedArguments::overrideThings):

  • runtime/ScriptExecutable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):

  • runtime/SetConstructor.cpp:

(JSC::constructSet):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayValueMap::putDirect):

  • runtime/StringConstructor.cpp:

(JSC::constructWithStringConstructor):

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):
(JSC::replaceUsingStringSearch):
(JSC::stringProtoFuncIterator):

  • runtime/Structure.cpp:

(JSC::Structure::materializePropertyTable):
(JSC::Structure::willStoreValueSlow):

  • runtime/StructureCache.cpp:

(JSC::StructureCache::emptyStructureForPrototypeFromBaseStructure):

  • runtime/StructureInlines.h:

(JSC::Structure::get):

  • runtime/WeakMapConstructor.cpp:

(JSC::constructWeakMap):

  • runtime/WeakSetConstructor.cpp:

(JSC::constructWeakSet):

  • tools/HeapVerifier.cpp:

(JSC::HeapVerifier::reportCell):

  • tools/JSDollarVM.cpp:

(JSC::functionGlobalObjectForObject):
(JSC::JSDollarVM::finishCreation):

  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::finalizeCreation):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJSException):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::constructJSWebAssemblyCompileError):
(JSC::callJSWebAssemblyCompileError):

  • wasm/js/WebAssemblyLinkErrorConstructor.cpp:

(JSC::constructJSWebAssemblyLinkError):
(JSC::callJSWebAssemblyLinkError):

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::evaluate):

  • wasm/js/WebAssemblyPrototype.cpp:

(JSC::instantiate):

  • wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:

(JSC::constructJSWebAssemblyRuntimeError):
(JSC::callJSWebAssemblyRuntimeError):

  • wasm/js/WebAssemblyToJSCallee.cpp:

(JSC::WebAssemblyToJSCallee::create):

Source/WebCore:

No behavior change.

  • bindings/js/JSCSSRuleListCustom.cpp:

(WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSDOMBuiltinConstructorBase.cpp:

(WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments):

  • bindings/js/JSDOMConvertScheduledAction.h:

(WebCore::Converter<IDLScheduledAction>::convert):

  • bindings/js/JSDOMIterator.h:

(WebCore::iteratorForEach):

  • bindings/js/JSDOMMapLike.cpp:

(WebCore::forwardFunctionCallToBackingMap):
(WebCore::forwardForEachCallToBackingMap):

  • bindings/js/JSDOMPromise.cpp:

(WebCore::callFunction):

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::callFunction):
(WebCore::createRejectedPromiseWithTypeError):

  • bindings/js/JSDeprecatedCSSOMValueCustom.cpp:

(WebCore::JSDeprecatedCSSOMValueOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginElementCustomPut):
(WebCore::callPlugin):

  • bindings/js/JSWindowProxy.cpp:

(WebCore::JSWindowProxy::setWindow):

  • bindings/js/ReadableStream.cpp:

(WebCore::ReadableStreamInternal::callFunction):

  • bindings/js/ReadableStreamDefaultController.cpp:

(WebCore::callFunction):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::getProperty):
(WebCore::CloneSerializer::serialize):

  • bindings/js/StructuredClone.cpp:

(WebCore::structuredCloneArrayBufferView):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::initScript):

  • bridge/NP_jsobject.cpp:
  • bridge/objc/WebScriptObject.mm:

(-[WebScriptObject callWebScriptMethod:withArguments:]):

  • testing/Internals.cpp:

(WebCore::Internals::cloneArrayBuffer):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):

Source/WebKit:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::construct):
(WebKit::NPJSObject::invoke):

Source/WebKitLegacy/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::invoke):

Source/WebKitLegacy/win:

  • Plugins/PluginPackage.cpp:

(WebCore::NPN_Invoke):

10:34 PM Changeset in webkit [232336] by Fujii Hironori
  • 2 edits in trunk/Source/WebKitLegacy/win

REGRESSION(r232316) [Win] error C2039: 'event': is not a member of 'WebCore::NavigationAction'
https://bugs.webkit.org/show_bug.cgi?id=186125

Unreviewed build fix

  • WebActionPropertyBag.cpp:

(WebActionPropertyBag::Read):
(findMouseEvent): Deleted.

9:22 PM Changeset in webkit [232335] by Darin Adler
  • 29 edits in trunk/Source/WebCore

Straighten out HTMLInputElement attribute handling
https://bugs.webkit.org/show_bug.cgi?id=186043

Reviewed by Daniel Bates.

  • dom/RadioButtonGroups.cpp:

(WebCore::RadioButtonGroup::requiredStateChanged): Renamed from requiredAttributeChanged,
and changed to take a reference.
(WebCore::RadioButtonGroups::requiredStateChanged): Ditto.

  • dom/RadioButtonGroups.h: Updated for changes above.
  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree): Call
updateInnerTextValue by its new name.
(WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue): Renamed
from updateAppearance.
(WebCore::BaseChooserOnlyDateAndTimeInputType::setValue): Call
updateInnerTextValue by its new name.
(WebCore::BaseChooserOnlyDateAndTimeInputType::attributeChanged): Override this
instead of valueAttributeChanged.

  • html/BaseChooserOnlyDateAndTimeInputType.h: Tighten up inheritance a bit.

Also use final a bit more and update for changes above.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::attributeChanged): Replaced
minOrMaxAttributeChanged with this override, checking for the attribute names.

  • html/BaseDateAndTimeInputType.h: Updated for changes above.
  • html/FileInputType.cpp:

(WebCore::FileInputType::disabledStateChanged): Renamed from disabledAttributeChanged.
(WebCore::FileInputType::attributeChanged): Replaced
multipleAttributeChanged with this override, checking for the attribute names.

  • html/FileInputType.h: Updated for changes above.
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute): Updated function names to say
"state changed" rather than "attribute changed" if they are called only when the
computed value is changed, not the raw attribute value.
(WebCore::HTMLFormControlElement::readOnlyStateChanged): Updated name.
(WebCore::HTMLFormControlElement::requiredStateChanged): Ditto.

  • html/HTMLFormControlElement.h: Updated for changes above.
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute): Removed the code to call lots of specific
attribute changed functions that have now been deleted. Also removed empty code for a
couple of attributes.
(WebCore::HTMLInputElement::disabledStateChanged): Added. Forward call to input type.
(WebCore::HTMLInputElement::readOnlyStateChanged): Ditto.
(WebCore::HTMLInputElement::requiredStateChanged): Renamed from requiredAttributeChanged.

  • html/HTMLInputElement.h: Updated for changes above.
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::readOnlyStateChanged): Renamed from
readOnlyAttributeChanged. Also fixed incorrect call to base class. This may have
fixed a bug: With some work we could probably create a test case to demonstrate that.

  • html/HTMLTextFormControlElement.h: Updated for changes above.
  • html/ImageInputType.cpp:

(WebCore::ImageInputType::attributeChanged): Replaced
altAttributeChanged and srcAttributeChanged with this override, checking for the
attribute names.

  • html/ImageInputType.h: Updated for changes above.
  • html/InputType.cpp:

(WebCore::InputType::altAttributeChanged): Deleted.
(WebCore::InputType::srcAttributeChanged): Deleted.
(WebCore::InputType::maxResultsAttributeChanged): Deleted.
(WebCore::InputType::minOrMaxAttributeChanged): Deleted.
(WebCore::InputType::stepAttributeChanged): Deleted.
(WebCore::InputType::valueAttributeChanged): Deleted.
(WebCore::InputType::attributeChanged): Moved to header as an inline so derived
classes can call through to the base class with the empty function inlined.
(WebCore::InputType::multipleAttributeChanged): Deleted.
(WebCore::InputType::disabledAttributeChanged): Moved to header as an inline.
(WebCore::InputType::readonlyAttributeChanged): Ditto.
(WebCore::InputType::requiredAttributeChanged): Ditto.

  • html/InputType.h: Updated for changes above.
  • html/NumberInputType.cpp:

(WebCore::NumberInputType::attributeChanged): Replaced
minOrMaxAttributeChanged and stepAttributeChanged with this override, checking
for the attribute names.

  • html/NumberInputType.h: Updated for changes above.
  • html/RangeInputType.cpp:

(WebCore::RangeInputType::disabledStateChanged): Renamed from
disabledAttributeChanged.
(WebCore::RangeInputType::attributeChanged): Replaced
minOrMaxAttributeChanged with this override, checking for the attribute names.

  • html/RangeInputType.h: Updated for changes above.
  • html/SearchInputType.cpp:

(WebCore::SearchInputType::SearchInputType): Removed unneeded initialization of
RefPtr data members to nullptr.
(WebCore::updateResultButtonPseudoType): Removed unneeded if statement; the two
cases above cover 0, and less than 0, so there is no need to check for greater
than 0 for the third case.
(WebCore::SearchInputType::attributeChanged): Replaced
maxResultsAttributeChanged with this override, checking for the attribute name.

  • html/SearchInputType.h: Updated for changes above and marked more

member functions final.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::attributeChanged): Added a call through to the
base class to match the style of other overrides of this function.
(WebCore::TextFieldInputType::disabledStateChanged): Renamed from disabledAttributeChanged.
(WebCore::TextFieldInputType::readOnlyStateChanged): Renamed from readonlyAttributeChanged.

  • html/TextFieldInputType.h: Updated for changes above. Also made attributeChanged no

longer be marked final since derived classes now override it.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::SliderThumbElement): Moved some data member initialization
from this constructor to the class definition.
(WebCore::SliderThumbElement::hostDisabledStateChanged): Renamed from disabledAttributeChanged.

  • html/shadow/SliderThumbElement.h: Updated for changes above and marked more

member functions final.

8:57 PM Changeset in webkit [232334] by sbarati@apple.com
  • 3 edits
    1 add in trunk

DFG combined liveness needs to say that the machine CodeBlock's arguments are live
https://bugs.webkit.org/show_bug.cgi?id=186121
<rdar://problem/39377796>

Reviewed by Keith Miller.

JSTests:

  • stress/combined-liveness-needs-to-say-arguments-are-live.js: Added.

(baz):
(foo):

Source/JavaScriptCore:

DFG's combined liveness was reporting that the machine CodeBlock's |this|
argument was dead at certain points in the program. However, a CodeBlock's
arguments are considered live for the entire function. This fixes a bug
where object allocation sinking phase skipped materializing an allocation
because it thought that the argument it was associated with, |this|, was dead.

  • dfg/DFGCombinedLiveness.cpp:

(JSC::DFG::liveNodesAtHead):

8:31 PM Changeset in webkit [232333] by Fujii Hironori
  • 8 edits in trunk/Tools

[Win][MiniBrowser] Move MainWindow related code from Common.cpp to MainWindow.cpp
https://bugs.webkit.org/show_bug.cgi?id=186079

Reviewed by Alex Christensen.

This is a sub task of Bug 184770.

This change is partial. I'm going to remove global variables
gMainWindow and gMiniBrowser and convert more functions to
MainWindow's methods in follow-up patches.

  • MiniBrowser/win/CMakeLists.txt: Added Common.cpp
  • MiniBrowser/win/Common.cpp:

(menuItemIsChecked): Moved to MainWindow.cpp.
(turnOffOtherUserAgents): Ditto.
(EditProc): Ditto.
(BackButtonProc): Ditto.
(ForwardButtonProc): Ditto.
(About): Ditto.
(Caches): Ditto.
(CustomUserAgent): Ditto.
(AuthDialogProc): Ditto.
(DisplayAuthDialog): Converted to MainWindow's method.
(ToggleMenuItem): Ditto.
(loadURL): Ditto.

  • MiniBrowser/win/Common.h:
  • MiniBrowser/win/MainWindow.cpp:

(MainWindow::init): Call SetFocus at the end of the construction.
(MainWindow::WndProc):
(menuItemIsChecked): Moved from Common.cpp.
(turnOffOtherUserAgents): Ditto.
(EditProc): Ditto.
(BackButtonProc): Ditto.
(ForwardButtonProc): Ditto.
(About): Ditto.
(Caches): Ditto.
(CustomUserAgent): Ditto.
(authDialogProc): Ditto.
(MainWindow::displayAuthDialog): Converted from a function of Common.cpp.
(MainWindow::toggleMenuItem): Ditto.
(MainWindow::loadURL): Ditto.

  • MiniBrowser/win/MainWindow.h: Added method declarations.
  • MiniBrowser/win/MiniBrowser.h: Added pragma once.
  • MiniBrowser/win/WinMain.cpp:

(wWinMain): Include Common.h instead of Common.cpp.

8:30 PM Changeset in webkit [232332] by Kocsen Chung
  • 1 copy in tags/Safari-606.1.19

Tag Safari-606.1.19.

7:27 PM Changeset in webkit [232331] by n_wang@apple.com
  • 3 edits
    2 adds in trunk

AX: VoiceOver on macOS does not announce fieldset description from aria-describedby when focussing inputs
https://bugs.webkit.org/show_bug.cgi?id=185246
<rdar://problem/39939028>

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed the fieldset's description to its form control children.

Test: accessibility/mac/aria-describedby-fieldset.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::helpText const):

LayoutTests:

  • accessibility/mac/aria-describedby-fieldset-expected.txt: Added.
  • accessibility/mac/aria-describedby-fieldset.html: Added.
6:52 PM Changeset in webkit [232330] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.20.3

Tag Safari-606.1.17.20.3.

6:51 PM Changeset in webkit [232329] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.30.4

Tag Safari-606.1.17.30.4.

6:50 PM Changeset in webkit [232328] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.30-branch/Source

Versioning.

6:43 PM Changeset in webkit [232327] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.20-branch/Source

Versioning.

6:21 PM Changeset in webkit [232326] by Chris Fleizach
  • 9 edits
    2 adds in trunk

AX: Expose link rel type to voiceover
https://bugs.webkit.org/show_bug.cgi?id=186084
<rdar://problem/40640871>

Reviewed by Sam Weinig.

Source/WebCore:

Make the link rel attribute available to accessibility clients.

Test: accessibility/mac/linkrel.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::linkRelValue const):

  • accessibility/AccessibilityObject.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityLinkRelationshipType]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • accessibility/image-link-expected.txt:
  • accessibility/image-map2-expected.txt:
  • accessibility/mac/document-links-expected.txt:
  • accessibility/mac/linkrel-expected.txt: Added.
  • accessibility/mac/linkrel.html: Added.
5:41 PM Changeset in webkit [232325] by dino@apple.com
  • 2 edits in branches/safari-606.1.17.20-branch/Source/WebCore

Cherry-pick r232320. rdar://problem/40662705

5:39 PM Changeset in webkit [232324] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline http/wpt/service-workers/header-filtering.https.html after r232310.

Unreviewed test gardening.

  • http/wpt/service-workers/header-filtering.https-expected.txt:
5:20 PM Changeset in webkit [232323] by beidson@apple.com
  • 12 edits
    3 adds in trunk

REGRESSION (r224684): User-agent seen by page does not change when modified by the develop menu options after reloading.
<rdar://problem/34918109> and https://bugs.webkit.org/show_bug.cgi?id=186111

Reviewed by Andy Estes.

Source/WebCore:

Test: http/tests/navigation/useragent-reload.php

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeRequest const): Use setUserAgent() for consistency.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::startLoadingMainResource): Clear the user agent from the original DocumentLoader request

before adding additional fields, as reloads should pick up user agent changes.

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setCustomUserAgent):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/tests/navigation/resources/user-agent-script.php: Added.
  • http/tests/navigation/useragent-reload-expected.txt: Added.
  • http/tests/navigation/useragent-reload.php: Added.
5:18 PM Changeset in webkit [232322] by ddkilzer@apple.com
  • 2 edits
    1 add in trunk/Source/ThirdParty/libwebrtc

Fix leak of a CVPixelBufferRef due to early rerturn in -[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]
<https://webkit.org/b/186114>
<rdar://problem/40668097>

Reviewed by Eric Carlson.

  • Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:

(-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
Call CVBufferRelease(pixelBuffer) before early return to free
it.

  • WebKit/0010-Fix-RTCVideoEncoderH264-CVPixelBuffer-leak.patch: Add.
5:08 PM Changeset in webkit [232321] by Brent Fulgham
  • 7 edits
    1 move
    1 add
    1 delete in trunk/Source/WebKit

[macOS] WebProcess needs TCC entitlements for media capture (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=185526
<rdar://problem/36674649>

Reviewed by Alexey Proskuryakov.

In Bug 181995 I added TCC entitlements for media capture to the macOS entitlements used for
relocatable builds. These changes also need to apply to system builds of WebKit.

Previously we had not needed an entitlements file for system builds of WebKit, so only provided
an entitlements file for our relocatable build targets. Now we need entitlements when building
on recent macOS targets using internal SDKs.

Since these various scenarios are beginning to multiple, this patch dynamically generates the
entitlements file.

This patch does the following:

  1. Changes the "WebContent-OSX.entitlements" to hold the TCC entitlements needed for media capture, and rename to "WebContent-OSX-restricted.entitlements".
  2. Removes the unneeded "com.apple.private.xpc.domain-extension" from WebContent-OSX.entitlement, and dynamically adds it using a new build step using the script 'process-webcontent-entitlements.sh'
  3. Updates DebugRelease.xcconfig to use the 'Safari Engineering' signing key for internal builds.
  4. Updates WebContentService.xcconfig to remove the CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_YES target since we no longer need a custom entitlement file for this case.
  5. Updates WebContentService.Development.xcconfig to remove CODE_SIGN_ENTITLEMENTS_COCOA_TOUCH_NO since it is no longer needed.
  6. Deletes the file Configurations/WebContent.Development.entitlements since it is no longer needed.
  7. Revises the WebContent process sandbox to allow camera and microphone access without needing TCC entitlements, since those cannot be applied without an internal SDK.
  8. Revises the UserMediaProcessManager to not pass dynamic sandbox extensions to the WebContent process when building with the public SDK since those entitlements cannot be added or consumed in Open Source builds.

We want to use the TCC entitlements when building with the internal SDK on recent macOS builds.

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/WebContent-OSX-restricted.entitlements: Renamed from Source/WebKit/Configurations/WebContent-OSX.entitlements.
  • Configurations/WebContent.Development.entitlements: Removed.
  • Configurations/WebContentService.Development.xcconfig:
  • Configurations/WebContentService.xcconfig:
  • Scripts/process-webcontent-entitlements.sh: Added.
  • UIProcess/UserMediaProcessManager.cpp:

(WebKit::UserMediaProcessManager::willCreateMediaStream): Don't bother creating and sending sandbox extensions for
camera and microphone control for builds that cannot support them.

  • WebKit.xcodeproj/project.pbxproj:
5:02 PM Changeset in webkit [232320] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

WebContent crashes with system preview content
https://bugs.webkit.org/show_bug.cgi?id=186118

Reviewed by Myles Maxfield.

We were receiving crash reports on iOS devices when getting
platformContext() from a GraphicsContext. This usually
occurred when the page was invisible. Debugging showed that
it was trying to draw with a disabled context.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintSystemPreviewBadge): Early
return if the context has painting disabled.

4:48 PM Changeset in webkit [232319] by keith_miller@apple.com
  • 2 edits in trunk/JSTests

Unreviewed, uncomment erroneously commented test code.

  • stress/error-stack-trace-limit.js:
4:42 PM Changeset in webkit [232318] by dbates@webkit.org
  • 15 edits in trunk

Web Inspector: Annotate Same-Site cookies
https://bugs.webkit.org/show_bug.cgi?id=184897
<rdar://problem/35178209>

Reviewed by Brian Burg.

Source/JavaScriptCore:

Update protocol to include cookie Same-Site policy.

  • inspector/protocol/Page.json:

Source/WebCore:

Store and retrieve the Same-Site cookie policy from CFNetwork.

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::cookieSameSitePolicyJSON): Added.
(WebCore::buildObjectForCookie): Modified to include cookie Same-Site policy.

  • platform/Cookie.h:

(WebCore::Cookie::encode const): Encode Same-Site policy.
(WebCore::Cookie::decode): Decode Same-Site policy.

  • platform/network/cocoa/CookieCocoa.mm:

(WebCore::portStringFromVector):
(WebCore::coreSameSitePolicy):
(WebCore::nsSameSitePolicy):
(WebCore::Cookie::operator NSHTTPCookie * _Nullable const):
(WebCore::Cookie::operator NSHTTPCookie * const): Deleted.

Source/WebInspectorUI:

Add a new column for the value of the Same-Site cookie attribute to the resource cookie content
view (shown for a resource under the Network tab) and cookie storage content view (shown under
the Storage tab).

The SameSite column in the resource cookie content view reflects the parsing of the Same-Site
attribute from the HTTP response by Web Inspector. This parsing is materially consistent with
the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage
content view reflects the Same-Site cookie policy associated with the cookies provided by the
network stack, if supported. This column will be blank on systems whose network stack does not
support Same-Site cookies (e.g libsoup).

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/HARBuilder.js:

(WI.HARBuilder.cookies):

  • UserInterface/Models/Cookie.js:

(WI.Cookie):
(WI.Cookie.displayNameForSameSiteType):
(WI.Cookie.parseSameSiteAttributeValue):
(WI.Cookie.parseSetCookieResponseHeader):

  • UserInterface/Views/CookieStorageContentView.js:

(WI.CookieStorageContentView.prototype._rebuildTable):
(WI.CookieStorageContentView.prototype._sortDataGrid):

  • UserInterface/Views/ResourceCookiesContentView.js:

(WI.ResourceCookiesContentView.prototype.tablePopulateCell):
(WI.ResourceCookiesContentView.prototype._generateSortComparator):
(WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):

LayoutTests:

Update an existing test to ensure we include cookie details in the HTTP Archive (HAR) report.

  • http/tests/inspector/network/har/har-page-expected.txt:
  • http/tests/inspector/network/har/har-page.html:
4:34 PM Changeset in webkit [232317] by wilander@apple.com
  • 4 edits in trunk/LayoutTests

Add console logging to grant-storage-access-under-opener.html to assess its flakiness
https://bugs.webkit.org/show_bug.cgi?id=183714
<rdar://problem/38666060>

Unreviewed test gardening.

  • http/tests/storageAccess/grant-storage-access-under-opener-expected.txt:
  • http/tests/storageAccess/grant-storage-access-under-opener.html:

Now outputs console log entries, step by step, to see where the timeouts happen.

  • platform/ios-wk2/TestExpectations:

Switched to [ Pass ] on iOS Debug to maximize chance of seeing the flakiness.

4:30 PM Changeset in webkit [232316] by dbates@webkit.org
  • 9 edits in trunk/Source

NavigationAction does not need to hold initiating DOM Event
https://bugs.webkit.org/show_bug.cgi?id=185958
<rdar://problem/40531539>

Reviewed by Simon Fraser.

Source/WebCore:

Take a similar approach as was done in <https://bugs.webkit.org/show_bug.cgi?id=185712>
and have NavigationAction hold only as many details of the initiating DOM Event as
necessary to support WebKit functionality. Retaining a DOM Event effectively retains
the document that associated with the event. And DocumentLoader always keeps around
the NavigationAction of the last navigation for the "benefit of the various policy handlers".
Therefore, having NavigationAction hold only the relevant details of the DOM Event
instead of the DOM Event itself we avoid keeping the document we navigated from alive
longer than necessary.

  • dom/MouseRelatedEvent.h:
  • dom/UIEventWithKeyState.h:
  • loader/NavigationAction.cpp:

(WebCore::NavigationAction::UIEventWithKeyStateData::UIEventWithKeyStateData): Added.
(WebCore::NavigationAction::MouseEventData::MouseEventData): Added.
(WebCore::keyStateDataForFirstEventWithKeyState): Added.
(WebCore::mouseEventDataForFirstMouseEvent): Added.

  • loader/NavigationAction.h:

(WebCore::NavigationAction::keyStateEventData const): Added.
(WebCore::NavigationAction::mouseEventData const): Added
(WebCore::NavigationAction::event const): Deleted.

Source/WebKit:

Write in terms of NavigationAction::{keyStateEventData, mouseEventDataForFirstMouseEvent}().

  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:

(WebKit::mouseButtonForMouseEventData):
(WebKit::syntheticClickTypeForMouseEventData):
(WebKit::clickLocationInRootViewCoordinatesForMouseEventData):
(WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
(WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
(WebKit::InjectedBundleNavigationAction::syntheticClickTypeForNavigationAction):
(WebKit::InjectedBundleNavigationAction::clickLocationInRootViewCoordinatesForNavigationAction):
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
(WebKit::mouseEventForNavigationAction): Deleted.
(WebKit::mouseButtonForMouseEvent): Deleted.
(WebKit::syntheticClickTypeForMouseEvent): Deleted.
(WebKit::clickLocationInRootViewCoordinatesForMouseEvent): Deleted.

Source/WebKitLegacy/mac:

Write in terms of NavigationAction::{keyStateEventData, mouseEventDataForFirstMouseEvent}().

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::actionDictionary const):
(findMouseEvent): Deleted.

4:23 PM Changeset in webkit [232315] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Revert changes made to URLWithUserTypedString made in https://trac.webkit.org/changeset/232281
https://bugs.webkit.org/show_bug.cgi?id=186108
<rdar://problem/40663065>

Reviewed by Alex Christensen.

Covered by existing API tests.

  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::URLWithUserTypedString):
Return early if WebCore::URL is not able to create a CFURL.
Use CFURL otherwise to keep the existing behavior as much as possible.

4:19 PM Changeset in webkit [232314] by keith_miller@apple.com
  • 15 edits
    2 adds in trunk

Error instances should not strongly hold onto StackFrames
https://bugs.webkit.org/show_bug.cgi?id=185996

Reviewed by Mark Lam.

Source/JavaScriptCore:

Previously, we would hold onto all the StackFrames until the the user
looked at one of the properties on the Error object. This patch makes us
only weakly retain the StackFrames and collect all the information
if we are about to collect any frame.

This patch also adds a method to $vm that returns the heaps count
of live global objects.

  • heap/Heap.cpp:

(JSC::Heap::finalizeUnconditionalFinalizers):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::stackTraceAsString):

  • interpreter/Interpreter.h:
  • runtime/Error.cpp:

(JSC::addErrorInfo):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::finalizeUnconditionally):
(JSC::ErrorInstance::computeErrorInfo):
(JSC::ErrorInstance::materializeErrorInfoIfNeeded):
(JSC::ErrorInstance::visitChildren): Deleted.

  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::subspaceFor):

  • runtime/JSFunction.cpp:

(JSC::getCalculatedDisplayName):

  • runtime/StackFrame.h:

(JSC::StackFrame::isMarked const):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • tools/JSDollarVM.cpp:

(JSC::functionGlobalObjectCount):
(JSC::JSDollarVM::finishCreation):

LayoutTests:

  • js/error-should-not-strong-reference-global-object-expected.txt: Added.
  • js/error-should-not-strong-reference-global-object.html: Added.
4:07 PM Changeset in webkit [232313] by keith_miller@apple.com
  • 10 edits
    2 adds in trunk

LLInt get_by_id prototype caching doesn't properly handle changes
https://bugs.webkit.org/show_bug.cgi?id=186112

Reviewed by Filip Pizlo.

JSTests:

  • stress/llint-proto-get-by-id-cache-change-prototype.js: Added.

(foo):

  • stress/llint-proto-get-by-id-cache-intercept-value.js: Added.

(foo):

Source/JavaScriptCore:

The caching would sometimes fail to track that a prototype had changed
and wouldn't update its set of watchpoints.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeLLIntInlineCaches):

  • bytecode/CodeBlock.h:
  • bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h:

(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::key const):

  • bytecode/ObjectPropertyConditionSet.h:

(JSC::ObjectPropertyConditionSet::size const):

  • bytecode/Watchpoint.h:

(JSC::Watchpoint::Watchpoint): Deleted.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setupGetByIdPrototypeCache):

Source/WTF:

Mark some methods const.

  • wtf/Bag.h:

(WTF::Bag::begin const):
(WTF::Bag::end const):
(WTF::Bag::unwrappedHead const):
(WTF::Bag::end): Deleted.
(WTF::Bag::unwrappedHead): Deleted.

3:11 PM Changeset in webkit [232312] by aestes@apple.com
  • 13 edits in trunk/Source

[Cocoa] Add an SPI to suppress connection termination errors from CFNetwork when network interfaces change
https://bugs.webkit.org/show_bug.cgi?id=186107
<rdar://problem/39338957>

Reviewed by Brady Eidson.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h: Declared new SPI.

Source/WebKit:

Added an SPI which configures a process pool's networking process to set the
kCFStreamPropertyAutoErrorOnSystemChange to NO on its NSURLSessionConfigurations.
This instructs CFNetwork to not terminate active connections when the system's
network interfaces change.

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

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

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

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

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

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

2:38 PM Changeset in webkit [232311] by youenn@apple.com
  • 9 edits in trunk/Source

Rename FromOrigin runtime flag to CrossOriginResourcePolicy and enable it by default
https://bugs.webkit.org/show_bug.cgi?id=186082

Reviewed by Chris Dumez.

Source/WebCore:

No change of behavior.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setCrossOriginResourcePolicyEnabled):
(WebCore::RuntimeEnabledFeatures::crossOriginResourcePolicyEnabled const):
(WebCore::RuntimeEnabledFeatures::setFromOriginResponseHeaderEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::fromOriginResponseHeaderEnabled const): Deleted.

Source/WebKit:

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):

  • NetworkProcess/NetworkResourceLoadParameters.h:
  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCrossOriginResourcePolicyEnabled):
(WKPreferencesGetCrossOriginResourcePolicyEnabled):
(WKPreferencesSetFromOriginResponseHeaderEnabled): Deleted.
(WKPreferencesGetFromOriginResponseHeaderEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRef.h:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

2:30 PM Changeset in webkit [232310] by Chris Dumez
  • 13 edits
    9 adds in trunk

Referrer-Policy response header is ignored
https://bugs.webkit.org/show_bug.cgi?id=186037
<rdar://problem/40600335>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline existing WPT now that one more check is passing.

  • web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:

Source/WebCore:

Add support for Referrer-Policy HTTP response header:

Tests: http/tests/security/referrer-policy-header-and-meta-tag-emptyString.html

http/tests/security/referrer-policy-header-and-meta-tag.html
http/tests/security/referrer-policy-header.html

  • dom/Document.cpp:

(WebCore::Document::setReferrerPolicy):
(WebCore::Document::processReferrerPolicy):

  • dom/Document.h:

(WebCore::Document::referrerPolicy const):

  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::process):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didBeginDocument):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::updateReferrerPolicy):

  • platform/ReferrerPolicy.cpp:

(WebCore::parseReferrerPolicyToken):
(WebCore::parseReferrerPolicy):

  • platform/ReferrerPolicy.h:

LayoutTests:

Add layout test coverage.

  • http/tests/security/referrer-policy-header-and-meta-tag-emptyString-expected.txt: Added.
  • http/tests/security/referrer-policy-header-and-meta-tag-emptyString.html: Added.
  • http/tests/security/referrer-policy-header-and-meta-tag-expected.txt: Added.
  • http/tests/security/referrer-policy-header-and-meta-tag.html: Added.
  • http/tests/security/referrer-policy-header-expected.txt: Added.
  • http/tests/security/referrer-policy-header.html: Added.
  • http/tests/security/referrer-policy-invalid-expected.txt:
  • http/tests/security/referrer-policy-invalid.html:
  • http/tests/security/resources/postReferrer.php: Added.
  • http/tests/security/resources/serve-referrer-policy-and-meta-tag.php: Added.
  • http/tests/security/resources/serve-referrer-policy-and-test.php: Added.
1:44 PM Changeset in webkit [232309] by youenn@apple.com
  • 18 edits in trunk

Rename CrossOriginResourcePolicy same to same-origin
https://bugs.webkit.org/show_bug.cgi?id=186080

Reviewed by Chris Dumez.

Source/WebCore:

Covered by updated tests.

  • platform/network/HTTPParsers.cpp:

(WebCore::parseCrossOriginResourcePolicyHeader):

  • platform/network/HTTPParsers.h:

Source/WebKit:

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::shouldCrossOriginResourcePolicyPolicyCancelLoad):

Tools:

  • TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

  • http/wpt/cross-origin-resource-policy/fetch-expected.txt:
  • http/wpt/cross-origin-resource-policy/fetch-in-iframe-expected.txt:
  • http/wpt/cross-origin-resource-policy/fetch-in-iframe.html:
  • http/wpt/cross-origin-resource-policy/fetch.html:
  • http/wpt/cross-origin-resource-policy/iframe-loads-expected.txt:
  • http/wpt/cross-origin-resource-policy/iframe-loads.html:
  • http/wpt/cross-origin-resource-policy/image-loads-expected.txt:
  • http/wpt/cross-origin-resource-policy/image-loads.html:
  • http/wpt/cross-origin-resource-policy/script-loads-expected.txt:
  • http/wpt/cross-origin-resource-policy/script-loads.html:
1:41 PM Changeset in webkit [232308] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] -[WKFullScreenViewController viewWillAppear:] should call [super viewWillAppeear:]
<https://webkit.org/b/186103>
<rdar://problem/40655695>

Reviewed by Eric Carlson.

  • UIProcess/ios/fullscreen/WKFullScreenViewController.mm:

(WKFullScreenViewControllerPlaybackSessionModelClient::setInterface):
Drive-by clean up. For consistency, we always use the same
variable in the body of the if statement that was used in the
condition.
(-[WKFullScreenViewController viewWillAppear:]): Call
[super viewWillAppeear:] to fulfill API contract.

1:37 PM Changeset in webkit [232307] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
https://bugs.webkit.org/show_bug.cgi?id=186097
<rdar://problem/40651225>

Reviewed by Dan Bernstein.

Refactor fix landed in r232298 so that we rely on the existing Callback infrastructure
to take a background process assertion.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::callAfterNextPresentationUpdate):

1:35 PM Changeset in webkit [232306] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Fix the ENABLE(DATALIST_ELEMENT) build
https://bugs.webkit.org/show_bug.cgi?id=186105

Patch by Aditya Keerthi <akeerthi@apple.com> on 2018-05-30
Reviewed by Wenson Hsieh.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::suggestions const):

  • html/HTMLInputElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::ownerDataListElement const):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks):

Source/WebKit:

  • WebProcess/Automation/WebAutomationSessionProxy.cpp:
1:05 PM Changeset in webkit [232305] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 57

Added a tag for Safari Technology Preview release 57.

12:47 PM Changeset in webkit [232304] by ddkilzer@apple.com
  • 4 edits in trunk/Source/ThirdParty/ANGLE

ANGLE: Fix clang static analyzer issues in GetExecutablePath() and GetExecutableDirectory()
<https://webkit.org/b/186106>
<rdar://problem/40659179>

Reviewed by Alex Christensen.

  • src/common/system_utils_linux.cpp:

(angle::GetExecutablePath):
(angle::GetExecutableDirectory):

  • src/common/system_utils_mac.cpp:

(angle::GetExecutablePath):
(angle::GetExecutableDirectory):

  • src/common/system_utils_win.cpp:

(angle::GetExecutablePath):
(angle::GetExecutableDirectory):

12:23 PM Changeset in webkit [232303] by jiewen_tan@apple.com
  • 3 edits in trunk/Source/WebKit

Unreviewed, a quick build fix for r232276.

Enabled SecItemShim again as it turns out to be useful for CFNetwork APIs that
query Keychains underneath us.

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

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

Reduce String allocations
https://bugs.webkit.org/show_bug.cgi?id=186059

Patch by Alex Christensen <achristensen@webkit.org> on 2018-05-30
Reviewed by Darin Adler.

Source/WebCore:

Don't allocate Strings just to convert it to another form.
Based mostly on Darin's feedback on bug 185986.

No change in behavior.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::hostName):
(WebCore::WebSocketHandshake::host const):

  • css/parser/CSSSelectorParser.cpp:

(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeANPlusB):

  • loader/mac/LoaderNSURLExtras.mm:

(suggestedFilenameWithMIMEType):

  • page/SecurityOriginData.h:

(WebCore::SecurityOriginData::fromURL):

  • page/csp/ContentSecurityPolicySource.cpp:

(WebCore::wildcardMatches):
(WebCore::ContentSecurityPolicySource::hostMatches const):

  • platform/URL.cpp:

(WebCore::URL::hostAndPort const):

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::SocketStreamHandleImpl::createStreams):

Source/WTF:

  • wtf/text/StringView.cpp:

(WTF::convertASCIICase):
(WTF::StringView::convertToASCIILowercase const):
(WTF::StringView::convertToASCIIUppercase const):

  • wtf/text/StringView.h:
  • wtf/text/cf/StringViewCF.cpp:

(WTF::StringView::createCFString const):

11:00 AM Changeset in webkit [232301] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebKit

Auto-pip should use main content heuristic.
https://bugs.webkit.org/show_bug.cgi?id=186065
<rdar://problem/35862502>

Reviewed by Eric Carlson.

Make the m_pipStandbyElement clearable, which will allow the auto-pip mechanism to be torn down. Add
a WebProcess-side notification when the main content changes, to facilitate this.

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::videoControlsManagerDidChange):
(WebKit::WebFullScreenManager::setPIPStandbyElement):
(WebKit::WebFullScreenManager::didEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):

  • WebProcess/FullScreen/WebFullScreenManager.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::videoControlsManagerDidChange):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/cocoa/PlaybackSessionManager.h:
  • WebProcess/cocoa/PlaybackSessionManager.mm:

(WebKit::PlaybackSessionManager::setUpPlaybackControlsManager):
(WebKit::PlaybackSessionManager::clearPlaybackControlsManager):
(WebKit::PlaybackSessionManager::currentPlaybackControlsElement const):

11:00 AM Changeset in webkit [232300] by jer.noble@apple.com
  • 8 edits
    2 adds in trunk

Media elements outside fullscreen should not be considered main content.
https://bugs.webkit.org/show_bug.cgi?id=186063
<rdar://problem/40630437>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/video-best-element-for-playback-controls-purpose.html

Media elements outside the current fullscreen element are not visible, and thus should not be considered
main content.

Drive-by fix: set the m_hasEverNotifiedAboutPlaying before dispatching the 'playing' event, so that
tests can check bestMediaElementForShowingPlaybackControlsManager() in the 'playing' handler.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::notifyAboutPlaying):

  • html/HTMLMediaElement.h:
  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::canShowControlsManager const):

  • testing/Internals.cpp:

(WebCore::Internals::bestMediaElementForShowingPlaybackControlsManager):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • platform/mac/media/video-best-element-for-playback-controls-purpose-expected.txt: Added.
  • platform/mac/media/video-best-element-for-playback-controls-purpose.html: Added.
10:46 AM Changeset in webkit [232299] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

Fix a few issues in WKFullScreenViewController
https://bugs.webkit.org/show_bug.cgi?id=186067
<rdar://problem/40630944>

Reviewed by Darin Adler.

The check in setInterface() is checking the wrong pointer:

  • UIProcess/ios/fullscreen/WKFullScreenViewController.mm:

(WKFullScreenViewControllerPlaybackSessionModelClient::setInterface):

The check in -_effectiveFullscreenInsetTop is backwards:
(-[WKFullScreenViewController _effectiveFullscreenInsetTop]):

10:42 AM Changeset in webkit [232298] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
https://bugs.webkit.org/show_bug.cgi?id=186097
<rdar://problem/40651225>

Reviewed by Tim Horton.

Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate(). Otherwise,
apps may get stuck on _doAfterNextPresentationUpdate because the WebProcess got suspended.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::callAfterNextPresentationUpdate):

10:06 AM Changeset in webkit [232297] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, silence a -Wreturn-type warning

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::glyphOrientationToCSSPrimitiveValue):

9:46 AM Changeset in webkit [232296] by Ms2ger@igalia.com
  • 4 edits in trunk

[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=186098

Unreviewed gardening.

Tools:

  • TestWebKitAPI/glib/TestExpectations.json: update expectations.

LayoutTests:

  • platform/gtk/TestExpectations:
    • css3/blending/blend-mode-clip-accelerated-transformed-blending.html: passing since r230479, failing again since 230991.
    • fast/text/font-collection.html: fails due to a lack of font collection support
    • editing/caret/caret-in-empty-cell.html: fails since it was added
    • css3/color-filters/color-filter-color-property-list-item.html: fails since it was added
    • css3/color-filters/color-filter-opacity.html: fails since it was added
    • fast/hidpi/filters-turbulence.html: fails since it was added
9:40 AM Changeset in webkit [232295] by Caio Lima
  • 6 edits
    7 adds in trunk

[ESNext][BigInt] Implement support for "%" operation
https://bugs.webkit.org/show_bug.cgi?id=184327

Reviewed by Yusuke Suzuki.

JSTests:

  • bigIntTests.yaml:
  • stress/big-int-mod-memory-stress.js: Added.
  • stress/big-int-mod-to-primitive-precedence.js: Added.
  • stress/big-int-mod-to-primitive.js: Added.
  • stress/big-int-mod-type-error.js: Added.
  • stress/big-int-mod-wrapped-value.js: Added.
  • stress/big-int-mod.js: Added.

Source/JavaScriptCore:

We are introducing the support of BigInt into remainder (a.k.a mod)
operation.

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::remainder):
(JSC::JSBigInt::rightTrim):

  • runtime/JSBigInt.h:
9:20 AM Changeset in webkit [232294] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

AI for Atomics.load() is too conservative in always clobbering world
https://bugs.webkit.org/show_bug.cgi?id=185738
<rdar://problem/40342214>

Reviewed by Yusuke Suzuki.

It fails the assertion that Fil added for catching disagreements between
AI and clobberize. This patch fixes that. You'd run into this if you
manually enabled SAB in a build and ran any SAB tests.

  • dfg/DFGAbstractInterpreterInlines.h:

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

9:18 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
9:09 AM Changeset in webkit [232293] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r232212): Broke Win32 Builds
https://bugs.webkit.org/show_bug.cgi?id=186061

Reviewed by Yusuke Suzuki.

Changed Windows builds with the JIT disabled to generate and use LLIntAssembly.h
instead of LowLevelInterpreterWin.asm.

  • CMakeLists.txt:
8:47 AM Changeset in webkit [232292] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix attempt after https://trac.webkit.org/r232198

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection): Added some toString() calls.

8:26 AM Changeset in webkit [232291] by Alan Bujtas
  • 9 edits in trunk/Source/WebCore

[LFC] Miscellaneous fixes to get closer to geometry correctness
https://bugs.webkit.org/show_bug.cgi?id=186083

Reviewed by Antti Koivisto.

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::computedBorder):

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::initializeRoot):

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::isStretchedToViewport):
(WebCore::Layout::initialContainingBlock):
(WebCore::Layout::computedInFlowNonReplacedComputedHeight):
(WebCore::Layout::inFlowNonReplacedComputedWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeight): lambda should capture the specification part.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidth):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::marginBox const):
(WebCore::Display::Box::paddingBox const):
(WebCore::Display::Box::contentBox const):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::isDocumentBox const):
(WebCore::Layout::Box::isBodyBox const):

  • layout/layouttree/LayoutBox.h:
  • rendering/style/BorderValue.h: ignore border-width when type is hidden or none.

(WebCore::BorderValue::boxModelWidth const):

7:13 AM Changeset in webkit [232290] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[MIPS] Fix build on MIPS32r1
https://bugs.webkit.org/show_bug.cgi?id=185944

Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-30
Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

Only use instructions on MIPS32r2 or later. mthc1 and mfhc1 are not supported
on MIPS32r1.

  • offlineasm/mips.rb:

Source/WTF:

Added WTF_MIPS_ISA_REV_AT_LEAST to test for certain release or later.

  • wtf/Platform.h:
6:35 AM Changeset in webkit [232289] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

iOS: setting 'defaultValue' of input type=date from script should cause a UI update
https://bugs.webkit.org/show_bug.cgi?id=185982

Patch by Stephen McGruer <Stephen McGruer> on 2018-05-30
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/forms/date/date-appearance-defaultValue.html

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::valueAttributeChanged):

  • html/BaseChooserOnlyDateAndTimeInputType.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):

  • html/InputType.cpp:

(WebCore::InputType::valueAttributeChanged):

  • html/InputType.h:

LayoutTests:

  • fast/forms/date/date-appearance-defaultValue-expected.html: Added.
  • fast/forms/date/date-appearance-defaultValue.html: Added.
2:28 AM Changeset in webkit [232288] by fred.wang@free.fr
  • 5 edits
    22 adds in trunk/LayoutTests

Import WPT tests for CSS animations
https://bugs.webkit.org/show_bug.cgi?id=186046

Patch by Frederic Wang <fwang@igalia.com> on 2018-05-29
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-animations/OWNERS: Added.
  • web-platform-tests/css/css-animations/animation-delay-008-expected.html: Added.
  • web-platform-tests/css/css-animations/animation-delay-008.html: Added.
  • web-platform-tests/css/css-animations/animation-delay-009-expected.html: Added.
  • web-platform-tests/css/css-animations/animation-delay-009.html: Added.
  • web-platform-tests/css/css-animations/animation-delay-010-expected.html: Added.
  • web-platform-tests/css/css-animations/animation-delay-010.html: Added.
  • web-platform-tests/css/css-animations/animation-delay-011-expected.html: Added.
  • web-platform-tests/css/css-animations/animation-delay-011.html: Added.
  • web-platform-tests/css/css-animations/animation-iteration-count-calc-expected.txt: Added.
  • web-platform-tests/css/css-animations/animation-iteration-count-calc.html: Added.
  • web-platform-tests/css/css-animations/animationevent-interface-expected.txt: Added.
  • web-platform-tests/css/css-animations/animationevent-interface.html: Added.
  • web-platform-tests/css/css-animations/animationevent-interface.js: Added.

(test):

  • web-platform-tests/css/css-animations/animationevent-pseudoelement-expected.txt: Added.
  • web-platform-tests/css/css-animations/animationevent-pseudoelement.html: Added.
  • web-platform-tests/css/css-animations/animationevent-types-expected.txt: Added.
  • web-platform-tests/css/css-animations/animationevent-types.html: Added.
  • web-platform-tests/css/css-animations/pending-style-changes-001-expected.txt: Added.
  • web-platform-tests/css/css-animations/pending-style-changes-001.html: Added.
  • web-platform-tests/css/css-animations/w3c-import.log: Added.

LayoutTests:

  • TestExpectations: Mark some tests requiring support for reftest-wait as failing/flacky.
  • tests-options.json: Mark animationevent-types.html as slow.

May 29, 2018:

11:30 PM Changeset in webkit [232287] by n_wang@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, follow-up after r232285
https://bugs.webkit.org/show_bug.cgi?id=180871

Removed redundant null check.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isExpanded const):

9:36 PM Changeset in webkit [232286] by sbarati@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Add a version of JSVirtualMachine shrinkFootprint that runs when the VM goes idle
https://bugs.webkit.org/show_bug.cgi?id=186064

Reviewed by Mark Lam.

shrinkFootprint was implemented as:
`
sanitizeStackForVM(this);
deleteAllCode(DeleteAllCodeIfNotCollecting);
heap.collectNow(Synchronousness::Sync);
WTF::releaseFastMallocFreeMemory();
`

However, for correctness reasons, deleteAllCode is implemented to do
work when the VM is idle: no JS is running on the stack. This means
that if shrinkFootprint is called when JS is running on the stack, it
ends up freeing less memory than it could have if it waited to run until
the VM goes idle.

This patch makes it so we wait until idle before doing work. I'm seeing a
10% footprint progression when testing this against a client of the JSC SPI.

Because this is a semantic change in how the SPI works, this patch
adds new SPI named shrinkFootprintWhenIdle. The plan is to move
all clients of the shrinkFootprint SPI to shrinkFootprintWhenIdle.
Once that happens, we will delete shrinkFootprint. Until then,
we make shrinkFootprint do exactly what shrinkFootprintWhenIdle does.

  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine shrinkFootprint]):
(-[JSVirtualMachine shrinkFootprintWhenIdle]):

  • API/JSVirtualMachinePrivate.h:
  • runtime/VM.cpp:

(JSC::VM::shrinkFootprintWhenIdle):
(JSC::VM::shrinkFootprint): Deleted.

  • runtime/VM.h:
9:01 PM Changeset in webkit [232285] by n_wang@apple.com
  • 5 edits in trunk

AX: macOS VoiceOver doesn't announce when details element is expanded when using role group
https://bugs.webkit.org/show_bug.cgi?id=180866
<rdar://problem/36074338>

Reviewed by Chris Fleizach.

Source/WebCore:

We should use is<HTMLDetailsElement> to check for the details parent instead
of using the role.

Added test cases to the existing test.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isExpanded const):

LayoutTests:

  • accessibility/mac/details-summary-expected.txt:
  • accessibility/mac/details-summary.html:
8:36 PM Changeset in webkit [232284] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Fix the build
https://bugs.webkit.org/show_bug.cgi?id=186078

Unreviewed build fix.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _denyNextUserMediaRequest]):

Source/WTF:

  • wtf/Platform.h:
5:47 PM Changeset in webkit [232283] by aestes@apple.com
  • 6 edits
    1 move in trunk/Source/WebKit

[Wi-Fi Assertions] Track whether WiFiAssertionHolder should actually hold a Wi-Fi assertion
https://bugs.webkit.org/show_bug.cgi?id=185983
<rdar://problem/40205486>

Reviewed by Tim Horton.

  • Configurations/Network-iOS.entitlements:

Added a needed entitlement.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/WiFiAssertionHolder.h:

(WebKit::WiFiAssertionHolder::shouldHoldWiFiAssertion const):

Track whether WiFiAssertionHolder should actually hold a Wi-Fi assertion.

  • NetworkProcess/cocoa/WiFiAssertionHolder.mm: Renamed from Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.cpp.

(holdWiFiAssertion):
(releaseWiFiAssertion):
(WebKit::WiFiAssertionHolder::WiFiAssertionHolder):
(WebKit::WiFiAssertionHolder::~WiFiAssertionHolder):

Changed holdWiFiAssertion() and releaseWiFiAssertion() to take the
WiFiAssertionHolder as an argument.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Added a needed sandbox extension.

  • WebKit.xcodeproj/project.pbxproj:
5:40 PM Changeset in webkit [232282] by caitp@igalia.com
  • 2 edits in trunk/JSTests

[JSTests] update test262 expectations after r232261
https://bugs.webkit.org/show_bug.cgi?id=184267

Reviewed by Saam Barati.

  • test262/expectations.yaml:
5:18 PM Changeset in webkit [232281] by youenn@apple.com
  • 13 edits in trunk

Add a consistency check between URL and CFURL
Source/WebCore:

https://bugs.webkit.org/show_bug.cgi?id=186057
<rdar://problem/40258457>

Reviewed by Geoff Garen.

It is important that WebCore::URL used in WebCore and CFURL that gets serialized in the network pipe remain consistent.
Otherwise, we will end-up with odd bugs.

We add such a check when creating a CFURL from an URL.
To make things more consistent, we also rely now more on WebCore::URL instead of directly creating a CFURL.

  • platform/URL.h:
  • platform/cf/CFURLExtras.cpp:

(WebCore::isCFURLSameOrigin):

  • platform/cf/CFURLExtras.h:
  • platform/cf/URLCF.cpp:

(WebCore::URL::createCFURL const):

  • platform/mac/URLMac.mm:

(WebCore::URL::createCFURL const):

  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::URLWithUserTypedString):

Source/WebKit:

https://bugs.webkit.org/show_bug.cgi?id=186057
<rdar://problem/40258457>

Reviewed by Geoff Garen.

  • Shared/Cocoa/WKNSURLExtras.mm:

(+[NSURL _web_URLWithWTFString:relativeToURL:]):
(urlWithWTFString): Deleted.
(+[NSURL _web_URLWithWTFString:]): Deleted.

Tools:

https://bugs.webkit.org/show_bug.cgi?id=182444
<rdar://problem/37164835>

Reviewed by Geoff Garen.

DRT code expected a non null URL which is no longer the case now.
Updated DRT to remove that assumption.

  • DumpRenderTree/TestRunner.cpp:

(TestRunner::redirectionDestinationForURL):

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/ResourceLoadDelegate.mm:

(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):

5:03 PM Changeset in webkit [232280] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

Remove unused WebPage::dummy
https://bugs.webkit.org/show_bug.cgi?id=186068

Patch by Alex Christensen <achristensen@webkit.org> on 2018-05-29
Reviewed by Sam Weinig.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::dummy): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
4:48 PM Changeset in webkit [232279] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

shrinkFootprint needs to request a full collection
https://bugs.webkit.org/show_bug.cgi?id=186069

Reviewed by Mark Lam.

  • runtime/VM.cpp:

(JSC::VM::shrinkFootprint):

4:41 PM Changeset in webkit [232278] by timothy@apple.com
  • 5 edits in trunk/Source/WebCore

Printing does not apply the right colors in all cases.

https://bugs.webkit.org/show_bug.cgi?id=186066
rdar://problem/40274975

Reviewed by Tim Horton.

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setEmulatedMedia): Call RenderTheme::platformColorsDidChange
to invalidate the color cache.

  • page/FrameView.cpp:

(WebCore::FrameView::adjustMediaTypeForPrinting): Ditto.

  • page/Page.cpp:

(WebCore::Page::defaultAppearance const): Added. Use default when not screen.

  • page/Page.h:

(WebCore::Page::defaultAppearance const): Deleted.

4:28 PM Changeset in webkit [232277] by pvollan@apple.com
  • 6 edits in trunk/Source

Create typedef for HashMap<PlatformDisplayID, ScreenProperties>
https://bugs.webkit.org/show_bug.cgi?id=186056

Reviewed by Brent Fulgham.

Source/WebCore:

No new tests, no change in behavior.

  • platform/PlatformScreen.h:
  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenProperties):
(WebCore::getScreenProperties):
(WebCore::setScreenProperties):

Source/WebKit:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
3:59 PM Changeset in webkit [232276] by jiewen_tan@apple.com
  • 8 edits in trunk/Source/WebKit

Tighten sandbox profiles for Networking Processes to restrict accesses to macOS/iOS Keychains
https://bugs.webkit.org/show_bug.cgi?id=162948
<rdar://problem/40558894>

Reviewed by Brent Fulgham.

The patch conditionally tighten sandbox profiles for Networking Processes to remove Keychain related
permissions and some security permisssions that are not needed. Also it conditionally remove the
Process Privilege for Networking Processes to access Credentials.

In addition, it remove process privilege assertions for SecItemShim as it is supposed to work in processes
that don't have privileges to access Keychains and delegate all operations to UI Process via IPC. Also,
the patch disables SecItemShim for Networking Process conditionally.

  • Configurations/Network-iOS.entitlements:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Shared/mac/SecItemShim.cpp:

(WebKit::sendSecItemRequest):
(WebKit::webSecItemCopyMatching):
(WebKit::webSecItemAdd):
(WebKit::webSecItemUpdate):
(WebKit::webSecItemDelete):
(WebKit::initializeSecItemShim):

3:14 PM Changeset in webkit [232275] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Store 0-lifetime stylesheets / scripts into the disk cache for faster history navigations
https://bugs.webkit.org/show_bug.cgi?id=186060
<rdar://problem/40627270>

Reviewed by Geoffrey Garen.

Tweak our storeUnconditionallyForHistoryNavigation logic to match resources whose priority
is High, not just VeryHigh. Per logic in CachedResource::defaultPriorityForResourceType(Type),
This now matches stylesheets and scripts in addition to main resources.

I found that in case of a history navigation to apple.com, a significant number of scripts
and stylesheets had to be loaded from the network because our previous heuristic decided
not to store them (because their priority was not VeryHigh and because their max-age was
0).

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::makeStoreDecision):

2:29 PM Changeset in webkit [232274] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk/Tools

Export changes to web-platform-test as part of the webkit-patch upload workflow
https://bugs.webkit.org/show_bug.cgi?id=184914

Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-05-29
Reviewed by Youenn Fablet.

  • Scripts/webkitpy/tool/commands/upload.py:

(Upload):
(CreateBug.execute):
(WPTChangeExport):

  • Scripts/webkitpy/tool/steps/init.py:
  • Scripts/webkitpy/tool/steps/wptchangeexport.py: Added.

(WPTChangeExport):
(WPTChangeExport.options):
(WPTChangeExport.run):

  • Scripts/webkitpy/w3c/common.py:
  • Scripts/webkitpy/w3c/test_exporter.py:

(WebPlatformTestExporter):
(WebPlatformTestExporter.init):
(WebPlatformTestExporter.username):
(WebPlatformTestExporter.token):
(WebPlatformTestExporter._github):
(WebPlatformTestExporter._wpt_fork_branch_github_url):
(WebPlatformTestExporter._wpt_fork_remote):
(WebPlatformTestExporter._wpt_fork_push_url):
(WebPlatformTestExporter._git):
(WebPlatformTestExporter._branch_name):
(WebPlatformTestExporter._public_branch_name):
(WebPlatformTestExporter._wpt_patch):
(WebPlatformTestExporter.has_wpt_changes):
(WebPlatformTestExporter._find_filename):
(WebPlatformTestExporter._is_ignored_file):
(WebPlatformTestExporter._strip_ignored_files_from_diff):
(WebPlatformTestExporter.write_git_patch_file):
(WebPlatformTestExporter._prompt_for_token):
(WebPlatformTestExporter._prompt_for_username):
(WebPlatformTestExporter._ensure_username_and_token):
(WebPlatformTestExporter._validate_and_save_token):
(WebPlatformTestExporter.create_branch_with_patch):
(WebPlatformTestExporter.push_to_wpt_fork):
(WebPlatformTestExporter.make_pull_request):
(WebPlatformTestExporter.delete_local_branch):
(WebPlatformTestExporter.create_upload_remote_if_needed):
(WebPlatformTestExporter.do_export):
(parse_args):
(TestExporter): Deleted.
(TestExporter.init): Deleted.
(TestExporter._ensure_wpt_repository): Deleted.
(TestExporter._fetch_wpt_repository): Deleted.
(TestExporter._ensure_new_branch_name): Deleted.
(TestExporter.download_and_commit_patch): Deleted.
(TestExporter.clean): Deleted.
(TestExporter.create_branch_with_patch): Deleted.
(TestExporter.push_to_wpt_fork): Deleted.
(TestExporter.make_pull_request): Deleted.
(TestExporter.create_wpt_pull_request): Deleted.
(TestExporter.delete_local_branch): Deleted.
(TestExporter.create_git_patch): Deleted.
(TestExporter.create_upload_remote): Deleted.
(TestExporter.do_export): Deleted.

  • Scripts/webkitpy/w3c/test_exporter_unittest.py:

(TestExporterTest.MockGit):
(TestExporterTest.MockGit.create_patch):
(TestExporterTest.test_export):
(TestExporterTest.test_export_with_specific_branch):
(TestExporterTest):
(TestExporterTest.test_export_interactive_mode):
(TestExporterTest.test_export_invalid_token):
(TestExporterTest.test_export_wrong_token):
(TestExporterTest.test_has_wpt_changes):
(TestExporterTest.test_has_no_wpt_changes_for_no_diff):
(TestExporterTest.test_ignore_changes_to_expected_file):

2:15 PM Changeset in webkit [232273] by Caio Lima
  • 6 edits
    8 adds in trunk

[ESNext][BigInt] Implement support for "<" and ">" relational operation
https://bugs.webkit.org/show_bug.cgi?id=185379

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/big-int-greater-than-general.js: Added.
  • stress/big-int-greater-than-jit.js: Added.
  • stress/big-int-greater-than-order-of-evaluation.js: Added.
  • stress/big-int-greater-than-wrapped-values.js: Added.
  • stress/big-int-less-than-general.js: Added.
  • stress/big-int-less-than-jit.js: Added.
  • stress/big-int-less-than-order-of-evaluation.js: Added.
  • stress/big-int-less-than-wrapped-values.js: Added.

Source/JavaScriptCore:

This patch is changing the jsLess` operation to follow the
semantics of Abstract Relational Comparison[1] that supports BigInt.
For that, we create 2 new helper functions bigIntCompareLess and
toPrimitiveNumeric that considers BigInt as a valid type to be
compared.

[1] - https://tc39.github.io/proposal-bigint/#sec-abstract-relational-comparison

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::unequalSign):
(JSC::JSBigInt::absoluteGreater):
(JSC::JSBigInt::absoluteLess):
(JSC::JSBigInt::compare):
(JSC::JSBigInt::absoluteCompare):

  • runtime/JSBigInt.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isPrimitive const):

  • runtime/Operations.h:

(JSC::bigIntCompareLess):
(JSC::toPrimitiveNumeric):
(JSC::jsLess):

1:30 PM Changeset in webkit [232272] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

iOS WK1: Occasional crash in sanitizedMarkupForFragmentInDocument
https://bugs.webkit.org/show_bug.cgi?id=186011

Reviewed by David Kilzer.

The crash was caused by the HTML parser in sanitizedMarkupForFragmentInDocument yielding in the web thread
when _WebThreadLock() sets webThreadShouldYield to true in the main thread.

No new tests. This is occasionally caught by existing tests.

  • editing/markup.cpp:

(WebCore::createPageForSanitizingWebContent): Fixed the bug by making the HTML parser never yield.
Also release-assert that the body is never null here.
(WebCore::sanitizedMarkupForFragmentInDocument): Removed superflous call to WTFMove since appendChild
takes a reference, not a Ref.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::overlayPage): Deployed the same fix.

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::insertDataSynchronously): Added.

  • loader/DocumentWriter.h:
1:04 PM Changeset in webkit [232271] by Yusuke Suzuki
  • 4 edits in trunk/Source/JavaScriptCore

[Baseline] Merge loading functionalities
https://bugs.webkit.org/show_bug.cgi?id=185907

Reviewed by Saam Barati.

This patch unifies emitXXXLoad functions in 32bit and 64bit.

  • jit/JITInlines.h:

(JSC::JIT::emitDoubleGetByVal):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitDoubleLoad):
(JSC::JIT::emitContiguousLoad):
(JSC::JIT::emitArrayStorageLoad):
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
Define register usage first, and share the same code in 32bit and 64bit.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitSlow_op_put_by_val):
Now C-stack is always enabled in JIT platform and temporary registers increases from 5 to 6 in x86.
We can remove this special handling.

(JSC::JIT::emitContiguousLoad): Deleted.
(JSC::JIT::emitDoubleLoad): Deleted.
(JSC::JIT::emitArrayStorageLoad): Deleted.

12:27 PM Changeset in webkit [232270] by Fujii Hironori
  • 6 edits in trunk/Tools

[Win][MiniBrowser] Move WK1 specific code from Common.cpp to MiniBrowser.cpp
https://bugs.webkit.org/show_bug.cgi?id=186029

Reviewed by Alex Christensen.

This is a sub task of Bug 184770.

  • MiniBrowser/win/Common.cpp:

(ToggleMenuItem): Extracted WK1 specific code to MiniBrowser::setPreference.
(Caches): Call MiniBrowser::updateStatistics instead of updateStatistics.
(AbortProc): Moved to MiniBrowser.cpp.
(getPrinterDC): Ditto.
(initDocStruct): Ditto.
(PrintView): Ditto.
(ToggleMenuFlag): Ditto.
(setWindowText): Ditto.
(updateStatistics): Ditto.

  • MiniBrowser/win/MainWindow.cpp:

(MainWindow::WndProc): Call MiniBrowser::print instead of PrintView.

  • MiniBrowser/win/MiniBrowser.cpp:

(AbortProc): Moved from Common.cpp.
(getPrinterDC): Moved from Common.cpp.
(initDocStruct): Moved from Common.cpp.
(setWindowText): Moved from Common.cpp.
(MiniBrowser::print): Renamed from PrintView of Common.cpp.
(MiniBrowser::updateStatistics): Renamed from updateStatistics of Common.cpp.
(MiniBrowser::setPreference): Extracted from ToggleMenuItem of Common.cpp.

  • MiniBrowser/win/MiniBrowser.h: Add method declarations.
  • MiniBrowser/win/MiniBrowserWebHost.cpp: Removed duplicated IWebFramePtr typedef.
11:56 AM Changeset in webkit [232269] by sbarati@apple.com
  • 13 edits in trunk

JSC should put bmalloc's scavenger into mini mode
https://bugs.webkit.org/show_bug.cgi?id=185988

Reviewed by Michael Saboff.

Source/bmalloc:

We expose an API for putting bmalloc into mini mode. All that means now
is that we'll run the scavenger more aggressively.

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::enableMiniMode):
(bmalloc::Scavenger::threadRunLoop):

  • bmalloc/Scavenger.h:
  • bmalloc/Sizes.h:
  • bmalloc/bmalloc.cpp:

(bmalloc::api::enableMiniMode):

  • bmalloc/bmalloc.h:

Source/JavaScriptCore:

When we InitializeThreading, we'll now enable bmalloc's mini mode
if the VM is in mini mode. This is an 8-10% progression on the footprint
at end score in run-testmem, making it a 4-5% memory score progression.
It's between a 0-1% regression in its time score.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastEnableMiniMode):

  • wtf/FastMalloc.h:

Tools:

This patch makes it so that we turn off the JIT when running run-testmem
that way we make JSC use its mini mode.

  • Scripts/run-testmem:
11:32 AM Changeset in webkit [232268] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Avoid unnecessary String allocation in isPublicSuffix(const String&)
https://bugs.webkit.org/show_bug.cgi?id=186054

Reviewed by Sam Weinig.

Avoid unnecessary String allocation in isPublicSuffix(const String&) by calling directly
the decodeHostName() overload taking in a NSString*. This overload returns a NSString*,
which is what we need. We would previously call the overloading taking in a String, which
would return a String, which we would have to convert back to a NSString*.

  • platform/mac/PublicSuffixMac.mm:

(WebCore::isPublicSuffix):

11:24 AM Changeset in webkit [232267] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Do even fewer allocations in URL host operations
https://bugs.webkit.org/show_bug.cgi?id=186003

Patch by Alex Christensen <achristensen@webkit.org> on 2018-05-29
Reviewed by Geoffrey Garen.

  • loader/ResourceLoadStatistics.cpp:

(WebCore::ResourceLoadStatistics::primaryDomain):

  • loader/ResourceLoadStatistics.h:
  • platform/URL.cpp:

(WebCore::URL::hostIsIPAddress):

  • platform/URL.h:
  • platform/mac/URLMac.mm:

(WebCore::URL::hostIsIPAddress):

  • platform/soup/URLSoup.cpp:

(WebCore::URL::hostIsIPAddress):

11:10 AM Changeset in webkit [232266] by jeffm@apple.com
  • 4 edits in trunk/Source/WebKit

Expose additional WKMenuItemIdentifier strings
https://bugs.webkit.org/show_bug.cgi?id=186041

Reviewed by Dan Bernstein.

Expose identifiers for media-related menu items.

  • UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:

Define new identifiers.

  • UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:

Declare new identifiers.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::menuItemIdentifier):
Map to new identifiers.

11:10 AM Changeset in webkit [232265] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Don't assert on m_actionsStart when setting actions on DFA nodes
https://bugs.webkit.org/show_bug.cgi?id=185979
<rdar://problem/39669458>

Patch by Tadeu Zagallo <Tadeu Zagallo> on 2018-05-29
Reviewed by Geoffrey Garen.

DFANode::setActions is called immediately after the node is created, and once again to set
the actions of catch-all regular expressions (.*) on the root node. That works because
m_actionsStart is initially 0, since the root was the first node to be created, but may fail
after minimizing the DFA, when the root may no longer be the first node, and therefore
m_actionsStart would not be 0, even if there are no actions attached to that node.

Source/WebCore:

Test: http/tests/contentextensions/root-actions.html

  • contentextensions/DFANode.h:

LayoutTests:

  • http/tests/contentextensions/root-actions-expected.txt: Added.
  • http/tests/contentextensions/root-actions.html: Added.
  • http/tests/contentextensions/root-actions.html.json: Added.
10:56 AM Changeset in webkit [232264] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

Unreviewed, follow-up after r232244
https://bugs.webkit.org/show_bug.cgi?id=186023

_BitScanReverse64 is available only in X86_64 and ARM.

  • wtf/MathExtras.h:

(WTF::clz64):

10:31 AM Changeset in webkit [232263] by ggaren@apple.com
  • 5 edits in trunk/Source/WebKit

Removed some unused WebSQL trackers
https://bugs.webkit.org/show_bug.cgi?id=186026

Reviewed by Dan Bernstein.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::NetworkProcess):

  • NetworkProcess/NetworkProcess.h:
  • WebProcess/WebProcess.cpp:

(WebKit::m_nonVisibleProcessCleanupTimer):
(WebKit::m_webSQLiteDatabaseTracker): Deleted.

  • WebProcess/WebProcess.h:
10:28 AM Changeset in webkit [232262] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

Fixed the bmalloc build
https://bugs.webkit.org/show_bug.cgi?id=186025

Reviewed by Sam Weinig.

  • bmalloc.xcodeproj/project.pbxproj: Link Foundation because the

gigacage check needs it.

9:56 AM Changeset in webkit [232261] by caitp@igalia.com
  • 4 edits
    1 copy in trunk

[JSC] Fix Array.prototype.concat fast case when single argument is Proxy
https://bugs.webkit.org/show_bug.cgi?id=184267

Reviewed by Saam Barati.

JSTests:

  • stress/array-concat-fast-spread-proxy.js: Copied from JSTests/stress/array-concat-spread-proxy.js.

(arrayEq):
(catch):

  • stress/array-concat-spread-proxy.js:

Source/JavaScriptCore:

Before this patch, the fast case for Array.prototype.concat was taken if
there was a single argument passed to the function, which is either a
non-JSCell, or an ObjectType JSCell not marked as concat-spreadable.
This incorrectly prevented Proxy objects from being spread when
they were the only argument passed to A.prototype.concat(), violating ECMA-262.

  • builtins/ArrayPrototype.js:

(concat):

9:50 AM Changeset in webkit [232260] by pvollan@apple.com
  • 6 edits in trunk/Source/WebKit

Follow-up fixes after r228907.
https://bugs.webkit.org/show_bug.cgi?id=183338

Reviewed by Brent Fulgham.

Add screen properties to the WebProcess creation parameters, instead of sending
them in a message to the WebProcess just after starting it up.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

9:19 AM Changeset in webkit [232259] by n_wang@apple.com
  • 8 edits in trunk

AX: setValue on contenteditable should preserve whitespace
https://bugs.webkit.org/show_bug.cgi?id=185897

Reviewed by Ryosuke Niwa.

Source/WebCore:

We should mimic typing when setting value to a contenteditable from accessibility
instead of mutating the DOM by using setInnerText.

Updated tests to cover this change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setValue):

LayoutTests:

  • accessibility/mac/AOM-event-accessiblesetvalue-expected.txt:
  • accessibility/mac/AOM-event-accessiblesetvalue.html:
  • accessibility/mac/set-value-editable-types-expected.txt:
  • accessibility/mac/set-value-editable-types.html:
9:12 AM Changeset in webkit [232258] by sihui_liu@apple.com
  • 4 edits in trunk

Unable to remove IndexedDB Databases with Cocoa API removeDataOfTypes
https://bugs.webkit.org/show_bug.cgi?id=185835
<rdar://problem/39142257>

Reviewed by Chris Dumez.

Source/WebKit:

Fix a wrong if condition: databases should be closed and deleted if websiteDataTypes contains
WebsiteDataType::IndexedDBDatabases.

  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::deleteWebsiteDataForOrigins):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:

(TEST):

8:19 AM Changeset in webkit [232257] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC] Miscellaneous fixes to ensure no assertion in LayoutContext::layout
https://bugs.webkit.org/show_bug.cgi?id=186052

Reviewed by Antti Koivisto.

With this patch, LayoutContext::layout() does not assert on <html><body><div></div></body></html> anymore.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::initializeRoot): New context root is always a layout root.

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

(WebCore::Layout::outputMismatchingBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layout const): we need computed margin/border/padding for width computation

  • layout/displaytree/DisplayBox.cpp: Add clone() method to be able to carry over the 'hasValid*' bits.

(WebCore::Display::Box::Style::Style):
(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::contentBox const):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::Rect::operator LayoutRect const):
(WebCore::Display::Box::setSize):
(WebCore::Display::Box::setHasValidMargin):
(WebCore::Display::Box::setHasValidBorder):
(WebCore::Display::Box::setHasValidPadding):
(WebCore::Display::Box::Rect::setHasValidPosition):
(WebCore::Display::Box::Rect::setHasValidSize):
(WebCore::Display::Box::Rect::setSize):
(WebCore::Display::Box::Rect::clone const):
(WebCore::Display::Box::setMargin):
(WebCore::Display::Box::setBorder):
(WebCore::Display::Box::setPadding):
(WebCore::Display::Box::Rect::Rect): Deleted.

8:00 AM Changeset in webkit [232256] by wenson_hsieh@apple.com
  • 4 edits
    2 adds in trunk

[Extra zoom mode] "Significant area painted" rendering progress event is rarely fired
https://bugs.webkit.org/show_bug.cgi?id=186042
<rdar://problem/40604182>

Reviewed by Tim Horton.

Source/WebCore:

Makes a minor tweak to the size of the relevant view rect in extra zoom mode, such that it's no wider than the
visible content rect. Previously, the width of this rect has hard-coded to a value optimized for macOS (980),
which makes it difficult for content laid out at device width in extra zoom mode to cover a significant portion
of the relevant view rect.

Test: RenderingProgressTests.FirstPaintWithSignificantArea

  • page/Page.cpp:

(WebCore::relevantViewRect):

Tools:

Adds a new API test to check that the "significant area painting" rendering milestone is dispatched when a
significant portion of the page has been painted before document load is finished.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/paint-significant-area-milestone.html: Added.
  • TestWebKitAPI/Tests/ios/RenderingProgressTests.mm: Added.

(-[MissingResourceSchemeHandler webView:stopURLSchemeTask:]):
(-[MissingResourceSchemeHandler webView:startURLSchemeTask:]):
(-[RenderingProgressHandler initWithHandler:]):
(-[RenderingProgressHandler _webView:renderingProgressDidChange:]):
(TEST):

4:59 AM Changeset in webkit [232255] by graouts@webkit.org
  • 19 edits in trunk

[Web Animations] Handle relative length units
https://bugs.webkit.org/show_bug.cgi?id=186047

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Record WPT test progressions.

  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt:

Source/WebCore:

In order to correctly handle relative units, such as "em", "vw" and "vh", we need to do two things.

First, because we need to apply the cascade to correctly compute relative lengths, we need to delay the computation of
"blending keyframes" to when we have both keyframes data and a valid target. This also means that we need to reset blending
keyframes when the target changes. As a result, old call sites of updateBlendingKeyframes() have been replaced by a call to
m_blendingKeyframes.clear() and the method now gets called as part of apply() with the RenderStyle of the targeted element
as a parameter.

Second, and as a result of the first change, we need to update the accelerated animation state based on animation
progress rather than when calling specific methods, such as Animation.play() and Animation.pause(), since blending
keyframes may not be available at those more specific call sites. We now have a new updateAcceleratedAnimationState()
method that gets called as part of apply(). We also rename animationPlayStateDidChange() to animationSuspensionStateDidChange()
since this method was specific to suspension and had a confusing name.

  • animation/AnimationEffectReadOnly.h: Rename animationPlayStateDidChange() to animationSuspensionStateDidChange().
  • animation/KeyframeEffectReadOnly.cpp:

(WebCore::KeyframeEffectReadOnly::getKeyframes): Fix a crash that revealed itself after other changes in this patch. We would later
call into ComputedStyleExtractor::animationSuspensionStateDidChange() and this would yield an assertion because we'd call potentially
call it with a custom CSS property.
(WebCore::KeyframeEffectReadOnly::processKeyframes): Reset blending keyframes instead of calling updateBlendingKeyframes() since
blending keyframes is now performed asynchronously upon style resolution.
(WebCore::KeyframeEffectReadOnly::updateBlendingKeyframes): Take the target's RenderStyle as a parameter and use it to reset the
associated StyleResolver's state, just like we do in StyleResolver::keyframeStylesForAnimation(), so that the CSS cascade is correctly
accounted for when computing values using relative length units. Since blending keyframes can now be computed several times for a
given set of keyframes, since the effect's target may change, we also need to create a copy of the MutableStyleProperties to pass
to StyleRuleKeyframe::create().
(WebCore::KeyframeEffectReadOnly::setTarget): Reset blending keyframes instead of calling updateBlendingKeyframes() since
blending keyframes is now performed asynchronously upon style resolution.
(WebCore::KeyframeEffectReadOnly::apply): Update blending keyframes and the accelerated animation state.
(WebCore::KeyframeEffectReadOnly::getAnimatedStyle): Make sure we have blending keyframes with a call to updateBlendingKeyframes()
in case the animation hasn't naturally progressed when this method is called.
(WebCore::KeyframeEffectReadOnly::setAnimatedPropertiesInStyle): Make sure we have blending keyframes with a call to
updateBlendingKeyframes() in case the animation hasn't naturally progressed when this method is called.
(WebCore::KeyframeEffectReadOnly::updateAcceleratedAnimationState): Account for the animation's local time and play state to update
the accelerated animation state.
(WebCore::KeyframeEffectReadOnly::addPendingAcceleratedAction): Record the last accelerated action in a member variable which we can
use to determine if we're running accelerated accounting for uncommited changes.
(WebCore::KeyframeEffectReadOnly::animationDidSeek): Only record an AcceleratedAction::Seek action if we're already running accelerated.
(WebCore::KeyframeEffectReadOnly::animationSuspensionStateDidChange): Only record an AcceleratedAction::Pause or AcceleratedAction::Play
action if we're already running accelerated.
(WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions): Ensure we clone and clear the list of accelerated actions and check that
we have any cloned actions before proceeding any further. Then we can stop accounting for m_startedAccelerated since the list of accelerated
actions already account for animation state changes.
(WebCore::KeyframeEffectReadOnly::animationPlayStateDidChange): Deleted.

  • animation/KeyframeEffectReadOnly.h:

(WebCore::KeyframeEffectReadOnly::isRunningAccelerated const): Account for the m_lastRecordedAcceleratedAction to identify whether we're running.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::play): Stop calling animationPlayStateDidChange() directly since the accelerated animation state is now updated when
the animation's effect is applied.
(WebCore::WebAnimation::pause): Stop calling animationPlayStateDidChange() directly since the accelerated animation state is now updated when
the animation's effect is applied.
(WebCore::WebAnimation::resolve): Make sure we update the finished state prior to applying the animation's effect since the play state can
change when updating the finished state and KeyframeEffectReadOnly::updateAcceleratedAnimationState(), which is called when calling into
KeyframeEffectReadOnly::apply(), relies on it to correctly update the accelerated animation state.
(WebCore::WebAnimation::setSuspended): Rename animationPlayStateDidChange() to animationSuspensionStateDidChange().

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::setNewStateWithElement): Add a new public method to reset a StyleResolver's state such that we can call it when creating
blending keyframes for JS-originated animations just like we do when creating blending keyframes for CSS Animations in keyframeStylesForAnimation().
(WebCore::StyleResolver::keyframeStylesForAnimation): Use the new setNewStateWithElement() method.

  • css/StyleResolver.h:

LayoutTests:

Record WPT test progressions and updated failures.

  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
  • platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
  • platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
  • platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
1:45 AM Changeset in webkit [232254] by commit-queue@webkit.org
  • 5 edits in trunk

[GStreamer] Update "qtdemux: Clarify field name about stream-encryption-system" patch
https://bugs.webkit.org/show_bug.cgi?id=186040

Source/WebCore:

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-05-29
Reviewed by Xabier Rodriguez-Calvar.

s/avalaible-stream-encryption-systems/available-stream-encryption-systems/g

Tests: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-*

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::extractEventsAndSystemsFromMessage):

Tools:

The patch we merge contained a type and was merged in upstream GStreamer fixing that
(s/avalaible/available/).

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-05-29
Reviewed by Xabier Rodriguez-Calvar.

  • gstreamer/patches/gst-plugins-good-0003-qtdemux-Clarify-field-name-about-stream-encryption-s.patch:

May 28, 2018:

11:43 PM Changeset in webkit [232253] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] JSBigInt::digitDiv has undefined behavior which causes test failures
https://bugs.webkit.org/show_bug.cgi?id=186022

Reviewed by Darin Adler.

digitDiv performs Value64Bit >> 64 / Value32Bit >> 32, which is undefined behavior. And zero mask
creation has an issue (s should be casted to signed one before negating). They cause test failures
in non x86 / x86_64 environments. x86 and x86_64 work well since they have a fast path written
in asm.

This patch fixes digitDiv by carefully avoiding undefined behaviors. We mask the left value of the
rshift with digitBits - 1, which makes digitBits 0 while it keeps 0 <= n < digitBits values.
This makes the target rshift well-defined in C++. While produced value by the rshift covers 0 <= s < 64 (32
in 32bit envirnoment) cases, this rshift does not shift if s is 0. sZeroMask clears the value
if s is 0, so that s == 0 case is also covered. Note that s == 64 never happens since divisor
is never 0 here. We add assertion for that. We also fixes sZeroMask calculation.

This patch also fixes naming convention for constant values.

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::digitMul):
(JSC::JSBigInt::digitDiv):

  • runtime/JSBigInt.h:
8:46 PM Changeset in webkit [232252] by sihui_liu@apple.com
  • 2 edits in trunk/Tools

Add an API test to check process privilege when using Cookie API
https://bugs.webkit.org/show_bug.cgi?id=185406

Reviewed by Geoffrey Garen.

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:

(TEST):

7:40 PM Changeset in webkit [232251] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::Rect::operator LayoutRect const):

1:39 PM Changeset in webkit [232250] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC] Add Rect interface to Display::Box
https://bugs.webkit.org/show_bug.cgi?id=186019

Reviewed by Antti Koivisto.

Having a dedicated Rect class and moving the geometry invalidation to it enables us to call
displayBox.contentBox().left() even when the widht/height are not computed yet.
Also having Rect with top/left/bottom/right interface is more aligned with the rest of the layout code than x/y/maxX/maxY.

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::contentHeightForFormattingContextRoot):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::marginBox const):
(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::paddingBox const):
(WebCore::Display::Box::contentBox const):

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::Rect::invalidateTop):
(WebCore::Display::Box::Rect::invalidateLeft):
(WebCore::Display::Box::Rect::invalidateWidth):
(WebCore::Display::Box::Rect::invalidateHeight):
(WebCore::Display::Box::Rect::hasValidPosition const):
(WebCore::Display::Box::Rect::hasValidSize const):
(WebCore::Display::Box::Rect::hasValidGeometry const):
(WebCore::Display::Box::rect const):
(WebCore::Display::Box::top const):
(WebCore::Display::Box::left const):
(WebCore::Display::Box::bottom const):
(WebCore::Display::Box::right const):
(WebCore::Display::Box::topLeft const):
(WebCore::Display::Box::bottomRight const):
(WebCore::Display::Box::size const):
(WebCore::Display::Box::width const):
(WebCore::Display::Box::height const):
(WebCore::Display::Box::setTopLeft):
(WebCore::Display::Box::setTop):
(WebCore::Display::Box::setLeft):
(WebCore::Display::Box::setWidth):
(WebCore::Display::Box::setHeight):
(WebCore::Display::Box::Rect::invalidatePosition):
(WebCore::Display::Box::Rect::setHasValidPosition):
(WebCore::Display::Box::Rect::Rect):
(WebCore::Display::Box::Rect::top const):
(WebCore::Display::Box::Rect::left const):
(WebCore::Display::Box::Rect::bottom const):
(WebCore::Display::Box::Rect::right const):
(WebCore::Display::Box::Rect::topLeft const):
(WebCore::Display::Box::Rect::bottomRight const):
(WebCore::Display::Box::Rect::size const):
(WebCore::Display::Box::Rect::width const):
(WebCore::Display::Box::Rect::height const):
(WebCore::Display::Box::Rect::setTopLeft):
(WebCore::Display::Box::Rect::setTop):
(WebCore::Display::Box::Rect::setLeft):
(WebCore::Display::Box::Rect::setWidth):
(WebCore::Display::Box::Rect::setHeight):
(WebCore::Display::Box::Rect::shiftLeftTo):
(WebCore::Display::Box::Rect::shiftRightTo):
(WebCore::Display::Box::Rect::shiftTopTo):
(WebCore::Display::Box::Rect::shiftBottomTo):
(WebCore::Display::Box::Rect::expand):
(WebCore::Display::Box::invalidateTop): Deleted.
(WebCore::Display::Box::invalidateLeft): Deleted.
(WebCore::Display::Box::invalidateWidth): Deleted.
(WebCore::Display::Box::invalidateHeight): Deleted.
(WebCore::Display::Box::hasValidPosition const): Deleted.
(WebCore::Display::Box::hasValidSize const): Deleted.
(WebCore::Display::Box::hasValidGeometry const): Deleted.
(WebCore::Display::Box::invalidatePosition): Deleted.
(WebCore::Display::Box::setHasValidPosition): Deleted.

11:56 AM Changeset in webkit [232249] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC] Add formatting context testing codepath in FrameViewLayoutContext
https://bugs.webkit.org/show_bug.cgi?id=186036

Reviewed by Antti Koivisto.

This is to verify the formatting context layout correctness.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::LayoutContext):
(WebCore::Layout::LayoutContext::initializeRoot):

  • layout/LayoutContext.h:

(WebCore::Layout::LayoutContext::displayBoxForLayoutBox const):

  • page/FrameViewLayoutContext.cpp:

(WebCore::layoutUsingFormattingContext):
(WebCore::FrameViewLayoutContext::layout):

10:55 AM Changeset in webkit [232248] by Alan Bujtas
  • 4 edits
    1 add in trunk/Source/WebCore

[LFC] Add layout tree verification.
https://bugs.webkit.org/show_bug.cgi?id=186018

Reviewed by Antti Koivisto.

Compare layout and render tree geometry and output the mismtaching rectangles.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj: Add missing headers and make then private.
  • layout/LayoutContext.h:
  • layout/Verification.cpp: Added.

(WebCore::Layout::outputMismatchedBoxInformationIfNeeded):
(WebCore::Layout::verifySubtree):
(WebCore::Layout::LayoutContext::verifyAndOutputLayoutTree const):

9:03 AM Changeset in webkit [232247] by Claudio Saavedra
  • 3 edits in trunk/LayoutTests

[GTK][WPE] AppCache test gardening

Some appcache tests were flaky due to console output, see
https://bugs.webkit.org/show_bug.cgi?id=185431 for more info.
Fixing those by dumping the output to stderr instead.

At the same time, clean up the expectations for appcache tests,
many were now passing, so several old bugs got closed now.

Unreviewed gardening.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
8:20 AM Changeset in webkit [232246] by commit-queue@webkit.org
  • 55 edits in trunk/Source

Modernize SVGRenderStyleDefs.h
https://bugs.webkit.org/show_bug.cgi?id=186024

Patch by Sam Weinig <sam@webkit.org> on 2018-05-28
Reviewed by Daniel Bates.

Source/WebCore:

Modernized the set of enums in SVGRenderStyleDefs.h and WindRule.h by:

  • Converting them to enum classes
  • Renaming them to remove unnecessary prefix 'E's
  • Renaming values to take advantage of enum class scoping (e.g. StyleDifferenceEqual -> StyleDifference::Equal)
  • Renaming to match modern conventions (e.g BNONE -> None)

Modernizes the following enums:

SVGPaintType
BaselineShift (renamed from EBaselineShift)
TextAnchor (renamed from ETextAnchor)
ColorInterpolation (renamed from EColorInterpolation)
ColorRendering (renamed from EColorRendering)
ShapeRendering (renamed from EShapeRendering)
GlyphOrientation (renamed from EGlyphOrientation)
AlignmentBaseline (renamed from EAlignmentBaseline)
DominantBaseline (renamed from EDominantBaseline)
VectorEffect (renamed from EVectorEffect)
BufferedRendering (renamed from EBufferedRendering)
MaskType (renamed from EMaskType)
WindRule

  • css/CSSBasicShapes.cpp:

(WebCore::buildPathString):
(WebCore::buildPolygonString):

  • css/CSSBasicShapes.h:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator WindRule const):
(WebCore::CSSPrimitiveValue::operator AlignmentBaseline const):
(WebCore::CSSPrimitiveValue::operator BufferedRendering const):
(WebCore::CSSPrimitiveValue::operator ColorInterpolation const):
(WebCore::CSSPrimitiveValue::operator ColorRendering const):
(WebCore::CSSPrimitiveValue::operator DominantBaseline const):
(WebCore::CSSPrimitiveValue::operator ShapeRendering const):
(WebCore::CSSPrimitiveValue::operator TextAnchor const):
(WebCore::CSSPrimitiveValue::operator VectorEffect const):
(WebCore::CSSPrimitiveValue::operator MaskType const):
(WebCore::CSSPrimitiveValue::operator EAlignmentBaseline const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBufferedRendering const): Deleted.
(WebCore::CSSPrimitiveValue::operator EColorInterpolation const): Deleted.
(WebCore::CSSPrimitiveValue::operator EColorRendering const): Deleted.
(WebCore::CSSPrimitiveValue::operator EDominantBaseline const): Deleted.
(WebCore::CSSPrimitiveValue::operator EShapeRendering const): Deleted.
(WebCore::CSSPrimitiveValue::operator ETextAnchor const): Deleted.
(WebCore::CSSPrimitiveValue::operator EVectorEffect const): Deleted.
(WebCore::CSSPrimitiveValue::operator EMaskType const): Deleted.

  • css/SVGCSSComputedStyleDeclaration.cpp:

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

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertGlyphOrientation):
(WebCore::StyleBuilderConverter::convertGlyphOrientationOrAuto):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueBaselineShift):
(WebCore::StyleBuilderCustom::applyValueFill):
(WebCore::StyleBuilderCustom::applyValueStroke):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeBasicShapePolygon):
(WebCore::consumeBasicShapePath):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::toWindRule):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):

  • platform/graphics/FloatPolygon.cpp:

(WebCore::FloatPolygon::contains const):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::fillRectWithRoundedHole):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::shapeLayerWindRule const):

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/GraphicsTypes.cpp:

(WebCore::operator<<):

  • platform/graphics/Path.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::drawInsetShadow):
(WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
(WebCore::ShadowBlur::drawInsetShadowWithTiling):

  • platform/graphics/WindRule.h:

(): Deleted.

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

(PlatformCALayerCocoa::shapeWindRule const):
(PlatformCALayerCocoa::setShapeWindRule):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::calculateDrawingMode):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
(WebCore::GraphicsContext::clipPath):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::contains const):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::drawAnimation):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::buildReferenceFilter):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::clipBorderSidePolygon):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::paintOutline):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::computeClipPath const):

  • rendering/style/BasicShapes.h:

(WebCore::BasicShape::windRule const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::fillPaintType const):
(WebCore::RenderStyle::setFillPaintColor):
(WebCore::RenderStyle::strokePaintType const):
(WebCore::RenderStyle::setStrokePaintColor):

  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::initialAlignmentBaseline):
(WebCore::SVGRenderStyle::initialDominantBaseline):
(WebCore::SVGRenderStyle::initialBaselineShift):
(WebCore::SVGRenderStyle::initialVectorEffect):
(WebCore::SVGRenderStyle::initialBufferedRendering):
(WebCore::SVGRenderStyle::initialClipRule):
(WebCore::SVGRenderStyle::initialColorInterpolation):
(WebCore::SVGRenderStyle::initialColorInterpolationFilters):
(WebCore::SVGRenderStyle::initialColorRendering):
(WebCore::SVGRenderStyle::initialFillRule):
(WebCore::SVGRenderStyle::initialShapeRendering):
(WebCore::SVGRenderStyle::initialTextAnchor):
(WebCore::SVGRenderStyle::initialGlyphOrientationHorizontal):
(WebCore::SVGRenderStyle::initialGlyphOrientationVertical):
(WebCore::SVGRenderStyle::initialFillPaintType):
(WebCore::SVGRenderStyle::initialStrokePaintType):
(WebCore::SVGRenderStyle::initialMaskType):
(WebCore::SVGRenderStyle::setAlignmentBaseline):
(WebCore::SVGRenderStyle::setDominantBaseline):
(WebCore::SVGRenderStyle::setBaselineShift):
(WebCore::SVGRenderStyle::setVectorEffect):
(WebCore::SVGRenderStyle::setBufferedRendering):
(WebCore::SVGRenderStyle::setClipRule):
(WebCore::SVGRenderStyle::setColorInterpolation):
(WebCore::SVGRenderStyle::setColorInterpolationFilters):
(WebCore::SVGRenderStyle::setColorRendering):
(WebCore::SVGRenderStyle::setFillRule):
(WebCore::SVGRenderStyle::setShapeRendering):
(WebCore::SVGRenderStyle::setTextAnchor):
(WebCore::SVGRenderStyle::setGlyphOrientationHorizontal):
(WebCore::SVGRenderStyle::setGlyphOrientationVertical):
(WebCore::SVGRenderStyle::setMaskType):
(WebCore::SVGRenderStyle::alignmentBaseline const):
(WebCore::SVGRenderStyle::dominantBaseline const):
(WebCore::SVGRenderStyle::baselineShift const):
(WebCore::SVGRenderStyle::vectorEffect const):
(WebCore::SVGRenderStyle::bufferedRendering const):
(WebCore::SVGRenderStyle::clipRule const):
(WebCore::SVGRenderStyle::colorInterpolation const):
(WebCore::SVGRenderStyle::colorInterpolationFilters const):
(WebCore::SVGRenderStyle::colorRendering const):
(WebCore::SVGRenderStyle::fillRule const):
(WebCore::SVGRenderStyle::shapeRendering const):
(WebCore::SVGRenderStyle::textAnchor const):
(WebCore::SVGRenderStyle::glyphOrientationHorizontal const):
(WebCore::SVGRenderStyle::glyphOrientationVertical const):
(WebCore::SVGRenderStyle::fillPaintType const):
(WebCore::SVGRenderStyle::strokePaintType const):
(WebCore::SVGRenderStyle::maskType const):
(WebCore::SVGRenderStyle::visitedLinkFillPaintType const):
(WebCore::SVGRenderStyle::visitedLinkStrokePaintType const):
(WebCore::SVGRenderStyle::hasStroke const):
(WebCore::SVGRenderStyle::hasFill const):
(WebCore::SVGRenderStyle::setBitDefaults):

  • rendering/style/SVGRenderStyleDefs.h:

(WebCore::StyleFillData::create):
(WebCore::StyleFillData::operator!= const):
(WebCore::StyleStrokeData::create):
(WebCore::StyleStrokeData::operator!= const):
(WebCore::StyleStopData::create):
(WebCore::StyleStopData::operator!= const):
(WebCore::StyleTextData::create):
(WebCore::StyleTextData::operator!= const):
(WebCore::StyleMiscData::create):
(WebCore::StyleMiscData::operator!= const):
(WebCore::StyleShadowSVGData::create):
(WebCore::StyleShadowSVGData::operator!= const):
(WebCore::StyleResourceData::create):
(WebCore::StyleResourceData::operator!= const):
(WebCore::StyleInheritedResourceData::create):
(WebCore::StyleInheritedResourceData::operator!= const):
(WebCore::StyleLayoutData::create):
(WebCore::StyleLayoutData::operator!= const):
(): Deleted.

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::paint):

  • rendering/svg/RenderSVGRect.cpp:

(WebCore::RenderSVGRect::updateShapeFromElement):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::requestPaintingResource):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::pathOnlyClipping):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives const):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::applyResource):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::paint):

  • rendering/svg/RenderSVGShape.h:

(WebCore::RenderSVGShape::hasNonScalingStroke const):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeStyle):
(WebCore::writeSVGInlineTextBox):

  • rendering/svg/SVGResources.cpp:

(WebCore::paintingResourceFromSVGPaint):

  • rendering/svg/SVGTextChunk.cpp:

(WebCore::SVGTextChunk::SVGTextChunk):

  • rendering/svg/SVGTextLayoutEngineBaseline.cpp:

(WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift const):
(WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline const):
(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift const):
(WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle const):

  • rendering/svg/SVGTextLayoutEngineBaseline.h:

Source/WebKit:

  • Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:

(WebKit::applyPropertiesToLayer):

  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
Update for new enum names.

6:25 AM Changeset in webkit [232245] by Claudio Saavedra
  • 3 edits in trunk/LayoutTests

[GTK][WPE] transitions/interrupted-transition-hardware.html failing

Unreviewed gardening, image-only failure.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
5:26 AM Changeset in webkit [232244] by Yusuke Suzuki
  • 4 edits in trunk/Source

[WTF] Add clz32 / clz64 for MSVC
https://bugs.webkit.org/show_bug.cgi?id=186023

Reviewed by Daniel Bates.

Source/JavaScriptCore:

Move clz32 and clz64 to WTF.

  • runtime/MathCommon.h:

(JSC::clz32): Deleted.
(JSC::clz64): Deleted.

Source/WTF:

This patch adds efficient implementations of clz32 and clz64 for MSVC.
While MSVC has _lzcnt intrinsic, it is only valid if the CPU has lzcnt instruction.
Instead of checking cpuid here, we just use _BitScanReverse and _BitScanReverse64.

  • wtf/MathExtras.h:

(WTF::clz32):
(WTF::clz64):

3:57 AM Changeset in webkit [232243] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.21.3

WebKitGTK+ 2.21.3

3:56 AM Changeset in webkit [232242] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.3 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.21.3.
3:15 AM Changeset in webkit [232241] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Test webanimations/css-animations.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=186031

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2018-05-28
Reviewed by Antoine Quint.

This is another case of std::optional value being used while it's nullopt, I guess this started to fail when we
stopped using the WTF implementation of std::optional. The problem is that we try to get the current iteration
of a declarative animation when the active time is unresolved.

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::invalidateDOMEvents): Use value_or(0) instead of value() to get the current
iteration of the effect.

1:18 AM Changeset in webkit [232240] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

[GStreamer] Handle changes in the "drm-preferred-decryption-system-id" NEED_CONTEXT message.
https://bugs.webkit.org/show_bug.cgi?id=185948

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-05-28
Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

  • The "stream-encryption-systems" field of the "drm-preferred-decryption-system-id" query was renamed to "avalaible-stream-encryption-systems"
  • It can now be NULL, meaning there is no decryptor avalaible.

Tests: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-*

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::extractEventsAndSystemsFromMessage): Handle NULL value for "avalaible-stream-encryption-systems",
moved some code to make the order of the Arrays in the pair clearer.

Tools:

When the patch introducing gst_protection_filter_systems_by_available_decryptors was merged, we changed sensibly its behaviour
concerning the way empty results is represented (now returning NULL instead of an array of 1(NULL) element) and this change was not
properly taken into account in the qtdemux patch that uses it and got upstreamed. Those 3 new patches fixe that and change the
NEED_CONTEXT field names to clarify the meaning of "stream-encryption-systems".

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/gst-plugins-good-0001-qtdemux-Do-not-run-the-preferred-decryptor-context-q.patch: Added. Merged upstream as 3e063703b3a51b8aaa7f75f36c4660c583a60e93
  • gstreamer/patches/gst-plugins-good-0002-qtdemux-Do-not-unref-a-NULL-stream_tags.patch: Added. Merged upstream as 43a540b1cd9f162d3dae5d50e36703dfaf558a3e
  • gstreamer/patches/gst-plugins-good-0003-qtdemux-Clarify-field-name-about-stream-encryption-s.patch: Added.

May 27, 2018:

10:31 PM Changeset in webkit [232239] by mitz@apple.com
  • 53 edits in trunk

Reverted the changes made for https://webkit.org/b/186016

They broke the USE(APPLE_INTERNAL_SDK) Sierra build.

10:04 PM Changeset in webkit [232238] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Tried to fix the pre-High Sierra USE(APPLE_INTERNAL_SDK) build

  • pal/spi/cg/CoreGraphicsSPI.h: #undef confirm, which is defined by ApplicationServicesPriv.h.
9:31 PM Changeset in webkit [232237] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Tried to fix the 32-bit USE(APPLE_INTERNAL_SDK) build.

  • pal/spi/mac/QuickDrawSPI.h: Import ApplicationServicesPriv.h instead of QuickDrawPriv.h.
9:21 PM Changeset in webkit [232236] by ddkilzer@apple.com
  • 16 edits
    2 adds
    1 delete in trunk/Source

[iOS] Fix warnings about leaks found by clang static analyzer
<https://webkit.org/b/186009>
<rdar://problem/40574267>

Reviewed by Daniel Bates.

Source/ThirdParty/libwebrtc:

  • Source/third_party/opus/src/src/opus_compare.c:
  • Source/third_party/opus/src/src/opus_demo.c:

(main):

  • Free allocated memory on early returns.
  • Source/third_party/usrsctp/usrsctplib/user_mbuf.c:

(clust_constructor_dup):
(mb_ctor_clust):

  • Free allocated memory if m is NULL.
  • Source/third_party/usrsctp/usrsctplib/user_socket.c:

(usrsctp_connect): Free sa memory if getsockaddr() returns an
error, but still allocates memory for sa.

  • WebKit/patch-opus.diff: Add patch for opus changes.
  • WebKit/patch-usrsctp: Rename empty file to patch-usrsctp.diff.
  • WebKit/patch-usrsctp.diff: Add patch for usrsctp changes.
  • libwebrtc.xcodeproj/project.pbxproj: Remove opus_compare.c,

opus_demo.c, and repacketizer_demo.c from opus target. This
code is for stand-alone tools, and although it may be removed
during dead code linking, we don't need to spend time compiling
it.

Source/WebCore:

  • Modules/webauthn/cocoa/LocalAuthenticator.mm:

(WebCore::LocalAuthenticator::makeCredential):
(WebCore::LocalAuthenticator::getAssertion):
(WebCore::LocalAuthenticator::issueClientCertificate const):

  • Don't leak CF objects in early return paths, and get rid of retained* variables, by making original variables use RetainPtr<>.
  • bridge/objc/WebScriptObject.mm:

(+[WebUndefined allocWithZone:]): Modernize WebUndefined by
using NeverDestroyed<RetainPr<WebUndefined>> type. Explicitly
retain the object returned on each call.
(+[WebUndefined undefined]): Explicitly autorelease the object
returned. Note that neither of these changes fixes the static
analyzer warnings in this source file.

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

(WebCore::exernalDeviceDisplayNameForPlayer): Use RetainPtr<> to
stop leaking NSString objects in a loop.

  • platform/ios/wak/WAKWindow.h:

(-[WAKWindow _newFirstResponderAfterResigning]): Mark as
NS_RETURNS_NOT_RETAINED like the corresponding AppKit method
since this doesn't return a new object. This fixes some
false-positive leaks warnings.

Source/WebKit:

  • UIProcess/Automation/ios/WebAutomationSessionIOS.mm:

(WebKit::WebAutomationSession::platformSimulateKeySequence): Fix
leak of two WebEvent objects that happened in a loop.

  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:

(-[_WKPreviewControllerDelegate previewController:transitionImageForPreviewItem:contentRect:]):
Fix leak of a UIImage.

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView doCommandBySelector:]): Fix use of an
uninitialized boolean variable (eventWasHandled) that only
happened on iOS.

9:17 PM Changeset in webkit [232235] by mitz@apple.com
  • 52 edits in trunk

[Cocoa] Avoid importing directly from subumbrella frameworks
https://bugs.webkit.org/show_bug.cgi?id=186016

Reviewed by Sam Weinig.

Source/WebCore:

  • Configurations/WebCore.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
  • editing/mac/DictionaryLookup.mm: Import Quartz.h instead of a PDFKit header.
  • html/HTMLKeygenElement.cpp: Removed "using namespace WebCore" from this WebCore implementation file.
  • platform/mac/PlatformEventFactoryMac.mm: Import Carbon.h instead of HIToolbox headers.
  • platform/mac/PlatformScreenMac.mm: Import ApplicationServices.h instead of ColorSync.h when using SDKs earlier than 10.13.
  • platform/mediastream/CaptureDeviceManager.cpp: Enclosed the definitions in the WebCore namespace and removed "using namespace WebCore" from this WebCore implementation file.
  • platform/text/mac/TextEncodingRegistryMac.mm: Import Carbon.h instead of CarbonCore.h.

Source/WebCore/PAL:

  • Configurations/PAL.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
  • pal/spi/cg/CoreGraphicsSPI.h: Import ApplicationServices.h instead of ColorSync.h when using SDKs earlier than 10.13.
  • pal/spi/mac/HIToolboxSPI.h: Import CarbonPriv.h instead of HIToolboxPriv.h.
  • pal/spi/mac/QuickLookMacSPI.h: Import Quartz.h instead of a QuickLookUI header.

Source/WebKit:

  • Configurations/BaseTarget.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
  • UIProcess/Automation/mac/WebAutomationSessionMac.mm: Import Carbon.h instead of an HIToolbox header.
  • UIProcess/Cocoa/WebViewImpl.mm: Ditto.
  • UIProcess/mac/WKPrintingView.mm: Import Quartz.h instead of a PDFKit header.
  • UIProcess/mac/WKTextInputWindowController.mm: Import Carbon.h instead of an HIToolbox header.
  • WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Import Quartz.h instead of a PDFKit header.
  • WebProcess/Plugins/PDF/PDFLayerControllerSPI.h: Ditto.
  • WebProcess/Plugins/PDF/PDFPlugin.mm: Ditto.
  • WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Ditto.
  • WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: Ditto.
  • WebProcess/Plugins/PDF/PDFPluginPasswordField.mm: Ditto.
  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Ditto.
  • WebProcess/WebPage/mac/WebPageMac.mm: Ditto.

Source/WebKitLegacy/mac:

  • Carbon/CarbonWindowAdapter.h: Import Carbon.h instead of HIToolbox headers.
  • Carbon/CarbonWindowAdapter.mm: Ditto.
  • Carbon/CarbonWindowFrame.m: Ditto.
  • Carbon/HIViewAdapter.h: Ditto.
  • Configurations/WebKitLegacy.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
  • Plugins/WebNetscapePluginEventHandlerCarbon.mm: Import Carbon.h instead of CarbonEvents.h.
  • WebView/WebPDFDocumentExtras.mm: Import Quartz.h instead of a PDFKit header.
  • WebView/WebPDFView.h: Ditto.

Tools:

  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: Include CoreServices.h instead of a LaunchServices header.
  • DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
  • DumpRenderTree/mac/LayoutTestHelper.m: Import ApplicationServices.h instead of ColorSync.h when using SDKs earlier than 10.13.
  • TestWebKitAPI/Configurations/Base.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
  • TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm: Import Carbon.h instead of an HIToolbox header.
  • WebKitTestRunner/Configurations/BaseTarget.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
  • WebKitTestRunner/cg/TestInvocationCG.cpp: Include CoreServices.h instead of a LaunchServices header.
8:49 PM Changeset in webkit [232234] by Fujii Hironori
  • 4 edits
    2 adds in trunk/Tools

[Win][MiniBrowser] Add MainWindow class
https://bugs.webkit.org/show_bug.cgi?id=185814

Reviewed by Per Arne Vollan.

This is a sub task of Bug 184770. Added a new class MainWindow to
represent the main window which will be shared among WK1 and WK2.

This change is partial so that it's easy to review this patch.
I'll move more functions into MainWindow.cpp, and remove more
global variables in forthcoming patches.

  • MiniBrowser/win/CMakeLists.txt: Added MainWindow.cpp.
  • MiniBrowser/win/Common.cpp: Removed MainWindow related global

variables hMainWnd, hURLBarWnd, hBackButtonWnd and
hForwardButtonWnd. Added a new global variable gMainWindow.
(WndProc): Moved to MainWindow.cpp.
(resizeSubViews): Ditto.
(ToggleMenuFlag): Removed static to be called from MainWindow.cpp.
(ToggleMenuItem): Ditto.
(CustomUserAgent): Follow the global variables removal.
(DisplayAuthDialog): Ditto.
(loadURL): Ditto.
(WndProc): Renamed to MainWindow::WndProc.

  • MiniBrowser/win/MainWindow.cpp: Added.

(MainWindow::registerClass): Renamed from MyRegisterClass of WinMain.cpp.
(MainWindow::init): Extracted MainWindow initialization code from wWinMain.
(MainWindow::resizeSubViews): Moved from Common.cpp.
(MainWindow::WndProc): Ditto.

  • MiniBrowser/win/MainWindow.h: Added.

(MainWindow::hwnd):
(MainWindow::browserWindow):

  • MiniBrowser/win/MiniBrowser.cpp:

(MiniBrowser::init):
(MiniBrowser::prepareViews): Extract some code into MiniBrowser::loadDefaultHTML.
(MiniBrowser::loadDefaultHTML): Extracted from MiniBrowser::prepareViews.

  • MiniBrowser/win/MiniBrowser.h:
  • MiniBrowser/win/WinMain.cpp:

(wWinMain): Extracted MainWindow initialization code into MainWindow::init.
(MyRegisterClass): Moved to MainWindow.cpp.

8:21 PM Changeset in webkit [232233] by Fujii Hironori
  • 5 edits in trunk/Source

REGRESSION(r232198) [WinCairo] cannot convert from 'WTF::StringView' to 'const WTF::String'
https://bugs.webkit.org/show_bug.cgi?id=186027

Unreviewed build fix

Source/WebCore:

No new tests (No behavior change).

  • platform/network/curl/AuthenticationChallengeCurl.cpp:

(WebCore::AuthenticationChallenge::protectionSpaceFromHandle):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::setupTransfer):
(WebCore::CurlRequest::willSetupSslCtx):

Source/WebKitLegacy/win:

  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::setAllowsAnyHTTPSCertificate):
(WebMutableURLRequest::setClientCertificate):

8:19 PM Changeset in webkit [232232] by Caio Lima
  • 28 edits
    3 adds in trunk

[ESNext][BigInt] Implement "+" and "-" unary operation
https://bugs.webkit.org/show_bug.cgi?id=182214

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/big-int-negate-basic.js: Added.
  • stress/big-int-negate-jit.js: Added.
  • stress/big-int-unary-plus.js: Added.

Source/JavaScriptCore:

This Patch is implementing support to "-" unary operation on BigInt.
It is also changing the logic of ASTBuilder::makeNegateNode to
calculate BigInt literals with properly sign, avoiding
unecessary operation. It required a refactoring into
JSBigInt::parseInt to consider the sign as parameter.

We are also introducing a new DFG Node called ValueNegate to handle BigInt negate
operations. With the introduction of BigInt, it is not true
that every negate operation returns a Number. As ArithNegate is a
node that considers its result is always a Number, like all other
Arith<Operation>, we decided to keep this consistency and use ValueNegate when
speculation indicates that the operand is a BigInt.
This design is following the same distinction between ArithAdd and
ValueAdd. Also, this new node will make simpler the introduction of
optimizations when we create speculation paths for BigInt in future
patches.

In the case of "+" unary operation on BigInt, the current semantic we already have
is correctly, since it needs to throw TypeError because of ToNumber call[1].
In such case, we are adding tests to verify other edge cases.

[1] - https://tc39.github.io/proposal-bigint/#sec-unary-plus-operator

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addBigIntConstant):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BigIntNode::jsValue const):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::arithNodeFlags):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileValueNegate):
(JSC::DFG::SpeculativeJIT::compileArithNegate):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileValueNegate):
(JSC::FTL::DFG::LowerDFGToB3::compileArithNegate):

  • jit/JITOperations.cpp:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createBigIntWithSign):
(JSC::ASTBuilder::createBigIntFromUnaryOperation):
(JSC::ASTBuilder::makeNegateNode):

  • parser/NodeConstructors.h:

(JSC::BigIntNode::BigIntNode):

  • parser/Nodes.h:
  • runtime/CommonSlowPaths.cpp:

(JSC::updateArithProfileForUnaryArithOp):
(JSC::SLOW_PATH_DECL):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::parseInt):

  • runtime/JSBigInt.h:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::strictEqualSlowCaseInline):

7:51 PM Changeset in webkit [232231] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Tried to fix the 32-bit !ASSERT_DISABLED build after r232211.

  • jit/JITOperations.cpp:
7:22 PM Changeset in webkit [232230] by Fujii Hironori
  • 4 edits in trunk/Tools

[Win][MiniBrowser] Remove URL argument of MiniBrowser::init
https://bugs.webkit.org/show_bug.cgi?id=185969

Reviewed by Alex Christensen.

MiniBrowser::init takes URL argument, but it's used only for
loading default HTML if URL is not given.

  • Add a new method MiniBrowser::loadHTMLString
  • Remove loadHTMLString process from MiniBrowser::prepareViews
  • MiniBrowser/win/MiniBrowser.cpp:

(MiniBrowser::init): Removed requestedURL argument.
(MiniBrowser::prepareViews): Ditto.
(MiniBrowser::loadHTMLString): New.
(MiniBrowser::loadURL): Return E_INVALIDARG if passedURL is null instead of calling loadHTMLString.

  • MiniBrowser/win/MiniBrowser.h: Removed URL argument. Added loadHTMLString.
  • MiniBrowser/win/WinMain.cpp:

(wWinMain): Call MiniBrowser::loadHTMLString if URL is not given.

5:49 PM Changeset in webkit [232229] by commit-queue@webkit.org
  • 39 edits in trunk/Source

Modernize RenderStyleConstants.h - Part 3
https://bugs.webkit.org/show_bug.cgi?id=186015

Patch by Sam Weinig <sam@webkit.org> on 2018-05-27
Reviewed by Yusuke Suzuki.

Source/WebCore:

Modernized the third and final set of enums in RenderStyleConstants.h by:

  • Converting them to enum classes
  • Renaming them to remove unnecessary prefix 'E's
  • Renaming values to take advantage of enum class scoping (e.g. StyleDifferenceEqual -> StyleDifference::Equal)

Modernizes the following enums:

TextDecoration
TextDecorationSkip (renamed from TextDecorationSkipItems)
TextUnderlinePosition
HangingPunctuation
SpeakAs (renamed from ESpeakAs)
TextEmphasisPosition (renamed from TextEmphasisPositions)

This final set of enums are mostly (TextUnderlinePosition isn't really) used as bitmasks,
so this change also converts their uses to use OptionSet.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::speakAsProperty const):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::speakAsProperty const):
(WebCore::AccessibilityRenderObject::hasPlainText const):
(WebCore::AccessibilityRenderObject::hasUnderline const):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AXAttributeStringSetStyle):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase baseAccessibilitySpeechHint]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetStyle):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationFlagsToCSSValue):
(WebCore::renderTextDecorationSkipFlagsToCSSValue):
(WebCore::renderEmphasisPositionFlagsToCSSValue):
(WebCore::speakAsToCSSValue):
(WebCore::hangingPunctuationToCSSValue):

  • css/CSSLineBoxContainValue.h:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator HangingPunctuation const):
(WebCore::CSSPrimitiveValue::operator TextDecoration const):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TextUnderlinePosition const):
(WebCore::CSSPrimitiveValue::operator SpeakAs const):
(WebCore::CSSPrimitiveValue::operator ESpeakAs const): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTextDecoration):
(WebCore::StyleBuilderConverter::valueToEmphasisPosition):
(WebCore::StyleBuilderConverter::convertTextEmphasisPosition):
(WebCore::StyleBuilderConverter::convertTextUnderlinePosition):
(WebCore::StyleBuilderConverter::valueToDecorationSkip):
(WebCore::StyleBuilderConverter::convertTextDecorationSkip):
(WebCore::StyleBuilderConverter::convertSpeakAs):
(WebCore::StyleBuilderConverter::convertHangingPunctuation):

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle const):

  • editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedStringFromRange):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine const):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine const):

  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:

(WebCore::emphasisPositionHasNeitherLeftNorRight):
(WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove const):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintMarkedTextDecoration):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration const):

  • rendering/RenderElement.h:
  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addCell):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::canUseForWithReason):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

  • rendering/TextDecorationPainter.cpp:

(WebCore::TextDecorationPainter::TextDecorationPainter):
(WebCore::TextDecorationPainter::paintTextDecoration):
(WebCore::collectStylesForRenderer):
(WebCore::TextDecorationPainter::stylesForRenderer):

  • rendering/TextDecorationPainter.h:
  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle):

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::changeAffectsVisualOverflow const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::textDecorationsInEffect const):
(WebCore::RenderStyle::textDecoration const):
(WebCore::RenderStyle::textDecorationSkip const):
(WebCore::RenderStyle::hangingPunctuation const):
(WebCore::RenderStyle::textEmphasisPosition const):
(WebCore::RenderStyle::speakAs const):
(WebCore::RenderStyle::addToTextDecorationsInEffect):
(WebCore::RenderStyle::setTextDecorationsInEffect):
(WebCore::RenderStyle::setTextDecoration):
(WebCore::RenderStyle::setTextDecorationSkip):
(WebCore::RenderStyle::setSpeakAs):
(WebCore::RenderStyle::setTextEmphasisPosition):
(WebCore::RenderStyle::setHangingPunctuation):
(WebCore::RenderStyle::initialHangingPunctuation):
(WebCore::RenderStyle::initialTextDecoration):
(WebCore::RenderStyle::initialTextDecorationSkip):
(WebCore::RenderStyle::initialTextUnderlinePosition):
(WebCore::RenderStyle::initialSpeakAs):
(WebCore::RenderStyle::initialTextEmphasisPosition):

  • rendering/style/RenderStyleConstants.h:

(WebCore::operator|): Deleted.
(WebCore::operator|=): Deleted.

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):

  • rendering/style/StyleVisualData.cpp:

(WebCore::StyleVisualData::StyleVisualData):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paint):
(WebCore::positionOffsetForDecoration):
(WebCore::thicknessForDecoration):
(WebCore::findRendererDefininingTextDecoration):
(WebCore::SVGInlineTextBox::paintDecoration):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):

  • rendering/svg/SVGInlineTextBox.h:
  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView updateTextTouchBar]):
Update for new enum name.

9:50 AM Changeset in webkit [232228] by ddkilzer@apple.com
  • 4 edits
    2 adds in trunk/Tools

svn-apply fails when a patch has an empty file
<https://webkit.org/b/29684>

Reviewed by Daniel Bates.

Prior to this change, applying the following patches resulted in:

  • svn: add empty file (failure)
  • svn: delete empty file (failure)
  • svn: rename empty file (failure)
  • git: add empty file (false-positive success)
  • git: delete empty file (success)
  • git: rename empty file (failure)
  • Scripts/VCSUtils.pm:

(parseSvnDiffHeader): Handle the case when there is no patch
following the header. If the file exists and is empty, that
means it's a deletion. If the file does not exist, that means
it's an addition. Everything else is a fatal error.

  • Scripts/svn-apply:

(patch):

  • Only apply a patch for deletion if it has one or more text chunks.
  • Add a case to handle adding an empty file (an addition with no text chunks), and verify the file doesn't exist yet.
  • Any unhandled patch is a fatal error.
  • Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:

Add tests for adding an empty file and deleting an empty file.

  • Scripts/webkitperl/VCSUtils_unittest/resources/empty.txt: Add.

Used by parseSvnDiffHeader.pl unit test for "add an empty file"
test case.

May 26, 2018:

1:59 PM Changeset in webkit [232227] by fpizlo@apple.com
  • 3 edits in trunk/Source/WTF

testair sometimes crashes due to races in initialization of ARC4RandomNumberGenerator
https://bugs.webkit.org/show_bug.cgi?id=186014

Reviewed by Yusuke Suzuki.

testair launches a bunch of threads and the threads do B3 things that use random numbers.
Sometimes two threads will initialize the random number generator at the same time, because
that's what happens when you use static NeverDestroyed<>.

This changes that code to use std::call_once to initialize the shared
ARC4RandomNumberGenerator.

Also, this adds a diagnostic message to the lock's assertion. This assertion was the symptom
of the race, and knowing the state of the lock when the assertion fired gave a darn good clue
about what was going on: the lock's value was 0 at time of unlock, implying that another
thread reinitialized the lock to zero by rerunning the constructor.

  • wtf/CryptographicallyRandomNumber.cpp:
  • wtf/LockAlgorithmInlines.h:

(WTF::Hooks>::unlockSlow):

11:17 AM Changeset in webkit [232226] by Yusuke Suzuki
  • 10 edits in trunk

[JSC] Rename Array#flatten to flat
https://bugs.webkit.org/show_bug.cgi?id=186012

Reviewed by Saam Barati.

JSTests:

  • stress/array-flatten.js:

(shouldThrow):

  • test262/expectations.yaml:

Source/JavaScriptCore:

Rename Array#flatten to Array#flat. This rename is done in TC39 since flatten
conflicts with the mootools' function name.

  • builtins/ArrayPrototype.js:

(globalPrivate.flatIntoArray):
(flat):
(globalPrivate.flatIntoArrayWithCallback):
(flatMap):
(globalPrivate.flattenIntoArray): Deleted.
(flatten): Deleted.
(globalPrivate.flattenIntoArrayWithCallback): Deleted.

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):

LayoutTests:

  • inspector/model/remote-object-get-properties-expected.txt:
  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
8:26 AM Changeset in webkit [232225] by Alan Bujtas
  • 8 edits
    1 delete in trunk/Source/WebCore

[LFC] Implement margin computation
https://bugs.webkit.org/show_bug.cgi?id=186008

Reviewed by Antti Koivisto.

  • WebCore.xcodeproj/project.pbxproj:
  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeMargin const):
(WebCore::Layout::FormattingContext::marginTop const): Deleted.
(WebCore::Layout::FormattingContext::marginLeft const): Deleted.
(WebCore::Layout::FormattingContext::marginBottom const): Deleted.
(WebCore::Layout::FormattingContext::marginRight const): Deleted.

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

(WebCore::Layout::BlockFormattingContext::layout const):
(WebCore::Layout::BlockFormattingContext::computeMargin const):
(WebCore::Layout::BlockFormattingContext::marginTop const): Deleted.
(WebCore::Layout::BlockFormattingContext::marginBottom const): Deleted.

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

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeight):
(WebCore::Layout::BlockFormattingContext::Geometry::computedMargin):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::_isMarginBottomCollapsedWithParent):
(WebCore::Layout::collapsedMarginBottomFromLastChild):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginTop):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginBottom):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginTopCollapsedWithParentMarginBottom):
(WebCore::Layout::BlockMarginCollapse::marginTop): Deleted.
(WebCore::Layout::BlockMarginCollapse::marginBottom): Deleted.
(WebCore::Layout::BlockMarginCollapse::isMarginBottomCollapsedWithParent): Deleted.
(WebCore::Layout::BlockMarginCollapse::isMarginTopCollapsedWithParentMarginBottom): Deleted.

  • layout/blockformatting/BlockMarginCollapse.h: Removed.
3:55 AM Changeset in webkit [232224] by Yusuke Suzuki
  • 185 edits
    24 copies
    5 moves
    80 adds
    2 deletes in trunk/JSTests

Upgrade test262 to May 24 version
https://bugs.webkit.org/show_bug.cgi?id=185937

Reviewed by Darin Adler.

  • test262/expectations.yaml:
  • test262/harness/doneprintHandle.js:

(DONE):

  • test262/latest-changes-summary.txt:
  • test262/test/annexB/language/eval-code/direct/global-block-decl-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-block-decl-eval-global-existing-non-enumerable-global-init.js: Added.
  • test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-a-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-a-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-a-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-b-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-b-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-b-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/direct/global-if-decl-else-stmt-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-if-decl-else-stmt-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-else-stmt-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/direct/global-if-decl-no-else-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-if-decl-no-else-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-no-else-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/direct/global-if-stmt-else-decl-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-if-stmt-else-decl-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-stmt-else-decl-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/direct/global-switch-case-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-switch-case-eval-global-existing-non-enumerable-global-init.js: Added.
  • test262/test/annexB/language/eval-code/direct/global-switch-dflt-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/direct/global-switch-dflt-eval-global-existing-non-enumerable-global-init.js: Added.
  • test262/test/annexB/language/eval-code/indirect/global-block-decl-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-block-decl-eval-global-existing-non-enumerable-global-init.js: Added.
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-a-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-a-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-a-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-b-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-b-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-b-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/indirect/global-if-stmt-else-decl-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-if-stmt-else-decl-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-stmt-else-decl-eval-global-existing-global-init.js.
  • test262/test/annexB/language/eval-code/indirect/global-switch-case-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-switch-case-eval-global-existing-non-enumerable-global-init.js: Added.
  • test262/test/annexB/language/eval-code/indirect/global-switch-dflt-eval-global-existing-global-init.js:
  • test262/test/annexB/language/eval-code/indirect/global-switch-dflt-eval-global-existing-non-enumerable-global-init.js: Added.
  • test262/test/annexB/language/global-code/block-decl-global-existing-global-init.js: Added.

(262.evalScript.f):

  • test262/test/annexB/language/global-code/block-decl-global-existing-non-enumerable-global-init.js: Added.

(262.evalScript.f):

  • test262/test/annexB/language/global-code/if-decl-else-decl-a-global-existing-global-init.js: Added.

(262.evalScript.true.f):
(else._f):

  • test262/test/annexB/language/global-code/if-decl-else-decl-a-global-existing-non-enumerable-global-init.js: Added.

(262.evalScript.true.f):
(else._f):

  • test262/test/annexB/language/global-code/if-decl-else-decl-b-global-existing-global-init.js: Added.

(262.evalScript.false._f):
(else.f):

  • test262/test/annexB/language/global-code/if-decl-else-decl-b-global-existing-non-enumerable-global-init.js: Added.

(262.evalScript.false._f):
(else.f):

  • test262/test/annexB/language/global-code/if-decl-else-stmt-global-existing-global-init.js: Added.

(262.evalScript.true.f):

  • test262/test/annexB/language/global-code/if-decl-else-stmt-global-existing-non-enumerable-global-init.js: Added.

(262.evalScript.true.f):

  • test262/test/annexB/language/global-code/if-decl-no-else-global-existing-global-init.js: Added.

(262.evalScript.true.f):

  • test262/test/annexB/language/global-code/if-decl-no-else-global-existing-non-enumerable-global-init.js: Added.

(262.evalScript.true.f):

  • test262/test/annexB/language/global-code/if-stmt-else-decl-global-existing-global-init.js: Added.

(else.f):

  • test262/test/annexB/language/global-code/if-stmt-else-decl-global-existing-non-enumerable-global-init.js: Added.

(else.f):

  • test262/test/annexB/language/global-code/switch-case-global-existing-global-init.js: Added.

(262.evalScript.switch.case.1):
(262.evalScript.switch):

  • test262/test/annexB/language/global-code/switch-case-global-existing-non-enumerable-global-init.js: Added.

(262.evalScript.switch.case.1):
(262.evalScript.switch):

  • test262/test/annexB/language/global-code/switch-dflt-global-existing-global-init.js: Added.

(262.evalScript.switch.default):
(262.evalScript.switch):

  • test262/test/annexB/language/global-code/switch-dflt-global-existing-non-enumerable-global-init.js: Added.

(262.evalScript.switch.default):
(262.evalScript.switch):

  • test262/test/built-ins/Array/prototype/flat/array-like-objects.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/array-like-objects.js.
  • test262/test/built-ins/Array/prototype/flat/bound-function-call.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/bound-function-call.js.
  • test262/test/built-ins/Array/prototype/flat/empty-array-elements.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/empty-array-elements.js.
  • test262/test/built-ins/Array/prototype/flat/empty-object-elements.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/empty-object-elements.js.
  • test262/test/built-ins/Array/prototype/flat/length.js: Added.
  • test262/test/built-ins/Array/prototype/flat/name.js: Added.
  • test262/test/built-ins/Array/prototype/flat/non-numeric-depth-should-not-throw.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/non-numeric-depth-should-not-throw.js.
  • test262/test/built-ins/Array/prototype/flat/non-object-ctor-throws.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/non-object-ctor-throws.js.
  • test262/test/built-ins/Array/prototype/flat/null-undefined-elements.js: Added.
  • test262/test/built-ins/Array/prototype/flat/null-undefined-input-throws.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/null-undefined-input-throws.js.
  • test262/test/built-ins/Array/prototype/flat/positive-infinity.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/positive-infinity.js.
  • test262/test/built-ins/Array/prototype/flat/prop-desc.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/prop-desc.js.
  • test262/test/built-ins/Array/prototype/flat/symbol-object-create-null-depth-throws.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/symbol-object-create-null-depth-throws.js.
  • test262/test/built-ins/Array/prototype/flatten/length.js: Removed.
  • test262/test/built-ins/Array/prototype/flatten/name.js: Removed.
  • test262/test/built-ins/Array/prototype/flatten/null-undefined-elements.js: Removed.
  • test262/test/built-ins/AsyncGeneratorPrototype/next/name.js:
  • test262/test/built-ins/AsyncGeneratorPrototype/return/name.js:
  • test262/test/built-ins/AsyncGeneratorPrototype/throw/name.js:
  • test262/test/built-ins/Math/acosh/nan-returns.js:
  • test262/test/built-ins/Math/asinh/asinh-specialVals.js:
  • test262/test/built-ins/Math/atanh/atanh-specialVals.js:
  • test262/test/built-ins/Math/cbrt/cbrt-specialValues.js:
  • test262/test/built-ins/Math/cbrt/prop-desc.js:
  • test262/test/built-ins/Math/cosh/cosh-specialVals.js:
  • test262/test/built-ins/Math/expm1/expm1-specialVals.js:
  • test262/test/built-ins/Math/log10/Log10-specialVals.js:
  • test262/test/built-ins/Math/log2/log2-basicTests.js:
  • test262/test/built-ins/Math/sign/sign-specialVals.js:
  • test262/test/built-ins/Math/sinh/sinh-specialVals.js:
  • test262/test/built-ins/Math/tanh/tanh-specialVals.js:
  • test262/test/built-ins/Math/trunc/trunc-sampleTests.js:
  • test262/test/built-ins/Math/trunc/trunc-specialVals.js:
  • test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-value-regexp-dollar1.js: Added.
  • test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-writable-regexp-dollar1.js: Added.
  • test262/test/intl402/Intl/getCanonicalLocales/descriptor.js:
  • test262/test/intl402/Intl/getCanonicalLocales/duplicates.js:
  • test262/test/intl402/Locale/constructor-getter-order.js: Added.

(new.Intl.Locale.toString):
(get language):
(get script):
(get region):
(get calendar):
(get collation):
(get hourCycle):
(get caseFirst):
(get numeric):
(get numberingSystem):

  • test262/test/intl402/Locale/constructor-locale-object.js: Added.
  • test262/test/intl402/Locale/constructor-non-iana-canon.js: Added.
  • test262/test/intl402/Locale/constructor-options-casefirst-invalid.js: Added.

(valueOf):
(const.invalidCaseFirstOption.of.invalidCaseFirstOptions.new.Intl.Locale):

  • test262/test/intl402/Locale/constructor-options-casefirst-valid.js: Added.

(toString):

  • test262/test/intl402/Locale/constructor-options-collation-invalid.js: Added.

(const.invalidCollationOption.of.invalidCollationOptions.new.Intl.Locale):

  • test262/test/intl402/Locale/constructor-options-collation-valid.js: Added.
  • test262/test/intl402/Locale/constructor-options-hourcycle-invalid.js: Added.

(const.invalidHourCycleOption.of.invalidHourCycleOptions.new.Intl.Locale):

  • test262/test/intl402/Locale/constructor-options-hourcycle-valid.js: Added.

(toString):

  • test262/test/intl402/Locale/constructor-options-language-grandfathered.js: Added.
  • test262/test/intl402/Locale/constructor-options-language-valid.js:

(toString):

  • test262/test/intl402/Locale/constructor-options-numberingsystem-invalid.js: Added.

(const.invalidNumberingSystemOption.of.invalidNumberingSystemOptions.new.Intl.Locale):

  • test262/test/intl402/Locale/constructor-options-numberingsystem-valid.js: Added.
  • test262/test/intl402/Locale/constructor-options-numeric-valid.js: Added.

(valueOf):

  • test262/test/intl402/Locale/constructor-options-region-valid.js:
  • test262/test/intl402/Locale/constructor-options-script-valid.js:

(toString):

  • test262/test/intl402/Locale/constructor-parse-twice.js: Added.
  • test262/test/intl402/Locale/constructor-tag-tostring.js: Added.

(CustomError):
(WrongCustomError):
(const.errors.get Symbol):
(throw.new.CustomError):
(throw.new.CustomError.get toString):
(throw.new.CustomError.get valueOf):
(throw.new.WrongCustomError.get valueOf):
(throw.new.WrongCustomError):

  • test262/test/intl402/Locale/constructor-unicode-ext-invalid.js: Added.
  • test262/test/intl402/Locale/constructor-unicode-ext-valid.js: Added.

(canonical.of.Object.entries):

  • test262/test/intl402/Locale/extensions-grandfathered.js: Added.

(of.testData.value.of.Object.entries):

  • test262/test/intl402/Locale/extensions-private.js: Added.
  • test262/test/intl402/Locale/getters-grandfathered.js: Added.
  • test262/test/intl402/Locale/getters-missing.js: Added.
  • test262/test/intl402/Locale/getters-privateuse.js: Added.
  • test262/test/intl402/Locale/getters.js: Added.
  • test262/test/intl402/Locale/invalid-tag-throws-symbol.js:
  • test262/test/intl402/Locale/likely-subtags-grandfathered.js: Added.
  • test262/test/intl402/Locale/prop-desc.js:
  • test262/test/intl402/Locale/prototype/baseName/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/calendar/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/caseFirst/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/collation/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/constructor/prop-desc.js: Copied from JSTests/test262/test/intl402/Locale/prototype/constructor.js.
  • test262/test/intl402/Locale/prototype/hourCycle/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/language/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/maximize/length.js:
  • test262/test/intl402/Locale/prototype/maximize/prop-desc.js:
  • test262/test/intl402/Locale/prototype/minimize/length.js: Copied from JSTests/test262/test/intl402/Locale/prototype/maximize/length.js.
  • test262/test/intl402/Locale/prototype/minimize/name.js: Added.
  • test262/test/intl402/Locale/prototype/minimize/prop-desc.js: Copied from JSTests/test262/test/intl402/Locale/prototype/constructor.js.
  • test262/test/intl402/Locale/prototype/numberingSystem/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/numeric/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/region/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/script/prop-desc.js: Added.
  • test262/test/intl402/Locale/prototype/toString/prop-desc.js: Renamed from JSTests/test262/test/intl402/Locale/prototype/constructor.js.
  • test262/test/intl402/Locale/prototype/toStringTag/toStringTag.js: Renamed from JSTests/test262/test/intl402/Locale/prototype/toStringTag.js.
  • test262/test/intl402/Number/prototype/toLocaleString/length.js:
  • test262/test/intl402/NumberFormat/length.js:
  • test262/test/intl402/NumberFormat/name.js:
  • test262/test/intl402/NumberFormat/prop-desc.js:
  • test262/test/intl402/PluralRules/length.js:
  • test262/test/intl402/PluralRules/name.js:
  • test262/test/intl402/PluralRules/prop-desc.js: Copied from JSTests/test262/test/intl402/NumberFormat/prop-desc.js.
  • test262/test/language/expressions/addition/bigint-and-number.js:
  • test262/test/language/expressions/addition/bigint-arithmetic.js:

(testAdd): Deleted.

  • test262/test/language/expressions/addition/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/addition/bigint-toprimitive.js:
  • test262/test/language/expressions/addition/bigint-wrapped-values.js:
  • test262/test/language/expressions/bitwise-and/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-and/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/bitwise-and/bigint-non-primitive.js:

(assert.sameValue.Symbol.toPrimitive):
(assert.sameValue.0b011n.Symbol.toPrimitive):
(assert.sameValue.valueOf):
(assert.sameValue.0b011n.valueOf):
(assert.sameValue.toString):
(assert.sameValue.0b011n.toString):

  • test262/test/language/expressions/bitwise-and/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-and/bigint-wrapped-values.js:
  • test262/test/language/expressions/bitwise-not/bigint-non-primitive.js:

(assert.sameValue.Symbol.toPrimitive):
(assert.sameValue.valueOf):
(assert.sameValue.toString):

  • test262/test/language/expressions/bitwise-or/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-or/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/bitwise-or/bigint-non-primitive.js:

(assert.sameValue.Symbol.toPrimitive):
(assert.sameValue.0b011n.Symbol.toPrimitive):
(assert.sameValue.valueOf):
(assert.sameValue.0b011n.valueOf):
(assert.sameValue.toString):
(assert.sameValue.0b011n.toString):

  • test262/test/language/expressions/bitwise-or/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-or/bigint-wrapped-values.js:
  • test262/test/language/expressions/bitwise-xor/bigint-and-number.js:
  • test262/test/language/expressions/bitwise-xor/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/bitwise-xor/bigint-non-primitive.js:

(assert.sameValue.Symbol.toPrimitive):
(assert.sameValue.0b011n.Symbol.toPrimitive):
(assert.sameValue.valueOf):
(assert.sameValue.0b011n.valueOf):
(assert.sameValue.toString):
(assert.sameValue.0b011n.toString):

  • test262/test/language/expressions/bitwise-xor/bigint-toprimitive.js:
  • test262/test/language/expressions/bitwise-xor/bigint-wrapped-values.js:
  • test262/test/language/expressions/division/bigint-and-number.js:
  • test262/test/language/expressions/division/bigint-arithmetic.js:

(testDiv): Deleted.

  • test262/test/language/expressions/division/bigint-complex-infinity.js:
  • test262/test/language/expressions/division/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/division/bigint-toprimitive.js:
  • test262/test/language/expressions/division/bigint-wrapped-values.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-number.js:
  • test262/test/language/expressions/does-not-equals/bigint-and-object.js:

(assert.sameValue.0n.valueOf):
(assert.sameValue.valueOf):
(assert.sameValue.0n.toString):
(assert.sameValue.toString):
(assert.sameValue.900719925474099101n.valueOf):
(assert.sameValue.900719925474099101n.toString):

  • test262/test/language/expressions/does-not-equals/bigint-and-string.js:
  • test262/test/language/expressions/equals/bigint-and-bigint.js:
  • test262/test/language/expressions/equals/bigint-and-boolean.js:
  • test262/test/language/expressions/equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/equals/bigint-and-number.js:
  • test262/test/language/expressions/equals/bigint-and-object.js:

(assert.sameValue.0n.valueOf):
(assert.sameValue.valueOf):
(assert.sameValue.0n.toString):
(assert.sameValue.toString):
(assert.sameValue.900719925474099101n.valueOf):
(assert.sameValue.900719925474099101n.toString):

  • test262/test/language/expressions/equals/bigint-and-string.js:
  • test262/test/language/expressions/exponentiation/bigint-and-number.js:
  • test262/test/language/expressions/exponentiation/bigint-arithmetic.js:

(testExpt): Deleted.

  • test262/test/language/expressions/exponentiation/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/exponentiation/bigint-negative-exponent-throws.js: Renamed from JSTests/test262/test/language/expressions/exponentiation/bigint-exp-operator-negative-throws.js.
  • test262/test/language/expressions/exponentiation/bigint-toprimitive.js:
  • test262/test/language/expressions/exponentiation/bigint-wrapped-values.js:
  • test262/test/language/expressions/exponentiation/bigint-zero-base-zero-exponent.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js:
  • test262/test/language/expressions/greater-than-or-equal/bigint-and-string.js:
  • test262/test/language/expressions/greater-than/11.8.2-1.js:

(obj1.valueOf):
(obj2.valueOf):

  • test262/test/language/expressions/greater-than/11.8.2-2.js:

(obj1.valueOf):
(obj2.toString):

  • test262/test/language/expressions/greater-than/11.8.2-3.js:

(obj1.toString):
(obj2.valueOf):

  • test262/test/language/expressions/greater-than/11.8.2-4.js:

(obj1.toString):
(obj2.toString):

  • test262/test/language/expressions/greater-than/bigint-and-bigint.js:
  • test262/test/language/expressions/greater-than/bigint-and-boolean.js:
  • test262/test/language/expressions/greater-than/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/greater-than/bigint-and-non-finite.js:
  • test262/test/language/expressions/greater-than/bigint-and-number-extremes.js:
  • test262/test/language/expressions/greater-than/bigint-and-number.js:
  • test262/test/language/expressions/greater-than/bigint-and-string.js:
  • test262/test/language/expressions/greater-than/bigint-and-symbol.js: Added.
  • test262/test/language/expressions/left-shift/bigint-and-number.js:
  • test262/test/language/expressions/left-shift/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/left-shift/bigint-non-primitive.js:

(assert.sameValue.Symbol.toPrimitive):
(assert.sameValue.valueOf):
(assert.sameValue.toString):
(assert.sameValue.0b101n.Symbol.toPrimitive):
(assert.sameValue.0b101n.valueOf):
(assert.sameValue.0b101n.toString):
(valueOf):

  • test262/test/language/expressions/left-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/left-shift/bigint-wrapped-values.js:
  • test262/test/language/expressions/less-than-or-equal/11.8.3-1.js:

(obj1.valueOf):
(obj2.valueOf):

  • test262/test/language/expressions/less-than-or-equal/11.8.3-2.js:

(obj1.valueOf):
(obj2.toString):

  • test262/test/language/expressions/less-than-or-equal/11.8.3-3.js:

(obj1.toString):
(obj2.valueOf):

  • test262/test/language/expressions/less-than-or-equal/11.8.3-4.js:

(obj1.toString):
(obj2.toString):

  • test262/test/language/expressions/less-than-or-equal/11.8.3-5.js: Removed.
  • test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-number.js:
  • test262/test/language/expressions/less-than-or-equal/bigint-and-string.js:
  • test262/test/language/expressions/less-than/bigint-and-bigint.js:
  • test262/test/language/expressions/less-than/bigint-and-boolean.js:
  • test262/test/language/expressions/less-than/bigint-and-incomparable-string.js:
  • test262/test/language/expressions/less-than/bigint-and-non-finite.js:
  • test262/test/language/expressions/less-than/bigint-and-number-extremes.js:
  • test262/test/language/expressions/less-than/bigint-and-number.js:
  • test262/test/language/expressions/less-than/bigint-and-string.js:
  • test262/test/language/expressions/less-than/bigint-and-symbol.js: Added.
  • test262/test/language/expressions/modulus/bigint-and-number.js:
  • test262/test/language/expressions/modulus/bigint-arithmetic.js:

(testMod): Deleted.

  • test262/test/language/expressions/modulus/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/modulus/bigint-modulo-zero.js:
  • test262/test/language/expressions/modulus/bigint-toprimitive.js:
  • test262/test/language/expressions/modulus/bigint-wrapped-values.js:
  • test262/test/language/expressions/multiplication/bigint-and-number.js:
  • test262/test/language/expressions/multiplication/bigint-arithmetic.js:

(testMul): Deleted.

  • test262/test/language/expressions/multiplication/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/multiplication/bigint-toprimitive.js:
  • test262/test/language/expressions/multiplication/bigint-wrapped-values.js:
  • test262/test/language/expressions/right-shift/bigint-and-number.js:
  • test262/test/language/expressions/right-shift/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/right-shift/bigint-non-primitive.js:

(assert.sameValue.Symbol.toPrimitive):
(assert.sameValue.valueOf):
(assert.sameValue.toString):
(assert.sameValue.0b101n.Symbol.toPrimitive):
(assert.sameValue.0b101n.valueOf):
(assert.sameValue.0b101n.toString):
(valueOf):

  • test262/test/language/expressions/right-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/right-shift/bigint-wrapped-values.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-number.js:
  • test262/test/language/expressions/strict-does-not-equals/bigint-and-object.js:

(assert.sameValue.0n.valueOf):
(assert.sameValue.valueOf):
(assert.sameValue.0n.toString):
(assert.sameValue.toString):
(assert.sameValue.900719925474099101n.valueOf):
(assert.sameValue.900719925474099101n.toString):

  • test262/test/language/expressions/strict-does-not-equals/bigint-and-string.js:
  • test262/test/language/expressions/strict-equals/bigint-and-bigint.js:
  • test262/test/language/expressions/strict-equals/bigint-and-boolean.js:
  • test262/test/language/expressions/strict-equals/bigint-and-incomparable-primitive.js:
  • test262/test/language/expressions/strict-equals/bigint-and-non-finite.js:
  • test262/test/language/expressions/strict-equals/bigint-and-number-extremes.js:
  • test262/test/language/expressions/strict-equals/bigint-and-number.js:
  • test262/test/language/expressions/strict-equals/bigint-and-object.js:

(assert.sameValue.0n.valueOf):
(assert.sameValue.valueOf):
(assert.sameValue.0n.toString):
(assert.sameValue.toString):
(assert.sameValue.900719925474099101n.valueOf):
(assert.sameValue.900719925474099101n.toString):

  • test262/test/language/expressions/strict-equals/bigint-and-string.js:
  • test262/test/language/expressions/subtraction/bigint-and-number.js:
  • test262/test/language/expressions/subtraction/bigint-arithmetic.js:

(testSub): Deleted.

  • test262/test/language/expressions/subtraction/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/subtraction/bigint-toprimitive.js:
  • test262/test/language/expressions/subtraction/bigint-wrapped-values.js:
  • test262/test/language/expressions/unary-minus/bigint-non-primitive.js:

(assert.sameValue.Symbol.toPrimitive):
(assert.sameValue.valueOf):
(assert.sameValue.toString):

  • test262/test/language/expressions/unary-plus/bigint-throws.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-and-number.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-errors.js:

(Symbol.toPrimitive):
(0n.Symbol.toPrimitive):
(valueOf):
(0n.valueOf):
(toString):
(0n.toString):

  • test262/test/language/expressions/unsigned-right-shift/bigint-non-primitive.js:

(Symbol.toPrimitive):
(valueOf):
(toString):
(0b101n.Symbol.toPrimitive):
(0b101n.valueOf):
(0b101n.toString):
(valueOf.valueOf):

  • test262/test/language/expressions/unsigned-right-shift/bigint-toprimitive.js:
  • test262/test/language/expressions/unsigned-right-shift/bigint-wrapped-values.js:
  • test262/test/language/literals/numeric/numeric-followed-by-ident.js: Added.
  • test262/test/language/literals/string/line-continuation-double.js: Added.
  • test262/test/language/literals/string/line-continuation-single.js: Added.
  • test262/test262-Revision.txt:
Note: See TracTimeline for information about the timeline view.