Timeline



Oct 26, 2020:

11:39 PM Changeset in webkit [269023] by Devin Rousso
  • 37 edits in trunk

Web Inspector: console command line API should be exposed to breakpoint conditions/actions
https://bugs.webkit.org/show_bug.cgi?id=218141
<rdar://problem/70636727>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • debugger/Debugger.h:

(JSC::Debugger::Client::scopeExtensionObject): Added.

  • debugger/Debugger.cpp:

(JSC::Debugger::setClient): Added.
(JSC::Debugger::evaluateBreakpointCondition):
(JSC::Debugger::evaluateBreakpointActions):
Introduce an optional Debugger::Client virtual class that can be used to adjust behavior
in various situations. Right now it is used when evaluating breakpoint conditions/actions
to get a scope extension object.

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::internalEnable):
(Inspector::InspectorDebuggerAgent::internalDisable):
(Inspector::InspectorDebuggerAgent::scopeExtensionObject): Added.
Implement Debugger::Client and provide a newly created CommandLineAPI instance.

  • inspector/InjectedScript.h:
  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::createCommandLineAPIObject const): Added.

  • inspector/InjectedScriptSource.js:

(let.InjectedScript.prototype.createCommandLineAPIObject): Added.
(let.InjectedScript.prototype._evaluateOn):
Expose a way for the C++ to create CommandLineAPI instances.

Source/WebInspectorUI:

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WI.CodeMirrorCompletionController):
(WI.CodeMirrorCompletionController.prototype.get mode): Added.
(WI.CodeMirrorCompletionController.prototype.get delegate): Deleted.

  • UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:

(WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded):
(WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.shouldExposeEvent): Added.
(WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.shouldExposeException): Added.
(WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames):
Introduce a Mode enum that can be fetched by completion providers to adjust functionality.

  • UserInterface/Views/BreakpointPopover.js:

(WI.BreakpointPopover.appendContextMenuItems):
(WI.BreakpointPopover.prototype.show):
(WI.BreakpointPopover.prototype.breakpointActionViewCodeMirrorCompletionControllerMode): Added.
(WI.BreakpointPopover.prototype.get codeMirrorCompletionControllerMode): Added.

  • UserInterface/Views/EventBreakpointPopover.js:

(WI.EventBreakpointPopover.prototype.get codeMirrorCompletionControllerMode): Added.

  • UserInterface/Views/BreakpointActionView.js:

(WI.BreakpointActionView.prototype._updateBody):
Use a Mode that always exposes $event/$exception depending on the breakpoint type.

  • UserInterface/Views/ConsolePrompt.js:

(WI.ConsolePrompt):
Use a Mode that only exposes $event/$exception when paused for an event/exeption.

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WI.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
Use a Mode that always exposes $event/$exception since watch expressions track values
over time, and may therefore not always have an $event/$exception set.

  • UserInterface/Views/TextEditor.js:

(WI.TextEditor):
Use the default Mode that never exposes $event/$exception.

LayoutTests:

  • inspector/debugger/resources/breakpoint-options-utilities.js:
  • inspector/debugger/break-on-exception-expected.txt:
  • inspector/debugger/break-on-uncaught-exception-expected.txt:
  • inspector/debugger/setPauseOnAssertions-expected.txt:
  • inspector/debugger/setPauseOnDebuggerStatements-expected.txt:
  • inspector/debugger/setPauseOnMicrotasks-expected.txt:
  • inspector/dom-debugger/attribute-modified-style-expected.txt:
  • inspector/dom-debugger/dom-breakpoint-attribute-modified-expected.txt:
  • inspector/dom-debugger/dom-breakpoint-node-removed-ancestor-expected.txt:
  • inspector/dom-debugger/dom-breakpoint-node-removed-direct-expected.txt:
  • inspector/dom-debugger/dom-breakpoint-subtree-modified-add-expected.txt:
  • inspector/dom-debugger/dom-breakpoint-subtree-modified-remove-expected.txt:
  • inspector/dom-debugger/event-animation-frame-breakpoints-expected.txt:
  • inspector/dom-debugger/event-interval-breakpoints-expected.txt:
  • inspector/dom-debugger/event-listener-breakpoints-expected.txt:
  • inspector/dom-debugger/event-timeout-breakpoints-expected.txt:
  • inspector/dom-debugger/url-breakpoints-all-requests-expected.txt:
  • inspector/dom-debugger/url-breakpoints-containing-expected.txt:
  • inspector/dom-debugger/url-breakpoints-matching-expected.txt:
9:39 PM Changeset in webkit [269022] by commit-queue@webkit.org
  • 28 edits
    2 copies
    1 move
    2 deletes in trunk/Source

[GPU Process]: Introduce RemoteResourceCacheProxy to manage the remote resources in Web Process
https://bugs.webkit.org/show_bug.cgi?id=217558

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-10-26
Reviewed by Simon Fraser.

Source/WebCore:

Rename Recorder::Observer to Recorder::Delegate because it will be responsible
for creating DisplayListItems in future patches. So it will not be just
an observer. Also do not make DisplayList::ImageBuffer a superclass of it.
RemoteImageBufferProxy, which is a superclass of DisplayList::ImageBuffer,
will be the superclass of Recorder::Delegate.

Make ImageBufferBackend::isAccelerated a static member instead of a virtual
method. RemoteRenderingBackendProxy would want to know whether the backend
of an ImageBuffer isAccelerated or not without having to create it.
ImageBufferBackend::isAccelerated will be set to false and
ImageBufferIOSurfaceBackend::isAccelerated will be set to true.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::renderingResourceIdentifier const):

  • platform/graphics/ImageBufferBackend.h:

(WebCore::ImageBufferBackend::isAccelerated const): Deleted.

  • platform/graphics/RenderingResourceIdentifier.h: Renamed from Source/WebCore/platform/graphics/RemoteResourceIdentifier.h.
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:

(WebCore::ImageBufferIOSurfaceBackend::isAccelerated const): Deleted.

  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:
  • platform/graphics/displaylists/DisplayListDrawingContext.cpp:

(WebCore::DisplayList::DrawingContext::DrawingContext):

  • platform/graphics/displaylists/DisplayListDrawingContext.h:

(WebCore::DisplayList::DrawingContext::DrawingContext):

  • platform/graphics/displaylists/DisplayListImageBuffer.h:

(WebCore::DisplayList::ImageBuffer::ImageBuffer):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::willAppendItem):

  • platform/graphics/displaylists/DisplayListRecorder.h:

(WebCore::DisplayList::Recorder::Delegate::~Delegate):
(WebCore::DisplayList::Recorder::Observer::~Observer): Deleted.
(WebCore::DisplayList::Recorder::Observer::willAppendItem): Deleted.

Source/WebKit:

Remove RemoteImageBufferMessageHandlerProxy and move sending the messages
to RemoteRenderingBackendProxy.

To allow casting ImageBuffer to RemoteImageBufferProxy, a new method named
remoteResourceIdentifier() is added to IamgeBuffer and it is only overridden
by RemoteImageBufferProxy. This method is used in SPECIALIZE_TYPE_TRAITS
macros along with IamgeBuffer::isAccelerated().

Introduce RemoteResourceCacheProxy which will manage caching and releasing
the RemoteImageBufferProxy. Caching NativeImage will be added to it in
future patches. More about controlling the life cycles of remote resources
will be added also when supporting drawing remote resources to remote client
in future patches.

  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::create):
(WebKit::RemoteImageBuffer::RemoteImageBuffer):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::imageBufferBackendWasCreated):
(WebKit::RemoteRenderingBackend::flushDisplayListWasCommitted):
(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::flushDisplayList):
(WebKit::RemoteRenderingBackend::flushDisplayListAndCommit):
(WebKit::RemoteRenderingBackend::getImageData):
(WebKit::RemoteRenderingBackend::releaseRemoteResource):

  • GPUProcess/graphics/RemoteRenderingBackend.h:
  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • GPUProcess/graphics/RemoteResourceCache.cpp:

(WebKit::RemoteResourceCache::cacheImageBuffer):
(WebKit::RemoteResourceCache::cachedImageBuffer):
(WebKit::RemoteResourceCache::releaseRemoteResource):

  • GPUProcess/graphics/RemoteResourceCache.h:
  • Scripts/webkit/messages.py:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/PlatformRemoteImageBufferProxy.h:

(isType):

  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.cpp: Removed.
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.h: Removed.
  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::create):
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::createBackend):
(WebKit::RemoteImageBufferProxy::commitFlushDisplayList):
(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::isPendingFlush const):
(WebKit::RemoteImageBufferProxy::timeoutWaitForFlushDisplayListWasCommitted):
(WebKit::RemoteImageBufferProxy::flushDrawingContextAndCommit):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::createImageBuffer):
(WebKit::RemoteRenderingBackendProxy::getImageData):
(WebKit::RemoteRenderingBackendProxy::flushDisplayList):
(WebKit::RemoteRenderingBackendProxy::flushDisplayListAndCommit):
(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):
(WebKit::RemoteRenderingBackendProxy::imageBufferBackendWasCreated):
(WebKit::RemoteRenderingBackendProxy::flushDisplayListWasCommitted):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:

(WebKit::RemoteRenderingBackendProxy::remoteResourceCacheProxy):
(WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const): Deleted.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp: Copied from Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp.

(WebKit::RemoteResourceCacheProxy::RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::cacheImageBuffer):
(WebKit::RemoteResourceCacheProxy::cachedImageBuffer):
(WebKit::RemoteResourceCacheProxy::releaseImageBuffer):

  • WebProcess/GPU/graphics/RemoteResourceCacheProxy.h: Copied from Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h.
9:39 PM Changeset in webkit [269021] by clopez@igalia.com
  • 3 edits in trunk/LayoutTests

[GTK][WPE] Gardening of layout test failures.

Unreviewed gardening.

  • platform/glib/TestExpectations:
  • platform/wpe/TestExpectations:
7:13 PM Changeset in webkit [269020] by Tadeu Zagallo
  • 5 edits in trunk/Source

Sign MacroAssembler::jumpsToLink
https://bugs.webkit.org/show_bug.cgi?id=217774
<rdar://problem/69433058>

Reviewed by Saam Barati.

Source/JavaScriptCore:

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::LinkRecord::LinkRecord):
(JSC::ARM64Assembler::LinkRecord::setFrom):
(JSC::ARM64Assembler::LinkRecord::to const):
(JSC::ARM64Assembler::linkJump):

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::copyCompactAndLinkCode):

Source/WTF:

  • wtf/PtrTag.h:

(WTF::untagInt):
(WTF::tagInt):

7:07 PM Changeset in webkit [269019] by Tadeu Zagallo
  • 2 edits in trunk/Source/WTF

Add extra validation to MetaAllocator::findAndRemoveFreeSpace
https://bugs.webkit.org/show_bug.cgi?id=217792
<rdar://problem/69433015>

Reviewed Saam Barati.

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::findAndRemoveFreeSpace):

7:05 PM Changeset in webkit [269018] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

fast/events/touch/ios/show-modal-alert-during-touch-start.html logs about unexpected argument
https://bugs.webkit.org/show_bug.cgi?id=218214

Reviewed by Darin Adler.

  • fast/events/touch/ios/show-modal-alert-during-touch-start.html:

webkit-test-runner options are not comma separated (and "true," is not a valid value, thus the logging).

7:04 PM Changeset in webkit [269017] by Tadeu Zagallo
  • 2 edits in trunk/Source/WTF

Assert that WTF::HashTable does not visit the same bucket twice
https://bugs.webkit.org/show_bug.cgi?id=217691
<rdar://problem/69887843>

Reviewed by Saam Barati.

  • wtf/HashTable.h:

(WTF::KeyTraits>::inlineLookup):
(WTF::KeyTraits>::lookupForWriting):
(WTF::KeyTraits>::fullLookupForWriting):
(WTF::KeyTraits>::addUniqueForInitialization):
(WTF::KeyTraits>::add):

6:56 PM Changeset in webkit [269016] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

Validate addresses returned by LinkBuffer::locationOf
https://bugs.webkit.org/show_bug.cgi?id=217786
<rdar://problem/69887913>

Reviewed by Saam Barati.

  • assembler/LinkBuffer.h:

(JSC::LinkBuffer::locationOf):
(JSC::LinkBuffer::locationOfNearCall):
(JSC::LinkBuffer::getLinkerAddress):

6:13 PM Changeset in webkit [269015] by Alan Coon
  • 3 edits in branches/safari-611.1.4-branch

Cherry-pick r268382. rdar://problem/70702384

REGRESSION (r268294): [ iOS wk2 ] imported/blink/fast/css/zoomed-intrinsic-width.html is a constant image failure
https://bugs.webkit.org/show_bug.cgi?id=217610
<rdar://problem/70207977>

Reviewed by Antti Koivisto.

Source/WebCore:

InlineTree snaps line boxes to integral values.

  • layout/integration/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::constructContent):

LayoutTests:

  • platform/ios-simulator-wk2/TestExpectations:

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

6:13 PM Changeset in webkit [269014] by Alan Coon
  • 17 edits
    2 adds in branches/safari-611.1.4-branch

Cherry-pick r268940. rdar://problem/70702182

Source/WebCore:
REGRESSION(r266295): DOMSelection's addRange and containsNode behave incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

Test: editing/selection/selections-across-trees.html

  • accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::linkClickPoint): Update for the new name of isPointInRange, contains<ComposedTree>. We can return and change it from ComposedTree to something else since that's likely not the tree we need here. (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto. (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const): Ditto.
  • accessibility/atk/WebKitAccessibleInterfaceText.cpp: (isWhiteSpaceBetweenSentences): Ditto.
  • dom/BoundaryPoint.h: Update to use TreeType enumeration instead of classes.
  • dom/Node.cpp: (WebCore::depth): Ditto. (WebCore::commonInclusiveAncestorAndChildren): Ditto. (WebCore::treeOrder): Ditto.
  • dom/Node.h: Ditto.
  • dom/Range.cpp: (WebCore::Range::isPointInRange): Updated since we renamed isPointInRange to be an overload of contains.
  • dom/SimpleRange.cpp: (WebCore::treeOrder): Update to use TreeType enumeration instead of classes. (WebCore::contains): Ditto. Also renamed isPointInRange to an overload of contains. Also added converted the contains that takes two ranges to a function template. (WebCore::intersects): Ditto.
  • dom/SimpleRange.h: Reorganized the functions so all the deprecated functions that silently use ComposedTree are grouped together. Updated the function templates to use TreeType enumeration instead of classes. Added a couple more function templates that we used to fix DOMSelection.
  • editing/FrameSelection.cpp: (WebCore::FrameSelection::contains const): Update for the new name of sPointInRange, contains<ComposedTree>. We can return and change it from ComposedTree to something else since that's likely not the tree we need here.
  • editing/mac/DictionaryLookupLegacy.mm: (WebCore::selectionContainsPosition): Ditto.
  • page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Use intersects<Tree> because we don't want to use the composed tree here. (WebCore::DOMSelection::containsNode const): Use intersects<Tree> and contains<Tree>. Evantually <Tree> will be the default and we can come back here and edit down these calls for brevity, but first we have to make all the uses of ComposedTree explicit.

Source/WebKitLegacy/win:
REGRESSION(r266295): DOMSelection's addRange and containsNode behave incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

  • AccessibleTextImpl.cpp: (AccessibleText::isInRange): Updated since we renamed isPointInRange to be an overload of contains.

Tools:
REGRESSION(r266295): DOMSelection's addRange and containsNode behave incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

  • TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Disabled the isPointInRange test and added comments about how we will restore it in the future.

LayoutTests:
REGRESSION(r266295): DOMSelection's addRange and containsNode behaves incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

  • editing/selection/selections-across-trees-expected.txt: Added.
  • editing/selection/selections-across-trees.html: Added.

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

6:13 PM Changeset in webkit [269013] by Alan Coon
  • 18 edits in branches/safari-611.1.4-branch

Cherry-pick r268932. rdar://problem/70702224

REGRESSION(r268615): certain animations break when moving from one to display to another or resizing the window
https://bugs.webkit.org/show_bug.cgi?id=218080
<rdar://problem/70547132>

Reviewed by Dean Jackson.

Source/WebCore:

Since transform-related animations include non-interpolating animations meant to insert the static base value for a given
transform-related CSS property, we need to update animations on GraphicsLayerCA whenever one of the transform-related CSS
properties have a new value.

We used to rely on GraphicsLayerCA::setTransform() being called with a different transform than the current one to identify
such cases, but that is suboptimal because that method can be called with a compound interpolated value of transform-related
CSS properties when a rendering update occurs, such as during resizing or moving a window between displays. In those cases,
the static base value of the transform-related CSS properties hasn't actually changed.

Instead, we now provide the non-animated style from the last style change event to the function resolving keyframe effects
so that for a given element we can compare that style with the new, as-yet-non-animated style and see if any of the transform-
related CSS properties have been changed. If that is the case, we inform any KeyframeEffect that has a running accelerated
animation for any of those CSS properties so that the effect may enqueue an accelerated action that will then notify the
GraphicsLayer of such a change, and trigger an animation update.

Since we were changing the applyKeyframeEffects() method signature to add the extra RenderStyle needed to compare the current
and previous non-animated styles, we also moved that method from Element to KeyframeEffectStack since no Element private
API was required.

No new test since this was already tested by webanimations/accelerated-translate-animation-underlying-transform-changed-in-flight.html
and it's not clear how to test the live-resizing or display-change scenario.

  • animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::isRunningAcceleratedTransformRelatedAnimation const): New method called from KeyframeEffectStack::applyKeyframeEffects() to indicate that a keyframe effect has a running accelerated animation targeting a transform-related property. (WebCore::KeyframeEffect::addPendingAcceleratedAction): Ensure that the new AcceleratedAction::TransformChange accelerated action recorded in transformRelatedPropertyDidChange() is not ever set as m_lastRecordedAcceleratedAction as we use this member to identify whether we have a pending running, pause or stop action. (WebCore::KeyframeEffect::transformRelatedPropertyDidChange): New method meant to be called for an effect that has a running accelerated animation targeting a transform-related property to notify that one or more of the target element's transform-related CSS property static values was changed. (WebCore::KeyframeEffect::applyPendingAcceleratedActions): Call transformRelatedPropertyDidChange() on the composited renderer for a AcceleratedAction::TransformChange action.
  • animation/KeyframeEffect.h:
  • animation/KeyframeEffectStack.cpp: (WebCore::KeyframeEffectStack::applyKeyframeEffects): Move the method previously exposed on Element to KeyframeEffectStack. Additionally, accept an extra RenderStyle parameter to provide the non-animated style from the last style change event so that we can compare that style with the new, as-yet-non-animated style and see if any of the transform-related CSS properties have been changed and notify the effect should it run an accelerated animation for one of those properties.
  • animation/KeyframeEffectStack.h:
  • dom/Element.cpp: (WebCore::Element::applyKeyframeEffects): Deleted. Moved to KeyframeEffectStack.
  • dom/Element.h:
  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::transformRelatedPropertyDidChange):
  • platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::setTransform): Move the animation-update logic to transformRelatedPropertyDidChange() (WebCore::GraphicsLayerCA::transformRelatedPropertyDidChange):
  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderElement.h: (WebCore::RenderElement::transformRelatedPropertyDidChange):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::transformRelatedPropertyDidChange):
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::transformRelatedPropertyDidChange):
  • rendering/RenderLayerModelObject.h:
  • style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::createAnimatedElementUpdate): Pass the non-animated style from the last style change event to KeyframeEffectStack::applyKeyframeEffects() to determine whether this style change event includes a change to any of the transform-related properties.
  • style/Styleable.h: (WebCore::Styleable::applyKeyframeEffects const):

LayoutTests:

Increase the fidelity of this test where the scale transform would sometimes yield some 0.01% ImageOnlyFailure results.

  • webanimations/accelerated-translate-animation-additional-animation-added-in-flight-expected.html:
  • webanimations/accelerated-translate-animation-additional-animation-added-in-flight.html:

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

6:13 PM Changeset in webkit [269012] by Alan Coon
  • 7 edits in branches/safari-611.1.4-branch/Source/WebInspectorUI

Cherry-pick r268885. rdar://problem/70702192

Web Inspector: REGRESSION(r266074): Sources: icon for non-JavaScript breakpoints doesn't change when breakpoints are globally disabled
https://bugs.webkit.org/show_bug.cgi?id=218064

Reviewed by Joseph Pecoraro.

  • UserInterface/Models/Breakpoint.js: (WI.Breakpoint.prototype.get resolved): Added.
  • UserInterface/Models/JavaScriptBreakpoint.js: (WI.JavaScriptBreakpoint.prototype.get resolved): Add get resolved to the base class based on WI.debuggerManager.breakpointsEnabled. Use it in the subclass as part of the result.
  • UserInterface/Views/BreakpointTreeElement.js: (WI.BreakpointTreeElement.prototype.updateStatus): (WI.BreakpointTreeElement.prototype._dataUpdated):
  • UserInterface/Views/BreakpointTreeElement.css: (.item.breakpoint .status > .status-image:not(.resolved)): Added.
  • UserInterface/Views/JavaScriptBreakpointTreeElement.css: (.item.breakpoint.javascript .status > .status-image): Deleted. (.item.breakpoint.javascript .status > .status-image.resolved): Deleted.
  • UserInterface/Views/JavaScriptBreakpointTreeElement.js: (WI.JavaScriptBreakpointTreeElement.prototype.updateStatus): Deleted. Eliminate unnecessary protected function now that all breakpoints have a get resolved. Drive-by: inline CSS class name constants.

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

6:13 PM Changeset in webkit [269011] by Alan Coon
  • 2 edits in branches/safari-611.1.4-branch/Source/WebCore

Cherry-pick r268816. rdar://problem/70702274

A video element may fail to enter picture-in-picture from fullscreen
https://bugs.webkit.org/show_bug.cgi?id=217999

Reviewed by Eric Carlson.

When a video element is entering picture-in-picture from fullscreen,
WebKit should only fire the webkitendfullscreenEvent event, but should not
request the player in the UI process to exit fullscreen(picture-in-picture).
So the condition to decide sending the exit fullscreen request is wrong because
HTMLMediaElement::didBecomeFullscreenElement(), which sets m_waitingToEnterFullscreen
to false, might be called before dispatching the webkitendfullscreenEvent event.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::dispatchEvent): Fix the condition. (WebCore::HTMLMediaElement::exitFullscreen): Set fullscreen mode to VideoFullscreenModeNone.

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

6:13 PM Changeset in webkit [269010] by Alan Coon
  • 8 edits
    2 adds in branches/safari-611.1.4-branch

Cherry-pick r268800. rdar://problem/70702272

REGRESSION(r266295): Range allows start and end containers to belong to different trees
https://bugs.webkit.org/show_bug.cgi?id=217895

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/dom/Range/ranges-across-trees.html

  • dom/BoundaryPoint.h: Added treeOrder<TreeType>.
  • dom/Node.cpp: (WebCore::parent<Tree>): Added. (WebCore::parent<ComposedTree>): Added. (WebCore::depth): Changed into a template that takes TreeType. (WebCore::commonInclusiveAncestorAndChildren): Ditto. (WebCore::commonInclusiveAncestor): Changed to explicitly use ComposedTree to preserve the current behavior, but likely will return later to make this a template and have it us the normal tree by default. (WebCore::treeOrder): Changed into a template that takes TreeType. (WebCore::documentOrder): Call treeOrder<ComposedTree> to preserve the current behavior. Likely will delete this later after changing callers to use treeOrder.
  • dom/Node.h: Added Tree, ShadowIncludingTree, and ComposedTree. Added parent and treeOrder function templates. TreeType currently is a set of classes but they could also be objects of another type. Maybe an enumeration named TreeType instead?
  • dom/Range.cpp: (WebCore::Range::setStart): Use treeOrder instead of documentOrder to use the normal tree instead of the composed tree. (WebCore::Range::setEnd): Ditto. (WebCore::Range::isPointInRange): Use isPointInRange<Tree> instead of isPointInRange to use the normal tree instead of the composed tree. (WebCore::Range::comparePoint const): Use treeOrder instead of documentOrder to use the normal tree instead of the composed tree. (WebCore::Range::compareNode const): Ditto. (WebCore::Range::compareBoundaryPoints const): Ditto. (WebCore::Range::intersectsNode const): Use intersects<Tree> instead of isPointInRange to use the normal tree instead of the composed tree.
  • dom/SimpleRange.cpp: (WebCore::treeOrder): Changed into a template that takes TreeType. (WebCore::documentOrder): Call treeOrder<ComposedTree> to preserve the current behavior. Likely will delete this later after changing callers to use treeOrder. (WebCore::isPointInRange): Changed into a template that takes TreeType. For now the default tree type is still ComposedTree, but will change that later. (WebCore::intersects): Ditto. (WebCore::contains<Tree>): Added. (WebCore::contains<ComposedTree>): Added.
  • dom/SimpleRange.h: Added isPointInRange, intersects, and treeOrder function templates.

LayoutTests:

  • fast/dom/Range/ranges-across-trees.html: Added.

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

6:13 PM Changeset in webkit [269009] by Alan Coon
  • 5 edits in branches/safari-611.1.4-branch

Cherry-pick r268796. rdar://problem/70702309

Don't crash when deallocating WKWebView during TLS handshake
https://bugs.webkit.org/show_bug.cgi?id=218025
<rdar://problem/70225969>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-21
Reviewed by Tim Horton.

Source/WebKit:

NetworkProcessProxy::didReceiveAuthenticationChallenge would sometimes dereference an unchecked
Optional<SecurityOriginData> which would result in a null dereference crash. Also, sometimes
Connection::initializeSendSource would assert because it was trying to set up a cancel handler for
a send port that had not been successfully set up yet. I added a test that reproduces both of these
issues most of the time.

  • Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::Connection::initializeSendSource):
  • UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (TEST):

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

6:13 PM Changeset in webkit [269008] by Alan Coon
  • 2 edits in branches/safari-611.1.4-branch/Source/WebInspectorUI

Cherry-pick r268786. rdar://problem/70702339

Web Inspector: REGRESSION(r266074): Uncaught Exception: undefined is not an object (evaluating 'this._allListenersBreakpoint.disabled')
https://bugs.webkit.org/show_bug.cgi?id=217992

Reviewed by Joseph Pecoraro.

r266074 changed it such that _allListenersBreakpoint doesn't always exist, so check that
it exists before getting a property from it.

  • UserInterface/Controllers/DOMDebuggerManager.js: (WI.DOMDebuggerManager.prototype.listenerBreakpointForEventName):

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

6:12 PM Changeset in webkit [269007] by Alan Coon
  • 2 edits in branches/safari-611.1.4-branch/Source/WebCore

Cherry-pick r268730. rdar://problem/70702315

Web Inspector: REGRESSION(r260076): crash under InspectorInstrumentation::willApplyKeyframeEffect
https://bugs.webkit.org/show_bug.cgi?id=217936

Reviewed by Brian Burg.

Speculative fix by null-checking targetElementOrPseudoElement() before using it. Before
r260076 this was not necessary as m_target is null-checked earlier in the function, but
after it can now return nullptr depending on the value of m_pseudoId.

  • animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::apply):

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

6:12 PM Changeset in webkit [269006] by Alan Coon
  • 2 edits in branches/safari-611.1.4-branch/Source/WebCore

Cherry-pick r268701. rdar://problem/70702378

Fix possible crash in GraphicsLayerCA::computeVisibleAndCoverageRect()
https://bugs.webkit.org/show_bug.cgi?id=217930
<rdar://problem/70316943>

Reviewed by Tim Horton.

If we made a m_overflowControlsHostLayerAncestorClippingStack, make sure we unparent
its layers when tearing down the RenderLayerBacking, and when we determine that we
longer need a m_ancestorClippingStack (having a m_overflowControlsHostLayerAncestorClippingStack
implies that we have a m_ancestorClippingStack).

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::destroyGraphicsLayers): (WebCore::RenderLayerBacking::updateAncestorClipping):

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

6:12 PM Changeset in webkit [269005] by Alan Coon
  • 9 edits
    2 deletes in branches/safari-611.1.4-branch

Cherry-pick r268695. rdar://problem/70702399

Unreviewed, reverting r267175 and r267779.
https://bugs.webkit.org/show_bug.cgi?id=217923

Regressed NYTimes's DOM content loaded time by 400%

Reverted changesets:

"MutationObserverRegistration should be ref counted"
https://bugs.webkit.org/show_bug.cgi?id=216528
https://trac.webkit.org/changeset/267175

"Crash while loading a confluence page"
https://bugs.webkit.org/show_bug.cgi?id=217111
https://trac.webkit.org/changeset/267779

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

5:50 PM Changeset in webkit [269004] by Alan Coon
  • 8 edits in branches/safari-611.1.4-branch/Source

Versioning.

WebKit-7611.1.4.1

5:30 PM Changeset in webkit [269003] by Peng Liu
  • 3 edits in trunk/LayoutTests

REGRESSION (r268865): [macOS WK2] media/modern-media-controls/placard-support/placard-support-pip.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=218208

Reviewed by Darin Adler.

Fix the flakiness by holding a video presentation mode change until the ongoing
mode change is completed.

  • media/modern-media-controls/placard-support/placard-support-pip-expected.txt:
  • media/modern-media-controls/placard-support/placard-support-pip.html:
4:55 PM Changeset in webkit [269002] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add Federico Bucchi to list of WebKit contributors
https://bugs.webkit.org/show_bug.cgi?id=218136

  • Added Federico Bucchi
  • Removed "slackId" : "UTWC5TTSP", because it was causing:

ERROR: Tools/Scripts/webkitpy/common/config/contributors.json:0: contributors.json differs from the canonical format.

Patch by Federico Bucchi <Federico Bucchi> on 2020-10-26
Reviewed by Brian Burg.

  • Scripts/webkitpy/common/config/contributors.json:
4:47 PM Changeset in webkit [269001] by stephan.szabo@sony.com
  • 2 edits in trunk/Source/WebCore

evictCodedFrames does extra work if RELEASE_LOG_DISABLED is set
https://bugs.webkit.org/show_bug.cgi?id=218203

Reviewed by Eric Carlson.

Undo part of previous logging change that prevents checking
if the buffer is still full after the first part of eviction
if RELEASE_LOG_DISABLED is set.

  • Modules/mediasource/SourceBuffer.cpp:
4:38 PM Changeset in webkit [269000] by Simon Fraser
  • 7 edits
    2 adds in trunk

REGRESSION (r260276): Unable to click on image and text link at the bottom of https://www.nytimes.com/ article
https://bugs.webkit.org/show_bug.cgi?id=218137
<rdar://problem/70439526>

Reviewed by Zalan Bujtas.
Source/WebCore:

r238725 made RenderLayers for accelerated overflow:scroll be self-painting, but that
changes paint and hit-testing order, which affected this nytimes article (the failing
element has large negative margin-top).

This is the fundamental compositing bug, but we can work around it in this case by
only making the layer self-painting if it does actually scroll.

Test: fast/layers/overflow-scroll-self-painting.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollInfoAfterLayout): Need to update isSelfPaintingLayer()
after layout because now it depends on scrollable overflow.
(WebCore::RenderLayer::shouldBeSelfPaintingLayer const): Consult hasCompositedScrollableOverflow()
rather than canUseCompositedScrolling().

LayoutTests:

New test. Rebaseline tests affected by the self-painting layer change.

  • compositing/shared-backing/overflow-scroll/previous-sibling-prevents-inclusiveness-expected.txt:
  • compositing/shared-backing/overflow-scroll/relative-in-clipping-in-scroller-in-clipping-expected.txt:
  • fast/layers/overflow-scroll-self-painting-expected.html: Added.
  • fast/layers/overflow-scroll-self-painting.html: Added.
  • platform/ios-wk2/compositing/shared-backing/overflow-scroll/previous-sibling-prevents-inclusiveness-expected.txt:
  • platform/ios-wk2/compositing/shared-backing/overflow-scroll/relative-in-clipping-in-scroller-in-clipping-expected.txt:
4:09 PM Changeset in webkit [268999] by Chris Dumez
  • 5 edits in trunk

Improve exception messages when AudioContext.suspend() / resume() promises are rejected
https://bugs.webkit.org/show_bug.cgi?id=218210

Reviewed by Geoffrey Garen.

Source/WebCore:

Improve exception messages when AudioContext.suspend() / resume() promises are rejected.

No new tests, rebaselined existing tests.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::suspendRendering):
(WebCore::AudioContext::resumeRendering):

LayoutTests:

  • webaudio/audiocontext-state.html:

Stop expecting that the resume() promise is rejected without any exception.
This is not standard behavior and does not match the behavior of other
browsers either.

  • webaudio/construct-node-with-closed-context-expected.txt:

Rebaseline test now that exception messages have been improved.

3:11 PM Changeset in webkit [268998] by Adrian Perez de Castro
  • 3 edits in trunk/Source/WebCore

Unreviewed non-unified build fix

  • animation/KeyframeEffectStack.h: Add missing forward declaration for RenderStyle.
  • workers/WorkerOrWorkletThread.cpp: Add missing headers ThreadGlobalData.h and WorkerOrWorkletGlobalScope.h
2:49 PM Changeset in webkit [268997] by Truitt Savell
  • 7 edits
    2 deletes in trunk

Unreviewed, reverting r268947.

Caused 60 image failures on Catalina WK2

Reverted changeset:

"REGRESSION (r260276): Unable to click on image and text link
at the bottom of https://www.nytimes.com/ article"
https://bugs.webkit.org/show_bug.cgi?id=218137
https://trac.webkit.org/changeset/268947

2:19 PM Changeset in webkit [268996] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Allow skipping specific files from report-non-inclusive-language
https://bugs.webkit.org/show_bug.cgi?id=218199

Reviewed by Darin Adler.

  • Scripts/report-non-inclusive-language:
1:24 PM Changeset in webkit [268995] by Diego Pino Garcia
  • 15 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Update expectations after r268973.

  • platform/gtk/fast/css/text-overflow-ellipsis-bidi-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/gtk/fast/forms/basic-buttons-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/gtk/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/gtk/svg/text/text-overflow-ellipsis-svgfont-expected.txt:
1:23 PM Changeset in webkit [268994] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] Use term "modern line layout" in RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=218200

Reviewed by Zalan Bujtas.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::containing):
(WebCore::LayoutIntegration::LineLayout::releaseCaches):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::hitTestInlineChildren):
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
(WebCore::RenderBlockFlow::firstLineBaseline const):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
(WebCore::RenderBlockFlow::lineCount const):
(WebCore::RenderBlockFlow::paintInlineChildren):
(WebCore::RenderBlockFlow::hasLines const):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::layoutModernLines):
(WebCore::RenderBlockFlow::ensureLineBoxes):
(WebCore::RenderBlockFlow::layoutLFCLines): Deleted.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::hasModernLineLayout const):
(WebCore::RenderBlockFlow::modernLineLayout const):
(WebCore::RenderBlockFlow::modernLineLayout):
(WebCore::RenderBlockFlow::hasLayoutFormattingContextLineLayout const): Deleted.
(WebCore::RenderBlockFlow::layoutFormattingContextLineLayout const): Deleted.
(WebCore::RenderBlockFlow::layoutFormattingContextLineLayout): Deleted.

1:08 PM Changeset in webkit [268993] by achristensen@apple.com
  • 32 edits
    2 adds
    2 deletes in trunk/Source

Inclusive software: Remove instances of "dumb" from the code
https://bugs.webkit.org/show_bug.cgi?id=217778

Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCallEval):
(JSC::FTL::DFG::LowerDFGToB3::unboxBoolean):

  • heap/SlotVisitor.h:
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitVirtualCall):
(JSC::AssemblyHelpers::emitDumbVirtualCall): Deleted.

  • jit/AssemblyHelpers.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileCallEvalSlowCase):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileCallEvalSlowCase):

  • runtime/CachedTypes.cpp:
  • runtime/JSCJSValue.h:
  • runtime/WriteBarrier.h:
  • runtime/WriteBarrierInlines.h:

(JSC::RawValueTraits<Unknown>>::set):
(JSC::DumbValueTraits<Unknown>>::set): Deleted.

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addCallIndirect):

  • wasm/generateWasm.py:

(opcodeIterator):

Source/WebCore:

  • Modules/webaudio/AudioNode.h:
  • dom/GCReachableRef.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::handleDrag):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • icu/unicode/caniter.h:
  • wtf/Bag.h:
  • wtf/CMakeLists.txt:
  • wtf/CagedPtr.h:
  • wtf/Forward.h:
  • wtf/NakedRef.h:
  • wtf/RawPtrTraits.h: Renamed from Source/WTF/wtf/DumbPtrTraits.h.
  • wtf/RawValueTraits.h: Renamed from Source/WTF/wtf/DumbValueTraits.h.
  • wtf/Ref.h:
  • wtf/RefCountedArray.h:
  • wtf/RefPtr.h:
  • wtf/SentinelLinkedList.h:
12:57 PM Changeset in webkit [268992] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[TextureMapper] min(genIType) isn't supported for GLSL ES < 3.0
https://bugs.webkit.org/show_bug.cgi?id=218164

Reviewed by Don Olmstead.

Nothing is drawn in AC mode of WinCairo port since r268923.
r268923 added a shader code of using min of int type which is
supported since GLSL ES 3.0.

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp: Added fragmentTemplateES to define int type of min.

(WebCore::TextureMapperShaderProgram::create):

12:54 PM Changeset in webkit [268991] by Keith Rollin
  • 3 edits in trunk

Move some initialization code from top-level CMakeLists.txt to WebKitCommon.cmake
https://bugs.webkit.org/show_bug.cgi?id=218069
<rdar://problem/70556952>

Reviewed by Fujii Hironori.

Moving this initialization code into a central location allows other
top-level CMakeLists.txt files to include WebKitCommon.cmake and get
that same initialization.

  • CMakeLists.txt:
  • Source/cmake/WebKitCommon.cmake:
11:41 AM Changeset in webkit [268990] by weinig@apple.com
  • 95 edits in trunk/Source

JSC special function forward declarations (e.g. JSC_DECLARE_HOST_FUNCTION) that are internal to a cpp file should be declared with static to avoid external linkage
https://bugs.webkit.org/show_bug.cgi?id=218159

Reviewed by Darin Adler.

Add static prefix when declarations are constrained to the cpp file. This should help out the linker
by using the correct linkage type.

Source/JavaScriptCore:

  • runtime/ArrayPrototype.cpp:
  • runtime/AsyncGeneratorFunctionConstructor.cpp:
  • runtime/AtomicsObject.cpp:
  • runtime/DateConstructor.cpp:
  • runtime/DatePrototype.cpp:
  • runtime/InspectorInstrumentationObject.cpp:
  • runtime/JSDataViewPrototype.cpp:
  • runtime/JSONObject.cpp:
  • runtime/MathObject.cpp:
  • runtime/ObjectConstructor.cpp:
  • runtime/RegExpObject.cpp:
  • runtime/StringPrototype.cpp:

Source/WebCore:

  • page/DOMWindow.idl:
  • bindings/js/JSDOMWindowCustom.cpp:

Add ForwardDeclareInHeader to showModalDialog to allow it to be access from JSDOMWindowCustom.cpp. This
also means we can remove the redundant forward declaration.

  • bindings/scripts/CodeGeneratorJS.pm:

Prefix declarations that are constrained to the cpp files with static.

  • bindings/scripts/test/JS/JSDOMWindow.cpp:
  • bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
  • bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:
  • bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
  • bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
  • bindings/scripts/test/JS/JSTestCEReactions.cpp:
  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
  • bindings/scripts/test/JS/JSTestCallTracer.cpp:
  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
  • bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:
  • bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:
  • bindings/scripts/test/JS/JSTestDOMJIT.cpp:
  • bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:
  • bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:
  • bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:
  • bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:
  • bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:
  • bindings/scripts/test/JS/JSTestDomainSecurity.cpp:
  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
  • bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
  • bindings/scripts/test/JS/JSTestIterable.cpp:
  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
  • bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:
  • bindings/scripts/test/JS/JSTestLegacyNoInterfaceObject.cpp:
  • bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:
  • bindings/scripts/test/JS/JSTestMapLike.cpp:
  • bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
  • bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
  • bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestOperationConditional.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
  • bindings/scripts/test/JS/JSTestPluginInterface.cpp:
  • bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
  • bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:
  • bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:
  • bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSetLike.cpp:
  • bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:
  • bindings/scripts/test/JS/JSTestStringifier.cpp:
  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
  • bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:

Update tests with new output.

11:40 AM Changeset in webkit [268989] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebKit

Add null checks and smart pointers in PDF and Plugin code
https://bugs.webkit.org/show_bug.cgi?id=218144
<rdar://problem/69931543>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-26
Reviewed by Youenn Fablet.

It's nice when things don't crash.
isBeingAsynchronouslyInitialized wasn't called anywhere, so I removed it.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::~PDFPlugin):
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::updateScrollbars):
(WebKit::PDFPlugin::createScrollbar):
(WebKit::PDFPlugin::isActive const):
(WebKit::PDFPlugin::forceUpdateScrollbarsOnMainThreadForPerformanceTesting const):
(WebKit::PDFPlugin::jsPDFDocPrint):
(WebKit::PDFPlugin::installPDFDocument):
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors):
(WebKit::PDFPlugin::calculateSizes):
(WebKit::PDFPlugin::willDetachRenderer):
(WebKit::PDFPlugin::destroy):
(WebKit::PDFPlugin::paintControlForLayerInContext):
(WebKit::PDFPlugin::convertFromPDFViewToScreen const):
(WebKit::PDFPlugin::boundsOnScreen const):
(WebKit::PDFPlugin::visibilityDidChange):
(WebKit::PDFPlugin::showContextMenuAtPoint):
(WebKit::PDFPlugin::handleContextMenuEvent):
(WebKit::PDFPlugin::isFullFramePlugin const):
(WebKit::PDFPlugin::handlesPageScaleFactor const):
(WebKit::PDFPlugin::clickedLink):
(WebKit::PDFPlugin::save):
(WebKit::PDFPlugin::openWithPreview):
(WebKit::PDFPlugin::saveToPDF):
(WebKit::PDFPlugin::openWithNativeApplication):
(WebKit::PDFPlugin::showDefinitionForAttributedString):
(WebKit::PDFPlugin::notifySelectionChanged):
(WebKit::PDFPlugin::notifyCursorChanged):
(WebKit::PDFPlugin::axObjectCache const):
(WebKit::PDFPlugin::performWebSearch):
(WebKit::PDFPlugin::performSpotlightSearch):

  • WebProcess/Plugins/Plugin.cpp:

(WebKit::Plugin::Plugin):
(WebKit::Plugin::initialize):
(WebKit::Plugin::controller):
(WebKit::Plugin::controller const):
(WebKit::Plugin::~Plugin): Deleted.

  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::controller): Deleted.
(WebKit::Plugin::controller const): Deleted.

  • WebProcess/Plugins/PluginController.h:
  • WebProcess/WebPage/WebFrame.h:

(WebKit::WebFrame::setLoadListener):
(WebKit::WebFrame::loadListener const):

11:24 AM Changeset in webkit [268988] by Peng Liu
  • 2 edits in trunk/Source/WebCore

Clean up CAAudioStreamDescription
https://bugs.webkit.org/show_bug.cgi?id=217552

Reviewed by Youenn Fablet.

Remove an unused private function.

  • platform/audio/cocoa/CAAudioStreamDescription.h:
11:06 AM Changeset in webkit [268987] by Peng Liu
  • 2 edits in trunk/Source/WebCore

Video immediately exits full screen and pauses
https://bugs.webkit.org/show_bug.cgi?id=218103

Reviewed by Jer Noble.

A follow-up patch of r265437 to enable the quirk when a video element's class names
contain amp-html5 and amp-media-element.

  • page/Quirks.cpp:

(WebCore::Quirks::needsAkamaiMediaPlayerQuirk const):

10:54 AM Changeset in webkit [268986] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Move some functions from RenderBlockFlow to RenderDeprecatedFlexbox
https://bugs.webkit.org/show_bug.cgi?id=218194

Reviewed by Zalan Bujtas.

It is the only client.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::markupBox const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::lineAtIndex const): Deleted.
(WebCore::getHeightForLineCount): Deleted.
(WebCore::RenderBlockFlow::heightForLineCount): Deleted.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::shouldCheckLines):
(WebCore::lineAtIndex):
(WebCore::getHeightForLineCount):
(WebCore::heightForLineCount):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

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

[LFC][Integration] Account for margin start when setting the renderer's border box location
https://bugs.webkit.org/show_bug.cgi?id=218190

Reviewed by Antti Koivisto.

After r268950 replaced runs start at the margin box logical left. Let's offset the border box
location with the margin value.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendInlineContainerStart): <span> should take negative margins into account as well.
(WebCore::Layout::Line::appendNonReplacedInlineBox): rename.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::constructContent):

10:49 AM Changeset in webkit [268984] by Matt Lewis
  • 3 edits in trunk/Tools

Webkitscmpy has missing / in scm executable candidate list.
https://bugs.webkit.org/show_bug.cgi?id=218166

Reviewed by Jonathan Bedard.

  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Version Bump
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm.executable):

10:29 AM Changeset in webkit [268983] by youenn@apple.com
  • 3 edits in trunk/Tools

W3C test importer should not import manual HTTPS tests
https://bugs.webkit.org/show_bug.cgi?id=217944

Reviewed by Jonathan Bedard.

Uodate manual test detection heuristic to simply search for '-manual.'.

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.is_wpt_manualtest):

  • Scripts/webkitpy/w3c/test_parser_unittest.py:
10:27 AM Changeset in webkit [268982] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'this._boxModelDiagramRow.minimumWidth')
https://bugs.webkit.org/show_bug.cgi?id=218135

Patch by Patrick Angle <Patrick Angle> on 2020-10-26
Reviewed by Brian Burg.

minimumWidth may be retrieved before the ComputedStylesDetailsPanel has done its initial layout, which means the
_boxModelDiagramRow will not have been initialized. In this case, we want to return 0 causing the absolute
minimum width of a sidebar to be used for calculations instead.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WI.ComputedStyleDetailsPanel.prototype.get minimumWidth):

10:25 AM Changeset in webkit [268981] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Change minimum width of #tab-browser to a more reasonable value
https://bugs.webkit.org/show_bug.cgi?id=217998

Patch by Patrick Angle <Patrick Angle> on 2020-10-26
Reviewed by Brian Burg.

Adjusted the minimum width of the #tab-browser to be 200px, which is a more reasonable minimum usable width.
Additionally, adjusted the threshold for which multiple sidebars are shown by 50px so that the size of the
#tab-browser does not have to become its minimum width before hiding the additional sidebars.

  • UserInterface/Base/Main.js:
  • UserInterface/Views/Main.css:

(#tab-browser):

  • UserInterface/Views/MultiSidebar.js:

(WI.MultiSidebar.prototype._updateMinimumWidthForMultipleSidebars):

10:02 AM Changeset in webkit [268980] by Karl Rackler
  • 2 edits in branches/safari-610-branch/LayoutTests

REGRESSION: [ iOS wk2 ] fast/events/touch/ios/pointer-events-with-modifiers.html is a constant crash
rdar://69762963
Removing test expectation now that test is passing.

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
8:35 AM Changeset in webkit [268979] by youenn@apple.com
  • 5 edits in trunk/Source

Use a WeakHashSet for Document::m_captionPreferencesChangedElements
https://bugs.webkit.org/show_bug.cgi?id=218170

Reviewed by Eric Carlson.

Source/WebCore:

Refactoring to move from raw pointer to weak pointer.
For that purpose, we use WeakHashSet and WeakHashSet::forEach for extra safety.
No observable change of behavior.

  • dom/Document.cpp:

(WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
(WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks):
(WebCore::Document::captionPreferencesChanged):

  • dom/Document.h:

Source/WTF:

  • wtf/WeakHashSet.h:

Add a static cast for classes inheriting CanMakeWeakPtr like done for the set iterator.
Update code to compile in WinCairo.

7:54 AM Changeset in webkit [268978] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Make use of signalling thread when creating the peer connection factory
https://bugs.webkit.org/show_bug.cgi?id=218169

Reviewed by Eric Carlson.

Covered by existing tests.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::LibWebRTCProvider::factory):
This will free the networking thread from some tasks which is better for performance reasons,
as well as more consistent.

6:59 AM Changeset in webkit [268977] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer][EME] Remove unused protection even in common decryptor
https://bugs.webkit.org/show_bug.cgi?id=218183

Reviewed by Philippe Normand.

Removing unused decryptor attribute, reminiscence of the past.

  • platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
6:58 AM Changeset in webkit [268976] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

[LFC][Integration] Allow all replaced elements
https://bugs.webkit.org/show_bug.cgi?id=218074

Reviewed by Zalan Bujtas.

Add a #define to allow all RenderReplaced in modern line layout.
Also add one for inline-blocks.

Both are disabled for now.

  • layout/integration/LayoutIntegrationBoxTree.cpp:

(WebCore::LayoutIntegration::BoxTree::buildTree):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForChild):
(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::containing):
(WebCore::LayoutIntegration::LineLayout::hitTest):

Implement hit testing.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutLFCLines):

6:48 AM Changeset in webkit [268975] by calvaris@igalia.com
  • 3 edits in trunk/Source/WebCore

[EME] Fix casts and sizes printing
https://bugs.webkit.org/show_bug.cgi?id=218171

Reviewed by Philippe Normand.

Fix size printing and casts in CDMThunder and ClearKey.

  • platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:

(WebCore::CDMProxyClearKey::cencDecryptSubsampled):

  • platform/graphics/gstreamer/eme/CDMThunder.cpp:

(WebCore::ParsedResponseMessage::ParsedResponseMessage):
(WebCore::CDMInstanceSessionThunder::requestLicense):
(WebCore::CDMInstanceSessionThunder::updateLicense):
(WebCore::CDMInstanceSessionThunder::loadSession):
(WebCore::CDMInstanceSessionThunder::removeSessionData):

6:32 AM Changeset in webkit [268974] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

[LFC] Rename functions with ContentWidth/HeightAndMargin return type
https://bugs.webkit.org/show_bug.cgi?id=218165

Reviewed by Antti Koivisto.

E.g. inlineBlockWidthAndMargin does not indicate whether it computes border, padding or content box width.
Let's rename Geometry::*WidthAndMargin and Geometry::*HeightAndMargin to Geometry::*ContentWidthAndMargin and Geometry::*ContentHeightAndMargin.

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedContentWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedContentHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedContentWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingContentHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::floatingContentWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedContentHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedContentWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin const): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin const): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin): Deleted.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const): Deleted.
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin): Deleted.

  • layout/blockformatting/BlockFormattingContext.cpp:

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

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

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedContentHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedContentWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedContentWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowContentHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowContentWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::computedContentWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::computedWidthAndMargin): Deleted.

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

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

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

  • layout/inlineformatting/InlineFormattingContext.h:
  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockContentWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockContentHeightAndMargin const):
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin): Deleted.
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockHeightAndMargin const): Deleted.

6:28 AM Changeset in webkit [268973] by Alan Bujtas
  • 26 edits in trunk/LayoutTests

Remove unneeded whitespace between content and <br>
https://bugs.webkit.org/show_bug.cgi?id=218151
<rdar://problem/70662471>

Reviewed by Antti Koivisto.

Missed these files in r268958.

  • fast/css/text-overflow-ellipsis-bidi.html:
  • fast/css/text-overflow-ellipsis-strict.html:
  • fast/forms/basic-buttons.html:
  • fast/repaint/add-table-overpaint-expected.txt:
  • fast/repaint/hidpi-wrong-repaint-rect-when-parent-has-noncompositing-transform-expected.txt:
  • fast/repaint/obscured-background-no-repaint-expected.txt:
  • fast/repaint/resources/line-flow-with-floats.html:
  • platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-strict-expected.txt:
  • platform/mac/fast/forms/basic-buttons-expected.txt:
  • platform/mac/fast/repaint/japanese-rl-selection-clear-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt:
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt:
  • platform/mac/svg/text/text-overflow-ellipsis-svgfont-expected.txt:
  • platform/mac/svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures-expected.txt:
  • svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html:
  • svg/text/text-overflow-ellipsis-svgfont.html:
6:19 AM Changeset in webkit [268972] by Philippe Normand
  • 4 edits
    3 moves
    2 adds
    2 deletes in trunk/LayoutTests

Unreviewed, GStreamer WebAudio gardening

  • platform/glib/TestExpectations: Remove tests consistently passing or that needed a

rebaseline which is part of this commit.

  • platform/glib/webaudio/audiobuffersource-playbackrate-expected.wav:
  • platform/glib/webaudio/oscillator-custom-expected.wav: Renamed from LayoutTests/platform/gtk/webaudio/oscillator-custom-expected.wav.
  • platform/glib/webaudio/oscillator-sawtooth-expected.wav: Renamed from LayoutTests/platform/gtk/webaudio/oscillator-sawtooth-expected.wav.
  • platform/glib/webaudio/oscillator-sine-expected.wav: Renamed from LayoutTests/platform/gtk/webaudio/oscillator-sine-expected.wav.
  • platform/glib/webaudio/oscillator-square-expected.wav: Added.
  • platform/glib/webaudio/oscillator-triangle-expected.wav: Added.
  • platform/gtk/TestExpectations:
  • platform/gtk/webaudio/oscillator-square-expected.wav: Removed.
  • platform/gtk/webaudio/oscillator-triangle-expected.wav: Removed.
5:50 AM Changeset in webkit [268971] by youenn@apple.com
  • 20 edits
    2 adds in trunk

Add support for VP9 Profile 2 (10-bit color) in WebRTC
https://bugs.webkit.org/show_bug.cgi?id=217673
<rdar://problem/70283885>

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Add support for VP9 profile 0 and 2.
This requires correctly handling 10-bit decoded buffers as is done by the MSE code path.

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

(webrtc::pixelBufferFromFrame):

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

(webrtc::WebKitVP9DecoderReceiver::Decoded):

  • Source/webrtc/sdk/objc/api/video_codec/RTCVideoEncoderVP9.h:
  • Source/webrtc/sdk/objc/api/video_codec/RTCVideoEncoderVP9.mm:

(+[RTCVideoEncoderVP9 vp9Encoder:]):

  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.m:

(-[RTCDefaultVideoDecoderFactory supportedCodecs]):

  • Source/webrtc/sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.m:

(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9:]):
(-[RTCDefaultVideoEncoderFactory createEncoder:]):

Source/WebCore:

In case software VP9 decoded buffer is 10 bits, we use kCVPixelFormatType_420YpCbCr10BiPlanarFullRange.

Test: webrtc/vp9-profile2.html

  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h:
  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:

(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):
(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame):

  • platform/mediastream/mac/RealtimeVideoUtilities.h:
  • platform/mediastream/mac/RealtimeVideoUtilities.mm:

(WebCore::createPixelBufferPool):

Source/WebKit:

  • WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:

(WebKit::LibWebRTCCodecs::pixelBufferPool):

LayoutTests:

  • webrtc/vp9-profile2-expected.txt: Added.
  • webrtc/vp9-profile2.html: Added.
5:42 AM Changeset in webkit [268970] by youenn@apple.com
  • 7 edits in trunk/Source/WebCore

Remove MediaPlayer::m_visible
https://bugs.webkit.org/show_bug.cgi?id=217810

Reviewed by Eric Carlson.

MediaPlayer::visible() is only used by MediaPlayerPrivateAVFoundation and MediaPlayerPrivateGStreamer but they have their own m_visible state.
We need to keep m_visible and add m_visibleForCanvas to keep the state when changing of engine.
No change of behavior.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setVisible):
(WebCore::MediaPlayer::setVisibleForCanvas):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode const):
(WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup const):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::paint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
5:31 AM Changeset in webkit [268969] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GStreamer WebAudio gardening

  • platform/glib/TestExpectations: Unflag flaky webaudio tests consistently passing since

r268826.

4:56 AM Changeset in webkit [268968] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[EME][Thunder][GStreamer] Assert on 0 length messages from Thunder
https://bugs.webkit.org/show_bug.cgi?id=218173

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/eme/CDMThunder.cpp:

(WebCore::CDMInstanceSessionThunder::CDMInstanceSessionThunder):
Assert on 0 length messages to get a crash and be able to analyze
why.

4:33 AM Changeset in webkit [268967] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GLIB][GTK] Unreviewed test gardening. Gardened latest tests passing on bots.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
4:00 AM Changeset in webkit [268966] by emilio
  • 6 edits in trunk

Drop sorting and deduplication of media queries.
https://bugs.webkit.org/show_bug.cgi?id=217751

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom/mediaquery-sort-dedup-expected.txt: annotate progression

Source/WebCore:

This matches what Gecko has shipped for ages.

The spec used to contain the sorting but not the de-duplication.

Both the spec and Chromium have been updated to match Gecko, see
https://github.com/w3c/csswg-drafts/issues/5627

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::MediaQuery): Don't sort / dedup

Tests: imported/w3c/web-platform-tests/css/cssom/mediaquery-sort-dedup.html

LayoutTests:

  • fast/media/media-query-serialization.html: Adjust to match spec.
2:35 AM Changeset in webkit [268965] by zandobersek@gmail.com
  • 14 edits in trunk

Remove Accelerated2dCanvasEnabled WebPreferences entry
https://bugs.webkit.org/show_bug.cgi?id=218114

Reviewed by Adrian Perez de Castro.

Source/WebKit:

With the removal of the Accelerated2dCanvasEnabled preference key,
relevant API functions in the WK2 C API are made no-op. Similar
thing is done for the relevant GLib API, with the addition of marking
relevant API funcions as deprecated.

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKPreferencesSetAccelerated2DCanvasEnabled):
(WKPreferencesGetAccelerated2DCanvasEnabled):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAccelerated2DCanvasEnabled): Deleted.
(WKPreferencesGetAccelerated2DCanvasEnabled): Deleted.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_accelerated_2d_canvas):
(webkit_settings_set_enable_accelerated_2d_canvas):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::m_backend):

  • UIProcess/API/wpe/WebKitSettings.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferences.mm:

(-[WebPreferences accelerated2dCanvasEnabled]): Make the API function
no-op and move it into the deprecated section.
(-[WebPreferences setAccelerated2dCanvasEnabled:]): Ditto.

Source/WTF:

  • Scripts/Preferences/WebPreferences.yaml:

Remove the Accelerated2dCanvasEnabled key after the underlying code
was removed in r268453.

Tools:

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:

(testWebKitSettings): Adjust the test case to properly evaluate the
deprecated no-op behavior.

2:02 AM Changeset in webkit [268964] by Diego Pino Garcia
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Unreviewed test gardening. Update baselines of a few more tests remaining after r268958.

  • platform/glib/fast/box-shadow/box-shadow-radius-expected.txt:
  • platform/gtk/fonts/serif-expected.txt:
  • platform/wpe/fonts/serif-expected.txt:

Oct 25, 2020:

11:13 PM Changeset in webkit [268963] by Diego Pino Garcia
  • 178 edits
    6 moves
    3 adds
    8 deletes in trunk/LayoutTests

[GTK][WPE] Unreviewed test gardening. Update baselines after r268958.

  • platform/glib/fast/block/positioning/differing-writing-modes-expected.txt:
  • platform/glib/fast/block/positioning/differing-writing-modes-replaced-expected.txt:
  • platform/glib/fast/borders/border-image-01-expected.txt:
  • platform/glib/fast/borders/border-image-longhand-expected.txt:
  • platform/glib/fast/borders/border-image-massive-scale-expected.txt:
  • platform/glib/fast/borders/border-image-outset-expected.txt:
  • platform/glib/fast/borders/border-image-outset-in-shorthand-expected.txt:
  • platform/glib/fast/borders/border-image-repeat-expected.txt:
  • platform/glib/fast/borders/border-image-rotate-transform-expected.txt:
  • platform/glib/fast/borders/border-image-scale-transform-expected.txt:
  • platform/glib/fast/borders/border-image-scaled-expected.txt:
  • platform/glib/fast/borders/border-image-scrambled-expected.txt:
  • platform/glib/fast/borders/border-image-side-reduction-expected.txt:
  • platform/glib/fast/borders/border-image-slices-expected.txt:
  • platform/glib/fast/borders/border-image-source-expected.txt:
  • platform/glib/fast/borders/mixed-border-styles-expected.txt:
  • platform/glib/fast/borders/mixed-border-styles-radius-expected.txt:
  • platform/glib/fast/box-shadow/inset-box-shadow-radius-expected.txt:
  • platform/glib/fast/box-shadow/inset-box-shadows-expected.txt:
  • platform/glib/fast/box-shadow/scaled-box-shadow-expected.txt:
  • platform/glib/fast/css/focus-ring-detached-expected.txt:
  • platform/glib/fast/images/image-map-anchor-children-expected.txt:
  • platform/glib/fast/inline-block/006-expected.txt:
  • platform/glib/fast/ruby/ruby-simple-rp-expected.txt: Renamed from LayoutTests/platform/wpe/fast/ruby/ruby-simple-rp-expected.txt.
  • platform/glib/fast/text/basic/012-expected.txt: Renamed from LayoutTests/platform/wpe/fast/text/basic/012-expected.txt.
  • platform/glib/fast/text/emphasis-overlap-expected.txt: Added.
  • platform/glib/fast/text/indic-expected.txt: Renamed from LayoutTests/platform/gtk/fast/text/indic-expected.txt.
  • platform/glib/fast/text/justify-nbsp-expected.txt: Renamed from LayoutTests/platform/gtk/fast/text/justify-nbsp-expected.txt.
  • platform/glib/fast/transforms/identity-matrix-expected.txt:
  • platform/glib/fonts/monospace-expected.txt: Renamed from LayoutTests/platform/wpe/fonts/monospace-expected.txt.
  • platform/glib/svg/as-border-image/svg-as-border-image-2-expected.txt:
  • platform/glib/svg/as-border-image/svg-as-border-image-expected.txt:
  • platform/glib/svg/custom/getscreenctm-in-mixed-content-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug11026-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug28341-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug4284-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug4849-2-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug60992-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug92868-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug963-expected.txt:
  • platform/glib/tables/mozilla/core/col_widths_fix_auto-expected.txt:
  • platform/glib/tables/mozilla/other/nestedTables-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/bugs/bug1262-expected.txt: Renamed from LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug1262-expected.txt.
  • platform/gtk/compositing/iframes/composited-iframe-alignment-expected.txt:
  • platform/gtk/compositing/overflow/ancestor-overflow-expected.txt:
  • platform/gtk/compositing/overflow/overflow-scroll-expected.txt:
  • platform/gtk/fast/block/float/float-in-float-hit-testing-expected.txt:
  • platform/gtk/fast/block/float/float-in-float-painting-expected.txt:
  • platform/gtk/fast/borders/border-image-border-radius-expected.txt:
  • platform/gtk/fast/clip/overflow-border-radius-combinations-expected.txt:
  • platform/gtk/fast/clip/overflow-border-radius-composited-expected.txt:
  • platform/gtk/fast/clip/overflow-border-radius-transformed-expected.txt:
  • platform/gtk/fast/css/first-line-text-decoration-expected.txt:
  • platform/gtk/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
  • platform/gtk/fast/css/layerZOrderCrash-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/gtk/fast/dom/focus-contenteditable-expected.txt:
  • platform/gtk/fast/forms/basic-inputs-expected.txt:
  • platform/gtk/fast/forms/basic-selects-expected.txt:
  • platform/gtk/fast/forms/button-align-expected.txt:
  • platform/gtk/fast/forms/button-generated-content-expected.txt:
  • platform/gtk/fast/forms/button-table-styles-expected.txt:
  • platform/gtk/fast/forms/caret-rtl-expected.txt:
  • platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
  • platform/gtk/fast/forms/hidden-listbox-expected.txt:
  • platform/gtk/fast/forms/input-align-expected.txt:
  • platform/gtk/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/gtk/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/gtk/fast/forms/input-appearance-disabled-expected.txt:
  • platform/gtk/fast/forms/input-appearance-readonly-expected.txt:
  • platform/gtk/fast/forms/input-baseline-expected.txt:
  • platform/gtk/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/gtk/fast/forms/input-spaces-expected.txt:
  • platform/gtk/fast/forms/listbox-width-change-expected.txt:
  • platform/gtk/fast/forms/option-script-expected.txt:
  • platform/gtk/fast/forms/option-text-clip-expected.txt:
  • platform/gtk/fast/forms/range/slider-padding-expected.txt:
  • platform/gtk/fast/forms/search-rtl-expected.txt:
  • platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/gtk/fast/forms/select-align-expected.txt:
  • platform/gtk/fast/forms/select-change-popup-to-listbox-expected.txt:
  • platform/gtk/fast/forms/select-initial-position-expected.txt:
  • platform/gtk/fast/forms/select-style-expected.txt:
  • platform/gtk/fast/forms/textarea-align-expected.txt:
  • platform/gtk/fast/forms/textarea-scrollbar-expected.txt:
  • platform/gtk/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/gtk/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/gtk/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/gtk/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/gtk/fast/layers/layer-visibility-sublayer-expected.txt:
  • platform/gtk/fast/repaint/rel-positioned-inline-with-overflow-expected.txt:
  • platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/gtk/fast/ruby/ruby-inline-table-expected.txt:
  • platform/gtk/fast/ruby/ruby-length-expected.txt:
  • platform/gtk/fast/ruby/ruby-run-break-expected.txt:
  • platform/gtk/fast/ruby/ruby-runs-expected.txt:
  • platform/gtk/fast/ruby/ruby-simple-expected.txt:
  • platform/gtk/fast/ruby/ruby-simple-rp-expected.txt: Removed.
  • platform/gtk/fast/text/basic/012-expected.txt: Removed.
  • platform/gtk/fast/text/capitalize-boundaries-expected.txt:
  • platform/gtk/fast/text/emphasis-overlap-expected.txt: Removed.
  • platform/gtk/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/gtk/fast/writing-mode/fieldsets-expected.txt:
  • platform/gtk/fast/writing-mode/vertical-baseline-alignment-expected.txt:
  • platform/gtk/fast/writing-mode/vertical-baseline-alignment-mixed-expected.txt:
  • platform/gtk/fonts/monospace-expected.txt: Removed.
  • platform/gtk/fonts/sans-serif-expected.txt:
  • platform/gtk/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug9123-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/gtk/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/gtk/tables/mozilla/core/bloomberg-expected.txt:
  • platform/gtk/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/gtk/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt:
  • platform/wpe/fast/block/float/float-in-float-hit-testing-expected.txt:
  • platform/wpe/fast/block/float/float-in-float-painting-expected.txt:
  • platform/wpe/fast/borders/border-image-border-radius-expected.txt:
  • platform/wpe/fast/clip/overflow-border-radius-combinations-expected.txt:
  • platform/wpe/fast/clip/overflow-border-radius-composited-expected.txt:
  • platform/wpe/fast/clip/overflow-border-radius-transformed-expected.txt:
  • platform/wpe/fast/css/first-line-text-decoration-expected.txt:
  • platform/wpe/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
  • platform/wpe/fast/css/layerZOrderCrash-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wpe/fast/dom/focus-contenteditable-expected.txt:
  • platform/wpe/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/wpe/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/wpe/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/wpe/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/wpe/fast/layers/layer-visibility-sublayer-expected.txt:
  • platform/wpe/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/wpe/fast/ruby/ruby-inline-table-expected.txt:
  • platform/wpe/fast/ruby/ruby-length-expected.txt:
  • platform/wpe/fast/ruby/ruby-run-break-expected.txt:
  • platform/wpe/fast/ruby/ruby-runs-expected.txt:
  • platform/wpe/fast/ruby/ruby-simple-expected.txt:
  • platform/wpe/fast/text/capitalize-boundaries-expected.txt:
  • platform/wpe/fast/text/emphasis-overlap-expected.txt: Removed.
  • platform/wpe/fast/text/indic-expected.txt: Removed.
  • platform/wpe/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/wpe/fast/text/justify-nbsp-expected.txt: Removed.
  • platform/wpe/fast/text/svg-font-face-with-kerning-expected.txt:
  • platform/wpe/fast/writing-mode/fieldsets-expected.txt:
  • platform/wpe/fast/writing-mode/vertical-baseline-alignment-expected.txt:
  • platform/wpe/fast/writing-mode/vertical-baseline-alignment-mixed-expected.txt:
  • platform/wpe/fonts/sans-serif-expected.txt:
  • platform/wpe/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug9123-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
  • platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt: Removed.
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
6:57 PM Changeset in webkit [268962] by weinig@apple.com
  • 6 edits in trunk

Remove non-standard 'css'/'Css' prefixed properties on CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=218158

Reviewed by Simon Fraser.

Source/WebCore:

Remove support for 'css'/'Css' prefixed properties of CSSStyleDeclaration which
are no longer supported by any other browser.

  • css/CSSStyleDeclaration.cpp:
  • css/makeprop.pl:

LayoutTests:

  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive-expected.txt:
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html:

Update test to reflect removal of css prefixes.

2:43 PM Changeset in webkit [268961] by emilio
  • 12 edits
    11 adds
    3 deletes in trunk/LayoutTests

Update CSSOM WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=218157

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • resources/resource-files.json:
  • web-platform-tests/css/cssom/CSS.html: Removed.
  • web-platform-tests/css/cssom/CSSCounterStyleRule-expected.txt: Added.
  • web-platform-tests/css/cssom/CSSCounterStyleRule.html: Added.
  • web-platform-tests/css/cssom/CSSFontFaceRule-expected.txt: Added.
  • web-platform-tests/css/cssom/CSSFontFaceRule.html: Added.
  • web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative-expected.txt:
  • web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html:
  • web-platform-tests/css/cssom/css-style-attr-decl-block.html:
  • web-platform-tests/css/cssom/cssimportrule.html:
  • web-platform-tests/css/cssom/escape.html:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html:
  • web-platform-tests/css/cssom/getComputedStyle-resolved-colors-expected.txt: Added.
  • web-platform-tests/css/cssom/getComputedStyle-resolved-colors.html: Added.
  • web-platform-tests/css/cssom/medialist-interfaces-003-expected.txt: Removed.
  • web-platform-tests/css/cssom/medialist-interfaces-003.html: Removed.
  • web-platform-tests/css/cssom/mediaquery-sort-dedup-expected.txt: Added.
  • web-platform-tests/css/cssom/mediaquery-sort-dedup.html: Added.
  • web-platform-tests/css/cssom/removerule-invalidation-crash.html: Added.
  • web-platform-tests/css/cssom/rule-restrictions-expected.txt: Added.
  • web-platform-tests/css/cssom/rule-restrictions.html: Added.
  • web-platform-tests/css/cssom/serialize-media-rule-expected.txt:
  • web-platform-tests/css/cssom/serialize-media-rule.html:
  • web-platform-tests/css/cssom/w3c-import.log:

LayoutTests:

  • tests-options.json:
2:34 PM Changeset in webkit [268960] by Simon Fraser
  • 5 edits
    2 copies in trunk/Source/WebCore

[LFC Display] Move code for painting a single Display::Box into its own class
https://bugs.webkit.org/show_bug.cgi?id=218161

Reviewed by Antti Koivisto.

Move box-painting code into its own class, so that CSSPainter is about CSS stacking
context logic, and BoxPainter is about how to paint a single box.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/css/DisplayBoxPainter.cpp: Copied from Source/WebCore/display/css/DisplayCSSPainter.cpp.

(WebCore::Display::BoxPainter::paintFillLayer):
(WebCore::Display::BoxPainter::paintBackgroundImages):
(WebCore::Display::BoxPainter::paintBoxDecorations):
(WebCore::Display::BoxPainter::paintBoxContent):
(WebCore::Display::BoxPainter::paintBox):

  • display/css/DisplayBoxPainter.h: Copied from Source/WebCore/display/css/DisplayCSSPainter.h.
  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::recursivePaintDescendants):
(WebCore::Display::CSSPainter::paintStackingContext):
(WebCore::Display::CSSPainter::paintFillLayer): Deleted.
(WebCore::Display::CSSPainter::paintBackgroundImages): Deleted.
(WebCore::Display::CSSPainter::paintBoxDecorations): Deleted.
(WebCore::Display::CSSPainter::paintBoxContent): Deleted.
(WebCore::Display::CSSPainter::paintBox): Deleted.

  • display/css/DisplayCSSPainter.h:
1:26 PM Changeset in webkit [268959] by Simon Fraser
  • 18 edits
    1 copy
    1 add in trunk/Source/WebCore

[LFC Display] Move display box creation and geometry computation out of Display::TreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=218160

Reviewed by Zalan Bujtas.

Make Display::BoxFactory, which has the responsibility of making Display::Boxes,
and setting up their style and geometry. This moves all of the pixel snapping
code out of Display::TreeBuilder.

Display::Box subclasses declare Display::BoxFactory as a friend class so that the factory
can call geometry setter functions (to avoid passing long lists of arguments down through
constructors).

Display::TextBox's text() is no longer Optional<> because we only make text boxes
for runs with text.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::TreeBuilder):
(WebCore::Display::TreeBuilder::build const):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::TreeBuilder::computeBoxDecorationData const): Deleted.
(WebCore::Display::TreeBuilder::displayBoxForRootBox const): Deleted.
(WebCore::Display::TreeBuilder::displayBoxForLayoutBox const): Deleted.

  • display/DisplayTreeBuilder.h:
  • display/css/DisplayBoxDecorationData.cpp:

(WebCore::Display::BoxDecorationData::create): Deleted.

  • display/css/DisplayBoxDecorationData.h:
  • display/css/DisplayBoxFactory.cpp: Added.

(WebCore::Display::BoxFactory::BoxFactory):
(WebCore::Display::BoxFactory::displayBoxForRootBox const):
(WebCore::Display::BoxFactory::displayBoxForLayoutBox const):
(WebCore::Display::BoxFactory::displayBoxForTextRun const):
(WebCore::Display::BoxFactory::setupBoxGeometry const):
(WebCore::Display::BoxFactory::constructBoxDecorationData const):
(WebCore::Display::BoxFactory::setupBoxModelBox const):

  • display/css/DisplayBoxFactory.h: Copied from Source/WebCore/display/DisplayTreeBuilder.h.
  • display/css/DisplayBoxModelBox.cpp:
  • display/css/DisplayBoxModelBox.h:

(WebCore::Display::BoxModelBox::absoluteBorderBoxRect const):
(WebCore::Display::BoxModelBox::absolutePaddingBoxRect const):
(WebCore::Display::BoxModelBox::absoluteContentBoxRect const):
(WebCore::Display::BoxModelBox::boxDecorationData const):
(WebCore::Display::BoxModelBox::setAbsolutePaddingBoxRect):
(WebCore::Display::BoxModelBox::setAbsoluteContentBoxRect):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::paintBoxContent):

  • display/css/DisplayFillLayerImageGeometry.cpp:

(WebCore::Display::calculateFillLayerImageGeometry):

  • display/css/DisplayFillLayerImageGeometry.h:
  • display/css/DisplayImageBox.cpp:

(WebCore::Display::ImageBox::ImageBox):
(WebCore::Display::m_image):
(): Deleted.
(WebCore::Display::ImageBox::setImage): Deleted.

  • display/css/DisplayImageBox.h:

(WebCore::Display::ImageBox::image const):

  • display/css/DisplayReplacedBox.cpp:

(WebCore::Display::ReplacedBox::ReplacedBox):

  • display/css/DisplayReplacedBox.h:

(WebCore::Display::ReplacedBox::setReplacedContentRect):

  • display/css/DisplayTextBox.cpp:

(WebCore::Display::m_text):
(WebCore::Display::TextBox::debugDescription const):

  • display/css/DisplayTextBox.h:

(WebCore::Display::TextBox::text const):

12:52 PM Changeset in webkit [268958] by Alan Bujtas
  • 406 edits in trunk/LayoutTests

Remove unneeded whitespace between content and <br>
https://bugs.webkit.org/show_bug.cgi?id=218151

This is in preparation for fixing webkit.org/b/216902
(Remove collapsible trailing whitespace when it is followed by a hard line break)
These tests don't really need to have trailing whitespace in front of <br>.

Reviewed by Antti Koivisto.

  • compositing/iframes/composited-iframe-alignment.html:
  • compositing/overflow/ancestor-overflow.html:
  • compositing/overflow/overflow-scroll.html:
  • fast/block/float/float-in-float-hit-testing.html:
  • fast/block/float/float-in-float-painting.html:
  • fast/block/positioning/differing-writing-modes-replaced.html:
  • fast/block/positioning/differing-writing-modes.html:
  • fast/borders/border-image-01.html:
  • fast/borders/border-image-border-radius.html:
  • fast/borders/border-image-longhand.html:
  • fast/borders/border-image-massive-scale.html:
  • fast/borders/border-image-outset-in-shorthand.html:
  • fast/borders/border-image-outset.html:
  • fast/borders/border-image-repeat.html:
  • fast/borders/border-image-rotate-transform.html:
  • fast/borders/border-image-scale-transform.html:
  • fast/borders/border-image-scaled.html:
  • fast/borders/border-image-scrambled.html:
  • fast/borders/border-image-side-reduction.html:
  • fast/borders/border-image-slices.html:
  • fast/borders/border-image-source.html:
  • fast/borders/mixed-border-styles-radius.html:
  • fast/borders/mixed-border-styles.html:
  • fast/box-shadow/box-shadow-radius.html:
  • fast/box-shadow/inset-box-shadow-radius.html:
  • fast/box-shadow/inset-box-shadows.html:
  • fast/box-shadow/scaled-box-shadow.html:
  • fast/clip/overflow-border-radius-combinations.html:
  • fast/clip/overflow-border-radius-composited.html:
  • fast/clip/overflow-border-radius-transformed.html:
  • fast/css/first-line-text-decoration-inherited-from-parent.html:
  • fast/css/first-line-text-decoration.html:
  • fast/css/focus-ring-detached.html:
  • fast/css/layerZOrderCrash.html:
  • fast/css/text-overflow-ellipsis.html:
  • fast/dom/HTMLTextAreaElement/reset-textarea.html:
  • fast/dom/Range/getBoundingClientRect-expected.txt:
  • fast/dom/Range/getBoundingClientRect.html:
  • fast/dom/focus-contenteditable.html:
  • fast/forms/basic-inputs.html:
  • fast/forms/basic-selects.html:
  • fast/forms/button-align.html:
  • fast/forms/button-generated-content.html:
  • fast/forms/button-table-styles.html:
  • fast/forms/caret-rtl.html:
  • fast/forms/control-restrict-line-height.html:
  • fast/forms/hidden-listbox.html:
  • fast/forms/input-align.html:
  • fast/forms/input-appearance-bkcolor.html:
  • fast/forms/input-appearance-default-bkcolor.html:
  • fast/forms/input-appearance-disabled.html:
  • fast/forms/input-appearance-readonly.html:
  • fast/forms/input-baseline.html:
  • fast/forms/input-readonly-dimmed.html:
  • fast/forms/input-spaces.html:
  • fast/forms/listbox-width-change.html:
  • fast/forms/option-script.html:
  • fast/forms/option-text-clip.html:
  • fast/forms/range/slider-padding.html:
  • fast/forms/search-rtl.html:
  • fast/forms/search/search-size-with-decorations.html:
  • fast/forms/select-align.html:
  • fast/forms/select-change-popup-to-listbox.html:
  • fast/forms/select-initial-position.html:
  • fast/forms/select-style.html:
  • fast/forms/textarea-align.html:
  • fast/forms/textarea-scrollbar.html:
  • fast/frames/iframe-with-frameborder.html:
  • fast/frames/onlyCommentInIFrame.html:
  • fast/images/image-map-anchor-children.html:
  • fast/inline-block/006.html:
  • fast/inline-block/contenteditable-baseline.html:
  • fast/inline/drawStyledEmptyInlines.html:
  • fast/layers/layer-visibility-sublayer.html:
  • fast/repaint/rel-positioned-inline-with-overflow.html:
  • fast/ruby/bopomofo-letter-spacing.html:
  • fast/ruby/ruby-inline-table.html:
  • fast/ruby/ruby-length.html:
  • fast/ruby/ruby-run-break.html:
  • fast/ruby/ruby-runs.html:
  • fast/ruby/ruby-simple-rp.html:
  • fast/ruby/ruby-simple.html:
  • fast/text-autosizing/ios/contenteditable.html:
  • fast/text/basic/012.html:
  • fast/text/capitalize-boundaries.html:
  • fast/text/emphasis-overlap-expected.txt:
  • fast/text/emphasis-overlap.html:
  • fast/text/indic.html:
  • fast/text/international/rtl-white-space-pre-wrap.html:
  • fast/text/justify-nbsp.html:
  • fast/text/svg-font-face-with-kerning.html:
  • fast/transforms/identity-matrix.html:
  • fast/writing-mode/fieldsets.html:
  • fast/writing-mode/vertical-baseline-alignment-mixed.html:
  • fast/writing-mode/vertical-baseline-alignment.html:
  • fonts/monospace.html:
  • fonts/sans-serif.html:
  • fonts/serif.html:
  • platform/mac-catalina/fast/forms/basic-inputs-expected.txt:
  • platform/mac-catalina/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/mac-catalina/fast/forms/option-text-clip-expected.txt:
  • platform/mac-catalina/fast/forms/select-change-popup-to-listbox-expected.txt:
  • platform/mac-catalina/fast/text/indic-expected.txt:
  • platform/mac-catalina/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/mac-wk2/fast/layers/layer-visibility-sublayer-expected.txt:
  • platform/mac/compositing/iframes/composited-iframe-alignment-expected.txt:
  • platform/mac/compositing/overflow/ancestor-overflow-expected.txt:
  • platform/mac/compositing/overflow/overflow-scroll-expected.txt:
  • platform/mac/fast/block/float/float-in-float-hit-testing-expected.txt:
  • platform/mac/fast/block/float/float-in-float-painting-expected.txt:
  • platform/mac/fast/block/positioning/differing-writing-modes-expected.txt:
  • platform/mac/fast/block/positioning/differing-writing-modes-replaced-expected.txt:
  • platform/mac/fast/borders/border-image-01-expected.txt:
  • platform/mac/fast/borders/border-image-border-radius-expected.txt:
  • platform/mac/fast/borders/border-image-longhand-expected.txt:
  • platform/mac/fast/borders/border-image-massive-scale-expected.txt:
  • platform/mac/fast/borders/border-image-outset-expected.txt:
  • platform/mac/fast/borders/border-image-outset-in-shorthand-expected.txt:
  • platform/mac/fast/borders/border-image-repeat-expected.txt:
  • platform/mac/fast/borders/border-image-rotate-transform-expected.txt:
  • platform/mac/fast/borders/border-image-scale-transform-expected.txt:
  • platform/mac/fast/borders/border-image-scaled-expected.txt:
  • platform/mac/fast/borders/border-image-scrambled-expected.txt:
  • platform/mac/fast/borders/border-image-side-reduction-expected.txt:
  • platform/mac/fast/borders/border-image-slices-expected.txt:
  • platform/mac/fast/borders/border-image-source-expected.txt:
  • platform/mac/fast/borders/mixed-border-styles-expected.txt:
  • platform/mac/fast/borders/mixed-border-styles-radius-expected.txt:
  • platform/mac/fast/box-shadow/box-shadow-radius-expected.txt:
  • platform/mac/fast/box-shadow/inset-box-shadow-radius-expected.txt:
  • platform/mac/fast/box-shadow/inset-box-shadows-expected.txt:
  • platform/mac/fast/box-shadow/scaled-box-shadow-expected.txt:
  • platform/mac/fast/clip/overflow-border-radius-combinations-expected.txt:
  • platform/mac/fast/clip/overflow-border-radius-composited-expected.txt:
  • platform/mac/fast/clip/overflow-border-radius-transformed-expected.txt:
  • platform/mac/fast/css/first-line-text-decoration-expected.txt:
  • platform/mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
  • platform/mac/fast/css/focus-ring-detached-expected.txt:
  • platform/mac/fast/css/layerZOrderCrash-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/mac/fast/dom/focus-contenteditable-expected.txt:
  • platform/mac/fast/forms/basic-selects-expected.txt:
  • platform/mac/fast/forms/button-align-expected.txt:
  • platform/mac/fast/forms/button-generated-content-expected.txt:
  • platform/mac/fast/forms/button-table-styles-expected.txt:
  • platform/mac/fast/forms/caret-rtl-expected.txt:
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac/fast/forms/hidden-listbox-expected.txt:
  • platform/mac/fast/forms/input-align-expected.txt:
  • platform/mac/fast/forms/input-appearance-bkcolor-expected.txt:
  • platform/mac/fast/forms/input-appearance-default-bkcolor-expected.txt:
  • platform/mac/fast/forms/input-appearance-disabled-expected.txt:
  • platform/mac/fast/forms/input-appearance-readonly-expected.txt:
  • platform/mac/fast/forms/input-baseline-expected.txt:
  • platform/mac/fast/forms/input-spaces-expected.txt:
  • platform/mac/fast/forms/listbox-width-change-expected.txt:
  • platform/mac/fast/forms/option-script-expected.txt:
  • platform/mac/fast/forms/range/slider-padding-expected.txt:
  • platform/mac/fast/forms/search-rtl-expected.txt:
  • platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/mac/fast/forms/select-align-expected.txt:
  • platform/mac/fast/forms/select-initial-position-expected.txt:
  • platform/mac/fast/forms/select-style-expected.txt:
  • platform/mac/fast/forms/textarea-align-expected.txt:
  • platform/mac/fast/forms/textarea-scrollbar-expected.txt:
  • platform/mac/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/images/image-map-anchor-children-expected.txt:
  • platform/mac/fast/inline-block/006-expected.txt:
  • platform/mac/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/mac/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/mac/fast/repaint/rel-positioned-inline-with-overflow-expected.txt:
  • platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt:
  • platform/mac/fast/ruby/ruby-inline-table-expected.txt:
  • platform/mac/fast/ruby/ruby-length-expected.txt:
  • platform/mac/fast/ruby/ruby-run-break-expected.txt:
  • platform/mac/fast/ruby/ruby-runs-expected.txt:
  • platform/mac/fast/ruby/ruby-simple-expected.txt:
  • platform/mac/fast/ruby/ruby-simple-rp-expected.txt:
  • platform/mac/fast/text-autosizing/ios/contenteditable-expected.txt:
  • platform/mac/fast/text/basic/012-expected.txt:
  • platform/mac/fast/text/capitalize-boundaries-expected.txt:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/mac/fast/text/justify-nbsp-expected.txt:
  • platform/mac/fast/text/svg-font-face-with-kerning-expected.txt:
  • platform/mac/fast/transforms/identity-matrix-expected.txt:
  • platform/mac/fast/writing-mode/fieldsets-expected.txt:
  • platform/mac/fast/writing-mode/vertical-baseline-alignment-expected.txt:
  • platform/mac/fast/writing-mode/vertical-baseline-alignment-mixed-expected.txt:
  • platform/mac/fonts/monospace-expected.txt:
  • platform/mac/fonts/sans-serif-expected.txt:
  • platform/mac/fonts/serif-expected.txt:
  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/mac/svg/as-border-image/svg-as-border-image-2-expected.txt:
  • platform/mac/svg/as-border-image/svg-as-border-image-expected.txt:
  • platform/mac/svg/custom/getscreenctm-in-mixed-content-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug11026-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug28341-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4284-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4849-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug60992-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug9123-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug92868-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug963-expected.txt:
  • platform/mac/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/mac/tables/mozilla/core/bloomberg-expected.txt:
  • platform/mac/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/mac/tables/mozilla/core/col_widths_fix_auto-expected.txt:
  • platform/mac/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/mac/tables/mozilla/other/nestedTables-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:
  • scrollbars/overflow-scrollbar-combinations.html:
  • svg/as-border-image/svg-as-border-image-2.html:
  • svg/as-border-image/svg-as-border-image.html:
  • svg/custom/getscreenctm-in-mixed-content.xhtml:
  • tables/mozilla/bugs/bug11026.html:
  • tables/mozilla/bugs/bug131020_iframe.html:
  • tables/mozilla/bugs/bug1318.html:
  • tables/mozilla/bugs/bug1430.html:
  • tables/mozilla/bugs/bug16012.html:
  • tables/mozilla/bugs/bug19599.html:
  • tables/mozilla/bugs/bug28341.html:
  • tables/mozilla/bugs/bug30559.html:
  • tables/mozilla/bugs/bug32205-2.html:
  • tables/mozilla/bugs/bug4284.html:
  • tables/mozilla/bugs/bug4382.html:
  • tables/mozilla/bugs/bug4427.html:
  • tables/mozilla/bugs/bug46623-1.html:
  • tables/mozilla/bugs/bug4849-2.html:
  • tables/mozilla/bugs/bug55694.html:
  • tables/mozilla/bugs/bug60992.html:
  • tables/mozilla/bugs/bug9123-1.html:
  • tables/mozilla/bugs/bug92143.html:
  • tables/mozilla/bugs/bug92868.html:
  • tables/mozilla/bugs/bug963.html:
  • tables/mozilla/collapsing_borders/bug41262-3.html:
  • tables/mozilla/core/bloomberg.html:
  • tables/mozilla/core/col_widths_auto_autoFix.html:
  • tables/mozilla/core/col_widths_fix_auto.html:
  • tables/mozilla/dom/deleteTbodyRebuild1.html:
  • tables/mozilla/marvin/tables_cellpadding.html:
  • tables/mozilla/marvin/tables_cellspacing.html:
  • tables/mozilla/other/nestedTables.html:
  • tables/mozilla/other/wa_table_tr_align.html:
  • tables/mozilla_expected_failures/bugs/bug1262.html:
  • tables/mozilla_expected_failures/bugs/bug56024.html:
  • tables/mozilla_expected_failures/bugs/bug8499.html:
  • tables/mozilla_expected_failures/core/col_span2.html:
  • tables/mozilla_expected_failures/other/test4.html:
9:34 AM Changeset in webkit [268957] by weinig@apple.com
  • 8 edits in trunk

Remove support for 'pixel' and 'pos' CSSOM prefixes
https://bugs.webkit.org/show_bug.cgi?id=119712

Reviewed by Simon Fraser.

Source/WebCore:

Remove support for pixel/pos prefixed properties of CSSStyleDeclaration which
are no longer supported by any other browser.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::getCSSPropertyIDFromJavaScriptPropertyName):
(WebCore::CSSStyleDeclaration::getPropertyValueInternalForPosOrPixelPrefixed): Deleted.
(WebCore::CSSStyleDeclaration::setPropertyValueInternalForPosOrPixelPrefixed): Deleted.

  • css/CSSStyleDeclaration.h:
  • css/makeprop.pl:

LayoutTests:

  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive-expected.txt:
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html:

Update test to reflect removal of pos/pixel prefixes.

Oct 24, 2020:

11:20 PM Changeset in webkit [268956] by ysuzuki@apple.com
  • 16 edits
    7 adds in trunk

[ECMA-402] Implement Intl.ListFormat
https://bugs.webkit.org/show_bug.cgi?id=209775

Reviewed by Ross Kirsling.

JSTests:

  • stress/intl-listformat.js: Added.

(shouldBe):
(shouldNotThrow):
(shouldThrow):
(test.DerivedListFormat):
(test.get shouldThrow):
(test):

Source/JavaScriptCore:

This patch implements Intl.ListFormat. Intl.ListFormat requires ulistfmt_openForType.
But it is available after ICU 67, and it is draft (unstable) API in ICU 67.
But now, this function is stable in ICU 68 without signature change and no major
change happened to this API. Thus, we can assume that this API signature won't be changed.
We specially undef U_HIDE_DRAFT_API for unicode/ulistformatter.h to use this draft (but stable) APIs.

While macOS / iOS shipping ICU (AppleICU) is ICU 66, AppleICU has ulistfmt_openForType and related APIs
even in ICU 66. We use these APIs in AppleICU 66 to implement Intl.ListFormat.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • runtime/CommonIdentifiers.h:
  • runtime/IntlDisplayNames.cpp:

(JSC::IntlDisplayNames::initializeDisplayNames):

  • runtime/IntlListFormat.cpp: Added.

(JSC::UListFormatterDeleter::operator()):
(JSC::IntlListFormat::create):
(JSC::IntlListFormat::createStructure):
(JSC::IntlListFormat::IntlListFormat):
(JSC::IntlListFormat::finishCreation):
(JSC::IntlListFormat::initializeListFormat):
(JSC::stringListFromIterable):
(JSC::ListFormatInput::ListFormatInput):
(JSC::ListFormatInput::size const):
(JSC::ListFormatInput::stringPointers const):
(JSC::ListFormatInput::stringLengths const):
(JSC::IntlListFormat::format const):
(JSC::IntlListFormat::formatToParts const):
(JSC::IntlListFormat::resolvedOptions const):
(JSC::IntlListFormat::styleString):
(JSC::IntlListFormat::typeString):

  • runtime/IntlListFormat.h: Added.
  • runtime/IntlListFormatConstructor.cpp: Added.

(JSC::IntlListFormatConstructor::create):
(JSC::IntlListFormatConstructor::createStructure):
(JSC::IntlListFormatConstructor::IntlListFormatConstructor):
(JSC::IntlListFormatConstructor::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/IntlListFormatConstructor.h: Added.
  • runtime/IntlListFormatPrototype.cpp: Added.

(JSC::IntlListFormatPrototype::create):
(JSC::IntlListFormatPrototype::createStructure):
(JSC::IntlListFormatPrototype::IntlListFormatPrototype):
(JSC::IntlListFormatPrototype::finishCreation):
(JSC::JSC_DEFINE_HOST_FUNCTION):

  • runtime/IntlListFormatPrototype.h: Added.
  • runtime/IntlObject.cpp:

(JSC::createListFormatConstructor):
(JSC::IntlObject::finishCreation):

  • runtime/IntlObject.h:

(JSC::intlListFormatAvailableLocales):

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::listFormatStructure):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
9:27 PM Changeset in webkit [268955] by Simon Fraser
  • 13 edits
    3 copies
    1 add in trunk/Source/WebCore

[LFC Display] Implement background image painting
https://bugs.webkit.org/show_bug.cgi?id=218155

Reviewed by Zalan Bujtas.

Introduce BoxDecorationData, which stores per-Box box pixel-snapped geometry for
backgrounds and borders. A BoxModelBox that has box decorations will own one.

BoxDecorationData has a vector of FillLayerImageGeometry, which stores pixel-snapped
geometry for background image painting. Code in DisplayFillLayerImageGeometry computes
this geometry (code based on rendering code).

BoxModelBox needs to store pixel snapped padding and content boxes for decoration painting.

Currently TreeBuilder::computeBoxDecorationData() sets up these rects and makes BoxDecorationData,
but this isn't really tree building, so I'd like to move that code somewhere else in
future patches.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::computeBoxDecorationData const):
(WebCore::Display::TreeBuilder::displayBoxForLayoutBox const):

  • display/DisplayTreeBuilder.h:
  • display/css/DisplayBox.cpp:
  • display/css/DisplayBox.h:
  • display/css/DisplayBoxDecorationData.cpp: Copied from Source/WebCore/display/css/DisplayBox.cpp.

(WebCore::Display::BoxDecorationData::create):

  • display/css/DisplayBoxDecorationData.h: Copied from Source/WebCore/display/css/DisplayCSSPainter.h.

(WebCore::Display::BoxDecorationData::backgroundImageGeometry const):
(WebCore::Display::BoxDecorationData::setBackgroundImageGeometry):
(WebCore::Display::BoxDecorationData::roundedBorderRect const):
(WebCore::Display::BoxDecorationData::setRoundedBorderRect):

  • display/css/DisplayBoxModelBox.cpp:

(WebCore::Display::BoxModelBox::setBoxDecorationData):

  • display/css/DisplayBoxModelBox.h:

(WebCore::Display::BoxModelBox::absolutePaddingBoxRect const):
(WebCore::Display::BoxModelBox::setAbsolutePaddingBoxRect):
(WebCore::Display::BoxModelBox::absoluteContentBoxRect const):
(WebCore::Display::BoxModelBox::setAbsoluteContentBoxRect):
(WebCore::Display::BoxModelBox::boxDecorationData const):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::paintFillLayer):
(WebCore::Display::CSSPainter::paintBackgroundImages):
(WebCore::Display::CSSPainter::paintBoxDecorations):

  • display/css/DisplayCSSPainter.h:
  • display/css/DisplayFillLayerImageGeometry.cpp: Added.

(WebCore::Display::resolveWidthForRatio):
(WebCore::Display::resolveHeightForRatio):
(WebCore::Display::resolveAgainstIntrinsicWidthOrHeightAndRatio):
(WebCore::Display::resolveAgainstIntrinsicRatio):
(WebCore::Display::calculateImageIntrinsicDimensions):
(WebCore::Display::calculateFillTileSize):
(WebCore::Display::getSpace):
(WebCore::Display::resolveEdgeRelativeLength):
(WebCore::Display::pixelSnappedFillLayerImageGeometry):
(WebCore::Display::geometryForLayer):
(WebCore::Display::calculateFillLayerImageGeometry):

  • display/css/DisplayFillLayerImageGeometry.h: Copied from Source/WebCore/display/DisplayTreeBuilder.h.

(WebCore::Display::FillLayerImageGeometry::FillLayerImageGeometry):
(WebCore::Display::FillLayerImageGeometry::destRect const):
(WebCore::Display::FillLayerImageGeometry::phase const):
(WebCore::Display::FillLayerImageGeometry::tileSize const):
(WebCore::Display::FillLayerImageGeometry::spaceSize const):
(WebCore::Display::FillLayerImageGeometry::hasNonLocalGeometry const):
(WebCore::Display::FillLayerImageGeometry::relativePhase const):
(WebCore::Display::FillLayerImageGeometry::clip):

  • display/css/DisplayStyle.cpp:

(WebCore::Display::deepCopy):
(WebCore::Display::Style::Style):
(WebCore::Display::Style::hasBackgroundImage const):

  • display/css/DisplayStyle.h:

(WebCore::Display::Style::backgroundLayers const):
(WebCore::Display::Style::hasBackgroundImage const): Deleted.

3:55 PM Changeset in webkit [268954] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[LFC Display] Create display boxes for atomic inlines and inline blocks
https://bugs.webkit.org/show_bug.cgi?id=218153

Reviewed by Zalan Bujtas.

When iterating line runs, recurse into container layout boxes for inline-block, and
make display boxes for other textless runs for other atomic inlines like replaced
elements.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):

1:19 PM Changeset in webkit [268953] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

[LFC Display] Simplify display tree building
https://bugs.webkit.org/show_bug.cgi?id=218152

Reviewed by Zalan Bujtas.

Rather than tracking container/current child display boxes in various places in the code,
wrap it up in a small InsertionPosition struct and TreeBuilder::insert() which handles
the setFirstChild/setNextSibling logic.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::build const):
(WebCore::Display::TreeBuilder::insert const):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):

  • display/DisplayTreeBuilder.h:
12:30 PM Changeset in webkit [268952] by jer.noble@apple.com
  • 14 edits
    4 adds in trunk

[BigSur] Appending a new WebM init segment between Cluster elements throws an error
https://bugs.webkit.org/show_bug.cgi?id=218149
<rdar://problem/70416537>

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Add an "OnElementEnd()" callback to libwebm.

  • Source/third_party/libwebm/webm_parser/include/webm/callback.h:
  • Source/third_party/libwebm/webm_parser/src/callback.cc:
  • Source/third_party/libwebm/webm_parser/src/master_parser.cc:
  • Source/third_party/libwebm/webm_parser/src/webm_parser.cc:

Source/WebCore:

Test: media/media-source/media-source-webm-init-inside-segment.html

The WebM Byte Stream Format specification states that an "initialization segment" consists
of both a leading Ebml element and Segment element, and a "media segment" consists of a
single Cluster element. However, while both Ebml and Segment elements are top-level, Cluster
elements are contained within a Segment. This means if a client pushes a new "initialization
segment" after parsing some-but-not-all Clusters within a Segment, the new Ebml and Segment
elements will be parsed as children of the preceeding Segment, and the subsquent Segment
will overflow its "parent's" size.

In order to support appending a new "initialization segment" while still in the middle of
parsing the previous Segment element, first improve our state tracking in order to determine
what the current parent element is. Then, when we detect that an Ebml element is parsed
while still inside a Segment, abort with a simulated error, which when caught, will indicate
that the parser needs to be reset, and the reader "rewound" to the Ebml's position.

To allow the reader to rewind, we must not throw away appended data as we iterate over them.
Instead, we will only discard read samples once each parsing pass is fully complete. This
allows us to "rewind" across appended segment boundaries, if necessary.

Because all WTF::Deque iterators are invalidated whenever any element is removed, and
because we do not need random-access to the elements in the deque, replace the Deque with a
StdList to store the incoming data.

  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferParserAVFObjC.mm:

(WebCore::SourceBufferParserAVFObjC::setLogger):

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

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):

  • platform/graphics/cocoa/SourceBufferParser.h:
  • platform/graphics/cocoa/SourceBufferParserWebM.cpp:

(WTF::LogArgument<webm::Id>::toString):
(WTF::LogArgument<WebCore::SourceBufferParserWebM::State>::toString):
(WebCore::logChannel):
(WebCore::logClassName):
(WebCore::SourceBufferParserWebM::appendData):
(WebCore::SourceBufferParserWebM::resetParserState):
(WebCore::SourceBufferParserWebM::invalidate):
(WebCore::SourceBufferParserWebM::setLogger):
(WebCore::SourceBufferParserWebM::OnElementBegin):
(WebCore::SourceBufferParserWebM::OnElementEnd):
(WebCore::SourceBufferParserWebM::OnEbml):
(WebCore::SourceBufferParserWebM::OnSegmentBegin):
(WebCore::SourceBufferParserWebM::OnInfo):
(WebCore::SourceBufferParserWebM::OnTrackEntry):

  • platform/graphics/cocoa/SourceBufferParserWebM.h:

LayoutTests:

  • media/media-source/content/test-vp9-long-manifest.json: Added.
  • media/media-source/content/test-vp9-long.webm: Added.
  • media/media-source/media-source-webm-init-inside-segment-expected.txt: Added.
  • media/media-source/media-source-webm-init-inside-segment.html: Added.
  • platform/mac/TestExpectations:
6:46 AM Changeset in webkit [268951] by Antti Koivisto
  • 3 edits
    2 adds in trunk

[LFC][Integration] Replaced elements in newly created line layout should always be updated
https://bugs.webkit.org/show_bug.cgi?id=218150

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/inline/inline-with-img-dynamic.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutLFCLines):

We may need to recreate line layout while children still have valid style.
Ensure that replaced dimensions are still updated.

LayoutTests:

  • fast/inline/inline-with-img-dynamic-expected.html: Added.
  • fast/inline/inline-with-img-dynamic.html: Added.
6:22 AM Changeset in webkit [268950] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Negative margin start pulls the replaced box to logical left direction
https://bugs.webkit.org/show_bug.cgi?id=218147

Reviewed by Antti Koivisto.

Account for negative margin start when computing the logical left position on the line.
This patch fixes LayoutTests/imported/w3c/web-platform-tests/css/css-multicol/multicol-inherit-002-expected.xht.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendNonReplacedInlineBox):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::inlineItemWidth const):
(WebCore::Layout::LineBuilder::nextContentForLine):

6:18 AM Changeset in webkit [268949] by Caio Lima
  • 2 edits in trunk/JSTests

[EWS][ARMv7] Flaky test stress/json-stringify-stack-overflow.js
https://bugs.webkit.org/show_bug.cgi?id=218129

Unreviewed test gardening.

  • stress/json-stringify-stack-overflow.js:
5:43 AM Changeset in webkit [268948] by Alan Bujtas
  • 19 edits in trunk/Source/WebCore

[LFC] BoxGeometry logicalWidth/Height/Rect functions are confusing
https://bugs.webkit.org/show_bug.cgi?id=218145

Reviewed by Antti Koivisto.

BoxGeometry represents the layout node both as a box relative to the containing block (BoxGeometry::logicalRect(), logicalLeft(), logicalWidth())
and as a box relative to the border box (BoxGeometry::marginBox(), paddingBox(), contentBox()).
These 2 sets of geometries may be confusing in certain cases, e.g. logicalWidth() does not say whether it's border, padding or content box.
BoxGometry is mostly used as a box relative to the border box (0, 0, border box width, border box height) so let's make the other set as a
static API.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::build const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):
(WebCore::Display::TreeBuilder::displayBoxForRootBox const):
(WebCore::Display::TreeBuilder::displayBoxForLayoutBox const):

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):
(WebCore::Layout::FormattingContext::Geometry::staticVerticalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::staticHorizontalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases const):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const):

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::usedAvailableWidthForFloatAvoider):
(WebCore::Layout::BlockFormattingContext::computeVerticalPositionForFloatClear):
(WebCore::Layout::BlockFormattingContext::verticalPositionWithMargin const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

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

  • layout/flexformatting/FlexFormattingContext.cpp:

(WebCore::Layout::FlexFormattingContext::sizeAndPlaceFlexItems):

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::positionForNonFloatingFloatAvoider const):
(WebCore::Layout::FloatingContext::mapTopLeftToFloatingStateRoot const):
(WebCore::Layout::FloatingContext::mapPointFromFormattingContextRootToFloatingStateRoot const):

  • layout/floats/FloatingState.h:

(WebCore::Layout::FloatingState::FloatItem::rectWithMargin const):
(WebCore::Layout::FloatingState::FloatItem::bottom const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computeGeometryForLineContent):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::inlineItemWidth const):

  • layout/layouttree/LayoutBoxGeometry.cpp:

(WebCore::Layout::BoxGeometry::borderBox const):

  • layout/layouttree/LayoutBoxGeometry.h:

(WebCore::Layout::BoxGeometry::logicalTop):
(WebCore::Layout::BoxGeometry::logicalLeft):
(WebCore::Layout::BoxGeometry::logicalTopLeft):
(WebCore::Layout::BoxGeometry::borderRect):
(WebCore::Layout::BoxGeometry::marginRect):
(WebCore::Layout::BoxGeometry::logicalBottom const): Deleted.
(WebCore::Layout::BoxGeometry::logicalRight const): Deleted.
(WebCore::Layout::BoxGeometry::logicalBottomRight const): Deleted.
(WebCore::Layout::BoxGeometry::logicalSize const): Deleted.
(WebCore::Layout::BoxGeometry::logicalWidth const): Deleted.
(WebCore::Layout::BoxGeometry::logicalHeight const): Deleted.
(WebCore::Layout::BoxGeometry::isEmpty const): Deleted.
(WebCore::Layout::BoxGeometry::logicalRect const): Deleted.
(WebCore::Layout::BoxGeometry::logicalRectWithMargin const): Deleted.

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::outputLayoutBox):

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::setUsedGeometryForSections):

  • layout/tableformatting/TableFormattingContextGeometry.cpp:

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

  • layout/tableformatting/TableLayout.cpp:

(WebCore::Layout::TableFormattingContext::TableLayout::distributedVerticalSpace):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):

Oct 23, 2020:

11:30 PM Changeset in webkit [268947] by Simon Fraser
  • 7 edits
    2 adds in trunk

REGRESSION (r260276): Unable to click on image and text link at the bottom of https://www.nytimes.com/ article
https://bugs.webkit.org/show_bug.cgi?id=218137
<rdar://problem/70439526>

Reviewed by Zalan Bujtas.
Source/WebCore:

r238725 made RenderLayers for accelerated overflow:scroll be self-painting, but that
changes paint and hit-testing order, which affected this nytimes article (the failing
element has large negative margin-top).

This is the fundamental compositing bug, but we can work around it in this case by
only making the layer self-painting if it does actually scroll.

Test: fast/layers/overflow-scroll-self-painting.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollInfoAfterLayout): Need to update isSelfPaintingLayer()
after layout because now it depends on scrollable overflow.
(WebCore::RenderLayer::shouldBeSelfPaintingLayer const): Consult hasCompositedScrollableOverflow()
rather than canUseCompositedScrolling().

LayoutTests:

New test. Rebaseline tests affected by the self-painting layer change.

  • compositing/shared-backing/overflow-scroll/previous-sibling-prevents-inclusiveness-expected.txt:
  • compositing/shared-backing/overflow-scroll/relative-in-clipping-in-scroller-in-clipping-expected.txt:
  • fast/layers/overflow-scroll-self-painting-expected.html: Added.
  • fast/layers/overflow-scroll-self-painting.html: Added.
  • platform/ios-wk2/compositing/shared-backing/overflow-scroll/previous-sibling-prevents-inclusiveness-expected.txt:
  • platform/ios-wk2/compositing/shared-backing/overflow-scroll/relative-in-clipping-in-scroller-in-clipping-expected.txt:
5:02 PM Changeset in webkit [268946] by rniwa@webkit.org
  • 7 edits in trunk

IPC testing API should expose ArrayBuffer for an unknown decoded argument
https://bugs.webkit.org/show_bug.cgi?id=218113

Reviewed by Darin Adler.

Source/WebKit:

Expose the decoded argument as an ArrayBuffer when it can't be encoded as a JS value.

Also make the treatment of a JS array as a tuple or a Vector explicit in argument encoding.

Test: TestWebKitAPI.IPCTestingAPI.CanInterceptAlert

  • Platform/IPC/Decoder.h:

(IPC::Decoder::currentBufferPosition const): Added.

  • Platform/IPC/JSIPCBinding.cpp:

(IPC::putJSValueForDecodedArgumentAtIndexOrArrayBufferIfUndefined): Added.

  • Platform/IPC/JSIPCBinding.h:

(IPC::DecodedArgumentJSValueConverter): Deleted.
(IPC::putJSValueForDecodeArgumentInArray): Replaced DecodedArgumentJSValueConverter.
Take Decoder and decode each tuple argument and create a JS value at a time.
(IPC::jsValueForArgumentTuple): Deleted. Merged into jsValueForDecodedArguments.
(IPC::jsValueForDecodedArguments):

  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::VectorEncodeHelper::encode const):
(WebKit::IPCTestingAPI::encodeArrayArgument): Extracted out of encodeArgument.
(WebKit::IPCTestingAPI::encodeArgument): Treat an array as a tuple unless it's explicitly
specified that the argument's type is a Vector.

Tools:

Updated a test case to check that the unknown type produces an ArrayBuffer.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

(IPCTestingAPI.CanInterceptAlert):

4:09 PM Changeset in webkit [268945] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-output.html as flaky.

It was unskipped recently but it is still flaky.

4:02 PM Changeset in webkit [268944] by Russell Epstein
  • 1 copy in tags/Safari-610.2.11.51.6

Tag Safari-610.2.11.51.6.

4:00 PM Changeset in webkit [268943] by Alan Coon
  • 8 edits in branches/safari-610.2.11.51-branch/Source

Versioning.

WebKit-7610.2.11.51.6

3:53 PM Changeset in webkit [268942] by keith_miller@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Using WASM function size as the cap for choosing a register allocator causes performance regressions.
https://bugs.webkit.org/show_bug.cgi?id=217290

Reviewed by Michael Saboff.

Previously in https://bugs.webkit.org/show_bug.cgi?id=212105 we
limited the size of WASM functions we compile with OMG because
sufficiently large functions caused us to OOM while register
allocating. The memory growth we saw is because the memory usage
of graph coloring is O((number of tmps)2). However, some large
WASM functions may not have that many tmps by the time we get to
register allocation. This patch changes our heuristic to instead
use the total number of tmps right before register allocation
instead of the WASM function size. The number of tmps is more
likely to represent the worst case memory usage of register
allocation. This fixes a performance regression in Safari 14 when running
https://dos.zone/en/play/https%3A%2F%2Fdoszone-uploads.s3.dualstack.eu-central-1.amazonaws.com%2Foriginal%2F2X%2Fb%2Fb4b5275904d86a4ab8a20917b2b7e34f0df47bf7.jsdos

  • b3/air/AirGenerate.cpp:

(JSC::B3::Air::prepareForGeneration):

  • runtime/OptionsList.h:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::AirIRGenerator):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::parseAndCompile):

  • wasm/WasmCompilationMode.cpp:

(JSC::Wasm::wasmFunctionSizeCanBeOMGCompiled): Deleted.

  • wasm/WasmCompilationMode.h:
  • wasm/WasmOperations.cpp:

(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):

2:27 PM Changeset in webkit [268941] by Hector Lopez
  • 2 edits
    3 adds in trunk/LayoutTests

2 fast/canvas/canvas* tests are flaky failures
<rdar://70623742>

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
2:04 PM Changeset in webkit [268940] by Darin Adler
  • 17 edits
    2 adds in trunk

Source/WebCore:
REGRESSION(r266295): DOMSelection's addRange and containsNode behave incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

Test: editing/selection/selections-across-trees.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::linkClickPoint): Update for the new name of
isPointInRange, contains<ComposedTree>. We can return and change it from ComposedTree
to something else since that's likely not the tree we need here.
(WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange const): Ditto.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(isWhiteSpaceBetweenSentences): Ditto.

  • dom/BoundaryPoint.h: Update to use TreeType enumeration instead of classes.
  • dom/Node.cpp:

(WebCore::depth): Ditto.
(WebCore::commonInclusiveAncestorAndChildren): Ditto.
(WebCore::treeOrder): Ditto.

  • dom/Node.h: Ditto.
  • dom/Range.cpp:

(WebCore::Range::isPointInRange): Updated since we renamed isPointInRange to be
an overload of contains.

  • dom/SimpleRange.cpp:

(WebCore::treeOrder): Update to use TreeType enumeration instead of classes.
(WebCore::contains): Ditto. Also renamed isPointInRange to an overload of contains.
Also added converted the contains that takes two ranges to a function template.
(WebCore::intersects): Ditto.

  • dom/SimpleRange.h: Reorganized the functions so all the deprecated functions

that silently use ComposedTree are grouped together. Updated the function templates
to use TreeType enumeration instead of classes. Added a couple more function
templates that we used to fix DOMSelection.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::contains const): Update for the new name of sPointInRange,
contains<ComposedTree>. We can return and change it from ComposedTree to something
else since that's likely not the tree we need here.

  • editing/mac/DictionaryLookupLegacy.mm:

(WebCore::selectionContainsPosition): Ditto.

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::addRange): Use intersects<Tree> because we don't want to
use the composed tree here.
(WebCore::DOMSelection::containsNode const): Use intersects<Tree> and contains<Tree>.
Evantually <Tree> will be the default and we can come back here and edit down these
calls for brevity, but first we have to make all the uses of ComposedTree explicit.

Source/WebKitLegacy/win:
REGRESSION(r266295): DOMSelection's addRange and containsNode behave incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

  • AccessibleTextImpl.cpp:

(AccessibleText::isInRange): Updated since we renamed isPointInRange to be
an overload of contains.

Tools:
REGRESSION(r266295): DOMSelection's addRange and containsNode behave incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

  • TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Disabled the isPointInRange

test and added comments about how we will restore it in the future.

LayoutTests:
REGRESSION(r266295): DOMSelection's addRange and containsNode behaves incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007

Reviewed by Ryosuke Niwa.

  • editing/selection/selections-across-trees-expected.txt: Added.
  • editing/selection/selections-across-trees.html: Added.
1:19 PM Changeset in webkit [268939] by eric.carlson@apple.com
  • 7 edits in trunk

[Media in GPU Process] in-band metadata cues sometimes crash
https://bugs.webkit.org/show_bug.cgi?id=218106
<rdar://problem/70226170>

Reviewed by Jer Noble.

Source/WebCore:

No new tests, enabled existing test in the GPU process.

  • platform/SerializedPlatformDataCueValue.h:

(WebCore::SerializedPlatformDataCueValue::SerializedPlatformDataCueValue):
(WebCore::SerializedPlatformDataCueValue::nativeValue const):
Make m_nativeValue a RetainPtr<> so the ownership and lifetime of the object is
explicit and managed correctly.

  • platform/mac/SerializedPlatformDataCueMac.mm:

(WebCore::SerializedPlatformDataCueMac::encodableValue const): Update for change
to native value.
(WebCore::jsValueWithAVMetadataItemInContext): Ditto.
(WebCore::NSDictionaryWithAVMetadataItem): Return a RetainPtr<NSDictionary> instead
of an auto-released dictionary.

Source/WebKit:

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<WebCore::SerializedPlatformDataCueValue>::encodePlatformData):
SerializedPlatformDataCueValue::nativeValue() is a RetainPtr<>.

LayoutTests:

  • gpu-process/TestExpectations: Mark test as passing.
1:13 PM Changeset in webkit [268938] by Truitt Savell
  • 5 edits in trunk/Tools

Unreviewed, reverting r268761.

May have casued webrtc crashes on Catalina Debug.

Reverted changeset:

"[webkitpy] Use allowlist and blocklist"
https://bugs.webkit.org/show_bug.cgi?id=217985
https://trac.webkit.org/changeset/268761

12:27 PM Changeset in webkit [268937] by Jonathan Bedard
  • 3 edits
    1 delete in trunk/Tools

[webkitpy] Remove the old autointaller
https://bugs.webkit.org/show_bug.cgi?id=218131
<rdar://problem/70627699>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/test/main.py:

(Tester._run_tests): Remove reference to old autoinstaller.

  • Scripts/webkitpy/thirdparty/init.py: Deleted content.

(autoinstall_everything): Deleted.

12:20 PM Changeset in webkit [268936] by Jonathan Bedard
  • 7 edits in trunk/Tools

[webkitscmpy] Use 'which' to find git and svn paths
https://bugs.webkit.org/show_bug.cgi?id=217717
<rdar://problem/70299192>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:

(Git):
(Git.executable): Generate git path from 'which' call.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:

(Scm.executable): Generate a program path from a 'which' call.

  • Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:

(Svn):
(Svn.executable): Generate svn path from 'which' call.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:

(Git):

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:

(Svn.init):

11:54 AM Changeset in webkit [268935] by aakash_jain@apple.com
  • 5 edits in trunk/Tools

[build.webkit.org] Add python 3 support - part 2
https://bugs.webkit.org/show_bug.cgi?id=218130

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/buildbot.tac:
  • BuildSlaveSupport/build.webkit.org-config/htdigestparser_unittest.py:
  • BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
  • BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py:
11:51 AM Changeset in webkit [268934] by Aditya Keerthi
  • 2 edits in trunk/Source/WebCore

webkit.org/status/ is missing input type=date (and related) features
https://bugs.webkit.org/show_bug.cgi?id=195666

Reviewed by Darin Adler.

  • features.json: Updated to include date and time input types.
11:49 AM Changeset in webkit [268933] by Simon Fraser
  • 3 edits in trunk/LayoutTests

[ macOS wk2 ] fast/scrolling/latching/latched-scroll-remove-iframe.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=216059
<rdar://problem/68177922>

Reviewed by Sam Weinig.

Deflake the test by not using a 16ms timeout, and remove the expectation.

  • fast/scrolling/latching/latched-scroll-remove-iframe.html:
  • platform/mac-wk2/TestExpectations:
11:35 AM Changeset in webkit [268932] by graouts@webkit.org
  • 20 edits in trunk

REGRESSION(r268615): certain animations break when moving from one to display to another or resizing the window
https://bugs.webkit.org/show_bug.cgi?id=218080
<rdar://problem/70547132>

Reviewed by Dean Jackson.

Source/WebCore:

Since transform-related animations include non-interpolating animations meant to insert the static base value for a given
transform-related CSS property, we need to update animations on GraphicsLayerCA whenever one of the transform-related CSS
properties have a new value.

We used to rely on GraphicsLayerCA::setTransform() being called with a different transform than the current one to identify
such cases, but that is suboptimal because that method can be called with a compound interpolated value of transform-related
CSS properties when a rendering update occurs, such as during resizing or moving a window between displays. In those cases,
the static base value of the transform-related CSS properties hasn't actually changed.

Instead, we now provide the non-animated style from the last style change event to the function resolving keyframe effects
so that for a given element we can compare that style with the new, as-yet-non-animated style and see if any of the transform-
related CSS properties have been changed. If that is the case, we inform any KeyframeEffect that has a running accelerated
animation for any of those CSS properties so that the effect may enqueue an accelerated action that will then notify the
GraphicsLayer of such a change, and trigger an animation update.

Since we were changing the applyKeyframeEffects() method signature to add the extra RenderStyle needed to compare the current
and previous non-animated styles, we also moved that method from Element to KeyframeEffectStack since no Element private
API was required.

No new test since this was already tested by webanimations/accelerated-translate-animation-underlying-transform-changed-in-flight.html
and it's not clear how to test the live-resizing or display-change scenario.

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::isRunningAcceleratedTransformRelatedAnimation const): New method called from KeyframeEffectStack::applyKeyframeEffects()
to indicate that a keyframe effect has a running accelerated animation targeting a transform-related property.
(WebCore::KeyframeEffect::addPendingAcceleratedAction): Ensure that the new AcceleratedAction::TransformChange accelerated action
recorded in transformRelatedPropertyDidChange() is not ever set as m_lastRecordedAcceleratedAction as we use this member to identify
whether we have a pending running, pause or stop action.
(WebCore::KeyframeEffect::transformRelatedPropertyDidChange): New method meant to be called for an effect that has a running
accelerated animation targeting a transform-related property to notify that one or more of the target element's transform-related
CSS property static values was changed.
(WebCore::KeyframeEffect::applyPendingAcceleratedActions): Call transformRelatedPropertyDidChange() on the composited renderer for
a AcceleratedAction::TransformChange action.

  • animation/KeyframeEffect.h:
  • animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::applyKeyframeEffects): Move the method previously exposed on Element to KeyframeEffectStack. Additionally,
accept an extra RenderStyle parameter to provide the non-animated style from the last style change event so that we can compare that style
with the new, as-yet-non-animated style and see if any of the transform-related CSS properties have been changed and notify the effect
should it run an accelerated animation for one of those properties.

  • animation/KeyframeEffectStack.h:
  • dom/Element.cpp:

(WebCore::Element::applyKeyframeEffects): Deleted. Moved to KeyframeEffectStack.

  • dom/Element.h:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::transformRelatedPropertyDidChange):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setTransform): Move the animation-update logic to transformRelatedPropertyDidChange()
(WebCore::GraphicsLayerCA::transformRelatedPropertyDidChange):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderElement.h:

(WebCore::RenderElement::transformRelatedPropertyDidChange):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::transformRelatedPropertyDidChange):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::transformRelatedPropertyDidChange):

  • rendering/RenderLayerModelObject.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate): Pass the non-animated style from the last style change event to
KeyframeEffectStack::applyKeyframeEffects() to determine whether this style change event includes a change to any of the
transform-related properties.

  • style/Styleable.h:

(WebCore::Styleable::applyKeyframeEffects const):

LayoutTests:

Increase the fidelity of this test where the scale transform would sometimes yield some 0.01% ImageOnlyFailure results.

  • webanimations/accelerated-translate-animation-additional-animation-added-in-flight-expected.html:
  • webanimations/accelerated-translate-animation-additional-animation-added-in-flight.html:
11:23 AM Changeset in webkit [268931] by aakash_jain@apple.com
  • 2 edits
    1 add in trunk/Tools

[build.webkit.org] Create master.cfg for newer buildbot
https://bugs.webkit.org/show_bug.cgi?id=218102

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/buildbot.tac:
  • BuildSlaveSupport/build.webkit.org-config/master_buildbot2.cfg: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg.
11:15 AM Changeset in webkit [268930] by Jonathan Bedard
  • 7 edits
    2 adds
    1 delete in trunk/Tools

[webkitpy] Use webkitcorepy's autoinstaller for buildbot and twisted
https://bugs.webkit.org/show_bug.cgi?id=218105
<rdar://problem/70593576>

Rubber-stamped by Aakash Jain.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:

(BuildBotConfigLoader._add_dependent_modules_to_sys_modules):

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:

(Package.archives): tar.bz2 archives are tar.gz archives.
(Package.install): After r267056, we don't need "old-and-unmanageable" and
"single-version-externally-managed", handle case of nested modules more completely.

  • Scripts/webkitpy/autoinstalled/buildbot.py: Added.
  • Scripts/webkitpy/autoinstalled/twisted.py: Added.
  • Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:

Import new auto installed twisted.

  • Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:

(SimpleHTTPServerDriver._ensure_http_server_dependencies): Import new auto installed twisted.

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module): Remove all modules.
(AutoinstallImportHook._install_buildbot): Deleted.
(AutoinstallImportHook._install_twisted_15_5_0): Deleted.

  • Scripts/webkitpy/thirdparty/init_unittest.py: Removed.
11:08 AM Changeset in webkit [268929] by Nikita Vasilyev
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Typo in experimentalEnableStyelsJumpToVariableDeclaration
https://bugs.webkit.org/show_bug.cgi?id=218119

Reviewed by Devin Rousso.

Replace "Styels" with "Styles".

  • UserInterface/Base/Setting.js:
  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype._addVariableTokens):

11:03 AM Changeset in webkit [268928] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests/imported/w3c

REGRESSION (r267402): [ iOS Mojave+ Release ] imported/w3c/web-platform-tests/user-timing/measure-l3.any.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217414

Reviewed by Alex Christensen.

Sometimes lhs of comparison is higher by an infinitisimal margin.
Round number to two-digit precision to prevent such scenarios.

  • web-platform-tests/user-timing/measure-l3.any.js:

(test):

10:10 AM Changeset in webkit [268927] by Hector Lopez
  • 2 edits in trunk/LayoutTests

2 compositing/contents-scale/* tests are flaky failures
<rdar://70623742>

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
9:22 AM Changeset in webkit [268926] by Chris Dumez
  • 6 edits in trunk

AnalyserNode's output should only have one channel
https://bugs.webkit.org/show_bug.cgi?id=218125

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-output-expected.txt:

Source/WebCore:

AnalyserNode's output should only have one channel. We were using 2 channels, which
was inconsistent with Blink and Gecko.

No new tests, rebaselined existing test.

  • Modules/webaudio/AnalyserNode.cpp:

(WebCore::AnalyserNode::AnalyserNode):

LayoutTests:

Unskip test that is no longer flaky, now that it passes.

9:13 AM Changeset in webkit [268925] by aakash_jain@apple.com
  • 11 edits in trunk/Tools

Rename slave to worker in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=218123

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/common/net/buildbot/buildbot.py:
  • Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
  • Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
  • Scripts/webkitpy/common/system/crashlogs_unittest.py:
  • Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
  • Scripts/webkitpy/layout_tests/controllers/manager.py:
  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:
  • Scripts/webkitpy/port/leakdetector_unittest.py:
  • Scripts/webkitpy/style/checkers/jsonchecker_unittest.py:
7:40 AM Changeset in webkit [268924] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Add initial support for vertical-align: <length> and <percentage>
https://bugs.webkit.org/show_bug.cgi?id=218109

Reviewed by Antti Koivisto.

Raise (positive value) or lower (negative value) the box by this distance.
It fixes css2.1/20110323/vertical-align-boxes-001.htm.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::alignInlineLevelBoxesVerticallyAndComputeLineBoxHeight):

5:53 AM Changeset in webkit [268923] by magomez@igalia.com
  • 13 edits in trunk

[GTK][WPE] Implement antialiased rounded rectangle clipping in TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=174457

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Implement rounded rectangle clipping in TextureMapperGL, supporting up to 10 simultaneous
rounded rectangle clips. TextureMapper::beginClip() now receives a rounded rectangle, and
it applies the appropriate clipping method as required.

The rounded rectangle clip implementation uses the fragment shader to calculate whether
each pixel is inside the defined rounded rectangles, and paints or skips it as needed.

  • platform/graphics/texmap/ClipStack.cpp:

(WebCore::ClipStack::addRoundedRect):

  • platform/graphics/texmap/ClipStack.h:

(WebCore::ClipStack::State::State):
(WebCore::ClipStack::roundedRectComponents const):
(WebCore::ClipStack::roundedRectInverseTransformComponents const):
(WebCore::ClipStack::roundedRectCount const):
(WebCore::ClipStack::isRoundedRectClipEnabled const):
(WebCore::ClipStack::isRoundedRectClipAllowed const):

  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::prepareRoundedRectClip):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawTexturePlanarYUV):
(WebCore::TextureMapperGL::drawTextureSemiPlanarYUV):
(WebCore::TextureMapperGL::drawTexturePackedYUV):
(WebCore::TextureMapperGL::drawSolidColor):
(WebCore::TextureMapperGL::beginRoundedRectClip):
(WebCore::TextureMapperGL::beginClip):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::paintSelfAndChildren):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore::TextureMapperShaderProgram::create):

  • platform/graphics/texmap/TextureMapperShaderProgram.h:

Source/WebKit:

Use the new TextureMapper::beginClip() method that receives a FloatRoundedRect.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):

LayoutTests:

Update expectations for passing test.

  • platform/gtk/TestExpectations:
5:44 AM Changeset in webkit [268922] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Fix inline box relative alignment when line-height is set
https://bugs.webkit.org/show_bug.cgi?id=218107

Reviewed by Antti Koivisto.

Inline box relative vertical alignment logic should use the combination of the layout bounds
and the font metric values of the parent inline box.

The layout bound values (ascent and descent adjusted with half leading) normally match the font metric values,
unless the line-height is set to something other than normal.
In such cases the gap affects the vertical position of the child inline level boxes (e.g. text-top aligns with the
top of the text (use font metrics) and not with the layout bounds).

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::alignInlineLevelBoxesVerticallyAndComputeLineBoxHeight):

5:24 AM Changeset in webkit [268921] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.30.2

WPE WebKit 2.30.2

5:23 AM Changeset in webkit [268920] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.30

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.30.2 release

.:

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

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.30.2.
2:55 AM Changeset in webkit [268919] by svillar@igalia.com
  • 22 edits in trunk/Source/WebCore

Rename override sizes to overriding sizes
https://bugs.webkit.org/show_bug.cgi?id=217898

Reviewed by Darin Adler.

We've been traditionally using the word "override" to refer to those sizes that were explicitly set by
layout systems like tables, flex or grid. However that's a grammatical mistake. override is a verb which
does not work well as a noun. It'd be more correct to refer to them as "overriding" sizes.

No new tests required as this is just a renaming.

  • WebCore.order:
  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::updateRubyForJustifiedText):

  • rendering/GridLayoutFunctions.cpp:

(WebCore::GridLayoutFunctions::hasOverridingContainingBlockContentSizeForChild):
(WebCore::GridLayoutFunctions::overridingContainingBlockContentSizeForChild):
(WebCore::GridLayoutFunctions::hasOverrideContainingBlockContentSizeForChild): Deleted.
(WebCore::GridLayoutFunctions::overrideContainingBlockContentSizeForChild): Deleted.

  • rendering/GridLayoutFunctions.h:
  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::shouldClearOverridingContainingBlockContentSizeForChild):
(WebCore::setOverridingContainingBlockContentSizeForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::updateOverridingContainingBlockContentSizeForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::minLogicalSizeForChild const):
(WebCore::DefiniteSizeStrategy::minLogicalSizeForChild const):
(WebCore::DefiniteSizeStrategy::minContentForChild const):
(WebCore::shouldClearOverrideContainingBlockContentSizeForChild): Deleted.
(WebCore::setOverrideContainingBlockContentSizeForChild): Deleted.
(WebCore::GridTrackSizingAlgorithmStrategy::updateOverrideContainingBlockContentSizeForChild const): Deleted.

  • rendering/GridTrackSizingAlgorithm.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::insertPositionedObject):
(WebCore::RenderBlock::computeChildPreferredLogicalWidths const):
(WebCore::RenderBlock::availableLogicalHeightForPercentageComputation const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::hasOverridingLogicalHeight const):
(WebCore::RenderBox::hasOverridingLogicalWidth const):
(WebCore::RenderBox::setOverridingLogicalHeight):
(WebCore::RenderBox::setOverridingLogicalWidth):
(WebCore::RenderBox::clearOverridingLogicalHeight):
(WebCore::RenderBox::clearOverridingLogicalWidth):
(WebCore::RenderBox::clearOverridingContentSize):
(WebCore::RenderBox::overridingLogicalWidth const):
(WebCore::RenderBox::overridingLogicalHeight const):
(WebCore::RenderBox::overridingContainingBlockContentWidth const):
(WebCore::RenderBox::overridingContainingBlockContentHeight const):
(WebCore::RenderBox::hasOverridingContainingBlockContentWidth const):
(WebCore::RenderBox::hasOverridingContainingBlockContentHeight const):
(WebCore::RenderBox::overridingContainingBlockContentLogicalWidth const):
(WebCore::RenderBox::overridingContainingBlockContentLogicalHeight const):
(WebCore::RenderBox::hasOverridingContainingBlockContentLogicalWidth const):
(WebCore::RenderBox::hasOverridingContainingBlockContentLogicalHeight const):
(WebCore::RenderBox::setOverridingContainingBlockContentLogicalWidth):
(WebCore::RenderBox::setOverridingContainingBlockContentLogicalHeight):
(WebCore::RenderBox::clearOverridingContainingBlockContentSize):
(WebCore::RenderBox::clearOverridingContainingBlockContentLogicalHeight):
(WebCore::RenderBox::containingBlockLogicalWidthForContent const):
(WebCore::RenderBox::containingBlockLogicalHeightForContent const):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight const):
(WebCore::RenderBox::computeLogicalWidthInFragment const):
(WebCore::RenderBox::cacheIntrinsicContentLogicalHeightForFlexItem const):
(WebCore::RenderBox::computeLogicalHeight const):
(WebCore::RenderBox::computePercentageLogicalHeight const):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing const):
(WebCore::RenderBox::availableLogicalHeightUsing const):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):
(WebCore::RenderBox::hasOverrideLogicalHeight const): Deleted.
(WebCore::RenderBox::hasOverrideLogicalWidth const): Deleted.
(WebCore::RenderBox::setOverrideLogicalHeight): Deleted.
(WebCore::RenderBox::setOverrideLogicalWidth): Deleted.
(WebCore::RenderBox::clearOverrideLogicalHeight): Deleted.
(WebCore::RenderBox::clearOverrideLogicalWidth): Deleted.
(WebCore::RenderBox::clearOverrideContentSize): Deleted.
(WebCore::RenderBox::overrideLogicalWidth const): Deleted.
(WebCore::RenderBox::overrideLogicalHeight const): Deleted.
(WebCore::RenderBox::overrideContainingBlockContentWidth const): Deleted.
(WebCore::RenderBox::overrideContainingBlockContentHeight const): Deleted.
(WebCore::RenderBox::hasOverrideContainingBlockContentWidth const): Deleted.
(WebCore::RenderBox::hasOverrideContainingBlockContentHeight const): Deleted.
(WebCore::RenderBox::overrideContainingBlockContentLogicalWidth const): Deleted.
(WebCore::RenderBox::overrideContainingBlockContentLogicalHeight const): Deleted.
(WebCore::RenderBox::hasOverrideContainingBlockContentLogicalWidth const): Deleted.
(WebCore::RenderBox::hasOverrideContainingBlockContentLogicalHeight const): Deleted.
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth): Deleted.
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight): Deleted.
(WebCore::RenderBox::clearOverrideContainingBlockContentSize): Deleted.
(WebCore::RenderBox::clearOverrideContainingBlockContentLogicalHeight): Deleted.

  • rendering/RenderBox.h:

(WebCore::RenderBox::overridingContentLogicalWidth const):
(WebCore::RenderBox::overridingContentLogicalHeight const):
(WebCore::RenderBox::overrideContentLogicalWidth const): Deleted.
(WebCore::RenderBox::overrideContentLogicalHeight const): Deleted.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight const):
(WebCore::RenderBoxModelObject::relativePositionOffset const):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::overridingContainingBlockContentWidth const):
(WebCore::RenderBoxModelObject::overridingContainingBlockContentHeight const):
(WebCore::RenderBoxModelObject::hasOverridingContainingBlockContentWidth const):
(WebCore::RenderBoxModelObject::hasOverridingContainingBlockContentHeight const):
(WebCore::RenderBoxModelObject::overrideContainingBlockContentWidth const): Deleted.
(WebCore::RenderBoxModelObject::overrideContainingBlockContentHeight const): Deleted.
(WebCore::RenderBoxModelObject::hasOverrideContainingBlockContentWidth const): Deleted.
(WebCore::RenderBoxModelObject::hasOverrideContainingBlockContentHeight const): Deleted.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::widthForChild):
(WebCore::heightForChild):
(WebCore::gatherFlexChildrenInfo):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
(WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth const):
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):
(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::constructFlexItem):
(WebCore::RenderFlexibleBox::setOverrideMainAxisContentSizeForChild):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):

  • rendering/RenderFullScreen.cpp:

(WebCore::RenderFullScreen::unwrapRenderer):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::overrideSizeChanged):
(WebCore::RenderGrid::updateGridAreaLogicalSize const):
(WebCore::RenderGrid::layoutPositionedObject):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::RenderGrid::updateAutoMarginsInRowAxisIfNeeded):
(WebCore::RenderGrid::updateAutoMarginsInColumnAxisIfNeeded):
(WebCore::RenderGrid::gridAreaPositionForOutOfFlowChild const):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::adjustInlineDirectionLineBounds const):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::updateLogicalWidth):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::setOverridingLogicalHeightFromRowHeight):
(WebCore::RenderTableCell::setOverrideLogicalHeightFromRowHeight): Deleted.

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

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::relayoutCellIfFlexed):

2:44 AM Changeset in webkit [268918] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix argument order for double and/or ops on ARMv7
https://bugs.webkit.org/show_bug.cgi?id=218118

Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-10-23
Reviewed by Adrian Perez de Castro.

The andDouble and orDouble macro assembler methods for ARMv7
incorrectly pass the destination register as the last argument,
whereas the assembler expects the destination to be the first
argument.

This fixes a failing testmasm test.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::andDouble):
(JSC::MacroAssemblerARMv7::orDouble):

2:23 AM Changeset in webkit [268917] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.30

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.30.2 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.30.2.
1:26 AM Changeset in webkit [268916] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit

Merge r267875 - [GTK] WPE and backend versions are mixed up in webkit://gpu
https://bugs.webkit.org/show_bug.cgi?id=217210

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-10-02
Reviewed by Adrian Perez de Castro.

  • UIProcess/API/glib/WebKitProtocolHandler.cpp:

(WebKit::WebKitProtocolHandler::handleGPU):

1:26 AM WebKitGTK/2.30.x edited by Carlos Garcia Campos
(diff)
1:26 AM Changeset in webkit [268915] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore

Merge r268000 - [GTK][X11] WebProcess crash in WebCore::GLContextGLX::createPbufferContext() with NVidia proprietary drivers
https://bugs.webkit.org/show_bug.cgi?id=217323

Reviewed by Adrian Perez de Castro.

The returnedElements variable might remain uninitialized if the glXChooseFBConfig()
function call fails, leading to execution of the wrong code branch later.

  • platform/graphics/glx/GLContextGLX.cpp:

(WebCore::GLContextGLX::createPbufferContext): Initialized the returnedElements variable.

1:26 AM Changeset in webkit [268914] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit

Merge r268472 - [GLIB] Fix linking error for systems not providing <sys/memfd.h>
https://bugs.webkit.org/show_bug.cgi?id=217514

Reviewed by Carlos Garcia Campos.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp: Unconditionally check for <sys/mman.h> which should always exist instead

of <sys/memfd.h>. Also define the fallback with syscall() only for linux systems (as it requires <linux/memfd.h>).

1:25 AM Changeset in webkit [268913] by Carlos Garcia Campos
  • 24 edits in releases/WebKitGTK/webkit-2.30/Source

Merge r268522 - [GTK][WPE] Add support for smooth scrolling animation with async scrolling
https://bugs.webkit.org/show_bug.cgi?id=210382

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Respect smooth-scrolling setting and fix deadlock issues with async
scrolling on nicosia path.

No new tests, no functional change.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::scrollAnimatorEnabled const):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):

  • page/scrolling/ThreadedScrollingTree.h:

(WebCore::ThreadedScrollingTree::scrollAnimatorEnabled const):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::ScrollingTreeFrameScrollingNodeNicosia):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::ensureScrollAnimationKinetic):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::ensureScrollAnimationSmooth):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::stopScrollAnimations):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::repositionRelatedLayers):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::ScrollingTreeOverflowScrollingNodeNicosia):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateAfterChildren):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::repositionScrollingLayers):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::ensureScrollAnimationKinetic):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::ensureScrollAnimationSmooth):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::handleWheelEvent):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::stopScrollAnimations):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
  • platform/PlatformWheelEvent.h:
  • platform/ScrollAnimation.h:
  • platform/ScrollAnimationKinetic.cpp:

(WebCore::ScrollAnimationKinetic::isActive const):

  • platform/ScrollAnimationKinetic.h:
  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::scroll):
(WebCore::ScrollAnimationSmooth::isActive const):

  • platform/ScrollAnimationSmooth.h:
  • platform/generic/ScrollAnimatorGeneric.cpp:

(WebCore::ScrollAnimatorGeneric::ensureSmoothScrollingAnimation):

Source/WebKit:

Add hasPreciseScrollingDeltas to GTK/WPE wheel events.

No new tests needed.

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):

  • Shared/WebWheelEvent.cpp:

(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode const):
(WebKit::WebWheelEvent::decode):

  • Shared/WebWheelEvent.h:
  • Shared/WebWheelEventCoalescer.cpp:

(WebKit::WebWheelEventCoalescer::canCoalesce):
(WebKit::WebWheelEventCoalescer::coalesce):

  • Shared/gtk/NativeWebWheelEventGtk.cpp:

(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebWheelEvent):

  • Shared/libwpe/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebWheelEvent):

1:25 AM Changeset in webkit [268912] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore

Merge r266390 - [GTK][WPE] Add support for smooth scrolling animation with async scrolling
https://bugs.webkit.org/show_bug.cgi?id=210382

Reviewed by Carlos Garcia Campos.

This removes the dependency on ScrollableArea from
ScrollAnimationSmooth, which allows its use as a utility class for
smooth scrolling. This class is then used in the Nicosia async layer
composition scrolling code to provide smooth scrolling, when the
feature is enabled. This mirrors the work done in bug 209230 for
kinetic scrolling.

No new tests, enabling existing functionality in more situations.

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::scrollTo):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::ScrollingTreeFrameScrollingNodeNicosia):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateAfterChildren):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::stopScrollAnimations):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::ScrollingTreeOverflowScrollingNodeNicosia):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::commitStateAfterChildren):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::handleWheelEvent):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::stopScrollAnimations):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
  • platform/ScrollAnimation.h:

(WebCore::ScrollAnimation::serviceAnimation):

  • platform/ScrollAnimationKinetic.cpp:
  • platform/ScrollAnimationKinetic.h:
  • platform/ScrollAnimationSmooth.cpp:

(WebCore::ScrollAnimationSmooth::ScrollAnimationSmooth):
(WebCore::ScrollAnimationSmooth::scroll):
(WebCore::ScrollAnimationSmooth::stop):
(WebCore::ScrollAnimationSmooth::updateVisibleLengths):
(WebCore::ScrollAnimationSmooth::animationTimerFired):

  • platform/ScrollAnimationSmooth.h:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::ScrollAnimator):

  • platform/generic/ScrollAnimatorGeneric.cpp:

(WebCore::ScrollAnimatorGeneric::ScrollAnimatorGeneric):
(WebCore::ScrollAnimatorGeneric::ensureSmoothScrollingAnimation):

1:25 AM Changeset in webkit [268911] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.30/Source/WTF

Merge r267789 - [GTK] Chassis type check fails if the value is quoted
https://bugs.webkit.org/show_bug.cgi?id=217123

Patch by Alexander Mikhaylenko <Alexander Mikhaylenko> on 2020-09-30
Reviewed by Carlos Garcia Campos.

Sometimes the chassis type can be quoted, in this case we'll fail to
parse it and fall back to desktop type. Unquote the string before
attempting to parse it.

  • wtf/glib/ChassisType.cpp:

(WTF::readMachineInfoChassisType):

1:25 AM Changeset in webkit [268910] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebKit

Merge r268906 - [SOUP] Fix crash in WebSocketTask
https://bugs.webkit.org/show_bug.cgi?id=217892

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-10-23
Reviewed by Carlos Garcia Campos.

The WebSocketTask connects to the "starting" signal of its SoupMessage and never disconnects
this signal, which is only safe if it is guaranteed to outlive its SoupMessage. However, it
is not. We crash when the signal is emitted after the WebSocketTask is destroyed. To solve
this, we just need to disconnect the signal when required. Normally that would be done in
the destructor, but the WebSocketTask drops its ownership of the SoupMessage prior to that
point, so we need to disconnect on each possible paths.

  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::~WebSocketTask):
(WebKit::WebSocketTask::didConnect):
(WebKit::WebSocketTask::didFail):

1:25 AM Changeset in webkit [268909] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore

Merge r268394 - [SOUP] webkit_web_view_get_https_status() broken with service workers
https://bugs.webkit.org/show_bug.cgi?id=216038

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-10-13
Reviewed by Carlos Garcia Campos.

This implements CertificateInfo::isolatedCopy for libsoup ports. This is impossible to do
completely, because we cannot copy the private key portion of the GTlsCertificate, because
it is a write-only property, because it might be backed by a hardware token and therefore
really impossible to write software to get it. If we were to implement g_tls_certificate_copy()
in GLib -- which I will probably do eventually, because I need this outside WebKit as well --
then GTlsCertificate implementations could copy the private key or PKCS#11 handle or
whatever.

But anyway, let not perfect be the enemy of the good. We only need this for service workers
currently. (Probably that's all we'll *ever* need it for.) So we are only working with
server certificates, and the private portion of the certificate is guaranteed to not exist
(because servers don't send us their private keys), and we can just forget about it. As
long as nobody tries to copy a client certificate in the future -- where we really would
need the private key portion of the certificate -- this will be perfectly fine.

Actually copying the certificate is kind of annoying, because a chain of certificates is
represented by having the main (server) certificate keep a reference to its issuer, which is
not referenced anywhere else, so we have to reconstruct the chain in reverse order starting
from the final certificate, working back towards the server cert. Fun. Let's also be
careful to construct a completely new GByteArray rather than expecting the GTlsCertificate
implementation to copy it for us. Because GTlsCertificate is implemented by an extension
point and applications and system administrators can -- and do -- implement their own,
implementations could do anything, including keep a reference to the GByteArray that we
pass in.

It would be nice to have a test for this, but writing tests is hard. Also, I don't really
want to learn what service workers are. :)

Drive-by fix: also remove explicit from a constructor that doesn't need it.

  • platform/network/soup/CertificateInfo.h:

(WebCore::CertificateInfo::isolatedCopy const):

  • platform/network/soup/CertificateInfoSoup.cpp:

(WebCore::createCertificate):
(WebCore::CertificateInfo::isolatedCopy const):

1:25 AM Changeset in webkit [268908] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.30

Merge r268392 - [GStreamer] Crash in WebCore::GStreamerRegistryScanner::isAVC1CodecSupported
https://bugs.webkit.org/show_bug.cgi?id=217647

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The registry scanner was assuming the avc1 codec field is always of the form
avc1.codecprofile, which is wrong.

Covered by test: media/media-can-play-mpeg4-video.html

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::isAVC1CodecSupported const): Check for '.' presence and
fallback to unconstrained check if no profile or level information was extracted.

LayoutTests:

  • media/media-can-play-mpeg4-video-expected.txt:
  • media/media-can-play-mpeg4-video.html: Add test for "avc1" codec.
1:06 AM Changeset in webkit [268907] by commit-queue@webkit.org
  • 7 edits in trunk

[GStreamer] Replace USE(WEBAUDIO_GSTREAMER) with USE(GSTREAMER)
https://bugs.webkit.org/show_bug.cgi?id=218083

Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-23
Reviewed by Xabier Rodriguez-Calvar.

.:

A separate define was introduced back when we thought enabling WebAudio without enabling
<audio> would be a highly relevant scenario. I don't think it is very relevant, let's clean
this up.

  • Source/cmake/GStreamerChecks.cmake: Wrap the WebAudio platform bits in the USE(GSTREAMER) umbrella.

Source/WebCore:

  • platform/audio/FFTFrame.h: No need for G_{BEGIN,END}_DECLS dance anymore, these were added

upstream 9 years ago.

  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/HRTFElevation.cpp:
  • platform/audio/gstreamer/FFTFrameGStreamer.cpp:
12:33 AM Changeset in webkit [268906] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[SOUP] Fix crash in WebSocketTask
https://bugs.webkit.org/show_bug.cgi?id=217892

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-10-23
Reviewed by Carlos Garcia Campos.

The WebSocketTask connects to the "starting" signal of its SoupMessage and never disconnects
this signal, which is only safe if it is guaranteed to outlive its SoupMessage. However, it
is not. We crash when the signal is emitted after the WebSocketTask is destroyed. To solve
this, we just need to disconnect the signal when required. Normally that would be done in
the destructor, but the WebSocketTask drops its ownership of the SoupMessage prior to that
point, so we need to disconnect on each possible paths.

  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::~WebSocketTask):
(WebKit::WebSocketTask::didConnect):
(WebKit::WebSocketTask::didFail):

Oct 22, 2020:

10:30 PM Changeset in webkit [268905] by Fujii Hironori
  • 9 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening

Updated expected.png for compositing and transforms tests.

  • platform/gtk/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/gtk/compositing/webgl/webgl-background-color-expected.png:
  • platform/gtk/compositing/webgl/webgl-nonpremultiplied-blend-expected.png:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-2-expected.png:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-expected.png:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-origins-expected.png:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.png:
9:25 PM Changeset in webkit [268904] by commit-queue@webkit.org
  • 8 edits in trunk

Null check platformStrategies when making blob read stream for an NSURLRequest
https://bugs.webkit.org/show_bug.cgi?id=218112
<rdar://problem/70507102>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-22
Reviewed by Wenson Hsieh.

Source/WebCore:

r266187 made it possible to create a DataTransfer without a user event, which allows you to make a FileList,
which allows you to submit a multipart form without a user event that calls decidePolicyForNavigationAction
with a request that has a form data body that would make a blob upload stream. This causes us to use
platformStrategies in the UI process, which dereferences null. Since the blob only really exists in the network
process, just return a nil HTTPBody in such an exotic case instead of crashing.

Covered by an API test that would hit this crash. Web platform tests were insufficient because WebKitTestRunner does not
access WKNavigationAction.request, but Safari does.

  • platform/PlatformStrategies.cpp:

(WebCore::hasPlatformStrategies):

  • platform/PlatformStrategies.h:
  • platform/network/FormData.cpp:

(WebCore::FormData::containsBlobElement const):
(WebCore::FormData::resolveBlobReferences):

  • platform/network/FormData.h:
  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::createHTTPBodyCFReadStream):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm:

(TEST):

8:49 PM Changeset in webkit [268903] by clopez@igalia.com
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Gardening of failures happening on the bots.

Unreviewed gardening.

  • platform/glib/TestExpectations:
  • platform/gtk-wayland/TestExpectations:
  • platform/gtk/TestExpectations:
6:38 PM Changeset in webkit [268902] by Simon Fraser
  • 8 edits in trunk

REGRESSION(r268476): [ macOS ] tiled-drawing/scrolling/non-fast-region/handlers-in-iframes.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=218031
<rdar://problem/70532268>

Reviewed by Tim Horton.
Source/WebCore:

The test exercises wheel event regions in non-composited iframes. These were not reliably updated
when all wheel event handlers were removed, because Frame::invalidateContentEventRegionsIfNeeded()
early-returned if there were no handlers (but we need to update the regions in this case). Clean
up the logic here, and pass in a "reason" so we know that we should do work when there are no
handlers.

Document::wheelEventHandlersChanged() also needs to invalidate style, since flags in style
are used for wheel event region building, and it needs to call invalidateContentEventRegionsIfNeeded().

  • dom/Document.cpp:

(WebCore::Document::wheelEventHandlersChanged):
(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):

  • dom/Document.h:
  • page/Frame.cpp:

(WebCore::Frame::invalidateContentEventRegionsIfNeeded):

  • page/Frame.h:
  • page/FrameView.cpp:

(WebCore::FrameView::didLayout):

LayoutTests:

  • platform/mac/TestExpectations:
6:32 PM Changeset in webkit [268901] by Aditya Keerthi
  • 21 edits
    1 copy
    6 adds in trunk

[Contact Picker API] Add skeleton implementation of ContactsManager.select()
https://bugs.webkit.org/show_bug.cgi?id=218050
<rdar://problem/69862186>

Reviewed by Devin Rousso.

Source/WebCore:

ContactsManager.select() is the interface that allows clients to
present a contact picker. The method should immediately reject when
called from a subframe, when called outside user-interaction and when
called while a contact picker is already being displayed. Furthermore,
the promise is rejected when the supplied properties are empty or
invalid.

After the conditions necessary for the UI to be presented are verified,
ContactsManager.select() calls into the page's Chrome to display the
picker. The UI implementation on macOS and iOS will be done in
forthcoming patches.

See https://wicg.github.io/contact-api/spec/#contacts-manager-select
for more information.

Tests: contact-picker/contacts-select-invalid-properties-and-options.html

contact-picker/contacts-select-requires-user-gesture.html
contact-picker/contacts-select-subframe.html

  • Headers.cmake:
  • Modules/contact-picker/ContactInfo.h: Added encoder and decoder for IPC.

(WebCore::ContactInfo::encode const):
(WebCore::ContactInfo::decode):

  • Modules/contact-picker/ContactInfo.idl:
  • Modules/contact-picker/ContactProperty.h:
  • Modules/contact-picker/ContactsManager.cpp:

(WebCore::ContactsManager::frame const):
(WebCore::ContactsManager::select):

  • Modules/contact-picker/ContactsManager.h:
  • Modules/contact-picker/ContactsRequestData.h: Added.

ContactsRequestData encapsulates the information required to display a
picker UI. This includes the requested properties, the URL of the
presenting site, and whether multiple contact selection should be allowed.

(WebCore::ContactsRequestData::encode const):
(WebCore::ContactsRequestData::decode):

  • WebCore.xcodeproj/project.pbxproj:
  • page/Chrome.cpp:

(WebCore::Chrome::showContactPicker):

  • page/Chrome.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::showContactPicker):

Source/WebKit:

Added the necessary plumbing in order for the UIProcess to display a
contact picker after a call to ContactsManager.select() is made.

  • UIProcess/PageClient.h:

(WebKit::PageClient::showContactPicker):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showContactPicker):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::showContactPicker):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::showContactPicker):

  • WebProcess/WebPage/WebPage.h:

LayoutTests:

Added tests for failure cases of the API. Note that success cases are
untested since no platforms currently display a picker UI, and the
specification states that the promise should fail in this case. The
success test cases will be added once the UI is implemented for iOS.

  • contact-picker/contacts-select-invalid-properties-and-options-expected.txt: Added.
  • contact-picker/contacts-select-invalid-properties-and-options.html: Added.
  • contact-picker/contacts-select-requires-user-gesture-expected.txt: Added.
  • contact-picker/contacts-select-requires-user-gesture.html: Added.
  • contact-picker/contacts-select-subframe-expected.txt: Added.
  • contact-picker/contacts-select-subframe.html: Added.
6:00 PM Changeset in webkit [268900] by Chris Dumez
  • 27 edits in trunk/Source/WebCore

Use WorkerOrWorkletGlobalScope in WebInspector code instead of WorkerGlobalScope
https://bugs.webkit.org/show_bug.cgi?id=218108

Reviewed by Darin Adler and Devin Rousso.

Use WorkerOrWorkletGlobalScope in WebInspector code instead of WorkerGlobalScope,
in preparation for Worklets support. This will allow us to reuse this code when
we add Web Inspector support for Worklets.

No new tests, no behavior change yet.

  • Modules/webaudio/AudioWorkletThread.cpp:

(WebCore::AudioWorkletThread::workerDebuggerProxy const):

  • Modules/webaudio/AudioWorkletThread.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::instrumentingAgentsForWebGPUDevice):
(WebCore::InspectorInstrumentation::consoleAgentEnabled):
(WebCore::InspectorInstrumentation::timelineAgentTracking):
(WebCore::InspectorInstrumentation::instrumentingAgentsFor):
(WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForPage): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForContext): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
(WebCore::InspectorInstrumentation::isDebuggerPaused):
(WebCore::InspectorInstrumentation::identifierForNode):
(WebCore::InspectorInstrumentation::addEventListenersToNode):
(WebCore::InspectorInstrumentation::willInsertDOMNode):
(WebCore::InspectorInstrumentation::didInsertDOMNode):
(WebCore::InspectorInstrumentation::willRemoveDOMNode):
(WebCore::InspectorInstrumentation::didRemoveDOMNode):
(WebCore::InspectorInstrumentation::willModifyDOMAttr):
(WebCore::InspectorInstrumentation::didModifyDOMAttr):
(WebCore::InspectorInstrumentation::didRemoveDOMAttr):
(WebCore::InspectorInstrumentation::willInvalidateStyleAttr):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
(WebCore::InspectorInstrumentation::documentDetached):
(WebCore::InspectorInstrumentation::frameWindowDiscarded):
(WebCore::InspectorInstrumentation::mediaQueryResultChanged):
(WebCore::InspectorInstrumentation::activeStyleSheetsUpdated):
(WebCore::InspectorInstrumentation::didPushShadowRoot):
(WebCore::InspectorInstrumentation::willPopShadowRoot):
(WebCore::InspectorInstrumentation::didChangeCustomElementState):
(WebCore::InspectorInstrumentation::pseudoElementCreated):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed):
(WebCore::InspectorInstrumentation::didCreateNamedFlow):
(WebCore::InspectorInstrumentation::willRemoveNamedFlow):
(WebCore::InspectorInstrumentation::didChangeRegionOverset):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
(WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
(WebCore::InspectorInstrumentation::handleTouchEvent):
(WebCore::InspectorInstrumentation::handleMousePress):
(WebCore::InspectorInstrumentation::forcePseudoState):
(WebCore::InspectorInstrumentation::characterDataModified):
(WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
(WebCore::InspectorInstrumentation::willFetch):
(WebCore::InspectorInstrumentation::didInstallTimer):
(WebCore::InspectorInstrumentation::didRemoveTimer):
(WebCore::InspectorInstrumentation::didAddEventListener):
(WebCore::InspectorInstrumentation::willRemoveEventListener):
(WebCore::InspectorInstrumentation::isEventListenerDisabled):
(WebCore::InspectorInstrumentation::willPostMessage):
(WebCore::InspectorInstrumentation::didPostMessage):
(WebCore::InspectorInstrumentation::didFailPostMessage):
(WebCore::InspectorInstrumentation::willDispatchPostMessage):
(WebCore::InspectorInstrumentation::didDispatchPostMessage):
(WebCore::InspectorInstrumentation::willCallFunction):
(WebCore::InspectorInstrumentation::didCallFunction):
(WebCore::InspectorInstrumentation::willDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::willHandleEvent):
(WebCore::InspectorInstrumentation::didHandleEvent):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::eventDidResetAfterDispatch):
(WebCore::InspectorInstrumentation::willEvaluateScript):
(WebCore::InspectorInstrumentation::didEvaluateScript):
(WebCore::InspectorInstrumentation::willFireTimer):
(WebCore::InspectorInstrumentation::didFireTimer):
(WebCore::InspectorInstrumentation::didInvalidateLayout):
(WebCore::InspectorInstrumentation::willLayout):
(WebCore::InspectorInstrumentation::didLayout):
(WebCore::InspectorInstrumentation::didScroll):
(WebCore::InspectorInstrumentation::willComposite):
(WebCore::InspectorInstrumentation::didComposite):
(WebCore::InspectorInstrumentation::willPaint):
(WebCore::InspectorInstrumentation::didPaint):
(WebCore::InspectorInstrumentation::willRecalculateStyle):
(WebCore::InspectorInstrumentation::didRecalculateStyle):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
(WebCore::InspectorInstrumentation::applyUserAgentOverride):
(WebCore::InspectorInstrumentation::applyEmulatedMedia):
(WebCore::InspectorInstrumentation::willSendRequest):
(WebCore::InspectorInstrumentation::willSendRequestOfType):
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
(WebCore::InspectorInstrumentation::didReceiveResourceResponse):
(WebCore::InspectorInstrumentation::didReceiveThreadableLoaderResponse):
(WebCore::InspectorInstrumentation::didReceiveData):
(WebCore::InspectorInstrumentation::didFinishLoading):
(WebCore::InspectorInstrumentation::didFailLoading):
(WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
(WebCore::InspectorInstrumentation::continueWithPolicyDownload):
(WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
(WebCore::InspectorInstrumentation::scriptImported):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
(WebCore::InspectorInstrumentation::didReceiveScriptResponse):
(WebCore::InspectorInstrumentation::domContentLoadedEventFired):
(WebCore::InspectorInstrumentation::loadEventFired):
(WebCore::InspectorInstrumentation::frameDetachedFromParent):
(WebCore::InspectorInstrumentation::didCommitLoad):
(WebCore::InspectorInstrumentation::frameDocumentUpdated):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
(WebCore::InspectorInstrumentation::frameStartedLoading):
(WebCore::InspectorInstrumentation::frameStoppedLoading):
(WebCore::InspectorInstrumentation::frameScheduledNavigation):
(WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
(WebCore::InspectorInstrumentation::defaultAppearanceDidChange):
(WebCore::InspectorInstrumentation::willIntercept):
(WebCore::InspectorInstrumentation::shouldInterceptRequest):
(WebCore::InspectorInstrumentation::shouldInterceptResponse):
(WebCore::InspectorInstrumentation::interceptRequest):
(WebCore::InspectorInstrumentation::interceptResponse):
(WebCore::InspectorInstrumentation::didOpenDatabase):
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
(WebCore::InspectorInstrumentation::shouldWaitForDebuggerOnStart):
(WebCore::InspectorInstrumentation::workerStarted):
(WebCore::InspectorInstrumentation::workerTerminated):
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
(WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
(WebCore::InspectorInstrumentation::didSendWebSocketFrame):
(WebCore::InspectorInstrumentation::didHandleMemoryPressure):
(WebCore::InspectorInstrumentation::didChangeCSSCanvasClientNodes):
(WebCore::InspectorInstrumentation::didCreateCanvasRenderingContext):
(WebCore::InspectorInstrumentation::didChangeCanvasMemory):
(WebCore::InspectorInstrumentation::recordCanvasAction):
(WebCore::InspectorInstrumentation::didFinishRecordingCanvasFrame):
(WebCore::InspectorInstrumentation::didEnableExtension):
(WebCore::InspectorInstrumentation::didCreateWebGLProgram):
(WebCore::InspectorInstrumentation::willDestroyWebGLProgram):
(WebCore::InspectorInstrumentation::isWebGLProgramDisabled):
(WebCore::InspectorInstrumentation::isWebGLProgramHighlighted):
(WebCore::InspectorInstrumentation::willConfigureSwapChain):
(WebCore::InspectorInstrumentation::willDestroyWebGPUPipeline):
(WebCore::InspectorInstrumentation::willApplyKeyframeEffect):
(WebCore::InspectorInstrumentation::didChangeWebAnimationName):
(WebCore::InspectorInstrumentation::didSetWebAnimationEffect):
(WebCore::InspectorInstrumentation::didChangeWebAnimationEffectTiming):
(WebCore::InspectorInstrumentation::didChangeWebAnimationEffectTarget):
(WebCore::InspectorInstrumentation::didCreateWebAnimation):
(WebCore::InspectorInstrumentation::willDestroyWebAnimation):
(WebCore::InspectorInstrumentation::networkStateChanged):
(WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::consoleCountReset):
(WebCore::InspectorInstrumentation::takeHeapSnapshot):
(WebCore::InspectorInstrumentation::startConsoleTiming):
(WebCore::InspectorInstrumentation::logConsoleTiming):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):
(WebCore::InspectorInstrumentation::consoleStartRecordingCanvas):
(WebCore::InspectorInstrumentation::consoleStopRecordingCanvas):
(WebCore::InspectorInstrumentation::didRequestAnimationFrame):
(WebCore::InspectorInstrumentation::didCancelAnimationFrame):
(WebCore::InspectorInstrumentation::willFireAnimationFrame):
(WebCore::InspectorInstrumentation::didFireAnimationFrame):
(WebCore::InspectorInstrumentation::willFireObserverCallback):
(WebCore::InspectorInstrumentation::didFireObserverCallback):
(WebCore::InspectorInstrumentation::layerTreeDidChange):
(WebCore::InspectorInstrumentation::renderLayerDestroyed):
(WebCore::InspectorInstrumentation::instrumentingAgentsFor):
(WebCore::InspectorInstrumentation::instrumentingAgentsForContext): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForFrame): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForDocument): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForPage): Deleted.
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope): Deleted.

  • inspector/InspectorWebAgentBase.h:

(WebCore::WorkerAgentContext::WorkerAgentContext):

  • inspector/WorkerDebugger.cpp:

(WebCore::WorkerDebugger::WorkerDebugger):
(WebCore::WorkerDebugger::attachDebugger):
(WebCore::WorkerDebugger::detachDebugger):
(WebCore::WorkerDebugger::runEventLoopWhilePaused):

  • inspector/WorkerDebugger.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::connectFrontend):
(WebCore::WorkerInspectorController::workerAgentContext):
(WebCore::WorkerInspectorController::createLazyAgents):
(WebCore::WorkerInspectorController::vm):

  • inspector/WorkerInspectorController.h:
  • inspector/WorkerToPageFrontendChannel.h:
  • inspector/agents/worker/ServiceWorkerAgent.cpp:

(WebCore::ServiceWorkerAgent::ServiceWorkerAgent):

  • inspector/agents/worker/WorkerAuditAgent.cpp:

(WebCore::WorkerAuditAgent::WorkerAuditAgent):
(WebCore::WorkerAuditAgent::injectedScriptForEval):

  • inspector/agents/worker/WorkerAuditAgent.h:
  • inspector/agents/worker/WorkerConsoleAgent.cpp:

(WebCore::WorkerConsoleAgent::WorkerConsoleAgent):

  • inspector/agents/worker/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::breakpointActionLog):
(WebCore::WorkerDebuggerAgent::injectedScriptForEval):

  • inspector/agents/worker/WorkerDebuggerAgent.h:
  • inspector/agents/worker/WorkerNetworkAgent.cpp:

(WebCore::WorkerNetworkAgent::WorkerNetworkAgent):
(WebCore::WorkerNetworkAgent::setResourceCachingDisabledInternal):
(WebCore::WorkerNetworkAgent::scriptExecutionContext):

  • inspector/agents/worker/WorkerNetworkAgent.h:
  • inspector/agents/worker/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
(WebCore::WorkerRuntimeAgent::injectedScriptForEval):

  • inspector/agents/worker/WorkerRuntimeAgent.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::prepareForDestruction):

  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::inspectorController const): Deleted.

  • workers/WorkerOrWorkletGlobalScope.cpp:

(WebCore::WorkerOrWorkletGlobalScope::WorkerOrWorkletGlobalScope):
(WebCore::WorkerOrWorkletGlobalScope::prepareForDestruction):

  • workers/WorkerOrWorkletGlobalScope.h:

(WebCore::WorkerOrWorkletGlobalScope::inspectorController const):

  • workers/WorkerOrWorkletThread.h:
  • workers/WorkerThread.h:

(WebCore::WorkerThread::workerDebuggerProxy const): Deleted.

5:20 PM Changeset in webkit [268899] by Russell Epstein
  • 1 copy in tags/Safari-610.2.11.51.5

Tag Safari-610.2.11.51.5.

4:15 PM Changeset in webkit [268898] by Simon Fraser
  • 7 edits
    2 adds in trunk

Twitter Photo gallery incorrectly rendered after opening another modal
https://bugs.webkit.org/show_bug.cgi?id=217737
<rdar://problem/70314822>

Reviewed by Zalan Bujtas.
Source/WebCore:

If a layer with a certain configuration of clipping layers had non-zero border-radius, then
changes to zero border-radius, we'd fail to undo the composited rounded-corner masking.
This was because RenderLayerBacking::updateGeometry() didn't call setMasksToBoundsRect()
in the non-rounded corner case.

The compositing code in general tries to separate "configuration" changes (i.e. setting
up the right layer hierarchy) from "geometry" changes (setting positions and sizes).
In this area, those responsibilities were muddied because the return value from
setMasksToBoundsRect() was used to know whether the platform-specific GraphicsLayer
supports rounded-corner clips. This forced RenderLayerBacking::updateChildClippingStrategy()
to do some geometry computation.

Clean that up by adding the static GraphicsLayer::supportsRoundedClip(), and use
that to know if the platform needs a m_childClippingMaskLayer (all non-CA platforms).
Now updateChildClippingStrategy() can be purely about hierarchy, and updateGeometry()
can focus on geometry. In updateGeometry(), we are sure to call setMasksToBoundsRect()
in the non-rounded corner case too.

Test: compositing/style-change/border-radius-change.html

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::supportsRoundedClip):
(WebCore::GraphicsLayer::setMasksToBoundsRect):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setMasksToBoundsRect): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayer::supportsRoundedClip):
(WebCore::GraphicsLayerCA::setMasksToBoundsRect):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):

LayoutTests:

  • compositing/style-change/border-radius-change-expected.html: Added.
  • compositing/style-change/border-radius-change.html: Added.
3:25 PM Changeset in webkit [268897] by Chris Dumez
  • 19 edits
    1 copy in trunk/Source/WebCore

Share more code between WorkerThread and AudioWorkletThread
https://bugs.webkit.org/show_bug.cgi?id=218051

Reviewed by Geoffrey Garen.

Share more code between WorkerThread and AudioWorkletThread by moving more logic
to the WorkerOrWorklet base class.

No new tests, no web-facing behavior change.

  • Modules/webaudio/AudioWorkletMessagingProxy.cpp:

(WebCore::generateWorkletParameters):

  • Modules/webaudio/AudioWorkletThread.cpp:

(WebCore::AudioWorkletThread::AudioWorkletThread):
(WebCore::AudioWorkletThread::createGlobalScope):
(WebCore::AudioWorkletThread::workerLoaderProxy):
(WebCore::AudioWorkletThread::createThread):
(WebCore::AudioWorkletThread::globalScope const):

  • Modules/webaudio/AudioWorkletThread.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • page/MemoryRelease.cpp:

(WebCore::releaseMemory):

  • page/cocoa/ResourceUsageThreadCocoa.mm:

(WebCore::ResourceUsageThread::platformCollectCPUData):

  • page/linux/ResourceUsageThreadLinux.cpp:

(WebCore::ResourceUsageThread::platformCollectCPUData):

  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::runEventLoop):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerOrWorkletGlobalScope.h:

(WebCore::WorkerOrWorkletGlobalScope::suspend):
(WebCore::WorkerOrWorkletGlobalScope::resume):

  • workers/WorkerOrWorkletThread.cpp: Copied from Source/WebCore/workers/WorkerThread.cpp.

(WebCore::WorkerOrWorkletThread::workerOrWorkletThreadsLock):
(WebCore::WorkerOrWorkletThread::WorkerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::~WorkerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::startRunningDebuggerTasks):
(WebCore::WorkerOrWorkletThread::stopRunningDebuggerTasks):
(WebCore::WorkerOrWorkletThread::runEventLoop):
(WebCore::WorkerOrWorkletThread::workerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::start):
(WebCore::WorkerOrWorkletThread::stop):
(WebCore::WorkerOrWorkletThread::suspend):
(WebCore::WorkerOrWorkletThread::resume):
(WebCore::WorkerOrWorkletThread::releaseFastMallocFreeMemoryInAllThreads):

  • workers/WorkerOrWorkletThread.h:

(WebCore::WorkerOrWorkletThread::thread const):
(WebCore::WorkerOrWorkletThread::globalScope const):
(WebCore::WorkerOrWorkletThread::runLoop):
(WebCore::WorkerOrWorkletThread::start):
(WebCore::WorkerOrWorkletThread::stop):
(WebCore::WorkerOrWorkletThread::identifier const):
(WebCore::WorkerOrWorkletThread::evaluateScriptIfNecessary):
(WebCore::WorkerOrWorkletThread::shouldWaitForWebInspectorOnStartup const):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::workerThreadCount):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::~WorkerThread):
(WebCore::WorkerThread::createThread):
(WebCore::WorkerThread::createGlobalScope):
(WebCore::WorkerThread::shouldWaitForWebInspectorOnStartup const):
(WebCore::WorkerThread::evaluateScriptIfNecessary):
(WebCore::WorkerThread::globalScope):

  • workers/WorkerThread.h:
  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::queueTaskToFireFetchEvent):
(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
(WebCore::ServiceWorkerThread::queueTaskToFireInstallEvent):
(WebCore::ServiceWorkerThread::queueTaskToFireActivateEvent):
(WebCore::ServiceWorkerThread::finishedEvaluatingScript):

  • worklets/Worklet.cpp:

(WebCore::Worklet::Worklet):

  • worklets/Worklet.h:

(WebCore::Worklet::identifier const):

  • worklets/WorkletParameters.h:

(WebCore::WorkletParameters::isolatedCopy const):

3:13 PM Changeset in webkit [268896] by Jonathan Bedard
  • 3 edits
    4 adds in trunk/Tools

[webkitpy] Use webkitcorepy's autoinstaller for chrome and gecko drivers
https://bugs.webkit.org/show_bug.cgi?id=218059
<rdar://problem/70551255>

Rubber-stamped by Aakash Jain.

  • Scripts/webkitpy/autoinstalled: Added.
  • Scripts/webkitpy/autoinstalled/init.py: Added.
  • Scripts/webkitpy/autoinstalled/chromedriver.py: Added.

(ChromeDriverPackage): Special listing rules for the chrome driver.

  • Scripts/webkitpy/autoinstalled/geckodriver.py: Added.

(GeckoDriverPackage): Special listing rules for the GeckoDriver.

  • Scripts/webkitpy/benchmark_runner/utils.py:

(get_driver_binary_path):

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module): Remove Chrome and Gecko drivers.
(AutoinstallImportHook.install_chromedriver): Deleted.
(AutoinstallImportHook.install_geckodriver): Deleted.
(get_driver_filename): Deleted.
(get_os_info): Deleted.

3:06 PM Changeset in webkit [268895] by Adrian Perez de Castro
  • 5 edits in trunk/Source/WebCore

Non-unified build fixes, late-ish October 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=218095

Unreviewed non-unified build fix.

No new tests needed.

  • Modules/speech/SpeechRecognitionResultList.h: Include SpeechRecognitionResult.h

instead of using a forward declaration.

  • layout/integration/LayoutIntegrationLineLayout.cpp: Add missing RenderImage.h header.
  • page/scrolling/ScrollingTreeLatchingController.h: Add missing wtf/OptionSet.h header

and forward-declare WheelEventProcessingSteps.

  • workers/WorkerOrWorkletGlobalScope.cpp: Add missing WorkerOrWorkletThread.h and

WorkerRunLoop.h headers.

3:01 PM Changeset in webkit [268894] by Alan Coon
  • 1 copy in tags/Safari-611.1.4

Tag Safari-611.1.4.

2:56 PM Changeset in webkit [268893] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Web Audio continues to play when navigating off the web page via an iframe
https://bugs.webkit.org/show_bug.cgi?id=218078

Reviewed by Eric Carlson.

The page was suspending playback when clicking the link and then resuming playback in the pagehide
event handler. The issue is that the AudioContext's state gets updated asynchronously when the
page suspends or resume rendering, as per specification. When entering the back/forward cache,
AudioContext::suspend() would be called but would do nothing because the state was "suspended",
despite the script having just called "resume()". To address the issue, AudioContext::suspend()
now early returns only if the context is closed or based on the m_wasSuspendedByScript flag
when gets updated synchronously when the script calls suspend() / resume(). Similarly,
AudioContext::resume() checks those same flags now.

No new tests, this impacts audio rendering on speakers but is not web-observable.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::resumeRendering):
Check if the MediaSession is interrupted before asynchronously setting the AudioContext's state
to "running". This is important because the state gets updated asynchronously but the MediaSession
can be interrupted synchronously when AudioContext::suspend() gets called, which would have set
the AudioContext's state to "interrupted". We don't want to incorrectly change the state from
"interrupted" to "running" in this case. Note that AudioContext::suspendRendering() already does
the same thing.

(WebCore::AudioContext::suspend):
(WebCore::AudioContext::resume):
Only early return if the AudioContext is closed or if the m_wasSuspendedByScript flag is set. The
m_wasSuspendedByScript gets updated synchronously when suspendRendering() / resumeRendering() get
called, unlike the AudioContext's state which gets updated asynchronously.

(WebCore::AudioContext::suspendPlayback):
Stop early returning if the state is "suspended". This was wrong since the state gets updated
asynchronously.

2:34 PM Changeset in webkit [268892] by Lauro Moura
  • 3 edits in trunk/LayoutTests

[GLIB] Gardening some crashes

Unreviewed test gardening.

Mesa 'hydra' crashes still almost every build.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
2:23 PM Changeset in webkit [268891] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Move WebAudio test failure entries to GLIB.

Also gardened a few more flaky failures.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
1:32 PM Changeset in webkit [268890] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

report-non-inclusive-language should also report total for all the non-inclusive terms
https://bugs.webkit.org/show_bug.cgi?id=218096

Reviewed by Darin Adler.

  • Scripts/report-non-inclusive-language: Report total for all the non-inclusive terms. Also improved

formatting of the output to make it one-line.

1:31 PM Changeset in webkit [268889] by commit-queue@webkit.org
  • 19 edits in trunk

Rename scroll-snap-margin to scroll-margin
https://bugs.webkit.org/show_bug.cgi?id=218075

Patch by Martin Robinson <mrobinson@igalia.com> on 2020-10-22
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt: Update result for newly passing test.
  • web-platform-tests/css/css-scroll-snap/inheritance-expected.txt: Ditto
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-computed-expected.txt: Ditto.
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-shorthand-expected.txt: Ditto.
  • web-platform-tests/css/css-scroll-snap/parsing/scroll-margin-valid-expected.txt: Ditto.
  • web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Ditto.

Source/WebCore:

Rename scroll-snap-margin to scroll-margin while leaving scroll-snap-margin still
available as an alias for backward compatibility reasons.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle): Rename CSS property name.

  • css/CSSProperties.json: Rename CSS property and add an alias to the old name.
  • css/StyleProperties.cpp: Changes to reflect new name.

(WebCore::StyleProperties::getPropertyValue const): Ditto.
(WebCore::StyleProperties::asText const): Ditto.

  • css/parser/CSSPropertyParser.cpp: Ditto.

(WebCore::CSSPropertyParser::parseSingleValue): Ditto.
(WebCore::CSSPropertyParser::parseShorthand): Ditto.

  • page/scrolling/AxisScrollSnapOffsets.cpp: Ditto.

(WebCore::updateSnapOffsetsForScrollableArea): Ditto.

  • rendering/style/RenderStyle.cpp: Ditto.

(WebCore::RenderStyle::scrollMargin const): Ditto.
(WebCore::RenderStyle::scrollMarginTop const): Ditto.
(WebCore::RenderStyle::scrollMarginBottom const): Ditto.
(WebCore::RenderStyle::scrollMarginLeft const): Ditto.
(WebCore::RenderStyle::scrollMarginRight const): Ditto.
(WebCore::RenderStyle::setScrollMarginTop): Ditto.
(WebCore::RenderStyle::setScrollMarginBottom): Ditto.
(WebCore::RenderStyle::setScrollMarginLeft): Ditto.
(WebCore::RenderStyle::setScrollMarginRight): Ditto.
(WebCore::RenderStyle::scrollSnapMargin const): Deleted.
(WebCore::RenderStyle::scrollSnapMarginTop const): Deleted.
(WebCore::RenderStyle::scrollSnapMarginBottom const): Deleted.
(WebCore::RenderStyle::scrollSnapMarginLeft const): Deleted.
(WebCore::RenderStyle::scrollSnapMarginRight const): Deleted.
(WebCore::RenderStyle::setScrollSnapMarginTop): Deleted.
(WebCore::RenderStyle::setScrollSnapMarginBottom): Deleted.
(WebCore::RenderStyle::setScrollSnapMarginLeft): Deleted.
(WebCore::RenderStyle::setScrollSnapMarginRight): Deleted.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::initialScrollMargin): Added to reflect new name.
(WebCore::RenderStyle::initialScrollSnapMargin): Deleted.

  • rendering/style/StyleScrollSnapPoints.cpp: Changes to reflect new name.

(WebCore::StyleScrollSnapArea::StyleScrollSnapArea): Ditto.

  • rendering/style/StyleScrollSnapPoints.h: Ditto.

(WebCore::operator==): Ditto.

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Update results for this test.
1:29 PM Changeset in webkit [268888] by Russell Epstein
  • 2 edits in branches/safari-610.2.11.51-branch/Source/WebKit

Cherry-pick r268377. rdar://problem/70320656

Unreviewed build fix after r268367.

  • Configurations/WebKit.xcconfig: Corrected the definition of WK_PDFKIT_LDFLAGS_maccatalyst.

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

1:29 PM Changeset in webkit [268887] by Russell Epstein
  • 4 edits in branches/safari-610.2.11.51-branch/Source

Cherry-pick r268367. rdar://problem/70320656

[macCatalyst] Enable WKPDFView
https://bugs.webkit.org/show_bug.cgi?id=217403
<rdar://problem/48217791>

Reviewed by Tim Horton.

Source/WebKit:

  • Configurations/WebKit.xcconfig: Linked PDFKit.framework when building for the Catalyst variant on Big Sur or later.

Source/WTF:

  • wtf/PlatformEnableCocoa.h: Enabled WKPDFView when building for the Catalyst variant on Big Sur or later.

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

1:20 PM Changeset in webkit [268886] by Noam Rosenthal
  • 24 edits
    37 adds in trunk

LayoutTests/imported/w3c:
Support EXIF image resolution in CoreGraphics (macOS/iOS)
https://bugs.webkit.org/show_bug.cgi?id=217820

Reviewed by Darin Adler.

Imported density-size-correction tests

  • resources/import-expectations.json:
  • web-platform-tests/density-size-correction: Added.
  • web-platform-tests/density-size-correction/density-corrected-image-in-canvas-expected.txt: Added.
  • web-platform-tests/density-size-correction/density-corrected-image-in-canvas.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-image-svg-aspect-ratio-expected.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-image-svg-aspect-ratio.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-image-svg-expected.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-image-svg.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-natural-size-expected.txt: Added.
  • web-platform-tests/density-size-correction/density-corrected-natural-size.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-size-bg-expected.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-size-bg.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-size-img-expected.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-size-img.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-size-pseudo-elements-expected.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-size-pseudo-elements.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-various-elements-expected.html: Added.
  • web-platform-tests/density-size-correction/density-corrected-various-elements.html: Added.
  • web-platform-tests/density-size-correction/resources: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-no-change.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-none.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-preapplied-hires.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-preapplied-lores.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-preapplied-non-uniform.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-valid-hires.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-valid-lores.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-valid-non-uniform.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exif-resolution-with-orientation.jpg: Added.
  • web-platform-tests/density-size-correction/resources/exify.js: Added.

(createImageWithMetadata):

  • web-platform-tests/density-size-correction/resources/w3c-import.log: Added.
  • web-platform-tests/density-size-correction/third_party: Added.
  • web-platform-tests/density-size-correction/third_party/piexif: Added.
  • web-platform-tests/density-size-correction/third_party/piexif/LICENSE.txt: Added.
  • web-platform-tests/density-size-correction/third_party/piexif/piexif.js: Added.

(that.remove):
(that.insert):
(that.load):
(that.dump):
(copy):
(_get_thumbnail):
(_pack_byte):
(_pack_short):
(_pack_long):
(_value_to_bytes):
(_dict_to_bytes):
(ExifReader):
(ExifReader.prototype.get_ifd):
(ExifReader.prototype.convert_value):
(typeof.btoa.string_appeared_here.btoa):
(typeof.atob.string_appeared_here.atob):
(getImageSize):
(pack):
(unpack):
(nStr):
(splitIntoSegments):
(getExifSeg):
(mergeSegments):
(toHex):
(that.GPSHelper.degToDmsRational):
(that.GPSHelper.dmsRationalToDeg):

  • web-platform-tests/density-size-correction/third_party/piexif/w3c-import.log: Added.
  • web-platform-tests/density-size-correction/w3c-import.log: Added.

Source/WebCore:
Support EXIF image resolution in CoreGraphics (macOS/iOS)
https://bugs.webkit.org/show_bug.cgi?id=217820

Reviewed by Darin Adler.

Spec: https://github.com/whatwg/html/pull/5574

Read EXIF resolution/preferred size from image in decoder using CoreGraphics methods.
Separate between image size and sourceSize(), the latter should only be used for accessing the
actual pixels of the stored image.

Imported relevant w3c tests.

Tests: imported/w3c/web-platform-tests/density-size-correction/density-corrected-image-in-canvas.html

imported/w3c/web-platform-tests/density-size-correction/density-corrected-image-svg-aspect-ratio.html
imported/w3c/web-platform-tests/density-size-correction/density-corrected-image-svg.html
imported/w3c/web-platform-tests/density-size-correction/density-corrected-natural-size.html
imported/w3c/web-platform-tests/density-size-correction/density-corrected-size-bg.html
imported/w3c/web-platform-tests/density-size-correction/density-corrected-size-img.html
imported/w3c/web-platform-tests/density-size-correction/density-corrected-size-pseudo-elements.html
imported/w3c/web-platform-tests/density-size-correction/density-corrected-various-elements.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImageSourceHelper):

Similar to orientation, draw into a buffer before uploading to WebGL also when the image
has a density corrected size.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::preTransformedNativeImageForCurrentFrame):

Apply density-correction when pre-transforming image for tile drawing.

(WebCore::BitmapImage::draw):

Correct the source-rect when drawing the image.

(WebCore::BitmapImage::nativeImageForCurrentFrameRespectingOrientation): Deleted.

Renamed to preTransformedNativeImageForCurrentFrame.

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:

(WebCore::Image::sourceSize const):
(WebCore::Image::hasDensityCorrectedSize const):
(WebCore::Image::preTransformedNativeImageForCurrentFrame):
(WebCore::Image::nativeImageForCurrentFrameRespectingOrientation): Deleted.

Expose hasDensityCorrectedSize and sourceSize (for WebGL) and

  • platform/graphics/ImageDecoder.h:

(WebCore::ImageDecoder::frameDensityCorrectedSizeAtIndex const):

  • platform/graphics/ImageFrame.h:

(WebCore::ImageFrame::setDensityCorrectedSize):
(WebCore::ImageFrame::densityCorrectedSize const):

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::cacheMetadataAtIndex):
(WebCore::ImageSource::densityCorrectedSize):
(WebCore::ImageSource::size):
(WebCore::ImageSource::sourceSize):

  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::hasDensityCorrectedSize):

Expose existence of densityCorrectedSize in Image{Decoder|Source|Frame}.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawPattern):

Handle nativeImageForCurrentFrameRespectingOrientation rename.

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::createImageSourceMetadataOptions):
(WebCore::densityCorrectedSizeFromProperties):
(WebCore::ImageDecoderCG::hotSpot const):
(WebCore::ImageDecoderCG::frameDensityCorrectedSizeAtIndex const):
(WebCore::ImageDecoderCG::createFrameImageAtIndex):

  • platform/graphics/cg/ImageDecoderCG.h:
  • platform/image-decoders/ScalableImageDecoder.h:

Decode image resolution from image metadata.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ImageResolution.h:
  • platform/graphics/ImageResolution.cpp:

Added.

LayoutTests:
Support EXIF image resolution in CoreGraphics (OSX/iOS)
https://bugs.webkit.org/show_bug.cgi?id=217820

Reviewed by Darin Adler.

For now, expect image failure in tests that require fuzzy matching.
The tests pass manually. There is an open bug for fuzzy matching.

  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wpe/TestExpectations:

Disable this feature for platforms where it's not yet supported.

1:09 PM Changeset in webkit [268885] by Devin Rousso
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r266074): Sources: icon for non-JavaScript breakpoints doesn't change when breakpoints are globally disabled
https://bugs.webkit.org/show_bug.cgi?id=218064

Reviewed by Joseph Pecoraro.

  • UserInterface/Models/Breakpoint.js:

(WI.Breakpoint.prototype.get resolved): Added.

  • UserInterface/Models/JavaScriptBreakpoint.js:

(WI.JavaScriptBreakpoint.prototype.get resolved):
Add get resolved to the base class based on WI.debuggerManager.breakpointsEnabled. Use
it in the subclass as part of the result.

  • UserInterface/Views/BreakpointTreeElement.js:

(WI.BreakpointTreeElement.prototype.updateStatus):
(WI.BreakpointTreeElement.prototype._dataUpdated):

  • UserInterface/Views/BreakpointTreeElement.css:

(.item.breakpoint .status > .status-image:not(.resolved)): Added.

  • UserInterface/Views/JavaScriptBreakpointTreeElement.css:

(.item.breakpoint.javascript .status > .status-image): Deleted.
(.item.breakpoint.javascript .status > .status-image.resolved): Deleted.

  • UserInterface/Views/JavaScriptBreakpointTreeElement.js:

(WI.JavaScriptBreakpointTreeElement.prototype.updateStatus): Deleted.
Eliminate unnecessary protected function now that all breakpoints have a get resolved.
Drive-by: inline CSS class name constants.

12:31 PM Changeset in webkit [268884] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GTK] Rebaseline fast/repaint/focus-ring-repaint.html after r268862

Unreviewed test gardening.

  • platform/gtk/fast/repaint/focus-ring-repaint-expected.txt:
12:16 PM Changeset in webkit [268883] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebKit

IPC testing API should have the capability to observe messages being sent and received
https://bugs.webkit.org/show_bug.cgi?id=217870

Unreviewed ASAN release build fix.

  • Platform/IPC/JSIPCBinding.cpp:
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSMessageListener::JSMessageListener):

12:16 PM Changeset in webkit [268882] by Alan Coon
  • 8 edits in branches/safari-610.2.11.51-branch/Source

Versioning.

WebKit-7610.2.11.51.5

12:12 PM Changeset in webkit [268881] by Lauro Moura
  • 1 edit
    1 add in trunk/LayoutTests

[GTK] Add media/context-menu-actions baseline after r268865.

Unreviewed test gardening.

r268865 changed this test to use set isChangingPresentationMode, which
is not yet supported in GTK. Instead of skipping all test, update the
baseline to keep testing the other assertions.

  • platform/gtk/media/context-menu-actions-expected.txt: Added.
11:51 AM Changeset in webkit [268880] by aakash_jain@apple.com
  • 5 edits in trunk/Tools

[webkitpy] Rename slave to worker in perftestsrunner
https://bugs.webkit.org/show_bug.cgi?id=218082

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args): Supporting both --slave-config-json-path and --worker-config-json-path for now.
(_generate_results):
(_merge_worker_config_json):
(_merge_slave_config_json): Deleted.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.test_parse_args):
(MainTest.test_parse_deprecated_args): Added unit-test for deprecated parameter.

  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(RunAndUploadPerfTests):

11:47 AM Changeset in webkit [268879] by Jonathan Bedard
  • 5 edits in trunk/Tools

Few webkitpy tests fail for machines in non-PST timezones
https://bugs.webkit.org/show_bug.cgi?id=218079
<rdar://problem/70579517>

Reviewed by Aakash Jain.

  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
  • Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:

(TestGit.test_info):

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:

(TestSvn.test_info):

11:36 AM Changeset in webkit [268878] by eric.carlson@apple.com
  • 7 edits
    1 add in trunk

UIClient isn't notified when page muted state changes
https://bugs.webkit.org/show_bug.cgi?id=218085
<rdar://problem/70462420>

Reviewed by Youenn Fablet.

Source/WebKit:

API test: WKWebView.MediaMuted

  • UIProcess/API/C/WKPage.cpp:

(WKPageGetMediaState): reportedMediaCaptureState -> reportedMediaState.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mediaCaptureState]): Ditto.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateReportedMediaCaptureState): Only record current capture
state in m_reportedMediaCaptureState. m_delayStopCapturingReporting isn't necessary,
remove it.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::reportedMediaState const): Renamed from reportedMediaCaptureState
to reflect what it returns.
(WebKit::WebPageProxy::mediaStateFlags const): Deleted.
(WebKit::WebPageProxy::reportedMediaCaptureState const): Deleted.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
  • TestWebKitAPI/Tests/WebKitCocoa/MediaMutedState.mm: Added.

(-[AudioStateObserver initWithWebView:]):
(-[AudioStateObserver observeValueForKeyPath:ofObject:change:context:]):
(-[AudioStateTestView setMuted:]):
(TestWebKitAPI::TEST):

11:26 AM Changeset in webkit [268877] by Alan Coon
  • 3 edits in branches/safari-611.1.4-branch/Source/WebCore

Revert r268483. rdar://problem/70578639

11:26 AM Changeset in webkit [268876] by Alan Coon
  • 17 edits
    10 deletes in branches/safari-611.1.4-branch

Revert r268615. rdar://problem/70578639

11:26 AM Changeset in webkit [268875] by Alan Coon
  • 7 edits in branches/safari-611.1.4-branch

Revert r268616. rdar://problem/70578639

11:26 AM Changeset in webkit [268874] by Alan Coon
  • 7 edits in branches/safari-611.1.4-branch

Revert r268746. rdar://problem/70578639

11:26 AM Changeset in webkit [268873] by Alan Coon
  • 4 edits
    2 deletes in branches/safari-611.1.4-branch

Revert r268771. rdar://problem/70578639

11:06 AM Changeset in webkit [268872] by youenn@apple.com
  • 9 edits
    3 adds in trunk

Introduce worklet destinations and allow to fetch modules with CORS based on destination
https://bugs.webkit.org/show_bug.cgi?id=218019
<rdar://problem/70526201>

Reviewed by Chris Dumez.

Source/WebCore:

Add support for audioworklet and paintworklet fetch destinations.
In case of those destinations, use cors mode instead of same-origin mode when fetching worklet top level module.

Test: http/wpt/webaudio/audioworklet-addModule-cors.sub.https.html

  • Modules/fetch/FetchRequest.idl:
  • loader/FetchOptions.h:

(WebCore::isScriptLikeDestination):

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadAsynchronously):

  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::processNextScriptFetchJobIfNeeded):

Source/WebKit:

Add support to new fetch destinations in enumerations.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::resourceLoadInfo):

LayoutTests:

  • http/wpt/webaudio/audioworklet-addModule-cors.sub.https-expected.txt: Added.
  • http/wpt/webaudio/audioworklet-addModule-cors.sub.https.html: Added.
  • http/wpt/webaudio/resources/dummy-worklet.py: Added.

(main):
(DummyProcessor):

10:45 AM Changeset in webkit [268871] by rmorisset@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Use operand names when dumping Bytecode
https://bugs.webkit.org/show_bug.cgi?id=218084

Reviewed by Saam Barati.

For example this would output the following:

[ 258] put_to_scope scope:loc7, var:3, value:loc8, getPutInfo:1048576<DoNotThrowIfNotFound|GlobalProperty|Initialization|NotStrictMode>, symbolTableOrScopeDepth:0, offset:0

instead of

[ 258] put_to_scope loc7, 3, loc8, 1048576<DoNotThrowIfNotFound|GlobalProperty|Initialization|NotStrictMode>, 0, 0

  • bytecode/BytecodeDumper.h:

(JSC::BytecodeDumperBase::dumpOperand):

  • generator/Opcode.rb:
10:31 AM Changeset in webkit [268870] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Detect unrecognized options in build-jsc
https://bugs.webkit.org/show_bug.cgi?id=218077

Patch by Angelos Oikonomopoulos <Angelos Oikonomopoulos> on 2020-10-22
Reviewed by Yusuke Suzuki.

Currently, Getopt::Long is configured with pass_through, in order to
be able to forward arbitrary arguments in buildMyProject. However, that
means that typos in option names (e.g. using --cmake-args instead of
--cmakeargs) go undetected and the option is silently ignored.

For cmake builds, there is no such forwarding, so check that there are
no remaining arguments in ARGV and refuse to continue if so. This runs
the risk of breaking wrapper scripts that incorrectly pass unrecognized
options, but that seems like a good thing.

  • Scripts/build-jsc:
9:47 AM Changeset in webkit [268869] by don.olmstead@sony.com
  • 3 edits
    14 copies
    5 adds in trunk/Source/WebCore

[WebGPU] Add Dawn implementation skeleton
https://bugs.webkit.org/show_bug.cgi?id=217982

Reviewed by Myles C. Maxfield.

Add an empty implementation of the WebGPU types. This gets WebGPU built and linking
using Dawn.

  • PlatformWinCairo.cmake:
  • platform/Dawn.cmake: Added.
  • platform/graphics/gpu/GPUPlatformTypes.h:
  • platform/graphics/gpu/dawn/GPUBindGroupAllocatorDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUBindGroupAllocator::create):
(WebCore::GPUBindGroupAllocator::GPUBindGroupAllocator):
(WebCore::GPUBindGroupAllocator::reallocate):
(WebCore::GPUBindGroupAllocator::tryReset):

  • platform/graphics/gpu/dawn/GPUBindGroupDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUBindGroup::tryCreate):
(WebCore::GPUBindGroup::GPUBindGroup):
(WebCore::GPUBindGroup::~GPUBindGroup):

  • platform/graphics/gpu/dawn/GPUBindGroupLayoutDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUBindGroupLayout::tryCreate):

  • platform/graphics/gpu/dawn/GPUBufferDawn.cpp: Added.

(WebCore::GPUBuffer::tryCreate):
(WebCore::GPUBuffer::GPUBuffer):
(WebCore::GPUBuffer::~GPUBuffer):
(WebCore::GPUBuffer::isReadOnly const):
(WebCore::GPUBuffer::state const):
(WebCore::GPUBuffer::mapOnCreation):
(WebCore::GPUBuffer::registerMappingCallback):
(WebCore::GPUBuffer::runMappingCallback):
(WebCore::GPUBuffer::stagingBufferForRead):
(WebCore::GPUBuffer::stagingBufferForWrite):
(WebCore::GPUBuffer::copyStagingBufferToGPU):
(WebCore::GPUBuffer::unmap):
(WebCore::GPUBuffer::destroy):

  • platform/graphics/gpu/dawn/GPUCommandBufferDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUCommandBuffer::tryCreate):
(WebCore::GPUCommandBuffer::GPUCommandBuffer):
(WebCore::GPUCommandBuffer::copyBufferToBuffer):
(WebCore::GPUCommandBuffer::copyBufferToTexture):
(WebCore::GPUCommandBuffer::copyTextureToBuffer):
(WebCore::GPUCommandBuffer::copyTextureToTexture):

  • platform/graphics/gpu/dawn/GPUComputePassEncoderDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUComputePassEncoder::tryCreate):
(WebCore::GPUComputePassEncoder::GPUComputePassEncoder):
(WebCore::GPUComputePassEncoder::setPipeline):
(WebCore::GPUComputePassEncoder::dispatch):
(WebCore::GPUComputePassEncoder::platformPassEncoder const):

  • platform/graphics/gpu/dawn/GPUComputePipelineDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUComputePipeline::tryCreate):
(WebCore::GPUComputePipeline::recompile):

  • platform/graphics/gpu/dawn/GPUDeviceDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUDevice::tryCreate):
(WebCore::GPUDevice::GPUDevice):

  • platform/graphics/gpu/dawn/GPUPlatformTypesDawn.h: Added.

(WebCore::HandleDeleter<PlatformBuffer>::operator()):
(WebCore::HandleDeleter<PlatformCommandBuffer>::operator()):
(WebCore::HandleDeleter<PlatformComputePassEncoder>::operator()):
(WebCore::HandleDeleter<PlatformComputePipeline>::operator()):
(WebCore::HandleDeleter<PlatformDevice>::operator()):
(WebCore::HandleDeleter<PlatformDrawable>::operator()):
(WebCore::HandleDeleter<PlatformProgrammablePassEncoder>::operator()):
(WebCore::HandleDeleter<PlatformQueue>::operator()):
(WebCore::HandleDeleter<PlatformRenderPassEncoder>::operator()):
(WebCore::HandleDeleter<PlatformRenderPipeline>::operator()):
(WebCore::HandleDeleter<PlatformSampler>::operator()):
(WebCore::HandleDeleter<PlatformShaderModule>::operator()):
(WebCore::HandleDeleter<PlatformSwapLayer>::operator()):
(WebCore::HandleDeleter<PlatformTexture>::operator()):

  • platform/graphics/gpu/dawn/GPUProgrammablePassEncoderDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUProgrammablePassEncoder::endPass):
(WebCore::GPUProgrammablePassEncoder::setBindGroup):

  • platform/graphics/gpu/dawn/GPUQueueDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUQueue::tryCreate):
(WebCore::GPUQueue::GPUQueue):
(WebCore::GPUQueue::submit):
(WebCore::GPUQueue::label const):
(WebCore::GPUQueue::setLabel const):

  • platform/graphics/gpu/dawn/GPURenderPassEncoderDawn.cpp: Added.

(WebCore::GPURenderPassEncoder::tryCreate):
(WebCore::GPURenderPassEncoder::GPURenderPassEncoder):
(WebCore::GPURenderPassEncoder::platformPassEncoder const):
(WebCore::GPURenderPassEncoder::setPipeline):
(WebCore::GPURenderPassEncoder::setBlendColor):
(WebCore::GPURenderPassEncoder::setViewport):
(WebCore::GPURenderPassEncoder::setScissorRect):
(WebCore::GPURenderPassEncoder::setIndexBuffer):
(WebCore::GPURenderPassEncoder::setVertexBuffers):
(WebCore::GPURenderPassEncoder::draw):
(WebCore::GPURenderPassEncoder::drawIndexed):

  • platform/graphics/gpu/dawn/GPURenderPipelineDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPURenderPipeline::tryCreate):
(WebCore::GPURenderPipeline::recompile):

  • platform/graphics/gpu/dawn/GPUSamplerDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUSampler::tryCreate):
(WebCore::GPUSampler::GPUSampler):

  • platform/graphics/gpu/dawn/GPUShaderModuleDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUShaderModule::tryCreate):
(WebCore::GPUShaderModule::GPUShaderModule):

  • platform/graphics/gpu/dawn/GPUSwapChainDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUSwapChain::tryCreate):
(WebCore::GPUSwapChain::GPUSwapChain):
(WebCore::GPUSwapChain::tryGetCurrentTexture):
(WebCore::GPUSwapChain::present):
(WebCore::GPUSwapChain::reshape):
(WebCore::GPUSwapChain::platformLayer const):

  • platform/graphics/gpu/dawn/GPUTextureDawn.cpp: Copied from Source/WebCore/platform/graphics/gpu/GPUPlatformTypes.h.

(WebCore::GPUTexture::tryCreate):
(WebCore::GPUTexture::create):
(WebCore::GPUTexture::GPUTexture):
(WebCore::GPUTexture::tryCreateDefaultTextureView):

9:23 AM Changeset in webkit [268868] by Chris Dumez
  • 8 edits in trunk/Source/WebCore

Turn ScriptExecutionContext::vm() into a pure virtual function
https://bugs.webkit.org/show_bug.cgi?id=218057

Reviewed by Geoffrey Garen.

Turn ScriptExecutionContext::vm() into a pure virtual function instead of using a
non-virtual function that does type-checking inside.

  • dom/Document.cpp:

(WebCore::Document::vm):

  • dom/Document.h:
  • dom/EmptyScriptExecutionContext.h:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::vm): Deleted.

  • dom/ScriptExecutionContext.h:
  • workers/WorkerOrWorkletGlobalScope.cpp:

(WebCore::WorkerOrWorkletGlobalScope::vm):

  • workers/WorkerOrWorkletGlobalScope.h:
9:01 AM Changeset in webkit [268867] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Elements in Shadow DOM are wrongly marked as stale by the WebDriver
https://bugs.webkit.org/show_bug.cgi?id=217635

Patch by Nitzan Uziely <linkgoron@gmail.com> on 2020-10-22
Reviewed by Brian Burg.

Source/WebDriver:

Changed stale checking, to check if the root node is the document element,
instead of document.contains which doesn't work for elements in Shadow DOM.

  • Session.cpp:

(WebDriver::Session::elementSendKeys):

Source/WebKit:

Fixed the focus script to work for elements in Shadow DOM
instead of declaring them as not interactable.

  • WebProcess/Automation/WebAutomationSessionProxy.js:

(let.AutomationSessionProxy.prototype._clearStaleNodes):
(let.AutomationSessionProxy):

8:55 AM Changeset in webkit [268866] by Aditya Keerthi
  • 10 edits
    2 adds in trunk

[iOS] Prevent presentation of input peripherals when focusing form controls with a validation message
https://bugs.webkit.org/show_bug.cgi?id=218004
<rdar://problem/70507678>

Reviewed by Wenson Hsieh.

Source/WebCore:

Added isFocusingWithValidationMessage() to HTMLFormControlElement so
that the state can be encoded in FocusedElementInformation and sent to
the UIProcess.

See WebKit Changelog for more information.

Test: fast/forms/ios/input-peripherals-with-validation-message.html

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::isFocusingWithValidationMessage const):
(WebCore::HTMLFormControlElement::focusAndShowValidationMessage):

  • html/HTMLFormControlElement.h:

Source/WebKit:

Interactive form validation can result in the presentation of a
validation message bubble near the first form control that has invalid
data. Prior to displaying the message, the invalid control is focused.
On iOS, this also has the effect of also presenting a virtual keyboard
or another custom input peripheral, such as a context menu for date
inputs.

Attempting to present both the validation message and custom input
peripheral can leave the view in an inconsistent state. For example,
<select> popovers have a strange flashing behavior when presented
alongside a validation message, and context menus can fail to present
entirely.

In order to address these issues, we should never attempt to present
both a validation message and an input peripheral. Instead, we can
prevent the presentation of input peripherals when the focused control
is presenting a validation message. This behavior matches macOS. Note
that we still present the keyboard for controls that have a keyboard
view, since the keyboard area does overlap the area where a validation
message is presented.

  • Shared/FocusedElementInformation.cpp:

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

  • Shared/FocusedElementInformation.h:

Added isFocusingWithValidationMessage to the struct, so that the UIProcess
knows that the element gained focus due to the presentation of a
validation message.

  • UIProcess/ios/WKContentViewInteraction.mm:

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

Prevent an input view from being shown if the control does not present
a keyboard and was focused with a validation message.

(-[WKContentView _elementDidBlur]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getFocusedElementInformation):

LayoutTests:

Added a test which verifies that focusing on a date input as a result
of presenting a validation message, successfully presents the message,
and does not present a context menu. The test also ensures that controls
that present a keyboard, such as text inputs, present both the message
and the keyboard.

  • fast/forms/ios/input-peripherals-with-validation-message-expected.txt: Added.
  • fast/forms/ios/input-peripherals-with-validation-message.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.isShowingPopover):

8:22 AM Changeset in webkit [268865] by Peng Liu
  • 33 edits in trunk

Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone
https://bugs.webkit.org/show_bug.cgi?id=216426

Reviewed by Jer Noble.

Source/WebCore:

This patch moves m_changingVideoFullscreenMode of HTMLVideoElement to HTMLMediaElement.
The flag is used to protect interfaces regarding video presentation mode changes.
It also guards the code path when we use element fullscreen to implement video
fullscreen (VIDEO_USES_ELEMENT_FULLSCREEN). It is better to store the flag in
HTMLMediaElement to have fine control.

This patch reverts the changing regarding HTMLVideoElement::webkitDisplayingFullscreen
in r262456. This function will return true in the same run loop as a
webkitpresentationmodechanged event is fired when a video element is entering
fullscreen or picture-in-picture.

Also, this patch adds Internals::isChangingPresentationMode which can be used by
layout tests to check whether a video presentation mode change is completed.

Covered by existing tests.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::isFullscreen const): Align the implementation
with isStandardFullscreen().
(WebCore::HTMLMediaElement::enterFullscreen): Set m_changingVideoFullscreenMode to true
if the video element is changing presentation mode. Also fix a bug about the
flag m_waitingToEnterFullscreen.
(WebCore::HTMLMediaElement::exitFullscreen): Ditto.
(WebCore::HTMLMediaElement::didBecomeFullscreenElement): Ditto.
(WebCore::HTMLMediaElement::didStopBeingFullscreenElement): Ditto.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::setChangingVideoFullscreenMode):
(WebCore::HTMLMediaElement::isChangingVideoFullscreenMode const):
(WebCore::HTMLMediaElement::waitingToEnterFullscreen): Deleted.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Revert the change
in r262456. Some web sites expect this function to return true if the video element
is entering fullscreen and the event webkitpresentationmodechanged is fired.
(WebCore::HTMLVideoElement::setPresentationMode): Remove code regarding m_isChangingVideoFullscreenMode.
(WebCore::HTMLVideoElement::didEnterFullscreenOrPictureInPicture): Fix an event firing issue when
a video element is entering fullscreen while exiting picture-in-picture.
(WebCore::HTMLVideoElement::didExitFullscreenOrPictureInPicture): Fix an event firing issue when
a video element is exiting picture-in-picture.
(WebCore::HTMLVideoElement::isChangingPresentationMode const): This interface
is used by layout tests (through Internals) to check whether a video presentation
mode change is completed.
(WebCore::HTMLVideoElement::didBecomeFullscreenElement): Deleted.

  • html/HTMLVideoElement.h:
  • testing/Internals.cpp:

(WebCore::Internals::isChangingPresentationMode const): This interface is used
by layout tests to check whether a video presentation mode change is completed.

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

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:

(TEST):
Use internals.isChangingPresentationMode() to make sure a video presentation mode
change (from inline to picture-in-picture) is completed before moving to the next
step of the test.

LayoutTests:

Check Internals::isChangingPresentationMode instead of HTMLVideoElement::webkitDisplayingFullscreen
to confirm the video presentation mode change is completed before moving to the next step of a test.

  • http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast-expected.txt:
  • http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html:
  • media/context-menu-actions.html:
  • media/media-fullscreen-loop-inline-expected.txt:
  • media/media-fullscreen-loop-inline.html:
  • media/media-fullscreen-pause-inline-expected.txt:
  • media/media-fullscreen-pause-inline.html:
  • media/media-fullscreen-return-to-inline-expected.txt:
  • media/media-fullscreen-return-to-inline.html:
  • media/presentationmodechanged-fired-once-expected.txt:
  • media/presentationmodechanged-fired-once.html:
  • media/video-fullscreen-only-playback-expected.txt:
  • media/video-fullscreen-only-playback.html:
  • media/video-playsinline-expected.txt:
  • media/video-playsinline.html:
  • media/video-presentation-mode-expected.txt:
  • media/video-presentation-mode.html:
  • media/video-webkit-playsinline-expected.txt:
  • media/video-webkit-playsinline.html:
  • platform/mac/TestExpectations:
7:43 AM Changeset in webkit [268864] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Handle line box sizing quirks at the line box level
https://bugs.webkit.org/show_bug.cgi?id=218060

Reviewed by Antti Koivisto.

In this patch the line box vertical sizing behavior (mostly quirk) is moved from the inline box to the line box level.

  1. Inline boxes (root and other inline boxes (<span>)) are always sized to their initial height (see layout bounds) regardless of

whether they have content or not.

  1. They are set to empty initially and we change them to non-empty as they gain (non-inline-level-box) content

(e.g. <div>root inline box gains content</div>).

  1. Use this empty flag as input to the line box vertical sizing logic (only non-empty inline boxes contribute to the line box height).

Note that in standard mode the root inline box starts with an imaginary strut which makes it non-empty even when it has no content.
This is most visible with simple block containers like this:

<div style="border: 1px solid green"><img></div>

In quirks mode the border hugs the image (root inline box does not contribute to the height of the line box), while in standard mode
(assume 1. the image is taller than the default font with line spacing, 2. font has 4px descent),
there's a 4px gap between the border and the image.

  1. While computing the final line rect (InlineFormattingContext::Geometry::computedLineLogicalRect), just rely on the line box height

computation (no need to check whether the line has content).

  1. Treat <br> as visually non-empty run as it may contribute to the line box visually.
  2. Add <br> quirk behavior so that it only contributes to the line box height when the line is empty.
  • layout/inlineformatting/InlineFormattingContext.h:
  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::alignInlineLevelBoxesVerticallyAndComputeLineBoxHeight):
(WebCore::Layout::InlineFormattingContext::Geometry::computedLineLogicalRect const):

  • layout/inlineformatting/InlineFormattingContextQuirks.cpp:

(WebCore::Layout::InlineFormattingContext::Quirks::shouldInlineLevelBoxStretchLineBox const):

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::isRunVisuallyNonEmpty const):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::InlineLevelBox::verticalAlign const):

6:40 AM Changeset in webkit [268863] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

[Flatpak SDK] Backport GStreamer device monitor patch
https://bugs.webkit.org/show_bug.cgi?id=218021

Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-22
Reviewed by Adrian Perez de Castro.

Backport of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/679 to be shipped in 1.20.
This is needed to prevent false-positive critical warnings on the bots. See #217959.

  • buildstream/elements/sdk/gstreamer.bst:
  • buildstream/patches/gstreamer-0001-devicemonitor-Stop-only-the-already-started-provider.patch: Added.
6:22 AM Changeset in webkit [268862] by Antti Koivisto
  • 4 edits in trunk

[LFC][Integration] Lines with outline should be marked having visual overflow
https://bugs.webkit.org/show_bug.cgi?id=218071

Reviewed by Zalan Bujtas.

Source/WebCore:

Seen in fast/repaint/focus-ring-repaint.html

We may fail to paint newly added outlines correctly. This is a legacy line layout bug exposed by IFC integration.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):

Mark when adding content to line.

LayoutTests:

  • fast/repaint/focus-ring-repaint-expected.txt:
6:02 AM Changeset in webkit [268861] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GLIB][GTK] Unreviewed test gardening. Gardened some of the latest flaky failures.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
5:41 AM Changeset in webkit [268860] by cathiechen
  • 12 edits
    1 copy
    2 adds in trunk

ResizeObserver is not properly garbage collected
https://bugs.webkit.org/show_bug.cgi?id=215158

Reviewed by Frédéric Wang.

Source/WebCore:

If ResizeObservers are referenced inside ResizeObserverCallbacks, they are not garbage collected properly. To fix this,
add IsWeakCallback to ResizeObserverCallback interface so that it uses JSC::Weak to store the callback. And add the callback
to visitor in JSResizeObserver::visitAdditionalChildren() to keep it alive. In order to test ResizeObserver leak, add test interface
numberOfResizeObservers() to Internals.idl.

Test: resize-observer/resize-observer-callback-leak.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSResizeObserverCustom.cpp: Copied from Source/WebCore/page/ResizeObserverCallback.idl.

(WebCore::JSResizeObserver::visitAdditionalChildren): Add callback to SlotVisitor.

  • dom/Document.h:

(WebCore::Document::numberOfResizeObservers const):

  • page/ResizeObserver.h:

(WebCore::ResizeObserver::callback):

  • page/ResizeObserver.idl: Add JSCustomMarkFunction to the interface.
  • page/ResizeObserverCallback.h:
  • page/ResizeObserverCallback.idl: Add IsWeakCallback to the interface.
  • testing/Internals.cpp: Add numberOfResizeObservers.

(WebCore::Internals::numberOfResizeObservers const):

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

LayoutTests:

  • resize-observer/resize-observer-callback-leak-expected.txt: Added.
  • resize-observer/resize-observer-callback-leak.html: Added.
3:00 AM Changeset in webkit [268859] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Restrict ImageDecoder to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=218023

Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-22
Reviewed by Carlos Garcia Campos.

Ideally this decoder should operate only from the WebProcess (or from the GPUProcess) which
should be the only process where GStreamer has been runtime initialized. This is a step
towards a GStreamer-free GTK/WPE UIProcess.

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::supportsContainerType):
(WebCore::ImageDecoderGStreamer::canDecodeType):

2:42 AM Changeset in webkit [268858] by Carlos Garcia Campos
  • 6 edits in trunk

WebDriver: handle key events with non-ASCII unicode code point
https://bugs.webkit.org/show_bug.cgi?id=217950

Reviewed by Carlos Alberto Lopez Perez.

Source/WebKit:

We are assuming that key events are limited to ASCII, but they contain a unicode code point.

Fixes: imported/w3c/webdriver/tests/perform_actions/key_events.py::test_printable_key_sends_correct_events[\xe0-]

imported/w3c/webdriver/tests/perform_actions/key_events.py::test_printable_key_sends_correct_events[\u0416-]
imported/w3c/webdriver/tests/perform_actions/key_events.py::test_printable_key_sends_correct_events[\u2603-]
imported/w3c/webdriver/tests/perform_actions/key_events.py::test_printable_key_sends_correct_events[\uf6c2-]

  • UIProcess/Automation/SimulatedInputDispatcher.h: Use UChar32 instead of char for CharKey.
  • UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:

(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction): Handle Charkey as a unicode code point.

  • UIProcess/Automation/wpe/WebAutomationSessionWPE.cpp:

(WebKit::WebAutomationSession::platformSimulateKeyboardInteraction): Ditto.

WebDriverTests:

Remove expectations for tests that are now passing.

2:38 AM WebKitGTK/2.30.x edited by Philippe Normand
(diff)
2:36 AM Changeset in webkit [268857] by Carlos Garcia Campos
  • 24 edits
    1 add in trunk

Unreviewed. Update W3C WebDriver imported tests.

Tools:

Always connect to WebKitWebView::close even if the view is never made active.

  • MiniBrowser/gtk/BrowserWindow.c:

(browserWindowSwitchTab):
(browser_window_append_view):

WebDriverTests:

  • TestExpectations.json:
  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/client.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/android_weblayer.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome_android.py:
  • imported/w3c/tools/wptrunner/wptrunner/environment.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservodriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorwebdriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/protocol.py:
  • imported/w3c/tools/wptrunner/wptrunner/testdriver-extra.js:
  • imported/w3c/tools/wptrunner/wptrunner/testharnessreport.js:¡
  • imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/webdriver/tests/element_click/shadow_dom.py: Added.
  • imported/w3c/webdriver/tests/perform_actions/support/refine.py:
  • imported/w3c/webdriver/tests/print/printcmd.py:
  • imported/w3c/webdriver/tests/print/user_prompts.py:
12:32 AM Changeset in webkit [268856] by commit-queue@webkit.org
  • 21 edits in trunk

Scroll snap: don't create implicit snap points at scrollmin/scrollmax
https://bugs.webkit.org/show_bug.cgi?id=216882
<rdar://problem/69443288>

Patch by Martin Robinson <mrobinson@igalia.com> on 2020-10-22
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Update expectations for these tests.

  • web-platform-tests/css/css-scroll-snap/nested-scrollIntoView-snaps-expected.txt:
  • web-platform-tests/css/css-scroll-snap/snap-after-relayout/adding-only-snap-area-expected.txt:
  • web-platform-tests/css/css-scroll-snap/snap-after-relayout/changing-scroll-snap-align-expected.txt:
  • web-platform-tests/css/css-scroll-snap/snap-after-relayout/snap-to-different-targets-expected.txt:
  • web-platform-tests/css/css-scroll-snap/snap-area-capturing-remove-scroll-container-expected.txt:

Source/WebCore:

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateSnapOffsetsForScrollableArea): No longer call adjustmentForTextAutosizing and
only conditionally adjust the scroll area by the scroll offset, becauase mapping to container
coordinates only applies container scroll offsets in the case that the container is not a
ScrollView.
(WebCore::adjustAxisSnapOffsetsForScrollExtent): Deleted.

LayoutTests:

  • TestExpectations: Mark some tests as passing.
  • css3/scroll-snap/nested-elements-expected.txt: Update results to eliminate implicit stops.
  • css3/scroll-snap/scroll-snap-children-with-padding-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-children-with-scroll-snap-margin-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-children-with-transforms-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-elements-container-larger-than-children-rtl-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-offsets-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-offsets-rtl-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-positions-expected.txt: Ditto.
  • css3/scroll-snap/scroll-snap-with-scroll-padding-expected.txt: Ditto.
Note: See TracTimeline for information about the timeline view.