Timeline



Oct 17, 2020:

10:28 PM Changeset in webkit [268652] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/mac

REGRESSION (r25430): Fix -Wstring-concatenation warning from open source clang
<https://webkit.org/b/217884>

Reviewed by Alexey Proskuryakov.

  • WebView/WebPreferences.mm:

(cacheModelForMainBundle):

  • Add missing comma to fix unwanted string concatenation.
5:48 PM Changeset in webkit [268651] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Remove "lazy offset" optmization from Range to prepare to derive it from SimpleRange
https://bugs.webkit.org/show_bug.cgi?id=217878

Reviewed by Sam Weinig.

Rysouke has suggested that we change Range so it can derive from SimpleRange.
Specifically, AbstractRange will derive from SimpleRange, and both StaticRange
and Range will continue to derive from that, and almost all functions will be
non-virtual. Doing this means we will lose the likely-unimportant "lazy offset"
that Range has today, where boundary point offsets are only computed on demand.
This patch removes that optimization without changing anything else, so we can
do performance tests and bisecting on just this part of the change.

  • dom/RangeBoundaryPoint.h: Rename m_offset and m_childBefore and don't use

an Optional for the offset any more.

5:46 PM Changeset in webkit [268650] by Ross Kirsling
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed fix for r268640
https://bugs.webkit.org/show_bug.cgi?id=217883

It seems I made a late adjustment that test262 was unhappy with; this reverts just that line.

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):

4:43 PM Changeset in webkit [268649] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

REGRESSION (r191637): Fix -Wmisleading-indentation warnings in open source clang
<https://webkit.org/b/217882>

Reviewed by Tim Horton.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::accessibilityAttributeValue):

  • Fix indentation of source to match what it is doing.
1:33 PM Changeset in webkit [268648] by Darin Adler
  • 19 edits
    3 copies
    1 add in trunk

Add AbstractRange
https://bugs.webkit.org/show_bug.cgi?id=217846

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/dom/idlharness.window-expected.txt:

Updated test result for progression.

Source/WebCore:

This makes us more accurately match the DOM specification, makes Range
and StaticRange objects slightly bigger since they now have a virtual
table pointer, and makes the AbstractRange methods a bit slower to call
from JavaScript since they are backed by C++ virtual functions.

  • CMakeLists.txt: Added AbstractRange files.
  • DerivedSources-input.xcfilelist: Ditto.
  • DerivedSources-output.xcfilelist: Ditto.
  • DerivedSources.make: Ditto.
  • Headers.cmake: Ditto.
  • Sources.txt: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.

Also removed reference to non-existent JSAudioNodeCustom.cpp and moved
JSStaticRange file from the Events group into the Ranges group.

  • bindings/js/JSAbstractRangeCustom.cpp: Added.

(WebCore::toJS): Added. Just the default implementation. Would be
nice if we did not have to write this.
(WebCore::toJSNewlyCreated): Make either a StaticRange or Range
wrapper depending on whether this is a live range or not.

  • bindings/js/JSEventCustom.cpp: Removed lots of unneeded includes.

(WebCore::toJS): Stopped using "using namespace JSC".

  • bindings/js/WebCoreBuiltinNames.h: Added AbstractRange.
  • dom/AbstractRange.cpp: Added.

(WebCore::makeSimpleRange): Added.

  • dom/AbstractRange.h: Added.
  • dom/AbstractRange.idl: Added.
  • dom/Range.h: Changed to derive from AbstractRange instead of

from RefCounted. Also marked this final since it's now polymorphic.
Marked all the functions that override final as well, to check that
they correctly override the virtual functions in the base class.
Added private isLiveRange function override that returns true.
Added SPECIALIZE_TYPE_TRAITS_BEGIN/END so we can do is<Range>.

  • dom/Range.idl: Removed ImplementationLacksVTable. Added

JSGenerateToNativeObject. Inherit from AbstractRange.
Removed the 5 attribute getters that are now inherited from AbstractRange.

  • dom/StaticRange.h: Changed to derive from AbstractRange instead of

from RefCounted. Also marked this final since it's now polymorphic.
Added functions to override the ones from StaticRange, calling through
to the ones from SimpleRange (I thought there was a way to do this
with using, but I couldn't figure that out). Added private isLiveRange
function override that returns false. Added SPECIALIZE_TYPE_TRAITS_BEGIN/END
so we can do is<StaticRange>.

  • dom/StaticRange.idl: Removed EnabledBySetting=InputEvents since

this should now always be included. I think we should probably remove the
InputEvents setting now entirely. Removed ImplementationLacksVTable.
Added JSGenerateToNativeObject. Inherit from AbstractRange.
Removed all 5 attribute getters, which are now inherited from AbstractRange.

11:30 AM Changeset in webkit [268647] by weinig@apple.com
  • 6 edits
    4 adds in trunk/Source/WebKitLegacy

Source/WebKitLegacy:
[Preferences] Add infrastructure for generating preferences for Windows WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=217876

Reviewed by Simon Fraser.

  • PlatformWin.cmake:

Add generation of WebPreferences.

Source/WebKitLegacy/win:
[Preferences] Add infrastructure for generating preferences for WWindows WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=217876

Reviewed by Simon Fraser.

  • Scripts: Added.
  • Scripts/PreferencesTemplates: Added.
  • Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb: Added.
  • Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.cpp.erb: Added.

Adds mostly empty generated files to establish infrastructure for generation.

  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

  • WebView.h:

Adopt generated files, which currently don't do anything.

11:28 AM Changeset in webkit [268646] by weinig@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/mac

Convert preferences in WebPreferencesPrivate.h to use @property syntax to make them more manageable
https://bugs.webkit.org/show_bug.cgi?id=217877

Reviewed by Simon Fraser.

  • WebView/WebPreferencesPrivate.h:

Switch to using the @property syntax. No behavior change intended, just a cleanup.

10:00 AM Changeset in webkit [268645] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Incorrect inline level box geometry
https://bugs.webkit.org/show_bug.cgi?id=217875

Reviewed by Antti Koivisto.

While the generated runs have the correct geometry (they are painted at the correct position), the associated box
geometry is incorrect which results in broken render tree dumps and incorrect geometry related DOM values.
In this patch we use the correct LineBox API to get the InlineLevelBox's geometry (LineBox::InlineLevelBox::logicalRect is relative to the parent inline box and not relative to the line box).

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

7:36 AM Changeset in webkit [268644] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Atomic inline level box run height includes the vertical margin
https://bugs.webkit.org/show_bug.cgi?id=217873

Reviewed by Antti Koivisto.

RenderBox::setLocation takes the border box location. Let's not include the margin before value.
(Atomic inline level box runs include the margin box per spec, see https://www.w3.org/TR/css-inline-3/#line-layout)

  • layout/integration/LayoutIntegrationLineLayout.cpp:

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

7:20 AM Changeset in webkit [268643] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Remove redundant InlineFormattingContext::Geometry::LineRectAndLineBoxOffset
https://bugs.webkit.org/show_bug.cgi?id=217872

Reviewed by Antti Koivisto.

After webkit.org/b/217832, the line box offset is always 0 (line space offsetting has moved to the inline box alignment).

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

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

(WebCore::Layout::InlineFormattingContext::Geometry::computedLineLogicalRect const):

6:30 AM Changeset in webkit [268642] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Introduce layout bounds based vertical alignment
https://bugs.webkit.org/show_bug.cgi?id=217832

Reviewed by Antti Koivisto.

This patch introduces the layout bounds concept on the inline boxes.
It help with implementing https://www.w3.org/TR/css-inline-3/#line-layout (2.2. Layout Within Line Boxes)
where layout bounds are used extensively (essentially the layout bound drives the inline box's aligned vertical
position within the line box -as opposed to its logical height. Though they may match in many cases.)

With this patch nested inline boxes are positioned relative to their parent inline boxes and
LineBox::logicalRectForInlineLevelBox/logicalRectForTextRun resolves them to be relative to the line box (which then used for
generating display inline runs with relative to the line coordinates).

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::build):
(WebCore::Layout::LineBoxBuilder::setVerticalGeometryForInlineBox const):
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
(WebCore::Layout::LineBoxBuilder::alignInlineLevelBoxesVerticallyAndComputeLineBoxHeight):
(WebCore::Layout::InlineFormattingContext::Geometry::computedLineLogicalRect const):
(WebCore::Layout::LineBoxBuilder::adjustInlineBoxesLogicalHeight): Deleted.

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::logicalRectForTextRun const):
(WebCore::Layout::LineBox::logicalRectForInlineLevelBox const):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::InlineLevelBox::LayoutBounds::height const):
(WebCore::Layout::LineBox::InlineLevelBox::setLayoutBounds):
(WebCore::Layout::LineBox::InlineLevelBox::layoutBounds const):
(WebCore::Layout::LineBox::InlineLevelBox::lineSpacing const): Deleted.
(WebCore::Layout::LineBox::InlineLevelBox::setLineSpacing): Deleted.

5:21 AM Changeset in webkit [268641] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[LFC][Integration] Skip renderers with self-painting layers in painting code
https://bugs.webkit.org/show_bug.cgi?id=217871

Reviewed by Zalan Bujtas.

Fixes fast/images/exif-orientation-background.html and similar.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::paint):

2:59 AM Changeset in webkit [268640] by Ross Kirsling
  • 25 edits
    1 move in trunk

Ensure %TypedArray% essential internal methods adhere to spec
https://bugs.webkit.org/show_bug.cgi?id=217854

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/array-prototype-splice-making-typed-array.js:
  • stress/array-species-config-array-constructor.js:
  • stress/delete-property-dfg-inline.js:
  • stress/float32array-out-of-bounds.js:
  • stress/put-direct-index-broken-2.js:
  • stress/typedarray-access-monomorphic-neutered.js:
  • stress/typedarray-access-neutered.js:
  • stress/typedarray-configure-index.js:
  • stress/typedarray-functions-with-neutered.js:
  • stress/typedarray-getownproperty.js: Renamed from JSTests/stress/typedarray-getownproperty-not-configurable.js.
  • stress/typed-array-canonical-numeric-index-string.js:

Adjust tests.

  • test262/expectations.yaml:

Address all test failures under built-ins/TypedArrayConstructors/internals.
Note that there are a slew of corrections needed for these test cases,
which were discovered in the course of working on this patch:
https://github.com/tc39/test262/pull/2833#issuecomment-709635850
Accordingly, these remaining lines should all disappear in the future.

Source/JavaScriptCore:

This patch addresses https://github.com/tc39/ecma262/pull/2164,
which aligns detached buffer semantics in typed arrays with web reality.

In particular:

This patch furthermore ensures that all of these essential internal methods have a spec-perfect implementation.

Note that there are a couple of interesting ripple effects here:

  • The fill(), sort(), and set() methods should throw explicitly, but we'd been letting Get? throw instead.
  • Other callback-taking methods should *not* throw anymore; they only did so implicitly via Get? and Set?.
  • builtins/TypedArrayPrototype.js:

(fill):
(sort):

  • runtime/JSGenericTypedArrayView.h:
  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::set):
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::put):
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex):
(JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex):

  • runtime/JSGlobalObjectFunctions.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):

  • runtime/JSTypedArrays.cpp:

LayoutTests:

  • fast/canvas/webgl/arraybuffer-transfer-of-control.html:
  • js/dom/dfg-typed-array-neuter-expected.txt:
  • js/dom/getOwnPropertyDescriptor-expected.txt:
  • js/dom/script-tests/dfg-typed-array-neuter.js:
  • js/resources/getOwnPropertyDescriptor.js:

Adjust tests.

1:16 AM Changeset in webkit [268639] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Flatpak SDK] flatpakutils.py reports "KeyError: 'gcc'" error if using with icecc and toolchains aren't generated yet
https://bugs.webkit.org/show_bug.cgi?id=217799

Patch by Philippe Normand <pnormand@igalia.com> on 2020-10-17
Reviewed by Fujii Hironori.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.run_in_sandbox): Gracefully exit with an error message when the icecc
configuration failed to complete.

12:06 AM Changeset in webkit [268638] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

REGRESSION(r268561): Synthetic oblique text is drawn upside-down
https://bugs.webkit.org/show_bug.cgi?id=217867
<rdar://problem/70400846>

Reviewed by Darin Adler.

Source/WebCore:

I made a typo.

Test: fast/text/synthetic-oblique.html

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::syntheticObliqueAngle):

  • platform/graphics/coretext/FontCascadeCoreText.cpp:

(WebCore::computeOverallTextMatrix):

LayoutTests:

  • fast/text/synthetic-oblique-expected.html: Added.
  • fast/text/synthetic-oblique.html: Added.

Oct 16, 2020:

11:46 PM Changeset in webkit [268637] by commit-queue@webkit.org
  • 16 edits
    3 moves in trunk/Source

Source/WebCore:
[GPU Process] Introduce RemoteResourceCache to manage the resources in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=217554

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

Add a new virtual method named ImageBuffer::flushDisplayList() which
applies a DisplayList to the ImageBuffer::context().

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::flushDisplayList):

Source/WebKit:
[GPU Process] Introduce RemoteResourceCacheProxy to manage the resources in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=217554

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

RemoteResourceCache will be responsible for caching the remote resources.
RemoteRenderingBackend will delegate all the resource caching to its
RemoteResourceCache.

We can get rid of RemoteImageBufferMessageHandler because all it does is
is sending messages to WebProcess. Removing it will simplify the interface
of RemoteImageBuffer. Sending the messages will be moved to RemoteRenderingBackend.

Rename flushDrawingContext() to flushDisplayList() because the name is
confusing. This function flushes a DisplayList to the context. No
DrawingContext is involved here and there is another function with the
same name which does not take any argument.

Rename ImageBufferFlushIdentifier to DisplayListFlushIdentifier to make
more general name and be ready for GPU DOM rendering.

Rename the RemoteRenderingBackendProxy messages: CreateImageBufferBackend
and CommitImageBufferFlushContext to be ImageBufferBackendWasCreated and
FlushDisplayListWasCommitted. We need to include passive verbs in them to
reflect that the actions were taken place in the GPU Process. They are
sent only to inform the Web Process with the current state.

  • GPUProcess/graphics/RemoteImageBuffer.h:

(WebKit::RemoteImageBuffer::RemoteImageBuffer):
(WebKit::RemoteImageBuffer::apply):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::gpuConnectionToWebProcess const):
(WebKit::RemoteRenderingBackend::imageBufferBackendWasCreated):
(WebKit::RemoteRenderingBackend::flushDisplayListWasCommitted):
(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::flushDisplayList):
(WebKit::RemoteRenderingBackend::flushDisplayListAndCommit):
(WebKit::RemoteRenderingBackend::getImageData):
We should call the completion handler even if the ImageBuffer was not found.

(WebKit::RemoteRenderingBackend::releaseRemoteResource):
(WebKit::RemoteRenderingBackend::flushImageBufferDrawingContext): Deleted.
(WebKit::RemoteRenderingBackend::flushImageBufferDrawingContextAndCommit): Deleted.

  • GPUProcess/graphics/RemoteRenderingBackend.h:

(WebKit::RemoteRenderingBackend::renderingBackendIdentifier const): Deleted.

  • GPUProcess/graphics/RemoteRenderingBackend.messages.in:
  • GPUProcess/graphics/RemoteResourceCache.cpp: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandler.cpp.

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

  • GPUProcess/graphics/RemoteResourceCache.h: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandler.h.
  • Scripts/webkit/messages.py:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/DisplayListFlushIdentifier.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h.
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.cpp:

(WebKit::RemoteImageBufferMessageHandlerProxy::waitForImageBufferBackendWasCreated):
(WebKit::RemoteImageBufferMessageHandlerProxy::waitForFlushDisplayListWasCommitted):
(WebKit::RemoteImageBufferMessageHandlerProxy::flushDisplayList):
(WebKit::RemoteImageBufferMessageHandlerProxy::flushDisplayListAndWaitCommit):
(WebKit::RemoteImageBufferMessageHandlerProxy::commitFlushContext):
(WebKit::RemoteImageBufferMessageHandlerProxy::waitForCreateImageBufferBackend): Deleted.
(WebKit::RemoteImageBufferMessageHandlerProxy::waitForCommitImageBufferFlushContext): Deleted.
(WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContext): Deleted.
(WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContextAndWaitCommit): Deleted.

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

(WebKit::RemoteRenderingBackendProxy::waitForImageBufferBackendWasCreated):
(WebKit::RemoteRenderingBackendProxy::waitForFlushDisplayListWasCommitted):
(WebKit::RemoteRenderingBackendProxy::imageBufferBackendWasCreated):
(WebKit::RemoteRenderingBackendProxy::flushDisplayListWasCommitted):
(WebKit::RemoteRenderingBackendProxy::waitForCreateImageBufferBackend): Deleted.
(WebKit::RemoteRenderingBackendProxy::waitForCommitImageBufferFlushContext): Deleted.
(WebKit::RemoteRenderingBackendProxy::createImageBufferBackend): Deleted.
(WebKit::RemoteRenderingBackendProxy::commitImageBufferFlushContext): Deleted.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
9:55 PM Changeset in webkit [268636] by Wenson Hsieh
  • 6 edits in trunk

Add system trace points for flushing remote image buffers
https://bugs.webkit.org/show_bug.cgi?id=217853

Reviewed by Simon Fraser.

Source/WebKit:

Add trace points to capture drawing context flushes. This encapsulates time spent encoding display lists in
preparation for IPC.

  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.cpp:

(WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContextAndWaitCommit):

Source/WTF:

See WebKit ChangeLog for more details.

  • wtf/SystemTracing.h:

Tools:

See WebKit ChangeLog for more details.

  • Tracing/SystemTracePoints.plist:
9:39 PM Changeset in webkit [268635] by Devin Rousso
  • 27 edits in trunk/Source

Web Inspector: rename Highlight so it doesn't conflict with CSS Highlight
https://bugs.webkit.org/show_bug.cgi?id=217858

Reviewed by Megan Gardner.

No new tests as there is no behavior change since this is purely a rename.

Source/WebCore:

  • inspector/InspectorOverlay.h:

(WebCore::InspectorOverlay::Highlight::setDataFromConfig): Added.
(WebCore::Highlight::Highlight): Deleted.
(WebCore::Highlight::setDataFromConfig): Deleted.

  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):
(WebCore::buildNodeHighlight):
(WebCore::buildQuadHighlight):
(WebCore::quadToPath):
(WebCore::drawOutlinedQuadWithClip):
(WebCore::drawOutlinedQuad):
(WebCore::drawFragmentHighlight):
(WebCore::drawShapeHighlight):
(WebCore::InspectorOverlay::getHighlight const):
(WebCore::InspectorOverlay::highlightNodeList):
(WebCore::InspectorOverlay::highlightNode):
(WebCore::InspectorOverlay::highlightQuad):
(WebCore::InspectorOverlay::drawQuadHighlight):
(WebCore::InspectorOverlay::drawBounds):
(WebCore::InspectorOverlay::drawElementTitle):

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

(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightNodeList):
(WebCore::InspectorDOMAgent::highlightFrame):

  • inspector/InspectorController.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::getHighlight const):

  • testing/Internals.cpp:

(WebCore::Internals::inspectorHighlightRects):

Source/WebKit:

  • Scripts/webkit/messages.py:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<InspectorOverlay::Highlight>::encode): Added.
(IPC::ArgumentCoder<InspectorOverlay::Highlight>::decode): Added.
(IPC::ArgumentCoder<Highlight>::encode): Deleted.
(IPC::ArgumentCoder<Highlight>::decode): Deleted.

  • WebProcess/Inspector/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::highlight):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::showInspectorHighlight):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _showInspectorHighlight:]):

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::showInspectorHighlight):

  • UIProcess/PageClient.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::showInspectorHighlight):

  • UIProcess/Inspector/ios/WKInspectorHighlightView.h:
  • UIProcess/Inspector/ios/WKInspectorHighlightView.mm:

(-[WKInspectorHighlightView _layoutForNodeHighlight:offset:]):
(-[WKInspectorHighlightView _layoutForNodeListHighlight:]):
(-[WKInspectorHighlightView _layoutForRectsHighlight:]):
(-[WKInspectorHighlightView update:]):

Source/WebKitLegacy/mac:

  • WebInspector/WebNodeHighlightView.mm:

(-[WebNodeHighlightView _layoutForNodeHighlight:parent:]):
(-[WebNodeHighlightView _layoutForRectsHighlight:parent:]):
(-[WebNodeHighlightView layoutSublayers:]):

9:34 PM Changeset in webkit [268634] by Devin Rousso
  • 4 edits
    2 adds in trunk

Web Inspector: REGRESSION(r266669): DOMBreakpoint.js:106:23: CONSOLE ASSERT ERROR domNode should not change once set
https://bugs.webkit.org/show_bug.cgi?id=217865

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Models/DOMBreakpoint.js:

(WI.DOMBreakpoint.prototype.set domNode):
Adjust the assertion such that null is allowed if _domNode is already null.

  • UserInterface/Base/Utilities.js:

(xor): Added.
Global utility function for doing a non-bitwise or that returns false if both values are
truthy/falsy and the truthy value if only one is truthy.

LayoutTests:

  • inspector/unit-tests/utilities.html: Added.
  • inspector/unit-tests/utilities-expected.txt: Added.
9:21 PM Changeset in webkit [268633] by rniwa@webkit.org
  • 6 edits in trunk

IPC testing API should expose whether a given IPC message has sync reply or not
https://bugs.webkit.org/show_bug.cgi?id=217861

Reviewed by Darin Adler.

Source/WebKit:

This patch adds IPC.messages.*.isSync to indicate whether a given IPC message has a sync reply or not.

Test: TestWebKitAPI.IPCTestingAPI.AlertIsSyncMessage

  • Platform/IPC/MessageArgumentDescriptions.h:
  • Scripts/webkit/messages.py:

(generate_js_value_conversion_function): Fixed a typo.
(generate_js_argument_descriptions): Ditto.
(generate_message_argument_description_implementation): Generate messageIsSync function.

  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::JSIPC::wrapperClass): Updated the class name to match the implementation.
(WebKit::IPCTestingAPI::JSIPC::messages): Added isSync as a boolean property on message description.

Tools:

Added a test for IPC.messages.*.isSync using RunJavaScriptAlert.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

(createWebViewWithIPCTestingAPI): Extracted to share more code between tests.
(IPCTestingAPI.AlertIsSyncMessage): Added.

9:18 PM Changeset in webkit [268632] by Peng Liu
  • 16 edits
    2 moves
    2 adds
    1 delete in trunk/Source

[Media in GPU Process] Use CARingBuffer to transfer audio data of an audio destination from a web process to the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=217715

Reviewed by Jer Noble.

Source/WebCore:

Decouple the audio output unit management from AudioDestinationCocoa so that
we can run it remotely in other processes, like the GPU process.

No new tests, no behavior change.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/AudioDestination.h: Export hardwareSampleRate().
  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestination::create): Remove an unnecessary function call.
(WebCore::AudioDestinationCocoa::AudioDestinationCocoa): Add a parameter
configureAudioOutputUnit so that we can disable the AudioOutputUnitAdaptor in
AudioDestinationCocoa when we need to run the AudioOutputUnitAdaptor in another process.
(WebCore::AudioDestinationCocoa::start):
(WebCore::AudioDestinationCocoa::stop):
(WebCore::AudioDestinationCocoa::getAudioStreamBasicDescription):
Rename setAudioStreamBasicDescription() to getAudioStreamBasicDescription() because
the function essentially queries the description.
(WebCore::AudioDestinationCocoa::hasEnoughFrames const): Add this function
so that a subclass can check whether the FIFO has enough audio samples to render.
(WebCore::AudioDestinationCocoa::render): Replace the AudioTimeStamp* parameter
because we only need two fields of AudioTimeStamp in this function.
(WebCore::AudioDestinationCocoa::~AudioDestinationCocoa): Deleted.
(WebCore::AudioDestinationCocoa::setAudioStreamBasicDescription): Deleted.
(WebCore::AudioDestinationCocoa::inputProc): Deleted. This function is moved to
AudioOutputUnitAdaptor.

  • platform/audio/cocoa/AudioDestinationCocoa.h:

(WebCore::AudioDestinationCocoa::outputUnit): Deleted.

  • platform/audio/cocoa/AudioOutputUnitAdaptor.cpp: Added.

(WebCore::AudioOutputUnitAdaptor::AudioOutputUnitAdaptor):
(WebCore::AudioOutputUnitAdaptor::~AudioOutputUnitAdaptor):
(WebCore::AudioOutputUnitAdaptor::start):
(WebCore::AudioOutputUnitAdaptor::stop):
(WebCore::AudioOutputUnitAdaptor::inputProc):

  • platform/audio/cocoa/AudioOutputUnitAdaptor.h: Added.
  • platform/audio/ios/AudioOutputUnitAdaptorIOS.cpp: Renamed from Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp.

(WebCore::AudioOutputUnitAdaptor::configure):

  • platform/audio/mac/AudioOutputUnitAdaptorMac.cpp: Renamed from Source/WebCore/platform/audio/mac/AudioDestinationMac.cpp.

(WebCore::AudioOutputUnitAdaptor::configure):

  • platform/mock/MockAudioDestinationCocoa.cpp:

(WebCore::MockAudioDestinationCocoa::tick):

Source/WebKit:

The current implementation of RemoteAudioDestination essentially runs the
AudioDestinationCocoa in the GPU process, which is not good because we are adding
AudioWorklet stuff into AudioDestinationCocoa, but the AudioWorklet stuff is
irrelevant to the GPU process.

What really needs to run in the GPU process (for Cocoa platforms at least) is the
audio output unit. This patch adds WebCore::AudioOutputUnitAdaptor and
WebCore::AudioUnitRenderer to implement that. With this patch, RemoteAudioDestination
in the GPU process is an AudioUnitRenderer and it embeds an AudioOutputUnitAdaptor
like AudioDestinationCocoa does in the Web process. Essentially, we run AudioOutputUnitAdaptor
remotely from the AudioDestinationCocoa's perspective.

Also, in the current implementation, the RemoteAudioDestinationProxy in a Web
process transfers audio data to the RemoteAudioDestination in the GPU process
with IPC messages (RemoteAudioBusData). This is not efficient because of the
large number of IPC messages for audio samples.

With this patch, RemoteAudioDestinationProxy (Web process) transfers audio samples
to RemoteAudioDestination(GPU process) with a CARingBuffer providing shared
buffers for the Web process and the GPU process.

  • GPUProcess/media/RemoteAudioDestinationManager.cpp:

(WebKit::RemoteAudioDestination::create):
(WebKit::RemoteAudioDestination::~RemoteAudioDestination):
(WebKit::RemoteAudioDestination::audioSamplesStorageChanged):
(WebKit::RemoteAudioDestination::start):
(WebKit::RemoteAudioDestination::stop):
(WebKit::RemoteAudioDestination::isPlaying const):
(WebKit::RemoteAudioDestination::RemoteAudioDestination):
(WebKit::RemoteAudioDestination::storage):
(WebKit::RemoteAudioDestination::render):
(WebKit::RemoteAudioDestinationManager::createAudioDestination):
(WebKit::RemoteAudioDestinationManager::audioSamplesStorageChanged):
(WebKit::RemoteAudioDestination::isPlaying): Deleted.
(WebKit::RemoteAudioDestination::framesPerBuffer const): Deleted.

  • GPUProcess/media/RemoteAudioDestinationManager.h:

(WebKit::RemoteAudioDestinationManager::didReceiveSyncMessageFromWebProcess):

  • GPUProcess/media/RemoteAudioDestinationManager.messages.in:

Add a message AudioSamplesStorageChanged to support using CARingBuffer to
transmit audio samples to the GPU process.

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/RemoteAudioBusData.h: Removed.
  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:

(WebKit::RemoteAudioDestinationProxy::RemoteAudioDestinationProxy):
(WebKit::RemoteAudioDestinationProxy::start):
(WebKit::RemoteAudioDestinationProxy::stop):
(WebKit::RemoteAudioDestinationProxy::requestBuffer):
(WebKit::RemoteAudioDestinationProxy::renderOnRenderingThead):
(WebKit::RemoteAudioDestinationProxy::storageChanged):
(WebKit::RemoteAudioDestinationProxy::renderBuffer): Deleted.
(WebKit::RemoteAudioDestinationProxy::didChangeIsPlaying): Deleted.

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.h:

RemoteAudioDestinationProxy is a subclass of AudioDestinationCocoa. It pulls audio
samples from the WebAudio side and use a CARingBuffer to push audio samples to
the audio output unit (managed by RemoteAudioDestination) in the GPU process.

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.messages.in:

Add a message RequestBuffer, which can be used by RemoteAudioDestination to ask
for (pull) audio samples.

  • WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:

(WebKit::AudioMediaStreamTrackRenderer::pushSamples): A minor fix to get rid of
a type conversion.

9:11 PM Changeset in webkit [268631] by Devin Rousso
  • 6 edits in trunk

Web Inspector: REGRESSION(r266885): Controllers/ConsoleManager.js:177:27: CONSOLE ASSERT ERROR
https://bugs.webkit.org/show_bug.cgi?id=217863

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

r266885 changed Console.getLoggingChannels to return any Console.ChannelSource that
existed, rather than a hardcoded list. Remove the similarly hardcoded list in the frontend.

  • UserInterface/Controllers/ConsoleManager.js:

(WI.ConsoleManager):
(WI.ConsoleManager.prototype.initializeLogChannels):
(WI.ConsoleManager.prototype.get logChannelSources): Deleted.

  • UserInterface/Views/LogContentView.js:

(WI.LogContentView.prototype._messageAdded):

LayoutTests:

  • inspector/console/webcore-logging.html:
  • inspector/console/webcore-logging-expected.txt:
9:08 PM Changeset in webkit [268630] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r266885): LoggingChannel.js:31:23: CONSOLE ASSERT ERROR
https://bugs.webkit.org/show_bug.cgi?id=217864

Reviewed by Timothy Hatcher.

r266885 changed Console.getLoggingChannels to return any Console.ChannelSource that
existed, rather than a hardcoded list. Remove the similarly hardcoded list in the frontend.

  • UserInterface/Models/LoggingChannel.js:

(WI.LoggingChannel):

9:07 PM Changeset in webkit [268629] by Devin Rousso
  • 3 edits
    3 adds in trunk

Web Inspector: REGRESSION(r266074): line-based JavaScript breakpoints don't hit after reload
https://bugs.webkit.org/show_bug.cgi?id=217862

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):
Don't clear the list of protocol breakpoints when the global object changes. Protocol
breakpoints should only be cleared when individually removed or by Debugger.disable.

LayoutTests:

  • inspector/debugger/resources/nested-calls.js: Added.

(inner):
(outer):

  • inspector/debugger/breakpoint-resolve-when-script-added.html: Added.
  • inspector/debugger/breakpoint-resolve-when-script-added-expected.txt: Added.
7:29 PM Changeset in webkit [268628] by jiewen_tan@apple.com
  • 5 edits in trunk/Source

[WebAuthn] Add an experimental feature flag: WebAuthenticationModernEnabled
https://bugs.webkit.org/show_bug.cgi?id=217843
<rdar://problem/70384187>

Reviewed by Brent Fulgham.

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebAuthenticationModernEnabled):
(WKPreferencesGetWebAuthenticationModernEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WTF:

Add a new experimental feature flag to test the new WebAuthn process.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
7:10 PM Changeset in webkit [268627] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Support accelerated animation of individual transform CSS properties
https://bugs.webkit.org/show_bug.cgi?id=217842
<rdar://problem/70391914>

Unreviewed. Mark some tests as failing on Mojave.

  • platform/mac/TestExpectations:
6:50 PM Changeset in webkit [268626] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r266480): line-based JavaScript breakpoint tree element titles also show the file name
https://bugs.webkit.org/show_bug.cgi?id=217859

Reviewed by Timothy Hatcher.

r266480 changed it such that WI.BreakpointTreeElement would only call updateTitles if
the constructor was not provided a title while also adding a fallback for title in the
constructor of WI.JavaScriptBreakpointTreeElement, ensuring that it would always be set
by the time it reached WI.BreakpointTreeElement, meaning that updateTitles would never
be called.

Since updateTitles was only implemented by WI.JavaScriptBreakpointTreeElement, remove
it from WI.BreakpointTreeElement and ensure that it is always called for non-special
JavaScript breakpoints (in addition to whenever the WI.SourceCodeLocation changes).

  • UserInterface/Views/BreakpointTreeElement.js:

(WI.BreakpointTreeElement.prototype.updateTitles): Deleted.

  • UserInterface/Views/JavaScriptBreakpointTreeElement.js:

(WI.JavaScriptBreakpointTreeElement):
(WI.JavaScriptBreakpointTreeElement.prototype._updateTitles): Added.
(WI.JavaScriptBreakpointTreeElement.prototype._breakpointLocationDidChange):
(WI.JavaScriptBreakpointTreeElement.prototype.updateTitles): Deleted.

6:04 PM Changeset in webkit [268625] by Ryan Haddad
  • 22 edits
    1 delete in trunk/LayoutTests

Unreviewed, reverting r268620.

Breaks tests for Catalina and Mojave

Reverted changeset:

"Rebaseline tests for Big Sur after the changes in r268520"
https://bugs.webkit.org/show_bug.cgi?id=209813
https://trac.webkit.org/changeset/268620

5:41 PM Changeset in webkit [268624] by Russell Epstein
  • 1 copy in tags/Safari-610.3.4

Tag Safari-610.3.4.

5:23 PM Changeset in webkit [268623] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r262708): [ Mojave debug wk2 ] imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217857

Unreviewed test gardening.
Changing test expectation for Mojave+ coverage

  • platform/mac-wk2/TestExpectations:
5:07 PM Changeset in webkit [268622] by Russell Epstein
  • 1 copy in tags/Safari-610.2.11.51.2

Tag Safari-610.2.11.51.2.

5:06 PM Changeset in webkit [268621] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r262708): [ Mojave debug wk2 ] imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217857

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:49 PM Changeset in webkit [268620] by Truitt Savell
  • 22 edits
    1 add in trunk/LayoutTests

Rebaseline tests for Big Sur after the changes in r268520
https://bugs.webkit.org/show_bug.cgi?id=209813

Unreviewed test gardening.

  • platform/mac/editing/selection/3690703-2-expected.txt:
  • platform/mac/editing/selection/3690703-expected.txt:
  • platform/mac/editing/selection/3690719-expected.txt:
  • platform/mac/fast/block/basic/001-expected.txt:
  • platform/mac/fast/block/float/float-avoidance-expected.txt:
  • platform/mac/fast/css/rtl-ordering-expected.txt:
  • platform/mac/fast/forms/basic-inputs-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/mac/fast/forms/option-text-clip-expected.txt:
  • platform/mac/fast/forms/plaintext-mode-2-expected.txt:
  • platform/mac/fast/forms/select-change-listbox-to-popup-expected.txt:
  • platform/mac/fast/forms/select-change-popup-to-listbox-expected.txt:
  • platform/mac/fast/forms/textfield-outline-expected.txt:
  • platform/mac/fast/text/indic-expected.txt:
  • platform/mac/fast/text/javascriptlink-frames-expected.txt: Added.
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-volume-slider-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
  • platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:
4:07 PM Changeset in webkit [268619] by Karl Rackler
  • 4 edits in trunk

Unreviewed, reverting r268178.

This reverts commit r268178 because it caused a test failure.

Reverted changeset:

"Fix image-loading-lazy-multiple-times.html"
https://bugs.webkit.org/show_bug.cgi?id=216979
https://trac.webkit.org/changeset/268178

3:57 PM Changeset in webkit [268618] by Russell Epstein
  • 4 edits in branches/safari-610.2.11.51-branch/Source

Revert "Cherry-pick r268367. rdar://problem/70320656"

This reverts commit r268512.

3:57 PM Changeset in webkit [268617] by Russell Epstein
  • 2 edits in branches/safari-610.2.11.51-branch/Source/WebKit

Revert "Cherry-pick r268377. rdar://problem/70320656"

This reverts commit r268513.

3:46 PM Changeset in webkit [268616] by graouts@webkit.org
  • 7 edits in trunk

Enable individual CSS transform properties by default
https://bugs.webkit.org/show_bug.cgi?id=217849
<rdar://problem/70052493>

Reviewed by Dean Jackson.

Source/WebKitLegacy/win:

  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(enableExperimentalFeatures):

3:43 PM Changeset in webkit [268615] by graouts@webkit.org
  • 17 edits
    10 adds in trunk

Support accelerated animation of individual transform CSS properties
https://bugs.webkit.org/show_bug.cgi?id=217842
<rdar://problem/70391914>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-transforms/animation/rotate-interpolation-expected.txt:
  • web-platform-tests/css/css-transforms/animation/scale-interpolation-expected.txt:
  • web-platform-tests/css/css-transforms/animation/translate-interpolation-expected.txt:

Source/WebCore:

In order to support accelerated animation of individual transform CSS properties, we make a list of the
various animations targeting animation-related properties in GraphicsLayerCA::updateAnimations() and apply
an animation for each of those properties in their expected application order – translate, scale, rotate and
then transform – using Core Animation's additive animation mode.

When one of those properties does not have an animation, we create a non-interpolating base transform value
animation set with both from and to values matching the value set in CSS for this particular property. We use
a new transformMatrixForProperty() method on the GraphicsLayerClient to obtain this value.

We also add a non-additive, non-interpolating identity transform first to make sure all the additive animations
build on top of a neutral transform and not the underlying value applied to the layer.

Finally, when GraphicsLayerCA::setTransform() is updated, we update the animations to ensure that any base
transform value animation is updated to match the current value of the CSS properties contributing to the
compound layer transform.

Tests: webanimations/accelerated-transform-related-animation-property-order.html

webanimations/accelerated-translate-animation-additional-animation-added-in-flight.html
webanimations/accelerated-translate-animation-underlying-transform-changed-in-flight.html
webanimations/accelerated-translate-animation-with-transform.html
webanimations/accelerated-translate-animation.html

  • animation/CSSPropertyAnimation.cpp: Add the necessary animationIsAccelerated() overrides for each of the

individual CSS transform property animation wrappers to indicate that accelerated animations are supported.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateTransformOperations): Update the ASSERT to check that the animated property
is any of the transform-related properties.

  • platform/graphics/GraphicsLayer.h:

(WebCore::TransformAnimationValue::TransformAnimationValue): Add a new constructor that takes a single TransformOperation*
value as input instead of a TransformOperations& so that the values coming from the individual CSS transform properties
can be used to create a TransformAnimationValue in RenderLayerBacking::startAnimation().

  • platform/graphics/GraphicsLayerClient.h: Add the new animated property identifiers for the individual CSS transform properties.

(WebCore::animatedPropertyIsTransformOrRelated): Add a new utility to identify any of the transform-related animated property
identifiers.
(WebCore::GraphicsLayerClient::transformMatrixForProperty const): New method called from GraphicsLayerCA::updateAnimations()
to query the client, such as RenderLayerBacking, for the TransformationMatrix representing a given CSS property value to be
used for base transform value non-interpolating animations.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::propertyIdToString): Account for the new animated property identifiers.
(WebCore::GraphicsLayerCA::setTransform): If we are currently running a transform-related animation, a change in underlying
transform value means we must re-evaluate all transform-related animations to ensure that the base value transform animations
are current.
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::updateAnimations): When updating animations, keep track of the most recent animation applicable to each
individual CSS transform property and the list of animations targeting the transform CSS property. Then, ensure those animations
are applied in the specified order – translate, scale, rotate and transform – by adding those animations as additive CA animations
with non-interpolating base transform value animations for each property that does not have a specified interpolating animation.
(WebCore::GraphicsLayerCA::isRunningTransformAnimation const): Ensure we also consider paused animations as "running" animations.
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Whether a transform animation needs to be run using the additive mode
is now determined in updateAnimations() so we remove all code related to working out whether animations ought to be additive.
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): We force the creation of CATransform3D values for individual
CSS transform properties since only this mode guarantees that additivity of such animations will yield the expected result where
the transforms are multiplied rather than simply adding float values of individual components.

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

(WebCore::RenderLayerBacking::startAnimation): Ensure we start animations for the individual CSS transform properties.
(WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
(WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
(WebCore::RenderLayerBacking::transformMatrixForProperty const): Implement the new GraphicsLayerClient method to provide a
matrix that can be used as a value for non-interpolating base value transform animations in GraphicsLayerCA::updateAnimations()
for any of the transform-related CSS properties.

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

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation const): Ensure that an animation for any of the transform-related
CSS properties yields composition of the target layer.
(WebCore::RenderLayerCompositor::isRunningTransformAnimation const):

  • rendering/style/WillChangeData.cpp:

(WebCore::propertyTriggersCompositingOnBoxesOnly): Ensure that setting the will-change CSS property to any of the transform-related
CSS properties yields composition of the target.

LayoutTests:

Add some new tests that check animations of individual CSS transform properties can be performed,
checking on their relative order with the transform property, updating the transform property while
an animation is in flight and adding animations while in flight.

  • TestExpectations:
  • webanimations/accelerated-transform-related-animation-property-order-expected.html: Added.
  • webanimations/accelerated-transform-related-animation-property-order.html: Added.
  • webanimations/accelerated-translate-animation-additional-animation-added-in-flight-expected.html: Added.
  • webanimations/accelerated-translate-animation-additional-animation-added-in-flight.html: Added.
  • webanimations/accelerated-translate-animation-expected.html: Added.
  • webanimations/accelerated-translate-animation-underlying-transform-changed-in-flight-expected.html: Added.
  • webanimations/accelerated-translate-animation-underlying-transform-changed-in-flight.html: Added.
  • webanimations/accelerated-translate-animation-with-transform-expected.html: Added.
  • webanimations/accelerated-translate-animation-with-transform.html: Added.
  • webanimations/accelerated-translate-animation.html: Added.
3:41 PM Changeset in webkit [268614] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION(268444?): [ Win10 wk1 ews ] transforms/2d/rotate-composited.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217812

Unreviewed test gardening.

  • platform/win/TestExpectations:
3:23 PM Changeset in webkit [268613] by jiewen_tan@apple.com
  • 11 edits in trunk

[WebAuthn] Remove experimental feature flag: WebAuthenticationLocalAuthenticatorEnabled
https://bugs.webkit.org/show_bug.cgi?id=217796
<rdar://problem/70358912>

Reviewed by Brent Fulgham.

Source/WebCore:

  • Modules/webauthn/PublicKeyCredential.cpp:

(WebCore::PublicKeyCredential::isUserVerifyingPlatformAuthenticatorAvailable):

  • page/Settings.yaml:

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebAuthenticationLocalAuthenticatorEnabled): Deleted.
(WKPreferencesGetWebAuthenticationLocalAuthenticatorEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManager::filterTransports const):
(WebKit::WebCore::isFeatureEnabled): Deleted.

Source/WTF:

The feature is now shipped. Let's remove the experimental feature flag.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:

(TestWebKitAPI::TEST):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

  • WebKitTestRunner/TestOptions.cpp:

(WTR::boolDefaultsMap):
(WTR::keyTypeMap):

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::enableWebAuthentication const):
(WTR::TestOptions::enableWebAuthenticationLocalAuthenticator const): Deleted.

3:20 PM Changeset in webkit [268612] by commit-queue@webkit.org
  • 12 edits
    13 moves
    1 add
    1 delete in trunk/Source/WebKit

[GPU Process] Exchange RemoteImageBuffer and RemoteImageBufferProxy
https://bugs.webkit.org/show_bug.cgi?id=217809

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

The names of the GPU rendering classes have been confusing. RemoteImageBuffer
should be the real object in the GPU Process because it owns the backend.
And RemoteImageBufferProxy should be a proxy to this object in the Web
Process. So we are going to exchange the following classes:

-- RemoteImageBuffer <-> RemoteImageBufferProxy
-- RemoteRenderingBackend <-> RemoteRenderingBackendProxy
-- RemoteImageBufferMessageHandler <-> RemoteImageBufferMessageHandlerProxy

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::createRenderingBackend):
(WebKit::GPUConnectionToWebProcess::releaseRenderingBackend):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/graphics/PlatformRemoteImageBuffer.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h.
  • GPUProcess/graphics/RemoteImageBuffer.h: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferProxy.h.

(WebKit::RemoteImageBuffer::create):
(WebKit::RemoteImageBuffer::RemoteImageBuffer):
(WebKit::RemoteImageBuffer::~RemoteImageBuffer):
(WebKit::RemoteImageBuffer::apply):

  • GPUProcess/graphics/RemoteImageBufferMessageHandler.cpp: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp.

(WebKit::RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler):
(WebKit::RemoteImageBufferMessageHandler::createBackend):
(WebKit::RemoteImageBufferMessageHandler::commitFlushContext):

  • GPUProcess/graphics/RemoteImageBufferMessageHandler.h: Renamed from Source/WebKit/GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h.

(WebKit::RemoteImageBufferMessageHandler::backend):

  • GPUProcess/graphics/RemoteRenderingBackend.cpp: Renamed from Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.cpp.

(WebKit::RemoteRenderingBackend::create):
(WebKit::RemoteRenderingBackend::RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::~RemoteRenderingBackend):
(WebKit::RemoteRenderingBackend::messageSenderConnection const):
(WebKit::RemoteRenderingBackend::messageSenderDestinationID const):
(WebKit::RemoteRenderingBackend::createImageBuffer):
(WebKit::RemoteRenderingBackend::releaseRemoteResource):
(WebKit::RemoteRenderingBackend::getImageData):
(WebKit::RemoteRenderingBackend::flushImageBufferDrawingContext):
(WebKit::RemoteRenderingBackend::flushImageBufferDrawingContextAndCommit):
(WebKit::RemoteRenderingBackend::gpuConnectionToWebProcess const):

  • GPUProcess/graphics/RemoteRenderingBackend.h: Renamed from Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.h.

(WebKit::RemoteRenderingBackend::renderingBackendIdentifier const):

  • GPUProcess/graphics/RemoteRenderingBackend.messages.in: Renamed from Source/WebKit/GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in.
  • GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/PlatformRemoteImageBufferProxy.h: Renamed from Source/WebKit/GPUProcess/graphics/PlatformRemoteImageBufferProxy.h.
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp: Removed.
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.cpp: Added.

(WebKit::RemoteImageBufferMessageHandlerProxy::RemoteImageBufferMessageHandlerProxy):
(WebKit::RemoteImageBufferMessageHandlerProxy::~RemoteImageBufferMessageHandlerProxy):
(WebKit::RemoteImageBufferMessageHandlerProxy::getImageData const):
(WebKit::RemoteImageBufferMessageHandlerProxy::waitForCreateImageBufferBackend):
(WebKit::RemoteImageBufferMessageHandlerProxy::waitForCommitImageBufferFlushContext):
(WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandlerProxy::flushDrawingContextAndWaitCommit):
(WebKit::RemoteImageBufferMessageHandlerProxy::commitFlushContext):

  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandlerProxy.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h.

(WebKit::RemoteImageBufferMessageHandlerProxy::remoteResourceIdentifier const):
(WebKit::RemoteImageBufferMessageHandlerProxy::isPendingFlush const):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteImageBuffer.h.

(WebKit::RemoteImageBufferProxy::create):
(WebKit::RemoteImageBufferProxy::~RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy):
(WebKit::RemoteImageBufferProxy::putImageData):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.cpp.

(WebKit::RemoteRenderingBackendProxy::create):
(WebKit::RemoteRenderingBackendProxy::RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::~RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::messageSenderConnection const):
(WebKit::RemoteRenderingBackendProxy::messageSenderDestinationID const):
(WebKit::RemoteRenderingBackendProxy::waitForCreateImageBufferBackend):
(WebKit::RemoteRenderingBackendProxy::waitForCommitImageBufferFlushContext):
(WebKit::RemoteRenderingBackendProxy::createImageBuffer):
(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource):
(WebKit::RemoteRenderingBackendProxy::createImageBufferBackend):
(WebKit::RemoteRenderingBackendProxy::commitImageBufferFlushContext):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.h.

(WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in: Renamed from Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::ensureRemoteRenderingBackendProxy const):
(WebKit::WebChromeClient::createImageBuffer const):
(WebKit::WebChromeClient::ensureRemoteRenderingBackend const): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
3:13 PM Changeset in webkit [268611] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GLIB][GTK] Unreviewed test expectations. Update test expectations after r268606.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
2:51 PM Changeset in webkit [268610] by Andres Gonzalez
  • 7 edits in trunk/Source/WebCore

Revert AXCoreObject::topDocumentFrameView change that caused build failure on iOS debug.
https://bugs.webkit.org/show_bug.cgi?id=217841

Reviewed by Chris Fleizach.

No change in functionality, reverting part of previous re-work.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/ios/AccessibilityObjectIOS.mm:

(WebCore::AccessibilityObject::convertRectToPlatformSpace const):
(WebCore::AccessibilityObject::topDocumentFrameView const): Deleted.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityWebDocumentView]):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::topDocumentFrameView const): Deleted.

2:16 PM BuildingGtk edited by Lauro Moura
Added info about reusing the UserFlatpak directory. (diff)
2:00 PM Changeset in webkit [268609] by Matt Lewis
  • 2 edits in trunk/Tools

Move EWS to new SDKs: iOS 14.
https://bugs.webkit.org/show_bug.cgi?id=217840

Reviewed by Aakash Jain.

  • BuildSlaveSupport/ews-build/config.json:
1:10 PM Changeset in webkit [268608] by eric.carlson@apple.com
  • 12 edits
    3 adds in trunk

[GPU Process] Implement VideoPlaybackMetrics
https://bugs.webkit.org/show_bug.cgi?id=217439
<rdar://problem/60179370>

Reviewed by Jer Noble.

Source/WebCore:

Test: media/video-playback-quality.html

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::getVideoPlaybackQuality):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/VideoPlaybackQualityMetrics.h: Added.

(WebCore::VideoPlaybackQualityMetrics::encode const):
(WebCore::VideoPlaybackQualityMetrics::decode):

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::outOfBandTrackSources):
(WebKit::RemoteMediaPlayerProxy::updateCachedState):
(WebKit::RemoteMediaPlayerProxy::setShouldUpdatePlaybackMetrics):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::videoPlaybackQualityMetrics):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteMediaPlayerState.h:

(WebKit::RemoteMediaPlayerState::encode const):
(WebKit::RemoteMediaPlayerState::decode):

LayoutTests:

  • media/video-playback-quality-expected.txt: Added.
  • media/video-playback-quality.html: Added.
1:09 PM Changeset in webkit [268607] by eric.carlson@apple.com
  • 17 edits in trunk/Source

[GPU Process] Implement mediaPlayerGetRawCookies
https://bugs.webkit.org/show_bug.cgi?id=217739
<rdar://problem/70313370>

Reviewed by Youenn Fablet.

Source/WebCore:

Plumb mediaPlayerGetRawCookies through from the GPU process to the Web process,
which is used to provide site cookies to AVFoundation for AirPlay. This has always
been a synchronous API, which we don't want between processes, so change the interface
to take a completion handler and restructure the caller to use it.

Tested manually.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerGetRawCookies const):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::getRawCookies const):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerGetRawCookies const):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::mediaPlayerGetRawCookies const):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::getRawCookies const):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
12:44 PM Changeset in webkit [268606] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

Open source clang warning: bitwise operation between different enumeration types [-Wenum-enum-conversion]
<https://webkit.org/b/217805>
<rdar://problem/70250742>

Reviewed by Darin Adler.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl::s_hashZeroValue): Add.
(WTF::StringImpl::StringImpl):

  • Use s_hashZeroValue as first value in bitwise-or expression so that enums are converted automatically to unsigned values.
12:38 PM Changeset in webkit [268605] by jiewen_tan@apple.com
  • 26 edits
    9 copies
    1 move
    19 adds
    1 delete in trunk/Source

[WebAuthn] Implement a dummy WebAuthnProcess
https://bugs.webkit.org/show_bug.cgi?id=217559
<rdar://problem/70168749>

Reviewed by Brent Fulgham.

Source/WebCore:

No tests.

  • en.lproj/Localizable.strings:

Provides a name for the WebAuthn process.

Source/WebKit:

Previous patch r268248 introduces a new daemon to handle all WebAuthn requests. However, after more deeper investigations, the daemon
story is not very compelling for WebKit. Here are the two major road blockers:
1) The major one is on macOS. New daemons cannot be installed without a system update. It means relocatable Safari (e.g. STP)
and staged Safari on downlevel OSes will not get this feature. And relocatable STP can only utilize the system daemon. This
seems a bummer especially for the STP case given it is heavily used to test latest web features.
2) Additional plumbing is needed for testing and engineering builds. This problem is specific to WebKit and is on both macOS and iOS.
WebKit doesn't build roots to test engineering builds, which is required to update the plist on the above location. Hence, a separate
configuration is needed to generate a different plist that points to the right engineering binary and additional scripts will be needed
to ask launchd to load the plist before running any tests. Some extra exercises are probably needed to not confuse launchd about the
engineering binary and system binary as well.

Given the above constraints, a new architecture is proposed to make the daemon a WebKit XPC service/process instead and leave the launchd
event handler to a new Safari daemon. The launchd related feature is only on iOS and therefore it really doesn't make sense to overcome
all the above macOS constraints. Having different architectures on iOS (a daemon) and on macOS (a XPC service) accordingly will introduce
tons of overhead for maintainance as well. That's why relying on a Safari daemon to do the job is the most reasonable option.

This patch therefore focuses on making the WebAuthn process happen and removes the WebAuthn daemon.

  • CMakeLists.txt:
  • Configurations/WebAuthnService.xcconfig: Renamed from Source/WebKit/Configurations/WebAuthenticationAgent.xcconfig.
  • Configurations/WebKit.xcconfig:
  • Daemons/WebAuthenticationAgent/WebAuthenticationAgent.entitlements: Removed.
  • Daemons/WebAuthenticationAgent/com.apple.webkit.WebAuthenticationAgent.plist: Removed.
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:

Paperwork for building the new WebAuthn process.

  • Platform/ExtraPrivateSymbolsForTAPI.h:
  • Shared/AuxiliaryProcess.h:
  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

  • Shared/mac/AuxiliaryProcessMac.mm:

(WebKit::processStorageClass):
(WebKit::sandboxDirectory):
Paperwork for introducing the new WebAuthn process. Mostly copied from GPU process.

  • Sources.txt:
  • SourcesCocoa.txt:

Paperwork for building the new WebAuthn process.

  • UIProcess/AuxiliaryProcessProxy.cpp:

(WebKit::AuxiliaryProcessProxy::getLaunchOptions):

  • UIProcess/Launcher/ProcessLauncher.h:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::serviceName):
(WebKit::shouldLeakBoost):

  • UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp: Added.

(WebKit::WebAuthnProcessProxy::singleton):
(WebKit::WebAuthnProcessProxy::WebAuthnProcessProxy):
(WebKit::WebAuthnProcessProxy::getLaunchOptions):
(WebKit::WebAuthnProcessProxy::connectionWillOpen):
(WebKit::WebAuthnProcessProxy::processWillShutDown):
(WebKit::WebAuthnProcessProxy::getWebAuthnProcessConnection):
(WebKit::WebAuthnProcessProxy::webAuthnProcessCrashed):
(WebKit::WebAuthnProcessProxy::didClose):
(WebKit::WebAuthnProcessProxy::didReceiveInvalidMessage):
(WebKit::WebAuthnProcessProxy::didFinishLaunching):
(WebKit::WebAuthnProcessProxy::updateProcessAssertion):

  • UIProcess/WebAuthentication/WebAuthnProcessProxy.h: Added.
  • UIProcess/WebAuthentication/WebAuthnProcessProxy.messages.in: Added.
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::getWebAuthnProcessConnection):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getWebAuthnProcessConnection):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-OSX.plist: Copied from Source/WebKit/Daemons/WebAuthenticationAgent/Info.plist.
  • WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-iOS.plist: Renamed from Source/WebKit/Daemons/WebAuthenticationAgent/Info.plist.
  • WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnServiceEntryPoint.mm: Copied from Source/WebKit/Daemons/WebAuthenticationAgent/main.mm.

(WebKit::WebAuthnServiceInitializerDelegate::WebAuthnServiceInitializerDelegate):
(WebKit::initializeAuxiliaryProcess<WebAuthnProcess>):
(WEBAUTHEN_SERVICE_INITIALIZER):

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.cpp: Added.

(WebKit::WebAuthnConnectionToWebProcess::create):
(WebKit::WebAuthnConnectionToWebProcess::WebAuthnConnectionToWebProcess):
(WebKit::WebAuthnConnectionToWebProcess::~WebAuthnConnectionToWebProcess):
(WebKit::WebAuthnConnectionToWebProcess::didClose):
(WebKit::WebAuthnConnectionToWebProcess::didReceiveInvalidMessage):

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.h: Copied from Source/WebKit/Daemons/WebAuthenticationAgent/main.mm.

(WebKit::WebAuthnConnectionToWebProcess::connection):
(WebKit::WebAuthnConnectionToWebProcess::WebAuthnProcessProcess):
(WebKit::WebAuthnConnectionToWebProcess::webProcessIdentifier const):

  • WebAuthnProcess/WebAuthnConnectionToWebProcess.messages.in: Added.
  • WebAuthnProcess/WebAuthnProcess.cpp: Added.

(WebKit::WebAuthnProcess::WebAuthnProcess):
(WebKit::WebAuthnProcess::~WebAuthnProcess):
(WebKit::WebAuthnProcess::createWebAuthnConnectionToWebProcess):
(WebKit::WebAuthnProcess::removeWebAuthnConnectionToWebProcess):
(WebKit::WebAuthnProcess::connectionToWebProcessClosed):
(WebKit::WebAuthnProcess::shouldTerminate):
(WebKit::WebAuthnProcess::didClose):
(WebKit::WebAuthnProcess::lowMemoryHandler):
(WebKit::WebAuthnProcess::initializeWebAuthnProcess):
(WebKit::WebAuthnProcess::prepareToSuspend):
(WebKit::WebAuthnProcess::processDidResume):
(WebKit::WebAuthnProcess::resume):
(WebKit::WebAuthnProcess::processDidTransitionToForeground):
(WebKit::WebAuthnProcess::processDidTransitionToBackground):
(WebKit::WebAuthnProcess::webProcessConnection const):

  • WebAuthnProcess/WebAuthnProcess.h: Added.
  • WebAuthnProcess/WebAuthnProcess.messages.in: Added.
  • WebAuthnProcess/WebAuthnProcessCreationParameters.cpp: Copied from Source/WebKit/Daemons/WebAuthenticationAgent/main.mm.

(WebKit::WebAuthnProcessCreationParameters::encode const):
(WebKit::WebAuthnProcessCreationParameters::decode):

  • WebAuthnProcess/WebAuthnProcessCreationParameters.h: Copied from Source/WebKit/Daemons/WebAuthenticationAgent/main.mm.
  • WebAuthnProcess/ios/WebAuthnProcessIOS.mm: Copied from Source/WebKit/Daemons/WebAuthenticationAgent/main.mm.

(WebKit::WebAuthnProcess::initializeProcess):
(WebKit::WebAuthnProcess::initializeProcessName):
(WebKit::WebAuthnProcess::initializeSandbox):

  • WebAuthnProcess/mac/WebAuthnProcessMac.mm: Added.

(WebKit::WebAuthnProcess::initializeProcess):
(WebKit::WebAuthnProcess::initializeProcessName):
(WebKit::WebAuthnProcess::initializeSandbox):
Paperwork for introducing the new WebAuthn process. Mostly copied from GPU process.

  • WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in: Added.

The sandbox profile is originally from the GPU Process with IOKit related rules removed. Will tighten it again after the process is fully functional.

  • WebKit.xcodeproj/project.pbxproj:

Paperwork for building the new WebAuthn process.

  • WebProcess/WebAuthentication/WebAuthnProcessConnection.cpp: Copied from Source/WebKit/Daemons/WebAuthenticationAgent/main.mm.

(WebKit::WebAuthnProcessConnection::WebAuthnProcessConnection):
(WebKit::WebAuthnProcessConnection::~WebAuthnProcessConnection):
(WebKit::WebAuthnProcessConnection::didClose):
(WebKit::WebAuthnProcessConnection::didReceiveInvalidMessage):

  • WebProcess/WebAuthentication/WebAuthnProcessConnection.h: Renamed from Source/WebKit/Daemons/WebAuthenticationAgent/main.mm.

(WebKit::WebAuthnProcessConnection::create):
(WebKit::WebAuthnProcessConnection::connection):

  • WebProcess/WebAuthentication/WebAuthnProcessConnection.messages.in: Added.
  • WebProcess/WebAuthentication/WebAuthnProcessConnectionInfo.h: Added.

(WebKit::WebAuthnProcessConnectionInfo::identifier const):
(WebKit::WebAuthnProcessConnectionInfo::releaseIdentifier):
(WebKit::WebAuthnProcessConnectionInfo::encode const):
(WebKit::WebAuthnProcessConnectionInfo::decode):

  • WebProcess/WebProcess.cpp:

(WebKit::getWebAuthnProcessConnection):
(WebKit::WebProcess::ensureWebAuthnProcessConnection):
(WebKit::WebProcess::webAuthnProcessConnectionClosed):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::existingWebAuthnProcessConnection):
Paperwork for introducing the new WebAuthn process. Mostly copied from GPU process.

12:37 PM Changeset in webkit [268604] by weinig@apple.com
  • 11 edits
    2 adds in trunk/Tools

[Testing] Support configuring any preference from test headers for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=217645

Reviewed by Tim Horton.

Support using any preference defined in any of the WebPreference*.yaml configuration files
as a test header command rather than limiting it to a hard coded subset by generating the
list of supported commands and their types from the yaml files themselves.

This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree
in subsequent changes.

  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/DerivedSources-input.xcfilelist:
  • WebKitTestRunner/DerivedSources-output.xcfilelist:
  • WebKitTestRunner/DerivedSources.make:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/Scripts/PreferencesTemplates: Added.
  • WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.

Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using
the shared GeneratePreferences.rb script in WTF.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
Move preference setting to the bottom of the file to allow any preference
to be overriden. Also adds in support for double, uint32_t, and string preferences
though none of those are currently being used.

  • WebKitTestRunner/TestOptions.cpp:

(WTR::TestOptions::keyTypeMapping):
Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding
all the preferences types.

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::boolWebPreferenceFeatures const):
(WTR::TestOptions::doubleWebPreferenceFeatures const):
(WTR::TestOptions::uint32WebPreferenceFeatures const):
(WTR::TestOptions::stringWebPreferenceFeatures const):
Expose accessors for preferences values for use in setting the actual preference
values. Rather than setting all preferences, we now only set preferences that have
been explicitly requested, using the default value for any that have not.

12:32 PM Changeset in webkit [268603] by don.olmstead@sony.com
  • 18 edits
    1 copy
    1 add in trunk/Source/WebCore

[WebGPU] Centralize Platform Defines
https://bugs.webkit.org/show_bug.cgi?id=217725

Reviewed by Myles C. Maxfield.

Centralize all the Metal forward declarations and GPU platform type definitions
into GPUPlatformTypesMetal.h. Each platform implementing WebGPU will have its own
version of the file which contains the same definitions. This file is then
referenced by GPUPlatformTypes.h.

This is in preparation for adding a Dawn based implementation which requires
more substantial definitions than the Metal backend.

No new tests. No change in behavior.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/gpu/GPUBindGroup.h:
  • platform/graphics/gpu/GPUBindGroupAllocator.h:
  • platform/graphics/gpu/GPUBindGroupLayout.h:
  • platform/graphics/gpu/GPUBuffer.h:

(WebCore::GPUBuffer::platformBuffer const):

  • platform/graphics/gpu/GPUCommandBuffer.h:
  • platform/graphics/gpu/GPUComputePassEncoder.h:
  • platform/graphics/gpu/GPUComputePipeline.h:
  • platform/graphics/gpu/GPUDevice.h:
  • platform/graphics/gpu/GPUPlatformTypes.h: Added.
  • platform/graphics/gpu/GPUProgrammablePassEncoder.h:
  • platform/graphics/gpu/GPUQueue.h:
  • platform/graphics/gpu/GPURenderPassEncoder.h:
  • platform/graphics/gpu/GPURenderPipeline.h:
  • platform/graphics/gpu/GPUSampler.h:
  • platform/graphics/gpu/GPUShaderModule.h:
  • platform/graphics/gpu/GPUSwapChain.h:
  • platform/graphics/gpu/GPUTexture.h:
  • platform/graphics/gpu/cocoa/GPUPlatformTypesMetal.h: Added.
12:20 PM Changeset in webkit [268602] by jiewen_tan@apple.com
  • 4 edits in trunk

[WebAuthn] Remove the "alg" field in the attestation statement
https://bugs.webkit.org/show_bug.cgi?id=217720
<rdar://problem/70349734>

Reviewed by Brent Fulgham.

Source/WebKit:

This old field was used in an unreleased old attestation statement format and is not used by
the final attestation statement format that will be added to the spec:
https://github.com/w3c/webauthn/pull/1491.

Therefore, remove it to resolve confusion.

Covered by existing tests.

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):

LayoutTests:

  • http/wpt/webauthn/public-key-credential-create-success-local.https.html:
12:18 PM Changeset in webkit [268601] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[build.webkit.org Rename slave to worker in steps.py
https://bugs.webkit.org/show_bug.cgi?id=217836

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/steps.py: Renamed slave to worker.
  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
11:31 AM Changeset in webkit [268600] by Chris Dumez
  • 11 edits in trunk

Move even more AudioContext-specific logic out of BaseAudioContext
https://bugs.webkit.org/show_bug.cgi?id=217803

Reviewed by Eric Carlson.

Source/WebCore:

Move even more AudioContext-specific logic out of BaseAudioContext and
into AudioContext. In particular, all the logic related to autoplay
restrictions, audible state, and platform media session interruptions
only apply to AudioContext and not OfflineAudioContext.

No new tests, no Web-facing behavior change.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::shouldDocumentAllowWebAudioToAutoPlay):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::constructCommon):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::willPausePlayback):
(WebCore::AudioContext::mediaState const):
(WebCore::AudioContext::mayResumePlayback):
(WebCore::AudioContext::willBeginPlayback):
(WebCore::AudioContext::visibilityStateChanged):
(WebCore::AudioContext::suspend):
(WebCore::AudioContext::resume):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::hostingDocumentIdentifier const):
(WebCore::AudioContext::isSuspended const):
(WebCore::AudioContext::pageMutedStateDidChange):
(WebCore::AudioContext::mediaCanStart):
(WebCore::AudioContext::logger const):

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::behaviorRestrictions const):
(WebCore::AudioContext::addBehaviorRestriction):
(WebCore::AudioContext::removeBehaviorRestriction):
(WebCore::AudioContext::userGestureRequiredForAudioStart const):
(WebCore::AudioContext::pageConsentRequiredForAudioStart const):

  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::BaseAudioContext):
(WebCore::BaseAudioContext::~BaseAudioContext):

  • Modules/webaudio/BaseAudioContext.h:
  • Modules/webaudio/OfflineAudioContext.cpp:

(WebCore::OfflineAudioContext::startOfflineRendering):

  • testing/Internals.cpp:

(WebCore::Internals::setAudioContextRestrictions):

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

LayoutTests:

Update test that was trying to set the autoplay restrictions on an OfflineAudioContext
to make sure they did not apply. Now that the autoplay restrictions are on AudioContext
instead of BaseAudioContext, they definitely do not apply to OfflineAudioContext and it
is not even possible to set the restrictions on an OfflineAudioContext. I updated the
test to use webkitOfflineAudioContext when available since WebKitOfflineAudioContext
does inherit WebKitAudioContext.

  • webaudio/offlineaudiocontext-restriction.html:
11:29 AM Changeset in webkit [268599] by weinig@apple.com
  • 13 edits in trunk/Source

ENABLE_LEGACY_CSS_VENDOR_PREFIXES and RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled() don't do anything
https://bugs.webkit.org/show_bug.cgi?id=217833

Reviewed by Simon Fraser.

Source/WebCore:

Remove support for ENABLE_LEGACY_CSS_VENDOR_PREFIXES, which only guarded code
that also checked legacyCSSVendorPrefixesEnabled(), which was never enabled.

  • css/CSSStyleDeclaration.cpp:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::cssPropertyID):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setLegacyCSSVendorPrefixesEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled const): Deleted.

Source/WTF:

  • wtf/PlatformEnable.h:
  • wtf/PlatformEnableCocoa.h:

Remove support for ENABLE_LEGACY_CSS_VENDOR_PREFIXES, which only guarded code that was always disabled.

10:52 AM Changeset in webkit [268598] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

[LFC][Integration] Allow images in inline content
https://bugs.webkit.org/show_bug.cgi?id=217757

Reviewed by Zalan Bujtas.

Add support for inline images in integrated modern inline layout.
This patch doesn't yet enable the support (it is behind an ifdef).

  • dom/Position.cpp:

(WebCore::Position::ensureLineBoxes const):

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::geometryForBox const):

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

  • layout/integration/LayoutIntegrationBoxTree.cpp:

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

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::updateReplacedDimensions):
(WebCore::LayoutIntegration::LineLayout::constructContent):
(WebCore::LayoutIntegration::LineLayout::prepareLayoutState):
(WebCore::LayoutIntegration::LineLayout::paint):

  • layout/integration/LayoutIntegrationLineLayout.h:
  • layout/layouttree/LayoutReplacedBox.h:

(WebCore::Layout::ReplacedBox::contentSizeForIntegration const):
(WebCore::Layout::ReplacedBox::setContentSizeForIntegration):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutLFCLines):

  • rendering/RenderLineBreak.cpp:
10:49 AM Changeset in webkit [268597] by Jonathan Bedard
  • 7 edits in trunk/Tools

[webkitpy] Use webkitcorepy's autoinstaller for plint
https://bugs.webkit.org/show_bug.cgi?id=217793
<rdar://problem/70356095>

Rubber-stamped by Aakash Jain.

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

(AutoInstall): Support multiple aliases to a single library.
(AutoInstall.register):
(AutoInstall.install):
(AutoInstall.install_everything):

  • Scripts/webkitpy/init.py: Add pylint, map install zope.interface when zope is imported.
  • Scripts/webkitpy/style/checkers/python.py:

(Pylinter.run):

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module): Remove _install_pylint().
(AutoinstallImportHook._install_pylint): Deleted.

  • Scripts/webkitpy/thirdparty/init_unittest.py:

(ThirdpartyTest.test_imports): mechanize and pylint are managed by the new autoinstaller.

10:45 AM Changeset in webkit [268596] by aakash_jain@apple.com
  • 4 edits in trunk/Tools

[build.webkit.org] buildbot checkconfig fails when passwords.json is missing
https://bugs.webkit.org/show_bug.cgi?id=217831

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg: Set is_test_mode_enabled based on BUILDBOT_TESTING env variable.
  • BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Renamed test_mode_is_enabled to is_test_mode_enabled to

be consistent with EWS code.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
9:33 AM Changeset in webkit [268595] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Add copyright message to steps_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=217830

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
9:06 AM Changeset in webkit [268594] by aakash_jain@apple.com
  • 5 edits
    1 delete in trunk/Tools

[build.webkit.org] Remove SVNMirror
https://bugs.webkit.org/show_bug.cgi?id=217823

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/factories.py: Removed SVNMirror.
  • BuildSlaveSupport/build.webkit.org-config/steps.py: Ditto.
  • BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ditto.

(WaitForSVNServer): Deleted.
(WaitForSVNServer.evaluateCommand): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
  • BuildSlaveSupport/wait-for-SVN-server.py: Removed.
8:52 AM Changeset in webkit [268593] by sbarati@apple.com
  • 3 edits
    1 add in trunk

Don't emit OpSpread with a constant as the destination
https://bugs.webkit.org/show_bug.cgi?id=217800
<rdar://problem/69492311>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/spread-should-not-have-a-constant-as-dst.js: Added.

(foo):
(bar):

Source/JavaScriptCore:

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):

8:38 AM Changeset in webkit [268592] by youenn@apple.com
  • 4 edits in trunk

sdpFmtLine should be missing from RTCRtpCodecCapability instead of being an empty string
https://bugs.webkit.org/show_bug.cgi?id=217818

Reviewed by Eric Carlson.

Source/WebCore:

Covered by updated test.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:

(WebCore::toRTCRtpCapabilities):
If line is empty, make sure to return a null string instead.

LayoutTests:

  • webrtc/video-mute-vp8.html:
8:27 AM Changeset in webkit [268591] by clopez@igalia.com
  • 4 edits in trunk/Tools

[JHBuild] Update libwpe and wpebackend-fdo and add libmanette to minimal moduleset
https://bugs.webkit.org/show_bug.cgi?id=217825

Reviewed by Adrian Perez de Castro.

libmanette 0.2.4 is required for enabling gamepad support, which
defaults to on since r268389 for developer builds. The version
shipped by ubuntu-20.04 is not enough (0.2.3), so we should include
this on the minimal moduleset which is used to generate the bundle
products on the packaging bots.

Seize to also update the libwpe and wpebackend-fdo libraries.

  • gtk/jhbuild.modules:
  • jhbuild/jhbuild-minimal.modules:
  • wpe/jhbuild.modules:
8:22 AM Changeset in webkit [268590] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] Remove unused ElementType values from the registry scanner
https://bugs.webkit.org/show_bug.cgi?id=217824

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

r268576 introduced new values in the ElementType enum but they were unused and introduced
inconsistency in in fillMimeTypeSetFromCapsMapping(). If this function needs to be used for
encoding configurations it will need to be refactored but that's not a scenario I foresee,
so for now, remove unused enum values.

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::fillMimeTypeSetFromCapsMapping):

  • platform/graphics/gstreamer/GStreamerRegistryScanner.h:
7:46 AM Changeset in webkit [268589] by commit-queue@webkit.org
  • 3 edits
    154 deletes in trunk

Tools:
Match webkitpy.port.base.Port's merging of .webarchive/.txt
https://bugs.webkit.org/show_bug.cgi?id=217795

Patch by Sam Sneddon <Sam Sneddon> on 2020-10-16
Reviewed by Alexey Proskuryakov.

  • Scripts/check-for-duplicated-platform-test-results:

(check_duplicate): Check for both .webarchive and .txt
(check_platform): Don't call the function that probably just threw

LayoutTests:
Remove redundant baselines in platform/
https://bugs.webkit.org/show_bug.cgi?id=217795

Patch by Sam Sneddon <Sam Sneddon> on 2020-10-16
Reviewed by Alexey Proskuryakov.

  • platform/glib/animations/steps-transform-rendering-updates-expected.txt: Removed.
  • platform/glib/fast/canvas/fallback-content-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/close-before-open-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/close-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/extensions-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/invalid-encode-length-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/invalid-masked-frames-from-server-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/long-control-frame-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/long-invalid-header-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/network-process-crash-error-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/reserved-bits-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/too-long-payload-expected.txt: Removed.
  • platform/glib/http/tests/websocket/tests/hybi/websocket-event-target-expected.txt: Removed.
  • platform/glib/imported/w3c/web-platform-tests/css/css-values/minmax-angle-computed-expected.txt: Removed.
  • platform/glib/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter-expected.txt: Removed.
  • platform/glib/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-tail-expected.txt: Removed.
  • platform/glib/webaudio/Analyser/realtimeanalyser-fftsize-reset-expected.txt: Removed.
  • platform/glib/webaudio/Analyser/realtimeanalyser-multiple-calls-expected.txt: Removed.
  • platform/gtk/fast/css/pseudo-invalid-form-invalidation-optimization-expected.txt: Removed.
  • platform/gtk/fast/css/pseudo-valid-form-invalidation-optimization-expected.txt: Removed.
  • platform/gtk/fast/events/js-keyboard-event-creation-expected.txt: Removed.
  • platform/gtk/fast/events/nested-window-event-expected.txt: Removed.
  • platform/gtk/http/tests/security/mixedContent/websocket/insecure-websocket-in-iframe-expected.txt: Removed.
  • platform/gtk/http/tests/security/mixedContent/websocket/insecure-websocket-in-main-frame-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/telephone-expected.txt: Removed.
  • platform/ios-wk2/compositing/repaint/repaint-on-layer-grouping-change-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/5002441-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-3778059-fix-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-at-tabspan-001-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-at-tabspan-002-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-at-tabspan-003-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-quoted-001-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-quoted-002-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-quoted-003-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-quoted-004-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-quoted-005-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-br-quoted-006-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-div-020-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-div-022-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-div-026-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/insert-text-with-newlines-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/paragraph-separator-01-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/paragraph-separator-in-table-2-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/return-key-with-selection-001-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/return-key-with-selection-002-expected.txt: Removed.
  • platform/ios-wk2/editing/inserting/return-key-with-selection-003-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/5601583-1-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/8145-2-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/bad-placeholder-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-4038267-fix-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-001-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-002-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-003-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-004-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-005-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-006-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-007-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-008-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-009-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-010-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-match-style-001-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-match-style-002-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-text-016-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/paste-text-019-expected.txt: Removed.
  • platform/ios-wk2/editing/pasteboard/quirks-mode-br-1-expected.txt: Removed.
  • platform/ios-wk2/editing/selection/editable-html-element-expected.txt: Removed.
  • platform/ios-wk2/editing/selection/paragraph-granularity-expected.txt: Removed.
  • platform/ios-wk2/editing/selection/select-all-iframe-expected.txt: Removed.
  • platform/ios-wk2/editing/selection/selection-actions-expected.txt: Removed.
  • platform/ios-wk2/editing/selection/word-granularity-expected.txt: Removed.
  • platform/ios-wk2/editing/style/5046875-2-expected.txt: Removed.
  • platform/ios-wk2/editing/style/block-styles-007-expected.txt: Removed.
  • platform/ios-wk2/editing/style/create-block-for-style-001-expected.txt: Removed.
  • platform/ios-wk2/editing/style/create-block-for-style-002-expected.txt: Removed.
  • platform/ios-wk2/editing/style/create-block-for-style-003-expected.txt: Removed.
  • platform/ios-wk2/editing/style/create-block-for-style-004-expected.txt: Removed.
  • platform/ios-wk2/editing/style/create-block-for-style-013-expected.txt: Removed.
  • platform/ios-wk2/editing/style/style-3998892-fix-expected.txt: Removed.
  • platform/ios-wk2/editing/style/style-boundary-001-expected.txt: Removed.
  • platform/ios-wk2/editing/style/style-boundary-004-expected.txt: Removed.
  • platform/ios-wk2/editing/unsupported-content/list-delete-003-expected.txt: Removed.
  • platform/ios-wk2/editing/unsupported-content/list-type-after-expected.txt: Removed.
  • platform/ios-wk2/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt: Removed.
  • platform/ios-wk2/fast/dom/focus-contenteditable-expected.txt: Removed.
  • platform/ios-wk2/fast/forms/basic-textareas-expected.txt: Removed.
  • platform/ios-wk2/fast/forms/textarea-placeholder-pseudo-style-expected.txt: Removed.
  • platform/ios-wk2/fast/forms/textarea-scrollbar-expected.txt: Removed.
  • platform/ios-wk2/fast/forms/textarea-scrolled-type-expected.txt: Removed.
  • platform/ios-wk2/fast/forms/textfield-outline-expected.txt: Removed.
  • platform/ios-wk2/fast/frames/onlyCommentInIFrame-expected.txt: Removed.
  • platform/ios-wk2/fast/inline-block/tricky-baseline-expected.txt: Removed.
  • platform/ios-wk2/fast/overflow/overflow-float-stacking-expected.txt: Removed.
  • platform/ios-wk2/fast/overflow/overflow-stacking-expected.txt: Removed.
  • platform/ios-wk2/fast/overflow/overflow-x-y-expected.txt: Removed.
  • platform/ios-wk2/fast/overflow/position-fixed-transform-clipping-expected.txt: Removed.
  • platform/ios-wk2/fast/text/international/thai-baht-space-expected.txt: Removed.
  • platform/ios-wk2/fast/transforms/transformed-caret-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt: Removed.
  • platform/ios/fast/canvas/set-colors-expected.txt: Removed.
  • platform/ios/fast/scrolling/adjust-scroll-offset-on-zoom-expected.txt: Removed.
  • platform/mac-bigsur/fast/block/margin-collapse/103-expected.txt: Removed.
  • platform/mac-catalina/fast/block/margin-collapse/103-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/button-table-styles-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/date/date-input-rendering-basic-expected.png: Removed.
  • platform/mac-catalina/fast/forms/input-disabled-color-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/input-readonly-dimmed-expected.txt: Removed.
  • platform/mac-catalina/fast/forms/select-change-popup-to-listbox-expected.txt: Removed.
  • platform/mac-catalina/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: Removed.
  • platform/mac-mojave/fast/block/basic/001-expected.txt: Removed.
  • platform/mac-mojave/fast/block/margin-collapse/103-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/button-table-styles-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/date/date-input-rendering-basic-expected.png: Removed.
  • platform/mac-mojave/fast/forms/input-disabled-color-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/input-readonly-dimmed-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/plaintext-mode-2-expected.txt: Removed.
  • platform/mac-mojave/fast/forms/select-change-popup-to-listbox-expected.txt: Removed.
  • platform/mac-mojave/fast/text/indic-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt: Removed.
  • platform/mac-mojave/tables/mozilla/other/wa_table_tr_align-expected.txt: Removed.
  • platform/mac-wk2/fast/forms/time/time-appearance-basic-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/form-controls/resets-expected.txt: Removed.
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter-expected.txt: Removed.
  • platform/mac/fast/canvas/set-colors-expected.txt: Removed.
  • platform/mac/http/tests/webarchive/test-preload-resources-expected.txt: Removed.
  • platform/mac/svg/custom/image-with-prefix-in-webarchive-expected.txt: Removed.
  • platform/mac/svg/webarchive/svg-feimage-subresources-expected.txt: Removed.
  • platform/mac/webarchive/adopt-attribute-styled-body-webarchive-expected.txt: Removed.
  • platform/mac/webarchive/adopt-attribute-styled-node-webarchive-expected.txt: Removed.
  • platform/mac/webarchive/adopt-inline-styled-node-webarchive-expected.txt: Removed.
  • platform/mac/webarchive/archive-empty-frame-dom-expected.txt: Removed.
  • platform/mac/webarchive/archive-empty-frame-source-expected.txt: Removed.
  • platform/mac/webarchive/archive-with-unencoded-url-expected.txt: Removed.
  • platform/mac/webarchive/css-page-rule-crash-expected.txt: Removed.
  • platform/mac/webarchive/doctype-expected.txt: Removed.
  • platform/mac/webarchive/ignore-noscript-if-scripting-enabled-expected.txt: Removed.
  • platform/mac/webarchive/test-body-background-expected.txt: Removed.
  • platform/mac/webarchive/test-css-import-expected.txt: Removed.
  • platform/mac/webarchive/test-duplicate-resources-expected.txt: Removed.
  • platform/mac/webarchive/test-frameset-expected.txt: Removed.
  • platform/mac/webarchive/test-img-src-expected.txt: Removed.
  • platform/mac/webarchive/test-input-src-expected.txt: Removed.
  • platform/mac/webarchive/test-link-href-expected.txt: Removed.
  • platform/mac/webarchive/test-object-data-expected.txt: Removed.
  • platform/mac/webarchive/test-script-src-expected.txt: Removed.
  • platform/mac/webarchive/test-table-background-expected.txt: Removed.
  • platform/mac/webarchive/test-td-background-expected.txt: Removed.
  • platform/mac/webarchive/test-xml-stylesheet-expected.txt: Removed.
  • platform/win/animations/steps-transform-rendering-updates-expected.txt: Removed.
  • platform/win/editing/style/apply-through-end-of-document-expected.txt: Removed.
  • platform/win/fast/dom/HTMLProgressElement/progress-element-with-child-crash-expected.txt: Removed.
  • platform/wincairo/animations/steps-transform-rendering-updates-expected.txt: Removed.
  • platform/wincairo/editing/style/apply-through-end-of-document-expected.txt: Removed.
  • platform/wpe/http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/css/css-sizing/percentage-height-in-flexbox-expected.txt: Removed.
7:17 AM Changeset in webkit [268588] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r266932): [ Mojave+ wk2 ] fast/scrolling/latching/latched-scroll-into-nonfast-region.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217001

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
7:12 AM Changeset in webkit [268587] by commit-queue@webkit.org
  • 8 edits in trunk/Source

REGRESSION(r267727): Warning spam from JSC_DECLARE_CUSTOM_GETTER
https://bugs.webkit.org/show_bug.cgi?id=217585

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-10-16
Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

A small number of source files now need to use JSC_DECLARE_CUSTOM_GETTER_WITHOUT_WTF_INTERNAL.

  • b3/testb3_5.cpp:
  • b3/testb3_7.cpp:
  • tools/JSDollarVM.cpp:

Source/WebCore:

SelectorCompiler.cpp needs the new JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL.

  • cssjit/SelectorCompiler.cpp:

Source/WTF:

The problem is that the declarations are static, so WTF_INTERNAL is redundant with that.
(File-static declarations are of course local to the current file, and apparently GCC really
wants us to not hide symbols that don't need to be hidden.)

I considered remove WTF_INTERNAL from JSC_DECLARE_JIT_OPERATION and ensuring all uses are
static, but it's not possible because it is frequently used in header files. It should only
be static when used in .cpp files.

So I decided to split JSC_DECLARE_JIT_OPERATION into two versions, the current one that uses
WTF_INTERNAL, and JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL that doesn't. That is not a
great name, but it's only used in a couple places, so I guess that's OK.
JSC_DECLARE_CUSTOM_GETTER and JSC_DECLARE_CUSTOM_SETTER use this new version, since those
are only used in static declarations in .cpp files. A small number of source files also need
the version without the WTF_INTERNAL. All other users can continue to use original
JSC_DECLARE_JIT_OPERATION with WTF_INTERNAL and not worry about the ugly name.

I'm not terribly happy with this solution, and it's a little fragile too (you probably won't
directly use JSC_DECLARE_JIT_OPERATION_WITHOUT_WTF_INTERNAL in a place that needs
WTF_INTERNAL, but you might use JSC_DECLARE_CUSTOM_GETTER and JSC_DECLARE_CUSTOM_SETTER in
such a way!), but at least it will avoid the warning spam and allow us to see warnings for
real problems.

  • wtf/PlatformCallingConventions.h:
6:21 AM Changeset in webkit [268586] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, follow-up to r268576

Revert a chunk of r268576 that introduced a regression in audio-related tests.

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::fillMimeTypeSetFromCapsMapping): Add an ASSERT and
modify mime-type and codec hashmaps in-place.

6:03 AM Changeset in webkit [268585] by Andres Gonzalez
  • 10 edits in trunk/Source/WebCore

Refactor [WebAccessibilityObjectWrapper convertRectToSpace] so that the platform-specific code is in their corresponding AX object platform implementations.
https://bugs.webkit.org/show_bug.cgi?id=217785

Reviewed by Chris Fleizach.

No change in functionality, code refactor and cleanup.

[WebAccessibilityObjectWrapperBase convertRectToSpace] had two different
code paths for Mac and iOS, defeating the purpose of a base class.
This re-factoring Simplifies the wrapper code by moving the platform-
specific implementations to their corresponding AX object implementations
of convertRectToPlatformSpace.
Some code cleanup.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/ios/AccessibilityObjectIOS.mm:

(WebCore::AccessibilityObject::topDocumentFrameView const):
(WebCore::AccessibilityObject::convertRectToPlatformSpace const):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityWebDocumentView]):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::convertRectToPlatformSpace const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::topDocumentFrameView const):
(WebCore::AccessibilityObject::convertRectToPlatformSpace const):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase convertRectToSpace:space:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper position]):

5:53 AM Changeset in webkit [268584] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Win10 wk1 ews ] transforms/2d/translate-change-composited.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217812

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:51 AM Changeset in webkit [268583] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update test expectations after r268575.

Added several failures from new added tests.

  • platform/glib/TestExpectations:
5:45 AM Changeset in webkit [268582] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Win10 wk1 ews ] transforms/2d/rotate-change-composited.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217812

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:33 AM Changeset in webkit [268581] by clopez@igalia.com
  • 2 edits in trunk/Tools

Ensure the tests are run with US/Pacific time zone
https://bugs.webkit.org/show_bug.cgi?id=186612

Reviewed by Michael Catanzaro.

Some tests fail if the time zone is not set to US/Pacific, and
this causes issues for contributors living outside of that timezone.
Ideally we should fix those tests, but in the meantime setting this
environment variable before starting the layout tests seems like
an acceptable workaround. Note that something similar is also
already done for the JSC tests.

  • Scripts/webkitpy/port/base.py:

(Port.setup_environ_for_server):

5:33 AM Changeset in webkit [268580] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Win10 wk1 ews ] transforms/2d/scale-change-composited.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217812

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:22 AM Changeset in webkit [268579] by Philippe Normand
  • 5 edits in trunk/Source/WebCore

[GStreamer] Audio worklet support
https://bugs.webkit.org/show_bug.cgi?id=217760

Reviewed by Xabier Rodriguez-Calvar.

This patch hooks WebAudio worklet rendering support into the GStreamer WebAudio backend.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::start): Set the render callback if it was provided.

  • platform/audio/gstreamer/AudioDestinationGStreamer.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcAllocateBuffersAndRenderAudio): Invoke the bus rendering through the
render callback if it was set.
(webkitWebAudioSourceSetDispatchToRenderThreadCallback):

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.h:
3:55 AM Changeset in webkit [268578] by commit-queue@webkit.org
  • 16 edits
    1 copy
    1 add in trunk/Source/WebCore

Refactor WebGL implementation to use only GraphicsContextGL part 1
https://bugs.webkit.org/show_bug.cgi?id=217213
<rdar://problem/69876105>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-10-16
Reviewed by Dean Jackson.

Part 1 of work towards WebGL implementation which uses
GraphicsContextGL abstract base class instead of
GraphicsContextGLOpenGL concrete class.

Move pixel data related static helper funcions from
GraphicsContextGLOpenGL to GraphicsContextGL. These are
normal pixel format calculation functions that do not have
concrete class implementation details. Move pixel pack related
structures to GraphicsContextGL.

Rename GraphicsContextGLOpenGL::ImageExtractor to
GraphicsContextGLImageExtractor. The GraphicsContextGL class
interface is already quite lengthy and the image extractor
is not very tied to the context class.

Introduce a virtual member function in GraphicsContextGL for
each call that is likely needed for the WebGL implementation.

No new tests, a refactor.

  • WebCore.xcodeproj/project.pbxproj:
  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getPackPixelStoreParams const):
(WebCore::WebGL2RenderingContext::getUnpackPixelStoreParams const):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texImageArrayBufferViewHelper):
(WebCore::WebGLRenderingContextBase::texImageImpl):
(WebCore::WebGLRenderingContextBase::getPackPixelStoreParams const):
(WebCore::WebGLRenderingContextBase::getUnpackPixelStoreParams const):

  • html/canvas/WebGLRenderingContextBase.h:
  • platform/graphics/GraphicsContextGL.cpp:

(WebCore::getDataFormat):
(WebCore::texelBytesForFormat):
(WebCore::packPixels):
(WebCore::GraphicsContextGL::computeFormatAndTypeParameters):
(WebCore::GraphicsContextGL::computeImageSizeInBytes):
(WebCore::GraphicsContextGL::possibleFormatAndTypeForInternalFormat):
(WebCore::GraphicsContextGL::packImageData):
(WebCore::GraphicsContextGL::extractImageData):
(WebCore::GraphicsContextGL::extractTextureData):

  • platform/graphics/GraphicsContextGL.h:

(WebCore::GraphicsContextGL::Client::~Client):
(WebCore::GraphicsContextGL::addClient):
(WebCore::GraphicsContextGL::removeClient):
(WebCore::GraphicsContextGL::getInternalFramebufferSize const):

  • platform/graphics/GraphicsContextGLImageExtractor.cpp: Copied from Source/WebCore/platform/graphics/win/GraphicsContextGLDirect2D.cpp.

(WebCore::GraphicsContextGLImageExtractor::GraphicsContextGLImageExtractor):

  • platform/graphics/GraphicsContextGLImageExtractor.h: Added.

(WebCore::GraphicsContextGLImageExtractor::extractSucceeded):
(WebCore::GraphicsContextGLImageExtractor::imagePixelData):
(WebCore::GraphicsContextGLImageExtractor::imageWidth):
(WebCore::GraphicsContextGLImageExtractor::imageHeight):
(WebCore::GraphicsContextGLImageExtractor::imageSourceFormat):
(WebCore::GraphicsContextGLImageExtractor::imageAlphaOp):
(WebCore::GraphicsContextGLImageExtractor::imageSourceUnpackAlignment):
(WebCore::GraphicsContextGLImageExtractor::imageHtmlDomSource):

  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:
  • platform/graphics/cairo/GraphicsContextGLCairo.cpp:

(WebCore::GraphicsContextGLImageExtractor::extractImage):

  • platform/graphics/cg/GraphicsContextGLCG.cpp:

(WebCore::GraphicsContextGLImageExtractor::extractImage):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:

(WebCore::GraphicsContextGLOpenGL::texImage2DResourceSafe):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:
  • platform/graphics/win/GraphicsContextGLDirect2D.cpp:

(WebCore::GraphicsContextGLImageExtractor::extractImage):

2:48 AM Changeset in webkit [268577] by youenn@apple.com
  • 22 edits
    5 adds in trunk/Source

Add support for GPUProcess WebAudio media element providers
https://bugs.webkit.org/show_bug.cgi?id=217704

Reviewed by Eric Carlson.

Source/WebCore:

Update AudioSourceProviderAVFObjC so that a specific ring buffer can be provided and to be notified of new samples being pushed.

Covered by existing web audio tests run with GPUProcess.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/AudioSourceProvider.h:

(WebCore::AudioSourceProvider::isHandlingAVPlayer const):

  • platform/audio/cocoa/AudioSampleDataSource.mm:

(WebCore::AudioSampleDataSource::pullSamplesInternal):
When we are too close to the end of available data, do as if we are paused and keep the same time entry for the next read operation.
This will basically make us wait for the next push of data before restarting to read succesfully.

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.h:

(isType):

  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::prepare):
(WebCore::AudioSourceProviderAVFObjC::process):
(WebCore::AudioSourceProviderAVFObjC::setAudioCallback):
(WebCore::AudioSourceProviderAVFObjC::setRingBufferCreationCallback):

  • platform/mediastream/mac/WebAudioSourceProviderCocoa.mm:

(WebCore::WebAudioSourceProviderCocoa::receivedNewAudioSamples):
We should use the input sample rate to compute the input media time.

Source/WebKit:

Introduce RemoteAudioSourceProviderManager which receives IPC messages from GPU process for web audio data.
RemoteAudioSourceProviderManager sends it to the identified RemoteAudioSourceProvider.

Introduce RemoteAudioSourceProviderProxy which is a client to the AV AudioSourceProviderAVFObjC.
RemoteAudioSourceProviderProxy will send IPC messages to RemoteAudioSourceProviderManager to send audio data and description.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/media/RemoteAudioSourceProviderProxy.cpp: Added.

(WebKit::RemoteAudioSourceProviderProxy::create):
(WebKit::RemoteAudioSourceProviderProxy::RemoteAudioSourceProviderProxy):
(WebKit::RemoteAudioSourceProviderProxy::createRingBuffer):
(WebKit::RemoteAudioSourceProviderProxy::newAudioSamples):
(WebKit::RemoteAudioSourceProviderProxy::storageChanged):

  • GPUProcess/media/RemoteAudioSourceProviderProxy.h: Added.
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy):
(WebKit::RemoteMediaPlayerProxy::createAudioSourceProvider):
(WebKit::RemoteMediaPlayerProxy::setShouldEnableAudioSourceProvider):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/GPUProcessConnection.cpp:

(WebKit::GPUProcessConnection::audioSourceProviderManager):

  • WebProcess/GPU/GPUProcessConnection.h:
  • WebProcess/GPU/media/RemoteAudioSourceProvider.cpp:

(WebKit::RemoteAudioSourceProvider::create):
(WebKit::RemoteAudioSourceProvider::RemoteAudioSourceProvider):
(WebKit::RemoteAudioSourceProvider::close):
(WebKit::RemoteAudioSourceProvider::hasNewClient):

  • WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: Added.

(WebKit::RemoteAudioSourceProviderManager::RemoteAudioSourceProviderManager):
(WebKit::RemoteAudioSourceProviderManager::~RemoteAudioSourceProviderManager):
(WebKit::RemoteAudioSourceProviderManager::setConnection):
(WebKit::RemoteAudioSourceProviderManager::addProvider):
(WebKit::RemoteAudioSourceProviderManager::removeProvider):
(WebKit::RemoteAudioSourceProviderManager::dispatchToThread):
(WebKit::RemoteAudioSourceProviderManager::audioStorageChanged):
(WebKit::RemoteAudioSourceProviderManager::audioSamplesAvailable):
(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::RemoteAudio):
(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::setStorage):
(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::audioSamplesAvailable):

  • WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: Added.

(WebKit::RemoteAudioSourceProviderManager::create):

  • WebProcess/GPU/media/RemoteAudioSourceProviderManager.messages.in: Added.
  • WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
1:52 AM Changeset in webkit [268576] by Philippe Normand
  • 11 edits
    1 move in trunk

[GStreamer] Encoder probing support for the registry scanner
https://bugs.webkit.org/show_bug.cgi?id=217750

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The scanner is now able to probe for platform encoders for the most common formats: avc1,
av1, ogg, theora, aac and opus. The muxers for webm and mp4 are also checked.

No new tests, existing mediacapabilities test cover this change.

  • platform/graphics/gstreamer/GStreamerRegistryScanner.cpp:

(WebCore::GStreamerRegistryScanner::GStreamerRegistryScanner):
(WebCore::GStreamerRegistryScanner::~GStreamerRegistryScanner):
(WebCore::GStreamerRegistryScanner::mimeTypeSet):
(WebCore::GStreamerRegistryScanner::isContainerTypeSupported const):
(WebCore::GStreamerRegistryScanner::hasElementForMediaType const):
(WebCore::GStreamerRegistryScanner::fillMimeTypeSetFromCapsMapping):
(WebCore::GStreamerRegistryScanner::initializeDecoders):
(WebCore::GStreamerRegistryScanner::initializeEncoders):
(WebCore::GStreamerRegistryScanner::isCodecSupported const):
(WebCore::GStreamerRegistryScanner::isContentTypeSupported const):
(WebCore::GStreamerRegistryScanner::areAllCodecsSupported const):
(WebCore::GStreamerRegistryScanner::isAVC1CodecSupported const):
(WebCore::GStreamerRegistryScanner::configurationNameForLogging const):
(WebCore::GStreamerRegistryScanner::isConfigurationSupported const):

  • platform/graphics/gstreamer/GStreamerRegistryScanner.h:

(WebCore::GStreamerRegistryScanner::isDecodingSupported const):
(WebCore::GStreamerRegistryScanner::isEncodingSupported const):

  • platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:

(WebCore::ImageDecoderGStreamer::supportsContainerType):
(WebCore::ImageDecoderGStreamer::canDecodeType):

  • platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp:

(WebCore::createMediaPlayerEncodingConfigurationGStreamer):

  • platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
(WebCore::MediaPlayerPrivateGStreamer::supportsType):

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):

  • platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:

(WebCore::MediaPlayerPrivateGStreamerMSE::getSupportedTypes):
(WebCore::MediaPlayerPrivateGStreamerMSE::supportsType):

  • platform/mediacapabilities/MediaEngineConfigurationFactory.cpp:

(WebCore::factories):

LayoutTests:

  • platform/glib/media/mediacapabilities-types-expected.txt: Renamed from LayoutTests/platform/gtk/media/mediacapabilities/mediacapabilities-types-expected.txt.
12:52 AM Changeset in webkit [268575] by jiewen_tan@apple.com
  • 7 edits
    1 copy
    2 adds in trunk/Source

[WebAuthn] Move AppAttestInternal related code from WKA to OpenSource
https://bugs.webkit.org/show_bug.cgi?id=217790
<rdar://problem/59613406>

Reviewed by Brent Fulgham.

Source/WebKit:

Covered by manual testing.

  • Platform/spi/Cocoa/AppAttestSPI.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/AppAttestInternalSoftLink.mm.
  • SourcesCocoa.txt:
  • UIProcess/WebAuthentication/Cocoa/AppAttestInternalSoftLink.h: Added.
  • UIProcess/WebAuthentication/Cocoa/AppAttestInternalSoftLink.mm: Added.
  • UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:

(WebKit::LocalConnection::getAttestation const):

  • UIProcess/WebAuthentication/Cocoa/LocalService.mm:

(WebKit::LocalService::isAvailable):

  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

  • wtf/PlatformHave.h:
12:22 AM Changeset in webkit [268574] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GLIB][GTK] Unreviewed test gardening. Update test expectations after r268573.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
12:09 AM Changeset in webkit [268573] by Diego Pino Garcia
  • 2 edits
    1 move
    1 delete in trunk/LayoutTests

[GTK] Update expectations for editing/pasteboard/drop-text-without-selection.html after r267997

Unreviewed test gardening.

r267997 removed GTK expected baseline for editing/pasteboard/drop-text-without-selection.html, which was stale
after the test was converted into a reftest. After this change, GTK test bot reported the baseline as Missing.
The reason was that the reference test was in platform Mac. Also remove stale GTK expected image.

  • editing/pasteboard/drop-text-without-selection-expected.html: Renamed from LayoutTests/platform/mac/editing/pasteboard/drop-text-without-selection-expected.html.
  • platform/gtk/TestExpectations:
  • platform/gtk/editing/pasteboard/drop-text-without-selection-expected.png: Removed.

Oct 15, 2020:

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

Don't assign a bogus register to Load/ForwardVarargs in AvailabilityAnalysis before stack layout
https://bugs.webkit.org/show_bug.cgi?id=217789
<rdar://problem/69285703>

Reviewed by Keith Miller.

JSTests:

  • stress/dont-assign-bogus-virtual-register-in-availability-analysis-before-stack-layout-runs.js: Added.

(bar):
(foo):

Source/JavaScriptCore:

There is code inside AvailabilityAnalysis phase that was assuming the
Load/ForwardVarargs data was already stack allocated. However, this isn't
guaranteed to be the case. However, we were doing virtual register math on
invalid virtual registers, leading to wonky results. The fix here is to
model it like we do GetStack/PutStack, where we say, before we do stack
allocation, we just tell availability analysis the flush format, but not
where it's flushed.

This was causing validation errors when merging these invalid FlushedAts with
the FlushedAts from GetStack/PutStack.

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

6:51 PM Changeset in webkit [268571] by weinig@apple.com
  • 2 edits in trunk/Tools

Attempt to fix the build.

  • DumpRenderTree/DerivedSources.make: Don't use such fancy substitution, it wasn't working.
6:45 PM Changeset in webkit [268570] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

v2: WebKit::XPCServiceEventHandler block should call exit() on the main thread
<https://webkit.org/b/217773>
<rdar://problem/70275659>

Reviewed by Geoff Garen.

  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

  • Use NSRunLoop instead of libdispatch to run code on the main thread since libdispatch can randomly pick a new main thread when exit() is called on the original main thread.
6:39 PM Changeset in webkit [268569] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

iPhone apps and iPad apps linked before iOS 13 running on macOS get desktop UA unexpectedly
https://bugs.webkit.org/show_bug.cgi?id=217798
<rdar://problem/70254509>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::desktopClassBrowsingRecommended):
Share more of the code with iOS, for compatibility and consistency's sake:
iOS apps running on macOS should use the mobile UA if they are iPhone-only,
or if they were linked on an SDK earlier than iOS 13. This matches their
behavior on iPad.

6:28 PM Changeset in webkit [268568] by clopez@igalia.com
  • 207 edits
    1 move
    2 adds in trunk/LayoutTests

[WPE] Rebaseline after r268520

Unreviewed gardening.

Rebaseline tests affected by r268520 for WPE.
For GTK this tests were rebaselined on r268545.

  • platform/glib/fast/text/whitespace/029-expected.txt: Renamed from LayoutTests/platform/gtk/fast/text/whitespace/029-expected.txt.
  • platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/wpe/css1/color_and_background/background_attachment-expected.txt:
  • platform/wpe/css1/text_properties/text_indent-expected.txt:
  • platform/wpe/fast/backgrounds/background-clip-text-expected.txt:
  • platform/wpe/fast/block/basic/001-expected.txt:
  • platform/wpe/fast/block/float/002-expected.txt:
  • platform/wpe/fast/block/float/021-expected.txt:
  • platform/wpe/fast/block/float/br-with-clear-2-expected.txt: Added.
  • platform/wpe/fast/block/float/float-avoidance-expected.txt:
  • platform/wpe/fast/block/margin-collapse/104-expected.txt:
  • platform/wpe/fast/block/positioning/055-expected.txt:
  • platform/wpe/fast/block/positioning/056-expected.txt:
  • platform/wpe/fast/borders/inline-mask-overlay-image-outset-expected.txt:
  • platform/wpe/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.txt:
  • platform/wpe/fast/box-shadow/basic-shadows-expected.txt:
  • platform/wpe/fast/clip/nestedTransparencyClip-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-generated-content/inline-display-types-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/hsl-color-expected.txt:
  • platform/wpe/fast/css/layerZOrderCrash-expected.txt:
  • platform/wpe/fast/css/line-height-overflow-expected.txt:
  • platform/wpe/fast/css/nth-child-dynamic-expected.txt:
  • platform/wpe/fast/css/rtl-ordering-expected.txt:
  • platform/wpe/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/wpe/fast/css/text-rendering-expected.txt:
  • platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/wpe/fast/dom/HTMLImageElement/image-alt-text-expected.txt:
  • platform/wpe/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
  • platform/wpe/fast/dom/HTMLTableElement/colSpan-expected.txt:
  • platform/wpe/fast/dom/HTMLTableElement/createCaption-expected.txt:
  • platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wpe/fast/dom/children-nodes-expected.txt:
  • platform/wpe/fast/dom/focus-contenteditable-expected.txt:
  • platform/wpe/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
  • platform/wpe/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/wpe/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/wpe/fast/encoding/xmacroman-encoding-test-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-block/inline-block-vertical-align-expected.txt:
  • platform/wpe/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/wpe/fast/invalid/021-expected.txt:
  • platform/wpe/fast/layers/video-layer-expected.txt:
  • platform/wpe/fast/line-grid/line-grid-contains-value-expected.txt:
  • platform/wpe/fast/line-grid/line-grid-floating-expected.txt:
  • platform/wpe/fast/line-grid/line-grid-inside-columns-expected.txt:
  • platform/wpe/fast/line-grid/line-grid-into-columns-expected.txt:
  • platform/wpe/fast/line-grid/line-grid-into-floats-expected.txt:
  • platform/wpe/fast/line-grid/line-grid-positioned-expected.txt:
  • platform/wpe/fast/multicol/float-paginate-complex-expected.txt:
  • platform/wpe/fast/multicol/layers-in-multicol-expected.txt:
  • platform/wpe/fast/multicol/max-height-columns-block-expected.txt:
  • platform/wpe/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
  • platform/wpe/fast/overflow/006-expected.txt:
  • platform/wpe/fast/overflow/line-clamp-expected.txt:
  • platform/wpe/fast/overflow/overflow-stacking-expected.txt:
  • platform/wpe/fast/overflow/overflow-x-y-expected.txt:
  • platform/wpe/fast/overflow/position-fixed-transform-clipping-expected.txt:
  • platform/wpe/fast/overflow/table-overflow-float-expected.txt:
  • platform/wpe/fast/replaced/selection-rect-transform-expected.txt:
  • platform/wpe/fast/ruby/ruby-beforeafter-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/ruby/ruby-simple-rp-expected.txt:
  • platform/wpe/fast/table/009-expected.txt:
  • platform/wpe/fast/table/040-expected.txt:
  • platform/wpe/fast/table/040-vertical-expected.txt:
  • platform/wpe/fast/table/cellindex-expected.txt:
  • platform/wpe/fast/table/percent-heights-expected.txt:
  • platform/wpe/fast/table/table-and-parts-outline-expected.txt:
  • platform/wpe/fast/text/basic/012-expected.txt:
  • platform/wpe/fast/text/basic/014-expected.txt:
  • platform/wpe/fast/text/basic/generic-family-reset-expected.txt:
  • platform/wpe/fast/text/capitalize-boundaries-expected.txt:
  • platform/wpe/fast/text/complex-synthetic-bold-space-width-expected.txt:
  • platform/wpe/fast/text/emoji-expected.txt:
  • platform/wpe/fast/text/firstline/001-expected.txt:
  • platform/wpe/fast/text/indic-expected.txt:
  • platform/wpe/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/wpe/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/wpe/fast/text/international/bidi-listbox-atsui-expected.txt:
  • platform/wpe/fast/text/international/bidi-listbox-expected.txt:
  • platform/wpe/fast/text/international/bidi-menulist-expected.txt:
  • platform/wpe/fast/text/international/hebrew-vowels-expected.txt:
  • platform/wpe/fast/text/international/hindi-spacing-expected.txt:
  • platform/wpe/fast/text/international/thai-baht-space-expected.txt:
  • platform/wpe/fast/text/midword-break-after-breakable-char-expected.txt:
  • platform/wpe/fast/text/svg-font-face-with-kerning-expected.txt:
  • platform/wpe/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
  • platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/wpe/fast/writing-mode/english-bt-text-expected.txt:
  • platform/wpe/fast/writing-mode/english-lr-text-expected.txt:
  • platform/wpe/fast/writing-mode/english-rl-text-expected.txt:
  • platform/wpe/fast/writing-mode/fieldsets-expected.txt:
  • platform/wpe/fast/writing-mode/text-orientation-basic-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc-cyr-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc16-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc16to16-expected.txt:
  • platform/wpe/fonts/cursive-expected.txt:
  • platform/wpe/fonts/default-expected.txt:
  • platform/wpe/fonts/fantasy-expected.txt:
  • platform/wpe/fonts/monospace-expected.txt:
  • platform/wpe/fonts/sans-serif-expected.txt:
  • platform/wpe/fonts/serif-expected.txt:
  • platform/wpe/http/tests/loading/simple-subframe-expected.txt:
  • platform/wpe/http/tests/misc/favicon-as-image-expected.txt:
  • platform/wpe/http/tests/misc/frame-access-during-load-expected.txt:
  • platform/wpe/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/wpe/http/tests/navigation/postredirect-basic-expected.txt:
  • platform/wpe/http/tests/navigation/postredirect-goback1-expected.txt:
  • platform/wpe/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
  • platform/wpe/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/wpe/svg/custom/getsvgdocument-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug106158-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1224-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/bug16012-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug20579-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug20804-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug23235-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug23299-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug25663-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2962-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30332-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30692-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug43854-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5538-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5799-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug82946-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug9123-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug92143-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_border_1-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_border_2-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_border_3-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_colspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_height-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_width-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_colspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_height-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_width-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
  • platform/wpe/transforms/3d/hit-testing/backface-hit-test-expected.txt:
  • platform/wpe/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
6:07 PM Changeset in webkit [268567] by pvollan@apple.com
  • 6 edits in trunk/Source/WebKit

[macOS] Issue temporary sandbox extension to the Launch Services daemon
https://bugs.webkit.org/show_bug.cgi?id=217781
<rdar://problem/70350924>

Reviewed by Brent Fulgham.

To support blocking of the Launch Services daemon in the WebContent process, issue temporary sandbox extension to this service on macOS.

  • Shared/WebProcessCreationParameters.cpp:

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

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

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/com.apple.WebProcess.sb.in:
6:01 PM Changeset in webkit [268566] by Keith Rollin
  • 2 edits in trunk/Source/WebCore

Lessen the reliance on VPATH in WebCore/DerivedSources.make
https://bugs.webkit.org/show_bug.cgi?id=217696
<rdar://problem/70279941>

Reviewed by Darin Adler.

Due to the way vpath/VPATH works in make, we can get into a
situation where necessarily IDL files are not copied to their correct
locations.

WebKit comes with many IDL files. When building for internal purposes,
Apple can add to or modify this set of IDL files. When creating
Engineering builds, these additional IDL files are copied to
.../WebKitBuild/<configuration>/usr/local/includes. When performing
Production builds, these IDL files are included in the SDK. This
arrangement can be seen in DerivedSources.make:

vpath %.idl $(BUILT_PRODUCTS_DIR)/usr/local/include $(SDKROOT)/usr/local/include

In order to get these IDL files into a location where they can be
uniformly found and handled, there is a step in DerivedSources.make
that copies them to the current directory, which is
WebKitBuild/<configuration>/DerivedSources/WebCore:

$(ADDITIONAL_BINDING_IDLS) : % : WebKitAdditions/%
cp $< .

The IDL files specified in ADDITIONAL_BINDING_IDLS are specified as
bare files names, meaning that vpath and VPATH are employed to find
them. Given the vpath specification previously shown, if the IDL files
can be found in $(BUILT_PRODUCTS_DIR)/usr/local/include, they are
copied locally. Otherwise, they should be found in
$(SDKROOT)/usr/local/include and copied locally.

As it turns out, vpath/VPATH resolution is performed not only on the
prerequisites of the build rule, but also the target (see section
4.5.3 of the GNU make manual). This means that the files specified
on the left side of the cp rule above are also searched for. And
since the standard IDL files (the ones that are being replaced with
the Apple-specific versions) can be found on VPATH as it's defined in
DerivedSources.make (specifically, in $(WebCore)/dom), then those
files participate in determining if the cp rule is executed.

Consider the normal build case: repositories are checked out (applying
the current modification timestamp to the files). During the build,
the files in $(ADDITIONAL_BINDING_IDLS) are copied to either
BUILT_PRODUCTS_DIR or to SDKROOT, which again modifies their
timestamps. We eventually get to the build rule for the cp
operation. Because the files in WebKitAdditions (be it in the local
build directory or the SDK) are *newer* than the checked-out ones in
$(WebCore)/dom due to their having been copied after they were
checked-out, then the cp command is invoked and then files are
copied to the current build directory.

However, consider a slightly different build case. In this case,
projects are checked out and built one at a time. So the project
producing the files in ADDITIONAL_BINDING_IDLS is checked out and then
the IDL files are copied to their intermediate location and have their
timestamps set to that time. Later, WebCore is checked out, and
DerivedSources.make is eventually invoked. Now, the files in
$(WebCore)/dom are *newer* than those in WebKitAdditions. make
determines that the IDL files are up-to-date and does not execute the
cp commands. The IDL files are not copied, and the build then either
fails (because of missing files) or proceeds incorrectly (because the
wrong IDL files are found).

The solution to this issue is to lessen the reliance on vpath/VPATH in
DerivedSources.make. Instead, be more explicit about where files can
be found and trim down vpath/VPATH to it's bare minimum. With
vpath/VPATH reduced, we remove the issue of files being accidentally
discovered that we don't want discovered.

The modifications effected to make this change are:

  • Remove the definition of VPATH.
  • Dynamically build up an idl-only "VPATH" as needed with the "vpath" directive.
  • Manually look for the additional IDL files at their expected locations without using vpath/VPATH.
  • For the files that used to be found on VPATH, specify their actual locations (typically by prefixing them with $(WebCore).
  • (Cleanup) Consistently refer to local files with bare names (that is, remove the "./" that some files were prefixed with).
  • (Cleanup) Use consistent spacing around "<" and ">" redirection symbols.
  • (Cleanup) Remove some redundant prerequisites from the build rule involving IDL_INTERMEDIATE_PATTERNS.

No new tests -- no new or changed functionality.

  • DerivedSources.make:
5:34 PM Changeset in webkit [268565] by Chris Dumez
  • 8 edits in trunk/Source/WebCore

Move AudioContext-specific logic out of BaseAudioContext
https://bugs.webkit.org/show_bug.cgi?id=217794

Reviewed by Geoffrey Garen.

Move AudioContext-specific logic out of BaseAudioContext and into the
AudioContext class. This required having WebKitAudioContext subclass
AudioContext instead of BaseAudioContext.

No new tests, no Web-facing behavior change.

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::suspendRendering):
(WebCore::AudioContext::resumeRendering):
(WebCore::AudioContext::nodeWillBeginPlayback):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::lazyInitialize):
(WebCore::AudioContext::willPausePlayback):

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::AudioContext):

  • Modules/webaudio/BaseAudioContext.cpp:

(WebCore::BaseAudioContext::lazyInitialize):

  • Modules/webaudio/BaseAudioContext.h:

(WebCore::BaseAudioContext::nodeWillBeginPlayback):
(WebCore::BaseAudioContext::mediaSession const):

  • Modules/webaudio/DefaultAudioDestinationNode.h:
  • Modules/webaudio/WebKitAudioContext.cpp:

(WebCore::WebKitAudioContext::WebKitAudioContext):

  • Modules/webaudio/WebKitAudioContext.h:

(WebCore::WebKitAudioContext::listener):

5:28 PM Changeset in webkit [268564] by weinig@apple.com
  • 22 edits in trunk

CSSStyleDeclaration breaks JS spec (properties not showing up in Object.getOwnPropertyNames)
https://bugs.webkit.org/show_bug.cgi?id=217623

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom/cssstyledeclaration-properties-expected.txt:

Update test result now that it is passing.

Source/WebCore:

Replace named getter/setter based implementation of access to CSSStyleDeclaration property values
with a generated partial interface that lists all the properties exactly.

To keep things consistent with existing behavior, in addition to the spec'd properties, we also
maintain additional properties such as Epub* (in addition to the epub* properties the spec says
we should), and Css, css, Pos, pos, Pixel, and Pixel prefixed properties. As a follow up, we should
consider removing these as they are not supported by the standard or other browsers.

  • CMakeLists.txt:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:

Generate CSSStyleDeclaration+PropertyNames.idl and ensure it is compile together with the other
bindings.

  • css/makeprop.pl:

Add generation of CSSStyleDeclaration+PropertyNames.idl from CSSProperties.json.

  • bindings/scripts/IDLAttributes.json:

Remove CallNamedSetterOnlyForSupportedProperties and DefaultDefineOwnProperty extended attributes,
which now have no users, and add the CSSProperty extended attribute, used to avoid unnecessary
implementation overhead for each property. Rather, in an analogous way to EventHandlers, the bindings
now directly pass in the associate CSSPropertyID to an appropriate CSSStyleDeclaration function.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateInvokeNamedPropertySetter):
(GeneratePut):
(GeneratePutByIndex):
(GenerateDefineOwnProperty):
Remove all use of CallNamedSetterOnlyForSupportedProperties.

(InstanceOverridesDefineOwnProperty):
Remove support for DefaultDefineOwnProperty, which is now unused.

(ToMethodName):
Match the actual setting name, and don't transform names that start with CSSOM.

(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
Add support for the new CSSProperty extended attribute which uses the passsed
value to to directly call CSSStyleDeclaration functions with a CSSPropertyID.

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::setPropertyValueInternal):
(WebCore::CSSStyleDeclaration::getPropertyValueInternalForPosOrPixelPrefixed):
(WebCore::CSSStyleDeclaration::setPropertyValueInternalForPosOrPixelPrefixed):
(WebCore::CSSStyleDeclaration::getCSSPropertyIDFromJavaScriptPropertyName):
(WebCore::CSSStyleDeclaration::namedItem): Deleted.
(WebCore::CSSStyleDeclaration::setNamedItem): Deleted.
(WebCore::CSSStyleDeclaration::supportedPropertyNames const): Deleted.

  • css/CSSStyleDeclaration.h:

Replace old named getter/setter support code with new helpers which operate directly
on CSSPropertyIDs.

  • css/CSSStyleDeclaration.idl:

Update to match the current spec (almost, still need to getPropertyPriority to not return
null) and remove custom named getter/setter operations.

LayoutTests:

  • fast/css/style-enumerate-properties-expected.txt:
  • fast/css/style-enumerate-properties.html:
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/domListEnumeration.html:

Remove tests for iteration order, which is not standardized, and not consistent among
browsers.

  • fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor-expected.txt:
  • fast/dom/CSSStyleDeclaration/cssstyledeclaration-properties-descriptor.html:

Update now that the properties are proper attributes on the prototype.

  • js/dom/put-override-should-not-use-ic.html:

Switch to using a DOMStringList as the object that overrides put, since CSSStyleDeclaration no longer does.

  • transitions/transitions-parsing-expected.txt:
  • transitions/transitions-parsing.html:

Remove Object.keys() aspect of the test, which is no longer meaningful since the
properties should no longer exist in the result set.

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

[macOS] Add telemetry for distributed notification service
https://bugs.webkit.org/show_bug.cgi?id=217762
<rdar://problem/70341045>

Reviewed by Brent Fulgham.

Add telemetry with backtrace for the distributed notification service on macOS.

  • WebProcess/com.apple.WebProcess.sb.in:
5:06 PM Changeset in webkit [268562] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

PDFPlugin.mm:2303:139: error: type 'SEL _Nullable' cannot be narrowed to 'bool' in initializer list [-Wc++11-narrowing]
<https://webkit.org/b/217791>
<rdar://problem/70349804>

Reviewed by Tim Horton.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleContextMenuEvent):

  • Use !! to convert result to bool.
4:51 PM Changeset in webkit [268561] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

[Cocoa] Don't change the text matrix multiple times inside FontCascade::drawGlyphs()
https://bugs.webkit.org/show_bug.cgi?id=217749

Reviewed by Simon Fraser.

FontCascade::drawGlyphs() may actually call CTFontDrawGlyphs() 4 times:
2 for synthetic bold, times 2 for emulated shadows that we draw ourselves.
Previously, each of these calls can have a different text matrix, because
showGlyphsWithAdvances() called CGContextSetTextPosition(), which affects
the text matrix.

This makes https://bugs.webkit.org/show_bug.cgi?id=217506 difficult, because
we don't actually track the text matrix inside the GraphicsContext. In that
patch, we call FontCascade::drawGlyphs() and intercept the resulting CGContext
calls. However, if we detect a modified text matrix inside those CGContext
calls, we have no way of knowing whether it was modified by WebKit or
internally inside Core Text. We need to know this, though, because the
modifications Core Text makes have to be preserved across to the GPU process,
but the modifications WebKit makes need to not be preserved (since the GPU
process will make them naturally).

Tracking the text matrix in the CGContext (a la the CTM) is unnecessary; all
we need to know is whether WebKit changed it or Core Text changed it. Therefore,
this patch migrates all the text matrix computation into standalone functions
that can be called from GPU Process infrastructure, so we can know what WebKit
does there (and also what Core Text does, by omission).

This only works, though, if the text matrix is identical for all the calls to
CTFontDrawGlyphs() inside FontCascade::drawGlyphs(). This patch enforces this
by emulating CGContextSetTextPosition() ourselves by adding a constant to
all the glyph positions. Performance is not a conern because we already iterate
over all the glyphs inside showGlyphsWithAdvances(), so we're already paying
the cost of the loop.

No new tests because there is no behavior change.

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::syntheticObliqueAngle): Deleted.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::showLetterpressedGlyphsWithAdvances):

  • platform/graphics/coretext/FontCascadeCoreText.cpp:

(WebCore::rotateLeftTransform):
(WebCore::fillVectorWithHorizontalGlyphPositions):
(WebCore::fillVectorWithVerticalGlyphPositions):
(WebCore::showGlyphsWithAdvances):
(WebCore::computeOverallTextMatrix):
(WebCore::computeVerticalTextMatrix):
(WebCore::FontCascade::drawGlyphs):

4:41 PM Changeset in webkit [268560] by Chris Dumez
  • 6 edits
    1 add in trunk/Source/WebCore

Cache JS arguments in AudioWorkletProcessor::process() for performance
https://bugs.webkit.org/show_bug.cgi?id=217685

Reviewed by Geoffrey Garen.

Cache JS arguments in AudioWorkletProcessor::process() for performance.
Blink has the same optimization here:

No new tests, no Web-facing behavior change.

  • Modules/webaudio/AudioWorkletProcessor.cpp:

(WebCore::busChannelCount):
(WebCore::constructFrozenJSArray):
(WebCore::copyDataFromJSArrayToBuses):
(WebCore::copyDataFromBusesToJSArray):
(WebCore::copyDataFromParameterMapToJSObject):
(WebCore::busTopologyMatchesJSArray):
(WebCore::parameterMapTopologyMatchesJSObject):
(WebCore::zeroJSArray):
(WebCore::AudioWorkletProcessor::buildJSArguments):
(WebCore::AudioWorkletProcessor::process):

  • Modules/webaudio/AudioWorkletProcessor.h:
3:27 PM Changeset in webkit [268559] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

[Cocoa] Simplify logic for caching FFTSetups in FFTFrame
https://bugs.webkit.org/show_bug.cgi?id=217782

Reviewed by Eric Carlson.

Simplify logic for caching FFTSetups in FFTFrame:

  • Use a local static (NeverDestroyed) to cache the FFTSetups to avoid heap allocation and simplify logic a bit.
  • Drop FFTFrame::cleanup() since it is dead code.

No new tests, no Web-facing behavior change.

  • platform/audio/FFTFrame.h:
  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/gstreamer/FFTFrameGStreamer.cpp:
  • platform/audio/mac/FFTFrameMac.cpp:

(WebCore::FFTFrame::fftSetupForSize):

3:24 PM Changeset in webkit [268558] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Use std::fill_n() instead of for loops in ConstantSourceNode
https://bugs.webkit.org/show_bug.cgi?id=217777

Reviewed by Eric Carlson.

Use std::fill_n() instead of for loops in ConstantSourceNode.

No new tests, no Web-facing behavior change.

  • Modules/webaudio/ConstantSourceNode.cpp:

(WebCore::ConstantSourceNode::process):

3:02 PM Changeset in webkit [268557] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Avoid double zero'ing of AudioArray in DelayDSPKernel constructors
https://bugs.webkit.org/show_bug.cgi?id=217779

Reviewed by Darin Adler.

Avoid double zero'ing of AudioArray in DelayDSPKernel constructors.
The constructors were calling AudioArray::resize() to allocate the
array memory and then AudioArray::zero() to zero-out the memory.
The second step is unnecessary since AudioArray::resize() already
takes care of zeroing out the memory after allocation.

No new tests, no Web-facing behavior change.

  • Modules/webaudio/DelayDSPKernel.cpp:

(WebCore::DelayDSPKernel::DelayDSPKernel):

2:59 PM Changeset in webkit [268556] by Truitt Savell
  • 6 edits
    7 adds in trunk/LayoutTests

Rebaseline tests for Catalina and iOS after the changes in r268520
https://bugs.webkit.org/show_bug.cgi?id=209813

Unreviewed test gardening.

  • platform/ios-wk2/fast/block/basic/001-expected.txt: Added.
  • platform/mac-catalina/fast/block/basic/001-expected.txt: Added.
  • platform/mac-catalina/fast/forms/button-table-styles-expected.txt:
  • platform/mac-catalina/fast/forms/input-disabled-color-expected.txt:
  • platform/mac-catalina/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/mac-catalina/fast/forms/plaintext-mode-2-expected.txt:
  • platform/mac-catalina/fast/forms/select-change-popup-to-listbox-expected.txt:
  • platform/mac-catalina/fast/text/indic-expected.txt: Added.
  • platform/mac-catalina/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt: Added.
  • platform/mac-catalina/tables/mozilla/other/wa_table_tr_align-expected.txt: Added.
2:26 PM Changeset in webkit [268555] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Use std::fill_n() instead of for loops in AudioParamTimeline
https://bugs.webkit.org/show_bug.cgi?id=217775

Reviewed by Darin Adler.

Use std::fill_n() instead of for loops in AudioParamTimeline.

No new tests, no Web facing behavior change.

  • Modules/webaudio/AudioParamTimeline.cpp:

(WebCore::fillWithValue):
(WebCore::AudioParamTimeline::valuesForFrameRange):
(WebCore::AudioParamTimeline::valuesForFrameRangeImpl):
(WebCore::AudioParamTimeline::processExponentialRamp):
(WebCore::AudioParamTimeline::processCancelValues):
(WebCore::AudioParamTimeline::processSetTarget):
(WebCore::AudioParamTimeline::processSetValueCurve):

2:18 PM Changeset in webkit [268554] by Alan Coon
  • 1 copy in tags/Safari-610.2.11.1.3

Tag Safari-610.2.11.1.3.

2:15 PM Changeset in webkit [268553] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Use std::fill_n() instead of for loops in AudioParam::calculateFinalValues()
https://bugs.webkit.org/show_bug.cgi?id=217766

Reviewed by Geoffrey Garen.

Use std::fill_n() instead of for loops in AudioParam::calculateFinalValues().

No new tests, no Web-facing behavior change.

  • Modules/webaudio/AudioParam.cpp:

(WebCore::AudioParam::calculateFinalValues):

1:56 PM Changeset in webkit [268552] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Add a fast codepath to compute the bounding rect of an inline arc path
https://bugs.webkit.org/show_bug.cgi?id=217764

Reviewed by Tim Horton.

This is a followup to r268320, which added an implementation of Path::fastBoundingRect for the inline
ArcData case, but left Path::boundingRect as-is. This means that currently, a call to Path::boundingRect
in the case of a simple arc path (represented in ArcData) will cause a CGPath to be allocated and set up,
when we could instead just compute the exact bounds of the path using the center, radius, and start and end
angles.

  • platform/graphics/Path.cpp:

(WebCore::computeArcBounds):

Add a helper function to compute the exact bounds of a circular arc. This helper works by first fitting the rect
to the start and end positions, and then extending to the top, left, bottom, or right edges as needed (i.e. if
the start and end angles intersect the top-, left-, bottom- or right-most points in the circle).

(WebCore::Path::boundingRectFromInlineData const):

1:40 PM Changeset in webkit [268551] by weinig@apple.com
  • 63 edits in trunk/Source/WebCore

[WebIDL] Bindings do not support two attributes or functions with the same name only differing by case of first character
https://bugs.webkit.org/show_bug.cgi?id=217776

Reviewed by Chris Dumez.

Due to needing to support cases like CSSStyleDeclaration#webkitAlignSelf and CSSStyleDeclaration#WebkitAlignSelf,
the naming convention for the c-wrapper functions in the generated bindings had to be updated to not ignore the
case of the leading character. The new convention uses a leading _ (unless the identifier already starts with one)
changing a function such as jsDOMWindowInstanceFunctionShowModalDialog to jsDOMWindowInstanceFunction_showModalDialog.

  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSLocationCustom.cpp:

Update for new c-function naming convention.

  • bindings/scripts/CodeGeneratorJS.pm:

(MangleAttributeOrFunctionName):
(GetAttributeGetterName):
(GetAttributeSetterName):
(GetFunctionName):
Add a leading underscore to all mangled attribute and function names and remove
leading capitalization. This allows us to have attributes and functions with the
same name except for the capitalization of the first letter.

  • bindings/scripts/test/JS/*:

Update bindings test results for new c-function naming scheme.

1:26 PM Changeset in webkit [268550] by Fujii Hironori
  • 199 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/wincairo/css1/color_and_background/background_attachment-expected.txt:
  • platform/wincairo/css1/text_properties/text_indent-expected.txt:
  • platform/wincairo/editing/deleting/5272440-expected.txt:
  • platform/wincairo/editing/deleting/delete-3608445-fix-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
  • platform/wincairo/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
  • platform/wincairo/editing/deleting/delete-block-merge-contents-002-expected.txt:
  • platform/wincairo/editing/deleting/delete-block-merge-contents-003-expected.txt:
  • platform/wincairo/editing/deleting/delete-block-merge-contents-004-expected.txt:
  • platform/wincairo/editing/deleting/delete-block-merge-contents-006-expected.txt:
  • platform/wincairo/editing/deleting/delete-block-merge-contents-007-expected.txt:
  • platform/wincairo/editing/deleting/delete-block-merge-contents-009-expected.txt:
  • platform/wincairo/editing/deleting/delete-block-merge-contents-011-expected.txt:
  • platform/wincairo/editing/deleting/delete-br-002-expected.txt:
  • platform/wincairo/editing/deleting/delete-br-003-expected.txt:
  • platform/wincairo/editing/deleting/delete-br-004-expected.txt:
  • platform/wincairo/editing/deleting/delete-br-005-expected.txt:
  • platform/wincairo/editing/deleting/delete-image-001-expected.txt:
  • platform/wincairo/editing/deleting/delete-image-002-expected.txt:
  • platform/wincairo/editing/deleting/delete-line-003-expected.txt:
  • platform/wincairo/editing/deleting/delete-trailing-ws-002-expected.txt:
  • platform/wincairo/editing/deleting/non-smart-delete-expected.txt:
  • platform/wincairo/editing/execCommand/4641880-1-expected.txt:
  • platform/wincairo/editing/execCommand/4641880-2-expected.txt:
  • platform/wincairo/editing/execCommand/4916541-expected.txt:
  • platform/wincairo/editing/execCommand/5080333-1-expected.txt:
  • platform/wincairo/editing/execCommand/5080333-2-expected.txt:
  • platform/wincairo/editing/execCommand/5569741-expected.txt:
  • platform/wincairo/editing/execCommand/indent-selection-expected.txt:
  • platform/wincairo/editing/execCommand/remove-list-from-range-selection-expected.txt:
  • platform/wincairo/editing/input/emacs-ctrl-o-expected.txt:
  • platform/wincairo/editing/inserting/4960120-2-expected.txt:
  • platform/wincairo/editing/inserting/5002441-expected.txt:
  • platform/wincairo/editing/inserting/5156401-2-expected.txt:
  • platform/wincairo/editing/inserting/5510537-expected.txt:
  • platform/wincairo/editing/inserting/5549929-3-expected.txt:
  • platform/wincairo/editing/inserting/6703873-expected.txt:
  • platform/wincairo/editing/inserting/break-blockquote-after-delete-expected.txt:
  • platform/wincairo/editing/inserting/insert-3775316-fix-expected.txt:
  • platform/wincairo/editing/inserting/insert-3778059-fix-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-001-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-002-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-003-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-004-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-005-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-007-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-at-tabspan-001-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-at-tabspan-002-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-at-tabspan-003-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-quoted-001-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-quoted-002-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-quoted-003-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-quoted-004-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-quoted-005-expected.txt:
  • platform/wincairo/editing/inserting/insert-br-quoted-006-expected.txt:
  • platform/wincairo/editing/inserting/insert-div-020-expected.txt:
  • platform/wincairo/editing/inserting/insert-div-022-expected.txt:
  • platform/wincairo/editing/inserting/insert-div-026-expected.txt:
  • platform/wincairo/editing/inserting/insert-paragraph-03-expected.txt:
  • platform/wincairo/editing/inserting/insert-text-with-newlines-expected.txt:
  • platform/wincairo/editing/inserting/paragraph-separator-in-table-1-expected.txt:
  • platform/wincairo/editing/inserting/paragraph-separator-in-table-2-expected.txt:
  • platform/wincairo/editing/inserting/return-key-with-selection-001-expected.txt:
  • platform/wincairo/editing/inserting/return-key-with-selection-002-expected.txt:
  • platform/wincairo/editing/inserting/return-key-with-selection-003-expected.txt:
  • platform/wincairo/editing/inserting/typing-around-br-001-expected.txt:
  • platform/wincairo/editing/selection/3690703-2-expected.txt:
  • platform/wincairo/editing/selection/3690703-expected.txt:
  • platform/wincairo/editing/selection/3690719-expected.txt:
  • platform/wincairo/editing/selection/4975120-expected.txt:
  • platform/wincairo/editing/selection/5007143-2-expected.txt:
  • platform/wincairo/editing/selection/5007143-expected.txt:
  • platform/wincairo/editing/selection/drag-in-iframe-expected.txt:
  • platform/wincairo/editing/selection/editable-html-element-expected.txt:
  • platform/wincairo/editing/selection/extend-by-character-002-expected.txt:
  • platform/wincairo/editing/selection/extend-by-character-004-expected.txt:
  • platform/wincairo/editing/selection/extend-selection-bidi-expected.txt:
  • platform/wincairo/editing/selection/focus_editable_html-expected.txt:
  • platform/wincairo/editing/selection/image-before-linebreak-expected.txt:
  • platform/wincairo/editing/selection/move-3875618-fix-expected.txt:
  • platform/wincairo/editing/selection/move-backwords-by-word-001-expected.txt:
  • platform/wincairo/editing/selection/move-by-character-002-expected.txt:
  • platform/wincairo/editing/selection/move-by-character-004-expected.txt:
  • platform/wincairo/editing/selection/move-by-sentence-linebreak-expected.txt:
  • platform/wincairo/editing/selection/paragraph-granularity-expected.txt:
  • platform/wincairo/editing/selection/replaced-boundaries-3-expected.txt:
  • platform/wincairo/editing/selection/select-all-002-expected.txt:
  • platform/wincairo/editing/selection/select-all-003-expected.txt:
  • platform/wincairo/editing/selection/select-all-iframe-expected.txt:
  • platform/wincairo/editing/selection/selectNode-expected.txt:
  • platform/wincairo/editing/selection/selectNodeContents-expected.txt:
  • platform/wincairo/editing/selection/selection-3748164-fix-expected.txt:
  • platform/wincairo/editing/selection/selection-actions-expected.txt:
  • platform/wincairo/editing/selection/word-granularity-expected.txt:
  • platform/wincairo/editing/style/5046875-2-expected.txt:
  • platform/wincairo/editing/style/block-styles-007-expected.txt:
  • platform/wincairo/editing/style/create-block-for-style-001-expected.txt:
  • platform/wincairo/editing/style/create-block-for-style-002-expected.txt:
  • platform/wincairo/editing/style/create-block-for-style-003-expected.txt:
  • platform/wincairo/editing/style/create-block-for-style-004-expected.txt:
  • platform/wincairo/editing/style/create-block-for-style-013-expected.txt:
  • platform/wincairo/editing/style/smoosh-styles-001-expected.txt:
  • platform/wincairo/editing/style/smoosh-styles-003-expected.txt:
  • platform/wincairo/editing/style/style-3998892-fix-expected.txt:
  • platform/wincairo/editing/style/style-boundary-001-expected.txt:
  • platform/wincairo/editing/style/style-boundary-002-expected.txt:
  • platform/wincairo/editing/style/style-boundary-003-expected.txt:
  • platform/wincairo/editing/style/style-boundary-004-expected.txt:
  • platform/wincairo/editing/style/style-boundary-005-expected.txt:
  • platform/wincairo/editing/unsupported-content/list-delete-001-expected.txt:
  • platform/wincairo/editing/unsupported-content/list-delete-003-expected.txt:
  • platform/wincairo/editing/unsupported-content/list-type-after-expected.txt:
  • platform/wincairo/editing/unsupported-content/list-type-before-expected.txt:
  • platform/wincairo/editing/unsupported-content/table-delete-002-expected.txt:
  • platform/wincairo/editing/unsupported-content/table-type-after-expected.txt:
  • platform/wincairo/editing/unsupported-content/table-type-before-expected.txt:
  • platform/wincairo/fast/box-shadow/basic-shadows-expected.txt:
  • platform/wincairo/fast/clip/nestedTransparencyClip-expected.txt:
  • platform/wincairo/fast/clip/overflow-border-radius-combinations-expected.txt:
  • platform/wincairo/fast/clip/overflow-border-radius-composited-expected.txt:
  • platform/wincairo/fast/clip/overflow-border-radius-transformed-expected.txt:
  • platform/wincairo/fast/css-generated-content/inline-display-types-expected.txt:
  • platform/wincairo/fast/css-generated-content/table-row-group-to-inline-expected.txt:
  • platform/wincairo/fast/css-generated-content/table-row-group-with-before-expected.txt:
  • platform/wincairo/fast/css-generated-content/table-row-with-before-expected.txt:
  • platform/wincairo/fast/css-generated-content/table-with-before-expected.txt:
  • platform/wincairo/fast/css/001-expected.txt:
  • platform/wincairo/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/wincairo/fast/css/first-line-text-decoration-expected.txt:
  • platform/wincairo/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt:
  • platform/wincairo/fast/css/focus-ring-detached-expected.txt:
  • platform/wincairo/fast/css/font-smoothing-expected.txt:
  • platform/wincairo/fast/css/hsl-color-expected.txt:
  • platform/wincairo/fast/css/input-search-padding-expected.txt:
  • platform/wincairo/fast/css/layerZOrderCrash-expected.txt:
  • platform/wincairo/fast/css/line-height-overflow-expected.txt:
  • platform/wincairo/fast/css/nth-child-dynamic-expected.txt:
  • platform/wincairo/fast/css/outline-narrowLine-expected.txt:
  • platform/wincairo/fast/css/rtl-ordering-expected.txt:
  • platform/wincairo/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/wincairo/fast/css/text-rendering-expected.txt:
  • platform/wincairo/fast/css/word-space-extra-expected.txt:
  • platform/wincairo/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/wincairo/fast/dom/HTMLImageElement/image-alt-text-expected.txt:
  • platform/wincairo/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
  • platform/wincairo/fast/dom/HTMLTableElement/colSpan-expected.txt:
  • platform/wincairo/fast/dom/HTMLTableElement/createCaption-expected.txt:
  • platform/wincairo/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wincairo/fast/dom/children-nodes-expected.txt:
  • platform/wincairo/fast/dom/focus-contenteditable-expected.txt:
  • platform/wincairo/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
  • platform/wincairo/fast/dynamic/genContentDestroyChildren-expected.txt:
  • platform/wincairo/fast/events/standalone-image-drag-to-editable-expected.txt:
  • platform/wincairo/fast/inline-block/001-expected.txt:
  • platform/wincairo/fast/inline-block/006-expected.txt:
  • platform/wincairo/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/wincairo/fast/inline-block/inline-block-vertical-align-expected.txt:
  • platform/wincairo/fast/inline-block/tricky-baseline-expected.txt:
  • platform/wincairo/fast/line-grid/line-grid-contains-value-expected.txt:
  • platform/wincairo/fast/line-grid/line-grid-floating-expected.txt:
  • platform/wincairo/fast/line-grid/line-grid-inside-columns-expected.txt:
  • platform/wincairo/fast/line-grid/line-grid-into-columns-expected.txt:
  • platform/wincairo/fast/line-grid/line-grid-into-floats-expected.txt:
  • platform/wincairo/fast/line-grid/line-grid-positioned-expected.txt:
  • platform/wincairo/fast/reflections/reflection-direction-expected.txt:
  • platform/wincairo/fast/text/basic/012-expected.txt:
  • platform/wincairo/fast/text/basic/014-expected.txt:
  • platform/wincairo/fast/text/basic/generic-family-reset-expected.txt:
  • platform/wincairo/fast/text/capitalize-boundaries-expected.txt:
  • platform/wincairo/fast/text/complex-synthetic-bold-space-width-expected.txt:
  • platform/wincairo/fast/text/firstline/001-expected.txt:
  • platform/wincairo/fast/text/indic-expected.txt:
  • platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/wincairo/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/wincairo/fast/text/international/bidi-listbox-atsui-expected.txt:
  • platform/wincairo/fast/text/international/bidi-listbox-expected.txt:
  • platform/wincairo/fast/text/international/bidi-menulist-expected.txt:
  • platform/wincairo/fast/text/international/hebrew-vowels-expected.txt:
  • platform/wincairo/fast/text/international/hindi-spacing-expected.txt:
  • platform/wincairo/fast/text/international/thai-baht-space-expected.txt:
  • platform/wincairo/fast/text/midword-break-after-breakable-char-expected.txt:
  • platform/wincairo/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
  • platform/wincairo/fonts/cursive-expected.txt:
  • platform/wincairo/fonts/default-expected.txt:
  • platform/wincairo/fonts/monospace-expected.txt:
  • platform/wincairo/fonts/sans-serif-expected.txt:
  • platform/wincairo/fonts/serif-expected.txt:
  • platform/wincairo/http/tests/misc/favicon-as-image-expected.txt:
  • platform/wincairo/http/tests/misc/frame-access-during-load-expected.txt:
1:24 PM Changeset in webkit [268549] by Jonathan Bedard
  • 7 edits in trunk/Tools

[webkitpy] Use webkitcorepy's autoinstaller for mechanize
https://bugs.webkit.org/show_bug.cgi?id=217683
<rdar://problem/70272262>

Reviewed by Aakash Jain.

  • Scripts/webkitpy/init.py: Add mechanize.
  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla._get_browser):

  • Scripts/webkitpy/common/net/buildbot/buildbot.py:
  • Scripts/webkitpy/common/net/ewsserver.py:

(EWSServer.init):

  • Scripts/webkitpy/common/net/networktransaction_unittest.py:

(NetworkTransactionTest._raise_500_error):
(NetworkTransactionTest._raise_URLError):
(NetworkTransactionTest._raise_404_error):

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module): Remov _install_mechanize().
(AutoinstallImportHook._install_mechanize): Deleted.

12:55 PM Changeset in webkit [268548] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo][GraphicsLayerTextureMapper] css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-remove.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=217746

Reviewed by Don Olmstead.

If replica layers is removed, replicaLayer() and can be null in
commitLayerChanges(). Null checking is needed.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges): Added null checking for maskLayer() and replicaLayer().

12:49 PM Changeset in webkit [268547] by graouts@webkit.org
  • 6 edits
    6 adds in trunk

Updating an individual transform CSS property has no visual change when composited
https://bugs.webkit.org/show_bug.cgi?id=217769
<rdar://problem/70344280>

Reviewed by Simon Fraser.

Source/WebCore:

Ensure that changes to the translate, scale and rotate CSS properties have the same
effect than when the transform property is changed for composited elements.

Tests: transforms/2d/rotate-change-composited.html

transforms/2d/scale-change-composited.html
transforms/2d/translate-change-composited.html

  • platform/graphics/transforms/RotateTransformOperation.h:
  • platform/graphics/transforms/ScaleTransformOperation.h:
  • platform/graphics/transforms/TranslateTransformOperation.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::recompositeChangeRequiresGeometryUpdate):
(WebCore::styleHas3DTransformOperation):
(WebCore::styleTransformOperationsAreRepresentableIn2D):
(WebCore::RenderLayerCompositor::requiresCompositingForTransform const):
(WebCore::RenderLayerCompositor::layerHas3DContent const):

LayoutTests:

Add new tests that check that changing the value of one of the individual transform
CSS properties when the element is composited yields a visual change.

  • transforms/2d/rotate-change-composited-expected.html: Added.
  • transforms/2d/rotate-change-composited.html: Added.
  • transforms/2d/scale-change-composited-expected.html: Added.
  • transforms/2d/scale-change-composited.html: Added.
  • transforms/2d/translate-change-composited-expected.html: Added.
  • transforms/2d/translate-change-composited.html: Added.
12:48 PM Changeset in webkit [268546] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

[WinCairo][GraphicsLayerTextureMapper] A parent layer's filter isn't applied to its child layer at the first paint
https://bugs.webkit.org/show_bug.cgi?id=217748

Reviewed by Don Olmstead.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setFilters): Removed
unnecessary checking of m_layer.textureMapper().

12:39 PM Changeset in webkit [268545] by clopez@igalia.com
  • 499 edits
    2 adds
    16 deletes in trunk/LayoutTests

[GTK] Rebaseline after r268520

Unreviewed gardening.

Merged some expectations on the general baseline that were common to GTK and Mac.
And added platform baselines for the others.

  • fast/css/font-face-remote-expected.txt:
  • fast/multicol/pagination-h-horizontal-bt-expected.txt:
  • fast/multicol/pagination-h-horizontal-tb-expected.txt:
  • fast/multicol/pagination-h-vertical-lr-expected.txt:
  • fast/multicol/pagination-h-vertical-rl-expected.txt:
  • fast/multicol/pagination-v-horizontal-bt-expected.txt:
  • fast/multicol/pagination-v-horizontal-tb-expected.txt:
  • fast/multicol/pagination-v-vertical-lr-expected.txt:
  • fast/multicol/pagination-v-vertical-rl-expected.txt:
  • fast/repaint/text-emphasis-h-expected.txt:
  • fast/repaint/text-emphasis-v-expected.txt:
  • fast/ruby/position-after-expected.txt:
  • fast/text/decorations-transformed-expected.txt:
  • fast/text/soft-hyphen-4-expected.txt:
  • platform/glib/fast/backgrounds/border-radius-split-background-expected.txt:
  • platform/glib/fast/backgrounds/border-radius-split-background-image-expected.txt:
  • platform/glib/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt:
  • platform/glib/fast/block/positioning/differing-writing-modes-expected.txt:
  • platform/glib/fast/block/positioning/differing-writing-modes-replaced-expected.txt:
  • platform/glib/fast/block/positioning/trailing-space-test-expected.txt:
  • platform/glib/fast/borders/border-image-outset-split-inline-expected.txt:
  • platform/glib/fast/borders/border-image-outset-split-inline-vertical-lr-expected.txt:
  • platform/glib/fast/borders/border-styles-split-expected.txt:
  • platform/glib/fast/css-generated-content/table-row-group-to-inline-expected.txt:
  • platform/glib/fast/css-generated-content/table-row-group-with-before-expected.txt:
  • platform/glib/fast/css-generated-content/table-row-with-before-expected.txt:
  • platform/glib/fast/css-generated-content/table-with-before-expected.txt:
  • platform/glib/fast/css/001-expected.txt:
  • platform/glib/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/glib/fast/css/focus-ring-detached-expected.txt:
  • platform/glib/fast/css/font-smoothing-expected.txt:
  • platform/glib/fast/css/outline-narrowLine-expected.txt:
  • platform/glib/fast/css/word-space-extra-expected.txt:
  • platform/glib/fast/dynamic/genContentDestroyChildren-expected.txt:
  • platform/glib/fast/frames/001-expected.txt:
  • platform/glib/fast/hidpi/image-set-border-image-comparison-expected.txt:
  • platform/glib/fast/inline-block/001-expected.txt:
  • platform/glib/fast/inline-block/006-expected.txt:
  • platform/glib/fast/inline-block/tricky-baseline-expected.txt:
  • platform/glib/fast/inline/positionedLifetime-expected.txt:
  • platform/glib/fast/invalid/010-expected.txt:
  • platform/glib/fast/layers/overflow-scroll-auto-switch-expected.txt:
  • platform/glib/fast/multicol/column-break-with-balancing-expected.txt:
  • platform/glib/fast/multicol/column-count-with-rules-expected.txt:
  • platform/glib/fast/multicol/float-paginate-empty-lines-expected.txt:
  • platform/glib/fast/multicol/float-paginate-expected.txt:
  • platform/glib/fast/multicol/paginate-block-replaced-expected.txt:
  • platform/glib/fast/multicol/positioned-split-expected.txt:
  • platform/glib/fast/multicol/table-vertical-align-expected.txt:
  • platform/glib/fast/multicol/unsplittable-inline-block-expected.txt:
  • platform/glib/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
  • platform/glib/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
  • platform/glib/fast/multicol/vertical-lr/float-paginate-expected.txt:
  • platform/glib/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
  • platform/glib/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
  • platform/glib/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
  • platform/glib/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
  • platform/glib/fast/multicol/vertical-rl/float-paginate-expected.txt:
  • platform/glib/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
  • platform/glib/fast/overflow/002-expected.txt:
  • platform/glib/fast/overflow/overflow-float-stacking-expected.txt:
  • platform/glib/fast/reflections/reflection-direction-expected.txt:
  • platform/glib/fast/replaced/007-expected.txt:
  • platform/glib/fast/table/005-expected.txt:
  • platform/glib/fast/table/039-expected.txt:
  • platform/glib/fast/transforms/transformed-caret-expected.txt:
  • platform/glib/fast/writing-mode/basic-vertical-line-expected.txt:
  • platform/glib/fast/writing-mode/basic-vertical-line-mixed-expected.txt:
  • platform/glib/fast/writing-mode/border-styles-vertical-lr-expected.txt:
  • platform/glib/fast/writing-mode/border-styles-vertical-lr-mixed-expected.txt:
  • platform/glib/fast/writing-mode/border-styles-vertical-rl-expected.txt:
  • platform/glib/fast/writing-mode/border-styles-vertical-rl-mixed-expected.txt:
  • platform/glib/scrollbars/basic-scrollbar-expected.txt:
  • platform/glib/scrollbars/disabled-scrollbar-expected.txt:
  • platform/glib/scrollbars/scrollbar-buttons-expected.txt:
  • platform/glib/scrollbars/scrollbar-orientation-expected.txt:
  • platform/glib/svg/as-image/animated-svg-as-image-expected.txt:
  • platform/glib/svg/as-image/animated-svg-as-image-same-image-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug11026-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug149275-1-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug19061-1-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug19061-2-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug28341-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug4093-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug4284-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug43854-1-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug4849-2-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug5838-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug60992-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug625-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug6404-expected.txt:
  • platform/glib/tables/mozilla/bugs/bug8950-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/marvin/table_row_align_center-expected.txt:
  • platform/glib/tables/mozilla/marvin/table_row_align_left-expected.txt:
  • platform/glib/tables/mozilla/marvin/table_row_align_right-expected.txt:
  • platform/glib/tables/mozilla/marvin/tables_align_center-expected.txt:
  • platform/glib/tables/mozilla/marvin/tables_align_left-expected.txt:
  • platform/glib/tables/mozilla/marvin/tables_align_right-expected.txt:
  • platform/glib/tables/mozilla/marvin/tables_border_0-expected.txt:
  • platform/glib/tables/mozilla/marvin/tables_default-expected.txt:
  • platform/glib/tables/mozilla/other/nestedTables-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
  • platform/glib/tables/mozilla_expected_failures/bugs/bug1647-expected.txt:
  • platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/gtk/css1/color_and_background/background_attachment-expected.txt:
  • platform/gtk/css1/text_properties/text_indent-expected.txt:
  • platform/gtk/editing/deleting/5272440-expected.txt:
  • platform/gtk/editing/deleting/delete-3608445-fix-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-002-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-003-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-004-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-009-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-011-expected.txt:
  • platform/gtk/editing/deleting/delete-br-002-expected.txt:
  • platform/gtk/editing/deleting/delete-br-003-expected.txt:
  • platform/gtk/editing/deleting/delete-br-004-expected.txt:
  • platform/gtk/editing/deleting/delete-br-005-expected.txt:
  • platform/gtk/editing/deleting/delete-image-001-expected.txt:
  • platform/gtk/editing/deleting/delete-image-002-expected.txt:
  • platform/gtk/editing/deleting/delete-line-003-expected.txt:
  • platform/gtk/editing/deleting/delete-trailing-ws-002-expected.txt:
  • platform/gtk/editing/deleting/non-smart-delete-expected.txt:
  • platform/gtk/editing/execCommand/4641880-1-expected.txt:
  • platform/gtk/editing/execCommand/4641880-2-expected.txt:
  • platform/gtk/editing/execCommand/4916541-expected.txt:
  • platform/gtk/editing/execCommand/5080333-1-expected.txt:
  • platform/gtk/editing/execCommand/5080333-2-expected.txt:
  • platform/gtk/editing/execCommand/5569741-expected.txt:
  • platform/gtk/editing/execCommand/indent-selection-expected.txt:
  • platform/gtk/editing/execCommand/remove-list-from-range-selection-expected.txt:
  • platform/gtk/editing/input/emacs-ctrl-o-expected.txt:
  • platform/gtk/editing/inserting/4960120-2-expected.txt:
  • platform/gtk/editing/inserting/5002441-expected.txt:
  • platform/gtk/editing/inserting/5156401-2-expected.txt:
  • platform/gtk/editing/inserting/5510537-expected.txt:
  • platform/gtk/editing/inserting/5549929-3-expected.txt:
  • platform/gtk/editing/inserting/6703873-expected.txt:
  • platform/gtk/editing/inserting/insert-3775316-fix-expected.txt:
  • platform/gtk/editing/inserting/insert-3778059-fix-expected.txt:
  • platform/gtk/editing/inserting/insert-br-001-expected.txt:
  • platform/gtk/editing/inserting/insert-br-002-expected.txt:
  • platform/gtk/editing/inserting/insert-br-003-expected.txt:
  • platform/gtk/editing/inserting/insert-br-004-expected.txt:
  • platform/gtk/editing/inserting/insert-br-005-expected.txt:
  • platform/gtk/editing/inserting/insert-br-007-expected.txt:
  • platform/gtk/editing/inserting/insert-br-at-tabspan-001-expected.txt:
  • platform/gtk/editing/inserting/insert-br-at-tabspan-002-expected.txt:
  • platform/gtk/editing/inserting/insert-br-at-tabspan-003-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-001-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-002-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-003-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-004-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-005-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-006-expected.txt:
  • platform/gtk/editing/inserting/insert-div-020-expected.txt:
  • platform/gtk/editing/inserting/insert-div-022-expected.txt:
  • platform/gtk/editing/inserting/insert-div-026-expected.txt:
  • platform/gtk/editing/inserting/insert-paragraph-03-expected.txt:
  • platform/gtk/editing/inserting/insert-text-with-newlines-expected.txt:
  • platform/gtk/editing/inserting/paragraph-separator-in-table-1-expected.txt:
  • platform/gtk/editing/inserting/paragraph-separator-in-table-2-expected.txt:
  • platform/gtk/editing/inserting/return-key-with-selection-001-expected.txt:
  • platform/gtk/editing/inserting/return-key-with-selection-002-expected.txt:
  • platform/gtk/editing/inserting/return-key-with-selection-003-expected.txt:
  • platform/gtk/editing/inserting/typing-around-br-001-expected.txt:
  • platform/gtk/editing/pasteboard/5006779-expected.txt:
  • platform/gtk/editing/pasteboard/5601583-1-expected.txt:
  • platform/gtk/editing/pasteboard/8145-2-expected.txt:
  • platform/gtk/editing/pasteboard/bad-placeholder-expected.txt:
  • platform/gtk/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
  • platform/gtk/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-003-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-004-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-005-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-007-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-009-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-010-expected.txt:
  • platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt:
  • platform/gtk/editing/pasteboard/paste-match-style-002-expected.txt:
  • platform/gtk/editing/pasteboard/paste-text-016-expected.txt:
  • platform/gtk/editing/pasteboard/paste-text-019-expected.txt:
  • platform/gtk/editing/pasteboard/quirks-mode-br-1-expected.txt:
  • platform/gtk/editing/selection/3690703-2-expected.txt:
  • platform/gtk/editing/selection/3690703-expected.txt:
  • platform/gtk/editing/selection/3690719-expected.txt:
  • platform/gtk/editing/selection/4975120-expected.txt:
  • platform/gtk/editing/selection/5007143-2-expected.txt:
  • platform/gtk/editing/selection/5007143-expected.txt:
  • platform/gtk/editing/selection/drag-in-iframe-expected.txt:
  • platform/gtk/editing/selection/editable-html-element-expected.txt:
  • platform/gtk/editing/selection/extend-by-character-002-expected.txt:
  • platform/gtk/editing/selection/extend-by-character-004-expected.txt:
  • platform/gtk/editing/selection/extend-selection-bidi-expected.txt:
  • platform/gtk/editing/selection/focus_editable_html-expected.txt:
  • platform/gtk/editing/selection/image-before-linebreak-expected.txt:
  • platform/gtk/editing/selection/move-3875618-fix-expected.txt:
  • platform/gtk/editing/selection/move-backwords-by-word-001-expected.txt:
  • platform/gtk/editing/selection/move-by-character-002-expected.txt:
  • platform/gtk/editing/selection/move-by-character-004-expected.txt:
  • platform/gtk/editing/selection/move-by-sentence-linebreak-expected.txt:
  • platform/gtk/editing/selection/paragraph-granularity-expected.txt:
  • platform/gtk/editing/selection/replaced-boundaries-3-expected.txt:
  • platform/gtk/editing/selection/select-all-002-expected.txt:
  • platform/gtk/editing/selection/select-all-003-expected.txt:
  • platform/gtk/editing/selection/select-all-iframe-expected.txt:
  • platform/gtk/editing/selection/selectNode-expected.txt:
  • platform/gtk/editing/selection/selectNodeContents-expected.txt:
  • platform/gtk/editing/selection/selection-3748164-fix-expected.txt:
  • platform/gtk/editing/selection/selection-actions-expected.txt:
  • platform/gtk/editing/selection/word-granularity-expected.txt:
  • platform/gtk/editing/style/5046875-2-expected.txt:
  • platform/gtk/editing/style/block-styles-007-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-001-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-002-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-003-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-004-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-013-expected.txt:
  • platform/gtk/editing/style/style-3998892-fix-expected.txt:
  • platform/gtk/editing/style/style-boundary-001-expected.txt:
  • platform/gtk/editing/style/style-boundary-002-expected.txt:
  • platform/gtk/editing/style/style-boundary-003-expected.txt:
  • platform/gtk/editing/style/style-boundary-004-expected.txt:
  • platform/gtk/editing/unsupported-content/list-delete-001-expected.txt:
  • platform/gtk/editing/unsupported-content/list-delete-003-expected.txt:
  • platform/gtk/editing/unsupported-content/list-type-after-expected.txt:
  • platform/gtk/editing/unsupported-content/list-type-before-expected.txt:
  • platform/gtk/editing/unsupported-content/table-delete-002-expected.txt:
  • platform/gtk/editing/unsupported-content/table-type-after-expected.txt:
  • platform/gtk/editing/unsupported-content/table-type-before-expected.txt:
  • platform/gtk/fast/backgrounds/background-clip-text-expected.txt:
  • platform/gtk/fast/block/basic/001-expected.txt:
  • platform/gtk/fast/block/float/002-expected.txt:
  • platform/gtk/fast/block/float/021-expected.txt:
  • platform/gtk/fast/block/float/br-with-clear-2-expected.txt:
  • platform/gtk/fast/block/float/float-avoidance-expected.txt:
  • platform/gtk/fast/block/margin-collapse/104-expected.txt:
  • platform/gtk/fast/block/positioning/055-expected.txt:
  • platform/gtk/fast/block/positioning/056-expected.txt:
  • platform/gtk/fast/borders/inline-mask-overlay-image-outset-expected.txt:
  • platform/gtk/fast/borders/inline-mask-overlay-image-outset-vertical-rl-expected.txt:
  • platform/gtk/fast/box-shadow/basic-shadows-expected.txt:
  • platform/gtk/fast/clip/nestedTransparencyClip-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-generated-content/inline-display-types-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/hsl-color-expected.txt:
  • platform/gtk/fast/css/input-search-padding-expected.txt:
  • platform/gtk/fast/css/layerZOrderCrash-expected.txt:
  • platform/gtk/fast/css/line-height-overflow-expected.txt:
  • platform/gtk/fast/css/nth-child-dynamic-expected.txt:
  • platform/gtk/fast/css/rtl-ordering-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/gtk/fast/css/text-rendering-expected.txt:
  • platform/gtk/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/gtk/fast/dom/HTMLImageElement/image-alt-text-expected.txt:
  • platform/gtk/fast/dom/HTMLInputElement/input-image-alt-text-expected.txt:
  • platform/gtk/fast/dom/HTMLTableElement/colSpan-expected.txt:
  • platform/gtk/fast/dom/HTMLTableElement/createCaption-expected.txt:
  • platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/gtk/fast/dom/children-nodes-expected.txt:
  • platform/gtk/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
  • platform/gtk/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/gtk/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/gtk/fast/encoding/xmacroman-encoding-test-expected.txt:
  • platform/gtk/fast/forms/007-expected.txt:
  • platform/gtk/fast/forms/basic-inputs-expected.txt:
  • platform/gtk/fast/forms/basic-textareas-expected.txt:
  • platform/gtk/fast/forms/blankbuttons-expected.txt:
  • platform/gtk/fast/forms/button-table-styles-expected.txt:
  • platform/gtk/fast/forms/caret-rtl-expected.txt:
  • platform/gtk/fast/forms/color/input-appearance-color-expected.txt:
  • platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
  • platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
  • platform/gtk/fast/forms/hidden-listbox-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-focus-expected.txt:
  • platform/gtk/fast/forms/input-appearance-height-expected.txt:
  • platform/gtk/fast/forms/input-appearance-readonly-expected.txt:
  • platform/gtk/fast/forms/input-appearance-selection-expected.txt:
  • platform/gtk/fast/forms/input-appearance-width-expected.txt:
  • platform/gtk/fast/forms/input-baseline-expected.txt:
  • platform/gtk/fast/forms/input-disabled-color-expected.txt:
  • platform/gtk/fast/forms/input-first-letter-expected.txt:
  • platform/gtk/fast/forms/input-readonly-autoscroll-expected.txt:
  • platform/gtk/fast/forms/input-readonly-dimmed-expected.txt:
  • platform/gtk/fast/forms/input-spaces-expected.txt:
  • platform/gtk/fast/forms/input-type-text-min-width-expected.txt:
  • platform/gtk/fast/forms/listbox-hit-test-zoomed-expected.txt:
  • platform/gtk/fast/forms/menulist-narrow-width-expected.txt:
  • platform/gtk/fast/forms/menulist-restrict-line-height-expected.txt:
  • platform/gtk/fast/forms/menulist-width-change-expected.txt:
  • platform/gtk/fast/forms/negativeLineHeight-expected.txt:
  • platform/gtk/fast/forms/option-index-expected.txt:
  • platform/gtk/fast/forms/option-script-expected.txt:
  • platform/gtk/fast/forms/option-strip-whitespace-expected.txt:
  • platform/gtk/fast/forms/option-text-clip-expected.txt:
  • platform/gtk/fast/forms/placeholder-position-expected.txt:
  • platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/gtk/fast/forms/plaintext-mode-2-expected.txt:
  • platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.txt:
  • platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
  • platform/gtk/fast/forms/searchfield-heights-expected.txt:
  • platform/gtk/fast/forms/select-baseline-expected.txt:
  • platform/gtk/fast/forms/select-block-background-expected.txt:
  • platform/gtk/fast/forms/select-change-listbox-to-popup-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/stuff-on-my-optgroup-expected.txt:
  • platform/gtk/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/gtk/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
  • platform/gtk/fast/forms/textarea-scrollbar-expected.txt:
  • platform/gtk/fast/forms/textfield-outline-expected.txt:
  • platform/gtk/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/gtk/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.txt:
  • platform/gtk/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/gtk/fast/inline-block/inline-block-vertical-align-expected.txt:
  • platform/gtk/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/gtk/fast/invalid/021-expected.txt:
  • platform/gtk/fast/layers/video-layer-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-contains-value-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-floating-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-inside-columns-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-into-columns-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-into-floats-expected.txt:
  • platform/gtk/fast/line-grid/line-grid-positioned-expected.txt:
  • platform/gtk/fast/multicol/float-paginate-complex-expected.txt:
  • platform/gtk/fast/multicol/layers-in-multicol-expected.txt:
  • platform/gtk/fast/multicol/max-height-columns-block-expected.txt:
  • platform/gtk/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
  • platform/gtk/fast/overflow/006-expected.txt:
  • platform/gtk/fast/overflow/line-clamp-expected.txt:
  • platform/gtk/fast/overflow/overflow-stacking-expected.txt:
  • platform/gtk/fast/overflow/overflow-x-y-expected.txt:
  • platform/gtk/fast/overflow/position-fixed-transform-clipping-expected.txt:
  • platform/gtk/fast/overflow/table-overflow-float-expected.txt:
  • platform/gtk/fast/repaint/block-selection-gap-stale-cache-2-expected.txt:
  • platform/gtk/fast/repaint/block-selection-gap-stale-cache-expected.txt:
  • platform/gtk/fast/repaint/make-children-non-inline-expected.txt:
  • platform/gtk/fast/repaint/selection-after-remove-expected.txt:
  • platform/gtk/fast/repaint/selection-gap-overflow-scroll-2-expected.txt:
  • platform/gtk/fast/repaint/selection-gap-overflow-scroll-expected.txt:
  • platform/gtk/fast/repaint/text-selection-rect-in-overflow-2-expected.txt:
  • platform/gtk/fast/repaint/trailing-floats-root-line-box-overflow-expected.txt: Added.
  • platform/gtk/fast/replaced/selection-rect-transform-expected.txt:
  • platform/gtk/fast/ruby/ruby-inline-table-expected.txt:
  • platform/gtk/fast/table/009-expected.txt:
  • platform/gtk/fast/table/040-expected.txt:
  • platform/gtk/fast/table/040-vertical-expected.txt:
  • platform/gtk/fast/table/cellindex-expected.txt:
  • platform/gtk/fast/table/percent-heights-expected.txt:
  • platform/gtk/fast/table/table-and-parts-outline-expected.txt:
  • platform/gtk/fast/text/basic/012-expected.txt:
  • platform/gtk/fast/text/basic/014-expected.txt:
  • platform/gtk/fast/text/basic/generic-family-reset-expected.txt:
  • platform/gtk/fast/text/capitalize-boundaries-expected.txt:
  • platform/gtk/fast/text/complex-synthetic-bold-space-width-expected.txt:
  • platform/gtk/fast/text/firstline/001-expected.txt:
  • platform/gtk/fast/text/indic-expected.txt:
  • platform/gtk/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/gtk/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/gtk/fast/text/international/bidi-listbox-atsui-expected.txt:
  • platform/gtk/fast/text/international/bidi-listbox-expected.txt:
  • platform/gtk/fast/text/international/bidi-menulist-expected.txt:
  • platform/gtk/fast/text/international/hebrew-vowels-expected.txt:
  • platform/gtk/fast/text/international/hindi-spacing-expected.txt:
  • platform/gtk/fast/text/international/thai-baht-space-expected.txt:
  • platform/gtk/fast/text/midword-break-after-breakable-char-expected.txt:
  • platform/gtk/fast/text/whitespace/029-expected.txt: Added.
  • platform/gtk/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
  • platform/gtk/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/gtk/fast/writing-mode/english-bt-text-expected.txt:
  • platform/gtk/fast/writing-mode/english-lr-text-expected.txt:
  • platform/gtk/fast/writing-mode/english-rl-text-expected.txt:
  • platform/gtk/fast/writing-mode/fieldsets-expected.txt:
  • platform/gtk/fast/writing-mode/text-orientation-basic-expected.txt:
  • platform/gtk/fast/xsl/xslt-enc-cyr-expected.txt:
  • platform/gtk/fast/xsl/xslt-enc-expected.txt:
  • platform/gtk/fast/xsl/xslt-enc16-expected.txt:
  • platform/gtk/fast/xsl/xslt-enc16to16-expected.txt:
  • platform/gtk/fonts/cursive-expected.txt:
  • platform/gtk/fonts/default-expected.txt:
  • platform/gtk/fonts/fantasy-expected.txt:
  • platform/gtk/fonts/monospace-expected.txt:
  • platform/gtk/fonts/sans-serif-expected.txt:
  • platform/gtk/fonts/serif-expected.txt:
  • platform/gtk/http/tests/loading/simple-subframe-expected.txt:
  • platform/gtk/http/tests/local/file-url-sent-as-referer-expected.txt:
  • platform/gtk/http/tests/misc/favicon-as-image-expected.txt:
  • platform/gtk/http/tests/misc/frame-access-during-load-expected.txt:
  • platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/gtk/media/audio-controls-rendering-expected.txt:
  • platform/gtk/media/video-display-toggle-expected.txt:
  • platform/gtk/media/video-layer-crash-expected.txt:
  • platform/gtk/media/video-transformed-expected.txt:
  • platform/gtk/media/video-zoom-expected.txt:
  • platform/gtk/printing/single-line-must-not-be-split-into-two-pages-expected.txt:
  • platform/gtk/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/gtk/svg/custom/getsvgdocument-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug106158-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug1224-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/bug16012-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug20579-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug20804-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug23235-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug23299-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug25663-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug2962-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug30332-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug30692-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug32205-3-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4382-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug43854-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug5538-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug5799-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug82946-1-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/gtk/tables/mozilla/bugs/bug9123-1-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_border_1-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_border_2-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_border_3-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_td_align_left-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_td_align_right-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_td_colspan-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_td_height-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_td_width-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_th_align_center-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_th_align_left-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_th_align_right-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_th_colspan-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_th_height-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
  • platform/gtk/tables/mozilla/marvin/tables_th_width-expected.txt:
  • platform/gtk/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/gtk/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt:
  • platform/gtk/transforms/3d/hit-testing/backface-hit-test-expected.txt:
  • platform/gtk/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
  • platform/gtk/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
  • platform/ios/fast/css/font-face-remote-expected.txt: Removed.
  • platform/ios/fast/ruby/position-after-expected.txt: Removed.
  • platform/mac/fast/css/font-face-remote-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-h-horizontal-bt-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-h-horizontal-tb-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-h-vertical-lr-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-h-vertical-rl-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-v-horizontal-bt-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-v-horizontal-tb-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-v-vertical-lr-expected.txt: Removed.
  • platform/mac/fast/multicol/pagination-v-vertical-rl-expected.txt: Removed.
  • platform/mac/fast/repaint/text-emphasis-h-expected.txt: Removed.
  • platform/mac/fast/repaint/text-emphasis-v-expected.txt: Removed.
  • platform/mac/fast/ruby/position-after-expected.txt: Removed.
  • platform/mac/fast/text/decorations-transformed-expected.txt: Removed.
  • platform/mac/fast/text/soft-hyphen-4-expected.txt: Removed.
12:24 PM Changeset in webkit [268544] by Simon Fraser
  • 7 edits
    2 adds in trunk

Scrolls in the passive event region only send one wheel event to the DOM
https://bugs.webkit.org/show_bug.cgi?id=217719

Reviewed by Tim Horton.
Source/WebCore:

When we hit the scrolling thread latching codepath, we'd always use { WheelEventProcessingSteps::ScrollingThread }
for the steps, but that caused us to not send DOM events.

Latching has to store the steps from when latching occurs (we should not re-hit-test
to get the region state on every event), so fix up ScrollingTreeLatchingController to
do that.

Test: fast/scrolling/latching/latched-scroll-in-passive-region.html

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::determineWheelEventProcessing):
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::handleWheelEventWithNode):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeLatchingController.cpp:

(WebCore::ScrollingTreeLatchingController::receivedWheelEvent):
(WebCore::ScrollingTreeLatchingController::latchingDataForEvent const):
(WebCore::ScrollingTreeLatchingController::latchedNodeID const):
(WebCore::ScrollingTreeLatchingController::latchedNodeAndSteps const):
(WebCore::ScrollingTreeLatchingController::nodeDidHandleEvent):
(WebCore::ScrollingTreeLatchingController::nodeWasRemoved):
(WebCore::ScrollingTreeLatchingController::clearLatchedNode):
(WebCore::ScrollingTreeLatchingController::latchedNodeForEvent const): Deleted.

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

(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):

LayoutTests:

  • fast/scrolling/latching/latched-scroll-in-passive-region-expected.txt: Added.
  • fast/scrolling/latching/latched-scroll-in-passive-region.html: Added.
12:12 PM Changeset in webkit [268543] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

WeakObjCPtr.h is not safe to include in C++ source files
<https://webkit.org/b/217712>
<rdar://problem/70250667>

Reviewed by Darin Adler.

  • wtf/WeakObjCPtr.h:

(WTF::WeakObjCPtr::get const):

  • Move implementation outside of the class and wrap it in #ifdef OBJC/#endif. This makes the header safe to compile with other C++ sources, but will fail if get() is used in a C++ source file.
12:09 PM Changeset in webkit [268542] by Lauro Moura
  • 2 edits in trunk/Tools

[Flatpak SDK] Check for installed packages in setup_buildir
https://bugs.webkit.org/show_bug.cgi?id=217768

Reviewed by Philippe Normand.

During a cleanup of one of the bots, setup_builddir failed with a null
self.sdk member, which is set in get_packages.

While I could not reproduce it again, this commit prevents this by
checking whether the packages are installed before continuing the
original setup_builddir steps.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.setup_builddir): Check for installed packages.
(WebkitFlatpak.run_in_sandbox): Check for setup_builddir return code.
(WebkitFlatpak.check_installed_packages): Extracted from
setup_dev_env.
(WebkitFlatpak.setup_dev_env): Call extracted method.

11:43 AM Changeset in webkit [268541] by Andres Gonzalez
  • 6 edits in trunk

Fix for multiple accessibility layout tests in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=217745

Reviewed by Chris Fleizach.

Source/WebCore:

Fix for the following tests in accessibility isolated tree mode:
accessibility/mac/abbr-acronym-tags.html
accessibility/mac/aria-image-emits-object-replacement.html
accessibility/mac/attributed-string-includes-highlighting.html
accessibility/mac/attributed-string/attributed-string-for-range-with-options.html
accessibility/mac/attributed-string/attributed-string-for-range.html
accessibility/mac/character-offset-visible-position-conversion-with-emoji.html
accessibility/mac/element-for-text-marker.html
accessibility/mac/listmarker-suffix.html
accessibility/mac/media-emits-object-replacement.html
accessibility/mac/stale-textmarker-crash.html
accessibility/mac/string-range-contains-listmarker.html
accessibility/mac/text-marker-for-index.html
accessibility/mac/text-marker-length.html
accessibility/mac/text-marker-paragraph-nav.html
accessibility/mac/text-marker-range-for-node-without-children.html
accessibility/mac/text-marker-sentence-nav.html
accessibility/mac/text-marker-word-nav-collapsed-whitespace.html
accessibility/mac/text-marker-word-nav.html
accessibility/mac/text-markers-for-input-with-placeholder.html
accessibility/mac/webkit-scrollarea-position.html
accessibility/text-marker/text-marker-previous-next.html
accessibility/text-marker/text-marker-range-stale-node-crash.html
accessibility/text-marker/text-marker-range-with-removed-node-crash.html
accessibility/text-marker/text-marker-with-user-select-none.html

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::convertFrameToSpace const):
(WebCore::AXIsolatedObject::elementRange const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper position]):

LayoutTests:

  • accessibility/mac/attributed-string-includes-highlighting.html: Minor code cleanup.
11:26 AM Changeset in webkit [268540] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebCore

Apply patch. rdar://problem/70321689

11:21 AM Changeset in webkit [268539] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Vectorize StereoPanner's panToTargetValue()
https://bugs.webkit.org/show_bug.cgi?id=217765

Reviewed by Geoffrey Garen.

Vectorize StereoPanner's panToTargetValue().

No new tests, no Web-facing behavior change.

  • platform/audio/StereoPanner.cpp:

(WebCore::StereoPanner::panToTargetValue):

  • platform/audio/VectorMath.cpp:

(WebCore::VectorMath::multiplyByScalar):
(WebCore::VectorMath::multiplyByScalarThenAddToOutput):
(WebCore::VectorMath::multiplyByScalarThenAddToVector):

  • platform/audio/VectorMath.h:
11:19 AM Changeset in webkit [268538] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitscmpy] Unconditionally extract git-svn-id from commit message
https://bugs.webkit.org/show_bug.cgi?id=217740
<rdar://problem/70313868>

Reviewed by Dewei Zhu.

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

(Git.commit): Unconditionally attempt to extract git-svn-id.

11:17 AM Changeset in webkit [268537] by Aditya Keerthi
  • 2 edits in trunk/Source/WebKit

Crash in -[WKDateTimePicker setDateTimePickerToInitialValue]
https://bugs.webkit.org/show_bug.cgi?id=217763
<rdar://problem/68635008>

Reviewed by Wenson Hsieh.

Crash occurs due to the use of an autoreleased NSString in
setDateTimePickerToInitialValue. To fix, make the variable
a RetainPtr.

  • UIProcess/ios/forms/WKDateTimeInputControl.mm:

(-[WKDateTimePicker setDateTimePickerToInitialValue]):

11:07 AM Changeset in webkit [268536] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r268377. rdar://problem/70321875

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

11:07 AM Changeset in webkit [268535] by Alan Coon
  • 3 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r268376. rdar://problem/70321635

Cursor window is transparent - but not hidden - when cursor: none is specified
https://bugs.webkit.org/show_bug.cgi?id=217639
<rdar://problem/70006186>

Reviewed by Simon Fraser.

  • Platform/spi/mac/AppKitSPI.h:
  • UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::setCursor): Adopt new AppKit SPI to actually hide the cursor when we set it to the "none" shape. This hiding lives until the next time the app-global cursor shape is changed by any client.] We'll re-set it the next time we set the "none" shape.

This is important, because on some platforms, hiding the cursor is a performance improvement
over simply making it transparent.

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

11:07 AM Changeset in webkit [268534] by Alan Coon
  • 4 edits in branches/safari-610-branch/Source

Cherry-pick r268367. rdar://problem/70321875

[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

11:07 AM Changeset in webkit [268533] by Alan Coon
  • 5 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r268308. rdar://problem/70321629

[Mac] AirPlay menu does not show up when AirPlay button is clicked
https://bugs.webkit.org/show_bug.cgi?id=217536
<rdar://problem/69973777>

Reviewed by Eric Carlson.

Source/WebCore:

PAL tries to soft-link the AVRoutePickerView from the AVFoundation framework, rather than the (correct)
AVKit framework. Remove AVRoutePickerView from AVFoundationSoftLink.h and use the already declared version
inside AVRoutePickerViewTargetPicker.mm.

  • platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm: (WebCore::AVRoutePickerViewTargetPicker::isAvailable):

Source/WebCore/PAL:

  • pal/cocoa/AVFoundationSoftLink.h:
  • pal/cocoa/AVFoundationSoftLink.mm:

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

11:07 AM Changeset in webkit [268532] by Alan Coon
  • 3 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r268246. rdar://problem/70321627

AX: Website Warning page is inaccessible
https://bugs.webkit.org/show_bug.cgi?id=217489

Reviewed by Zalan Bujtas.

If we have a safe browsing window, we need to use that instead of the content view.

  • UIProcess/Cocoa/WKSafeBrowsingWarning.h:
  • UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::accessibilityAttributeValue):

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

10:37 AM Changeset in webkit [268531] by Jonathan Bedard
  • 4 edits in trunk/Tools

[webkitscmpy] Support <identifier>@ abbreviated idiom
https://bugs.webkit.org/show_bug.cgi?id=217716
<rdar://problem/70299119>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:

(Commit):
(Commit._parse_identifier): Support <identifier>@ shorthand.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:

(TestCommit.test_parse_identifier):

10:34 AM Changeset in webkit [268530] by Alan Coon
  • 4 edits in branches/safari-610-branch/Source/WebCore/dom

Cherry-pick f9437de2cd47. rdar://70261677

Fix the build after cherry-picking r266909.

10:34 AM Changeset in webkit [268529] by Alan Coon
  • 8 edits
    2 adds in branches/safari-610-branch

Cherry-pick r266909. rdar://70261677

Source/WebCore:
Text replacements at the beginning of a second line are replaced too early
https://bugs.webkit.org/show_bug.cgi?id=216327
<rdar://problem/68170353>

Reviewed by Darin Adler.

In the changes in r258871, using SimpleRanges instead of Range causing some side effects
when the replacements at the beginning of lines. The ranges that we are counting are backwards
and the return characters are being counted instead of being ignored. There is almost
certainly a better fix than this, but this patch restores the original logic that
was present when Range was being used, until a better fix can be worked out.

Test: editing/spelling/text-replacement-first-word-second-line.html

  • editing/Editor.cpp: (WebCore::Editor::markAndReplaceFor):
  • editing/TextCheckingHelper.cpp: (WebCore::TextCheckingParagraph::automaticReplacementStart const): (WebCore::TextCheckingParagraph::automaticReplacementLength const):
  • editing/TextCheckingHelper.h:

LayoutTests:
Overlapping text replacements at the beginning of a line are replaced too early
https://bugs.webkit.org/show_bug.cgi?id=216327

Reviewed by Darin Adler.

  • editing/spelling/text-replacement-first-word-second-line-expected.txt: Added.
  • editing/spelling/text-replacement-first-word-second-line.html: Added.

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

10:23 AM Changeset in webkit [268528] by Alexey Shvayka
  • 4 edits in trunk

REGRESSION (r268489): test/built-ins/Object/entries/order-after-define-property.js failing on test262 bots
https://bugs.webkit.org/show_bug.cgi?id=217738

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/object-entries.js:

Source/JavaScriptCore:

This change fixes an oversight of r268489 that caused Object.entries to
return a sparse array if its argument contained non-enumerable properties.

  • builtins/ObjectConstructor.js:

(entries):

10:01 AM Changeset in webkit [268527] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r267662): [ Mojave+ debug wk1 ] webgl/2.0.0/conformance/extensions/webgl-compressed-texture-s3tc-srgb.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=217761

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
9:27 AM Changeset in webkit [268526] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

EWS bot should fail if a new test is missing its result
https://bugs.webkit.org/show_bug.cgi?id=177723

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(RunWebKitTests.evaluateResult):

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
9:27 AM Changeset in webkit [268525] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION: [ iOS wk2 ews ] media/now-playing-status-without-media.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217759

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
8:43 AM Changeset in webkit [268524] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (r268178): [iOS] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-multiple-times.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217741

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
7:36 AM Changeset in webkit [268523] by Karl Rackler
  • 2 edits in trunk/LayoutTests

[ Mojave wk1 ews ] media/remote-control-command-seek.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215325

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
6:46 AM Changeset in webkit [268522] by Chris Lord
  • 24 edits in trunk/Source

[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):

4:36 AM Changeset in webkit [268521] by youenn@apple.com
  • 19 edits
    1 copy
    2 moves
    3 adds in trunk/Source

Introduce a RemoteAudioSourceProvider to receive audio samples for web audio from GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=217710

Reviewed by Eric Carlson.

Source/WebCore:

Split WebAudioSourceProviderAVFObjC MediaStreamTrack specific bits in a separate MediaStreamTrackAudioSourceProviderAVFObjC class.
This allows reusing WebAudioSourceProviderAVFObjC for samples coming from audio playback living in GPUProcess.
No change of behavior.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/cocoa/AudioSampleBufferList.cpp:
  • platform/audio/cocoa/AudioSampleBufferList.h:
  • platform/audio/cocoa/AudioSampleDataSource.h:
  • platform/audio/cocoa/AudioSampleDataSource.mm:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::audioSourceProvider):

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/WebAudioSourceProvider.h:
  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:
  • platform/mediastream/mac/MediaStreamTrackAudioSourceProviderCocoa.cpp: Added.

(WebCore::MediaStreamTrackAudioSourceProviderCocoa::create):
(WebCore::MediaStreamTrackAudioSourceProviderCocoa::MediaStreamTrackAudioSourceProviderCocoa):
(WebCore::MediaStreamTrackAudioSourceProviderCocoa::~MediaStreamTrackAudioSourceProviderCocoa):
(WebCore::MediaStreamTrackAudioSourceProviderCocoa::hasNewClient):
(WebCore::MediaStreamTrackAudioSourceProviderCocoa::trackEnabledChanged):
(WebCore::MediaStreamTrackAudioSourceProviderCocoa::audioSamplesAvailable):

  • platform/mediastream/mac/MediaStreamTrackAudioSourceProviderCocoa.h: Added.
  • platform/mediastream/mac/MockAudioSharedUnit.h:
  • platform/mediastream/mac/MockAudioSharedUnit.mm:
  • platform/mediastream/mac/WebAudioSourceProviderCocoa.h: Renamed from Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h.
  • platform/mediastream/mac/WebAudioSourceProviderCocoa.mm: Renamed from Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm.

(WebCore::WebAudioSourceProviderCocoa::WebAudioSourceProviderCocoa):
(WebCore::WebAudioSourceProviderCocoa::~WebAudioSourceProviderCocoa):
(WebCore::WebAudioSourceProviderCocoa::setClient):
(WebCore::WebAudioSourceProviderCocoa::provideInput):
(WebCore::WebAudioSourceProviderCocoa::prepare):
(WebCore::WebAudioSourceProviderCocoa::receivedNewAudioSamples):

Source/WebKit:

Make use of WebAudioSourceProviderAVFObjC to implement RemoteAudioSourceProvider.
RemoteAudioSourceProvider currently implements an AudioSourceProvider but it is not yet connected to GPUProcess media players.
This will be implemented in a follow-up.

  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::~MediaPlayerPrivateRemote):
(WebKit::MediaPlayerPrivateRemote::audioSourceProvider):

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
  • WebProcess/GPU/media/RemoteAudioSourceProvider.cpp: Added.

(WebKit::RemoteAudioSourceProvider::create):
(WebKit::RemoteAudioSourceProvider::RemoteAudioSourceProvider):
(WebKit::RemoteAudioSourceProvider::~RemoteAudioSourceProvider):
(WebKit::RemoteAudioSourceProvider::close):
(WebKit::RemoteAudioSourceProvider::hasNewClient):
(WebKit::RemoteAudioSourceProvider::audioSamplesAvailable):
(WebKit::RemoteAudioSourceProvider::logChannel const):

  • WebProcess/GPU/media/RemoteAudioSourceProvider.h: Added.
  • WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
4:32 AM Changeset in webkit [268520] by Antti Koivisto
  • 1066 edits
    69 copies
    33 adds in trunk

Remove <br> render tree dump quirk
https://bugs.webkit.org/show_bug.cgi?id=209813

Reviewed by Zalan Bujtas.

Source/WebCore:

Stop lying about <br> box dimensions.

  • layout/integration/LayoutIntegrationRunIterator.h:

(WebCore::LayoutIntegration::PathRun::baseline const): Deleted.
(WebCore::LayoutIntegration::PathRun::useLineBreakBoxRenderTreeDumpQuirk const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorLegacyPath.h:

(WebCore::LayoutIntegration::RunIteratorLegacyPath::isLineBreak const):
(WebCore::LayoutIntegration::RunIteratorLegacyPath::baseline const): Deleted.
(WebCore::LayoutIntegration::RunIteratorLegacyPath::useLineBreakBoxRenderTreeDumpQuirk const): Deleted.

  • layout/integration/LayoutIntegrationRunIteratorModernPath.h:

(WebCore::LayoutIntegration::RunIteratorModernPath::baseline const): Deleted.
(WebCore::LayoutIntegration::RunIteratorModernPath::useLineBreakBoxRenderTreeDumpQuirk const): Deleted.

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::boundingBoxForRenderTreeDump const): Deleted.

  • rendering/RenderLineBreak.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):

LayoutTests:

  • platform/mac/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/mac/css1/color_and_background/background_attachment-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/editing/deleting/5272440-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-008-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-002-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-003-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-004-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-006-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-007-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-009-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-011-expected.txt:
  • platform/mac/editing/deleting/delete-br-003-expected.txt:
  • platform/mac/editing/deleting/delete-image-001-expected.txt:
  • platform/mac/editing/deleting/delete-image-002-expected.txt:
  • platform/mac/editing/deleting/delete-line-003-expected.txt:
  • platform/mac/editing/deleting/delete-trailing-ws-002-expected.txt:
  • platform/mac/editing/deleting/non-smart-delete-expected.txt:
  • platform/mac/editing/execCommand/4641880-1-expected.txt:
  • platform/mac/editing/execCommand/4641880-2-expected.txt:
  • platform/mac/editing/execCommand/4916541-expected.txt:
  • platform/mac/editing/execCommand/5080333-1-expected.txt:
  • platform/mac/editing/execCommand/5080333-2-expected.txt:
  • platform/mac/editing/execCommand/5569741-expected.txt:
  • platform/mac/editing/execCommand/indent-selection-expected.txt:
  • platform/mac/editing/execCommand/remove-list-from-range-selection-expected.txt:
  • platform/mac/editing/input/emacs-ctrl-o-expected.txt:
  • platform/mac/editing/inserting/4960120-2-expected.txt:
  • platform/mac/editing/inserting/5002441-expected.txt:
  • platform/mac/editing/inserting/5156401-2-expected.txt:
  • platform/mac/editing/inserting/5510537-expected.txt:
  • platform/mac/editing/inserting/5549929-3-expected.txt:
  • platform/mac/editing/inserting/6703873-expected.txt:
  • platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
  • platform/mac/editing/inserting/insert-3778059-fix-expected.txt:
  • platform/mac/editing/inserting/insert-br-at-tabspan-001-expected.txt:
  • platform/mac/editing/inserting/insert-br-at-tabspan-002-expected.txt:
  • platform/mac/editing/inserting/insert-br-at-tabspan-003-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-001-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-002-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-003-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-004-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-005-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-006-expected.txt:
  • platform/mac/editing/inserting/insert-div-020-expected.txt:
  • platform/mac/editing/inserting/insert-div-022-expected.txt:
  • platform/mac/editing/inserting/insert-div-026-expected.txt:
  • platform/mac/editing/inserting/insert-paragraph-03-expected.txt:
  • platform/mac/editing/inserting/insert-text-with-newlines-expected.txt:
  • platform/mac/editing/inserting/paragraph-separator-in-table-1-expected.txt:
  • platform/mac/editing/inserting/paragraph-separator-in-table-2-expected.txt:
  • platform/mac/editing/inserting/return-key-with-selection-001-expected.txt:
  • platform/mac/editing/inserting/return-key-with-selection-002-expected.txt:
  • platform/mac/editing/inserting/return-key-with-selection-003-expected.txt:
  • platform/mac/editing/pasteboard/4989774-expected.txt:
  • platform/mac/editing/pasteboard/5006779-expected.txt:
  • platform/mac/editing/pasteboard/5601583-1-expected.txt:
  • platform/mac/editing/pasteboard/8145-2-expected.txt:
  • platform/mac/editing/pasteboard/bad-placeholder-expected.txt:
  • platform/mac/editing/pasteboard/emacs-cntl-y-001-expected.txt:
  • platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
  • platform/mac/editing/pasteboard/paste-4038267-fix-expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-001-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-002-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-003-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-004-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-005-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-006-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-007-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-008-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-009-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-010-expected.txt:
  • platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
  • platform/mac/editing/pasteboard/paste-match-style-002-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-016-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-019-expected.txt:
  • platform/mac/editing/pasteboard/quirks-mode-br-1-expected.txt:
  • platform/mac/editing/selection/3690703-2-expected.txt:
  • platform/mac/editing/selection/3690703-expected.txt:
  • platform/mac/editing/selection/3690719-expected.txt:
  • platform/mac/editing/selection/5007143-2-expected.txt:
  • platform/mac/editing/selection/5007143-expected.txt:
  • platform/mac/editing/selection/drag-in-iframe-expected.txt:
  • platform/mac/editing/selection/editable-html-element-expected.txt:
  • platform/mac/editing/selection/extend-by-character-002-expected.txt:
  • platform/mac/editing/selection/extend-by-character-004-expected.txt:
  • platform/mac/editing/selection/focus_editable_html-expected.txt:
  • platform/mac/editing/selection/image-before-linebreak-expected.txt:
  • platform/mac/editing/selection/move-3875618-fix-expected.txt:
  • platform/mac/editing/selection/move-backwords-by-word-001-expected.txt:
  • platform/mac/editing/selection/move-by-character-002-expected.txt:
  • platform/mac/editing/selection/move-by-character-004-expected.txt:
  • platform/mac/editing/selection/move-by-sentence-linebreak-expected.txt:
  • platform/mac/editing/selection/paragraph-granularity-expected.txt:
  • platform/mac/editing/selection/replaced-boundaries-3-expected.txt:
  • platform/mac/editing/selection/select-all-002-expected.txt:
  • platform/mac/editing/selection/select-all-003-expected.txt:
  • platform/mac/editing/selection/select-all-iframe-expected.txt:
  • platform/mac/editing/selection/selectNode-expected.txt:
  • platform/mac/editing/selection/selectNodeContents-expected.txt:
  • platform/mac/editing/selection/selection-3748164-fix-expected.txt:
  • platform/mac/editing/selection/selection-actions-expected.txt:
  • platform/mac/editing/selection/word-granularity-expected.txt:
  • platform/mac/editing/style/5046875-2-expected.txt:
  • platform/mac/editing/style/block-styles-007-expected.txt:
  • platform/mac/editing/style/create-block-for-style-001-expected.txt:
  • platform/mac/editing/style/create-block-for-style-002-expected.txt:
  • platform/mac/editing/style/create-block-for-style-003-expected.txt:
  • platform/mac/editing/style/create-block-for-style-004-expected.txt:
  • platform/mac/editing/style/create-block-for-style-013-expected.txt:
  • platform/mac/editing/style/smoosh-styles-001-expected.txt:
  • platform/mac/editing/style/style-3998892-fix-expected.txt:
  • platform/mac/editing/style/style-boundary-001-expected.txt:
  • platform/mac/editing/style/style-boundary-004-expected.txt:
  • platform/mac/editing/style/style-boundary-005-expected.txt:
  • platform/mac/editing/unsupported-content/list-delete-001-expected.txt:
  • platform/mac/editing/unsupported-content/list-delete-003-expected.txt:
  • platform/mac/editing/unsupported-content/list-type-after-expected.txt:
  • platform/mac/editing/unsupported-content/list-type-before-expected.txt:
  • platform/mac/editing/unsupported-content/table-delete-002-expected.txt:
  • platform/mac/editing/unsupported-content/table-type-after-expected.txt:
  • platform/mac/editing/unsupported-content/table-type-before-expected.txt:
  • platform/mac/fast/backgrounds/background-clip-text-expected.txt:
  • platform/mac/fast/backgrounds/border-radius-split-background-image-expected.txt:
  • platform/mac/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.txt:
  • platform/mac/fast/block/float/002-expected.txt:
  • platform/mac/fast/block/float/021-expected.txt:
  • platform/mac/fast/block/margin-collapse/104-expected.txt:
  • platform/mac/fast/block/positioning/056-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/block/positioning/trailing-space-test-expected.txt:
  • platform/mac/fast/borders/border-styles-split-expected.txt:
  • platform/mac/fast/box-shadow/basic-shadows-expected.txt:
  • platform/mac/fast/clip/nestedTransparencyClip-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-generated-content/inline-display-types-expected.txt:
  • platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt:
  • platform/mac/fast/css-generated-content/table-row-group-with-before-expected.txt:
  • platform/mac/fast/css-generated-content/table-row-with-before-expected.txt:
  • platform/mac/fast/css-generated-content/table-with-before-expected.txt:
  • platform/mac/fast/css/001-expected.txt:
  • platform/mac/fast/css/first-letter-first-line-hover-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/font-smoothing-expected.txt:
  • platform/mac/fast/css/hsl-color-expected.txt:
  • platform/mac/fast/css/layerZOrderCrash-expected.txt:
  • platform/mac/fast/css/line-height-overflow-expected.txt:
  • platform/mac/fast/css/nth-child-dynamic-expected.txt:
  • platform/mac/fast/css/outline-narrowLine-expected.txt:
  • platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
  • platform/mac/fast/css/text-rendering-expected.txt:
  • platform/mac/fast/css/word-space-extra-expected.txt:
  • platform/mac/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/mac/fast/dom/HTMLImageElement/image-alt-text-expected.txt:
  • platform/mac/fast/dom/HTMLTableElement/colSpan-expected.txt:
  • platform/mac/fast/dom/HTMLTableElement/createCaption-expected.txt:
  • platform/mac/fast/dom/children-nodes-expected.txt:
  • platform/mac/fast/dom/focus-contenteditable-expected.txt:
  • platform/mac/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
  • platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/mac/fast/encoding/xmacroman-encoding-test-expected.txt:
  • platform/mac/fast/events/standalone-image-drag-to-editable-expected.txt:
  • platform/mac/fast/forms/007-expected.txt:
  • platform/mac/fast/forms/basic-textareas-expected.txt:
  • platform/mac/fast/forms/button-table-styles-expected.txt:
  • platform/mac/fast/forms/caret-rtl-expected.txt:
  • platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
  • platform/mac/fast/forms/input-baseline-expected.txt:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/input-type-text-min-width-expected.txt:
  • platform/mac/fast/forms/negativeLineHeight-expected.txt:
  • platform/mac/fast/forms/option-index-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/range/slider-padding-expected.txt:
  • platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
  • platform/mac/fast/frames/001-expected.txt:
  • platform/mac/fast/frames/iframe-with-frameborder-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/hidpi/image-set-border-image-comparison-expected.txt:
  • platform/mac/fast/inline-block/001-expected.txt:
  • platform/mac/fast/inline-block/006-expected.txt:
  • platform/mac/fast/inline-block/contenteditable-baseline-expected.txt:
  • platform/mac/fast/inline-block/tricky-baseline-expected.txt:
  • platform/mac/fast/inline/drawStyledEmptyInlines-expected.txt:
  • platform/mac/fast/invalid/010-expected.txt:
  • platform/mac/fast/invalid/021-expected.txt:
  • platform/mac/fast/layers/overflow-scroll-auto-switch-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/fast/line-grid/line-grid-contains-value-expected.txt:
  • platform/mac/fast/line-grid/line-grid-floating-expected.txt:
  • platform/mac/fast/line-grid/line-grid-inside-columns-expected.txt:
  • platform/mac/fast/line-grid/line-grid-into-columns-expected.txt:
  • platform/mac/fast/line-grid/line-grid-into-floats-expected.txt:
  • platform/mac/fast/line-grid/line-grid-positioned-expected.txt:
  • platform/mac/fast/multicol/column-break-with-balancing-expected.txt:
  • platform/mac/fast/multicol/column-count-with-rules-expected.txt:
  • platform/mac/fast/multicol/float-paginate-complex-expected.txt:
  • platform/mac/fast/multicol/float-paginate-empty-lines-expected.txt:
  • platform/mac/fast/multicol/float-paginate-expected.txt:
  • platform/mac/fast/multicol/layers-in-multicol-expected.txt:
  • platform/mac/fast/multicol/max-height-columns-block-expected.txt:
  • platform/mac/fast/multicol/paginate-block-replaced-expected.txt:
  • platform/mac/fast/multicol/positioned-split-expected.txt:
  • platform/mac/fast/multicol/table-vertical-align-expected.txt:
  • platform/mac/fast/multicol/unsplittable-inline-block-expected.txt:
  • platform/mac/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
  • platform/mac/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
  • platform/mac/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
  • platform/mac/fast/multicol/vertical-lr/float-paginate-expected.txt:
  • platform/mac/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
  • platform/mac/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
  • platform/mac/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
  • platform/mac/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
  • platform/mac/fast/multicol/vertical-rl/float-paginate-expected.txt:
  • platform/mac/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
  • platform/mac/fast/overflow/002-expected.txt:
  • platform/mac/fast/overflow/006-expected.txt:
  • platform/mac/fast/overflow/line-clamp-expected.txt:
  • platform/mac/fast/overflow/overflow-float-stacking-expected.txt:
  • platform/mac/fast/overflow/overflow-stacking-expected.txt:
  • platform/mac/fast/overflow/position-fixed-transform-clipping-expected.txt:
  • platform/mac/fast/overflow/table-overflow-float-expected.txt:
  • platform/mac/fast/reflections/reflection-direction-expected.txt:
  • platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.txt:
  • platform/mac/fast/repaint/block-selection-gap-stale-cache-expected.txt:
  • platform/mac/fast/repaint/make-children-non-inline-expected.txt:
  • platform/mac/fast/repaint/selection-after-remove-expected.txt:
  • platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.txt:
  • platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.txt:
  • platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.txt:
  • platform/mac/fast/replaced/007-expected.txt:
  • platform/mac/fast/replaced/selection-rect-transform-expected.txt:
  • platform/mac/fast/ruby/ruby-beforeafter-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/table/005-expected.txt:
  • platform/mac/fast/table/009-expected.txt:
  • platform/mac/fast/table/039-expected.txt:
  • platform/mac/fast/table/040-expected.txt:
  • platform/mac/fast/table/040-vertical-expected.txt:
  • platform/mac/fast/table/cellindex-expected.txt:
  • platform/mac/fast/table/percent-heights-expected.txt:
  • platform/mac/fast/table/table-and-parts-outline-expected.txt:
  • platform/mac/fast/text/basic/012-expected.txt:
  • platform/mac/fast/text/basic/014-expected.txt:
  • platform/mac/fast/text/basic/generic-family-reset-expected.txt:
  • platform/mac/fast/text/complex-synthetic-bold-space-width-expected.txt:
  • platform/mac/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
  • platform/mac/fast/text/international/bidi-layout-across-linebreak-expected.txt:
  • platform/mac/fast/text/international/bidi-listbox-atsui-expected.txt:
  • platform/mac/fast/text/international/bidi-listbox-expected.txt:
  • platform/mac/fast/text/international/hebrew-vowels-expected.txt:
  • platform/mac/fast/text/international/thai-baht-space-expected.txt:
  • platform/mac/fast/text/midword-break-after-breakable-char-expected.txt:
  • platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
  • platform/mac/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/mac/fast/transforms/transformed-caret-expected.txt:
  • platform/mac/fast/writing-mode/border-styles-vertical-lr-expected.txt:
  • platform/mac/fast/writing-mode/border-styles-vertical-rl-expected.txt:
  • platform/mac/fast/writing-mode/english-bt-text-expected.txt:
  • platform/mac/fast/writing-mode/english-lr-text-expected.txt:
  • platform/mac/fast/writing-mode/english-rl-text-expected.txt:
  • platform/mac/fast/writing-mode/fieldsets-expected.txt:
  • platform/mac/fast/writing-mode/text-orientation-basic-expected.txt:
  • platform/mac/fast/xsl/xslt-enc-cyr-expected.txt:
  • platform/mac/fast/xsl/xslt-enc-expected.txt:
  • platform/mac/fast/xsl/xslt-enc16-expected.txt:
  • platform/mac/fast/xsl/xslt-enc16to16-expected.txt:
  • platform/mac/fonts/default-expected.txt:
  • platform/mac/fonts/fantasy-expected.txt:
  • platform/mac/fonts/monospace-expected.txt:
  • platform/mac/fonts/sans-serif-expected.txt:
  • platform/mac/fonts/serif-expected.txt:
  • platform/mac/http/tests/loading/simple-subframe-expected.txt:
  • platform/mac/http/tests/local/file-url-sent-as-referer-expected.txt:
  • platform/mac/http/tests/misc/favicon-as-image-expected.txt:
  • platform/mac/http/tests/misc/frame-access-during-load-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-goback1-expected.txt:
  • platform/mac/media/video-transformed-expected.txt:
  • platform/mac/scrollbars/basic-scrollbar-expected.txt:
  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt:
  • platform/mac/svg/as-image/animated-svg-as-image-expected.txt:
  • platform/mac/svg/as-image/animated-svg-as-image-same-image-expected.txt:
  • platform/mac/svg/custom/getsvgdocument-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug106158-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug11026-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1224-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020-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/bug149275-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug16012-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug19061-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug19061-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug20579-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug20804-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug23235-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug23299-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug25663-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug28341-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2962-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30332-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug32205-3-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4093-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4284-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug43854-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug43854-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4849-2-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug5538-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug5799-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug5838-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug60992-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug6404-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug82946-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug8950-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/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/table_row_align_center-expected.txt:
  • platform/mac/tables/mozilla/marvin/table_row_align_left-expected.txt:
  • platform/mac/tables/mozilla/marvin/table_row_align_right-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_align_center-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_align_left-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_align_right-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_border_0-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_border_1-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_border_2-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_border_3-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_default-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_td_align_left-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_td_align_right-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_td_colspan-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_td_height-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_td_width-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_th_align_center-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_th_align_left-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_th_align_right-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_th_colspan-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_th_height-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
  • platform/mac/tables/mozilla/marvin/tables_th_width-expected.txt:
  • platform/mac/tables/mozilla/other/nestedTables-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug32205-1-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug80762-2-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:
  • platform/mac/transforms/3d/hit-testing/backface-hit-test-expected.txt:
  • platform/mac/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
3:46 AM Changeset in webkit [268519] by Diego Pino Garcia
  • 1 edit
    1 move
    1 add
    2 deletes in trunk/LayoutTests

[GLIB] Unreviewed test gardening. Update baseline of fast/css/word-space-extra.html after r268202.

  • platform/glib/fast/css/word-space-extra-expected.png: Renamed from LayoutTests/platform/gtk/fast/css/word-space-extra-expected.png.
  • platform/glib/fast/css/word-space-extra-expected.txt: Renamed from LayoutTests/platform/gtk/fast/css/word-space-extra-expected.txt.
  • platform/wpe/fast/css/word-space-extra-expected.txt: Removed.
3:44 AM Changeset in webkit [268518] by Lauro Moura
  • 5 edits in trunk/Tools

webkitpy: Fix remaining pytest autoinstall imports
https://bugs.webkit.org/show_bug.cgi?id=217694

Reviewed by Carlos Garcia Campos.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump mini

version due to argument rename below.

  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:

(Package.init): Change argument name to communicate that the first
arg is the name of the package to be imported.

  • Scripts/webkitpy/init.py: Some changes:
  • Downgrade attr to a compatible version with the pytest used.
  • Fix pytest_timeout import name
  • Downgrade pytest to 3.x. Version 4.x deprecated direct invocation of

fixtures, which is still used by W3C webdriver test code.

  • Scripts/webkitpy/webdriver_tests/pytest_runner.py:

(run): Avoid using pytest autoload features to ensure it would import
plugins like pytest_timeout, triggering their install.

1:09 AM Changeset in webkit [268517] by Adrian Perez de Castro
  • 8 edits in trunk/Source

Non-unified build fixes, mid October 2020, take two
https://bugs.webkit.org/show_bug.cgi?id=217734

Unreviewed build fix.

Source/WebCore:

No new tests needed.

  • Modules/webaudio/AudioWorklet.cpp: Add missing AudioWorkletProcessor.h header.
  • Modules/webaudio/AudioWorkletGlobalScope.cpp: Add missing BaseAudioContext.h header.
  • Modules/webaudio/AudioWorkletNode.cpp: Add missing AudioParamDescriptor.h header.
  • Modules/webaudio/AudioWorkletNode.h: Add missing forward declaration for the

JSC::JSGlobalObject type.

  • workers/WorkerRunLoop.cpp: Add missing JavaScriptCore/JSRunLoopTimer.h header, move

inclusion of WorkerRunLoop.h header up to please the style checker.

Source/WebKit:

  • UIProcess/WebProcessProxy.cpp: Add missing WebPreferencesKeys.h header.
12:54 AM Changeset in webkit [268516] by svillar@igalia.com
  • 9 edits in trunk

[css-flexbox] flex-grow property should be animatable
https://bugs.webkit.org/show_bug.cgi?id=209872

Reviewed by Antoine Quint.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-flexbox/animation/flex-grow-interpolation-expected.txt: New expected PASS results.
  • web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt: Additional results.
  • web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt: Ditto.
  • web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt: Ditto.
  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt: Ditto.

Source/WebCore:

Make flew-grow animatable as per spec. This allows us to pass a bunch of flexbox animation subtests.

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add the wrapper for flex-grow.

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::setFlexGrow): Clamp flex-grow to 0 as negative values are invalid.

Oct 14, 2020:

11:11 PM Changeset in webkit [268515] by Kocsen Chung
  • 3 edits in branches/safari-610.2.11.51-branch/Source/WebKit

Cherry-pick r268376. rdar://problem/70312257

Cursor window is transparent - but not hidden - when cursor: none is specified
https://bugs.webkit.org/show_bug.cgi?id=217639
<rdar://problem/70006186>

Reviewed by Simon Fraser.

  • Platform/spi/mac/AppKitSPI.h:
  • UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::setCursor): Adopt new AppKit SPI to actually hide the cursor when we set it to the "none" shape. This hiding lives until the next time the app-global cursor shape is changed by any client.] We'll re-set it the next time we set the "none" shape.

This is important, because on some platforms, hiding the cursor is a performance improvement
over simply making it transparent.

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

11:11 PM Changeset in webkit [268514] by Kocsen Chung
  • 5 edits in branches/safari-610.2.11.51-branch/Source/WebCore

Cherry-pick r268308. rdar://problem/70321631

[Mac] AirPlay menu does not show up when AirPlay button is clicked
https://bugs.webkit.org/show_bug.cgi?id=217536
<rdar://problem/69973777>

Reviewed by Eric Carlson.

Source/WebCore:

PAL tries to soft-link the AVRoutePickerView from the AVFoundation framework, rather than the (correct)
AVKit framework. Remove AVRoutePickerView from AVFoundationSoftLink.h and use the already declared version
inside AVRoutePickerViewTargetPicker.mm.

  • platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm: (WebCore::AVRoutePickerViewTargetPicker::isAvailable):

Source/WebCore/PAL:

  • pal/cocoa/AVFoundationSoftLink.h:
  • pal/cocoa/AVFoundationSoftLink.mm:

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

11:11 PM Changeset in webkit [268513] by Kocsen Chung
  • 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

11:11 PM Changeset in webkit [268512] by Kocsen Chung
  • 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

10:48 PM Changeset in webkit [268511] by Kocsen Chung
  • 3 edits in branches/safari-610.2.11.1-branch/Source/WebKit

Cherry-pick r268376. rdar://problem/70312205

Cursor window is transparent - but not hidden - when cursor: none is specified
https://bugs.webkit.org/show_bug.cgi?id=217639
<rdar://problem/70006186>

Reviewed by Simon Fraser.

  • Platform/spi/mac/AppKitSPI.h:
  • UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::setCursor): Adopt new AppKit SPI to actually hide the cursor when we set it to the "none" shape. This hiding lives until the next time the app-global cursor shape is changed by any client.] We'll re-set it the next time we set the "none" shape.

This is important, because on some platforms, hiding the cursor is a performance improvement
over simply making it transparent.

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

10:46 PM Changeset in webkit [268510] by Kocsen Chung
  • 8 edits in branches/safari-610.2.11.1-branch/Source

Versioning.

WebKit-7610.2.11.1.3

10:01 PM Changeset in webkit [268509] by Kocsen Chung
  • 8 edits in branches/safari-610.2.11.51-branch/Source

Versioning.

WebKit-7610.2.11.51.2

8:28 PM Changeset in webkit [268508] by Fujii Hironori
  • 3 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:
  • platform/wincairo/fast/css/word-space-extra-expected.txt:
8:24 PM Changeset in webkit [268507] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[iOS] Allow additional sysctl reads needed by image decoding
https://bugs.webkit.org/show_bug.cgi?id=217733
<rdar://problem/68649171>

Reviewed by Per Arne Vollan.

Telemetry on iOS 14 shows that we are hitting some sandbox violations during image decoding. We should
grant access to hw.byteorder, hw.cachelinesize_compat, and hw.vectorunit. We should silence warnings
about hw.cpufrequency_compat since it is not needed in web-facing use cases.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
7:29 PM Changeset in webkit [268506] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Rename VectorMath::multiplyThenAddScalar() for clarity
https://bugs.webkit.org/show_bug.cgi?id=217744

Reviewed by Darin Adler.

Rename VectorMath::multiplyThenAddScalar() to VectorMath::multiplyByScalarThenAddToOutput()
for clarity. The previous name was a bit confusing and hopefully the new name makes it
clearer what the function actually does. If not, I also improved the comment next to the
function.

  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::speakersSumFromByDownMixing):

  • platform/audio/VectorMath.cpp:

(WebCore::VectorMath::multiplyByScalarThenAddToOutput):

  • platform/audio/VectorMath.h:
7:23 PM Changeset in webkit [268505] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Vectorize downmixing in AudioBus::createByMixingToMono()
https://bugs.webkit.org/show_bug.cgi?id=217743

Reviewed by Darin Adler.

Vectorize downmixing in AudioBus::createByMixingToMono().

No new tests, no Web-facing behavior change.

  • platform/audio/AudioBus.cpp:

(WebCore::AudioBus::createByMixingToMono):

  • platform/audio/VectorMath.cpp:

(WebCore::VectorMath::addVectorsThenMultiplyByScalar):

  • platform/audio/VectorMath.h:
6:43 PM Changeset in webkit [268504] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for non-Cocoa platforms & release builds.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchSyncMessage):

5:33 PM Changeset in webkit [268503] by rniwa@webkit.org
  • 15 edits
    2 adds in trunk

Source/WebKit:
IPC testing JS API should expose a reply and describe the list of arguments for each message
https://bugs.webkit.org/show_bug.cgi?id=217565

Reviewed by Geoffrey Garen.

This patch makes IPC.sendMessage and IPC.sendSyncMessage decode the reply. IPC.sendSyncMessage now returns
a dictionary with two keys: "buffer" and "arguments", the first of which returns ArrayBuffer of the decoded
message reply and the second of which is an array of decoded arguments where there was an appropriate JS
binding code existed for the argument type. IPC.sendMessage now returns a Promise which can either resolve
with the same dictionary as IPC.sendSyncMessage or reject when the decoding fails.

In addition, this patch exposes a dictionary describing each IPC message argument's type and parameter name.

In order to add these two functionalities, this patch adds a new step in generate-message-receiver.py to
generate MessageArgumentDescriptions.cpp, which contains functions which know how to decode arguments of
any IPC message and create a JS dictionary describing it as well as functions that return descriptions of
arguments or reply arguments.

Finally, this patch adds encoders for a few types found to be very common after r268239 had been landed.

Tests: TestWebKitAPI.IPCTestingAPI.DecodesReplyArgumentsForPrompt

TestWebKitAPI.IPCTestingAPI.DecodesReplyArgumentsForAsyncMessage
TestWebKitAPI.IPCTestingAPI.DescribesArguments

  • CMakeLists.txt:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Platform/IPC/Decoder.h:

(IPC::Decoder::buffer const):

  • Platform/IPC/JSIPCBinding.h: Added.

(jsValueForDecodedArgumentValue): Added. A template function to construct a JS value for a given C++ value.
(jsValueForDecodedNumericArgumentValue): Added. A helper for constructing a JS value for numeric values.
(jsValueForDecodedArgumentRect): Added. Ditto for IntRect and FloatRect.
(DecodedArgumentJSValueConverter): Added. A helper class to construct JS values for a tuple of values using
partial template specializations.
(DecodedArgumentJSValueConverter::convert): Added.
(jsValueForArgumentTuple): Added. A helper to construct a JS array for the decoded IPC arguments.
(jsValueForDecodedArguments): Added.

  • Platform/IPC/MessageArgumentDescriptions.h: Added.

(IPC::ArgumentDescription): Added.

  • Scripts/generate-message-receiver.py:

(main): Generate MessageArgumentDescriptions.cpp.

  • Scripts/webkit/messages.py:

(headers_for_type): Removed the special case for PaymentMethodUpdate now that it's in its own header. Also
added made webrtc::WebKitEncodedFrameInfo include LibWebRTCEnumTraits.h as it uses webrtc::VideoFrameType.
(collect_header_conditions_for_receiver): Extracted from generate_message_handler.
(generate_header_includes_from_conditions): Ditto.
(generate_message_handler):
(generate_js_value_conversion_function): Added.
(generate_js_argument_descriptions): Added.
(generate_message_argument_description_implementation): Added.

  • Shared/ApplePay/ApplePayPaymentSetupFeaturesWebKit.h: Fixed a bug that we were not forward declaring NSArray.
  • SourcesCocoa.txt: Added MessageArgumentDescriptions.cpp as a non-unified cpp file as its size is around 1MB.
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPC::staticValues): Added the session ID and page ID as static variables.
(WebKit::IPCTestingAPI::encodePointType): Added.
(WebKit::IPCTestingAPI::encodeRectType): Fixed the bug was that this code wasn't checking for any exceptions.
(WebKit::IPCTestingAPI::encodeNumericType): Renamed from encodeIntegralType since this function is now used
to encode double and float, not just integral types.
(WebKit::IPCTestingAPI::encodeArgument): Added the support for IntPoint, FloatPoint, URL, RegistrableDomain,
double, and float all of which turned out to be in the top 20 most common types.
(WebKit::IPCTestingAPI::jsResultFromReplyDecoder): Added.
(WebKit::IPCTestingAPI::JSIPC::sendMessage): Added the code to return Promise when there is a reply and resolve
it with the JS object describing the decoded argument. We use messageReplyArgumentDescriptions to figure out
whether there is a reply or not.
(WebKit::IPCTestingAPI::JSIPC::sendSyncMessage): Decode the reply and return a JS object which describes it.
(WebKit::IPCTestingAPI::JSIPC::frameID): Renamed from frameIdentifier to be consistent.
(WebKit::IPCTestingAPI::JSIPC::pageID): Added.
(WebKit::IPCTestingAPI::JSIPC::sessionID): Added.
(WebKit::IPCTestingAPI::createJSArrayForArgumentDescriptions): Added.
(WebKit::IPCTestingAPI::JSIPC::messages): Added the code to generate descriptions for arguments.

Source/WTF:
Unreviewed build fix. Disable IPC testing API on non-Cocoa platforms.

  • wtf/PlatformEnable.h:

Tools:
IPC testing JS API should expose a reply and describe the list of arguments for each message
https://bugs.webkit.org/show_bug.cgi?id=217565

Reviewed by Geoffrey Garen.

Added tests for decoding replies for sync and async messages and one for argument descriptions.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

(-[IPCTestingAPIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(-[IPCTestingAPIDelegate _webView:webContentProcessDidTerminateWithReason:]):
(IPCTestingAPI.DecodesReplyArgumentsForPrompt):
(IPCTestingAPI.DecodesReplyArgumentsForAsyncMessage):
(IPCTestingAPI.DescribesArguments):

5:24 PM Changeset in webkit [268502] by James Darpinian
  • 3 edits
    7 adds in trunk

Unity RubysAdventure demo does not render properly if WebGL2 is enabled.
https://bugs.webkit.org/show_bug.cgi?id=215846

Reviewed by Kenneth Russell.

Source/WebCore:

uniform*v srcLength parameter needs to be divided by the uniform
component size before passing to OpenGL's count parameter.

Test: webgl/conformance2/uniforms/gl-uniform-arrays-sub-source.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::uniform2fv):
(WebCore::WebGL2RenderingContext::uniform3fv):
(WebCore::WebGL2RenderingContext::uniform4fv):
(WebCore::WebGL2RenderingContext::uniform2iv):
(WebCore::WebGL2RenderingContext::uniform3iv):
(WebCore::WebGL2RenderingContext::uniform4iv):
(WebCore::WebGL2RenderingContext::uniformMatrix2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4fv):

LayoutTests:

  • webgl/conformance2/uniforms/gl-uniform-arrays-sub-source-expected.txt: Added.
  • webgl/conformance2/uniforms/gl-uniform-arrays-sub-source.html: Added.
  • webgl/resources/webgl_test_files/conformance2/uniforms/gl-uniform-arrays-sub-source.html: Added.
5:11 PM Changeset in webkit [268501] by Ross Kirsling
  • 547 edits
    8 copies
    773 adds
    69 deletes in trunk/JSTests

Update test262 (2020.10.14)
https://bugs.webkit.org/show_bug.cgi?id=217736

Reviewed by Yusuke Suzuki.

  • test262/config.yaml:
  • test262/expectations.yaml:
  • test262/harness/:
  • test262/latest-changes-summary.txt:
  • test262/test/:
  • test262/test262-Revision.txt:
5:09 PM Changeset in webkit [268500] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

REGRESSION(r268423) SHOULD NEVER BE REACHED: GPUConnectionToWebProcess::didReceiveMessage(IPC::Connection &, IPC::Decoder &)
https://bugs.webkit.org/show_bug.cgi?id=217730
<rdar://problem/70308112>

Reviewed by Geoffrey Garen.

r268423 added support for registering IPC WorkQueueMessageReceivers & ThreadMessageReceivers with
a given identifier. When receiving an IPC message, we would look up the key [ReceiverName, ID] in
the receiver map and pass the message to this receiver.
This introduced a crash because of an existing ThreadMessageReceiver (RemoteAudioMediaStreamTrackRenderer)
was registering itself as a message receiver without an identifier (ID=0). However, the IPC senders
on GPU process side would pass a non-0 identifier when sending the IPC. As a result, we would fail to
look up the receiver in the map when receiving those IPC messages.

While existing code should probably be fixed so that senders and receivers agree on on identifier,
I have decided to fix the issue in this patch at IPC::Connection level. When receiving an IPC
message, we first check if there is a "global" receiver in the map by looking up key
[ReceiverName, 0]. If there is, we pass the IPC to this one. If there isn't, we look up the key
[ReceiverName, ID] in the map and use the more specific receiver.

The reason I chose to fix it this way is that the code in MessageReceiverMap (which is used for
receivers that are not using a WorkQueue or a Thread) behaves in this fashion. I believe it is
good to have consistency between all kinds of receivers.

No new tests, covered by existing test that is crashing on the bots.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::threadMessageReceiver):
(IPC::Connection::workQueueMessageReceiver):
(IPC::Connection::dispatchMessageToWorkQueueReceiver):
(IPC::Connection::dispatchMessageToThreadReceiver):

  • Platform/IPC/Connection.h:
4:55 PM Changeset in webkit [268499] by Simon Fraser
  • 3 edits in trunk/Source/WebKit

Scrolls in the passive handler region should be reported as handled promptly
https://bugs.webkit.org/show_bug.cgi?id=217718

Reviewed by Tim Horton.

The UI process will enqueue wheel events to send later if the WebContent process doesn't
promptly respond that it has handled the previous event. When scrolling in the passive
event region, we want the WebContent process to appear responsive, so respond to the UI
process when we've scrolled (which is before the event has been dispatched for DOM events).

Hard to test because CPU-constrained bots don't send wheel events in a predictable way.

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::wheelEvent):

4:21 PM Changeset in webkit [268498] by Hector Lopez
  • 10 edits
    1 delete in trunk/Tools

Unreviewed, reverting r268474.

Revision is causing a number of test failures across iOS and
macOS

Reverted changeset:

"[Testing] Support configuring any preference from test
headers for WebKitTestRunner"
https://bugs.webkit.org/show_bug.cgi?id=217645
https://trac.webkit.org/changeset/268474

4:14 PM Changeset in webkit [268497] by rniwa@webkit.org
  • 8 edits in trunk

Enabling IPC testing API should prevent the termination of WebContent process which sends an invalid IPC
https://bugs.webkit.org/show_bug.cgi?id=217698

Reviewed by Geoffrey Garen.

Source/WebKit:

A part of this was landed in r268431 but this patch formally disables UI process' default behavior
to terminate a Web process upon receiving an invalid message from it.

Tests: IPCTestingAPI.CanSendInvalidAsyncMessageWithoutTermination

IPCTestingAPI.CanSendInvalidMessageWithoutTermination

  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchSyncMessage): Disable the debug assertion if the IPC testing API is enabled.

  • Platform/IPC/Connection.h:

(IPC::Connection::setIgnoreInvalidMessageForTesting): Added.
(IPC::Connection::ignoreInvalidMessageForTesting const): Added.
(IPC::Connection::m_ignoreInvalidMessageForTesting): Added.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Set the flag on WebProcessProxy to trigger the behavior.
(WebKit::WebPageProxy::launchProcess): Ditto.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didReceiveInvalidMessage): Use the flag on Connection instead of reaching
out to the default page group.
(WebKit::WebProcessProxy::setIgnoreInvalidMessageForTesting): Added. Remember the fact we've enabled IPC
testing API in a member variable and propagate the flag to Connection if a Web process is already running.
(WebKit::WebProcessProxy::didFinishLaunching): Propagte the flag to the newly launched Web process.

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::m_ignoreInvalidMessageForTesting): Added.

Tools:

Added regression tests.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

(IPCTestingAPI.CanSendInvalidAsyncMessageWithoutTermination):
(IPCTestingAPI.CanSendInvalidMessageWithoutTermination):

4:08 PM Changeset in webkit [268496] by aakash_jain@apple.com
  • 4 edits in trunk/Tools

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

Reviewed by Jonathan Bedard.

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

(UploadBuiltProduct.init): Changed 0644 to 0o644.
(UploadTestResults.init): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Removed unused imports.
  • BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py: Used .format() instead of % string formatting.
3:52 PM Changeset in webkit [268495] by weinig@apple.com
  • 9 edits
    2 adds in trunk/Tools

[Testing] Generate test header key map for DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=217723

Reviewed by Tim Horton.

Copy test header command type generation from WebKitTestRunner to DumpRenderTree, to
begin support for using any WebPreference from DumpRenderTree. This does not actually
change any behavior yet, just updates the key mapping.

  • DumpRenderTree/CMakeLists.txt:
  • DumpRenderTree/DerivedSources-input.xcfilelist:
  • DumpRenderTree/DerivedSources-output.xcfilelist:
  • DumpRenderTree/DerivedSources.make:
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/Scripts/PreferencesTemplates: Added.
  • DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.
  • DumpRenderTree/TestOptions.cpp:

(WTR::TestOptions::keyTypeMapping):

  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/mac/Configurations/Base.xcconfig:
3:47 PM Changeset in webkit [268494] by Andres Gonzalez
  • 6 edits
    2 adds in trunk

Support AXCoreObject::elementPath for text elements.
https://bugs.webkit.org/show_bug.cgi?id=215206

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/text-element-path.html

Text elements now support returning a Path in those cases where the
element consists of the last part of a line and the beginning of the
next line. Heuristics were added to avoid to compute the element Path for those cases in which the bounding rectangle is suitable.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::supportsPath const):
(WebCore::AccessibilityRenderObject::elementPath const):

LayoutTests:

  • accessibility/mac/bounds-for-range-expected.txt:

Since elementPath is now supported for text elements,
AccessibilityUIEelement::attributesOfLinkedUIElements also returns the
element path description.

  • accessibility/mac/internal-link-anchors-expected.txt: Ditto.
  • accessibility/text-element-path-expected.txt: Added.
  • accessibility/text-element-path.html: Added.
3:25 PM Changeset in webkit [268493] by Alan Coon
  • 10 edits in branches/safari-610-branch/Source

Cherry-pick r267203. rdar://problem/70310545

Rename ShouldAllowExternalSchemes to ShouldAllowExternalSchemesButNotAppLinks to clarify what this enum value is for.
https://bugs.webkit.org/show_bug.cgi?id=216651

Patch by Hoa Dinh <dvh@apple.com> on 2020-09-17
Reviewed by Alex Christensen.

Rename ShouldAllowExternalSchemes to ShouldAllowExternalSchemesButNotAppLinks and reflects the change where it's used.

Source/WebCore:

Source/WebCore:

  • loader/FrameLoaderTypes.h:
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected):

Source/WebKit:

Source/WebKit:

  • Shared/SessionState.cpp: (WebKit::isValidEnum):
  • UIProcess/API/APINavigationAction.h:
  • UIProcess/API/glib/WebKitWebViewSessionState.cpp: (toExternalURLsPolicy): (toWebCoreExternalURLsPolicy):
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp: (WebKit::decodeSessionHistoryEntry):
  • WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):

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

3:19 PM Changeset in webkit [268492] by pvollan@apple.com
  • 6 edits in trunk/Source/WebKit

[macOS] Issue sandbox extension to additional icon service when attachment element is enabled.
https://bugs.webkit.org/show_bug.cgi?id=217706
<rdar://problem/70291100>

Reviewed by Brent Fulgham.

Issue sandbox extension to 'com.apple.iconservices.store' when attachment element is enabled on macOS.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp:

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

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::attachmentElementServices):
(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/com.apple.WebProcess.sb.in:
3:13 PM Changeset in webkit [268491] by Hector Lopez
  • 2 edits in trunk/LayoutTests

Rebaseline editing/editable-region/iframe.html result
https://bugs.webkit.org/show_bug.cgi?id=158439

Unreviewed test gardening.

  • editing/editable-region/iframe-expected.txt:
3:10 PM Changeset in webkit [268490] by ap@apple.com
  • 3 edits
    2 deletes in trunk/Tools

Remove WebKitLauncher
https://bugs.webkit.org/show_bug.cgi?id=217729

Reviewed by Darin Adler.

This is part of long defunct nightly build infrastructure.

  • .gitattributes:
  • BuildSlaveSupport/build-launcher-app: Removed.
  • Scripts/webkitpy/style/checkers/sdkvariant.py:
  • WebKitLauncher: Removed.
2:48 PM Changeset in webkit [268489] by Alexey Shvayka
  • 15 edits
    1 add in trunk

Use @putByValDirect instead of Array.prototype.@push in built-ins
https://bugs.webkit.org/show_bug.cgi?id=175432

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/array-push-intrinsic.js: Added.
  • test262/expectations.yaml: Mark 2 test cases as passing.

Source/JavaScriptCore:

Before this patch, Array.prototype.@push was used to implement List spec type,
stacks / queues, and in place of CreateDataProperty [1].
It's undesirably observable since elements are pushed using Set?,
affecting indexed properties on prototypes [2].

This change introduces @arrayPush() intrinsic to use with lists / stacks / queues.
@arrayPush() should only be used with JSArray receivers because "length" isn't
incremented. Unlike Array.prototype.@push, it doesn't grow arrays beyond UINT_MAX,
which is OK for current use cases. Object.entries microbenchmark is neutral.

Despite Array.prototype.@shift also performing Set?, it's safe to use with
non-sparse receivers.

[1]: https://tc39.es/ecma262/#sec-createarrayfromlist (step 4.a)
[2]: https://tc39.es/ecma262/#sec-array.prototype.push (step 5.a)

  • builtins/ArrayPrototype.js:

(globalPrivate.sortBucketSort):

  • builtins/ObjectConstructor.js:

(entries):

  • builtins/RegExpPrototype.js:

(globalPrivate.matchSlow):
(Symbol.replace):
(Symbol.split):

  • builtins/TypedArrayPrototype.js:

(filter):

  • bytecode/BytecodeIntrinsicRegistry.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BytecodeIntrinsicNode::emit_intrinsic_arrayPush):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):

Source/WebCore:

Use @arrayPush() intrinsic instead of Array.prototype.@push.

No new tests, no behavior change.

  • Modules/streams/ReadableByteStreamInternals.js:

(readableByteStreamControllerPull):
(readableByteStreamControllerEnqueueChunk):
(readableByteStreamControllerPullInto):
(readableStreamAddReadIntoRequest):

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamAddReadRequest):

  • Modules/streams/StreamInternals.js:

(enqueueValueWithSize):

  • Modules/streams/WritableStreamInternals.js:

(writableStreamAddWriteRequest):

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

REGRESSION (r267744): [ Debug WK2 ] fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=217549

Reviewed by Sam Weinig.

After r267744, Worklet.addModule() returns a promise and no longer throws exceptions.
Update the test accordingly to expect that a promise gets rejected with an out of
memory error, instead of expecting an exception to be thrown.

  • fast/css-custom-paint/out-of-memory-while-adding-worklet-module-expected.txt:
  • fast/css-custom-paint/script-tests/out-of-memory-while-adding-worklet-module.js:
1:55 PM Changeset in webkit [268487] by Megan Gardner
  • 1 edit
    1 move in trunk/LayoutTests

Paint CSS highlights over images
https://bugs.webkit.org/show_bug.cgi?id=217417

Reviewed by Tim Horton.

  • http/wpt/css/css-highlight-api/highlight-image-expected-mismatched.html: Removed.
  • http/wpt/css/css-highlight-api/highlight-image-expected-mismatch.html: Added.
1:52 PM Changeset in webkit [268486] by commit-queue@webkit.org
  • 14 edits
    2 deletes in trunk

Unreviewed, reverting r268431 and r268443.
https://bugs.webkit.org/show_bug.cgi?id=217728

Broke debug builds of GTK, WinCairo and Playstation ports

Reverted changesets:

"IPC testing JS API should expose a reply and describe the
list of arguments for each message"
https://bugs.webkit.org/show_bug.cgi?id=217565
https://trac.webkit.org/changeset/268431

"IPC testing JS API should expose a reply and describe the
list of arguments for each message"
https://bugs.webkit.org/show_bug.cgi?id=217565
https://trac.webkit.org/changeset/268443

1:46 PM Changeset in webkit [268485] by don.olmstead@sony.com
  • 19 edits in trunk/Source

Non-unified build fixes, mid October 2020
https://bugs.webkit.org/show_bug.cgi?id=217721

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • API/JSContextRef.cpp:
  • dfg/DFGDoesGCCheck.cpp:
  • llint/LLIntExceptions.cpp:
  • llint/LLIntExceptions.h:
  • llint/LLIntThunks.h:

Source/WebCore:

  • Modules/webgpu/WebGPUShaderModule.h:
  • html/canvas/EXTTextureCompressionRGTC.cpp:
  • layout/floats/FloatingContext.cpp:
  • layout/floats/FloatingContext.h:
  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:
  • layout/inlineformatting/InlineLine.cpp:
  • platform/graphics/gpu/GPUDevice.cpp:
  • rendering/RenderReplaced.cpp:
  • workers/WorkerRunLoop.cpp:

Source/WebKit:

  • NetworkProcess/Downloads/DownloadManager.cpp:
  • UIProcess/Downloads/DownloadProxyMap.cpp:
1:42 PM Changeset in webkit [268484] by Megan Gardner
  • 12 edits
    1 copy
    1 add in trunk/Source/WebCore

Refactor HighlightData
https://bugs.webkit.org/show_bug.cgi?id=217711

Reviewed by Darin Adler.

HighlightData was renamed when it was used for more that selections, but
more than half the file was only supposed to be used to deal with the current
selection, so I've split it back out into a more reasonable set of files.
Also made offsets no longer optional, as there doesn't seem to be a need.
Extended the HighlightData setRenderRange into InlineTextBox, as it's a better
way to calculate that does not use deprecated functions.

No behavior change.

  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setNeedsSelectionUpdate):
(WebCore::DragCaretController::nodeWillBeRemoved):
(WebCore::FrameSelection::respondToNodeModification):
(WebCore::FrameSelection::willBeRemovedFromFrame):
(WebCore::FrameSelection::focusedOrActiveStateChanged):
(WebCore::FrameSelection::updateAppearance):

  • page/FrameView.cpp:

(WebCore::FrameView::paintContentsForSnapshot):

  • platform/DragImage.cpp:

(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange):

  • rendering/HighlightData.cpp:

(WebCore::RenderRangeIterator::RenderRangeIterator):
(WebCore::RenderRangeIterator::current const):
(WebCore::RenderRangeIterator::next):
(WebCore::RenderRangeIterator::checkForSpanner):
(WebCore::rendererAfterOffset):
(WebCore::HighlightData::highlightStateForRenderer):
(): Deleted.
(WebCore::isValidRendererForSelection): Deleted.
(WebCore::containingBlockBelowView): Deleted.
(WebCore::collectSelectionData): Deleted.
(WebCore::HighlightData::HighlightData): Deleted.
(WebCore::HighlightData::setSelection): Deleted.
(WebCore::HighlightData::clearSelection): Deleted.
(WebCore::HighlightData::repaintSelection const): Deleted.
(WebCore::HighlightData::collectBounds const): Deleted.
(WebCore::HighlightData::applySelection): Deleted.

  • rendering/HighlightData.h:

(WebCore::RenderRange::RenderRange):
(WebCore::RenderRange::start const):
(WebCore::RenderRange::end const):
(WebCore::RenderRange::startOffset const):
(WebCore::RenderRange::endOffset const):
(WebCore::RenderRange::operator== const):
(WebCore::HighlightData::startOffset const):
(WebCore::HighlightData::endOffset const):
(WebCore::HighlightData::RenderRange::RenderRange): Deleted.
(WebCore::HighlightData::RenderRange::start const): Deleted.
(WebCore::HighlightData::RenderRange::end const): Deleted.
(WebCore::HighlightData::RenderRange::startOffset const): Deleted.
(WebCore::HighlightData::RenderRange::endOffset const): Deleted.
(WebCore::HighlightData::RenderRange::operator== const): Deleted.
(WebCore::HighlightData::bounds const): Deleted.
(WebCore::HighlightData::boundsClippedToVisibleContent const): Deleted.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::collectMarkedTextsForHighlights const):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::calculateHighlightColor const):

  • rendering/RenderView.h:
  • rendering/SelectionRangeData.cpp: Copied from Source/WebCore/rendering/HighlightData.cpp.

(WebCore::rendererAfterOffset):
(WebCore::isValidRendererForSelection):
(WebCore::containingBlockBelowView):
(WebCore::collectSelectionData):
(WebCore::SelectionRangeData::SelectionData):
(WebCore::SelectionRangeData::set):
(WebCore::SelectionRangeData::clear):
(WebCore::SelectionRangeData::repaint const):
(WebCore::SelectionRangeData::collectBounds const):
(WebCore::SelectionRangeData::apply):

  • rendering/SelectionRangeData.h: Added.

(WebCore::SelectionRangeData::bounds const):
(WebCore::SelectionRangeData::boundsClippedToVisibleContent const):

1:37 PM Changeset in webkit [268483] by graouts@webkit.org
  • 3 edits in trunk/Source/WebCore

Simplify management of LayerPropertyAnimation instances in GraphicsLayerCA
https://bugs.webkit.org/show_bug.cgi?id=217707
<rdar://problem/70291140>

Reviewed by Dean Jackson.

The management of LayerPropertyAnimation instances in GraphicsLayerCA spread
those animations between different data structures. We now simplify this to
be a single Vector<LayerPropertyAnimation> with three new properties.

The m_playState property indicates:

  • whether the animation has been added to the list but awaiting the next commit

to be played (PlayPending)

  • whether the animation has been committed and playing (Playing)
  • whether the animation has been marked to be paused but awaiting the next commit

to be paused (PausePending)

  • whether the animation has been committed and paused (Paused)

The m_pendingRemoval property indicates whether the animation has been marked for
removal upon the next commit.

The m_beginTime property indicates the time at which the animation was first added,
ensuring that the animation can be removed and re-added while preserving the same
begin time.

As such, when GraphicsLayerCA::updateAnimations() is called we remove all animations
from the layer, filter m_animations to only have animations that are not marked
as pending removal, and add the now-current list of animations to the layer.

No new test since this change is refactoring only and should not have any change
in behavior.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::animationIsRunning const):
(WebCore::animationCanBeAccelerated):
(WebCore::GraphicsLayerCA::pauseAnimation):
(WebCore::GraphicsLayerCA::removeAnimation):
(WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
(WebCore::GraphicsLayerCA::updateAnimations):
(WebCore::GraphicsLayerCA::isRunningTransformAnimation const):
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
(WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::animationIdentifier): Deleted.
(WebCore::GraphicsLayerCA::animationCanBeAccelerated const): Deleted.
(WebCore::GraphicsLayerCA::addProcessingActionForAnimation): Deleted.
(WebCore::GraphicsLayerCA::ensureLayerAnimations): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::hasAnimations const):
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::animationIdentifier const):
(WebCore::GraphicsLayerCA::moveAnimations):
(WebCore::GraphicsLayerCA::copyAnimations):
(WebCore::GraphicsLayerCA::animationIsRunning const): Deleted.
(WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction): Deleted.

1:27 PM Changeset in webkit [268482] by Devin Rousso
  • 3 edits in trunk/Source/WebKit

REGRESSION (r268384): ASSERTION FAILED: _startCount > 1 in -[WKMouseDeviceObserver stop]
https://bugs.webkit.org/show_bug.cgi?id=217684
<rdar://problem/70272646>

Reviewed by Tim Horton.

The ASSERT was incorrect in that it's possible for _startCount to be equal to 1. Also
add a check to make sure _startCount doesn't overflow.

  • UIProcess/ios/WKMouseDeviceObserver.mm:

(-[WKMouseDeviceObserver stop]):

  • UIProcess/ios/WKStylusDeviceObserver.mm:

(-[WKStylusDeviceObserver stop]):

1:20 PM Changeset in webkit [268481] by Alan Coon
  • 6 edits in branches/safari-610-branch/Source

Cherry-pick r268003. rdar://problem/70267725

Make NetscapePlugInStreamLoaderClient a weak pointer on NetscapePlugInStreamLoader
<https://webkit.org/b/217237>
<rdar://problem/69776714>

Reviewed by Alex Christensen.

Source/WebCore:

Could not write a test since reproducing a crash requires
rapidly reloading a URL to a PDF at random points during the
previous load.

Make NetscapePlugInStreamLoaderClient a WeakPtr on
NetscapePlugInStreamLoader, and add nullptr checks for
NetscapePlugInStreamLoader.m_client as needed.

  • loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): (WebCore::NetscapePlugInStreamLoader::willSendRequest): (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): (WebCore::NetscapePlugInStreamLoader::didReceiveDataOrBuffer): (WebCore::NetscapePlugInStreamLoader::didFinishLoading): (WebCore::NetscapePlugInStreamLoader::didFail): (WebCore::NetscapePlugInStreamLoader::willCancel):
  • loader/NetscapePlugInStreamLoader.h:

Source/WebKit:

Making NetscapePlugInStreamLoaderClient inherit from
CanMakeWeakPtr<> caused PDFPlugin to fail to compile because one
of its parent classes already inherited from CanMakeWeakPtr<>.
To fix this, extract a PDFPluginStreamLoaderClient class from
PDFPlugin and link the lifetime of PDFPluginStreamLoaderClient
to PDFPlugin.

After moving the NetscapePlugInStreamLoaderClient virtual
methods from PDFPlugin to PDFPluginStreamLoaderClient, add some
simple methods to PDFPlugin so that PDFPluginStreamLoaderClient
doesn't access the instance variables directly. Also make use
of these new methods in other parts of PDFPlugin.

  • WebProcess/Plugins/PDF/PDFPlugin.h: (WebKit::PDFPlugin::documentFinishedLoading): Add. (WebKit::PDFPlugin::identifierForLoader): Add. (WebKit::PDFPlugin::removeOutstandingByteRangeRequest): Add. (WebKit::PDFPlugin::PDFPluginStreamLoaderClient): Add class.
  • WebProcess/Plugins/PDF/PDFPlugin.mm: (WebKit::PDFPlugin::PDFPlugin): (WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel): (WebKit::PDFPlugin::getResourceBytesAtPosition): (WebKit::PDFPlugin::PDFPluginStreamLoaderClient::willSendRequest): Move from PDFPlugin. (WebKit::PDFPlugin::PDFPluginStreamLoaderClient::didReceiveResponse): Ditto. (WebKit::PDFPlugin::PDFPluginStreamLoaderClient::didReceiveData): Ditto. (WebKit::PDFPlugin::PDFPluginStreamLoaderClient::didFail): Ditto. (WebKit::PDFPlugin::PDFPluginStreamLoaderClient::didFinishLoading): Ditto. (WebKit::PDFPlugin::byteRangeRequestForLoader): (WebKit::PDFPlugin::forgetLoader): (WebKit::PDFPlugin::willSendRequest): Move to PDFPluginStreamLoaderClient. (WebKit::PDFPlugin::didReceiveResponse): Ditto. (WebKit::PDFPlugin::didReceiveData): Ditto. (WebKit::PDFPlugin::didFail): Ditto. (WebKit::PDFPlugin::didFinishLoading): Ditto.

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

1:20 PM Changeset in webkit [268480] by Alan Coon
  • 4 edits in branches/safari-610-branch/Source

Cherry-pick r267116. rdar://problem/70267318

Integrator's note: Source/WebCore/platform/graphics/cocoa/FontCascadeCocoa.mm was altered instead of
Source/WebCore/platform/graphics/coretext/FontCascadeCoreText.cpp.

[macOS Big Sur] CGFontRenderingGetFontSmoothingDisabled() is no longer useful
https://bugs.webkit.org/show_bug.cgi?id=216588
<rdar://problem/68657748>

Reviewed by Simon Fraser.

Source/WebCore:

No new tests because there is no behavior change.

  • platform/graphics/coretext/FontCascadeCoreText.cpp: (WebCore::FontCascade::isSubpixelAntialiasingAvailable):

Source/WTF:

We can eliminate WebKit's use of it to eventually phase it out entirely.

  • wtf/PlatformHave.h:

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

1:00 PM Changeset in webkit [268479] by achristensen@apple.com
  • 13 edits in trunk

Disallow ports in file URLs
https://bugs.webkit.org/show_bug.cgi?id=217252

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/url/a-element-expected.txt:
  • web-platform-tests/url/a-element-xhtml-expected.txt:
  • web-platform-tests/url/failure-expected.txt:
  • web-platform-tests/url/url-constructor-expected.txt:
  • web-platform-tests/url/url-setters-expected.txt:

Source/WTF:

This matches Chrome and the URL specification.
Covered by newly passing web platform tests.

  • wtf/URLParser.cpp:

(WTF::URLParser::parsePort):

Tools:

  • TestWebKitAPI/Tests/WTF/URLParser.cpp:

(TestWebKitAPI::TEST_F):

LayoutTests:

  • fast/loader/file-URL-with-port-number-expected.txt:
  • fast/loader/file-URL-with-port-number.html:

Update test to reflect this new behavior. The test was added in r24484 and
based on discussion in https://github.com/whatwg/url/issues/548 I've decided to try it and see if we can make this change.

12:46 PM Changeset in webkit [268478] by Alexey Shvayka
  • 2 edits in trunk/Tools

Unreviewed. Update my status to "reviewer" and add WebIDL expertise.

  • Scripts/webkitpy/common/config/contributors.json:
11:56 AM Changeset in webkit [268477] by youenn@apple.com
  • 7 edits in trunk

MediaRecorder .stop should not throw in Inactive state
https://bugs.webkit.org/show_bug.cgi?id=217705

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

fix-217705

  • web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt:
  • web-platform-tests/mediacapture-record/MediaRecorder-stop.html:

Source/WebCore:

Update according spec changes in https://github.com/w3c/mediacapture-record/pull/158.
stop no longer throws if media recorder is inactive.
Covered by updated test.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::stopRecording):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorder.idl:
11:06 AM Changeset in webkit [268476] by Simon Fraser
  • 37 edits
    4 adds in trunk

Allow passive mouse wheel event listeners to not force synchronous scrolling
https://bugs.webkit.org/show_bug.cgi?id=158439
<rdar://problem/28265360>

Reviewed by Tim Horton.
Source/WebCore:

Turn on ENABLE_WHEEL_EVENT_REGIONS for macOS, and hit-test the passive and active regions
in ScrollingTree::determineWheelEventProcessin() to determine whether scrolling needs to
happen on the main thread, communicating via WheelEventProcessingSteps.

Now that we use EventRegion to store wheel event region information, we no longer need
to consult wheel event targets im ScrollingCoordinator::absoluteEventTrackingRegionsForFrame(),
but the non-fast region does still contain rectangles for non-fast-scrollable overflow
if async overflow scrolling is disabled.

Frame::invalidateContentEventRegionsIfNeeded() needs a fix to ensure that when wheel
event handlers in non-fast-scrollable subframes change we invalidate event regions.

RenderLayerBacking::updateEventRegion() needs a fix so that the event region for the root
(for handlers registered on the document or window) covers the entire root layer; painting
code only covered the RenderView, which is too small (and root background painting is complex).

Finally, when the processing steps given to EventHandler::handleWheelEvent() do not
include MainThreadForScrolling, then we shouldn't scroll here. The check in
EventHandler::handleWheelEvent() applies to frames, and the one in EventHandler::defaultWheelEventHandler()
applies to overflow:scroll.

Test: fast/scrolling/mac/slow-scrolling-overflow.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::defaultWheelEventHandler):

  • page/Frame.cpp:

(WebCore::Frame::invalidateContentEventRegionsIfNeeded):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::determineWheelEventProcessing):

Source/WTF:

Define ENABLE_WHEEL_EVENT_REGIONS for macOS.

  • wtf/PlatformEnableCocoa.h:

LayoutTests:

Change tests that relied on dumping the non-fast scrollable rects for wheel handlers
to dump layer trees with event regions instead. They also need to wait for a
rendering update, since wheel event regions are updated once per frame.

slow-scrolling-overflow.html tests that an overflow:scroll that's forced into slow
scrolling because of background-attachment:fixed still scrolls.

  • fast/scrolling/mac/slow-scrolling-overflow-expected.txt: Added.
  • fast/scrolling/mac/slow-scrolling-overflow.html: Added.
  • fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll-clipped-out-expected.txt:
  • fast/scrolling/mac/wheel-event-listener-region-inside-overflow-scroll-expected.txt:
  • platform/mac-wk2/TestExpectations:
  • tiled-drawing/scrolling/non-fast-region/fixed-div-in-scrollable-page.html:
  • tiled-drawing/scrolling/non-fast-region/handlers-in-iframes-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/handlers-in-iframes.html:
  • tiled-drawing/scrolling/non-fast-region/non-fast-scrollable-region-hide-show-iframe-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/non-fast-scrollable-region-hide-show-iframe.html:
  • tiled-drawing/scrolling/non-fast-region/resources/wheel-handler-region-helper.js:

(nonFastScrollableRects):
(dumpNonFastScrollableRects):
(async dumpRegionAndNotifyDone):
(rectsAsString): Deleted.
(dumpRegion): Deleted.

  • tiled-drawing/scrolling/non-fast-region/top-content-inset-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/top-content-inset-header-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/top-content-inset-header.html:
  • tiled-drawing/scrolling/non-fast-region/top-content-inset.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-event-plugin.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-fixed-child-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-fixed-child.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-in-columns-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-in-columns.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-in-overflow-scroll-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-in-overflow-scroll.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-inside-fixed-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-inside-fixed.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-on-document-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-on-document.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-on-fixed-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-on-fixed.html:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-region-basic-expected.txt:
  • tiled-drawing/scrolling/non-fast-region/wheel-handler-region-basic.html:
11:03 AM Changeset in webkit [268475] by Keith Rollin
  • 2 edits in trunk/Tools

'make debug' fails on the repository root if ccache is installed on mac after r262147
https://bugs.webkit.org/show_bug.cgi?id=212469
<rdar://problem/70278783>

Reviewed by David Kilzer.

ccache is frequently installed in /usr/local/bin. However, when
running under XCBuild, $PATH does not include /usr/local/bin. This
leaves in a situation where the check for the existence of ccache in
Makefile.shared succeeds, but the use of ccache in ccache-wrapper
fails. To address this, look for ccache in a few well-known places
rather than just relying on $PATH. If it still can't be found, fall
back to compiling normally without ccache.

  • ccache/ccache-wrapper:
10:56 AM Changeset in webkit [268474] by weinig@apple.com
  • 10 edits
    2 adds in trunk/Tools

[Testing] Support configuring any preference from test headers for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=217645

Reviewed by Tim Horton.

Support using any preference defined in any of the WebPreference*.yaml configuration files
as a test header command rather than limiting it to a hard coded subset by generating the
list of supported commands and their types from the yaml files themselves.

This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree
in subsequent changes.

  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/DerivedSources-input.xcfilelist:
  • WebKitTestRunner/DerivedSources-output.xcfilelist:
  • WebKitTestRunner/DerivedSources.make:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/Scripts/PreferencesTemplates: Added.
  • WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.

Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using
the shared GeneratePreferences.rb script in WTF.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):
Move preference setting to the bottom of the file to allow any preference
to be overriden. Also adds in support for double, uint32_t, and string preferences
though none of those are currently being used.

  • WebKitTestRunner/TestOptions.cpp:

(WTR::TestOptions::keyTypeMapping):
Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding
all the preferences types.

  • WebKitTestRunner/TestOptions.h:

(WTR::TestOptions::boolWebPreferenceFeatures const):
(WTR::TestOptions::doubleWebPreferenceFeatures const):
(WTR::TestOptions::uint32WebPreferenceFeatures const):
(WTR::TestOptions::stringWebPreferenceFeatures const):
Expose accessors for preferences values for use in setting the actual preference
values. Rather than setting all preferences, we now only set preferences that have
been explicitly requested, using the default value for any that have not.

10:50 AM Changeset in webkit [268473] by Devin Rousso
  • 10 edits in trunk/Source

Web Inspector: REGRESSION(r267148): new Big Sur styles are not used
https://bugs.webkit.org/show_bug.cgi?id=217682
<rdar://problem/70269030>

Reviewed by Brian Burg.

r267148 changed navigator.userAgent from 11_0 to 10_15_7. This breaks Web Inspector
styling, which relied on this value to know what OS version it was running on in order to
know which styles to use.

Source/WebCore:

  • inspector/InspectorFrontendHost.idl:
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::platformVersionName const): Added.
Derive a lowercased kekab-cased platform version name from __MAC_OS_X_VERSION_MIN_REQUIRED.

Source/WebInspectorUI:

  • UserInterface/Base/Platform.js:
  • UserInterface/Views/Variables.css:

(body.mac-platform): Added.
(body.mac-platform:not(.sierra, .high-sierra)): Deleted.
Use InspectorFrontendHost.platformVersionName instead of navigator.userAgent. Remove
unnecessary platform version names and other unused data.

  • UserInterface/Base/Main.js:

(WI.contentLoaded):
(WI.undockedTitleAreaHeight): Added.

  • UserInterface/Views/Popover.js:

(WI.Popover.prototype._update):
Provide a way to get the undocked title area height for use in JavaScript calculations.

  • UserInterface/Controllers/HARBuilder.js:

(WI.HARBuilder.creator):
The WI.Platform.version.build hasn't changed in a long time, so just remove it.

10:44 AM Changeset in webkit [268472] by svillar@igalia.com
  • 2 edits in trunk/Source/WebKit

[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>).

10:30 AM Changeset in webkit [268471] by stephan.szabo@sony.com
  • 3 edits in trunk/Tools

builtins-generator-tests and bindings-generation-tests are reporting "Failed to install configparser-4.0.2!" since r268267 on WinCairo Buildbot
https://bugs.webkit.org/show_bug.cgi?id=217586

Reviewed by Jonathan Bedard.

Pass proxy environment variables to setup.py so wincairo bots
which need the proxy set can reach pypi.org.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py:
  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
10:20 AM Changeset in webkit [268470] by Alan Coon
  • 3 edits in branches/safari-610-branch/Source/WebCore

Apply patch. rdar://problem/70267314

10:17 AM Changeset in webkit [268469] by Alan Coon
  • 34 edits in branches/safari-610-branch

Cherry-pick r268371. rdar://problem/70267767

[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453

Patch by Luming Yin <luming_yin@apple.com> on 2020-10-12
Reviewed by Darin Adler.

The previous workaround turns out to be ineffective because we can't set the value of
TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new
variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly
adjust MAC_OS_X_VERSION_MAJOR to 110000.

PerformanceTests:

  • DecoderTest/Configurations/DebugRelease.xcconfig:
  • MediaTime/Configurations/DebugRelease.xcconfig:

Source/bmalloc:

  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore/PAL:

  • Configurations/DebugRelease.xcconfig:

Source/WebInspectorUI:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit:

  • Configurations/DebugRelease.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/DebugRelease.xcconfig:

Source/WTF:

  • Configurations/DebugRelease.xcconfig:

Tools:

  • ContentExtensionTester/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • ImageDiff/cg/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • WebEditingTester/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
  • lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:

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

10:17 AM Changeset in webkit [268468] by Alan Coon
  • 34 edits in branches/safari-610-branch

Cherry-pick r268353. rdar://problem/70267767

[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453

Patch by Luming Yin <luming_yin@apple.com> on 2020-10-12
Reviewed by Darin Adler.

Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the
minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit
to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load.

To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number,
drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000.

Note: This change should be reverted after <rdar://70185899> is resolved.

PerformanceTests:

  • DecoderTest/Configurations/DebugRelease.xcconfig:
  • MediaTime/Configurations/DebugRelease.xcconfig:

Source/bmalloc:

  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore/PAL:

  • Configurations/DebugRelease.xcconfig:

Source/WebInspectorUI:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit:

  • Configurations/DebugRelease.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/DebugRelease.xcconfig:

Source/WTF:

  • Configurations/DebugRelease.xcconfig:

Tools:

  • ContentExtensionTester/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • ImageDiff/cg/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • WebEditingTester/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
  • lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:

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

10:17 AM Changeset in webkit [268467] by Alan Coon
  • 9 edits in branches/safari-610-branch

Cherry-pick r268331. rdar://problem/70267393

[macOS] Harden more build configurations against macOS versions 11 and higher as well as inclusion of patch versions
https://bugs.webkit.org/show_bug.cgi?id=217595

Reviewed by Alexey Proskuryakov.

PerformanceTests:

  • MediaTime/Configurations/Base.xcconfig: Updated to same idiom used elsewhere.

Tools:

  • ContentExtensionTester/Configurations/Base.xcconfig: Updated to same idiom used elsewhere.
  • DumpRenderTree/mac/Configurations/Base.xcconfig: Ditto.
  • ImageDiff/cg/Configurations/Base.xcconfig: Ditto.
  • WebKitTestRunner/Configurations/Base.xcconfig: Ditto.
  • lldb/lldbWebKitTester/Configurations/Base.xcconfig: Ditto.
  • Scripts/webkitpy/common/config/contributors.json: Added contributor Luming Yin, an engineer who works on Safari at Apple who has been contributing build fixes like these.

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

10:17 AM Changeset in webkit [268466] by Alan Coon
  • 4 edits in branches/safari-610-branch

Cherry-pick r268206. rdar://problem/70267322

Presidential Executive Order pages not accessible with Safari.
https://bugs.webkit.org/show_bug.cgi?id=217415
<rdar://problem/69922416>

Reviewed by Chris Fleizach and Simon Fraser.

Follow up to the previous change for this bug per Simon Fraser's comment.
Check not only the visibility and opacity of the object in question but
also of its ancestors.
Expanded the test accessibility/aria-modal.html to include the case
where the visibility of the modal dialog is determined by the opacity of
its parent object.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::isNodeVisible const):

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

10:17 AM Changeset in webkit [268465] by Alan Coon
  • 4 edits
    2 adds in branches/safari-610-branch

Cherry-pick r268162. rdar://problem/70267741

REGRESSION: Safari unable to load PDF in <embed> (docs.legalconnect.com)
https://bugs.webkit.org/show_bug.cgi?id=217451
<rdar://problem/69767043>

Reviewed by Alex Christensen.

Source/WebCore:

Test: fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html

If plugins are enabled, we'll always let the request go through, and WebKit will
guess that files with PDFPlugin-handled extensions should instantiate PDFPlugin,
even if no other plugins are available.

However, if plugins are disabled, requestPlugin() will early return if the explicitly
specified MIME type is not handled by an application plugin (even though the downstream
WebKit code would have happily instantiated an application plugin for us).

Application plugins shouldn't depend on the plugin enablement setting.
To fix this, have SubframeLoader guess the MIME type if not explicitly specified
(matching WebKit's behavior), and allow the request if it matches an application plugin.

  • loader/SubframeLoader.cpp: (WebCore::findPluginMIMETypeFromURL): Improve this previously logging-only function to use the lastPathComponent of the URL instead of randomly looking at the end of the URL, to ignore query strings and fragments when looking for the file extension.

(WebCore::FrameLoader::SubframeLoader::requestPlugin):
Make use of findPluginMIMETypeFromURL to guess the MIME type if it's not
explicitly specified. If the guessed MIME type is one that is handled
by application plugins, allow the request to go out to WebKit (which
may then instantiate a PDFPlugin, for example).

(WebCore::logPluginRequest):
(WebCore::FrameLoader::SubframeLoader::requestObject):
(WebCore::FrameLoader::SubframeLoader::createJavaAppletWidget):
Pass the URL instead of stringifying it, so we can lastPathComponent as above.

LayoutTests:

  • fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank-expected-mismatch.html: Added.
  • fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: Added. Add a test ensuring that <embed> with no specified MIME type still renders the PDF.

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

10:17 AM Changeset in webkit [268464] by Alan Coon
  • 5 edits in branches/safari-610-branch

Cherry-pick r268117. rdar://problem/70267698

Presidential Executive Order pages not accessible with Safari.
https://bugs.webkit.org/show_bug.cgi?id=217415

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/aria-modal.html.

These pages have a dialog modal element of the form

<div class="popover" role="dialog" aria-modal="true">

with style visible and a display value different from none. This makes
WebCore/accessibility to treat it as if the dialog were always visible,
and thus do not convey the content of the page outside the dialog to
VoiceOver. The author controls the visibility of the dialog using the
style opacity. This patch adds the check for the opacity to determine
whether an element is visible or not.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::isNodeVisible const):

LayoutTests:

Expanded this test to cover the case whether the modal dialog visibility
is controlled by its opacity. Cleaned up JS code and made it work in
isolated tree mode.

  • accessibility/aria-modal-expected.txt:
  • accessibility/aria-modal.html:

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

10:17 AM Changeset in webkit [268463] by Alan Coon
  • 3 edits
    2 adds in branches/safari-610-branch/Source/WebKit

Cherry-pick r267352. rdar://problem/70267163

WKWebView Swift overlay has mis-annotated nullability for evaluateJavaScript
<http://webkit.org/b/216198>
<rdar://problem/68035950>

Reviewed by Darin Adler.

Due to a mistranslation of evaluateJavaScript, we are vending an API which does not expect
to receive nil as a valid result value. This change fixes the crash, but does not yet fix
the API to have the correct signature. That will come in a later patch.

To fix the crash, we need to produce a valid Result<Any, Error> to pass back to clients.
Fortunately, instead of inventing something clever, we can just use nil. It's valid to box
optional values into Any, and clients can technically retrieve them with the right dynamic cast
as well. Since client code must be using dynamic casting to convert the result Any to a usable
type, and because in the case where we now return a new value at runtime we would have previously
crashed, this shouldn't have any binary compatibility impact either.

To better validate these changes, I also add new unit tests for the conversion of JavaScript
results into Swift values, including a test for the deprecated API.

  • SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift: Added. For clarity I'm factoring helper methods into a single namespace, as it also makes a nice place to document their expectations. (ObjectiveCBlockConversion.exclusive.exclusive(_:)): This is renamed from the free function,

makeResultHandler(_:). It still has the same fatalError (now precondition) as before, but
hopefully a better name to clarify that it expects exactly-one value.

(ObjectiveCBlockConversions.boxingNilAsAnyForCompatibility(_:)): This is a variant of exclusive(_:)

that makes the tradeoff of boxing any nil values as Any to avoid crashing. This is still safe,
since as mentioned our clients will need to cast the value they recieve to do anything with it,
and since the deprecated API expects Any, no one could have been successfully comparing it
to nil today anyways.

  • SwiftOverlay/Tests/JavaScriptToSwiftTypeConversions.swift: Added. (JavaScriptToSwiftConversions.setUp): Construct a new web view, and add it to a window so that it is

in an expected state. I'm using about:blank as the URL, since page content doesn't matter for
these tests and I want the web content to be ready immediately.

(JavaScriptToSwiftConversions.tearDown): Just perform some window cleanup.
(JavaScriptToSwiftConversions.evaluateJavaScript(_:andExpect:)): Helper method to evaluate script and

check its result. I'm using String.debugDescription because it escapes quotes and special characters
which makes the readout easier to parse.

(JavaScriptToSwiftConversions.testNull): JavaScript's null is actually mapped to NSNull, not nil.
(JavaScriptToSwiftConversions.testInteger): Some standard type coercion tests. The underlying value for

all number types should be NSNumber, so this is actually check against a float or integer type
without issue.

(JavaScriptToSwiftConversions.testDecimal): Ditto.
(JavaScriptToSwiftConversions.testBoolean): Ditto.
(JavaScriptToSwiftConversions.testString): Ditto.
(JavaScriptToSwiftConversions.testArray): Ditto.
(JavaScriptToSwiftConversions.testDictionary): Ditto, only you can't evaluate an object literal directly

so I need to store it in a temporary location first.

(JavaScriptToSwiftConversions.testUndefined): Test our boxing of nil. The exact value matters less than

not crashing at all.

  • SwiftOverlay/WebKitSwiftOverlay.xcodeproj/project.pbxproj: Added new files to project. I kept the

new test file and helper files within the SwiftOverlay group, because they do not contribute any API.

  • UIProcess/API/Cocoa/WebKitSwiftOverlay.swift: (WKWebView.callAsyncJavaScript(_:arguments:in:in:completionHandler:)): Switch to a conversion which does

not trap on nil.

(WKWebView.createPDF(_:completionHandler:)): Updated to use new helper method name.
(WKWebView.createWebArchiveData(_:)): Ditto.
(WKWebView.evaluateJavaScript(_:in:in:completionHandler:Error:)): See above.
(makeResultHandler(_:): This has been subsumed by ObjCBlockConversions.

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

10:17 AM Changeset in webkit [268462] by Alan Coon
  • 3 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r267619. rdar://problem/70296953

Add -[WKWebView _loadRequest:shouldOpenExternalURLsPolicy:] to provide a way to allow app link
https://bugs.webkit.org/show_bug.cgi?id=216977

Patch by Hoa Dinh <dvh@apple.com> on 2020-09-25
Reviewed by Alex Christensen.

The method -[WKWebView _loadRequest:shouldOpenExternalURLs:] would only allow opening external or not.
It wasn't providing the ability to allow external URL but not app links.
This patch adds -[WKWebView _loadRequest:shouldOpenExternalURLsPolicy:]. The parameters value for
shouldOpenExternalURLsPolicy has the same meaning than WebCore::ShouldOpenExternalURLsPolicy.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _loadRequest:shouldOpenExternalURLsPolicy:]):
  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Added enum _WKShouldOpenExternalURLsPolicy,

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

10:05 AM Changeset in webkit [268461] by Alan Coon
  • 8 edits in branches/safari-610-branch/Source

Versioning.

WebKit-7610.3.4

9:19 AM Changeset in webkit [268460] by Ryan Haddad
  • 2 edits in trunk/Tools

Temporarily reduce the number of iOS simulators booted during testing
https://bugs.webkit.org/show_bug.cgi?id=217681

Reviewed by Jonathan Bedard.

To work around unexpected timouts with iOS 14 (webkit.org/b/217392),
increase the estimated memory cost for booting iOS simulators.

  • Scripts/webkitpy/xcode/simulated_device.py:

(SimulatedDeviceManager): Remove an obsolete FIXME and change the
estimated memory cost for a simulator to 8GB, which reduces the number
of booted simulators in our CI from 10 to 8. This change reduced the
number of unexpected timeouts seen on our bots from ~20 to 2, and came
at a penalty of < 5 minutes to layout test duration.

8:47 AM Changeset in webkit [268459] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Enable AudioWorklet by default
https://bugs.webkit.org/show_bug.cgi?id=217708

Reviewed by Eric Carlson.

Enable AudioWorklet by default on platforms where modern/unprefixed WebAudio
is enabled.

  • Scripts/Preferences/WebPreferencesExperimental.yaml:
8:28 AM Changeset in webkit [268458] by Kate Cheney
  • 41 edits
    4 deletes in trunk

Remove ResourceLoadStatistics telemetry
https://bugs.webkit.org/show_bug.cgi?id=217665
<rdar://problem/69748988>

Reviewed by Sam Weinig.

Source/WebKit:

Telemetry calculation in ITP is unused, very complicated, a potential
privacy risk, and it causes flaky tests. We should remove it.

No new tests. Existing ITP tests will check for no behavior change.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::makeMedianWithUIQuery): Deleted.
(WebKit::buildQueryStartAndEnd): Deleted.
(WebKit::makeMedianWithoutUIQuery): Deleted.
(WebKit::getMedianOfPrevalentResourcesWithUserInteraction): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::getNumberOfPrevalentResources const): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::getNumberOfPrevalentResourcesWithUI const): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::getTopPrevelentResourceDaysSinceUI const): Deleted.
(WebKit::getMedianOfPrevalentResourceWithoutUserInteraction): Deleted.
(WebKit::getNumberOfPrevalentResourcesInTopResources): Deleted.
(WebKit::makeStatisticQuery): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::getNumberOfPrevalentResourcesWithoutUI const): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::calculateTelemetryData const): Deleted.
(WebKit::ResourceLoadStatisticsDatabaseStore::calculateAndSubmitTelemetry const): Deleted.

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

(WebKit::ResourceLoadStatisticsMemoryStore::ResourceLoadStatisticsMemoryStore):
(WebKit::ResourceLoadStatisticsMemoryStore::calculateAndSubmitTelemetry const): Deleted.

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

(WebKit::ResourceLoadStatisticsStore::setShouldSubmitTelemetry): Deleted.

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

(WebKit::WebResourceLoadStatisticsStore::performDailyTasks):
(WebKit::WebResourceLoadStatisticsStore::setShouldSubmitTelemetry): Deleted.
(WebKit::WebResourceLoadStatisticsStore::submitTelemetry): Deleted.
(WebKit::WebResourceLoadStatisticsStore::notifyPageStatisticsTelemetryFinished const): Deleted.

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

(WebKit::NetworkProcess::submitTelemetry): Deleted.

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

(WebKit::NetworkSession::notifyPageStatisticsTelemetryFinished): Deleted.

  • NetworkProcess/NetworkSession.h:
  • SourcesCocoa.txt:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreStatisticsSubmitTelemetry): Deleted.

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::submitTelemetry): Deleted.
(WebKit::NetworkProcessProxy::notifyResourceLoadStatisticsTelemetryFinished): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::notifyPageStatisticsTelemetryFinished): Deleted.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::submitTelemetry): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit.xcodeproj/project.pbxproj:
  • PlatformFTW.cmake:
  • SourcesGTK.txt:
  • PlatformPlayStation.cmake:
  • PlatformWin.cmake:
  • SourcesWPE.txt:

Tools:

Telemetry calculation in ITP is unused, very complicated, a potential
privacy risk, and it causes flaky tests. We should remove it.

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

(WTR::InjectedBundle::didReceiveMessageToPage):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::installStatisticsDidRunTelemetryCallback): Deleted.
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Deleted.
(WTR::TestRunner::statisticsSubmitTelemetry): Deleted.

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

(WTR::TestController::statisticsSubmitTelemetry): Deleted.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

Remove layout tests.

  • http/tests/resourceLoadStatistics/telemetry-generation-expected.txt: Removed.
  • http/tests/resourceLoadStatistics/telemetry-generation.html: Removed.
  • platform/wk2/TestExpectations:
8:24 AM Changeset in webkit [268457] by Kate Cheney
  • 9 edits
    1 delete in trunk

Remove _WKWebViewCategory from WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=217679
<rdar://problem/70260337>

Reviewed by Sam Weinig.

Source/WebKit:

This property is not used in any meaningful way. Its original purpose
was to categorize WKWebViews for app-bound domains, but this is
now done using the isNavigatingToAppBoundDomain property on
WebPageProxy. We should remove it.

No new tests, behavior confirmed by existing tests.

  • Shared/WebViewCategory.h: Removed.
  • UIProcess/API/APIPageConfiguration.cpp:

(API::PageConfiguration::copy const):

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::webViewCategory const): Deleted.
(API::PageConfiguration::setWebViewCategory): Deleted.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(toWebKitWebViewCategory): Deleted.
(toWKWebViewCategory): Deleted.
(-[WKWebViewConfiguration _webViewCategory]): Deleted.
(-[WKWebViewConfiguration _setWebViewCategory:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomainAndCheckIfPermitted):

  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
7:00 AM Changeset in webkit [268456] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

[LFC] Use the term overridden instead of override to indicate priority values
https://bugs.webkit.org/show_bug.cgi?id=217657

Reviewed by Antti Koivisto.

The OverriddenHorizontal/Vertical structures are used to pass in priority values (e.g. use the "max-height" value instead of the computed "height" value) to geometry computation functions.

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

(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases const):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

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

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp:

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

  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.h:
  • layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContextQuirks.cpp:

(WebCore::Layout::TableWrapperBlockFormattingContext::Quirks::overriddenTableHeight const):
(WebCore::Layout::TableWrapperBlockFormattingContext::Quirks::overrideTableHeight const): Deleted.

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

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockHeightAndMargin const):

6:54 AM Changeset in webkit [268455] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Rename slave to bot for gtk-linux bot names
https://bugs.webkit.org/show_bug.cgi?id=217702

Reviewed by Carlos Alberto Lopez Perez.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
6:29 AM Changeset in webkit [268454] by Andres Gonzalez
  • 16 edits in trunk

[ macOS ] accessibility/mac/select-element-selection-with-optgroups.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215649
<rdar://problem/67406148>

Reviewed by Chris Fleizach.

Source/WebCore:

Test: accessibility/mac/select-element-selection-with-optgroups.html.

Fix this test by using Promises and waiting for the correct events. No
longer flaky.
Also fixed the test in isolated tree mode, for which several changes detailed below were necessary.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::objectsForIDs const):
Added this utility method to retrieve a Vector of AX objects given their IDs.

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::canSetSelectedChildren const):
(WebCore::AccessibilityListBox::setSelectedChildren):
(WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute const):
Became canSetSelectedChildren since Attribute was unnecessary and
misleading.

  • accessibility/AccessibilityListBox.h:
  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:

(WebCore::AXCoreObject::setSelectedChildren): Exposes this functionality
in the base class so that it is accessible for AX and isolated objects.
(WebCore::AXCoreObject::isNativeListBox const): Deleted.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::setSelectedChildren):
Implements this functionality by forwarding to the main thread and
retrieving the correspodning AX objects.
(WebCore::AXIsolatedObject::isAccessibilityListBoxInstance const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::objectsForIDs const):
(WebCore::AXIsolatedTree::idsForObjects const):

  • accessibility/isolatedtree/AXIsolatedTree.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
Instead of special casing AccessibilityListBox class, it allows to set
selected children for all objects that canSetSelectedChildren.
Eliminates the downcast that does not work for isolated objects.

LayoutTests:

Uses Promises to make test deterministic. Also waits for the correct event
since selectedChildrenCount is not the right indication that the
expected update happened.

  • accessibility/mac/select-element-selection-with-optgroups-expected.txt:
  • accessibility/mac/select-element-selection-with-optgroups.html:
  • platform/mac/TestExpectations: No longer flaky.
5:06 AM Changeset in webkit [268453] by zandobersek@gmail.com
  • 32 edits
    5 deletes in trunk

Remove ACCELERATED_2D_CANVAS build flags and guarded code
https://bugs.webkit.org/show_bug.cgi?id=217603

Reviewed by Carlos Garcia Campos.

.:

Yank the CMake ENABLE_ACCELERATED_2D_CANVAS option now that it won't
have any effect. FindCairoGL.cmake can also be removed.

  • Source/cmake/FindCairoGL.cmake: Removed.
  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmake/tools/vsprops/FeatureDefines.props:
  • Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/WebCore:

Remove code guarded by the ACCELERATED_2D_CANVAS build guard, along
with related build system cruft. This feature was only implemented for
Cairo, and even then was using an experimental GL-oriented backend of
Cairo that was not providing necessarily better performance or
experience and is not seeing further development.

  • PlatformMac.cmake:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createContext2d):
(WebCore::HTMLCanvasElement::createContextBitmapRenderer):
(WebCore::HTMLCanvasElement::shouldAccelerate const):
(WebCore::HTMLCanvasElement::createImageBuffer const):

  • html/ImageBitmap.cpp:
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::createPattern):
(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::platformLayer const): Deleted.

  • html/canvas/CanvasRenderingContext2DBase.h:
  • html/canvas/ImageBitmapRenderingContext.cpp:
  • platform/Cairo.cmake:
  • platform/SourcesCairo.txt:
  • platform/graphics/GLContext.h:
  • platform/graphics/PlatformImageBuffer.h:
  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::cairoSurfaceSize):

  • platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.cpp: Removed.
  • platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h: Removed.
  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::~GLContextEGL):
(WebCore::GLContextEGL::cairoDevice): Deleted.

  • platform/graphics/egl/GLContextEGL.h:
  • platform/graphics/glx/GLContextGLX.cpp:

(WebCore::GLContextGLX::~GLContextGLX):
(WebCore::GLContextGLX::cairoDevice): Deleted.

  • platform/graphics/glx/GLContextGLX.h:
  • platform/graphics/gpu/Texture.cpp: Removed.
  • platform/graphics/gpu/Texture.h: Removed.
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::nativeImageForCurrentTime):

  • rendering/RenderLayerBacking.cpp:

(WebCore::canvasCompositingStrategy):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::containsPaintedContent const):
(WebCore::RenderLayerBacking::contentChanged):

Source/WTF:

  • wtf/PlatformEnable.h:

Remove the fallback ENABLE_ACCELERATED_2D_CANVAS definition.

Tools:

  • Scripts/webkitperl/FeatureList.pm:

Remove the ACCELERATED_2D_CANVAS feature flag.

5:00 AM WebKitGTK/2.30.x edited by Adrian Perez de Castro
(diff)
4:58 AM Changeset in webkit [268452] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.30/Source/WebCore

Merge r268390 - [GTK] Make gamepads visible after their first input is received
https://bugs.webkit.org/show_bug.cgi?id=217494

Reviewed by Carlos Garcia Campos.

Turns out this was mostly working already, with a small caveat: Sometimes there would
be a timing issue if m_inputNotificationTimer would be fired before having a chance
of setting the m_initialGamepadsConnected flag, and in that case the early return
would prevent dispatchPlatformGamepadInputActivity() from ever being called. This
re-arms the timer to be fired again in the next event loop iteration if the flag was
unset, so it will be checked again after it has been toggled. This same approach is
used by HIDGamepadProvider in the Mac port, for example.

  • platform/gamepad/manette/ManetteGamepadProvider.cpp:

(WebCore::ManetteGamepadProvider::inputNotificationTimerFired): Re-arm timer if
m_initialGamepadsConnected was not yet set.

4:58 AM Changeset in webkit [268451] by Adrian Perez de Castro
  • 11 edits in releases/WebKitGTK/webkit-2.30/Source

Merge r268312 - [GTK] Build broken with ENABLE_GAMEPAD enabled

https://bugs.webkit.org/show_bug.cgi?id=217226

Reviewed by Darin Adler.

Source/WebCore:

No new tests needed.

  • Headers.cmake: List SharedGamepadValue.h in WebCore_PRIVATE_FRAMEWORK_HEADERS, which

was missing.

  • platform/gamepad/EmptyGamepadProvider.h: Mark class as final, because the destructor

is final itself.

  • platform/gamepad/manette/ManetteGamepad.cpp:

(WebCore::ManetteGamepad::ManetteGamepad): Adapt to use SharedGamepadValue.
(WebCore::ManetteGamepad::buttonPressedOrReleased): Ditto.
(WebCore::ManetteGamepad::absoluteAxisChanged): Ditto.

  • platform/gamepad/manette/ManetteGamepad.h: Ditto.
  • platform/gamepad/manette/ManetteGamepadProvider.cpp: Rename m_connectionDelayTimer

to m_initialGamepadsConnectedTimer, which better reflects the usage and also makes the
provider a bit more similar to HIDGamepadProvider (from the Mac port). Arrange to use
the EventMakesGamepadsVisible flag.
(WebCore::ManetteGamepadProvider::ManetteGamepadProvider): Remove the loop that iterates
over the pre-detected gamepads because they are being added too early before any client
has had the chance to be attached.
(WebCore::ManetteGamepadProvider::startMonitoringGamepads): The loop that iterates and
adds pre-detected gamepads is moved here, once there is at least a client. This solves
hitting an assertion later on when UIGamepadProvider checks that the number of gamepads
it has been notified of matches the amount tracked by ManetteGamepadProvider.
(WebCore::ManetteGamepadProvider::stopMonitoringGamepads):
(WebCore::ManetteGamepadProvider::deviceConnected):
(WebCore::ManetteGamepadProvider::deviceDisconnected):
(WebCore::ManetteGamepadProvider::initialGamepadsConnectedTimerFired):
(WebCore::ManetteGamepadProvider::inputNotificationTimerFired):

  • platform/gamepad/manette/ManetteGamepadProvider.h: Ditto.

Source/WebKit:

  • UIProcess/Gamepad/UIGamepadProvider.h: Mark class as final, because the destructor is

final itself.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::numberOfConnectedGamepadsForTesting): Reorganize PLATFORM(MAC)
guards to use GameControllerGamepadProvider only on macOS, as it is unavailable on other
ports.

  • WebProcess/Gamepad/WebGamepadProvider.h: Mark class as final, because the destructor

is final itself.

4:51 AM Changeset in webkit [268450] by Karl Rackler
  • 2 edits in trunk/LayoutTests

Unreviewed, reverting r268441.

This reverts commit r268441 made in error.

Reverted changeset:

"REGRESSION (iOS 14): [ iOS wk2 ] 12 2d.gradient.radial WPT
tests are a flaky failure"
https://bugs.webkit.org/show_bug.cgi?id=217690
https://trac.webkit.org/changeset/268441

3:38 AM Changeset in webkit [268449] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebKit

Unreviewed. Fix the build warning below since r268312.
warning: control reaches end of non-void function [-Wreturn-type]

No new tests, no new behaviors.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::numberOfConnectedGamepadsForTesting):

3:03 AM Changeset in webkit [268448] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebKit

Unreviewed. Fix the build warning below since r222233.
warning: redundant move in return statement [-Wredundant-move]

No new tests, no new behaviors.

  • Shared/Gamepad/GamepadData.cpp:

(WebKit::GamepadData::decode):

2:33 AM Changeset in webkit [268447] by Diego Pino Garcia
  • 2 edits in trunk/Tools

[webkitpy] Allow passing subtests to GLIB API testrunner
https://bugs.webkit.org/show_bug.cgi?id=217466

Reviewed by Carlos Garcia Campos.

GLIB API testrunner didn't allow passing a list of subtests to run.
That was possible, however, when executing a GLIB API binary directly
using knob -p. The patch adds the same option to GLIB API testrunner
and passes down the list of subtests accordingly.

  • glib/api_test_runner.py:

(TestRunner._run_test_glib):
(TestRunner._run_test):
(TestRunner.run_tests):
(add_options):

2:18 AM Changeset in webkit [268446] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

REGRESSION: fast/canvas/webgl/context-attributes-alpha.html fails
https://bugs.webkit.org/show_bug.cgi?id=217697

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-10-14
Reviewed by Antti Koivisto.

The original work in "Cocoa: Make WebGLLayer not dependent on
GraphicsContextGLOpenGL" was missing the hunk to initialize
WebGLLayer contentsOpaque. Neither the EWS nor the local testing
used the test case.

No new tests, tested by
fast/canvas/webgl/context-attributes-alpha.html.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

  • platform/graphics/cocoa/WebGLLayer.h:
  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer initWithClient:devicePixelRatio:contentsOpaque:]):
(-[WebGLLayer initWithClient:devicePixelRatio:]): Deleted.

1:09 AM Changeset in webkit [268445] by Fujii Hironori
  • 2 edits in trunk/LayoutTests

[WinCairo] Unreviewed test gardening

  • platform/wincairo/TestExpectations:
12:17 AM Changeset in webkit [268444] by graouts@webkit.org
  • 3 edits
    6 adds in trunk

transform-origin is applied on top of invidivual CSS transform properties on composited layers
https://bugs.webkit.org/show_bug.cgi?id=217661
<rdar://problem/70259960>

Reviewed by Simon Fraser.

Source/WebCore:

Ensure that transform origin is only applied when the RenderStyle::applyTransform() call site would
opt into it. This caused the call under RenderLayerBacking::updateTransform() to apply the transform
origin even though the resulting CALayer already relies on the anchorPoint property.

Tests: transforms/2d/rotate-composited.html

transforms/2d/scale-composited.html
transforms/2d/translate-composited.html

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::applyTransform const):
(WebCore::requireTransformOrigin): Deleted.

LayoutTests:

Add new tests checking that individual CSS properties render the same as the single transform property
when applied to a composited element.

  • transforms/2d/rotate-composited-expected.html: Added.
  • transforms/2d/rotate-composited.html: Added.
  • transforms/2d/scale-composited-expected.html: Added.
  • transforms/2d/scale-composited.html: Added.
  • transforms/2d/translate-composited-expected.html: Added.
  • transforms/2d/translate-composited.html: Added.

Oct 13, 2020:

8:20 PM Changeset in webkit [268443] by rniwa@webkit.org
  • 3 edits in trunk

IPC testing JS API should expose a reply and describe the list of arguments for each message
https://bugs.webkit.org/show_bug.cgi?id=217565

Fixed the tests.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
8:03 PM Changeset in webkit [268442] by sbarati@apple.com
  • 3 edits
    1 add in trunk

JSObject::getPropertyNames should have a stack overflow check
https://bugs.webkit.org/show_bug.cgi?id=217677
<rdar://problem/69286436>

Reviewed by Tadeu Zagallo.

JSTests:

  • stress/get-property-names-stack-overflow.js: Added.

Source/JavaScriptCore:

A prototype chain can be long enough where the recursion causes a stack
overflow. The attached test case uses $vm to mimic such a prototype chain
by using JSProxy to make a cyclic prototype chain. But the same works by
making a prototype chain very long, but the test case takes too long to
run to justify landing. For posterity, the alternate test case is:

`
function makeLongProtoChain(length) {

let object = /foo/;
for (let i = 0; i < length; ++i) {

next = /foo/;
next.proto = object;
object = next;

}
return object;

}

let o = makeLongProtoChain(30000);
for (let q in o) {}
`

  • runtime/JSObject.cpp:

(JSC::JSObject::getPropertyNames):

6:30 PM Changeset in webkit [268441] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (iOS 14): [ iOS wk2 ] 12 2d.gradient.radial WPT tests are a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217690

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
6:10 PM Changeset in webkit [268440] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitscmpy] Add git-webkit find (Follow up fix)
https://bugs.webkit.org/show_bug.cgi?id=217534
<rdar://problem/70152431>

Unreviewed follow up fix.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Version bump.
  • Scripts/libraries/webkitscmpy/setup.py: "program" was not a directory in the landed change.
5:43 PM Changeset in webkit [268439] by Alan Coon
  • 4 edits in branches/safari-610.2.11.0-branch

Revert r268206. rdar://problem/70258965

5:28 PM Changeset in webkit [268438] by Hector Lopez
  • 2 edits in trunk/LayoutTests

[ macOS ] inspector/page/overrideSetting-ITPDebugModeEnabled.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217686

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
5:23 PM Changeset in webkit [268437] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (iOS 14): [ iOS wk2 ] accessibility tests are a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=217687

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
5:19 PM Changeset in webkit [268436] by Megan Gardner
  • 6 edits
    3 adds in trunk

Paint CSS highlights over images
https://bugs.webkit.org/show_bug.cgi?id=217417
Source/WebCore:

<rdar://problem/58459054>

Reviewed by Darin Adler.

Add support to paint CSS pseudo highlights over images that are in the
range of the defined highlight.

Test: http/wpt/css/css-highlight-api/highlight-image.html

  • rendering/HighlightData.cpp:

(WebCore::HighlightData::highlightStateForRenderer):

  • rendering/HighlightData.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::potentialHighlightColor const):
(WebCore::RenderReplaced::paint):

  • rendering/RenderReplaced.h:

LayoutTests:

Reviewed by Darin Adler.

  • http/wpt/css/css-highlight-api/highlight-image-expected-mismatched.html: Added.
  • http/wpt/css/css-highlight-api/highlight-image.html: Added.
5:16 PM commit-identifiers edited by Jonathan Bedard
(diff)
5:14 PM Changeset in webkit [268435] by weinig@apple.com
  • 5 edits in trunk/Source/WebCore

[WebIDL] Add support for identifiers with dashes ('-')
https://bugs.webkit.org/show_bug.cgi?id=217667

Reviewed by Darin Adler.

To support CSSStyleDeclaration.idl correctly, we need to add support for dashes ('-')
in WebIDL identifers.

  • bindings/scripts/IDLParser.pm:

Update identifer regular expression to match current spec which allows for dashes ('-').

  • bindings/scripts/CodeGeneratorJS.pm:

(MangleAttributeOrFunctionName):
Helper to centralize mangling required to construct valid c++ identifiers from the WebIDL
identifiers, since now WebIDL identifiers can contain dashes ('-'), which is not valid in
c++. For now, we use a very simple mangling which replaces all dashes ('-') with the string
"_dash_".

(GetAttributeGetterName):
(GetAttributeSetterName):
(GetFunctionName):
Clarify and cleanup logic a bit and call the new mangler.

(GenerateImplementation):
GetAttributeGetterName will now always use the $className, so this caller needs to actually
pass the right value in. Previously, the $generatorName it passed in was not actually used.
Also removes some duplicate definitions of $interfaceName.

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

Adds tests for various combinations of underscores and dashes in identifiers.

4:57 PM Changeset in webkit [268434] by Alan Coon
  • 1 copy in tags/Safari-610.2.11.1.2

Tag Safari-610.2.11.1.2.

4:53 PM Changeset in webkit [268433] by Jonathan Bedard
  • 9 edits
    2 copies
    2 adds in trunk/Tools

[webkitscmpy] Add git-webkit find
https://bugs.webkit.org/show_bug.cgi?id=217534
<rdar://problem/70152431>

Reviewed by Dewei Zhu.

  • Scripts/git-webkit: Added.
  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py:

(NoAction.call):
(CountAction): Create an action to increment or decrement a variable by a value.
(CallbackAction): Create an action which will trigger a callback when set.
(LoggingGroup): Create a group which allows the user to change logging behavior.

  • Scripts/libraries/webkitscmpy/git-webkit: Added.
  • Scripts/libraries/webkitscmpy/setup.py: Add webkitscmpy.program and git-webkit.
  • Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
  • Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:

(Commit): Make the 12 character hash based on a class variable.

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

(Git.default_branch): Fallback to 'master' or 'main' if the remote isn't available.
(Git.find): Use git to match branches and tags to a hash instead of trying to do it ourselves.

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

(Scm.find): Add function to convert generic string arguments to a commit, and then find that commit in
the repository.

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

(Svn): Support a few different SVN binary paths.

  • Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Add rev-parse branch/tag/HEAD -> hash conversion.
  • Scripts/libraries/webkitscmpy/webkitscmpy/program.py: Added.

(Command): Base class for all commands.
(Find):
(Find.parser): Configure parser for 'find' sub-program.
(Find.main): Given an identifier, revision, hash or branch name, find and print the matching commit from
(main): Entry point to git-<project> scripts.

  • Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py: Added.

(TestFind):
(TestFind.test_basic_git):
(TestFind.test_basic_git_svn):
(TestFind.test_basic_svn):
(TestFind.test_branch_tilde):
(TestFind.test_identifier_git):
(TestFind.test_identifier_git_svn):
(TestFind.test_identifier_svn):
(TestFind.test_hash):
(TestFind.test_revision_svn):
(TestFind.test_revision_git_svn):
(TestFind.test_standard):

4:28 PM Changeset in webkit [268432] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null dereference in PDFPlugin::snapshot()
https://bugs.webkit.org/show_bug.cgi?id=217668

Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-10-13
Reviewed by Ryosuke Niwa.

Source/WebKit:

Add a null pointer check in PDFPlugin's snapshot method
to prevent a crash if the backing store's size
isn't sufficient for the ShareableBitmap.

Test: plugins/pdf-plugin-null-onloaddeddata.html

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::snapshot):

LayoutTests:

Add new pass-if-no-crash test to catch crash in PDFPlugin
snapshotting.

  • plugins/pdf-plugin-null-onloaddeddata-expected.txt: Added.
  • plugins/pdf-plugin-null-onloaddeddata.html: Added.
4:20 PM Changeset in webkit [268431] by rniwa@webkit.org
  • 13 edits
    2 adds in trunk

IPC testing JS API should expose a reply and describe the list of arguments for each message
https://bugs.webkit.org/show_bug.cgi?id=217565

Reviewed by Geoffrey Garen.

Source/WebKit:

This patch makes IPC.sendMessage and IPC.sendSyncMessage decode the reply. IPC.sendSyncMessage now returns
a dictionary with two keys: "buffer" and "arguments", the first of which returns ArrayBuffer of the decoded
message reply and the second of which is an array of decoded arguments where there was an appropriate JS
binding code existed for the argument type. IPC.sendMessage now returns a Promise which can either resolve
with the same dictionary as IPC.sendSyncMessage or reject when the decoding fails.

In addition, this patch exposes a dictionary describing each IPC message argument's type and parameter name.

In order to add these two functionalities, this patch adds a new step in generate-message-receiver.py to
generate MessageArgumentDescriptions.cpp, which contains functions which know how to decode arguments of
any IPC message and create a JS dictionary describing it as well as functions that return descriptions of
arguments or reply arguments.

Finally, this patch adds encoders for a few types found to be very common after r268239 had been landed.

Tests: TestWebKitAPI.IPCTestingAPI.DecodesReplyArgumentsForPrompt

TestWebKitAPI.IPCTestingAPI.DecodesReplyArgumentsForAsyncMessage
TestWebKitAPI.IPCTestingAPI.DescribesArguments

  • CMakeLists.txt:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Platform/IPC/Decoder.h:

(IPC::Decoder::buffer const):

  • Platform/IPC/JSIPCBinding.h: Added.

(jsValueForDecodedArgumentValue): Added. A template function to construct a JS value for a given C++ value.
(jsValueForDecodedNumericArgumentValue): Added. A helper for constructing a JS value for numeric values.
(jsValueForDecodedArgumentRect): Added. Ditto for IntRect and FloatRect.
(DecodedArgumentJSValueConverter): Added. A helper class to construct JS values for a tuple of values using
partial template specializations.
(DecodedArgumentJSValueConverter::convert): Added.
(jsValueForArgumentTuple): Added. A helper to construct a JS array for the decoded IPC arguments.
(jsValueForDecodedArguments): Added.

  • Platform/IPC/MessageArgumentDescriptions.h: Added.

(IPC::ArgumentDescription): Added.

  • Scripts/generate-message-receiver.py:

(main): Generate MessageArgumentDescriptions.cpp.

  • Scripts/webkit/messages.py:

(headers_for_type): Removed the special case for PaymentMethodUpdate now that it's in its own header. Also
added made webrtc::WebKitEncodedFrameInfo include LibWebRTCEnumTraits.h as it uses webrtc::VideoFrameType.
(collect_header_conditions_for_receiver): Extracted from generate_message_handler.
(generate_header_includes_from_conditions): Ditto.
(generate_message_handler):
(generate_js_value_conversion_function): Added.
(generate_js_argument_descriptions): Added.
(generate_message_argument_description_implementation): Added.

  • Shared/ApplePay/ApplePayPaymentSetupFeaturesWebKit.h: Fixed a bug that we were not forward declaring NSArray.
  • SourcesCocoa.txt: Added MessageArgumentDescriptions.cpp as a non-unified cpp file as its size is around 1MB.
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/IPCTestingAPI.cpp:

(WebKit::IPCTestingAPI::JSIPC::staticValues): Added the session ID and page ID as static variables.
(WebKit::IPCTestingAPI::encodePointType): Added.
(WebKit::IPCTestingAPI::encodeRectType): Fixed the bug was that this code wasn't checking for any exceptions.
(WebKit::IPCTestingAPI::encodeNumericType): Renamed from encodeIntegralType since this function is now used
to encode double and float, not just integral types.
(WebKit::IPCTestingAPI::encodeArgument): Added the support for IntPoint, FloatPoint, URL, RegistrableDomain,
double, and float all of which turned out to be in the top 20 most common types.
(WebKit::IPCTestingAPI::jsResultFromReplyDecoder): Added.
(WebKit::IPCTestingAPI::JSIPC::sendMessage): Added the code to return Promise when there is a reply and resolve
it with the JS object describing the decoded argument. We use messageReplyArgumentDescriptions to figure out
whether there is a reply or not.
(WebKit::IPCTestingAPI::JSIPC::sendSyncMessage): Decode the reply and return a JS object which describes it.
(WebKit::IPCTestingAPI::JSIPC::frameID): Renamed from frameIdentifier to be consistent.
(WebKit::IPCTestingAPI::JSIPC::pageID): Added.
(WebKit::IPCTestingAPI::JSIPC::sessionID): Added.
(WebKit::IPCTestingAPI::createJSArrayForArgumentDescriptions): Added.
(WebKit::IPCTestingAPI::JSIPC::messages): Added the code to generate descriptions for arguments.

Tools:

Added tests for decoding replies for sync and async messages and one for argument descriptions.

  • TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:

(-[IPCTestingAPIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(-[IPCTestingAPIDelegate _webView:webContentProcessDidTerminateWithReason:]):
(IPCTestingAPI.DecodesReplyArgumentsForPrompt):
(IPCTestingAPI.DecodesReplyArgumentsForAsyncMessage):
(IPCTestingAPI.DescribesArguments):

4:01 PM Changeset in webkit [268430] by Alan Coon
  • 1 copy in tags/Safari-611.1.3.2

Tag Safari-611.1.3.2.

3:49 PM Changeset in webkit [268429] by aakash_jain@apple.com
  • 5 edits in trunk/Tools

[build.webkit.org] Rename slave to worker in config.json
https://bugs.webkit.org/show_bug.cgi?id=217672

Reviewed by Dewei Zhu.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Renamed slaves to workers and slavenames to workernames.

Also deleted unused entry for test-slave.

  • BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Renamed slave to worker.
  • BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Ditto.
  • BuildSlaveSupport/build.webkit.org-config/make_passwords_json.py: Ditto.

(create_mock_worker_passwords_dict):

3:49 PM Changeset in webkit [268428] by commit-queue@webkit.org
  • 7 edits in trunk

Expose a property on WKWebView to know if it's being inspected.
https://bugs.webkit.org/show_bug.cgi?id=217629
rdar://70073369

Patch by Ellie Epskamp-Hunt <eepskamphunt@apple.com> on 2020-10-13
Reviewed by Brian Burg.

Source/WebKit:

Move an existing property from WKWebViewPrivateForTesting to WKWebViewPrivate so Safari can
know when a web view is being inspected.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isBeingInspected]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _hasInspectorFrontend]): Deleted.

Tools:

Update the property name in existing tests.

  • TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:

(TEST):

3:46 PM Changeset in webkit [268427] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Sources: tab has wrong icon when paused if added after pause
https://bugs.webkit.org/show_bug.cgi?id=217671

Reviewed by Brian Burg.

  • UserInterface/Views/SourcesTabContentView.js:

(WI.SourcesTabContentView.tabInfo):

3:46 PM Changeset in webkit [268426] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Simplify AudioNode::checkNumberOfChannelsForInput()
https://bugs.webkit.org/show_bug.cgi?id=217674

Reviewed by Geoffrey Garen.

Simplify AudioNode::checkNumberOfChannelsForInput() by simply calling
updateInternalBus() on the input in release. We only iterate m_inputs
in debug to make sure this is an input associated with this node.

  • Modules/webaudio/AudioNode.cpp:

(WebCore::AudioNode::checkNumberOfChannelsForInput):

3:39 PM Changeset in webkit [268425] by Russell Epstein
  • 1 copy in tags/Safari-610.3.3

Tag Safari-610.3.3.

3:16 PM Changeset in webkit [268424] by Chris Dumez
  • 4 edits in trunk

It should be possible to create an AudioWorkletNode for a context that has finished rendering
https://bugs.webkit.org/show_bug.cgi?id=217666

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/suspended-context-messageport.https-expected.txt:

Source/WebCore:

It should be possible to create an AudioWorkletNode for a context that has finished rendering.
We were previously throwing an exception when trying to create an AudioWorkletNode for a context
whose state is "closed" (OfflineAudioContext's state becomes closed as soon as rendering
finishes). This was causing us to fail a WPT test and did not match Blink's behavior.

No new tests, rebaselined existing test.

  • Modules/webaudio/AudioWorkletNode.cpp:

(WebCore::AudioWorkletNode::create):

2:53 PM Changeset in webkit [268423] by Chris Dumez
  • 21 edits in trunk

WebAudio tests are crashing in debug when enabling the GPU process
https://bugs.webkit.org/show_bug.cgi?id=217663

Reviewed by Geoff Garen.

Source/WebCore:

No new tests, unskipped existing tests.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/audio/PushPullFIFO.h:

Export PushPullFIFO so that it can be used at WebKit layer.

Source/WebKit:

WebAudio tests were crashing in debug when enabling the GPU process because it did audio
processing on the WebContent process's main thread. To address the issue, I made
RemoteAudioDestinationProxy a ThreadMessageReceiver so that it receives IPC on an audio
thread instead of the main thread. IPC messages are processed directly on the AudioWorklet
thread when active or on an audio thread constructed by RemoteAudioDestinationProxy
otherwise.

  • GPUProcess/media/RemoteAudioDestinationManager.cpp:

(WebKit::RemoteAudioDestination::RemoteAudioDestination):
Use a PushPullFIFO structure in render() to avoid hanging the audio rendering thread
on a semaphore. Hanging the rendering thread was terrible for performance and was also
a source of deadlock since the underlying framework is holding a lock while render() is
called. We could process a RemoteAudioDestination::CreateAudioDestination sync IPC on the
main thread and deadlock on that lock.

  • GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
  • GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h:
  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.h:
  • NetworkProcess/IndexedDB/WebIDBServer.h:
  • NetworkProcess/webrtc/NetworkRTCProvider.h:
  • WebProcess/Network/webrtc/LibWebRTCNetwork.h:
  • WebProcess/cocoa/RemoteCaptureSampleManager.h:

Use ThreadMessageReceiverRefCounted instead of ThreadMessageReceiver since those classes
do not provide their own RefCounting.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
(IPC::Connection::addThreadMessageReceiver):
(IPC::Connection::removeThreadMessageReceiver):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::dispatchMessageToWorkQueueReceiver):
(IPC::Connection::dispatchMessageToThreadReceiver):

  • Platform/IPC/Connection.h:

(IPC::Connection::ThreadMessageReceiver::ref):
(IPC::Connection::ThreadMessageReceiver::deref):

  • Add support for passing a destinationID when registering a WorkQueueMessageReceiver or a ThreadMessageReceiver, similarly to regular MessageReceivers. This was needed here since The GPUProcess sends IPC messages to the RemoteAudioDestinationProxy with a given destinationID and since RemoteAudioDestinationProxy is now a ThreadMessageReceiver.
  • Stop having ThreadMessageReceiver subclass ThreadSafeRefCounted since RemoteAudioDestinationProxy already subclasses ThreadSafeRefCounted indirectly. A new ThreadMessageReceiverRefCounted class was added for convenience for existing code that relied on its refcounting.
  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:

(WebKit::RemoteAudioDestinationProxy::RemoteAudioDestinationProxy):
(WebKit::RemoteAudioDestinationProxy::~RemoteAudioDestinationProxy):
(WebKit::RemoteAudioDestinationProxy::start):
(WebKit::RemoteAudioDestinationProxy::stop):
(WebKit::RemoteAudioDestinationProxy::renderBuffer):
(WebKit::RemoteAudioDestinationProxy::didChangeIsPlaying):
(WebKit::RemoteAudioDestinationProxy::dispatchToThread):

  • WebProcess/GPU/media/RemoteAudioDestinationProxy.h:

Use a PushPullFIFO container in render() to avoid handing the audio rendering thread on
a semaphore while the Render IPC is getting processed by the WebProcess.

Source/WTF:

  • wtf/CrossThreadQueue.h:

(WTF::CrossThreadQueue<DataType>::waitForMessage):
If CrossThreadQueue::kill() gets called while another thread is waiting on a
CrossThreadQueue::waitForMessage() call, make it so that waitForMessage()
returns a default-constructed DataType instead of crashing trying to
dequeue (since the queue is empty).

LayoutTests:

Unskip webaudio tests when the GPU process is enabled.

  • gpu-process/TestExpectations:
2:41 PM Changeset in webkit [268422] by Karl Rackler
  • 2 edits in trunk/LayoutTests

REGRESSION (iOS 14): [ iOS wk2 ] service-workers-spinning tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=217669

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
2:38 PM Changeset in webkit [268421] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS 14] Hang in -[WKUserDefaults _notifyObserversOfChangeFromValuesForKeys:toValuesForKeys:]
https://bugs.webkit.org/show_bug.cgi?id=217183
<rdar://problem/69916673>

Reviewed by Geoffrey Garen.

Dispatch this work on a non-main thread, in order to avoid blocking the main thread.

  • UIProcess/Cocoa/PreferenceObserver.mm:

(-[WKUserDefaults _notifyObserversOfChangeFromValuesForKeys:toValuesForKeys:]):

2:25 PM Changeset in webkit [268420] by Keith Rollin
  • 28 edits in trunk

Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support
https://bugs.webkit.org/show_bug.cgi?id=217649
<rdar://problem/70236877>

Reviewed by Darin Adler.

Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support
for compiling WebKit against iOS SDKs". Support for the iOS part of
this feature was later removed in several changes, including Bug
139212, Bug 139463 and Bug 144762. However, vestiges have remained for
five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The
inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer
needed and can be removed.

This changes brings most projects in conformance with other projects
that don't support including the platform in MACOSX_DEPLOYMENT_TARGET,
including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and
TestWebKitAPI.

Along the way, remove a couple of left-over references to macOS 10.16,
and a couple of places where [sdk=macosx*] was still being used.

With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be
consistent across all projects, with two exceptions: WebKitLauncher
(which hardcodes it to 10.12) and libwebrtc's copy of googletest
(which hardcodes it to 10.4). The reasons for these hard-coded values
is not apparent, so leave them be.

PerformanceTests:

  • DecoderTest/Configurations/DebugRelease.xcconfig:
  • MediaTime/Configurations/DebugRelease.xcconfig:

Source/bmalloc:

  • Configurations/DebugRelease.xcconfig:

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty/libwebrtc:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

No new tests -- no changed functionality.

  • Configurations/DebugRelease.xcconfig:

Source/WebCore/PAL:

  • Configurations/DebugRelease.xcconfig:

Source/WebInspectorUI:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit:

  • Configurations/DebugRelease.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/DebugRelease.xcconfig:

Source/WTF:

  • Configurations/DebugRelease.xcconfig:

Tools:

  • ContentExtensionTester/Configurations/DebugRelease.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • ImageDiff/cg/Configurations/DebugRelease.xcconfig:
  • lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2:09 PM Changeset in webkit [268419] by Russell Epstein
  • 2 edits in branches/safari-610-branch/Source/WebKit

Cherry-pick r268381. rdar://problem/70260409

Fix the macCatalyst build ("reference to 'Rect' is ambiguous")
https://bugs.webkit.org/show_bug.cgi?id=217642
<rdar://problem/70224629>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/forms/WKDateTimeInputControl.mm: (-[WKDateTimePicker initWithView:datePickerMode:]): (-[WKDateTimePicker shouldPresentGregorianCalendar:]): (-[WKDateTimePicker controlBeginEditing]): (-[WKDateTimeInputControl initWithView:]): An earlier unified source's using namespace WebCore inside namespace WebKit and then WKDateTimeInputControl's using namespace WebKit in the global namespace resulted in once-again conflicting definitions of Rect between CSS code and MacTypes.h.

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

2:06 PM Changeset in webkit [268418] by Russell Epstein
  • 8 edits in branches/safari-610-branch/Source

Versioning.

WebKit-7610.3.3

1:53 PM Changeset in webkit [268417] by Simon Fraser
  • 19 edits in trunk/Source

Plumb OptionSet<WheelEventProcessingSteps> through the wheel event handling code
https://bugs.webkit.org/show_bug.cgi?id=217660

Reviewed by Tim Horton.

Source/WebCore:

Async scrolling in passive wheel event regions will require that the main thread event
handling code knows that the scrolling thread did the scrolling. To propagate this
information, plumb OptionSet<WheelEventProcessingSteps> through.

No behavior change.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::passWheelEventToWidget):

  • page/EventHandler.h:
  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::passWheelEventToWidget):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::passWheelEventToWidget):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::determineWheelEventProcessing):
(WebCore::ScrollingTree::handleWheelEvent):

  • page/scrolling/ScrollingTree.h:

(WebCore::WheelEventHandlingResult::handled):
(WebCore::WheelEventHandlingResult::unhandled):
(WebCore::ScrollingTree::handleWheelEvent):

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::handleWheelEvent):

  • page/scrolling/ThreadedScrollingTree.h:
  • platform/PlatformWheelEvent.cpp:

(WebCore::operator<<):

  • replay/UserInputBridge.cpp:

(WebCore::UserInputBridge::handleWheelEvent):

  • replay/UserInputBridge.h:

Source/WebKit:

Async scrolling in passive wheel event regions will require that the main thread event
handling code knows that the scrolling thread did the scrolling. To propagate this
information, plumb OptionSet<WheelEventProcessingSteps> through.

No behavior change.

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::dispatchWheelEventViaMainThread):
(WebKit::EventDispatcher::dispatchWheelEvent):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::handleWheelEvent):
(WebKit::WebPage::wheelEvent):

  • WebProcess/WebPage/WebPage.h:

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::mouseWheel):

1:15 PM Changeset in webkit [268416] by Alan Coon
  • 4 edits in branches/safari-610.2.11.1-branch

Revert r268206. rdar://problem/70258921

1:06 PM Changeset in webkit [268415] by Fujii Hironori
  • 5 edits in trunk

[WinCairo][MediaFoundation] Many test cases are timing out by waiting for events
https://bugs.webkit.org/show_bug.cgi?id=217463

Reviewed by Don Olmstead.

Source/WebCore:

The ended event wasn't dispatched because MediaFoundation winds
back currentTime to 0 at the end of play back. The currentTime
should keep the position. Added m_sessionEnded to return the
duration in currentTime() if m_sessionEnded is true.

currentTime() didn't work for audio elements because m_presenter is
available only for videos. Use IMFMediaSession::GetClock instead.

seek() started play back even if it is paused. Added m_seeking to
remember it is seeking and pause the session in onSessionStarted if
m_seeking and m_paused are true.

Update NetworkState properly. Return NetworkState::FormatError on
MF_E_TOPO_CODEC_NOT_FOUND, NetworkState::DecodeError on MEError
event.

MEError event with MF_E_NOT_INITIALIZED status was dispatch if
SetVideoPosition is called while the session is not started. Deffer
calling SetVideoPosition to onSessionStarted.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
(WebCore::MediaPlayerPrivateMediaFoundation::play):
(WebCore::MediaPlayerPrivateMediaFoundation::seeking const):
(WebCore::MediaPlayerPrivateMediaFoundation::seek):
(WebCore::MediaPlayerPrivateMediaFoundation::currentTime const):
(WebCore::MediaPlayerPrivateMediaFoundation::buffered const):
(WebCore::MediaPlayerPrivateMediaFoundation::setSize):
(WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
(WebCore::MediaPlayerPrivateMediaFoundation::updateReadyState):
(WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):
(WebCore::MediaPlayerPrivateMediaFoundation::onSessionStarted):
(WebCore::MediaPlayerPrivateMediaFoundation::onSessionEnded):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::currentTime): Deleted.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

LayoutTests:

  • platform/wincairo/TestExpectations: Unskip media tests. Marked

failing tests.

1:02 PM Changeset in webkit [268414] by Chris Dumez
  • 22 edits in trunk

'parameters' argument to AudioWorkletProcessor.process() is not spec-compliant
https://bugs.webkit.org/show_bug.cgi?id=217637

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests that are now passing.

  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet-connections.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audioworklet.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-size.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-channel-count.https-expected.txt:

Source/WebCore:

'parameters' argument to AudioWorkletProcessor.process() is not spec-compliant:

Its type should not be a JS Map, as evidenced by how WPT tests use it. We now pass a generic JS Object,
as Blink is doing.

Also, as per the specification, if no automation is scheduled during the render quantum, the array may
have length 1 with the array element being the constant value of the AudioParam for the render quantum.

No new tests, rebaselined existing tests.

  • Modules/webaudio/AudioParam.cpp:

(WebCore::AudioParam::hasSampleAccurateValues):

  • Modules/webaudio/AudioParam.h:
  • Modules/webaudio/AudioParamTimeline.cpp:

(WebCore::AudioParamTimeline::hasValues const):

  • Modules/webaudio/AudioParamTimeline.h:

This is an optimization to avoid calculating sample accurate values if the first timeline event is
still in the future. At some point, we should consider improving the logic to do so when all events
are in the past, similarly to what Blink is doing.

  • Modules/webaudio/AudioWorkletNode.cpp:

(WebCore::AudioWorkletNode::initializeAudioParameters):
Do not initialize memory for the AudioFloatArrays of each AudioParam yet since we won't know until
process() is called if size will be 1 or renderQuantumSize and since the size can change dynamically.

(WebCore::AudioWorkletNode::process):
As per the specification, if there is no timeline event, we pass an array that has length 1 and whose
element is the constant value.

  • Modules/webaudio/AudioWorkletProcessor.cpp:

(WebCore::constructFrozenKeyValueObject):
(WebCore::AudioWorkletProcessor::process):
Instead of passing the parameters as a JS map, we now use a simple frozen object. We also make sure
the Float32Array we pass JS has length 1 if the input array constains a constant value. This behavior
is consistent with what Blink is doing.

  • Modules/webaudio/DelayDSPKernel.cpp:

(WebCore::DelayDSPKernel::DelayDSPKernel):

  • Modules/webaudio/RealtimeAnalyser.cpp:

(WebCore::RealtimeAnalyser::setFftSize):

  • platform/audio/AudioArray.h:

(WebCore::AudioArray::AudioArray):
(WebCore::AudioArray::resize):
(WebCore::AudioArray::at):
(WebCore::AudioArray::zero):
(WebCore::AudioArray::zeroRange):
(WebCore::AudioArray::copyToRange):
(WebCore::AudioArray::containsConstantValue const):

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::Biquad):

  • platform/audio/ReverbConvolverStage.cpp:

(WebCore::ReverbConvolverStage::ReverbConvolverStage):

  • platform/audio/ios/AudioFileReaderIOS.cpp:

(WebCore::AudioFileReader::createBus):

  • platform/audio/mac/AudioFileReaderMac.cpp:

(WebCore::AudioFileReader::createBus):
Rename AudioArray::allocate() to AudioArray::resize() for clarity since it can be called multiple times
after construction of the AudioArray. Make it a no-op if the new size is the same as the old one.
Also add a utility function to check if the array constains a constant value.

12:35 PM Changeset in webkit [268413] by Alan Coon
  • 4 edits in branches/safari-610.2-branch/Source/WebCore/dom

Cherry-pick f9437de2cd47. rdar://problem/69101091

Fix the build after cherry-picking r266909.

12:35 PM Changeset in webkit [268412] by Alan Coon
  • 8 edits
    2 adds in branches/safari-610.2-branch

Cherry-pick r266909. rdar://problem/69101091

Source/WebCore:
Text replacements at the beginning of a second line are replaced too early
https://bugs.webkit.org/show_bug.cgi?id=216327
<rdar://problem/68170353>

Reviewed by Darin Adler.

In the changes in r258871, using SimpleRanges instead of Range causing some side effects
when the replacements at the beginning of lines. The ranges that we are counting are backwards
and the return characters are being counted instead of being ignored. There is almost
certainly a better fix than this, but this patch restores the original logic that
was present when Range was being used, until a better fix can be worked out.

Test: editing/spelling/text-replacement-first-word-second-line.html

  • editing/Editor.cpp: (WebCore::Editor::markAndReplaceFor):
  • editing/TextCheckingHelper.cpp: (WebCore::TextCheckingParagraph::automaticReplacementStart const): (WebCore::TextCheckingParagraph::automaticReplacementLength const):
  • editing/TextCheckingHelper.h:

LayoutTests:
Overlapping text replacements at the beginning of a line are replaced too early
https://bugs.webkit.org/show_bug.cgi?id=216327

Reviewed by Darin Adler.

  • editing/spelling/text-replacement-first-word-second-line-expected.txt: Added.
  • editing/spelling/text-replacement-first-word-second-line.html: Added.

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

12:32 PM Changeset in webkit [268411] by Alan Coon
  • 2 edits in branches/safari-611.1.3-branch/Source/WebKit

Cherry-pick r268401. rdar://problem/70259990

Allow legacy custom scheme registration on non-main threads
https://bugs.webkit.org/show_bug.cgi?id=217656
<rdar://problem/70228036>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-13
Reviewed by Brady Eidson.

r267802 was quite necessary, but it exposed an internal client calling our API on a background thread,
which crashes now. Make it not crash. There is a race condition in their registration, but there already was.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm: (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):

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

12:27 PM Changeset in webkit [268410] by Alan Coon
  • 8 edits in branches/safari-611.1.3-branch/Source

Versioning.

WebKit-7611.1.3.2

12:22 PM Changeset in webkit [268409] by Alan Coon
  • 5 edits in branches/safari-610.2.11.1-branch/Source/WebCore

Cherry-pick r268308. rdar://problem/70259013

[Mac] AirPlay menu does not show up when AirPlay button is clicked
https://bugs.webkit.org/show_bug.cgi?id=217536
<rdar://problem/69973777>

Reviewed by Eric Carlson.

Source/WebCore:

PAL tries to soft-link the AVRoutePickerView from the AVFoundation framework, rather than the (correct)
AVKit framework. Remove AVRoutePickerView from AVFoundationSoftLink.h and use the already declared version
inside AVRoutePickerViewTargetPicker.mm.

  • platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm: (WebCore::AVRoutePickerViewTargetPicker::isAvailable):

Source/WebCore/PAL:

  • pal/cocoa/AVFoundationSoftLink.h:
  • pal/cocoa/AVFoundationSoftLink.mm:

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

12:21 PM Changeset in webkit [268408] by Alan Coon
  • 4 edits in branches/safari-610.2.11.1-branch

Cherry-pick r268206. rdar://problem/70258921

Presidential Executive Order pages not accessible with Safari.
https://bugs.webkit.org/show_bug.cgi?id=217415
<rdar://problem/69922416>

Reviewed by Chris Fleizach and Simon Fraser.

Follow up to the previous change for this bug per Simon Fraser's comment.
Check not only the visibility and opacity of the object in question but
also of its ancestors.
Expanded the test accessibility/aria-modal.html to include the case
where the visibility of the modal dialog is determined by the opacity of
its parent object.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::isNodeVisible const):

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

12:19 PM Changeset in webkit [268407] by Alan Coon
  • 8 edits in branches/safari-610.2.11.1-branch/Source

Versioning.

WebKit-7610.2.11.1.2

12:12 PM Changeset in webkit [268406] by Alan Coon
  • 4 edits in branches/safari-610.2.11.0-branch

Cherry-pick r268206. rdar://problem/70258965

Presidential Executive Order pages not accessible with Safari.
https://bugs.webkit.org/show_bug.cgi?id=217415
<rdar://problem/69922416>

Reviewed by Chris Fleizach and Simon Fraser.

Follow up to the previous change for this bug per Simon Fraser's comment.
Check not only the visibility and opacity of the object in question but
also of its ancestors.
Expanded the test accessibility/aria-modal.html to include the case
where the visibility of the modal dialog is determined by the opacity of
its parent object.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::isNodeVisible const):

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

12:11 PM Changeset in webkit [268405] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac ] inspector/audit/basic-async.htm is flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=217620

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:08 PM Changeset in webkit [268404] by Alan Coon
  • 8 edits in branches/safari-610.2.11.0-branch/Source

Versioning.

WebKit-7610.2.11.0.2

12:02 PM Changeset in webkit [268403] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac iOS ] fast/css-custom-paint/out-of-memory-while-adding-worklet-module.html is flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=217618

Unreviewed test Gardening.

11:43 AM Changeset in webkit [268402] by Lauro Moura
  • 3 edits in trunk/Tools

webkitpy: Log and report webdriver harness errors
https://bugs.webkit.org/show_bug.cgi?id=217659

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:

(WebDriverTestRunner.process_results): Report failed harness tests,
not just subtests.

  • Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:

(WebDriverTestRunnerW3C.run): Print to error log when a test run
fails, not just subtests.

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

Allow legacy custom scheme registration on non-main threads
https://bugs.webkit.org/show_bug.cgi?id=217656
<rdar://problem/70228036>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-10-13
Reviewed by Brady Eidson.

r267802 was quite necessary, but it exposed an internal client calling our API on a background thread,
which crashes now. Make it not crash. There is a race condition in their registration, but there already was.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
(+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):

10:16 AM Changeset in webkit [268400] by weinig@apple.com
  • 525 edits in trunk

[Testing] Rename test header commands to match names in WebPreferences*.yaml
https://bugs.webkit.org/show_bug.cgi?id=217654

Reviewed by Simon Fraser.

Tools:

Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in
WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled).

Also splits up TestFeatures into test runner specific features (e.g. runSingly) that
don't have a WebPreferences counterpart, and WebPreferences specific features. This
will allow future patches to support arbritrary WebPreferences more easily.

  • DumpRenderTree/TestOptions.cpp:
  • DumpRenderTree/TestOptions.h:
  • DumpRenderTree/mac/DumpRenderTree.mm:

(setWebPreferencesForTestOptions):

  • TestRunnerShared/TestFeatures.cpp:
  • TestRunnerShared/TestFeatures.h:
  • WebKitTestRunner/TestController.cpp:
  • WebKitTestRunner/TestOptions.cpp:
  • WebKitTestRunner/TestOptions.h:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:
  • WebKitTestRunner/gtk/TestControllerGtk.cpp:
  • WebKitTestRunner/mac/TestControllerMac.mm:
  • WebKitTestRunner/wpe/TestControllerWPE.cpp:

LayoutTests:

Update test header commands to match names in the WebPreferences*.yaml configuration files.

  • accessibility/attachment-element.html:
  • accessibility/content-changed-notification-causes-crash.html:
  • accessibility/contenteditable-table-check-causes-crash.html:
  • accessibility/duplicate-axrenderobject-crash.html:
  • accessibility/ios-simulator/attributed-string-for-range.html:
  • accessibility/ios-simulator/has-touch-event-listener-with-shadow.html:
  • accessibility/ios-simulator/media-with-aria-label.html:
  • accessibility/mac/attachment-element-replacement-character.html:
  • accessibility/mac/video-tag-hit-test.html:
  • accessibility/mac/video-volume-slider-accessibility.html:
  • accessibility/media-element.html:
  • accessibility/media-emits-object-replacement.html:
  • accessibility/media-with-aria-label.html:
  • animations/resume-after-page-cache.html:
  • compositing/accelerated-layers-after-back.html:
  • compositing/iframes/page-cache-layer-tree.html:
  • compositing/page-cache-back-crash.html:
  • compositing/show-composited-iframe-on-back-button.html:
  • compositing/video/poster-expected.html:
  • compositing/video/poster.html:
  • css3/color-filters/color-filter-animation.html:
  • css3/color-filters/color-filter-apple-invert-lightness.html:
  • css3/color-filters/color-filter-backgrounds-borders.html:
  • css3/color-filters/color-filter-box-shadow.html:
  • css3/color-filters/color-filter-brightness.html:
  • css3/color-filters/color-filter-caret-color.html:
  • css3/color-filters/color-filter-color-property-list-item.html:
  • css3/color-filters/color-filter-color-property.html:
  • css3/color-filters/color-filter-color-text-decorations.html:
  • css3/color-filters/color-filter-column-rule.html:
  • css3/color-filters/color-filter-composition-underline-color-expected.html:
  • css3/color-filters/color-filter-composition-underline-color.html:
  • css3/color-filters/color-filter-contrast.html:
  • css3/color-filters/color-filter-current-color.html:
  • css3/color-filters/color-filter-filter-list.html:
  • css3/color-filters/color-filter-gradients.html:
  • css3/color-filters/color-filter-grayscale.html:
  • css3/color-filters/color-filter-hue-rotate.html:
  • css3/color-filters/color-filter-ignore-semantic-expected.html:
  • css3/color-filters/color-filter-ignore-semantic.html:
  • css3/color-filters/color-filter-inherits.html:
  • css3/color-filters/color-filter-invert.html:
  • css3/color-filters/color-filter-opacity.html:
  • css3/color-filters/color-filter-outline.html:
  • css3/color-filters/color-filter-parsing.html:
  • css3/color-filters/color-filter-saturate.html:
  • css3/color-filters/color-filter-sepia.html:
  • css3/color-filters/color-filter-text-decoration-shadow.html:
  • css3/color-filters/color-filter-text-emphasis.html:
  • css3/color-filters/color-filter-text-shadow.html:
  • css3/color-filters/color-filter-text-stroke.html:
  • css3/color-filters/svg/color-filter-inline-svg.html:
  • editing/async-clipboard/clipboard-change-data-while-reading.html:
  • editing/async-clipboard/clipboard-change-data-while-writing.html:
  • editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html:
  • editing/async-clipboard/clipboard-read-text-from-platform.html:
  • editing/async-clipboard/clipboard-read-text-same-origin.html:
  • editing/async-clipboard/clipboard-read-while-pasting.html:
  • editing/async-clipboard/sanitize-when-reading-markup.html:
  • editing/execCommand/set-backColor-with-color-filter-from-scripts.html:
  • editing/execCommand/set-foreColor-with-color-filter-from-scripts.html:
  • editing/mac/attributed-string/attrib-string-colors-with-color-filter.html:
  • editing/mac/attributed-string/attrib-string-range-with-color-filter.html:
  • editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html:
  • editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html:
  • editing/mac/input/unconfirmed-text-navigation-with-page-cache.html:
  • editing/pasteboard/copy-paste-attachment.html:
  • editing/pasteboard/dom-paste/dom-paste-confirmation.html:
  • editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html:
  • editing/pasteboard/dom-paste/dom-paste-rejection.html:
  • editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html:
  • editing/pasteboard/dom-paste/dom-paste-same-origin.html:
  • editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html:
  • editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html:
  • editing/pasteboard/drag-files-to-editable-element-as-URLs.html:
  • editing/pasteboard/drag-files-to-editable-element-as-attachment.html:
  • editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html:
  • editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html:
  • editing/pasteboard/paste-dark-mode-color-filtered.html:
  • editing/selection/selection-change-in-disconnected-frame-crash.html:
  • editing/style/inverse-color-filter.html:
  • editing/style/set-backColor-with-color-filter.html:
  • editing/style/set-foreColor-with-color-filter.html:
  • fast/attachment/attachment-action-expected.html:
  • fast/attachment/attachment-action.html:
  • fast/attachment/attachment-border-should-stay-inside-attachment.html:
  • fast/attachment/attachment-borderless-expected-mismatch.html:
  • fast/attachment/attachment-borderless.html:
  • fast/attachment/attachment-default-icon-expected.html:
  • fast/attachment/attachment-default-icon.html:
  • fast/attachment/attachment-dom.html:
  • fast/attachment/attachment-dynamic-type.html:
  • fast/attachment/attachment-folder-icon-expected.html:
  • fast/attachment/attachment-folder-icon.html:
  • fast/attachment/attachment-icon-from-file-extension-expected.html:
  • fast/attachment/attachment-icon-from-file-extension.html:
  • fast/attachment/attachment-label-highlight.html:
  • fast/attachment/attachment-progress.html:
  • fast/attachment/attachment-rendering.html:
  • fast/attachment/attachment-respects-css-size.html:
  • fast/attachment/attachment-select-on-click-inside-user-select-all.html:
  • fast/attachment/attachment-select-on-click.html:
  • fast/attachment/attachment-subtitle-resize.html:
  • fast/attachment/attachment-subtitle.html:
  • fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html:
  • fast/attachment/attachment-title-with-rtl-expected.html:
  • fast/attachment/attachment-title-with-rtl.html:
  • fast/attachment/attachment-title.html:
  • fast/attachment/attachment-type-attribute-expected.html:
  • fast/attachment/attachment-type-attribute.html:
  • fast/attachment/attachment-uti-expected.html:
  • fast/attachment/attachment-uti.html:
  • fast/attachment/attachment-wrapping-action-expected-mismatch.html:
  • fast/attachment/attachment-wrapping-action.html:
  • fast/block/float/float-not-removed-from-first-letter.html:
  • fast/block/float/split-inline-sibling-of-float-crash.html:
  • fast/canvas/2d.currentPoint.html:
  • fast/canvas/2d.getPath.modification.html:
  • fast/canvas/2d.getPath.newobject.html:
  • fast/canvas/2d.setPath.html:
  • fast/canvas/webgl/canvas-webgl-page-cache.html:
  • fast/css/fontloader-page-cache.html:
  • fast/css/has-attachment.html:
  • fast/css/pseudo-required-optional-unapplied.html:
  • fast/dom/DeviceMotion/no-page-cache.html:
  • fast/dom/DeviceOrientation/event-after-navigation.html:
  • fast/dom/DeviceOrientation/no-page-cache.html:
  • fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html:
  • fast/dom/HTMLKeygenElement/keygen-keytype.html:
  • fast/dom/HTMLKeygenElement/keygen.html:
  • fast/dom/Window/timer-resume-on-navigation-back.html:
  • fast/dom/adopt-node-crash-2.html:
  • fast/dom/attribute-set-before-element-in-tree.html:
  • fast/dom/domstring-attribute-reflection.html:
  • fast/dom/set-custom-validity-with-too-few-arguments.html:
  • fast/dom/tabindex-defaults.html:
  • fast/dom/wrapper-classes.html:
  • fast/dynamic/insertAdjacentHTML-allowed-parents.html:
  • fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html:
  • fast/events/ios/pdf-modifer-key-down-crash.html:
  • fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html:
  • fast/events/onunload-back-to-page-cache.html:
  • fast/events/pagehide-timeout.html:
  • fast/events/pagehide-xhr-open.html:
  • fast/events/pageshow-pagehide-on-back-cached-with-frames.html:
  • fast/events/pageshow-pagehide-on-back-cached.html:
  • fast/events/suspend-timers.html:
  • fast/files/file-reader-back-forward-cache.html:
  • fast/flexbox/crash-button-keygen.html:
  • fast/forms/ValidityState-001.html:
  • fast/forms/autocomplete-off-with-default-value-does-not-clear.html:
  • fast/forms/autofocus-keygen.html:
  • fast/forms/checkValidity-001.html:
  • fast/forms/fieldset/fieldset-elements-htmlcollection.html:
  • fast/forms/fieldset/fieldset-elements.html:
  • fast/forms/form-associated-element-crash3.html:
  • fast/forms/form-attribute.html:
  • fast/forms/form-collection-elements-order.html:
  • fast/forms/form-collection-elements.html:
  • fast/forms/form-collection-radio-node-list.html:
  • fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html:
  • fast/forms/label/labelable-elements.html:
  • fast/forms/label/labels-add-htmlFor-label.html:
  • fast/forms/label/labels-add-parent-label.html:
  • fast/forms/label/labels-change-htmlFor-attribute.html:
  • fast/forms/label/labels-multiple-sibling-labels.html:
  • fast/forms/label/labels-parent-and-sibling-labels.html:
  • fast/forms/label/labels-remove-htmlFor-attribute.html:
  • fast/forms/label/labels-remove-htmlFor-label.html:
  • fast/forms/label/labels-remove-parent-label.html:
  • fast/forms/large-parts.html:
  • fast/forms/scrollheight-with-mutation-crash.html:
  • fast/forms/setCustomValidity-arguments.html:
  • fast/forms/setCustomValidity-existence.html:
  • fast/forms/setCustomValidity-null-parameter.html:
  • fast/forms/state-restore-skip-stateless.html:
  • fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html:
  • fast/forms/validationMessage.html:
  • fast/forms/willvalidate.html:
  • fast/frames/frame-crash-with-page-cache.html:
  • fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html:
  • fast/frames/page-hide-document-open.html:
  • fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html:
  • fast/frames/restoring-page-cache-should-not-run-scripts.html:
  • fast/harness/page-cache-crash-on-data-urls.html:
  • fast/harness/use-page-cache.html:
  • fast/hidpi/video-controls-in-hidpi.html:
  • fast/history/back-forward-cache-visibility-state.html:
  • fast/history/back-from-page-with-focused-iframe.html:
  • fast/history/go-back-to-iframe-with-plugin.html:
  • fast/history/go-back-to-object-subframe.html:
  • fast/history/history-back-while-pdf-in-pagecache.html:
  • fast/history/multiple-back-forward-navigations.html:
  • fast/history/page-cache-MessagePort-pending-message.html:
  • fast/history/page-cache-active-fetch-request-blobReadAsBlob.html:
  • fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html:
  • fast/history/page-cache-active-fetch-request-blobReadAsText.html:
  • fast/history/page-cache-active-fetch-response-blobReadAsBlob.html:
  • fast/history/page-cache-after-window-open.html:
  • fast/history/page-cache-back-navigation-crash.html:
  • fast/history/page-cache-clearing.html:
  • fast/history/page-cache-closed-audiocontext.html:
  • fast/history/page-cache-createImageBitmap.html:
  • fast/history/page-cache-createObjectURL-using-open-panel.html:
  • fast/history/page-cache-createObjectURL.html:
  • fast/history/page-cache-destroy-document.html:
  • fast/history/page-cache-element-state-focused.html:
  • fast/history/page-cache-execute-script-during-restore.html:
  • fast/history/page-cache-geolocation-active-oneshot.html:
  • fast/history/page-cache-geolocation-active-watcher.html:
  • fast/history/page-cache-geolocation.html:
  • fast/history/page-cache-gpu-canvas-context.html:
  • fast/history/page-cache-iframe-js-url.html:
  • fast/history/page-cache-indexed-closed-db.html:
  • fast/history/page-cache-indexed-opened-db.html:
  • fast/history/page-cache-media-recorder.html:
  • fast/history/page-cache-media-source-closed-2.html:
  • fast/history/page-cache-media-source-closed.html:
  • fast/history/page-cache-media-source-opened.html:
  • fast/history/page-cache-navigate-during-restore.html:
  • fast/history/page-cache-notification-showing.html:
  • fast/history/page-cache-notification-suspendable.html:
  • fast/history/page-cache-removed-source-buffer.html:
  • fast/history/page-cache-running-audiocontext.html:
  • fast/history/page-cache-subframes-with-provisional-load.html:
  • fast/history/page-cache-suspended-audiocontext.html:
  • fast/history/page-cache-webdatabase-no-transaction-db.html:
  • fast/history/page-cache-webdatabase-pending-transaction.html:
  • fast/history/page-cache-with-opener.html:
  • fast/history/pagehide-remove-iframe-crash.html:
  • fast/history/resources/page-cache-window-with-iframe.html:
  • fast/history/resources/page-cache-window-with-opener.html:
  • fast/history/timed-refresh-in-cached-frame.html:
  • fast/html/clone-keygen.html:
  • fast/html/keygen.html:
  • fast/html/marquee-reparent-check.html:
  • fast/html/menuitem-element.html:
  • fast/images/animated-gif-restored-from-bfcache.html:
  • fast/invalid/residual-style-expected.html:
  • fast/invalid/residual-style.html:
  • fast/layers/video-layer.html:
  • fast/loader/data-url-load-denied.html:
  • fast/loader/frames-with-unload-handlers-in-page-cache.html:
  • fast/loader/image-in-page-cache.html:
  • fast/loader/input-element-page-cache-crash.html:
  • fast/loader/navigate-with-new-target-after-back-forward-navigation.html:
  • fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html:
  • fast/loader/scroll-position-restored-on-back.html:
  • fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html:
  • fast/loader/stateobjects/popstate-fires-with-page-cache.html:
  • fast/loader/unschedule-relayout-after-unload.html:
  • fast/loader/window-properties-restored-from-page-cache.html:
  • fast/mediastream/MediaStream-video-element-video-tracks-disabled.html:
  • fast/mediastream/RTCPeerConnection-page-cache.html:
  • fast/mediastream/captureInGPUProcess.html:
  • fast/mediastream/media-stream-track-interrupted.html:
  • fast/multicol/span/positioned-child-not-removed-crash.html:
  • fast/overflow/horizontal-scroll-after-back.html:
  • fast/ruby/float-object-doesnt-crash.html:
  • fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html:
  • fast/scrolling/iframe-scrollable-after-back.html:
  • fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html:
  • fast/scrolling/ios/scroll-events-back-forward.html:
  • fast/scrolling/ios/touch-scroll-back-forward.html:
  • fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html:
  • fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html:
  • fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html:
  • fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html:
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html:
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html:
  • fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html:
  • fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html:
  • fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html:
  • fast/scrolling/overflow-scrollable-after-back.html:
  • fast/scrolling/page-cache-back-overflow-scroll-restore.html:
  • fast/scrolling/rtl-scrollbars-animation-property.html:
  • fast/shadow-dom/keygen-shadow-manipulation.html:
  • fast/table/crash-splitColumn-2.html:
  • fast/table/multiple-captions-crash3-expected.html:
  • fast/table/multiple-captions-crash3.html:
  • fast/text-autosizing/ios/text-autosizing-after-back.html:
  • fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html:
  • fast/viewport/ios/minimum-scale-after-changing-view-scale.html:
  • fast/viewport/ios/resources/go-back.html:
  • fast/viewport/ios/shrink-to-fit-content-constant-width.html:
  • fast/viewport/ios/shrink-to-fit-content-large-constant-width.html:
  • fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html:
  • fast/viewport/ios/shrink-to-fit-content-no-viewport.html:
  • fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html:
  • fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html:
  • fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html:
  • fast/viewport/ios/shrink-to-fit-large-content-width.html:
  • fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html:
  • fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html:
  • fast/viewport/viewport-128.html:
  • fast/workers/worker-page-cache.html:
  • fullscreen/video-controls-drag.html:
  • fullscreen/video-controls-override.html:
  • fullscreen/video-controls-rtl.html:
  • fullscreen/video-controls-timeline.html:
  • http/tests/cache-storage/page-cache-domcache-pending-promise.html:
  • http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html:
  • http/tests/cache/display-image-unset-allows-cached-image-load.html:
  • http/tests/eventsource/eventsource-page-cache-connected.html:
  • http/tests/eventsource/eventsource-page-cache-connecting.html:
  • http/tests/loading/main-resource-delegates-on-back-navigation.html:
  • http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html:
  • http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html:
  • http/tests/media/hls/video-controls-live-stream.html:
  • http/tests/media/hls/video-duration-accessibility.html:
  • http/tests/media/reload-after-dialog.html:
  • http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html:
  • http/tests/misc/resources/check-keygen-post.php:
  • http/tests/misc/submit-post-keygen.html:
  • http/tests/navigation/go-back-to-error-page.html:
  • http/tests/navigation/https-in-page-cache.html:
  • http/tests/navigation/https-no-store-subframe-in-page-cache.html:
  • http/tests/navigation/image-load-in-pagehide-handler.html:
  • http/tests/navigation/page-cache-failed-xhr.html:
  • http/tests/navigation/page-cache-fontfaceset.html:
  • http/tests/navigation/page-cache-fragment-referrer.html:
  • http/tests/navigation/page-cache-getUserMedia-pending-promise.html:
  • http/tests/navigation/page-cache-iframe-no-current-historyItem.html:
  • http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html:
  • http/tests/navigation/page-cache-iframe-provisional-load.html:
  • http/tests/navigation/page-cache-mediakeysession.html:
  • http/tests/navigation/page-cache-mediastream.html:
  • http/tests/navigation/page-cache-pending-image-load-cache-partition.html:
  • http/tests/navigation/page-cache-pending-image-load.html:
  • http/tests/navigation/page-cache-pending-load.html:
  • http/tests/navigation/page-cache-pending-ping-load-cross-origin.html:
  • http/tests/navigation/page-cache-pending-ping-load-same-origin.html:
  • http/tests/navigation/page-cache-requestAnimationFrame.html:
  • http/tests/navigation/page-cache-video.html:
  • http/tests/navigation/page-cache-xhr-in-loading-iframe.html:
  • http/tests/navigation/page-cache-xhr-in-pagehide.html:
  • http/tests/navigation/page-cache-xhr.html:
  • http/tests/navigation/resources/https-in-page-cache-3.html:
  • http/tests/navigation/subframe-pagehide-handler-starts-load.html:
  • http/tests/navigation/subframe-pagehide-handler-starts-load2.html:
  • http/tests/paymentrequest/page-cache-closed-payment-request.https.html:
  • http/tests/paymentrequest/page-cache-completed-payment-response.https.html:
  • http/tests/paymentrequest/page-cache-created-payment-request.https.html:
  • http/tests/paymentrequest/page-cache-created-payment-response.https.html:
  • http/tests/paymentrequest/page-cache-interactive-payment-request.https.html:
  • http/tests/paymentrequest/page-cache-retried-payment-response.https.html:
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html:
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html:
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html:
  • http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html:
  • http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html:
  • http/tests/security/cross-origin-window-open-insert-script.html:
  • http/tests/security/cross-origin-window-open-javascript-url.html:
  • http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html:
  • http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html:
  • http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html:
  • http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html:
  • http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html:
  • http/tests/security/navigate-when-restoring-cached-page.html:
  • http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html:
  • http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html:
  • http/tests/ssl/applepay/page-cache-active-apple-pay-session.html:
  • http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html:
  • http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html:
  • http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html:
  • http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html:
  • http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html:
  • http/tests/workers/service/page-cache-service-worker-pending-promise.https.html:
  • http/tests/workers/service/page-caching.html:
  • http/wpt/beacon/support/sendBeacon-onpagehide-window.html:
  • http/wpt/fetch/resources/fetch-in-pagehide-window.html:
  • http/wpt/notifications/constructor-basic-bfcache.html:
  • http/wpt/service-workers/mac/throttleable.https.html:
  • http/wpt/service-workers/service-worker-spinning-activate.https.html:
  • http/wpt/service-workers/service-worker-spinning-fetch.https.html:
  • http/wpt/service-workers/service-worker-spinning-install.https.html:
  • http/wpt/service-workers/service-worker-spinning-message.https.html:
  • imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html:
  • imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html:
  • imported/blink/fast/text/international-iteration-simple-text.html:
  • inspector/css/pseudo-element-matches.html:
  • intersection-observer/intersection-observer-entry-interface.html:
  • intersection-observer/intersection-observer-interface.html:
  • intersection-observer/root-element-deleted.html:
  • intersection-observer/root-element-moved.html:
  • intersection-observer/target-deleted.html:
  • js/dom/regress-157246.html:
  • loader/go-back-cached-main-resource.html:
  • loader/go-back-to-different-window-size.html:
  • media/accessibility-closed-captions-has-aria-owns.html:
  • media/adopt-node-crash.html:
  • media/airplay-allows-buffering.html:
  • media/airplay-autoplay.html:
  • media/audio-as-video-fullscreen.html:
  • media/audio-controls-do-not-fade-out.html:
  • media/audio-controls-rendering.html:
  • media/audio-controls-timeline-in-media-document.html:
  • media/audio-delete-while-slider-thumb-clicked.html:
  • media/audio-repaint.html:
  • media/click-placeholder-not-pausing.html:
  • media/click-volume-bar-not-pausing.html:
  • media/controls-after-reload.html:
  • media/controls-drag-timebar.html:
  • media/controls-right-click-on-timebar.html:
  • media/controls-strict.html:
  • media/controls-styling.html:
  • media/controls-without-preload.html:
  • media/controls/airplay-controls.html:
  • media/controls/airplay-picker.html:
  • media/controls/basic.html:
  • media/controls/elementOrder.html:
  • media/controls/forced-tracks-only.html:
  • media/controls/fullscreen-button-inline-layout.html:
  • media/controls/inline-elements-dropoff-order.html:
  • media/controls/picture-in-picture.html:
  • media/controls/pip-placeholder-without-video-controls.html:
  • media/controls/showControlsButton.html:
  • media/controls/statusDisplay.html:
  • media/controls/statusDisplayBad.html:
  • media/controls/track-menu.html:
  • media/crash-closing-page-with-media-as-plugin-fallback.html:
  • media/mac/controls-panel-not-clipped-out-expected.html:
  • media/mac/controls-panel-not-clipped-out.html:
  • media/media-captions-no-controls.html:
  • media/media-controller-drag-crash.html:
  • media/media-controls-accessibility.html:
  • media/media-controls-cancel-events.html:
  • media/media-controls-clone.html:
  • media/media-controls-drag-timeline-set-controls-property.html:
  • media/media-controls-timeline-updates-after-playing.html:
  • media/media-controls-timeline-updates-when-hovered.html:
  • media/media-controls-timeline-updates.html:
  • media/media-document-audio-controls-visible.html:
  • media/media-document-audio-repaint.html:
  • media/media-fullscreen-loop-inline.html:
  • media/media-fullscreen-pause-inline.html:
  • media/media-fullscreen-return-to-inline.html:
  • media/media-source/media-source-page-cache.html:
  • media/nodesFromRect-shadowContent.html:
  • media/progress-events-generated-correctly.html:
  • media/require-user-gesture-to-load-video.html:
  • media/restore-from-page-cache.html:
  • media/tab-focus-inside-media-elements.html:
  • media/track/track-cue-rendering-horizontal.html:
  • media/track/track-cue-rendering-snap-to-lines-not-set.html:
  • media/track/track-cue-rendering-vertical.html:
  • media/track/track-cues-cuechange.html:
  • media/track/track-cues-enter-exit.html:
  • media/track/track-in-band-duplicate-tracks-when-source-changes.html:
  • media/track/track-manual-mode.html:
  • media/video-click-dblckick-standalone.html:
  • media/video-controls-audiotracks-trackmenu.html:
  • media/video-controls-captions-trackmenu-localized.html:
  • media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html:
  • media/video-controls-captions-trackmenu-sorted.html:
  • media/video-controls-captions-trackmenu.html:
  • media/video-controls-drop-and-restore-timeline.html:
  • media/video-controls-in-media-document.html:
  • media/video-controls-no-display-with-text-track.html:
  • media/video-controls-rendering.html:
  • media/video-controls-show-on-kb-or-ax-event.html:
  • media/video-controls-toggling.html:
  • media/video-controls-transformed.html:
  • media/video-controls-visible-audio-only.html:
  • media/video-controls-visible-exiting-fullscreen.html:
  • media/video-controls-zoomed.html:
  • media/video-display-toggle.html:
  • media/video-empty-source.html:
  • media/video-fullscreen-only-controls.html:
  • media/video-fullscreen-only-playback.html:
  • media/video-initially-hidden-volume-slider-up.html:
  • media/video-no-audio.html:
  • media/video-play-audio-require-user-gesture.html:
  • media/video-play-require-user-gesture.html:
  • media/video-trackmenu-selection.html:
  • media/video-volume-slider-drag.html:
  • media/video-volume-slider.html:
  • media/video-zoom-controls.html:
  • media/volume-bar-empty-when-muted.html:
  • platform/ios/ios/fixed/fixed-back-forward.html:
  • platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html:
  • platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html:
  • platform/ios/mediastream/audio-muted-in-background-tab.html:
  • platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html:
  • platform/ios/mediastream/getUserMedia-single-capture.html:
  • platform/ipad/fast/viewport/meta-viewport-ignored.html:
  • platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html:
  • plugins/crash-restoring-plugin-page-from-page-cache.html:
  • plugins/frameset-with-plugin-frame.html:
  • plugins/netscape-plugin-page-cache-works.html:
  • requestidlecallback/requestidlecallback-in-page-cache.html:
  • storage/indexeddb/IDBRequest-page-cache.html:
  • storage/indexeddb/IDBTransaction-page-cache.html:
  • svg/dom/css-animate-input-foucs-crash.html:
  • swipe/basic-cached-back-swipe.html:
  • swipe/main-frame-pinning-requirement.html:
  • swipe/pushState-cached-back-swipe.html:
  • swipe/pushState-programmatic-back-while-swiping-crash.html:
  • swipe/pushstate-with-manual-scrollrestoration.html:
  • tiled-drawing/scrolling/null-parent-back-crash.html:
  • tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
  • webanimations/animation-page-cache.html:
  • webrtc/datachannel/datachannel-page-cache-send.html:
  • webrtc/datachannel/datachannel-page-cache.html:
  • webrtc/peerconnection-new-candidate-page-cache.html:
  • webrtc/peerconnection-page-cache-long.html:
  • webrtc/peerconnection-page-cache.html:
  • webrtc/video-rotation-no-cvo.html:
10:13 AM WebKitGTK/2.30.x edited by Michael Catanzaro
(diff)
10:10 AM Changeset in webkit [268399] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Introduce InlineLevelBox::LineBreakBox and GenericInlineLevelBox
https://bugs.webkit.org/show_bug.cgi?id=217646

Reviewed by Antti Koivisto.

This is in preparation for adding support for https://www.w3.org/TR/css-inline-3/#layout-bounds.

  • layout/inlineformatting/InlineFormattingContextGeometry.cpp:

(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes): Cleaning up a bit and moving adjustVerticalGeometryForNonEmptyInlineBox
to a dedicated function. constructInlineLevelBoxes was getting a bit too busy.

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::InlineLevelBox::InlineLevelBox):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::InlineLevelBox::createRootInlineBox):
(WebCore::Layout::LineBox::InlineLevelBox::createAtomicInlineLevelBox):
(WebCore::Layout::LineBox::InlineLevelBox::createInlineBox):
(WebCore::Layout::LineBox::InlineLevelBox::createLineBreakBox):
(WebCore::Layout::LineBox::InlineLevelBox::createGenericInlineLevelBox):

10:06 AM Changeset in webkit [268398] by youenn@apple.com
  • 7 edits in trunk/Source/WebCore

Webcam video from navigator.mediaDevices.getUserMedia() to 2D canvas fails on Safari on iPhone
https://bugs.webkit.org/show_bug.cgi?id=217578
<rdar://problem/70183875>

Reviewed by Eric Carlson.

It is unneeded for MediaStream video backends to enqueue samples to the display layer if the video element is hidden.
In iOS, the samples may never be flushed which might cause capture failing after enqueuing too many camera samples.
To avoid that, we no longer enqueue samples to the display layer when the player is not visible.
In case of canvas painting, other backends need to be made visible for canvas painting to work.
For MediaStream backend, we do not need that since we always keep the last sample.
For that reason, we keep the backend as not visible even if canvas happens.
We do so by introducing a setVisibleForCanvas that is a no-op for MediaStream backend and similar to setVisible for other backends.
For good measure, we now flush the MediaStream display layer whenever visibility changed.

Manually tested.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::paintCurrentFrameInContext):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setVisibleForCanvas):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setVisibleForCanvas):

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVisible):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVisibleForCanvas):

9:56 AM Changeset in webkit [268397] by Peng Liu
  • 2 edits in trunk/Tools

Clean up the API tests of CARingBuffer
https://bugs.webkit.org/show_bug.cgi?id=217633

Reviewed by Simon Fraser.

Remove unused private functions and enable the tests for iOS.

  • TestWebKitAPI/Tests/WebCore/CARingBuffer.cpp:

(TestWebKitAPI::CARingBufferTest::audioBufferListSizeForStream): Deleted.
(TestWebKitAPI::CARingBufferTest::configureBufferListForStream): Deleted.

9:13 AM Changeset in webkit [268396] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Improve computation of default audio input and output devices
https://bugs.webkit.org/show_bug.cgi?id=217652
<rdar://problem/69857857>

Reviewed by Eric Carlson.

Add support for computation of the default audio output device.
Fix a bug in the computation of the default device on the first call to refreshAudioCaptureDevices.
Refactor the code as follows to make it easier to read:

  • for each case we want to refresh devices, compute a Vector of audio devices, first microphones, then speakers.
  • make sure to put in that list the default microphone first in the list and the default speaker just after the last microphone in the list.
  • check whether the list is equal to the current list of audio devices. If it is equal, abort.
  • update microphone and speaker lists and send notification of device change.

Minor refactoring to make CoreAudioCaptureDevice isAlive a private method.

Manually tested.

  • platform/mediastream/mac/CoreAudioCaptureDevice.cpp:

(WebCore::CoreAudioCaptureDevice::CoreAudioCaptureDevice):

  • platform/mediastream/mac/CoreAudioCaptureDevice.h:
  • platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:

(WebCore::getDefaultCaptureOutputDevice):
(WebCore::CoreAudioCaptureDeviceManager::coreAudioCaptureDevices):
(WebCore::CoreAudioCaptureDeviceManager::refreshAudioCaptureDevices):

9:10 AM Changeset in webkit [268395] by Lauro Moura
  • 2 edits in trunk/Tools

REGRESSION(r268267) [webkitpy] Add missing deps for pytest when running webdriver tests
https://bugs.webkit.org/show_bug.cgi?id=217650

Reviewed by Jonathan Bedard.

scandir (needed as os.scandir was added only in py 3.5)

Also fixed more_itertools autoinstall declaration so the package
name, with underscore, is the name of the webkitcorepy package and the
dash is used for the pypi package name.

With these changes the script does not error anymore, although there
seems to be some issues with the executor when running tests. They
happen to only start and stop the webserver but not actually being
run. To be investigated in a separate bug.

  • Scripts/webkitpy/init.py:
8:39 AM Changeset in webkit [268394] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[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):

7:38 AM Changeset in webkit [268393] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[LFC][IFC] Remove fully collapsed trailing run
https://bugs.webkit.org/show_bug.cgi?id=217653

Reviewed by Antti Koivisto.

Source/WebCore:

We don't attach fully collapsible runs to the line.
When Line::appendText sees an inline item that would generate such run
(e.g. <div>foobar <span> <span></div> - the inline text item inside the <span> would generate fully collapsed run)
it simply ignores it and will not generate a run for it.

In this patch when the trailing trimmable run is fully collapsed, we should not only collapse it,
but also remove it from the line.

Test: fast/layoutformattingcontext/replaced-and-trailing-trimmable-content.html

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::TrimmableTrailingContent::addFullyTrimmableContent):
(WebCore::Layout::Line::TrimmableTrailingContent::addPartiallyTrimmableContent):
(WebCore::Layout::Line::TrimmableTrailingContent::remove):

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::TrimmableTrailingContent::isEmpty const):
(WebCore::Layout::Line::TrimmableTrailingContent::reset):

LayoutTests:

  • fast/layoutformattingcontext/replaced-and-trailing-trimmable-content-expected.html: Added.
  • fast/layoutformattingcontext/replaced-and-trailing-trimmable-content.html: Added.
5:10 AM WebKitGTK/2.30.x edited by Philippe Normand
(diff)
5:08 AM Changeset in webkit [268392] by Philippe Normand
  • 5 edits in trunk

[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.
2:24 AM Changeset in webkit [268391] by Adrian Perez de Castro
  • 7 edits in trunk

[GTK] Add support for gamepad tests
https://bugs.webkit.org/show_bug.cgi?id=98937

Reviewed by Carlos Garcia Campos.

Change PLATFORM(MAC) guards to ENABLE(GAMEPAD) around the support code used for
testing gamepad support in WKTR, and update GTK port test expectations accordingly.

Tools:

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: Change guards to ENABLE(GAMEPAD).
  • WebKitTestRunner/TestController.cpp: Ditto.

(WTR::TestController::initialize):

  • WebKitTestRunner/TestInvocation.cpp: Ditto.

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • platform/glib/TestExpectations: Remove skipped gamepad tests.
  • platform/wpe/TestExpectations: Skip gamepad tests for the WPE port.
2:20 AM Changeset in webkit [268390] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

[GTK] Make gamepads visible after their first input is received
https://bugs.webkit.org/show_bug.cgi?id=217494

Reviewed by Carlos Garcia Campos.

Turns out this was mostly working already, with a small caveat: Sometimes there would
be a timing issue if m_inputNotificationTimer would be fired before having a chance
of setting the m_initialGamepadsConnected flag, and in that case the early return
would prevent dispatchPlatformGamepadInputActivity() from ever being called. This
re-arms the timer to be fired again in the next event loop iteration if the flag was
unset, so it will be checked again after it has been toggled. This same approach is
used by HIDGamepadProvider in the Mac port, for example.

  • platform/gamepad/manette/ManetteGamepadProvider.cpp:

(WebCore::ManetteGamepadProvider::inputNotificationTimerFired): Re-arm timer if
m_initialGamepadsConnected was not yet set.

2:15 AM Changeset in webkit [268389] by Adrian Perez de Castro
  • 2 edits in trunk

[GTK] Set ENABLE_GAMEPAD=ON for developer builds
https://bugs.webkit.org/show_bug.cgi?id=217493

Reviewed by Carlos Garcia Campos.

  • Source/cmake/OptionsGTK.cmake: Make the default value of ENABLE_GAMEPAD

depend on ENABLE_EXPERIMENTAL_FEATURES.

1:17 AM Changeset in webkit [268388] by commit-queue@webkit.org
  • 3 edits in trunk

[WPE][GTK] ENABLE_SHAREABLE_RESOURCE should be PRIVATE build option
https://bugs.webkit.org/show_bug.cgi?id=217592

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

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
12:44 AM Changeset in webkit [268387] by Diego Pino Garcia
  • 2 edits in trunk/Tools

Unreviewed GLIB gardening. Remove several tests that were only failing in EWS API-GTK.

  • TestWebKitAPI/glib/TestExpectations.json:
12:16 AM Changeset in webkit [268386] by commit-queue@webkit.org
  • 11 edits
    1 copy
    1 add in trunk/Source

Cocoa: Make WebGLLayer not dependent on GraphicsContextGLOpenGL
https://bugs.webkit.org/show_bug.cgi?id=217212
<rdar://problem/69876022>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-10-13
Reviewed by Dean Jackson.

Source/WebCore:

WebGLLayer was needlessly using GraphicsContextGLOpenGL.
This is problematic because WebGLLayer should work with
upcoming remote GraphicsContextGL implementation.

The prepare callgraph was:

GCGLOpenGL -> WebGLLayer -> GCGLOpenGL

Refactor it to be:

GCGLOpenGL -> WebGLLayer

Move the back buffer ownership to the GraphicsContextGLOpenGL.
Make the front buffer ownership explicit in WebGLLayer.
Move the EGL bindings ownerships of all buffers to
GraphicsContextGLOpenGL.

Make the WebGLLayer not use EGL or OpenGL, it does not
need and cannot use it as not all of its clients use OpenGL
(i.e. the above mentioned remote use-case).

Improves the memory usage by not allocating front buffers
unless needed. In case the canvas does not present, will
not allocate front buffers at all.

Improves error handling of the allocations and EGL bindings.

No new tests, a refactor.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
(WebCore::GraphicsContextGLOpenGL::prepareTexture):
(WebCore::GraphicsContextGLOpenGL::prepareTextureImpl):

  • platform/graphics/angle/GraphicsContextGLANGLEUtilities.h: Added.

(WebCore::ScopedRestoreTextureBinding::ScopedRestoreTextureBinding):
(WebCore::ScopedRestoreTextureBinding::~ScopedRestoreTextureBinding):

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::~GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::makeContextCurrent):
(WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking):
(WebCore::GraphicsContextGLOpenGL::bindDisplayBufferBacking):
(WebCore::GraphicsContextGLOpenGL::prepareForDisplay):
(WebCore::GraphicsContextGLOpenGL::didDisplay):

  • platform/graphics/cocoa/WebGLLayer.h:
  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer initWithClient:devicePixelRatio:]):
(-[WebGLLayer copyImageSnapshotWithColorSpace:]):
(-[WebGLLayer recycleBuffer]):
(-[WebGLLayer prepareForDisplayWithContents:]):
(-[WebGLLayer display]):
(-[WebGLLayer detachClient]):

  • platform/graphics/cocoa/WebGLLayerClient.h: Copied from Source/WebCore/platform/graphics/cocoa/WebGLLayer.h.

(WebCore::WebGLLayerClient::~WebGLLayerClient):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:

(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):

Source/WebKit:

Removed unneeded inclusions of GraphicsContextGLOpenGL.h. The
file is now using non-public headers.

  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/mac/WebPageMac.mm:
Note: See TracTimeline for information about the timeline view.