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

Timeline



Oct 28, 2019:

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

Remove unnecessary #include <limits.h> header from Timer.cpp
https://bugs.webkit.org/show_bug.cgi?id=203504

Patch by Daniel Bates <dabates@apple.com> on 2019-10-28
Reviewed by Alex Christensen.

Timer.cpp includes both <limits> and <limits.h>. The latter was added to fix a build issue in r30193 that
effected GCC 4.3 when Timer.cpp referenced UINT_MAX. Timer.cpp no longer references this constant and instead
uses the C++ std::numeric_limits equivalent. So, remove the #include <limits.h>.

  • platform/Timer.cpp:
7:34 PM Changeset in webkit [251693] by Wenson Hsieh
  • 8 edits in trunk/Source/WebKit

Replace InteractionInformationAtPosition.nodeAtPositionIsFocusedElement with an element context
https://bugs.webkit.org/show_bug.cgi?id=203498

Reviewed by Tim Horton.

Refactors InteractionInformationAtPosition, such that it doesn't need a special flag to indicate whether there
is a focused element at the position. This is a followup to webkit.org/b/203264; no new tests, as there should
be no change in behavior.

  • Shared/FocusedElementInformation.cpp:

(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):

  • Shared/FocusedElementInformation.h:

Add an elementContext to FocusedElementInformation to represent the focused element; then, instead of checking
whether there is a focused element underneath the request position, simply check that the position information's
element context matches the FocusedElementInformation's element context.

Additionally, rename elementRect in FocusedElementInformation to interactionRect, to draw a distinction between
this rect and the new ElementContext's boundingRect.

  • Shared/ios/InteractionInformationAtPosition.h:
  • Shared/ios/InteractionInformationAtPosition.mm:

(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):

Remove the nodeAtPositionIsFocusedElement flag.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:nodeHasBuiltInClickHandling:]):
(-[WKContentView _zoomToRevealFocusedElement]):
(-[WKContentView _selectionClipRect]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):

In various places that consult nodeAtPositionIsFocusedElement, instead check that the position information's
hit-tested element context is the same as the focused element, via FocusedElementInformation.

(-[WKContentView _didCommitLoadForMainFrame]):

Nuke the cached position information data upon navigation; without this tweak, we will fail when running several
iOS layout tests back-to-back, that tap in exactly the same location.

(rectToRevealWhenZoomingToFocusedElement):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):
(-[WKContentView rectForFocusedFormControlView:]):
(-[WKContentView _didChangeFocusedElementRect:toRect:]): Deleted.

Remove code to invalidate cached position information when changing the focused element rect.

  • UIProcess/ios/forms/WKFormPopover.mm:

(-[WKRotatingPopover presentPopoverAnimated:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::positionInformation):
(WebKit::WebPage::getFocusedElementInformation):

7:25 PM Changeset in webkit [251692] by Kate Cheney
  • 3 edits in trunk/LayoutTests

http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-w* are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=196269
<rdar://problem/49288612>

Reviewed by Alexey Proskuryakov.

Flakiness no longer reproducible.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-wk2/TestExpectations:
6:37 PM Changeset in webkit [251691] by ysuzuki@apple.com
  • 38 edits
    2 moves
    2 adds
    4 deletes in trunk

[JSC] Remove JSPromiseDeferred
https://bugs.webkit.org/show_bug.cgi?id=203400

Reviewed by Keith Miller.

Source/JavaScriptCore:

This patch optimizes the existing Promise usage in C++. We remove JSPromiseDeferred and JSInternalPromiseDeferred, use JSPromise and JSInternalPromise directly.
JSC now offers first resolve and reject operations to JSPromise without separating resolve and reject function from JSPromise. Then, we do not need
to have a tuple of these functions and promise, and we can just use JSPromise::resolve and JSPromise::reject. This removes unnecessary function allocations
and cell allocation for JSPromiseDeferred and makes API simple.

  • API/JSAPIGlobalObject.mm:

(JSC::JSAPIGlobalObject::moduleLoaderImportModule):
(JSC::JSAPIGlobalObject::moduleLoaderFetch):
(JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule):

  • API/JSObjectRef.cpp:

(JSObjectMakeDeferredPromise):

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • jsc.cpp:

(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderFetch):
(runJSC):

  • runtime/Completion.cpp:

(JSC::rejectPromise):

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::newPromiseCapabilityFunction const):
(JSC::JSGlobalObject::resolvePromiseFunction const):
(JSC::JSGlobalObject::rejectPromiseFunction const):
(JSC::JSGlobalObject::numberProtoToStringFunction const):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncImportModule):

  • runtime/JSInternalPromise.h:
  • runtime/JSInternalPromiseDeferred.cpp: Removed.
  • runtime/JSInternalPromiseDeferred.h: Removed.
  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::importModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::moduleLoaderParseModule):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::flags const):
(JSC::JSPromise::isHandled const):
(JSC::JSPromise::createDeferredData):
(JSC::JSPromise::resolvedPromise):
(JSC::callFunction):
(JSC::JSPromise::resolve):
(JSC::JSPromise::reject):

  • runtime/JSPromise.h:
  • runtime/JSPromiseDeferred.cpp: Removed.
  • runtime/JSPromiseDeferred.h: Removed.
  • runtime/PromiseTimer.cpp: Renamed from Source/JavaScriptCore/runtime/PromiseDeferredTimer.cpp.

(JSC::PromiseTimer::PromiseTimer):
(JSC::PromiseTimer::doWork):
(JSC::PromiseTimer::runRunLoop):
(JSC::PromiseTimer::addPendingPromise):
(JSC::PromiseTimer::hasPendingPromise):
(JSC::PromiseTimer::hasDependancyInPendingPromise):
(JSC::PromiseTimer::cancelPendingPromise):
(JSC::PromiseTimer::scheduleWorkSoon):

  • runtime/PromiseTimer.h: Renamed from Source/JavaScriptCore/runtime/PromiseDeferredTimer.h.

(JSC::PromiseTimer::create):

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

(JSC::VM::VM):
(JSC::VM::~VM):

  • runtime/VM.h:
  • wasm/js/JSWebAssembly.cpp:

(JSC::reject):
(JSC::webAssemblyModuleValidateAsyncInternal):
(JSC::webAssemblyCompileFunc):
(JSC::resolve):
(JSC::JSWebAssembly::webAssemblyModuleValidateAsync):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::JSWebAssembly::instantiate):
(JSC::webAssemblyModuleInstantinateAsyncInternal):
(JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync):
(JSC::webAssemblyInstantiateFunc):
(JSC::webAssemblyCompileStreamingInternal):
(JSC::webAssemblyInstantiateStreamingInternal):

  • wasm/js/JSWebAssembly.h:
  • wasm/js/JSWebAssemblyCodeBlock.h:

Source/WebCore:

This patch removes PromiseExecutionScope. This assumed that promise operation cannot fail in main thread. But this is
wrong since any JS call can fail due to stack-overflow error. This patch makes things more robust by handling errors correctly.
And we remove JSPromiseDeferred and use JSPromise instead.

  • bindings/js/JSCustomElementRegistryCustom.cpp:

(WebCore::whenDefinedPromise):
(WebCore::JSCustomElementRegistry::whenDefined):

  • bindings/js/JSDOMConvertPromise.h:

(WebCore::Converter<IDLPromise<T>>::convert):

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMOperationReturningPromise.h:

(WebCore::IDLOperationReturningPromise::call):
(WebCore::IDLOperationReturningPromise::callStatic):

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::promise const):
(WebCore::DeferredPromise::callFunction):
(WebCore::DeferredPromise::whenSettled):
(WebCore::rejectPromiseWithExceptionIfAny):
(WebCore::createDeferredPromise):

  • bindings/js/JSDOMPromiseDeferred.h:

(WebCore::DeferredPromise::create):
(WebCore::DeferredPromise::DeferredPromise):
(WebCore::DeferredPromise::deferred const):
(WebCore::DeferredPromise::resolve):
(WebCore::DeferredPromise::reject):
(WebCore::DOMPromiseDeferredBase::DOMPromiseDeferredBase):
(WebCore::DOMPromiseDeferredBase::operator=):
(WebCore::DOMPromiseDeferredBase::reject):
(WebCore::DOMPromiseDeferredBase::rejectType):
(WebCore::DOMPromiseDeferredBase::promise const):
(WebCore::DOMPromiseDeferredBase::whenSettled):
(WebCore::DOMPromiseDeferred::resolve):
(WebCore::DOMPromiseDeferred<void>::resolve):
(WebCore::callPromiseFunction):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderImportModule):
(WebCore::tryAllocate):
(WebCore::isResponseCorrect):
(WebCore::handleResponseOnStreamingAction):
(WebCore::JSDOMWindowBase::compileStreaming):
(WebCore::JSDOMWindowBase::instantiateStreaming):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScriptModuleLoader.cpp:

(WebCore::ScriptModuleLoader::fetch):
(WebCore::rejectPromise):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::addTimerSetNotification):
(WebCore::WorkerScriptController::removeTimerSetNotification):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateOperationTrampolineDefinition):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::jsTestNodePrototypeFunctionTestWorkerPromise):
(WebCore::jsTestNodePrototypeFunctionCalculateSecretResult):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionCalculateSecretResult):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction):

  • workers/WorkerRunLoop.cpp:
  • worklets/WorkletScriptController.cpp:

LayoutTests:

  • js/dom/promise-stack-overflow-expected.txt: Added.
  • js/dom/promise-stack-overflow.html: Added.
6:06 PM Changeset in webkit [251690] by Adrian Perez de Castro
  • 36 edits in trunk/Source

[GTK][WPE] Fix various non-unified build issues introduced since r251436
https://bugs.webkit.org/show_bug.cgi?id=203492

Reviewed by Alex Christensen and Mark Lam.

Source/JavaScriptCore:

  • bytecode/BytecodeIndex.cpp: Add missing inclusion of wtf/PrintStream.h
  • bytecode/ICStatusUtils.h: Add missing inclusion if BytecodeIndex.h
  • bytecode/InstructionStream.h: Ditto.
  • debugger/DebuggerLocation.cpp: Add missing inclusion of JSCellInlines.h
  • dfg/DFGLazyJSValue.h: Add missing inclusion of GPRInfo.h
  • ftl/FTLOSREntry.h: Add missing inclusion of BytecodeIndex.h
  • heap/CompleteSubspaceInlines.h: Add missing inclusions of CompleteSubspace.h and VM.h
  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::thisValue const): Prepend namespace to the JSC::VM type.

  • jit/JITDisassembler.h: Add missing inclusion of BytecodeIndex.h
  • jit/JITWorklist.h: Ditto.
  • runtime/JSImmutableButterfly.cpp: Add missing inclusion of ButterflyInlines.h
  • runtime/ObjectInitializationScope.h: Add missing inclusion of VM.h
  • runtime/StringRecursionChecker.h: Add missing inclusion of GetVM.h
  • runtime/VMTraps.cpp: Add missing inclusion of CallFrameInlines.h
  • tools/Integrity.cpp: Add missing inclusion of Integrity.h, HeapCellInlines.h, and

JSCellInlines.h

  • wasm/WasmOperations.cpp: Add missing inclusion of JSCJSValueInlines.h and

JSGlobalObjectInlines.h

  • wasm/WasmOperations.h: Add missing inclusion of IndexingType.h, JSCJSValue.h, and

WasmExceptionType.h; add forward declarations for JSArrray and Wasm::Signature.

  • wasm/js/JSWebAssembly.cpp: Add missing inclusion of WasmOperations.h
  • wasm/js/JSWebAssemblyHelpers.h: Add missing inclusion of Error.h and JSArrayBufferView.h

Source/WebCore:

No new tests needed.

  • Modules/entriesapi/FileSystemEntry.cpp: Add missing inclusion of Document.h
  • Modules/entriesapi/FileSystemFileEntry.cpp: Add missing inclusion of File.h
  • Modules/fetch/FetchBodyOwner.cpp: Add missing inclusion of Document.h
  • bindings/js/ExceptionDetails.h: Add missing inclusion of wtf/text/WTFString.h; remove

unneeded inclusion of wtf/Forward.h.

  • css/ElementRuleCollector.cpp: Add missing inclusion of DocumentRuleSets.h and

styleResolver.h

  • inspector/agents/page/PageDebuggerAgent.h: Add forward declaration for Frame.
  • style/StyleInvalidator.cpp: Add missing inclusion of RuleSet.h
  • style/StyleSharingResolver.cpp: Add missing inclusion of StyleResolver.h

Source/WebKit:

  • UIProcess/InspectorTargetProxy.h: Add forward declaration of ProvisionalPageProxy.
  • UIProcess/Plugins/PluginProcessProxy.cpp: Add missin inclusion of

WebProcessProxyMessages.h

  • UIProcess/ProcessThrottler.cpp: Add missing inclusion of wtf/CompletionHandler.h
  • UIProcess/ProvisionalPageProxy.h: Add missing inclusion of WebCore/FrameIdentifier.h
  • UIProcess/WebPageInspectorController.h: Add missing inclusion of WebCore/PageIdentifier.h
  • WebProcess/WebPage/WebPageInspectorTargetController.cpp: Add missing inclusion of

WebPageInspectorTargetFrontendChannel.h

5:31 PM Changeset in webkit [251689] by Simon Fraser
  • 42 edits
    127 adds
    1 delete in trunk/LayoutTests

Update css/css-text-decor WPT
https://bugs.webkit.org/show_bug.cgi?id=203532

Reviewed by Tim Horton.
LayoutTests/imported/w3c:

Import css/css-text-decor at e68120da0fb52f010f206f3ecc63cfa09885b0f4 (Wed Oct 23 13:18:06 2019 -0700)

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-text-decor/META.yml: Added.
  • web-platform-tests/css/css-text-decor/OWNERS: Removed.
  • web-platform-tests/css/css-text-decor/inheritance-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/inheritance.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-color-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-line-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-shorthand.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-skip-ink-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-style-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-decoration-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-shadow-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-computed.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/parsing/text-underline-position-valid.html: Added.
  • web-platform-tests/css/css-text-decor/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-color.html:
  • web-platform-tests/css/css-text-decor/text-decoration-line-010-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-010.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-011-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-011.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-012-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-012.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-013-expected.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-013.xht:
  • web-platform-tests/css/css-text-decor/text-decoration-line-recalc-expected.html:
  • web-platform-tests/css/css-text-decor/text-decoration-line-recalc.html:
  • web-platform-tests/css/css-text-decor/text-decoration-line.html:
  • web-platform-tests/css/css-text-decor/text-decoration-propagation-shadow-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-propagation-shadow.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-serialization.tentative-expected.txt:
  • web-platform-tests/css/css-text-decor/text-decoration-serialization.tentative.html:
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-shorthands-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-003.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-004.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewayslr-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-sidewaysrl-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-upright-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-skip-ink-vertical-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-computed.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-initial-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-initial.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-linethrough-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-overline-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-overline-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-scroll-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-scroll-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-underline-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-underline-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-valid.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-thickness-vertical-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-horizontal-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-horizontal.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-ja-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical-ja.html: Added.
  • web-platform-tests/css/css-text-decor/text-decoration-underline-position-vertical.html: Added.
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-left-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-above-right-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-left-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-001-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-001.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-002-expected.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-position-below-right-002.xht:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-006-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-007-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-008-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-008.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-010-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-style-021-expected.html:
  • web-platform-tests/css/css-text-decor/text-emphasis-unrepresentable-characters-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-emphasis-unrepresentable-characters.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-002.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-computed-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-computed.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-initial-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-initial.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-invalid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-invalid.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-scroll-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-valid-expected.txt: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-valid.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-001.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002-expected.html: Added.
  • web-platform-tests/css/css-text-decor/text-underline-offset-vertical-002.html: Added.
  • web-platform-tests/css/css-text-decor/w3c-import.log:

LayoutTests:

Mark tests as failing.

5:21 PM Changeset in webkit [251688] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Fix sandbox violations
https://bugs.webkit.org/show_bug.cgi?id=203505

Reviewed by Brent Fulgham.

Running layout tests shows that allowing mach lookup is needed for a set of services which was previously denied.
This patch add rules for allowing these services again. The service 'com.apple.logd.events' is still denied, since
it has not been observed to be in use.

No new tests, covered by existing tests.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
5:09 PM Changeset in webkit [251687] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Unreviewed, rolling out r251675.

Broke some builds

Reverted changeset:

"Remove unused WKWebsiteDataStore setter SPI"
https://bugs.webkit.org/show_bug.cgi?id=203114
https://trac.webkit.org/changeset/251675

4:56 PM Changeset in webkit [251686] by Wenson Hsieh
  • 19 edits
    7 adds in trunk

Add bindings support for the enterkeyhint HTML attribute
https://bugs.webkit.org/show_bug.cgi?id=203440

Reviewed by Ryosuke Niwa.

Source/WebCore:

Work towards support for the enterkeyhint attribute. This patch introduces the new attribute to HTMLElement's
IDL; see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-enterkeyhint-attribute
for more information. This version of the spec was last updated October 25, 2019 (at time of writing).

Test: fast/forms/enterkeyhint-attribute-values.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/EnterKeyHint.cpp: Added.

Add a new helper file that declares a new EnterKeyHint enum type, as well as helper functions to map between
attribute values and EnterKeyHint values.

(WebCore::enterKeyHintForAttributeValue):
(WebCore::attributeValueForEnterKeyHint):

  • html/EnterKeyHint.h: Added.
  • html/HTMLAttributeNames.in:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::canonicalEnterKeyHint const):

Returns the canonical EnterKeyHint enum value, by inspecting the "enterkeyhint" attribute value.

(WebCore::HTMLElement::enterKeyHint const):
(WebCore::HTMLElement::setEnterKeyHint):

Implement enterKeyHint. Since enterkeyhint is a reflected HTML attribute with enumerated values, the setter sets
the attribute value and the getter returns the "canonicalized" attribute value.

  • html/HTMLElement.h:
  • html/HTMLElement.idl:

Add the new attribute. Note that this isn't marked as [Reflect] in IDL, since doing so would generate incorrect
bindings code. This is because we don't support reflection for enumerated attributes in our bindings generator
yet, so for now, we just match HTMLInputElement.type and HTMLElement.inputMode.

  • page/Settings.yaml:

Add a new runtime switch to guard the enterkeyhint attribute.

Source/WebKit:

Add a new runtime switch for the enterkeyhint attribute, and enable it by default on macOS and iOS.

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

LayoutTests:

  • fast/forms/enterkeyhint-attribute-values-expected.txt: Added.
  • fast/forms/enterkeyhint-attribute-values.html: Added.

Add a new layout test to exercise the new attribute (including case sensitivity, the default value, unknown
values, all known value types, and different types of elements).

  • platform/ios-wk2/TestExpectations:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt: Added.
  • platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/mac-wk2/TestExpectations:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-misc-expected.txt: Added.
  • platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:

Add some new baselines for some existing layout tests.

4:55 PM Changeset in webkit [251685] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Correcting expectations after r251666
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:42 PM Changeset in webkit [251684] by Ross Kirsling
  • 7 edits in trunk/Source/JavaScriptCore

[JSC] Lexer flags should be an OptionSet
https://bugs.webkit.org/show_bug.cgi?id=203032

Reviewed by Yusuke Suzuki.

LexerFlags has an annoyingly misspelled value LexexFlagsDontBuildKeywords;
let's use this as an opportunity to modernize this enum.

  • parser/ASTBuilder.h:
  • parser/Lexer.cpp:

(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):
(JSC::Lexer<T>::lexWithoutClearingLineTerminator):

  • parser/Lexer.h:

(JSC::Lexer<T>::lexExpectIdentifier):
(JSC::Lexer<T>::lex):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/Parser.h:

(JSC::Parser::next):
(JSC::Parser::nextWithoutClearingLineTerminator):
(JSC::Parser::nextExpectIdentifier):
(JSC::Parser::consume):

  • parser/SyntaxChecker.h:
4:29 PM Changeset in webkit [251683] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

editing/firstPositionInNode-crash.html in crashing in Debug
https://bugs.webkit.org/show_bug.cgi?id=203520

Reviewed by Ryosuke Niwa.

If positionInParentBeforeNode / positionInParentAfterNode on a node and editingIgnoresContent()
returns true for this node's parent, keep traversing ancestors until we find one for which
editingIgnoresContent() returns false.

No new tests, covered by editing/firstPositionInNode-crash.html.

  • dom/Position.cpp:

(WebCore::positionInParentBeforeNode):
(WebCore::positionInParentAfterNode):

  • dom/Position.h:
4:24 PM Changeset in webkit [251682] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Right-clicking in color picker should not select color
https://bugs.webkit.org/show_bug.cgi?id=203434

Reviewed by Devin Rousso.

  • UserInterface/Views/ColorSquare.js:

(WI.ColorSquare.prototype._handleMousedown):

4:12 PM Changeset in webkit [251681] by Alan Coon
  • 5 edits in tags/Safari-609.1.8

Cherry-pick r251598. rdar://problem/56480245

WebProcess should unregister its interest for a SWServerRegistration when all its corresponding ServiceWorkerRegistrations are destroyed
https://bugs.webkit.org/show_bug.cgi?id=203410

Reviewed by Chris Dumez.

Source/WebKit:

A SWServerRegistration is keeping a list of web processes that should be notified of change to its state.
Previously, WebProcesses were registering their interest to a SWServerRegistration on construction of a ServiceWorkerRegistration,
and unregistering their interest on destruction of a ServiceWorkerRegistration.

This does not work in case two ServiceWorkerRegistrations are created for the same SWServerRegistration in the same WebProcess.
In that case, when one of the two ServiceWorkerRegistration is destroyed, the WebProcess will no longer be notified of changes to the SWServerRegistration,
thus breaking the second ServiceWorkerRegistration behavior.

We introduce a map at WebProcess level to keep track of the number of ServiceWorkerRegistration created for a given SWServerRegistration.

Covered by re-enabled tests.

  • WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer): (WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::addServiceWorkerRegistration): (WebKit::WebProcess::removeServiceWorkerRegistration):
  • WebProcess/WebProcess.h:

LayoutTests:

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

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

4:09 PM Changeset in webkit [251680] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Hidden framesets should provide default edgeInfo value
https://bugs.webkit.org/show_bug.cgi?id=203506
<rdar://problem/56233726>

Reviewed by Simon Fraser.

Source/WebCore:

The grid information (and certain associated structures e.g. edegeInfo) for a frameset is updated through the layout() call.
When the used height/width computes to zero on a frameset child (frame or nested frameset), we don't run layout on the renderer thus
hidden nested framesets can only provide the default edge info.
This patch changes this behaviour and we now call layout on those hidden renderers the same way we do it on iOS.

Test: fast/frames/hidden-frameset.html

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::edgeInfo const):

LayoutTests:

  • fast/frames/hidden-frameset-expected.txt: Added.
  • fast/frames/hidden-frameset.html: Added.
3:41 PM Changeset in webkit [251679] by Kate Cheney
  • 2 edits in trunk/Tools

Added myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
3:10 PM Changeset in webkit [251678] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Drop code for X-Temp-Tablet HTTP header experiment
https://bugs.webkit.org/show_bug.cgi?id=203524
<rdar://problem/55791195>

Reviewed by Ryosuke Niwa.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceLoader.h:
3:07 PM Changeset in webkit [251677] by Chris Dumez
  • 11 edits
    9 adds in trunk/LayoutTests

Update html/semantics/forms WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=203499

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Re-sync html/semantics/forms WPT tests from upstream 23c1462333cb99f.

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-2-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-2.html: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit.html: Added.
  • web-platform-tests/html/semantics/forms/form-submission-0/resources/form-submission.py: Added.

(main):

  • web-platform-tests/html/semantics/forms/form-submission-0/resources/w3c-import.log:
  • web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html:
  • web-platform-tests/html/semantics/forms/form-submission-0/w3c-import.log:
  • web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html:
  • web-platform-tests/html/semantics/forms/the-input-element/range-setattribute-value-expected.html: Added.
  • web-platform-tests/html/semantics/forms/the-input-element/range-setattribute-value.html: Added.
  • web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:

LayoutTests:

Skip new ref-test that is failing.

  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:

Baseline existing WPT test.

2:57 PM Changeset in webkit [251676] by achristensen@apple.com
  • 16 edits in trunk

Remove unused _WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=203066

Reviewed by Youenn Fablet.

Source/WebKit:

After rdar://problem/56260478 this is not used, so away it goes!

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const): Deleted.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

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

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

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

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
(WebKit::globalCTDataConnectionServiceType): Deleted.
(WebKit::NetworkSessionCocoa::ctDataConnectionServiceType const): Deleted.
(WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType): Deleted.

  • NetworkProcess/ios/NetworkConnectionToWebProcessIOS.mm:

(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorCTDataConnectionServiceType):

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

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

(-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]): Deleted.
(-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]): Deleted.
(-[_WKProcessPoolConfiguration CTDataConnectionServiceType]): Deleted.
(-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]): Deleted.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:

(TEST):

2:52 PM Changeset in webkit [251675] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Remove unused WKWebsiteDataStore setter SPI
https://bugs.webkit.org/show_bug.cgi?id=203114

Reviewed by Anders Carlsson.

They have been replaced by _WKWebsiteDataStoreConfiguration SPI which was adopted in rdar://problem/56349165

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _setBoundInterfaceIdentifier:]): Deleted.
(-[WKWebsiteDataStore _boundInterfaceIdentifier]): Deleted.
(-[WKWebsiteDataStore _setAllowsCellularAccess:]): Deleted.
(-[WKWebsiteDataStore _allowsCellularAccess]): Deleted.
(-[WKWebsiteDataStore _setProxyConfiguration:]): Deleted.
(-[WKWebsiteDataStore _proxyConfiguration]): Deleted.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::setBoundInterfaceIdentifier): Deleted.
(WebKit::WebsiteDataStore::setAllowsCellularAccess): Deleted.
(WebKit::WebsiteDataStore::setProxyConfiguration): Deleted.

2:46 PM Changeset in webkit [251674] by Dewei Zhu
  • 4 edits in trunk/Websites/perf.webkit.org

Fix a bug that cannot unhide a platform.
https://bugs.webkit.org/show_bug.cgi?id=203521

Reviewed by Ryosuke Niwa.

Before this change, the there is no value in POST when 'hidden' checkbox is unchecked.
Then the update will fail because platform_hidden cannot be NULL.

  • public/admin/platforms.php: Adapted 'update_boolean_field'.
  • public/admin/triggerables.php: Adapted 'update_boolean_field'.
  • public/include/admin-header.php: Added 'update_boolean_field' helper function to set explict

boolean value for update.

2:42 PM Changeset in webkit [251673] by beidson@apple.com
  • 5 edits in trunk

Expose _printOperationWithPrintInfo: SPI as API
<rdar://problem/36557179> and https://bugs.webkit.org/show_bug.cgi?id=203496

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView printOperationWithPrintInfo:]):
(-[WKWebView _printOperationWithPrintInfo:]):

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController printWebView:]):

2:38 PM Changeset in webkit [251672] by Kate Cheney
  • 8 edits in trunk/Source/WebKit

Layout Test http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203491
<rdar://problem/56674176>

Reviewed by Chris Dumez.

No new tests, this change is tested by the existing resourceLoadStatistics
tests.

This test started flaking when a new memory store was being created
between tests to maintain consistency. The call to grandfatherExistingWebsiteData
from populateMemoryStoreFromDisk in the persistent storage was
async, causing a race condition that led to occasional failures.
Adding a completion handler and changing the callsite of
populateMemoryStoreFromDisk should fix this problem.

  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp:

(WebKit::ResourceLoadStatisticsPersistentStorage::ResourceLoadStatisticsPersistentStorage):

  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
The persistent store in the databaseEnabled case was never being used
and is unnecessary.

(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):
Since persistent storage only exists when using the memory store,
populateMemoryStoreFromDisk should check if
m_persistentStorage has been initialized.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::setUseITPDatabase):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
(WebKit::NetworkSession::recreateResourceLoadStatisticStore):

  • NetworkProcess/NetworkSession.h:
2:13 PM Changeset in webkit [251671] by ysuzuki@apple.com
  • 8 edits
    2 adds in trunk

[JSC] Optimize Promise runtime functions
https://bugs.webkit.org/show_bug.cgi?id=203454

Reviewed by Keith Miller.

JSTests:

  • microbenchmarks/promise-reject.js: Added.
  • microbenchmarks/promise-resolve.js: Added.

Source/JavaScriptCore:

This patch optimizes Promise runtime functions a bit.

  1. Add fast paths to Promise.resolve / Promise.reject.
  2. Remove state check in async-functions. Unlike generators, async-function's next function is not exposed to users. It is called by runtime so we can control state perfectly.
  3. Add "enqueueJob" name to make sampling profiler work for this function.
  4. Make Promise/InternalPromise constructor inlinable size

ToT Patched

promise-creation-many 25.5794+-0.3681 22.5410+-0.3229 definitely 1.1348x faster
promise-resolve 32.3793+-0.4252 9.4219+-0.1114 definitely 3.4366x faster
promise-reject 108.5968+-0.7741 36.9383+-0.3770 definitely 2.9400x faster

  • builtins/AsyncFunctionPrototype.js:

(globalPrivate.asyncFunctionResume):

  • builtins/PromiseConstructor.js:

(reject):
(resolve):
(nakedConstructor.Promise.reject):
(nakedConstructor.Promise):
(nakedConstructor.InternalPromise.reject):
(nakedConstructor.InternalPromise):
(nakedConstructor.Promise.resolve): Deleted.
(nakedConstructor.InternalPromise.resolve): Deleted.

  • builtins/PromiseOperations.js:

(globalPrivate.newPromiseCapability.resolve):
(globalPrivate.newPromiseCapability.reject):
(globalPrivate.newPromiseCapability):
(globalPrivate.promiseResolveSlow):
(globalPrivate.promiseRejectSlow):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

LayoutTests:

  • inspector/console/message-stack-trace-expected.txt:
1:50 PM Changeset in webkit [251670] by Jonathan Bedard
  • 4 edits in trunk/Tools

results.webkit.org: Show results which are missing expectations
https://bugs.webkit.org/show_bug.cgi?id=203494
<rdar://problem/56436643>

Reviewed by Aakash Jain.

  • resultsdbpy/resultsdbpy/view/static/css/timeline.css:

(.dot.warning): Add warning dot with dark-orange color.

  • resultsdbpy/resultsdbpy/view/static/js/expectations.js:

(Expectations.colorMap): Add warning.
(Expectations.failureTypes): Ditto.
(Expectations.failureTypeMap): Ditto.
(Expectations.symbolMap): Ditto.

  • resultsdbpy/resultsdbpy/view/static/js/timeline.js:

(Legend): Add warning bubble.

1:44 PM Changeset in webkit [251669] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Use FTLOutput::callWithoutSideEffects if operation does not have side effects
https://bugs.webkit.org/show_bug.cgi?id=203485

Reviewed by Mark Lam.

This makes Call's Effect none, and encourages optimizations around it.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32):
(JSC::FTL::DFG::LowerDFGToB3::jsValueToStrictInt52):

1:32 PM Changeset in webkit [251668] by Simon Fraser
  • 17 edits in trunk

Properties that take <position> should not accept 3 values
https://bugs.webkit.org/show_bug.cgi?id=189142
LayoutTests/imported/w3c:

<rdar://problem/44110851>

Reviewed by Antti Koivisto.

New PASS results.

  • web-platform-tests/css/css-images/parsing/gradient-position-invalid-expected.txt:
  • web-platform-tests/css/css-images/parsing/object-position-invalid-expected.txt:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-position-expected.txt:

Source/WebCore:

Reviewed by Antti Koivisto.

The resolution in https://github.com/w3c/csswg-drafts/issues/2140 changed the syntax for <position>,
disallowing the 3-value syntax. This is used in object-position, gradients and shapes. background-position
continues to use the old syntax.

Fix CSS parsing accordingly.

Tested by css-images WPT, by shapes tests, and object-position tests.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::consumePerspectiveOrigin):
(WebCore::consumeBasicShapeCircle):
(WebCore::consumeBasicShapeEllipse):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::consumeBackgroundPosition):
(WebCore::CSSPropertyParser::consumeBackgroundShorthand):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::backgroundPositionFromThreeValues):
(WebCore::CSSPropertyParserHelpers::positionFromFourValues):
(WebCore::CSSPropertyParserHelpers::consumePosition):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeConicGradient):
(WebCore::CSSPropertyParserHelpers::positionFromThreeOrFourValues): Deleted.

  • css/parser/CSSPropertyParserHelpers.h:

LayoutTests:

Reviewed by Antti Koivisto.

Land some FAIL results for these shapes tests. They should get removed when
the css/css-shapes WPT are imported (webkit.org/b/203441), though the WPT
haven't been updated for the new syntax either.

  • css3/shapes/shape-outside/values/shape-outside-circle-002-expected.txt:
  • css3/shapes/shape-outside/values/shape-outside-circle-004-expected.txt:
  • css3/shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt:
  • css3/shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt:
  • fast/css/object-position/parsing-object-position-expected.txt:
  • fast/css/object-position/parsing-object-position.html: Remove the invalid position test.
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js: Remove the invalid position tests.
1:21 PM Changeset in webkit [251667] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

dumpSpeculation in SpeculatedType.cpp prints to the wrong stream and has wrong capitalization for NaN
https://bugs.webkit.org/show_bug.cgi?id=203486

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

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):

1:09 PM Changeset in webkit [251666] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Two imported tests from r251591 are failing
https://bugs.webkit.org/show_bug.cgi?id=203501

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:58 PM Changeset in webkit [251665] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

[iOS] 3 editing/pasteboard/smart-paste-paragraph-* tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=203264
<rdar://problem/56512107>

Reviewed by Tim Horton.

Fixes several flaky layout tests that exercise a corner case in our logic for caching position information
responses in the UI process. When focusing an element via a tap, we send a position information request for the
tap location in -_webTouchEventsRecognized:. After the web process computes the information and hands it back to
the UI process, we cache this in WKContentView's _positionInformation.

However, at the time of computing the request, the tapped element has not been focused yet, so the value of the
position information's nodeAtPositionIsFocusedElement flag is false. After the tap is recognized, we'll then
focus the element, such that if a subsequent position information request were to arrive at the same location,
it would have a nodeAtPositionIsFocusedElement flag set to true.

In this state, if the user taps _exactly_ at the same location again, UIKit (through text interaction gestures)
will ask us for information at the same point; we will end up using the cached information, for which
nodeAtPositionIsFocusedElement is false, causing us to incorrectly prevent the text interaction. In this
particular case, we fail to select text via a double tap gesture.

To address this, we invalidate the cached position information in the UI process whenever the focused element
rect changes (e.g. when the focused element changes); the only exception to this is when the previously cached
position information was not over the focused element, and the new focused element rect is empty, in which case
the value of nodeAtPositionIsFocusedElement is guaranteed to have not changed.

While this may potentially leads to an additional synchronous position information request when tapping at the
same location after focusing an element, this is very difficult to achieve in practice, since the tap location
would need to be _exactly_ at the same location.

No new test, since this is exercised by existing flaky layout tests.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView _elementDidBlur]):

Also, add a FIXME about how we clear out surprisingly little of _focusedElementInformation when blurring the
focused element.

(-[WKContentView _didChangeFocusedElementRect:toRect:]):

12:52 PM Changeset in webkit [251664] by Simon Fraser
  • 1 edit
    2 adds in trunk/LayoutTests/imported/w3c

Flaky Test: imported/w3c/web-platform-tests/css/css-position/position-absolute-crash-chrome-005.html
https://bugs.webkit.org/show_bug.cgi?id=203473
https://bugs.webkit.org/show_bug.cgi?id=203474

Unreviewed test gardening.

Add missing results (missing because these tests assert in debug).

  • web-platform-tests/css/css-position/position-absolute-container-dynamic-002-expected.txt: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-005-expected.txt: Added.
12:45 PM Changeset in webkit [251663] by wilander@apple.com
  • 16 edits
    16 adds in trunk

Storage Access API: Make the API work with the experimental 3rd-party cookie blocking
https://bugs.webkit.org/show_bug.cgi?id=203428
<rdar://problem/56626949>

Reviewed by Alex Christensen.

Source/WebKit:

Tests: http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking.html

http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html
http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html
http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie.html

This patch adds Storage Access API support for the experimental 3rd-party cookie blocking that
landed in <https://trac.webkit.org/changeset/251467>.

There are three policies at play because it can be changed with the experimental setting:

  1. The underlying cookie policy.
  2. Shipping ITP.
  3. The off by default, experimental 3rd-party cookie blocking.

To support them all, a CookieAccess enum was added to encode how the API should respond.
The enum has these values:
CannotRequest - This third-party cannot request storage access based on the current policy.
BasedOnCookiePolicy – This third-party should be treated according to the underlying cookie policy.
OnlyIfGranted – This third-party can and must get access through the Storage Access API.

Here's the truth table I used to work through the logic for both
document.hasStorageAccess() and document.requestStorageAccess():

Access | Is | User | Has | 3rd-party | |
granted | prevalent | interaction | cookie | cookie block | RESULT |


| | | |  | | false |


| | | |  | true | false |


| | | | true | | true |


| | | | true | true | false |


| | | true |  | | false |


| | | true |  | true | false |


| | | true | true | | true |


| | | true | true | true | false |


| | true | !care | !care | !care | false |


| true | !care | !care | !care | !care | true |


  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess const):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener):

Extra checks removed since there's no harm in granting access
to a third-party that already has access by way of the underlying
cookie policy. Also, this is a temporary compatibility fix.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::cookieAccess const):
(WebKit::ResourceLoadStatisticsMemoryStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccessUnderOpener):

Extra checks removed since there's no harm in granting access
to a third-party that already has access by way of the underlying
cookie policy. Also, this is a temporary compatibility fix.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
  • NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:

(WebKit::ResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled):
(WebKit::ResourceLoadStatisticsStore::isThirdPartyCookieBlockingEnabled const):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled):

This is now the single path to control this setting in both ITP
and the network storage session. See comment below.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::setShouldBlockThirdPartyCookiesForTesting):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
(WebKit::NetworkSession::setIsThirdPartyCookieBlockingEnabled):

Restructured these so that they are initiated like the rest of the
parameters and only have a single path for changes so that a
reset to consistent state resets all the state.

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

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

Tools:

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
(WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):

Both of these were missing resets of their m_hasSet*Callback booleans.

LayoutTests:

  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database-expected.txt: Added.
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-database.html: Added.
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking-expected.txt: Added.
  • http/tests/storageAccess/deny-due-to-no-interaction-under-general-third-party-cookie-blocking.html: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-expected.txt: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies.html:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-database.html: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-without-cookie.html: Added.
11:56 AM Changeset in webkit [251662] by Simon Fraser
  • 24 edits in trunk

Add support for the Q unit
https://bugs.webkit.org/show_bug.cgi?id=203469

Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:

Add support for the CSS "Q" unit (quater-millimeter):
<https://drafts.csswg.org/css-values-4/#Q>

  • web-platform-tests/css/css-values/absolute-length-units-001-expected.txt:
  • web-platform-tests/css/css-values/calc-serialization-002-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-percent-serialize-expected.txt:
  • web-platform-tests/css/css-values/minmax-length-serialize-expected.txt:

Source/WebCore:

Add support for the CSS "Q" unit (quater-millimeter):
<https://drafts.csswg.org/css-values-4/#Q>

Tested by web platform tests.

  • css/CSSCalculationValue.cpp:

(WebCore::unitCategory):
(WebCore::hasDoubleValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::unitCategory):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
(WebCore::CSSPrimitiveValue::equals const):

  • css/CSSPrimitiveValue.h:

(WebCore::CSSPrimitiveValue::isLength):

  • css/parser/CSSParserToken.cpp:

(WebCore::cssPrimitiveValueUnitFromTrie):

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeLength):

  • editing/cocoa/HTMLConverter.mm:

(floatValueFromPrimitiveValue):

LayoutTests:

More tests now pass.

  • TestExpectations:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt:
  • fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-values/minmax-length-computed-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-values/minmax-length-percent-computed-expected.txt:
11:43 AM Changeset in webkit [251661] by Jonathan Bedard
  • 6 edits in trunk/Tools

results.webkit.org: Report more descriptive configurations for non-Apple ports
https://bugs.webkit.org/show_bug.cgi?id=203490
<rdar://problem/56658244>

Reviewed by Carlos Alberto Lopez Perez.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort):
(GtkPort.configuration_for_upload): Return use GTK as the platform.

  • Scripts/webkitpy/port/gtk_unittest.py:

(GtkPortTest):
(GtkPortTest.test_default_upload_configuration):

  • Scripts/webkitpy/port/win.py:

(WinCairoPort.configuration_for_upload): Use wincairo as the platform.

  • Scripts/webkitpy/port/wpe.py:

(WPEPort):
(WPEPort.configuration_for_upload): Use WPE as the platform.

  • Scripts/webkitpy/port/wpe_unittest.py:

(WPEPortTest):
(WPEPortTest.test_default_upload_configuration):

11:26 AM Changeset in webkit [251660] by achristensen@apple.com
  • 3 edits in trunk/LayoutTests

Remove flaky debug log from WK1 expectations after r251582
https://bugs.webkit.org/show_bug.cgi?id=203383

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt:

The important part of this test is that there are 3 PASSes, not that the console log is consistent.

10:53 AM Changeset in webkit [251659] by achristensen@apple.com
  • 9 edits in trunk/Source

Remove unused NetworkProcessCreationParameters.urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest
https://bugs.webkit.org/show_bug.cgi?id=203393

Reviewed by Chris Dumez.

Source/WebCore:

  • platform/LegacySchemeRegistry.cpp:

(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::LegacySchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::LegacySchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):

Source/WebKit:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::registerURLSchemeAsCanDisplayOnlyIfCanRequest const): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::registerURLSchemeAsCanDisplayOnlyIfCanRequest):

10:01 AM Changeset in webkit [251658] by graouts@webkit.org
  • 22 edits in trunk

CSS Transitions and CSS Animations properties should treat unitless 0 as an invalid value for times
https://bugs.webkit.org/show_bug.cgi?id=203484

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-animations/parsing/animation-delay-invalid-expected.txt:
  • web-platform-tests/css/css-animations/parsing/animation-duration-invalid-expected.txt:
  • web-platform-tests/css/css-transitions/parsing/transition-delay-invalid-expected.txt:

Source/WebCore:

The CSS specification does not allow for "0" as a valid time (https://drafts.csswg.org/css-values-3/#time).
We change the way we parse time values to only allow for "0" if the UnitlessQuirk is set to Allow, which is
only the case for the -webkit-marquee-speed property.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeTime):

Source/WebInspectorUI:

Use 0s instead of 0 in places where unitless times were used but shouldn't have been.

  • UserInterface/Views/FindBanner.css:

(.no-find-banner-transition:matches(.find-banner, .supports-find-banner)):

  • UserInterface/Views/TabBar.css:

(.tab-bar > .item > .close):

LayoutTests:

Use 0s instead of 0 in places where unitless times were used but shouldn't have been.

  • animations/fill-mode-forwards-zero-duration.html:
  • compositing/animation/keyframe-order.html:
  • css1/units/zero-duration-without-units.html:
  • legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html:
  • legacy-animation-engine/compositing/animation/keyframe-order.html:
  • legacy-animation-engine/css1/units/zero-duration-without-units.html:
  • legacy-animation-engine/transitions/zero-duration-in-list.html:
  • legacy-animation-engine/transitions/zero-duration-without-units.html:
  • transitions/zero-duration-in-list.html:
  • transitions/zero-duration-without-units.html:
  • webanimations/css-animations-expected.txt:
  • webanimations/css-animations.html:
9:59 AM Changeset in webkit [251657] by graouts@webkit.org
  • 5 edits in trunk

[Web Animations] The easing property for a CSSTransition effect is always "linear"
https://bugs.webkit.org/show_bug.cgi?id=203476

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-transitions/AnimationEffect-getComputedTiming.tentative-expected.txt:

Source/WebCore:

While we correctly used the timing function set on the Animation object created while parsing a CSS Transition
for blending, we wouldn't set the timing function on the CSSTransition's AnimationEffect and it would not be
reflected correctly through the JS API. This also means that we shouldn't perform per-keyframe blending for CSS
Transitions.

  • animation/CSSTransition.cpp:

(WebCore::CSSTransition::setTimingProperties):

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle):

9:25 AM Changeset in webkit [251656] by clopez@igalia.com
  • 9 edits in trunk

[GTK][WPE] Enable CSS typed OM
https://bugs.webkit.org/show_bug.cgi?id=192875

Reviewed by Carlos Garcia Campos.

.:

This enables the feature when building with experimental features enabled.

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

Source/WebKit:

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

Covered by existing tests.

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

LayoutTests:

Unskip the tests that now pass.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
9:02 AM Changeset in webkit [251655] by Simon Fraser
  • 30 edits
    1 copy in trunk

Can't change @font-face descriptors from fontFaceRule.style.setProperty()
https://bugs.webkit.org/show_bug.cgi?id=177975
<rdar://problem/56648761>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

More passing subtests.

  • web-platform-tests/css/css-syntax/urange-parsing-expected.txt:

Source/WebCore:

When parsing properties via PropertySetCSSStyleDeclaration::setProperty() (called from
script as rule.style.setProperty()), CSSPropertyParser::parseValue() needs to know if
we're parsing properties in a @font-face or @viewport rule, since some properties are
only allowed in these contexts.

Achieve this by adding to CSSParserContext an Optional<enclosingRuleType>, which gets set
for font-face and viewport rules. This gets set by StyleRuleCSSStyleDeclaration::cssParserContext()
based on the type of the parent rule.

Moved StyleRule::Type to its own header so CSSParserContext can use it. Added compile-time asserts
that the values match CSSRule::Type (fixing one of them).

Also fix <urange> serialization when start and end values are the same.

Test: web-platform-tests/css/css-syntax/urange-parsing.html

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSKeyframeRule.cpp:

(WebCore::StyleRuleKeyframe::StyleRuleKeyframe):

  • css/CSSKeyframesRule.cpp:

(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):

  • css/CSSPropertySourceData.h:

(WebCore::CSSRuleSourceData::create):
(WebCore::CSSRuleSourceData::createUnknown):
(WebCore::CSSRuleSourceData::CSSRuleSourceData):

  • css/CSSRule.cpp:
  • css/CSSUnicodeRangeValue.cpp:

(WebCore::CSSUnicodeRangeValue::customCSSText const):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::StyleRuleCSSStyleDeclaration::cssParserContext const):

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRulePage::StyleRulePage):
(WebCore::StyleRuleFontFace::StyleRuleFontFace):
(WebCore::StyleRuleGroup::StyleRuleGroup):
(WebCore::StyleRuleMedia::StyleRuleMedia):
(WebCore::StyleRuleSupports::StyleRuleSupports):
(WebCore::StyleRuleViewport::StyleRuleViewport):
(WebCore::StyleRuleCharset::StyleRuleCharset):
(WebCore::StyleRuleNamespace::StyleRuleNamespace):

  • css/StyleRule.h:

(WebCore::StyleRuleBase::type const):
(WebCore::StyleRuleBase::isCharsetRule const):
(WebCore::StyleRuleBase::isFontFaceRule const):
(WebCore::StyleRuleBase::isKeyframesRule const):
(WebCore::StyleRuleBase::isKeyframeRule const):
(WebCore::StyleRuleBase::isNamespaceRule const):
(WebCore::StyleRuleBase::isMediaRule const):
(WebCore::StyleRuleBase::isPageRule const):
(WebCore::StyleRuleBase::isStyleRule const):
(WebCore::StyleRuleBase::isSupportsRule const):
(WebCore::StyleRuleBase::isViewportRule const):
(WebCore::StyleRuleBase::isImportRule const):
(WebCore::StyleRuleBase::StyleRuleBase):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::StyleRuleImport):

  • css/StyleRuleImport.h:
  • css/StyleRuleType.h: Copied from Source/WebCore/css/CSSUnicodeRangeValue.cpp.
  • css/StyleSheetContents.cpp:

(WebCore::traverseRulesInVector):
(WebCore::StyleSheetContents::traverseSubresources const):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSParserContext.h:
  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::parseValue):
(WebCore::CSSParserImpl::parseInlineStyleDeclaration):
(WebCore::CSSParserImpl::parseDeferredDeclaration):
(WebCore::CSSParserImpl::parseDeclarationList):
(WebCore::CSSParserImpl::supportsDeclaration):
(WebCore::CSSParserImpl::parseDeclarationListForInspector):
(WebCore::CSSParserImpl::consumeImportRule):
(WebCore::CSSParserImpl::consumeMediaRule):
(WebCore::CSSParserImpl::consumeSupportsRule):
(WebCore::CSSParserImpl::consumeViewportRule):
(WebCore::CSSParserImpl::consumeFontFaceRule):
(WebCore::CSSParserImpl::consumeKeyframesRule):
(WebCore::CSSParserImpl::consumePageRule):
(WebCore::CSSParserImpl::consumeKeyframeStyleRule):
(WebCore::observeSelectors):
(WebCore::CSSParserImpl::consumeStyleRule):
(WebCore::CSSParserImpl::consumeDeclarationList):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeDeclarationValue):

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSParserObserver.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseValue):

  • css/parser/CSSPropertyParser.h:
  • css/parser/CSSTokenizer.cpp:

(WebCore::CSSTokenizer::letterU):

  • inspector/InspectorStyleSheet.cpp:

(flattenSourceData):
(WebCore::StyleSheetHandler::startRuleHeader):
(WebCore::InspectorStyleSheetForInlineStyle::ruleSourceData const):

LayoutTests:

Fix tests for the urange serialization fix.

  • fast/text/font-face-javascript-expected.txt:
  • fast/text/font-face-javascript.html:
  • fast/text/unicode-range-javascript-expected.txt:
  • fast/text/unicode-range-javascript.html:
8:06 AM Changeset in webkit [251654] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

It's causing crashes in several tests (Requested by KaL on
#webkit).

Reverted changeset:

"ImageDecoders: use a thread safe data buffer for Cairo
backing store"
https://bugs.webkit.org/show_bug.cgi?id=201727
https://trac.webkit.org/changeset/251651

7:57 AM Changeset in webkit [251653] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] Improve summary for CompileWebKit and CompileJSC build step
https://bugs.webkit.org/show_bug.cgi?id=203487

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(CompileWebKit.getResultSummary): Method to generate custom status message.
(CompileJSC.getResultSummary): Ditto.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
3:31 AM Changeset in webkit [251652] by Fujii Hironori
  • 2 edits in trunk/Source/JavaScriptCore

[Windows][Clang] error LNK2001: unresolved external symbol "void * cdecl JSC::allocateCell<class JSC::JSGenericTypedArrayView<struct JSC::Float32Adaptor> >(class JSC::Heap &,unsigned int64)"
https://bugs.webkit.org/show_bug.cgi?id=203483

Unreviewed build fix for clang-cl builds.

  • runtime/JSGenericTypedArrayViewInlines.h: Added #include "JSCellInlines.h".
3:12 AM Changeset in webkit [251651] by cturner@igalia.com
  • 3 edits in trunk/Source/WebCore

ImageDecoders: use a thread safe data buffer for Cairo backing store
https://bugs.webkit.org/show_bug.cgi?id=201727

Reviewed by Carlos Garcia Campos.

When an image resource gets cached and replaces an existing image,
CachedImage::didReplaceSharedBufferContents is called, which
destroys the decoder in the BitmapImage class. This decoder can be
initialized from any thread via
ImageSource::ensureDecoderAvailable. On GTK/WPE, this dispatches
to a ScalableImageDecoder, which contains a vector of
ScalableImageDecoderFrame's, which contain ImageBackingStore's,
which for reasons related to Cairo, contain a RefCounted
SharedBuffer of pixel data.

The problem is that the CachedImage's decoders can be
created/destroyed on different threads, so a thread-safe buffer
class is required to hold these data, and pass them safely into
cairo_image_surface_create_for_data rather than a SharedBuffer
which must be created/destroyed on the main-thread.

Covered by existing tests.

  • platform/graphics/ImageBackingStore.h: Create a small

thread-safe utility class to hold the RGBA pixel data.
(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::clear):
(WebCore::ImageBackingStore::pixelAt const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::create):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::zeroPixelData):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::pixelAt const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::data const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::isValid const):
(WebCore::ImageBackingStore::ThreadSafeRGBAPixelBuffer::RGBAPixelBufferThreadSafeRefCounted):
(WebCore::ImageBackingStore::ImageBackingStore):

  • platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:

(WebCore::ImageBackingStore::image const):

2:24 AM Changeset in webkit [251650] by Carlos Garcia Campos
  • 19 edits
    1 delete in trunk/Source

[GTK] Simplify the Input Method implementation
https://bugs.webkit.org/show_bug.cgi?id=203149

Reviewed by Adrian Perez de Castro.

Source/WebCore:

Remove CompositionResults and remove dead code in PlatformKeyboardEventGtk.

  • PlatformGTK.cmake:
  • platform/PlatformKeyboardEvent.h:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/gtk/CompositionResults.h: Removed.
  • platform/gtk/PlatformKeyboardEventGtk.cpp:

(WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):

Source/WebKit:

  • Shared/NativeWebKeyboardEvent.h: Stop using WebCore::CompositionResults.

(WebKit::NativeWebKeyboardEvent::text const):
(WebKit::NativeWebKeyboardEvent::handledByInputMethod const):
(WebKit::NativeWebKeyboardEvent::fakedForComposition const):

  • Shared/gtk/NativeWebKeyboardEventGtk.cpp: Ditto.

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebKeyboardEvent): Ditto.

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

(WebKit::PageClientImpl::doneWithKeyEvent): Updated to use the new name.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp: Stop using WebCore::CompositionResults.

(webkitWebViewBaseKeyPressEvent):
(webkitWebViewBaseKeyReleaseEvent):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Remove unused function.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setComposition): Use EditingRange instead of two integers and remove replacement range
that is unused.
(WebKit::WebPageProxy::confirmComposition): Remove unused selection range parameters.

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::handleKeyboardEvent):
(WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults):
(WebKit::InputMethodFilter::confirmComposition):
(WebKit::InputMethodFilter::updatePreedit):
(WebKit::InputMethodFilter::confirmCurrentComposition):
(WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
(WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):

  • UIProcess/gtk/InputMethodFilter.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::targetFrameForEditing): Receive a reference instead of a pointer.
(WebKit::WebPage::confirmComposition): Remove the unused code to handle the selection range.
(WebKit::WebPage::setComposition): Remove the unused code to handle the replacement range.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
1:08 AM Changeset in webkit [251649] by graouts@webkit.org
  • 5 edits in trunk

[Web Animations] getKeyframes() doesn't return the right timing function for declarative animations
https://bugs.webkit.org/show_bug.cgi?id=203475

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/css/css-animations/KeyframeEffect-getKeyframes.tentative-expected.txt:
  • web-platform-tests/css/css-transitions/KeyframeEffect-getKeyframes.tentative-expected.txt:

Source/WebCore:

We had two bugs for declarative animations and the "easing" property for keyframes returned by KeyframeEffect::getKeyframes().
First, we should return "linear" for all keyframes for CSS Transitions since the transition-timing-function is set as the "easing"
property of the effect itself, not any indvidual keyframe. Then, we would always return the "easing" of the first keyframe while
iterating over keyframes, which was an oversight.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::getKeyframes):

12:54 AM Changeset in webkit [251648] by graouts@webkit.org
  • 3 edits in trunk/LayoutTests

[Web Animations] Update WPT tests related to Web Animations and remove imported Mozilla tests
https://bugs.webkit.org/show_bug.cgi?id=203291

Unreviewed test gardening.

Oct 27, 2019:

9:49 PM Changeset in webkit [251647] by Simon Fraser
  • 37 edits in trunk

LayoutTests/imported/w3c:
Fix nth-child An+B serialization to match the spc
https://bugs.webkit.org/show_bug.cgi?id=203464

Reviewed by Antti Koivisto.

New passing results.

  • web-platform-tests/css/css-syntax/anb-parsing-expected.txt:
  • web-platform-tests/css/css-syntax/anb-serialization-expected.txt:
  • web-platform-tests/css/cssom/selectorSerialize-expected.txt:
  • web-platform-tests/css/selectors/anplusb-selector-parsing-expected.txt:

Source/WebCore:
Fix nth-child An+B serialization to match the spec
https://bugs.webkit.org/show_bug.cgi?id=203464

Reviewed by Antti Koivisto.

The spec says to expand "odd" and "even" to "2n+1" and "2n", and to simplify
things like "1n+1" and "0n"

Tested by existing tests.

  • css/CSSSelector.cpp:

(WebCore::outputNthChildAnPlusB):
(WebCore::CSSSelector::selectorText const):

LayoutTests:
Fix nth-child An+B serialization to match the spc
https://bugs.webkit.org/show_bug.cgi?id=203464

Reviewed by Antti Koivisto.

New results. Some tests that assumed that the selectors simply round-trip had to be
fixed to supply test and expected selectors.

  • css3/parsing-css3-nthchild-expected.txt:
  • css3/parsing-css3-nthchild.html:
  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/parsing-css-matches-1-expected.txt:
  • fast/css/parsing-css-matches-1.html:
  • fast/css/parsing-css-matches-2-expected.txt:
  • fast/css/parsing-css-matches-2.html:
  • fast/css/parsing-css-matches-4-expected.txt:
  • fast/css/parsing-css-matches-4.html:
  • fast/css/parsing-css-not-1-expected.txt:
  • fast/css/parsing-css-not-1.html:
  • fast/css/parsing-css-not-2-expected.txt:
  • fast/css/parsing-css-not-2.html:
  • fast/css/parsing-css-not-4-expected.txt:
  • fast/css/parsing-css-not-4.html:
  • fast/css/parsing-css-nth-child-expected.txt:
  • fast/css/parsing-css-nth-child-of-1-expected.txt:
  • fast/css/parsing-css-nth-child-of-1.html:
  • fast/css/parsing-css-nth-child-of-2-expected.txt:
  • fast/css/parsing-css-nth-child-of-2.html:
  • fast/css/parsing-css-nth-child.html:
  • fast/css/parsing-css-nth-last-child-of-1-expected.txt:
  • fast/css/parsing-css-nth-last-child-of-1.html:
  • fast/css/parsing-css-nth-last-child-of-2-expected.txt:
  • fast/css/parsing-css-nth-last-child-of-2.html:
  • fast/dom/css-selectorText-expected.txt:
7:48 PM Changeset in webkit [251646] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for !ENABLE(MEDIA_STREAM) builds
https://bugs.webkit.org/show_bug.cgi?id=203362
<rdar://problem/56648232>

  • UIProcess/UserMediaPermissionRequestProxy.h: Enclosed isUserGesturePriviledged with #if ENABLE(MEDIA_STREAM).
3:53 PM Changeset in webkit [251645] by jiewen_tan@apple.com
  • 24 edits
    1 add in trunk

[WebAuthn] Warn users when multiple NFC tags present
https://bugs.webkit.org/show_bug.cgi?id=200932
<rdar://problem/54890736>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new tests in existing test file.

  • testing/MockWebAuthenticationConfiguration.h:

(WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::encode const):
(WebCore::MockWebAuthenticationConfiguration::NfcConfiguration::decode):

  • testing/MockWebAuthenticationConfiguration.idl:

Adds a new test option.

Source/WebKit:

This patch utilizes -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] to
inform clients about multiple physical tags are presenting such that clients can instruct users
to select only one of them physically. Given a physical tag could have multiple different
interfaces, which NearField will treat them into different NFTags, the tagID is then used to
identify if there are actually multiple physical tags.

This patch also adds the ability to restart polling of a partiuclar NFReaderSession to NfcConnection
and the ability to restart the whole session to NfcService. The former is used to recover from errors
in the discovery stages, and the latter is used to recover from errors returned from authenticators
in the request stages. For the latter, given NfcConnection is not awared of the syntax of FIDO2/U2F
protocol, and CtapAuthenticator/U2fAuthenticator are not awared the transport of the underneath driver.
A generic restartDiscovery process is added to each service and it is up to the actual service to
implement the actual process such that AuthenticatorManager can arbitrarily call it after exceptions
are returned to restart the whole NFC session. To achieve restartDiscovery, NfcConnection is made
RefCounted as well such that both the NfcService and the CtapNfcDriver could hold it at the same time.
CtapNfcDriver uses the connection to complete requests as before while NfcService has the new capability
to use it to stop the current session when restartDiscovery kicks off.

  • Platform/spi/Cocoa/NearFieldSPI.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::serviceStatusUpdated):
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::restartDiscovery):

  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp:

(WebKit::AuthenticatorTransportService::startDiscovery):
(WebKit::AuthenticatorTransportService::restartDiscovery):

  • UIProcess/WebAuthentication/AuthenticatorTransportService.h:

(WebKit::AuthenticatorTransportService::restartDiscoveryInternal):

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.h:
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm:

(WebKit::NfcConnection::create):
(WebKit::NfcConnection::NfcConnection):
(WebKit::NfcConnection::~NfcConnection):
(WebKit::NfcConnection::stop const):
(WebKit::NfcConnection::didDetectTags):
(WebKit::NfcConnection::restartPolling):
(WebKit::NfcConnection::startPolling):
(WebKit::NfcConnection::didDetectTags const): Deleted.

  • UIProcess/WebAuthentication/Cocoa/NfcService.h:
  • UIProcess/WebAuthentication/Cocoa/NfcService.mm:

(WebKit::NfcService::NfcService):
(WebKit::NfcService::didConnectTag):
(WebKit::NfcService::didDetectMultipleTags const):
(WebKit::NfcService::setConnection):
(WebKit::NfcService::restartDiscoveryInternal):
(WebKit::NfcService::platformStartDiscovery):
(WebKit::NfcService::setDriver): Deleted.

  • UIProcess/WebAuthentication/Mock/MockNfcService.h:
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm:

(-[WKMockNFTag tagID]):
(-[WKMockNFTag initWithNFTag:]):
(-[WKMockNFTag dealloc]):
(-[WKMockNFTag initWithType:]):
(-[WKMockNFTag initWithType:tagID:]):
(WebKit::MockNfcService::receiveStopPolling):
(WebKit::MockNfcService::receiveStartPolling):
(WebKit::MockNfcService::platformStartDiscovery):
(WebKit::MockNfcService::detectTags):
(WebKit::MockNfcService::detectTags const): Deleted.

  • UIProcess/WebAuthentication/fido/CtapNfcDriver.cpp:

(WebKit::CtapNfcDriver::CtapNfcDriver):

  • UIProcess/WebAuthentication/fido/CtapNfcDriver.h:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(TestWebKitAPI::TEST):
Adds a new test for -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:].

  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Added.

LayoutTests:

  • http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html:

Adds new tests for multiple physical tags and service restart.

3:12 PM Changeset in webkit [251644] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Move resolving direction and writing mode to PropertyCascade
https://bugs.webkit.org/show_bug.cgi?id=203471
Reviewed by Zalan Bujtas.

Simplify PropertyCascade call sites.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyPropertyToCurrentStyle):
(WebCore::extractDirectionAndWritingMode): Deleted.

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::PropertyCascade):

Add copying constructor that avoids re-resolving directions.

(WebCore::Style::PropertyCascade::buildCascade):

Factor into a function.

(WebCore::Style::PropertyCascade::propertyCascadeForRollback):
(WebCore::Style::PropertyCascade::resolveDirectionAndWritingMode):

The code moves here.

  • style/PropertyCascade.h:
1:24 PM Changeset in webkit [251643] by Claudio Saavedra
  • 4 edits in trunk

[GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
https://bugs.webkit.org/show_bug.cgi?id=203193

Reviewed by Carlos Garcia Campos.

Source/WebCore:

  • platform/soup/PublicSuffixSoup.cpp:

(WebCore::topPrivatelyControlledDomain): Skip any leading dots before using libsoup TLD API.

Tools:

  • TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:

(TestWebKitAPI::TEST_F): Add a test for a domain consisting only of dots.

10:18 AM Changeset in webkit [251642] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Do not expand runs with collapsed trailing whitespace
https://bugs.webkit.org/show_bug.cgi?id=203468
<rdar://problem/56653689>

Reviewed by Antti Koivisto.

Runs are supposed to be a continuous chunk of content. Runs with trailing
collapsed whitespace can't accommodate additional trailing content.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::close):
(WebCore::Layout::Line::Run::isWhitespace const): Deleted.
(WebCore::Layout::Line::Run::canBeExtended const): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::Run::isWhitespace const):
(WebCore::Layout::Line::Run::setIsCollapsed):
(WebCore::Layout::Line::Run::canBeExtended const):
(WebCore::Layout::Line::Run::setCollapsesToZeroAdvanceWidth):

9:52 AM Changeset in webkit [251641] by Simon Fraser
  • 7 edits
    346 adds in trunk/LayoutTests

Import css/css-position WPT
https://bugs.webkit.org/show_bug.cgi?id=203446

Reviewed by Antti Koivisto.

Import css/css-position from WPT at 5eebc927c57ec8c5e234fef8e4cc480ac339462c (Mon Oct 21 20:23:09 2019 +0100).

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-position/META.yml: Added.
  • web-platform-tests/css/css-position/animation/position-interpolation.html: Added.
  • web-platform-tests/css/css-position/animation/w3c-import.log: Added.
  • web-platform-tests/css/css-position/animations/bottom-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/left-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/right-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/top-interpolation.html: Added.
  • web-platform-tests/css/css-position/animations/w3c-import.log: Added.
  • web-platform-tests/css/css-position/fixed-z-index-blend-expected.html: Added.
  • web-platform-tests/css/css-position/fixed-z-index-blend.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-parent-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-parent.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-viewport-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-box-scroll-viewport.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-001-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-001.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-002-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-002.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-003-expected.html: Added.
  • web-platform-tests/css/css-position/hypothetical-dynamic-change-003.html: Added.
  • web-platform-tests/css/css-position/inheritance.html: Added.
  • web-platform-tests/css/css-position/parsing/bottom-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/bottom-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/bottom-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-after-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-after-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-after-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-before-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-before-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-before-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-end-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-end-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-end-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-start-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-start-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/inset-start-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/left-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/left-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/left-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/position-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/position-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/position-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/right-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/right-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/right-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/top-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/top-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/top-valid.html: Added.
  • web-platform-tests/css/css-position/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-position/parsing/z-index-computed.html: Added.
  • web-platform-tests/css/css-position/parsing/z-index-invalid.html: Added.
  • web-platform-tests/css/css-position/parsing/z-index-valid.html: Added.
  • web-platform-tests/css/css-position/position-absolute-abspos-table-dynamic.html: Added.
  • web-platform-tests/css/css-position/position-absolute-chrome-bug-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-chrome-bug-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-container-dynamic-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-container-dynamic.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-003.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-004.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-005.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-006.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-007.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-008.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-009.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-010.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-011.html: Added.
  • web-platform-tests/css/css-position/position-absolute-crash-chrome-012.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-containing-block.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-list-marker-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-list-marker.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-002-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-overflow-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-relayout-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-002-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-003-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-003.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-floats-004.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-002-expected.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-margin-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-table-cell-expected.xht: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position-table-cell.html: Added.
  • web-platform-tests/css/css-position/position-absolute-dynamic-static-position.html: Added.
  • web-platform-tests/css/css-position/position-absolute-fieldset-expected.xht: Added.
  • web-platform-tests/css/css-position/position-absolute-fieldset.html: Added.
  • web-platform-tests/css/css-position/position-absolute-in-inline-001.html: Added.
  • web-platform-tests/css/css-position/position-absolute-in-inline-002.html: Added.
  • web-platform-tests/css/css-position/position-absolute-in-inline-crash.html: Added.
  • web-platform-tests/css/css-position/position-absolute-percentage-height.html: Added.
  • web-platform-tests/css/css-position/position-absolute-replaced-minmax.html: Added.
  • web-platform-tests/css/css-position/position-fixed-at-bottom-right-on-viewport.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tbody-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-td-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tfoot-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-thead-top.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-left.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top-absolute-child-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top-absolute-child.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-relative-table-tr-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-change-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-change-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-child-multicolumn-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-child-multicolumn.html: Added.
  • web-platform-tests/css/css-position/position-sticky-flexbox-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-flexbox.html: Added.
  • web-platform-tests/css/css-position/position-sticky-get-bounding-client-rect.html: Added.
  • web-platform-tests/css/css-position/position-sticky-grid-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-grid.html: Added.
  • web-platform-tests/css/css-position/position-sticky-hyperlink-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-hyperlink.html: Added.
  • web-platform-tests/css/css-position/position-sticky-inflow-position.html: Added.
  • web-platform-tests/css/css-position/position-sticky-inline-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-inline.html: Added.
  • web-platform-tests/css/css-position/position-sticky-input-box-gets-focused-after-scroll.html: Added.
  • web-platform-tests/css/css-position/position-sticky-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-margins.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-inline-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-inline.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-right.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-table-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-table.html: Added.
  • web-platform-tests/css/css-position/position-sticky-nested-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-offset-overflow.html: Added.
  • web-platform-tests/css/css-position/position-sticky-offset-top-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-overflow-hidden.html: Added.
  • web-platform-tests/css/css-position/position-sticky-overflow-padding.html: Added.
  • web-platform-tests/css/css-position/position-sticky-parsing.html: Added.
  • web-platform-tests/css/css-position/position-sticky-rendering-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-rendering.html: Added.
  • web-platform-tests/css/css-position/position-sticky-right.html: Added.
  • web-platform-tests/css/css-position/position-sticky-root-scroller.html: Added.
  • web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-scroll-with-clip-and-abspos.html: Added.
  • web-platform-tests/css/css-position/position-sticky-scrolled-remove-sibling.html: Added.
  • web-platform-tests/css/css-position/position-sticky-stacking-context-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-stacking-context.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-parts-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-parts.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tfoot-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-bottom-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-left-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-left.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-right-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-right.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-th-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-thead-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-thead-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-bottom-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-bottom.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-top-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-table-tr-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-top.html: Added.
  • web-platform-tests/css/css-position/position-sticky-transforms-translate.html: Added.
  • web-platform-tests/css/css-position/position-sticky-transforms.html: Added.
  • web-platform-tests/css/css-position/position-sticky-writing-modes-expected.html: Added.
  • web-platform-tests/css/css-position/position-sticky-writing-modes.html: Added.
  • web-platform-tests/css/css-position/resources/sticky-util.js: Added.

(setupStickyTest):
(setupNestedStickyTest):

  • web-platform-tests/css/css-position/resources/w3c-import.log: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-ltr-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-ltr.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-rtl.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-ltr-rtl.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-ltr.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-ltr.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-rtl-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/htb-rtl-rtl.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-001-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-002-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-003-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-003.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-004-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-004.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-005-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-006-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-007-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-008-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-009-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-009.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-010-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-011-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-012-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-013-expected.xht: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-013.html: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-014-expected.xht: Added.
  • web-platform-tests/css/css-position/static-position/inline-level-absolute-in-block-level-context-014.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-ltr-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-ltr.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-rtl.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-ltr-rtl.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-ltr.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-ltr.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-rtl-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vlr-rtl-rtl.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-ltr-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-ltr.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-rtl.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-ltr-rtl.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-ltr.tentative-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-ltr.tentative.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-rtl-expected.html: Added.
  • web-platform-tests/css/css-position/static-position/vrl-rtl-rtl.html: Added.
  • web-platform-tests/css/css-position/static-position/w3c-import.log: Added.
  • web-platform-tests/css/css-position/w3c-import.log: Added.
  • web-platform-tests/css/css-position/z-index-blend-will-change-overlapping-layers-expected.html: Added.
  • web-platform-tests/css/css-position/z-index-blend-will-change-overlapping-layers.html: Added.

LayoutTests:

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

[LFC][Painting] Use the dirty rect to decide what to paint
https://bugs.webkit.org/show_bug.cgi?id=203467
<rdar://problem/56653229>

Reviewed by Antti Koivisto.

This is a very basic dirty rect instersect check since we don't yet have layout overflow.
It enables us to not paint the entire content on every paint frame.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::paint):

  • layout/LayoutContext.h:
  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintBoxDecorationAndChildren):
(WebCore::Display::Painter::paint):

  • layout/displaytree/DisplayPainter.h:
  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

Note: See TracTimeline for information about the timeline view.