Timeline



Dec 1, 2020:

8:56 PM Changeset in webkit [270343] by Lauro Moura
  • 4 edits
    10 copies
    3 moves
    2 deletes in trunk/LayoutTests

[GLIB] Add some WPE-specific baselines

Unreviewed test gardening.

These tests started failing by small amounts after some layout commits

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css/named-images-expected.txt: Copied from LayoutTests/platform/glib/fast/css/named-images-expected.txt.
  • platform/gtk/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Copied from LayoutTests/platform/glib/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt.
  • platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt: Copied from LayoutTests/platform/glib/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt.
  • platform/gtk/svg/transforms/svg-css-transforms-clip-path-expected.txt: Copied from LayoutTests/platform/glib/svg/transforms/svg-css-transforms-clip-path-expected.txt.
  • platform/gtk/svg/transforms/svg-css-transforms-expected.txt: Copied from LayoutTests/platform/glib/svg/transforms/svg-css-transforms-expected.txt.
  • platform/gtk/transforms/3d/general/perspective-units-expected.txt: Copied from LayoutTests/platform/glib/transforms/3d/general/perspective-units-expected.txt.
  • platform/wpe/TestExpectations:
  • platform/wpe/fast/css/named-images-expected.txt: Renamed from LayoutTests/platform/glib/fast/css/named-images-expected.txt.
  • platform/wpe/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Renamed from LayoutTests/platform/glib/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt.
  • platform/wpe/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt: Renamed from LayoutTests/platform/glib/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt.
  • platform/wpe/svg/transforms/svg-css-transforms-clip-path-expected.txt: Renamed from LayoutTests/platform/glib/svg/transforms/svg-css-transforms-clip-path-expected.txt.
  • platform/wpe/svg/transforms/svg-css-transforms-expected.txt: Copied from LayoutTests/platform/glib/svg/transforms/svg-css-transforms-expected.txt.
  • platform/wpe/transforms/3d/general/perspective-units-expected.txt: Renamed from LayoutTests/platform/glib/transforms/3d/general/perspective-units-expected.txt.
  • platform/wpe/transforms/svg-vs-css-expected.txt: Renamed from LayoutTests/platform/glib/svg/transforms/svg-css-transforms-expected.txt.
8:23 PM Changeset in webkit [270342] by timothy_horton@apple.com
  • 14 edits
    2 copies in trunk/Source

GPU Process: IOSurfaces should not be mapped into the Web Content Process
https://bugs.webkit.org/show_bug.cgi?id=219368

Reviewed by Said Abou-Hallawa.

Source/WebCore:

  • platform/graphics/ConcreteImageBuffer.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ImageBufferBackend.h:
  • platform/graphics/cg/ImageBufferIOSurfaceBackend.h:

Make it possible to determine if an image buffer's backend is capable of mapping the backing store in-process or not.

Source/WebKit:

Since the Web Content process sandbox will eventually not have access to IOKit,
it will not be able to map/lock/use IOSurfaces. Thankfully, all it really needs
to be able to do is carry a reference to the surface from the GPU process to the
UI process (where it is mapped and applied as layer contents).

  • GPUProcess/graphics/PlatformRemoteImageBuffer.h:
  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::encode const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):

  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/PlatformImageBufferShareableBackend.h:
  • WebProcess/GPU/graphics/PlatformRemoteImageBufferProxy.h:

(isType):

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::reestablishGPUProcessConnection):
(WebKit::RemoteRenderingBackendProxy::createImageBuffer):
(WebKit::RemoteRenderingBackendProxy::imageBufferBackendWasCreated):
(WebKit::RemoteRenderingBackendProxy::didFlush):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:

(WebKit::ImageBufferShareableIOSurfaceBackend::create):
(WebKit::ImageBufferShareableIOSurfaceBackend::createImageBufferBackendHandle const):
(WebKit::ImageBufferShareableIOSurfaceBackend::context const):
(WebKit::ImageBufferShareableIOSurfaceBackend::copyNativeImage const):
(WebKit::ImageBufferShareableIOSurfaceBackend::copyImage const):
(WebKit::ImageBufferShareableIOSurfaceBackend::draw):
(WebKit::ImageBufferShareableIOSurfaceBackend::drawPattern):
(WebKit::ImageBufferShareableIOSurfaceBackend::toDataURL const):
(WebKit::ImageBufferShareableIOSurfaceBackend::toData const):
(WebKit::ImageBufferShareableIOSurfaceBackend::toBGRAData const):
(WebKit::ImageBufferShareableIOSurfaceBackend::getImageData const):
(WebKit::ImageBufferShareableIOSurfaceBackend::putImageData):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp: Copied from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp.

(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::createImageBufferBackendHandle const):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.h: Copied from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h.

Rename ImageBufferShareableIOSurfaceBackend to ImageBufferShareableMappedIOSurfaceBackend.
Readd ImageBufferShareableIOSurfaceBackend, the unmapped variant. The mapped variant is only used:

  • in the GPU process
  • in the Web Content process when DOM rendering in the GPU process is disabled

The unmapped variant cannot perform most ImageBufferBackend duties, except creating an ImageBufferBackendHandle,
which it does by cloning the existing handle. It explicitly does *not* map the IOSurface in the
process, and is meant for use in Web Content processes that do not have access to IOSurface.

7:47 PM Changeset in webkit [270341] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Gardening wheel timeouts

Unreviewed test gardening.

  • platform/glib/TestExpectations:
7:41 PM Changeset in webkit [270340] by Andres Gonzalez
  • 3 edits in trunk/Source/WebCore

Fix for accessibility attributed string tests in isolated mode.
https://bugs.webkit.org/show_bug.cgi?id=219419

Reviewed by Chris Fleizach.

Tests:
accessibility/mac/attributed-string-includes-misspelled-with-selection.html
accessibility/mac/attributed-string/attributed-string-does-not-includes-misspelled-for-non-editable.html
accessibility/mac/misspelled-attributed-string.html

Implemented AXIsolatedObject::rangeForPlainTextRange which is needed to
build the attributed string for a given range.
Also Implemented AXIsolatedObject::doAXBoundsForRangeUsingCharacterOffset
and makeRangeVisible as a follow up to the previous patch to support
PlaintTextRanges in isolated tree mode.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::rangeForPlainTextRange const):
(WebCore::AXIsolatedObject::makeRangeVisible):
(WebCore::AXIsolatedObject::doAXBoundsForRangeUsingCharacterOffset const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
7:35 PM Changeset in webkit [270339] by Devin Rousso
  • 4 edits
    2 adds in trunk

Toggling pointer-events on body does not re-enable scrolling on child
https://bugs.webkit.org/show_bug.cgi?id=218533
<rdar://problem/71009746>

Reviewed by Simon Fraser.

Source/WebCore:

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresRecompositeLayer const):
Changes to the CSS pointer-events property should also also indicate that a recomposite is
required (StyleDifference::RecompositeLayer), resulting in RenderElement::styleWillChange
being called, which invalidates the event region since the value of the CSS pointer-events
property has changed.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::layerStyleChanged):
Don't limit StyleDifference::RecompositeLayer changes to only affect RenderWidget.

LayoutTests:

  • fast/scrolling/ios/overflow-scroll-pointer-events.html: Added.
  • fast/scrolling/ios/overflow-scroll-pointer-events-expected.txt: Added.
7:25 PM Changeset in webkit [270338] by Simon Fraser
  • 13 edits in trunk/Source/WebCore

Simplify some callsites of WheelEventTestMonitor
https://bugs.webkit.org/show_bug.cgi?id=219416

Reviewed by Daniel Bates.

Migrate towards more usage of WheelEventTestMonitorCompletionDeferrer, using a pattern
where we WTFMove() one into a completion handler to pair the defer/undefer pairs,
rather than having manual deferral/undeferral.

To make this work, WheelEventTestMonitorCompletionDeferrer gains a move constructor,
that nullifies the m_monitor in the source to prevent double firing.

Remove the WheelEventTestMonitor::RequestedScrollPosition deferral, since that code path
is now synchronous.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleWheelEventInternal):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollOffsetChangedViaPlatformWidgetImpl):

  • page/WheelEventTestMonitor.cpp:

(WebCore::WheelEventTestMonitor::removeDeferralForReason):

  • page/WheelEventTestMonitor.h:

(WebCore::WheelEventTestMonitorCompletionDeferrer::WheelEventTestMonitorCompletionDeferrer):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::synchronizeStateFromScrollingTree):
(WebCore::AsyncScrollingCoordinator::applyPendingScrollUpdates):
(WebCore::AsyncScrollingCoordinator::applyScrollUpdate):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
(WebCore::AsyncScrollingCoordinator::noteScrollingThreadSyncCompleteForNode): Deleted.

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::wheelEventTestMonitor):

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
(WebCore::ThreadedScrollingTree::setActiveScrollSnapIndices):
(WebCore::ThreadedScrollingTree::scrollingTreeNodeRequestsScroll): Deleted.

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::wheelEventWasProcessedByMainThread):

  • page/scrolling/mac/ScrollingTreeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:

(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):

6:46 PM Changeset in webkit [270337] by Russell Epstein
  • 2 edits in branches/safari-611.1.7-branch/Source/WebKit

Cherry-pick r270330. rdar://problem/71876973

[macCatalyst] Embedded YouTube videos fail to play
https://bugs.webkit.org/show_bug.cgi?id=219412
<rdar://problem/71869657>

Reviewed by Tim Horton.

Add a missing comma in list of Media services, for which sandbox extensions are created. The missing comma
is causing a sandbox violation, since strings are concatenated when there's no comma.

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

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

6:46 PM Changeset in webkit [270336] by Russell Epstein
  • 5 edits in branches/safari-611.1.7-branch

Cherry-pick r270311. rdar://problem/71876970

Unreviewed, reverting r270132.

Caused at least one regression test failure
(webkit.org/b/219401)

Reverted changeset:

"Use a Version 1 CFRunLoopSource for faster task dispatch"
https://bugs.webkit.org/show_bug.cgi?id=202874
https://trac.webkit.org/changeset/270132

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

6:46 PM Changeset in webkit [270335] by Russell Epstein
  • 4 edits in branches/safari-611.1.7-branch/Source/WebCore

Cherry-pick r270303. rdar://problem/71876962

DedicatedWorkerGlobalScope should clear m_rtcRtpTransformerConstructorMap before destructor
https://bugs.webkit.org/show_bug.cgi?id=219389

Reviewed by Eric Carlson.

Clear the constructor map before the destructor in prepareForDestruction like done for audio worklet.
Covered by http/wpt/webrtc/webrtc-transform.html no longer crashing with guard malloc.

  • workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::prepareForDestruction):
  • workers/DedicatedWorkerGlobalScope.h:
  • workers/WorkerGlobalScope.h:

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

5:44 PM Changeset in webkit [270334] by Peng Liu
  • 36 edits
    3 copies
    2 adds in trunk/Source

[Media In GPU Process][MSE] Add the support to forward initialization segment from the GPU Process to Web processes
https://bugs.webkit.org/show_bug.cgi?id=219227

Reviewed by Eric Carlson.

Source/WebCore:

  • Headers.cmake:

Source/WebKit:

This patch adds the support to forward sourceBufferPrivateDidReceiveInitializationSegment()
callback from the source buffer parser running in the GPU process to the SourceBufferPrivateRemote
running in the Web process, which in turn provides the initialization segment to SourceBuffer.

No change in behavior.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • GPUProcess/media/InitializationSegmentInfo.h: Added.

(WebKit::InitializationSegmentInfo::TrackInformation::encode const):
(WebKit::InitializationSegmentInfo::TrackInformation::decode):
(WebKit::InitializationSegmentInfo::encode const):
(WebKit::InitializationSegmentInfo::decode):

  • GPUProcess/media/RemoteAudioTrackProxy.cpp:

(WebKit::RemoteAudioTrackProxy::RemoteAudioTrackProxy):
(WebKit::RemoteAudioTrackProxy::~RemoteAudioTrackProxy):
(WebKit::RemoteAudioTrackProxy::configurationChanged):
(WebKit::RemoteAudioTrackProxy::willRemove):

  • GPUProcess/media/RemoteAudioTrackProxy.h:
  • GPUProcess/media/RemoteAudioTrackProxy.messages.in: Copied from Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in.
  • GPUProcess/media/RemoteMediaDescription.h: Added.

(WebKit::MediaDescriptionInfo::encode const):
(WebKit::MediaDescriptionInfo::decode):
(WebKit::RemoteMediaDescription::RemoteMediaDescription):

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::loadMediaSource):
(WebKit::RemoteMediaPlayerProxy::addRemoteAudioTrackProxy):
(WebKit::RemoteMediaPlayerProxy::addRemoteVideoTrackProxy):
(WebKit::RemoteMediaPlayerProxy::addRemoteTextTrackProxy):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidAddAudioTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidRemoveAudioTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidAddVideoTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidRemoveVideoTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidAddTextTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidRemoveTextTrack):
(WebKit::RemoteMediaPlayerProxy::audioTrackSetEnabled): Deleted.
(WebKit::RemoteMediaPlayerProxy::videoTrackSetSelected): Deleted.
(WebKit::RemoteMediaPlayerProxy::textTrackSetMode): Deleted.

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • GPUProcess/media/RemoteMediaSourceProxy.cpp:

(WebKit::RemoteMediaSourceProxy::RemoteMediaSourceProxy):
(WebKit::RemoteMediaSourceProxy::addSourceBuffer):

  • GPUProcess/media/RemoteMediaSourceProxy.h:
  • GPUProcess/media/RemoteSourceBufferProxy.cpp:

(WebKit::RemoteSourceBufferProxy::create):
(WebKit::RemoteSourceBufferProxy::RemoteSourceBufferProxy):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidReceiveInitializationSegment):

  • GPUProcess/media/RemoteSourceBufferProxy.h:
  • GPUProcess/media/RemoteTextTrackProxy.cpp:

(WebKit::RemoteTextTrackProxy::RemoteTextTrackProxy):
(WebKit::RemoteTextTrackProxy::~RemoteTextTrackProxy):
(WebKit::RemoteTextTrackProxy::configurationChanged):
(WebKit::RemoteTextTrackProxy::willRemove):
(WebKit::RemoteTextTrackProxy::addDataCue):
(WebKit::RemoteTextTrackProxy::updateDataCue):
(WebKit::RemoteTextTrackProxy::removeDataCue):
(WebKit::RemoteTextTrackProxy::addGenericCue):
(WebKit::RemoteTextTrackProxy::updateGenericCue):
(WebKit::RemoteTextTrackProxy::removeGenericCue):
(WebKit::RemoteTextTrackProxy::parseWebVTTFileHeader):
(WebKit::RemoteTextTrackProxy::parseWebVTTCueData):

  • GPUProcess/media/RemoteTextTrackProxy.h:
  • GPUProcess/media/RemoteTextTrackProxy.messages.in: Copied from Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in.
  • GPUProcess/media/RemoteVideoTrackProxy.cpp:

(WebKit::RemoteVideoTrackProxy::RemoteVideoTrackProxy):
(WebKit::RemoteVideoTrackProxy::~RemoteVideoTrackProxy):
(WebKit::RemoteVideoTrackProxy::configurationChanged):
(WebKit::RemoteVideoTrackProxy::willRemove):

  • GPUProcess/media/RemoteVideoTrackProxy.h:
  • GPUProcess/media/RemoteVideoTrackProxy.messages.in: Copied from Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in.
  • Scripts/webkit/messages.py:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/AudioTrackPrivateRemote.cpp:

(WebKit::AudioTrackPrivateRemote::AudioTrackPrivateRemote):
(WebKit::AudioTrackPrivateRemote::setEnabled):

  • WebProcess/GPU/media/AudioTrackPrivateRemote.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::addRemoteAudioTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteTextTrack):
(WebKit::MediaPlayerPrivateRemote::addRemoteVideoTrack):

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

(WebKit::MediaSourcePrivateRemote::create):
(WebKit::MediaSourcePrivateRemote::MediaSourcePrivateRemote):
(WebKit::MediaSourcePrivateRemote::addSourceBuffer):
(WebKit::MediaSourcePrivateRemote::readyState const):

  • WebProcess/GPU/media/MediaSourcePrivateRemote.h:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:

(WebKit::SourceBufferPrivateRemote::create):
(WebKit::SourceBufferPrivateRemote::SourceBufferPrivateRemote):
(WebKit::SourceBufferPrivateRemote::readyState const):
(WebKit::SourceBufferPrivateRemote::sourceBufferPrivateDidReceiveInitializationSegment):

  • WebProcess/GPU/media/SourceBufferPrivateRemote.h:
  • WebProcess/GPU/media/SourceBufferPrivateRemote.messages.in:
  • WebProcess/GPU/media/TextTrackPrivateRemote.cpp:

(WebKit::TextTrackPrivateRemote::TextTrackPrivateRemote):
(WebKit::TextTrackPrivateRemote::setMode):

  • WebProcess/GPU/media/TextTrackPrivateRemote.h:
  • WebProcess/GPU/media/VideoTrackPrivateRemote.cpp:

(WebKit::VideoTrackPrivateRemote::VideoTrackPrivateRemote):
(WebKit::VideoTrackPrivateRemote::setSelected):

  • WebProcess/GPU/media/VideoTrackPrivateRemote.h:

(WebKit::VideoTrackPrivateRemote::create):

4:55 PM Changeset in webkit [270333] by Chris Fleizach
  • 16 edits
    4 adds in trunk

AX: VoiceOver does not announce the aria-checked state for ARIA treeitem
https://bugs.webkit.org/show_bug.cgi?id=218316
<rdar://problem/70787809>

Reviewed by Zalan Bujtas.

Source/WebCore:

Tree items need to be able to support their aria-checked status according to WAI-ARIA.
In addition, when the value changes they need to be able to post an appropriate notification.
While working on this, I realized that if an attribute changes, the notification is not fired until the next layout change
which is problematic. Those need to fire immediately.

Test: accessibility/mac/checked-status-tree-items.html

accessibility/ios-simulator/checked-status-tree-items.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::deferAttributeChangeIfNeeded):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isChecked const):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsCheckedState const):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/AccessibilityTreeItem.cpp:

(WebCore::AccessibilityTreeItem::supportsCheckedState const):

  • accessibility/AccessibilityTreeItem.h:
  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper accessibilityValue]):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):

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

(AXAttributedStringAppendText):
(-[WebAccessibilityObjectWrapper ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • accessibility/ios-simulator/checked-status-tree-items-expected.txt: Added.
  • accessibility/ios-simulator/checked-status-tree-items.html: Added.
  • accessibility/mac/checked-status-tree-items-expected.txt: Added.
  • accessibility/mac/checked-status-tree-items.html: Added.
4:54 PM Changeset in webkit [270332] by Wenson Hsieh
  • 8 edits
    2 copies in trunk/Source/WebKit

[iOS] Support image extraction interactions for accessibility
https://bugs.webkit.org/show_bug.cgi?id=219398
<rdar://problem/70744914>

Reviewed by Devin Rousso.

Adds support for a new accessibility feature related to images. Refer to the bug for more details.

  • Shared/ios/InteractionInformationRequest.cpp:

(WebKit::InteractionInformationRequest::encode const):
(WebKit::InteractionInformationRequest::decode):
(WebKit::InteractionInformationRequest::isValidForRequest const):

  • Shared/ios/InteractionInformationRequest.h:

Add a new flag to request image data via position information. This flag works similarly to the existing
includeSnapshot flag, except that it only grabs data when the hit-tested node is an image. As such, a position
information request with the includeSnapshot flag set is valid for an identical request with this new
includeImageData flag set, but not vice versa.

  • SourcesCocoa.txt:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

Add various extension points for new WebKitAdditions snippets.

(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):

Call new methods to set up and tear down the image extraction interaction (defined in WebKitAdditions).

(-[WKContentView _webTouchEventsRecognized:]):

Upon starting a new gesture, reset the active (or pending) image extraction interaction, if appropriate.

(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):

Allow the image extraction gesture to fire alongside any other gesture.

(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView _contextMenuInteraction:configurationForMenuAtLocation:completion:]):

These existing interactions may conflict with pending image extraction interactions. Luckily, since these
interactions are both asynchronous, we're able to defer them until any pending image extraction request has
finished, to determine whether or not they should commence. In both cases, image extraction should take
precedence over dragging and context menus.

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

Add a new long press gesture recognizer that fires on a very short (100ms) delay. This gesture is used to
preflight image extraction requests ahead of the other long press gestures (in particular, context menus), such
that these other gestures should be minimally impacted by the time required to perform image extraction.

This is still a long press gesture instead of a regular gesture recognizer, since preflighting image extraction
requests could be expensive if performed during every single gesture (i.e. scrolling, taps, etc).

(-[WKImageExtractionGestureRecognizer initWithDelegate:]):
(-[WKImageExtractionGestureRecognizer setState:]):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::imagePositionInformation):

4:44 PM Changeset in webkit [270331] by Andres Gonzalez
  • 3 edits in trunk/Source/WebCore

Fix for multiple LayoutTests/accessibility tests in isolated tree mode that rely on PlainTextRange.
https://bugs.webkit.org/show_bug.cgi?id=219411

Reviewed by Chris Fleizach.

Tests:
accessibility/insert-newline.html
accessibility/mac/input-string-for-range-crash.html
accessibility/mac/range-for-contenteditable-newline.html
accessibility/mac/range-for-line-textarea.html
accessibility/set-selected-text-range-after-newline.html
accessibility/textarea-line-for-index.html
accessibility/mac/select-element-selection-with-optgroups.html

Implementation of AXIsolatedObject methods that take or return PlainTextRanges.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::selectedTextRange const):
(WebCore::AXIsolatedObject::doAXRangeForLine const):
(WebCore::AXIsolatedObject::doAXStringForRange const):
(WebCore::AXIsolatedObject::doAXRangeForPosition const):
(WebCore::AXIsolatedObject::doAXRangeForIndex const):
(WebCore::AXIsolatedObject::doAXStyleRangeForIndex const):
(WebCore::AXIsolatedObject::doAXBoundsForRange const):
(WebCore::AXIsolatedObject::doAXLineForIndex):

  • accessibility/isolatedtree/AXIsolatedObject.h:
4:40 PM Changeset in webkit [270330] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macCatalyst] Embedded YouTube videos fail to play
https://bugs.webkit.org/show_bug.cgi?id=219412
<rdar://problem/71869657>

Reviewed by Tim Horton.

Add a missing comma in list of Media services, for which sandbox extensions are created. The missing comma
is causing a sandbox violation, since strings are concatenated when there's no comma.

  • UIProcess/WebPageProxy.cpp:

(WebKit::mediaRelatedMachServices):

3:00 PM Changeset in webkit [270329] by Truitt Savell
  • 3 edits in trunk/LayoutTests

[macOS / iOS ] Layout Test imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=197662

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
2:23 PM Changeset in webkit [270328] by Chris Dumez
  • 2 edits in trunk/Tools

[iOS] GPUProcess.CrashWhilePlayingVideo is flaky
https://bugs.webkit.org/show_bug.cgi?id=219377
<rdar://problem/71859117>

Reviewed by Darin Adler.

Disable the flaky check on iOS while this is investigated so that the bots are happy.

In the iOS simulator, I see the audio track getting disabled shortly after the GPU
process is relaunched for some reason. I have spent a lot of time investigating the
issue but have been unable to identify the root cause yet.

  • TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:

(TEST):

1:39 PM Changeset in webkit [270327] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/ThirdParty/libwebrtc

Apply patch. rdar://problem/71381873

1:38 PM Changeset in webkit [270326] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Deny mach lookup of 'com.apple.webinspector' in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=219386
<rdar://problem/60932734>

Reviewed by Darin Adler.

After r270035, mach-lookup of 'com.apple.webinspector' can be denied in the WebContent process on macOS.

  • WebProcess/com.apple.WebProcess.sb.in:
12:57 PM Changeset in webkit [270325] by Aditya Keerthi
  • 11 edits
    2 adds in trunk

[iOS] <button> with multi-line content does not render properly
https://bugs.webkit.org/show_bug.cgi?id=219372
<rdar://problem/6061602>

Reviewed by Darin Adler.

Source/WebCore:

Currently, on iOS, a <button> that has multiple lines of content clips
the content to a single line. This behavior is incorrect, since <button>
can contain arbitrary HTML and should resize based on its content.

The incorrect behavior occurs due to the forcing of a single line height
for the button in RenderThemeIOS::adjustButtonStyle. To fix, replace
setHeight with setMinHeight when styling the button. This ensures the
button retains its appearance for single-line content, but does not clip
multi-line content.

Test: fast/forms/button-multiline-height.html

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustButtonStyle const):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::setButtonSize): Removed.

This virtual method is unnecessary, as it is only used by a single
derived class, RenderThemeIOS.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::adjustButtonStyle const):

No longer round down the height calculation, to ensure the min height
better matches the font size.

LayoutTests:

  • fast/forms/button-multiline-height-expected.txt: Added.
  • fast/forms/button-multiline-height.html: Added.
  • platform/ios/css3/flexbox/button-expected.txt:
  • platform/ios/fast/forms/box-shadow-override-expected.txt:
  • platform/ios/fast/forms/button-sizes-expected.txt:
  • platform/ios/fast/forms/control-restrict-line-height-expected.txt:
  • platform/ios/fast/forms/input-button-sizes-expected.txt:
12:33 PM Changeset in webkit [270324] by Chris Dumez
  • 5 edits in trunk/LayoutTests

REGRESSION: imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219366
<rdar://problem/71819641>

LayoutTests/imported/w3c:

Unreviewed, rebaseline test.

  • web-platform-tests/streams/transform-streams/terminate.any-expected.txt:

LayoutTests:

Unreviewed, silence console output to address flakiness.

12:21 PM Changeset in webkit [270323] by Lauro Moura
  • 1 edit
    4 copies
    2 moves
    1 add
    1 delete in trunk/LayoutTests

[GLIB] Add some WPE-specific baselines after r269745

Unreviewed test gardening.

  • platform/gtk/fast/block/basic/013-expected.txt: Copied from LayoutTests/platform/glib/fast/block/basic/013-expected.txt.
  • platform/gtk/fast/frames/iframe-scrolling-attribute-expected.txt: Copied from LayoutTests/platform/glib/fast/frames/iframe-scrolling-attribute-expected.txt.
  • platform/gtk/svg/as-object/object-box-sizing-no-width-height-expected.txt: Copied from LayoutTests/platform/glib/svg/as-object/object-box-sizing-no-width-height-expected.txt.
  • platform/wpe/fast/block/basic/013-expected.txt: Renamed from LayoutTests/platform/glib/fast/block/basic/013-expected.txt.
  • platform/wpe/fast/frames/iframe-scrolling-attribute-expected.txt: Renamed from LayoutTests/platform/glib/fast/frames/iframe-scrolling-attribute-expected.txt.
  • platform/wpe/svg/as-object/object-box-sizing-no-width-height-expected.txt: Renamed from LayoutTests/platform/glib/svg/as-object/object-box-sizing-no-width-height-expected.txt.
12:02 PM Changeset in webkit [270322] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix Aarch64 build failure
https://bugs.webkit.org/show_bug.cgi?id=219395

Patch by Sergey Rubanov <Sergey Rubanov> on 2020-12-01
Reviewed by Yusuke Suzuki.

  • offlineasm/arm64.rb:
11:29 AM Changeset in webkit [270321] by youenn@apple.com
  • 9 edits in trunk

Update list of block ports according fetch spec
https://bugs.webkit.org/show_bug.cgi?id=219154

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/request/request-bad-port.any-expected.txt:
  • web-platform-tests/fetch/api/request/request-bad-port.any.js:
  • web-platform-tests/fetch/api/request/request-bad-port.any.worker-expected.txt:
  • web-platform-tests/websockets/Create-blocked-port.any-expected.txt:
  • web-platform-tests/websockets/Create-blocked-port.any.js:
  • web-platform-tests/websockets/Create-blocked-port.any.worker-expected.txt:

Source/WTF:

  • wtf/URL.cpp:

(WTF::portAllowed):

11:28 AM Changeset in webkit [270320] by Russell Epstein
  • 3 edits
    3 deletes in branches/safari-611.1.7-branch/Source/ThirdParty/ANGLE

Revert r270062. rdar://problem/71831151

11:14 AM Changeset in webkit [270319] by youenn@apple.com
  • 6 edits in trunk/Source/WebCore

Update SFrame transformation implementation according post-commit review
https://bugs.webkit.org/show_bug.cgi?id=218981

Reviewed by Geoffrey Garen.

Add an ASSERT that salt key size is 16 or above so that IV computation is safe.
Move HMAC SHA 256 Cocoa implementation to CryptoUtilitiesCocoa.cpp.
A follow-up patch should move CryptoUtilitiesCocoa.cpp to platform or PAL.

No change of behavior.

  • Modules/mediastream/RTCRtpSFrameTransformer.cpp:

(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):

  • Modules/mediastream/RTCRtpSFrameTransformerCocoa.cpp:

(WebCore::RTCRtpSFrameTransformer::computeEncryptedDataSignature):

  • crypto/mac/CryptoAlgorithmHMACMac.cpp:

(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
(WebCore::calculateSignature): Deleted.

  • crypto/mac/CryptoUtilitiesCocoa.cpp:

(WebCore::calculateHMACSignature):
(WebCore::calculateSHA256Signature):

  • crypto/mac/CryptoUtilitiesCocoa.h:
11:08 AM Changeset in webkit [270318] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[macOS] Add telemetry for sandbox rules we believe are unused
https://bugs.webkit.org/show_bug.cgi?id=219141
<rdar://problem/71569084>

Reviewed by Per Arne Vollan.

This patch adds telemetry to a set of sandbox features we believe are unused. We should
capture telemetry to verify, and confirm before removing.

  • WebProcess/com.apple.WebProcess.sb.in:
10:54 AM Changeset in webkit [270317] by Truitt Savell
  • 3 edits in trunk/LayoutTests

(r270252) [ Mac ] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-candidate-in-sdp.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=219403

unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:41 AM Changeset in webkit [270316] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add Sergey Rubanov to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=219400

Patch by Sergey Rubanov <Sergey Rubanov> on 2020-12-01
Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/common/config/contributors.json:
10:39 AM Changeset in webkit [270315] by Keith Rollin
  • 8 edits in trunk/Source

Consolidate header postprocessing scripts
https://bugs.webkit.org/show_bug.cgi?id=219388
<rdar://problem/71840357>

Reviewed by David Kilzer.

Our build system contains the following scripts to perform some
postprocessing of headers that we export to the SDK:

JavaScriptCore/postprocess-headers.sh
WebKit/mac/postprocess-framework-headers.sh
WebKitLegacy/mac/postprocess-headers.sh

The preceding scripts are used when using the non-XCBuild -- or
"legacy" -- Xcode build system. They are invoked in a custom Run
Script build phase after the headers have been exported with the
standard Xcode facility for creating frameworks.

Alternatively, we also have the following postprocessing scripts:

WebKit/Scripts/postprocess-header-rule
JavaScriptCore/Scripts/postprocess-header-rule
WebKitLegacy/scripts/postprocess-header-rule

These scripts are used when using the XCBuild build system. They are
invoked *during* the header export process to copy and postprocess the
headers in one blow. They are part of a Custom Build Rule for
exporting files ending in ".h".

The reason why we have two sets of scripts is because of the different
capabilities of the two Xcode build systems. The legacy system does
not support a custom "export header" step that would allow us to copy
and postprocess each header in a single step. Therefore, when using
the legacy build system, we export in one build step and postprocess
in a subsequent build step. And XCBuild doesn't like the approach
taken by the old build system where files are exported first and then
munged in a separate step, since that confuses its notion of the state
of the build ("Hey! That file I exported in the previous build? I see
now that it's been changed, so I'm going to export it again. And
change its modification date. And then rebuild everything downstream
that uses it."). Therefore, XCBuild added a facility for copying and
postprocessing in one step.

The scripts supporting each of these approaches are very similar to
each other, such that there is a lot of code duplication between them.
At the same time, by having two sets of scripts that are very similar
to each other, we run the risk of "drift", where files in one set may
get updated while their counterparts in the other set are not.

Address this duplication by making the scripts in the "legacy" set be
mere stubs that invoke the scripts in the new "XCBuild" set. In doing
this, we also fix a case of drift: the legacy-based scripts made use
of a timestamp file to determine if headers needed to be reprocessed
and exported, while the XCBuild-based scripts used a "process the
files and export them if any actual changes now exist between this new
version and any previously-exported version" approach.

Along the way, fix a bug in WebKitLegacy's postprocess-header-rule
that resulted in WebKitAvailability.h not being processed. The
practical effect of this bug is that the file ended up with both macOS
and iOS code, along with the #if that controlled which chunk of code
was compiled, instead of just the chunk of code specific to the
targeted SDK. Normally, the unused chunk of code would get removed
through the invocation of unifdef. But, because of the bug, the
results of running unifdef were being discarded.

Source/JavaScriptCore:

  • postprocess-headers.sh:

Source/WebKit:

  • mac/postprocess-framework-headers.sh:

Source/WebKitLegacy:

  • scripts/postprocess-header-rule:

Source/WebKitLegacy/mac:

  • postprocess-headers.sh:
10:25 AM Changeset in webkit [270314] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r269190. rdar://problem/71381759

Increase camera failing timer to 30 seconds
https://bugs.webkit.org/show_bug.cgi?id=218389

Reviewed by Eric Carlson.

From testing, 3 seconds is not always enough if getUserMedia is quickly called multiple times.
Let's increase to 30 seconds to give room for slow systems while still being able to identify failures.

  • platform/mediastream/mac/AVVideoCaptureSource.h:

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

10:20 AM Changeset in webkit [270313] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix the reaches end of non-void function warning since r270294.

No new tests. No new behaviors.

  • Modules/mediastream/RTCRtpScriptTransformerContext.h:

(WebCore::RTCRtpScriptTransformerContext::requestKeyFrame): Add default clause returning void.

10:01 AM Changeset in webkit [270312] by Simon Fraser
  • 8 edits
    6 adds in trunk

[WK1] Only the first wheel event in a gesture should be cancelable
https://bugs.webkit.org/show_bug.cgi?id=219384

Reviewed by Chris Dumez.

Source/WebCore:

Implement the logic described at <https://w3c.github.io/uievents/#cancelability-of-wheel-events>,
where only the first wheel event in a sequence is cancelable, and, if not canceled, then the
rest of the events in the sequence become non-cancelable.

This is done for the non-async scrolling code path (i.e. WebKitLegacy) by storing
a Optional<WheelScrollGestureState> on EventHandler, which is cleared when we receive
the "begin" event, set when we finish processing that event, then consulted for subsequent
move events.

Tests: fast/events/wheel/first-wheel-event-cancelable.html

fast/events/wheel/wheel-events-become-non-cancelable.html

  • page/EventHandler.h:
  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::wheelEvent):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::wheelEventWasProcessedByMainThread):

  • platform/PlatformWheelEvent.cpp:

(WebCore::operator<<):

  • platform/PlatformWheelEvent.h:

LayoutTests:

Add a temporary failing result for WK2 until the async scrolling implementation lands.

  • fast/events/wheel/first-wheel-event-cancelable-expected.txt: Added.
  • fast/events/wheel/first-wheel-event-cancelable.html: Added.
  • fast/events/wheel/wheel-events-become-non-cancelable-expected.txt: Added.
  • fast/events/wheel/wheel-events-become-non-cancelable.html: Added.
  • platform/mac-wk2/fast/events/wheel/wheel-events-become-non-cancelable-expected.txt: Added.
  • platform/win/TestExpectations:
10:00 AM Changeset in webkit [270311] by Ryan Haddad
  • 5 edits in trunk

Unreviewed, reverting r270132.

Caused at least one regression test failure
(webkit.org/b/219401)

Reverted changeset:

"Use a Version 1 CFRunLoopSource for faster task dispatch"
https://bugs.webkit.org/show_bug.cgi?id=202874
https://trac.webkit.org/changeset/270132

9:59 AM Changeset in webkit [270310] by Alan Coon
  • 4 edits in branches/safari-610-branch

Cherry-pick r270072. rdar://problem/71836681

REGRESSION (r259151): The "Convert Text to Traditional Chinese" services menu action is broken
https://bugs.webkit.org/show_bug.cgi?id=219190
<rdar://problem/71438389>

Reviewed by Tim Horton.

Source/WebKit:

Some system services, such as "Convert Text to (Traditional|Simplified) Chinese", use `-[NSServicesMenuRequestor
readSelectionFromPasteboard:]` to insert the contents of the given pasteboard into the current selection. After
the changes in r259151, this requires the UI process to explicitly grant access to the contents of the given
pasteboard, on behalf of the web content process.

Fix the bug by adding the missing call to grantAccessToCurrentPasteboardData. This is only called from API in
the UI process, so it cannot be abused by a compromised web content process to grab the contents of
NSPasteboard.

Test: PasteHTML.ReadSelectionFromPasteboard

  • UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::readSelectionFromPasteboard):

Tools:

Add an API test to exercise -readSelectionFromPasteboard:.

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

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

9:59 AM Changeset in webkit [270309] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r269954. rdar://problem/71836563

RenderTreeBuilderBlock using an incorrect anonymous parent to attach a new renderer
https://bugs.webkit.org/show_bug.cgi?id=218505

Reviewed by Antti Koivisto.

Let's consider the following simplified render tree:

PARENT
|_beforeChildAnonymousContainer

|_hierarchy of anonymous blocks

|_beforeChild

When RenderTreeBuilderBlock is attaching a new renderer given PARENT and beforeChild, it first tries to attach it to the PARENT
if beforeChild is a direct child of PARENT. Otherwise it assumes that beforeChild is the direct child of an anonymous block which is
in between PARENT and beforeChild. However in some cases, as the one presented above, beforeChild might have a whole hierarchy of
anonymous blocks in between. That's why we cannot assume that beforeChild->parent() is a direct child of PARENT. Instead we should use
beforeChildAnonymousContainer as the parent of the new renderer.

  • rendering/updating/RenderTreeBuilderBlock.cpp: (WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation): Use beforeChildAnonymousContainer instead of beforeChild->parent().

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

9:58 AM Changeset in webkit [270308] by Alan Coon
  • 3 edits in branches/safari-610-branch/Source/JavaScriptCore

Cherry-pick r269931. rdar://problem/71836676

Add more info to the RELEASE_ASSERT inside Parser::parseInner
https://bugs.webkit.org/show_bug.cgi?id=219054
<rdar://problem/71506453>

Reviewed by Mark Lam.

We have some crashes here, and it'll be helpful for the crashlogs to have
more info in the register state.

  • parser/Lexer.h: (JSC::Lexer::codeLength):
  • parser/Parser.cpp: (JSC::Parser<LexerType>::parseInner):

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

9:58 AM Changeset in webkit [270307] by Alan Coon
  • 2 edits in branches/safari-610-branch/Source/WebCore

Cherry-pick r269695. rdar://problem/71836652

Protect ScheduledURLNavigation member
https://bugs.webkit.org/show_bug.cgi?id=218593

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-11
Reviewed by Alex Christensen.

Protect ScheduledURLNavigation member m_url by using a copy since
ScheduledURLNavigation itself is not protected and may be cancelled
(and thus deleted) just at the time it is sending a message to the
UIProcess which encodes the passed m_url member variable.

  • loader/NavigationScheduler.cpp:

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

9:47 AM Changeset in webkit [270306] by Alan Coon
  • 8 edits in branches/safari-610-branch/Source

Versioning.

WebKit-7610.4.2

9:45 AM Changeset in webkit [270305] by youenn@apple.com
  • 4 edits in trunk/Source/ThirdParty/libwebrtc

libwebrtc.dylib relies on dead code stripping (fails to link if dead code is not stripped in Debug builds)
https://bugs.webkit.org/show_bug.cgi?id=218453

Reviewed by Eric Carlson.

Update build config and code to allow building without code stripping.

  • Configurations/Base.xcconfig:
  • Source/third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c:

Compile out some functions that are not-realtime only.

  • libwebrtc.xcodeproj/project.pbxproj:
9:31 AM Changeset in webkit [270304] by youenn@apple.com
  • 9 edits in trunk

REGRESSION(STP116): wpt.live/webrtc/RTCRtpTransceiver.https.html crashes on load
https://bugs.webkit.org/show_bug.cgi?id=219259

Reviewed by Eric Carlson.

Source/WebCore:

Make use of StopStandard instead of the old StopInternal method.
Covered by rebased tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::addInternalTransceiver):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCRtpTransceiver.cpp:

(WebCore::RTCRtpTransceiver::setConnection):
(WebCore::RTCRtpTransceiver::stop):

  • Modules/mediastream/RTCRtpTransceiver.h:
  • Modules/mediastream/RTCRtpTransceiver.idl:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp:

(WebCore::LibWebRTCRtpTransceiverBackend::stop):

LayoutTests:

  • TestExpectations: mark test as flaky, as identified by EWS and in results.webkit.org since resyncing WPT tests.
9:30 AM Changeset in webkit [270303] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

DedicatedWorkerGlobalScope should clear m_rtcRtpTransformerConstructorMap before destructor
https://bugs.webkit.org/show_bug.cgi?id=219389

Reviewed by Eric Carlson.

Clear the constructor map before the destructor in prepareForDestruction like done for audio worklet.
Covered by http/wpt/webrtc/webrtc-transform.html no longer crashing with guard malloc.

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::prepareForDestruction):

  • workers/DedicatedWorkerGlobalScope.h:
  • workers/WorkerGlobalScope.h:
9:28 AM Changeset in webkit [270302] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Skip http/wpt/webrtc/sframe-transform.html

Unreviewed test gardening

  • platform/glib/TestExpectations:
9:23 AM Changeset in webkit [270301] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Common module should use a dedicated logging category
https://bugs.webkit.org/show_bug.cgi?id=219348

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

Because this module can be used outside of the MediaPlayer scope, we cannot assume the
MediaPlayer debug category will be initialized in time when GST_DEBUG logs need to be
emitted from GStreamerCommon. So it is safer to introduce a new, standalone, logging
category for this module.

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::initializeGStreamer):

9:14 AM Changeset in webkit [270300] by commit-queue@webkit.org
  • 5 edits in trunk

Lazy loaded iframe should not lazy load when scripting is disabled
https://bugs.webkit.org/show_bug.cgi?id=217315

Patch by Rob Buis <rbuis@igalia.com> on 2020-12-01
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved test expectation.

  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-in-script-disabled-iframe-expected.txt:

Source/WebCore:

Lazy loaded iframe should not lazy load when scripting is disabled [1].

Test: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-in-script-disabled-iframe.html

[1] https://html.spec.whatwg.org/#will-lazy-load-element-steps

This matches Chrome and Firefox.

  • html/HTMLIFrameElement.cpp:

(WebCore::isFrameLazyLoadable):
(WebCore::HTMLIFrameElement::shouldLoadFrameLazily):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::isLazyLoadable const):

7:53 AM Changeset in webkit [270299] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

ITP logging mixes up the UI process ITP state with the Settings ITP state
https://bugs.webkit.org/show_bug.cgi?id=219359
<rdar://problem/71808489>

Reviewed by Youenn Fablet.

Update an ITP logging message in the network process which mixes up
the variables for the ITP state passed from the UI process and the
ITP value from Settings.

No new tests, this only updates an incorrect logging message.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::activateSessionCleanup):

7:50 AM Changeset in webkit [270298] by Alexey Shvayka
  • 13 edits in trunk/Source/JavaScriptCore

Remove unused getPrimitiveNumber() methods
https://bugs.webkit.org/show_bug.cgi?id=219370

Reviewed by Mark Lam.

These methods were originated in KJS, have weird signature / return value,
are currently unused, and were displaced by toNumber() / toPrimitive().

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::getPrimitiveNumber const): Deleted.

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

(JSC::JSValue::getPrimitiveNumber): Deleted.

  • runtime/JSCell.cpp:

(JSC::JSCell::getPrimitiveNumber const): Deleted.

  • runtime/JSCell.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::getPrimitiveNumber const): Deleted.

  • runtime/JSObject.h:
  • runtime/JSString.cpp:

(JSC::JSString::getPrimitiveNumber const): Deleted.

  • runtime/JSString.h:

(JSC::JSString::toBoolean const):

  • runtime/Symbol.cpp:

(JSC::Symbol::getPrimitiveNumber const): Deleted.

  • runtime/Symbol.h:
7:21 AM Changeset in webkit [270297] by commit-queue@webkit.org
  • 11 edits
    2 adds in trunk/Source/WebCore

[WebIDL] Move ShadowRootInit to dedicated idl file from Element.idl
https://bugs.webkit.org/show_bug.cgi?id=219261

Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-12-01
Reviewed by Don Olmstead.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Element.idl:
  • dom/ShadowRootInit.h: Added.
  • dom/ShadowRootInit.idl: Added. This patch use the same license header used in bug 216336 because this patch does not change the code essentially at here.
6:58 AM Changeset in webkit [270296] by youenn@apple.com
  • 11 edits in trunk

CSSStyleSheet.cssRules and rules should throw in case of opaque stylesheets
https://bugs.webkit.org/show_bug.cgi?id=219203

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebased tests.

  • web-platform-tests/css/cssom/stylesheet-same-origin.sub-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https-expected.txt:

Source/WebCore:

In case of opaque stylesheet, throw a SecurityError as done by Chrome and Firefox.
Covered by updated and rebased tests.

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::cssRulesFromJS):
(WebCore::CSSStyleSheet::rulesFromJS):

  • css/CSSStyleSheet.idl:

LayoutTests:

Rebased tests and update test to expect throwing.

  • http/tests/security/cannot-read-cssrules-expected.txt:
  • http/tests/security/cannot-read-cssrules-redirect-expected.txt:
  • http/tests/security/cross-origin-css-9.html:
6:43 AM Changeset in webkit [270295] by aakash_jain@apple.com
  • 3 edits
    1 move in trunk/Tools

Share runUnittests.py for ews-build and build.webkit.org unit-tests
https://bugs.webkit.org/show_bug.cgi?id=219374

Reviewed by Jonathan Bedard.

  • CISupport/runUnittests.py: Moved from Tools/CISupport/ews-build/runUnittests.py.
  • CISupport/ews-build/runUnittests.py: Removed.
  • CISupport/ews-build/steps.py:

(RunEWSUnitTests): Updated ews configuration appropriately.
(RunEWSUnitTests.init):

  • CISupport/ews-build/steps_unittest.py: Updated EWS unit-tests accordingly.
4:34 AM Changeset in webkit [270294] by youenn@apple.com
  • 32 edits
    2 copies
    5 adds in trunk

Allow RTCRtpScriptTransformer to request key frames
https://bugs.webkit.org/show_bug.cgi?id=219199
Source/ThirdParty/libwebrtc:

Reviewed by Eric Carlson.

Add GenerateKeyFrame to sender and receiver interface.
Pipe the request to the necessary underlying objects implementing this as follows:

  • Ask encoder to generate a key frame for sender transforms
  • Send a FIR network request from receiver to sender for receiver transforms
  • Source/webrtc/api/rtp_receiver_interface.h:
  • Source/webrtc/api/rtp_sender_interface.h:
  • Source/webrtc/call/video_send_stream.h:
  • Source/webrtc/media/base/media_channel.h:

(cricket::MediaChannel::GenerateKeyFrame):

  • Source/webrtc/media/engine/webrtc_video_engine.cc:
  • Source/webrtc/media/engine/webrtc_video_engine.h:
  • Source/webrtc/pc/rtp_sender.cc:
  • Source/webrtc/pc/rtp_sender.h:
  • Source/webrtc/pc/video_rtp_receiver.cc:
  • Source/webrtc/pc/video_rtp_receiver.h:
  • Source/webrtc/video/video_send_stream.cc:
  • Source/webrtc/video/video_send_stream.h:

Source/WebCore:

<rdar://problem/71763010>

Reviewed by Eric Carlson.

Expose RTCRtpScriptTransformerContext to RTCRtpScriptTransformer as part of third parameter of the 'start' callback.
This context exposes some states (sender or receiver transform, audio or video transform).
It also exposes the ability to request key frames for video transforms.

Make RTCRtpTransformableFrame ref counted so that we can keep it even though the frame was piped to the writable stream.
Make LibWebRTCRtpTransformableFrame able to cope with a nullptr internal rtc frame.

Add support for RTCEncodedVideoFrame.type.

Tests: http/wpt/webrtc/audio-script-transform.html

http/wpt/webrtc/video-script-transform.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/mediastream/RTCEncodedVideoFrame.cpp:

(WebCore::RTCEncodedVideoFrame::RTCEncodedVideoFrame):

  • Modules/mediastream/RTCEncodedVideoFrame.h:

(WebCore::RTCEncodedVideoFrame::type const):

  • Modules/mediastream/RTCEncodedVideoFrame.idl:
  • Modules/mediastream/RTCRtpScriptTransformerContext.h: Added.

(WebCore::RTCRtpScriptTransformerContext::side const):
(WebCore::RTCRtpScriptTransformerContext::mediaType const):
(WebCore::RTCRtpScriptTransformerContext::create):
(WebCore::RTCRtpScriptTransformerContext::RTCRtpScriptTransformerContext):
(WebCore::RTCRtpScriptTransformerContext::requestKeyFrame):

  • Modules/mediastream/RTCRtpScriptTransformerContext.idl: Added.
  • Modules/mediastream/RTCRtpTransformBackend.h:
  • Modules/mediastream/RTCRtpTransformableFrame.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverTransformBackend.cpp:

(WebCore::LibWebRTCRtpReceiverTransformBackend::requestKeyFrame):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverTransformBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderTransformBackend.cpp:

(WebCore::LibWebRTCRtpSenderTransformBackend::requestKeyFrame):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderTransformBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.cpp:

(WebCore::LibWebRTCRtpTransformableFrame::isKeyFrame const):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Reviewed by Eric Carlson.

  • http/wpt/webrtc/audio-script-transform-expected.txt: Added.
  • http/wpt/webrtc/audio-script-transform.html: Added.
  • http/wpt/webrtc/video-script-transform-expected.txt: Added.
  • http/wpt/webrtc/video-script-transform.html: Added.
  • http/wpt/webrtc/context-transform.js: Added.
3:31 AM Changeset in webkit [270293] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove m_gridItemsIndexesMap
https://bugs.webkit.org/show_bug.cgi?id=219392

Patch by Rob Buis <rbuis@igalia.com> on 2020-12-01
Reviewed by Manuel Rego Casasnovas.

Remove m_gridItemsIndexesMap since it is not used.

  • rendering/Grid.h:
2:26 AM Changeset in webkit [270292] by commit-queue@webkit.org
  • 6 edits in trunk/Source

[GTK][WPE] Async scrolling udpates are blocked in the main thread
https://bugs.webkit.org/show_bug.cgi?id=219308

Patch by Alejandro G. Castro <alex@igalia.com> on 2020-12-01
Reviewed by Simon Fraser.

Source/WebCore:

We need to avoid this performance improvement of avoiding the
refresh for the scrolling thread when no wheel events were
recently sent because GTK and WPE kinetic scrolling does not use
wheel events to control the animation. We are discussing to change
this for the future and make the code more similar for every port.

No new tests, not sure if we can add tests for this situation. We
detected it manually.

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::displayDidRefresh): This function
is also called by the threaded compositor thread in case of GTK
and WPE. We can not use that condition for GTK and WPE, kinetic
animation does not use the wheel events.

Source/WebKit:

We need to use the EventDispatcher from the frameDone callback in
the ThreadedCompositor, for GTK and WPE we receive the frame
information in that thread. We have to notify the scrolling trees
in the scrolling thread even if the main thread is busy or we will
freeze when the main thread is busy. For that we use the API in
the EventDispatcher.

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::sceneUpdateFinished): Call the
EventDispatcher to notify the scrolling trees a frame was rendered.

  • WebProcess/WebPage/EventDispatcher.cpp: Enable the compilation

of the notify function for all the ports.

  • WebProcess/WebPage/EventDispatcher.h: Ditto.
1:44 AM Changeset in webkit [270291] by Lauro Moura
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Make Bytecodes generator command also depend on wasm.json
https://bugs.webkit.org/show_bug.cgi?id=219383

Reviewed by Adrian Perez de Castro.

r270265 added some new operations to wasm.json but its change did not
trigger the bytecodes generator command, causing the build to fail in
some platforms (in fact, it was caught by GTK and WPE EWS bots).

  • CMakeLists.txt: Add wasm.json as dependency to the bytecodes.h generator

command.

1:43 AM Changeset in webkit [270290] by youenn@apple.com
  • 34 edits
    1 copy in trunk

Add support for readable/writable to RTCRtpSFrameTransform
https://bugs.webkit.org/show_bug.cgi?id=219298

Reviewed by Eric Carlson.

Source/WebCore:

Add support for locking WritableStream and checking locked state.
Add readable/writable getters so that RTCRtpSFrameTransform can be used as a TransformStream.
Make a refactoring to allow reuse of SimpleReadableStreamSource and SimpleWritableStreamSink.

In case of encryption/decryption error, we do not error the transform as this is final.
Instead, we output empty buffers.
In case of trying to encrypt unexpected objects, we error the transform.

Move RTCRtpTransformableFrame to be ref counted.
This allows to keep a RTCRtpTransformableFrame for each RTCEncodedFrame even though the underlying
webrtc frame (which is a unique ptr) is given back to the webrtc backend after processing.

Covered by updated test.

  • Modules/mediastream/RTCEncodedAudioFrame.cpp:

(WebCore::RTCEncodedAudioFrame::RTCEncodedAudioFrame):

  • Modules/mediastream/RTCEncodedAudioFrame.h:

(WebCore::RTCEncodedAudioFrame::create):

  • Modules/mediastream/RTCEncodedFrame.cpp:

(WebCore::RTCEncodedFrame::RTCEncodedFrame):

  • Modules/mediastream/RTCEncodedFrame.h:

(WebCore::RTCEncodedFrame::rtcFrame):

  • Modules/mediastream/RTCEncodedVideoFrame.cpp:

(WebCore::RTCEncodedVideoFrame::RTCEncodedVideoFrame):

  • Modules/mediastream/RTCEncodedVideoFrame.h:

(WebCore::RTCEncodedVideoFrame::create):

  • Modules/mediastream/RTCRtpSFrameTransform.cpp:

(WebCore::RTCRtpSFrameTransform::RTCRtpSFrameTransform):
(WebCore::RTCRtpSFrameTransform::isAttached const):
(WebCore::RTCRtpSFrameTransform::initializeTransformer):
(WebCore::RTCRtpSFrameTransform::willClearBackend):
(WebCore::transformFrame):
(WebCore::RTCRtpSFrameTransform::createStreams):
(WebCore::RTCRtpSFrameTransform::readable):
(WebCore::RTCRtpSFrameTransform::writable):

  • Modules/mediastream/RTCRtpSFrameTransform.h:

(WebCore::RTCRtpSFrameTransform::create):

  • Modules/mediastream/RTCRtpSFrameTransform.idl:
  • Modules/mediastream/RTCRtpSFrameTransformer.cpp:

(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):
(WebCore::RTCRtpSFrameTransformer::encryptFrame):
(WebCore::RTCRtpSFrameTransformer::transform):
(WebCore::RTCRtpSFrameTransformer::updateAuthenticationSize):

  • Modules/mediastream/RTCRtpSFrameTransformer.h:

(WebCore::RTCRtpSFrameTransformer::setIsEncrypting):
(WebCore::RTCRtpSFrameTransformer::setAuthenticationSize):

  • Modules/mediastream/RTCRtpSFrameTransformerCocoa.cpp:

(WebCore::RTCRtpSFrameTransformer::updateAuthenticationSize):

  • Modules/mediastream/RTCRtpScriptTransformer.cpp:

(WebCore::RTCRtpScriptTransformer::startStreams):

  • Modules/mediastream/RTCRtpScriptTransformer.h:
  • Modules/mediastream/RTCRtpTransformBackend.h:
  • Modules/mediastream/RTCRtpTransformableFrame.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderTransformBackend.cpp:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.cpp:

(WebCore::LibWebRTCRtpTransformBackend::processTransformedFrame):
(WebCore::LibWebRTCRtpTransformBackend::Transform):

  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.cpp: Added.
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.h:
  • Modules/streams/ReadableStreamSource.h:

(WebCore::SimpleReadableStreamSource::create):
(WebCore::SimpleReadableStreamSource::close):
(WebCore::SimpleReadableStreamSource::enqueue):

  • Modules/streams/WritableStreamSink.h:

(WebCore::SimpleWritableStreamSink::create):
(WebCore::SimpleWritableStreamSink::SimpleWritableStreamSink):
(WebCore::SimpleWritableStreamSink::write):

  • bindings/js/WritableStream.cpp:

(WebCore::WritableStreamInternal::callFunction):
(WebCore::checkWritableStream):
(WebCore::WritableStream::lock):
(WebCore::WritableStream::isLocked const):

  • bindings/js/WritableStream.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(AddToIncludesForIDLType):

Tools:

  • TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:

(TestWebKitAPI::createVideoTransformer):

LayoutTests:

  • http/wpt/webrtc/sframe-transform-expected.txt:
  • http/wpt/webrtc/sframe-transform.html:
1:31 AM Changeset in webkit [270289] by Diego Pino Garcia
  • 8 edits
    3 adds in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update baselines after r270284.

  • platform/wpe/css1/formatting_model/height_of_lines-expected.png: Added.
  • platform/wpe/css1/formatting_model/height_of_lines-expected.txt: Update after r238730.
  • platform/wpe/fast/block/float/overhanging-tall-block-expected.png: Added.
  • platform/wpe/fast/block/float/overhanging-tall-block-expected.txt: Update after r270070.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-case.any-expected.txt: Update after r269947.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-case.any.worker-expected.txt: Update after r269947.
  • platform/wpe/imported/w3c/web-platform-tests/html/browsers/sandboxing/sandbox-parse-noscript-expected.png: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/browsers/sandboxing/sandbox-parse-noscript-expected.txt: Update after r269745.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: Update after r270102.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: Update after r270102.
1:21 AM Changeset in webkit [270288] by svillar@igalia.com
  • 7 edits in trunk

[css-flexbox] WebKit doesn't preserve aspect ratio when computing cross size of flexed images in auto-height flex container
https://bugs.webkit.org/show_bug.cgi?id=209983
<rdar://problem/61288094>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-flexbox/flexitem-stretch-image-expected.txt: Replace FAIL by PASS expectations.

Source/WebCore:

Aspect ratio was not preserved in the cross axis because WebKit was stretching the items (as they're auto sized) without considering
the aspect ratio. Instead of letting flexbox code deal with that we basically don't stretch them and let RenderReplaced compute the
cross size based on the aspect ratio as it does with other elements that are not flex items.

This allows us to pass 3 tests from the WPT test suite.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::needToStretchChildLogicalHeight const): Return false for replaced elements with aspect ratio.

LayoutTests:

  • TestExpectations: Unskipped 2 tests that are working fine now
  • css3/flexbox/flexitem.html: Updated expectations. Aspect ratio must be preserved.
12:42 AM Changeset in webkit [270287] by Diego Pino Garcia
  • 8 edits
    7 adds in trunk/LayoutTests

[WPE] Unreviewed test gardening. Update WPE baselines of baselines updated r238731.

  • platform/wpe/fast/css/resize-corner-tracking-expected.png: Added.
  • platform/wpe/fast/css/resize-corner-tracking-expected.txt:
  • platform/wpe/fast/css/text-overflow-input-expected.png: Added.
  • platform/wpe/fast/css/text-overflow-input-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.png: Added.
  • platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
  • platform/wpe/fast/text/hyphenate-limit-before-after-expected.png: Added.
  • platform/wpe/fast/text/hyphenate-limit-before-after-expected.txt:
  • platform/wpe/fast/text/international/bidi-LDB-2-CSS-expected.png: Added.
  • platform/wpe/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/wpe/fast/text/international/bidi-LDB-2-HTML-expected.png: Added.
  • platform/wpe/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/wpe/fast/text/international/bidi-LDB-2-formatting-characters-expected.png: Added.
  • platform/wpe/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
12:24 AM Changeset in webkit [270286] by timothy_horton@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit

GPU Process: Invalid static_cast from ConcreteImageBuffer to RemoteImageBufferProxy
https://bugs.webkit.org/show_bug.cgi?id=219387

Reviewed by Ryosuke Niwa.

  • Shared/ConcreteShareableImageBuffer.h: Copied from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h.

(WebKit::ConcreteShareableImageBuffer::create):
(WebKit::ConcreteShareableImageBuffer::ConcreteShareableImageBuffer):
(WebKit::ConcreteShareableImageBuffer::createImageBufferBackendHandle):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::encode const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):

  • WebKit.xcodeproj/project.pbxproj:

Add and adopt ConcreteShareableImageBuffer. This is a ConcreteImageBuffer that knows how
to create an ImageBufferBackendHandle, with no other behavior change.
Previously, we were (completely incorrectly) casting ConcreteImageBuffer to RemoteImageBufferProxy
to get this behavior, and somehow just got very lucky.

  • WebProcess/GPU/media/RemoteAudioSession.cpp:

Fix some unified source issues.

Nov 30, 2020:

11:02 PM Changeset in webkit [270285] by Diego Pino Garcia
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Update baselines after r270269.

  • platform/glib/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt:
  • platform/glib/imported/w3c/web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt:
10:49 PM Changeset in webkit [270284] by pvollan@apple.com
  • 4 edits in trunk/Source

[macOS] Adopt SPI to prevent establishing XPC connections to Launch Services
https://bugs.webkit.org/show_bug.cgi?id=219173
<rdar://problem/71595536>

Reviewed by Alex Christensen.

Source/WebCore/PAL:

Declare enum value to be used when adopting the SPI.

  • pal/spi/cocoa/LaunchServicesSPI.h:

Source/WebKit:

Adopt SPI to prevent establishing XPC connections to Launch Services in the WebContent process on macOS.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

8:47 PM Changeset in webkit [270283] by ysuzuki@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Making module entry promise-like by setting "then"
https://bugs.webkit.org/show_bug.cgi?id=216695

Reviewed by Saam Barati.

Setting then: @undefined to make entry promise-like.
We also optimize @InternalPromise.internalAll a bit.

  • builtins/InternalPromiseConstructor.js:

(internalAll.newResolveElement):
(internalAll):

  • builtins/ModuleLoader.js:

(globalPrivate.newRegistryEntry):
(requestImportModule):
(async requestImportModule): Deleted.

  • builtins/PromiseOperations.js:

(globalPrivate.fulfillPromiseWithFirstResolvingFunctionCallCheck):

7:59 PM Changeset in webkit [270282] by Wenson Hsieh
  • 3 edits in trunk/Tools

check-webkit-style should allow WebKitAdditions headers to appear after soft linking headers
https://bugs.webkit.org/show_bug.cgi?id=219382

Reviewed by Darin Adler.

The header include ordering rule that forces soft linking headers to be included last in implementation (cpp and
mm) files shouldn't really apply to WebKitAdditions headers, since those additions headers are only meant to
contain method and function implementations anyways.

Fix this by adding code to recognize WebKitAdditions headers as a special type of header, and exempt these
headers from the '*SoftLink.h header should be included after all other headers.' rule.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_IncludeState):
(_IncludeState.check_next_include_order):
(_classify_include):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py: Add a test case to exercise this scenario.
6:37 PM Changeset in webkit [270281] by Andres Gonzalez
  • 4 edits in trunk/Source/WebCore

[WebAccessibilityObjectWrapper doAXAttributedStringForRange] needs to run on the main thread.
https://bugs.webkit.org/show_bug.cgi?id=219360

Reviewed by Chris Fleizach.

Dispatch this call to the main thread in isolated tree mode.
In addition, moved several TextMarker static functions and ObjectiveC
wrappers out of the WebAccessibilityObjectWrapper implementation in an
ongoing effort to move core code out of the accessibility platform
wrapper.

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::textMarkerRangeFromMarkers):
(WebCore::startOrEndTextMarkerForRange):
(WebCore::textMarkerRangeFromRange):

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

(-[WebAccessibilityObjectWrapper doAXAttributedStringForRange:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeFromRange:]): Deleted,
not needed, instead call the C function directly.
(textMarkerRangeFromRange): Deleted, moved to AXObjectCacheMac.mm.
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForRange:isStart:]):
Deleted, not needed, instead call the C function directly.
(startOrEndTextmarkerForRange): Deleted, Moved to AXObjectCacheMac.mm.

6:18 PM Changeset in webkit [270280] by timothy_horton@apple.com
  • 9 edits
    3 deletes in trunk/Source/WebKit

Unreviewed, reverting r270275.

Broke canvas painting

Reverted changeset:

"GPU Process: IOSurfaces should not be mapped into the Web
Content Process"
https://bugs.webkit.org/show_bug.cgi?id=219368
https://trac.webkit.org/changeset/270275

6:09 PM Changeset in webkit [270279] by Fujii Hironori
  • 3 edits in trunk/Source/WebKit

[WinCairo?] GPU process remains alive even after UI process exited
https://bugs.webkit.org/show_bug.cgi?id=219321

Reviewed by Don Olmstead.

GPUConnectionToWebProcess::didClose is called when web process
exits, and GPUProcess::didClose is called when UI process exits in
GPU process. GPUProcess::didClose should terminate the GPU
process.

AuxiliaryProcess is the base class of GPUProcess.
AuxiliaryProcess::didClose is calling _exit. However, GPUProcess
overrode AuxiliaryProcess::didClose but it did nothing. GPUProcess
doesn't need to override it.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::didClose): Deleted.

  • GPUProcess/GPUProcess.h:
5:29 PM Changeset in webkit [270278] by Simon Fraser
  • 20 edits in trunk/Source

Pass OptionSet<EventHandling> to various wheel event handler functions
https://bugs.webkit.org/show_bug.cgi?id=219373

Reviewed by Tim Horton.

Source/WebCore:

Fixing webkit.org/b/218764 will require that code that dispatches wheel events
can tell later whether script called preventDefault() on the event, since this
will affect whether the rest of the wheel events in a gesture are cancelable.

To prepare for this, pass OptionSet<EventHandling> around in event handling
code.

No behavior change.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

  • page/EventHandler.cpp:

(WebCore::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::processWheelEventForScrolling):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::handleWheelEventInternal):
(WebCore::EventHandler::defaultWheelEventHandler):

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

(WebCore::FrameView::handleWheelEventForScrolling):

  • page/FrameView.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::processWheelEventForScrolling):

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::handleWheelEventForScrolling):

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::handleWheelEventForScrolling):

  • page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:

(WebCore::ScrollingCoordinatorNicosia::handleWheelEventForScrolling):
(WebCore::ScrollingCoordinatorNicosia::wheelEventWasProcessedByMainThread):

  • page/scrolling/nicosia/ScrollingCoordinatorNicosia.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::handleWheelEventForScrolling):

  • platform/ScrollableArea.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::handleWheelEventForScrolling):

  • rendering/RenderLayer.h:

Source/WebKit:

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleWheelEvent):

4:46 PM Changeset in webkit [270277] by Tadeu Zagallo
  • 2 edits
    108 copies
    96 adds
    4 deletes in trunk/PerformanceTests

Add C and ObjC tests to APIBench
https://bugs.webkit.org/show_bug.cgi?id=219246

Reviewed by Yusuke Suzuki.

The benchmark now consists of two groups: initially they are identical, but the first group will not
be changed going forward while the second group will be free to adopt new APIs.
The two original tests (one mostly JS and the other mostly native) were also split into three tests each (C, ObjC and Swift).

  • APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/xcshareddata/xcschemes/RichardsMostlyC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
  • APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC/richards.c: Added.

(pkt):
(trace):
(schedule):
(wait_):
(holdself):
(findtcb):
(release):
(qpkt):
(idlefn):
(valueToTask):
(waitWrapper):
(qpktWrapper):
(readFile):
(workfn):
(handlerfn):
(devfn):
(append):
(setup):
(getQpktcount):
(getHoldcount):
(main):

  • APIBench/CurrentAPI/RichardsMostlyC/RichardsMostlyC/richards.js: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(createWorkfn):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Device.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(+[DeviceTask createWithScheduler:device:priority:]):
(-[DeviceTask run:]):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.m: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.

(+[HandlerTask createWithScheduler:device:priority:queue:]):
(-[HandlerTask run:]):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(+[IdleTask createWithScheduler:priority:]):
(-[IdleTask run:]):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.

(+[Packet create:withLink:]):
(-[Packet addToQueue:]):
(+[DevicePacket create:withLink:]):
(+[WorkPacket createWithLink:]):
(+[WorkPacket size]):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.h: Added.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.m: Added.

(-[Scheduler schedule]):
(-[Scheduler addTask:]):
(-[Scheduler releaseDevice:]):
(-[Scheduler holdCurrent]):
(-[Scheduler waitCurrent]):
(-[Scheduler queue:]):
(-[Scheduler handle:]):
(-[Scheduler _queueImpl:packet:]):
(-[Scheduler _find:]):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.h: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.m: Added.

(+[Task createWithScheduler:priority:queue:]):
(-[Task run:]):
(-[Task release_]):
(-[Task hold]):
(-[Task wait]):
(-[Task resume]):
(-[Task takePacket]):
(-[Task checkPriorityAdd:packet:]):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.m: Added.

(+[WorkerTask createWithScheduler:priority:queue:]):
(+[WorkerTask context]):
(+[WorkerTask constructor]):
(-[WorkerTask run:]):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/main.m: Added.

(runRichards):
(main):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.

(return.prototype.run):

  • APIBench/CurrentAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/Packet.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Packet.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/Task.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Task.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/main.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/main.swift.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.
  • APIBench/CurrentAPI/RichardsMostlySwift/RichardsMostlySwift/richards.swift: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.swift.
  • APIBench/CurrentAPI/RichardsSomeC/RichardsSomeC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/CurrentAPI/RichardsSomeC/RichardsSomeC/main.m: Added.

(WorkerTask_run):
(WorkerTask_constructor):
(WorkerTask_getProperty):
(main):

  • APIBench/CurrentAPI/RichardsSomeC/RichardsSomeC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.
  • APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/xcshareddata/xcschemes/RichardsSomeObjC.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
  • APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC/main.m: Added.

(-[WorkerTask initWithScheduler:v1:v2:]):
(-[WorkerTask toString]):
(-[WorkerTask run:]):
(main):

  • APIBench/CurrentAPI/RichardsSomeObjC/RichardsSomeObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/xcshareddata/xcschemes/RichardsSomeSwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
  • APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift/main.swift: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/main.swift.
  • APIBench/CurrentAPI/RichardsSomeSwift/RichardsSomeSwift/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/References/RichardsC/RichardsC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/References/RichardsC/RichardsC.xcodeproj/xcshareddata/xcschemes/RichardsC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
  • APIBench/References/RichardsC/RichardsC/richards.c: Added.

(pkt):
(trace):
(schedule):
(wait_):
(holdself):
(findtcb):
(release):
(qpkt):
(idlefn):
(workfn):
(handlerfn):
(devfn):
(append):
(setup):
(getQpktcount):
(getHoldcount):
(main):

  • APIBench/References/RichardsC/RichardsC/richards.js: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(createWorkfn):

  • APIBench/References/RichardsJS/RichardsJS.js: Renamed from PerformanceTests/APIBench/RichardsJS/RichardsJS.js.
  • APIBench/References/RichardsObjC/RichardsObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
  • APIBench/References/RichardsObjC/RichardsObjC.xcodeproj/xcshareddata/xcschemes/RichardsObjC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
  • APIBench/References/RichardsObjC/RichardsObjC/Device.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/References/RichardsObjC/RichardsObjC/DeviceTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/References/RichardsObjC/RichardsObjC/DeviceTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(+[DeviceTask createWithScheduler:device:priority:]):
(-[DeviceTask run:]):

  • APIBench/References/RichardsObjC/RichardsObjC/HandlerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/References/RichardsObjC/RichardsObjC/HandlerTask.m: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.

(+[HandlerTask createWithScheduler:device:priority:queue:]):
(-[HandlerTask run:]):

  • APIBench/References/RichardsObjC/RichardsObjC/IdleTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/References/RichardsObjC/RichardsObjC/IdleTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(+[IdleTask createWithScheduler:priority:]):
(-[IdleTask run:]):

  • APIBench/References/RichardsObjC/RichardsObjC/Packet.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
  • APIBench/References/RichardsObjC/RichardsObjC/Packet.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.

(+[Packet create:withLink:]):
(-[Packet addToQueue:]):
(+[DevicePacket create:withLink:]):
(+[WorkPacket createWithLink:]):
(+[WorkPacket size]):

  • APIBench/References/RichardsObjC/RichardsObjC/Scheduler.h: Added.
  • APIBench/References/RichardsObjC/RichardsObjC/Scheduler.m: Added.

(-[Scheduler schedule]):
(-[Scheduler addTask:]):
(-[Scheduler releaseDevice:]):
(-[Scheduler holdCurrent]):
(-[Scheduler waitCurrent]):
(-[Scheduler queue:]):
(-[Scheduler handle:]):
(-[Scheduler _queueImpl:packet:]):
(-[Scheduler _find:]):

  • APIBench/References/RichardsObjC/RichardsObjC/Task.h: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
  • APIBench/References/RichardsObjC/RichardsObjC/Task.m: Added.

(+[Task createWithScheduler:priority:queue:]):
(-[Task run:]):
(-[Task release_]):
(-[Task hold]):
(-[Task wait]):
(-[Task resume]):
(-[Task takePacket]):
(-[Task checkPriorityAdd:packet:]):

  • APIBench/References/RichardsObjC/RichardsObjC/WorkerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/References/RichardsObjC/RichardsObjC/WorkerTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(+[WorkerTask createWithScheduler:priority:queue:]):
(-[WorkerTask run:]):

  • APIBench/References/RichardsObjC/RichardsObjC/main.m: Added.

(runRichards):
(main):

  • APIBench/References/RichardsObjC/RichardsObjC/richards.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/References/RichardsSwift/RichardsSwift.xcodeproj/project.pbxproj: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/project.pbxproj.
  • APIBench/References/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
  • APIBench/References/RichardsSwift/RichardsSwift/DeviceTask.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/DeviceTask.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/HandlerTask.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/HandlerTask.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/IdleTask.swift: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/Packet.swift: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/Scheduler.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Scheduler.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/Task.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Task.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/WorkerTask.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/WorkerTask.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/main.swift: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/References/RichardsSwift/RichardsSwift/richards.swift: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/richards.swift.
  • APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC.xcodeproj/xcshareddata/xcschemes/RichardsMostlyC.xcscheme: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
  • APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC/richards.c: Added.

(pkt):
(trace):
(schedule):
(wait_):
(holdself):
(findtcb):
(release):
(qpkt):
(idlefn):
(valueToTask):
(waitWrapper):
(qpktWrapper):
(readFile):
(workfn):
(handlerfn):
(devfn):
(append):
(setup):
(getQpktcount):
(getHoldcount):
(main):

  • APIBench/UpcomingAPI/RichardsMostlyC/RichardsMostlyC/richards.js: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(createWorkfn):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift.xcodeproj/xcshareddata/xcschemes/RichardsSwift.xcscheme.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Device.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/DeviceTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(+[DeviceTask createWithScheduler:device:priority:]):
(-[DeviceTask run:]):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/HandlerTask.m: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.

(+[HandlerTask createWithScheduler:device:priority:queue:]):
(-[HandlerTask run:]):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/IdleTask.m: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.

(+[IdleTask createWithScheduler:priority:]):
(-[IdleTask run:]):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.h: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/Packet.swift.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Packet.m: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/IdleTask.swift.

(+[Packet create:withLink:]):
(-[Packet addToQueue:]):
(+[DevicePacket create:withLink:]):
(+[WorkPacket createWithLink:]):
(+[WorkPacket size]):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.h: Added.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Scheduler.m: Added.

(-[Scheduler schedule]):
(-[Scheduler addTask:]):
(-[Scheduler releaseDevice:]):
(-[Scheduler holdCurrent]):
(-[Scheduler waitCurrent]):
(-[Scheduler queue:]):
(-[Scheduler handle:]):
(-[Scheduler _queueImpl:packet:]):
(-[Scheduler _find:]):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.h: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/Task.m: Added.

(+[Task createWithScheduler:priority:queue:]):
(-[Task run:]):
(-[Task release_]):
(-[Task hold]):
(-[Task wait]):
(-[Task resume]):
(-[Task takePacket]):
(-[Task checkPriorityAdd:packet:]):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.h: Copied from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/WorkerTask.m: Added.

(+[WorkerTask createWithScheduler:priority:queue:]):
(+[WorkerTask context]):
(+[WorkerTask constructor]):
(-[WorkerTask run:]):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/main.m: Added.

(runRichards):
(main):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.

(return.prototype.run):

  • APIBench/UpcomingAPI/RichardsMostlyObjC/RichardsMostlyObjC/richards.m: Renamed from PerformanceTests/APIBench/RichardsSwift/RichardsSwift/main.swift.
  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/project.pbxproj.
  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift.xcodeproj/xcshareddata/xcschemes/RichardsMostlySwift.xcscheme.
  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/DeviceTask.swift.

(DeviceTask.create(_:device:priority:)):
(DeviceTask.run(_:)):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/HandlerTask.swift.

(HandlerTask.device):
(HandlerTask.create(_:device:priority:queue:)):
(HandlerTask.run(_:)):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/IdleTask.swift.

(IdleTask.create(_:priority:)):
(IdleTask.run(_:)):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/Packet.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Packet.swift.

(Packet.addTo(_:)):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Scheduler.swift.

(waitCurrent):
(handle(_:)):
(Scheduler.schedule):
(Scheduler.add(_:)):
(Scheduler.release_(_:)):
(holdCurrent):
(queue(_:)):
(queueImpl(_:packet:)):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/Task.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/Task.swift.

(Task.run(_:)):
(Task.release_):
(Task.hold):
(Task.wait):
(Task.resume):
(Task.takePacket):
(Task.checkPriorityAdd(_:packet:)):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/WorkerTask.swift.

(WorkerTask.create(_:priority:queue:)):
(WorkerTask.run(_:)):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/main.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/main.swift.
  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/richards.js: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.js.

(return.prototype.run):

  • APIBench/UpcomingAPI/RichardsMostlySwift/RichardsMostlySwift/richards.swift: Renamed from PerformanceTests/APIBench/RichardsMostlySwift/RichardsMostlySwift/richards.swift.

(runRichards):

  • APIBench/UpcomingAPI/RichardsSomeC/RichardsSomeC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/UpcomingAPI/RichardsSomeC/RichardsSomeC/main.m: Added.

(WorkerTask_run):
(WorkerTask_constructor):
(WorkerTask_getProperty):
(main):

  • APIBench/UpcomingAPI/RichardsSomeC/RichardsSomeC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/project.pbxproj: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC.xcodeproj/xcshareddata/xcschemes/RichardsSomeObjC.xcscheme: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
  • APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC/main.m: Added.

(-[WorkerTask initWithScheduler:v1:v2:]):
(-[WorkerTask toString]):
(-[WorkerTask run:]):
(main):

  • APIBench/UpcomingAPI/RichardsSomeObjC/RichardsSomeObjC/richards.js: Copied from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/project.pbxproj: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/project.pbxproj.
  • APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift.xcodeproj/xcshareddata/xcschemes/RichardsSomeSwift.xcscheme: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS.xcodeproj/xcshareddata/xcschemes/RichardsMostlyJS.xcscheme.
  • APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift/main.swift: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/main.swift.

(run(_:)):
(toString):
(WorkerTask.toString):
(WorkerTask.run(_:)):

  • APIBench/UpcomingAPI/RichardsSomeSwift/RichardsSomeSwift/richards.js: Renamed from PerformanceTests/APIBench/RichardsMostlyJS/RichardsMostlyJS/richards.js.

(runRichards):
(Scheduler):
(Scheduler.prototype.addIdleTask):
(Scheduler.prototype.addWorkerTask):
(Scheduler.prototype.addHandlerTask):
(Scheduler.prototype.addDeviceTask):
(Scheduler.prototype.addRunningTask):
(Scheduler.prototype.addTask):
(Scheduler.prototype.schedule):
(Scheduler.prototype.release):
(Scheduler.prototype.holdCurrent):
(Scheduler.prototype.suspendCurrent):
(Scheduler.prototype.queue):
(TaskControlBlock):
(TaskControlBlock.prototype.setRunning):
(TaskControlBlock.prototype.markAsNotHeld):
(TaskControlBlock.prototype.markAsHeld):
(TaskControlBlock.prototype.isHeldOrSuspended):
(TaskControlBlock.prototype.markAsSuspended):
(TaskControlBlock.prototype.markAsRunnable):
(TaskControlBlock.prototype.run):
(TaskControlBlock.prototype.checkPriorityAdd):
(TaskControlBlock.prototype.toString):
(IdleTask):
(IdleTask.prototype.run):
(IdleTask.prototype.toString):
(DeviceTask):
(DeviceTask.prototype.run):
(DeviceTask.prototype.toString):
(HandlerTask):
(HandlerTask.prototype.run):
(HandlerTask.prototype.toString):
(Packet):
(Packet.prototype.addTo):
(Packet.prototype.toString):

  • APIBench/api-bench:
4:34 PM Changeset in webkit [270276] by BJ Burg
  • 2 edits in trunk/Tools

filter-build-webkit: reduce non-actionable warnings from objc runtime and xcodebuild
https://bugs.webkit.org/show_bug.cgi?id=219376

Reviewed by Simon Fraser.

  • Scripts/filter-build-webkit:

(shouldIgnoreLine):

4:30 PM Changeset in webkit [270275] by timothy_horton@apple.com
  • 9 edits
    1 copy
    2 adds in trunk/Source/WebKit

GPU Process: IOSurfaces should not be mapped into the Web Content Process
https://bugs.webkit.org/show_bug.cgi?id=219368

Reviewed by Ryosuke Niwa.

Since the Web Content process sandbox will eventually not have access to IOKit,
it will not be able to map/lock/use IOSurfaces. Thankfully, all it really needs
to be able to do is carry a reference to the surface from the GPU process to the
UI process (where it is mapped and applied as layer contents).

  • Shared/ConcreteShareableImageBuffer.h: Copied from Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h.

(WebKit::ConcreteShareableImageBuffer::create):
(WebKit::ConcreteShareableImageBuffer::ConcreteShareableImageBuffer):
(WebKit::ConcreteShareableImageBuffer::createImageBufferBackendHandle):

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::encode const):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
Add and adopt ConcreteShareableImageBuffer. This is a ConcreteImageBuffer that knows how
to create an ImageBufferBackendHandle, with no other behavior change.
Previously, we were (completely incorrectly) casting ConcreteImageBuffer to RemoteImageBufferProxy
to get this behavior, and somehow just got very lucky.

  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/PlatformImageBufferShareableBackend.h:
  • WebProcess/GPU/graphics/PlatformRemoteImageBufferProxy.h:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp:
  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h:

Remove the ImageBufferShareableIOSurfaceBackend create() method that takes
an ImageBufferBackendHandle, since we always use the Unmapped variant.
ImageBufferShareableIOSurfaceBackend is now only used:

  • in the GPU process
  • in the Web Content process when DOM rendering in the GPU process is disabled

In both cases, the process that uses ImageBufferShareableIOSurfaceBackend also
originates the surface, so does not create it from a handle.

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableUnmappedIOSurfaceBackend.cpp: Added.

(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::create):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::createImageBufferBackendHandle const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::context const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::copyNativeImage const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::copyImage const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::draw):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::drawPattern):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::toDataURL const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::toData const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::toBGRAData const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::getImageData const):
(WebKit::ImageBufferShareableUnmappedIOSurfaceBackend::putImageData):

  • WebProcess/GPU/graphics/cocoa/ImageBufferShareableUnmappedIOSurfaceBackend.h: Added.

Add and adopt ImageBufferShareableUnmappedIOSurfaceBackend, which is a ImageBufferBackend
that cannot perform most ImageBufferBackend duties, except creating an ImageBufferBackendHandle,
which it does by cloning the existing handle. It explicitly does *not* map the IOSurface in the
process, and is meant for use in Web Content processes that do not have access to IOSurface.

  • WebProcess/GPU/media/RemoteAudioSession.cpp:

Fix some unified source issues.

3:57 PM Changeset in webkit [270274] by Russell Epstein
  • 868 edits
    18 moves
    22 adds
    141 deletes in branches/safari-611.1.7-branch

Cherry-pick r270272. rdar://problem/71819648

Unreviewed, reverting r270129, r270194, and r270258.

r270129 broke macCatalyst build

Reverted changesets:

"Update ANGLE 2020-11-12"
https://bugs.webkit.org/show_bug.cgi?id=218877
https://trac.webkit.org/changeset/270129

"Fix ANGLE CMakeLists.txt warnings"
https://bugs.webkit.org/show_bug.cgi?id=219260
https://trac.webkit.org/changeset/270194

"Attempted build fix for Mac Catalyst. Include the SystemInfo
header."
https://trac.webkit.org/changeset/270258

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

3:43 PM Changeset in webkit [270273] by Chris Dumez
  • 18 edits
    2 adds in trunk

sessionStorage should not be cloned when a window is opened with rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=218804
<rdar://problem/71286606>

Reviewed by Alex Christensen.

Source/WebCore:

sessionStorage should not be cloned when a window is opened with rel=noopener, as per:

Both Firefox and Chrome have already implemented this behavior.

  • loader/EmptyFrameLoaderClient.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

  • loader/FrameLoaderClient.h:
  • page/Chrome.cpp:

(WebCore::Chrome::createWindow const):

Source/WebKit:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchCreatePage):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchCreatePage):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchCreatePage):

  • WebCoreSupport/WebFrameLoaderClient.h:

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/SessionStorage.mm: Added.

(-[SessionStorageUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[SessionStorageUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(createAndInitializeTestWebView):
(checkSessionStorageInNewWindow):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/confirm.html: Added.
3:37 PM Changeset in webkit [270272] by Ryan Haddad
  • 868 edits
    6 copies
    12 moves
    22 adds
    101 deletes in trunk

Unreviewed, reverting r270129, r270194, and r270258.

r270129 broke macCatalyst build

Reverted changesets:

"Update ANGLE 2020-11-12"
https://bugs.webkit.org/show_bug.cgi?id=218877
https://trac.webkit.org/changeset/270129

"Fix ANGLE CMakeLists.txt warnings"
https://bugs.webkit.org/show_bug.cgi?id=219260
https://trac.webkit.org/changeset/270194

"Attempted build fix for Mac Catalyst. Include the SystemInfo
header."
https://trac.webkit.org/changeset/270258

3:24 PM Changeset in webkit [270271] by Alan Coon
  • 8 edits in branches/safari-610.3.7.0-branch/Source

Versioning.

WebKit-7610.3.7.0.4

3:23 PM Changeset in webkit [270270] by Alan Coon
  • 1 copy in tags/Safari-610.3.7.0.3

Tag Safari-610.3.7.0.3.

3:15 PM Changeset in webkit [270269] by commit-queue@webkit.org
  • 9 edits in trunk

Allow blob URLs with fragments
https://bugs.webkit.org/show_bug.cgi?id=219361

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

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/url/url-with-fetch.any-expected.txt:
  • web-platform-tests/FileAPI/url/url-with-fetch.any.worker-expected.txt:
  • web-platform-tests/FileAPI/url/url-with-xhr.any-expected.txt:
  • web-platform-tests/FileAPI/url/url-with-xhr.any.worker-expected.txt:

Source/WebCore:

When fetching blob content, we use the whole blob URL.
In order to match Chrome and Firefox, we need to remove the fragment if there is one.

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::getBlobDataFromURL const):

3:05 PM Changeset in webkit [270268] by Jonathan Bedard
  • 2 edits in trunk/Tools

[git transition] Add old aliases to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=219367
<rdar://problem/71821209>

Reviewed by Dewei Zhu.

  • Scripts/webkitpy/common/config/contributors.json: Add old aliases for Ken Kocienda and

Maciej Stachowiak.

2:25 PM Changeset in webkit [270267] by Russell Epstein
  • 8 edits in trunk/Source

Versioning.

WebKit-7611.1.8

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

[build.webkit.org] Move old buildbot unittests to steps_unittest_old.py (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=219364
<rdar://problem/71821157>

Unreviewed minor follow-up fix.

  • CISupport/build-webkit-org/loadConfig_unittest.py:
2:12 PM Changeset in webkit [270265] by commit-queue@webkit.org
  • 13 edits in trunk

Add support for the Wasm i64 sign-extension-ops proposal
https://bugs.webkit.org/show_bug.cgi?id=218990

Patch by Sergey Rubanov <Sergey Rubanov> on 2020-11-30
Reviewed by Yusuke Suzuki.

JSTests:

  • wasm/spec-tests/i64.wast.js:
  • wasm/wasm.json:

Source/JavaScriptCore:

  • llint/WebAssembly.asm:
  • offlineasm/arm64.rb:
  • offlineasm/cloop.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Extend8S>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Extend16S>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64Extend32S>):

  • wasm/wasm.json:

LayoutTests:

  • workers/wasm-references/test.js:
1:49 PM Changeset in webkit [270264] by Russell Epstein
  • 2 edits in branches/safari-611.1.7-branch/Source/ThirdParty/ANGLE

Cherry-pick r270258. rdar://problem/71819648

Attempted build fix for Mac Catalyst. Include the SystemInfo header.

  • src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:

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

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

REGRESSION: imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219366

unreviewed test gardening.

  • platform/mac/TestExpectations:
1:45 PM Changeset in webkit [270262] by aakash_jain@apple.com
  • 3 edits
    2 moves in trunk/Tools

[build.webkit.org] Move old buildbot unittests to steps_unittest_old.py
https://bugs.webkit.org/show_bug.cgi?id=219364

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/committer_auth_unittest.py: Removed.
  • CISupport/build-webkit-org/committer_auth_unittest_old.py: Moved from Tools/CISupport/build-webkit-org/committer_auth_unittest.py.
  • CISupport/build-webkit-org/steps_unittest.py: Removed.
  • CISupport/build-webkit-org/steps_unittest_old.py: Moved from Tools/CISupport/build-webkit-org/steps_unittest.py.
  • CISupport/ews-build/steps.py:

(RunBuildWebKitOrgUnitTests): Updated ews configuration appropriately.
(RunBuildWebKitOrgUnitTests.getResultSummary):

  • CISupport/ews-build/steps_unittest.py: Updated ews unit-tests.
1:42 PM Changeset in webkit [270261] by Russell Epstein
  • 1 copy in branches/safari-611.1.7-branch

New branch.

1:38 PM Changeset in webkit [270260] by Russell Epstein
  • 1 copy in tags/Safari-611.1.6.1

Tag Safari-611.1.6.1.

1:23 PM Changeset in webkit [270259] by Russell Epstein
  • 8 edits in branches/safari-611.1.6-branch/Source

Versioning.

WebKit-7611.1.6.1

12:54 PM Changeset in webkit [270258] by dino@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Attempted build fix for Mac Catalyst. Include the SystemInfo header.

  • src/libANGLE/renderer/gl/apple/DisplayApple_api.cpp:
12:29 PM Changeset in webkit [270257] by James Darpinian
  • 15 edits
    6 adds in trunk

Support KHR_parallel_shader_compile
https://bugs.webkit.org/show_bug.cgi?id=219266

Reviewed by Kenneth Russell.

Source/WebCore:

Tested by webgl/conformance/extensions/khr-parallel-shader-compile.html

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMConvertWebGL.cpp:

(WebCore::convertToJSValue):

  • html/canvas/KHRParallelShaderCompile.cpp: Added.

(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
(WebCore::KHRParallelShaderCompile::getName const):
(WebCore::KHRParallelShaderCompile::supported):

  • html/canvas/KHRParallelShaderCompile.h: Added.
  • html/canvas/KHRParallelShaderCompile.idl: Added.
  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):

  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::loseExtensions):

  • html/canvas/WebGLRenderingContextBase.h:
  • platform/graphics/ExtensionsGL.h:

LayoutTests:

  • webgl/conformance/extensions/khr-parallel-shader-compile-expected.txt: Added.
  • webgl/conformance/extensions/khr-parallel-shader-compile.html: Added.
  • webgl/resources/webgl_test_files/conformance/extensions/khr-parallel-shader-compile.html: Added.
11:36 AM Changeset in webkit [270256] by youenn@apple.com
  • 24 edits in trunk

Introduce an experimental flag specific to VP9 profile 2
https://bugs.webkit.org/show_bug.cgi?id=219350

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Allow to enable profile 0 but not profile 2 for VP9 encoder and decoder.

  • Source/webrtc/sdk/WebKit/WebKitDecoder.mm:

(webrtc::createWebKitDecoderFactory):

  • Source/webrtc/sdk/WebKit/WebKitEncoder.mm:

(webrtc::createWebKitEncoderFactory):

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

(-[RTCDefaultVideoDecoderFactory initWithH265:vp9Profile0:vp9Profile2:vp9VTB:]):
(-[RTCDefaultVideoDecoderFactory supportedCodecs]):
(-[RTCDefaultVideoDecoderFactory initWithH265:vp9:vp9VTB:]): Deleted.

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

(-[RTCDefaultVideoEncoderFactory initWithH265:vp9Profile0:vp9Profile2:lowLatencyH264:]):
(+[RTCDefaultVideoEncoderFactory supportedCodecs]):
(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9Profile0:vp9Profile2:]):
(-[RTCDefaultVideoEncoderFactory supportedCodecs]):
(-[RTCDefaultVideoEncoderFactory initWithH265:vp9:lowLatencyH264:]): Deleted.
(+[RTCDefaultVideoEncoderFactory supportedCodecsWithH265:vp9:]): Deleted.

Source/WebCore:

Introduce an experimental flag for VP9 profile 2.
Pass it to libwebrtc backend when creating codec factories.
Profile 2 support is only enabled if profile 0 support is also enabled.
Covered by updated test.

  • page/Page.cpp:

(WebCore::m_shouldRelaxThirdPartyCookieBlocking):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCVP9Profile0CodecEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9Profile0CodecEnabled):
(WebCore::RuntimeEnabledFeatures::webRTCVP9Profile2CodecEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9Profile2CodecEnabled):
(WebCore::RuntimeEnabledFeatures::webRTCVP9CodecEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setWebRTCVP9CodecEnabled): Deleted.

  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:

(WebCore::LibWebRTCProvider::setVP9Support):

  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):

  • testing/Internals.cpp:

(WebCore::Internals::setWebRTCVP9Support):

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

Source/WebKit:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

  • webrtc/vp9-expected.txt:
  • webrtc/vp9-vtb.html:
  • webrtc/vp9.html:
11:29 AM Changeset in webkit [270255] by youenn@apple.com
  • 4 edits in trunk

Missing WebRTC Metrics in iOS 14 Beta 5
https://bugs.webkit.org/show_bug.cgi?id=215678
<rdar://problem/67625414>

Reviewed by Eric Carlson.

Source/WebCore:

Expose more stats and fix a bug in stat exposure code for kind.
Covered by updated test.

  • Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:

(WebCore::fillInboundRtpStreamStats):
(WebCore::fillRemoteInboundRtpStreamStats):
(WebCore::fillOutboundRtpStreamStats):

LayoutTests:

  • webrtc/video-stats.html:
11:23 AM Changeset in webkit [270254] by Jonathan Bedard
  • 5 edits in trunk/Tools

[webkitscmpy] Support remote repositories in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=219172
<rdar://problem/71594909>

Rubber-stamped by Aakash Jain.

  • Scripts/libraries/webkitscmpy/webkitscmpy/program.py:

(Command.parser): Remove repository, since it depends on the parser.
(Command.main): Support arguments to main functions.
(Find.parser): Remove repository, since it depends on the parser.
(Checkout.parser): Ditto.
(Checkout.main): Early return if specified repository is remote.
(main): Construct repository based on path argument.

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

(TestCheckout):
(TestCheckout.test_checkout_remote):

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

(TestFind.test_baisc_svn_remote):

11:20 AM Changeset in webkit [270253] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[WebGL2] Rasterizer discard interferes with implicit clears
https://bugs.webkit.org/show_bug.cgi?id=219061

Patch by Kenneth Russell <kbr@chromium.org> on 2020-11-30
Reviewed by Dean Jackson.

When rasterizer discard is enabled, user-level draw calls and
clears skip the implicit clear since they have no effect.
Readbacks and copies still perform the implicit clear.

A new WebGL conformance test has been added for this in
https://github.com/KhronosGroup/WebGL/pull/3183 which passes with
this fix. WebKit's TestRunner doesn't run the composite phase as
the browser or MiniBrowser do, so wouldn't pass this test as
integrated as a layout test. Per discussion with dino and
kkinnunen on Slack, will address this in follow-on work.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::copyTexSubImage3D):
(WebCore::WebGL2RenderingContext::readPixels):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::ScopedDisableRasterizerDiscard::ScopedDisableRasterizerDiscard):
(WebCore::ScopedDisableRasterizerDiscard::~ScopedDisableRasterizerDiscard):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToImageData):
(WebCore::WebGLRenderingContextBase::clear):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::disable):
(WebCore::WebGLRenderingContextBase::drawArrays):
(WebCore::WebGLRenderingContextBase::drawElements):
(WebCore::WebGLRenderingContextBase::enable):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::copyTexImage2D):
(WebCore::WebGLRenderingContextBase::drawArraysInstanced):
(WebCore::WebGLRenderingContextBase::drawElementsInstanced):

  • html/canvas/WebGLRenderingContextBase.h:
11:08 AM Changeset in webkit [270252] by youenn@apple.com
  • 50 edits
    1 copy
    33 adds
    2 deletes in trunk/LayoutTests

Update WPT WebRTC tests
https://bugs.webkit.org/show_bug.cgi?id=219272

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc: Resynced.

LayoutTests:

Mark a new test as flaky in iOS simulator.

  • platform/ios-simulator-wk2/TestExpectations:
  • tests-options.json:
10:44 AM Changeset in webkit [270251] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix.

Fix non-unified builds after r270224.

  • display/DisplayTreeBuilder.cpp:
  • display/DisplayTreeBuilder.h:
10:13 AM Changeset in webkit [270250] by Aditya Keerthi
  • 11 edits in trunk/Source/WebCore

RenderTheme::paintDecorations should return void
https://bugs.webkit.org/show_bug.cgi?id=219357

Reviewed by Simon Fraser.

RenderTheme::paintDecorations currently returns a boolean value.
However, the returned value is unused. For clarity, the method is
updated to return void. The various "paint*Decorations" methods
called in RenderTheme:paintDecorations are also updated to return void.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintFileUploadIconDecorations):
(WebCore::RenderTheme::paintCheckboxDecorations):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchFieldDecorations):

  • rendering/RenderThemeAdwaita.cpp:

(WebCore::RenderThemeAdwaita::paintMenuListButtonDecorations):

  • rendering/RenderThemeAdwaita.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::paintButtonDecorations):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonDecorations):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButtonDecorations):

  • rendering/RenderThemeWin.h:
9:40 AM Changeset in webkit [270249] by Antti Koivisto
  • 9 edits in trunk/Source/WebKit

Remove throttling code from NetworkLoad
https://bugs.webkit.org/show_bug.cgi?id=219347

Reviewed by Anders Carlsson.

It is not a good latency simulation and no one is using it anyway.

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::didReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
(WebKit::NetworkLoad::didCompleteWithError):
(WebKit::NetworkLoad::Throttle::Throttle): Deleted.
(WebKit::NetworkLoad::throttleDelayCompleted): Deleted.

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::shouldLogCookieInformation const):
(WebKit::NetworkSession::loadThrottleLatency const): Deleted.

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):

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

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::platformSetNetworkParameters):

9:39 AM Changeset in webkit [270248] by commit-queue@webkit.org
  • 5 edits
    2 adds
    2 deletes in trunk

getComputedStyle rounds lineHeight to nearest pixel
https://bugs.webkit.org/show_bug.cgi?id=216601

Patch by Tyler Wilcock <Tyler Wilcock> on 2020-11-30
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt:

Update test reflecting the fact that serialization of line-height from
getComputedStyle is now represented fractionally (when appropriate).
Prior to this patch, line-height serialization was always an integer value.

Source/WebCore:

When serializing line-height for getComputedStyle, ensure the
value can be represented fractionally (when appropriate). Prior to this
patch, line-height serialization was always an integer value. Per
spec, the used value of line-height can be a <number> value, which
is fractional. Gecko and Chromium allow fractional line-heights to be
returned from getComputedStyle, further confirming this.

https://drafts.csswg.org/css2/#propdef-line-height

Test: fast/css/line-height-get-computed-style.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::lineHeightFromStyle): Cast result to double instead of
int since line-height can be represented fractionally.

LayoutTests:

Add test ensuring serialization of line-height from
getComputedStyle is represented fractionally (when appropriate).
Prior to this patch, line-height serialization was always an integer value.

The line-height-rounding.html test has been removed, as it expected
line-height to serialize as an integer, which seems wrong
considering the used value for line-height can be a <number>
(which is fractional). Gecko and Chromium allow fractional
line-heights to be returned from getComputedStyle, further
confirming this.

https://drafts.csswg.org/css2/#propdef-line-height

  • fast/css/line-height-get-computed-style-expected.txt: Added.
  • fast/css/line-height-get-computed-style.html: Added.
  • fast/css/line-height-rounding-expected.txt: Removed.
  • fast/css/line-height-rounding.html: Removed.
9:09 AM WebKitGTK/2.30.x edited by clopez@igalia.com
(diff)
9:07 AM Changeset in webkit [270247] by Jonathan Bedard
  • 2 edits in trunk/Tools

[webkitscmpy] webkitscmpy.test.svn_unittest.TestRemoteSvn.test_info timezone dependent
https://bugs.webkit.org/show_bug.cgi?id=219263
<rdar://problem/71806358>

Reviewed by Aakash Jain.

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

(TestRemoteSvn.test_info):

8:39 AM Changeset in webkit [270246] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Update RunTest262Tests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219356

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:

(RunTest262Tests):
(RunTest262Tests.start): Initialized log observer.
(RunTest262Tests.parseOutputLine): Parse each log line as they come.
(RunTest262Tests.countFailures): Updated to return failedTestCount.

8:35 AM Changeset in webkit [270245] by Aditya Keerthi
  • 10 edits in trunk/Source/WebCore

Use real dates and times as placeholders for date/time inputs with editable components
https://bugs.webkit.org/show_bug.cgi?id=219216
<rdar://problem/71636615>

Reviewed by Devin Rousso.

Currently, date/time inputs with editable components have "--" as a
placeholder when the input is empty. This is undesirable for two reasons:

  1. "--" does not fill the width of the component, leading to an unpleasant appearance.
  2. The order of the date/time components is unclear.

To resolve these issues, this patch introduces real dates and times as
placeholders. For dates, the current date is used as a placeholder.
For times, a fixed time (such as "12:30 PM") is used, to avoid being
overly specific. Note that the second and millisecond fields for times
will always have "00" and "000" as a placeholder respectively.

When the placeholder is visible, the text color is changed to dark gray,
matching the placeholder in regular text inputs. Note that date/time
placeholders are not customizable in any way, as it is an unspecified aspect
of the element. Separators are left in the existing text color, to avoid
making the input look disabled.

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditElement::DateTimeEditElement):
(WebCore::DateTimeEditElement::placeholderDate const):

  • html/shadow/DateTimeEditElement.h:

Introduced m_placeholderDate, which is set to the current date.

  • html/shadow/DateTimeFieldElement.cpp:

(WebCore::DateTimeFieldElement::setEmptyValue):
(WebCore::DateTimeFieldElement::setValueAsInteger):
(WebCore::DateTimeFieldElement::visibleValue const):
(WebCore::DateTimeFieldElement::updateVisibleValue):

Removed early return when the previous visible value is equal to the
updated visible value. This can occur when the placeholder value is equal
to the value entered by the user. In these instances, we should still
dispatch input and change events.

  • html/shadow/DateTimeFieldElement.h:

Added base class implementations of setEmptyValue and setValueAsInteger
so that the logic to change the text color when a placeholder is visible
can be shared.

Changed visibleValue to no longer be a pure virtual method, as the
implementations in derived classes were very similar, and can be
abstracted. For this reason, the new placeholderValue pure virtual method
was added.

  • html/shadow/DateTimeFieldElements.cpp:

(WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement):
(WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement):
(WebCore::DateTimeMeridiemFieldElement::DateTimeMeridiemFieldElement):
(WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
(WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
(WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement):

Months are 0-indexed, so we add 1 to the value returned by month().

(WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
(WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement):
(WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement):

  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
(WebCore::DateTimeNumericFieldElement::setEmptyValue):
(WebCore::DateTimeNumericFieldElement::setValueAsInteger):
(WebCore::DateTimeNumericFieldElement::placeholderValue const):
(WebCore::DateTimeNumericFieldElement::valueAsInteger const):

  • html/shadow/DateTimeNumericFieldElement.h:
  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
(WebCore::DateTimeSymbolicFieldElement::setEmptyValue):
(WebCore::DateTimeSymbolicFieldElement::setValueAsInteger):
(WebCore::DateTimeSymbolicFieldElement::placeholderValue const):
(WebCore::DateTimeSymbolicFieldElement::valueAsInteger const):

  • html/shadow/DateTimeSymbolicFieldElement.h:
7:39 AM Changeset in webkit [270244] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Remove redundant const ContainerBox& formattingContextRoot from LineBuilder c'tor
https://bugs.webkit.org/show_bug.cgi?id=219339

Reviewed by Antti Koivisto.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::root const):

  • layout/inlineformatting/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::root const): Deleted.

7:08 AM Changeset in webkit [270243] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Automatically delete old data from ews buildbot instance
https://bugs.webkit.org/show_bug.cgi?id=214921

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/master.cfg: Configured JanitorConfigurator to delete logs older than one year, and

configured to run every morning.

7:07 AM Changeset in webkit [270242] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GLIB] Properly garden webrtc crashes

Unreviewed test gardening.

  • platform/gtk-wayland/TestExpectations: Move wayland-specific issue here
  • platform/gtk/TestExpectations: Updated already existing expectations
  • platform/wpe/TestExpectations: Remove undeed pass entries from previous unimplemented-like bugs that are already fixed. These entries were overriding the generic glib entries.
7:05 AM Changeset in webkit [270241] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] Update RunLLINTCLoopTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219084

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/steps.py:

(RunLLINTCLoopTests):
(RunLLINTCLoopTests.start): Initialized log observer.
(RunLLINTCLoopTests.parseOutputLine): Parse each log line as they come.
(RunLLINTCLoopTests.countFailures): Updated to return failedTestCount.

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

[LFC][IFC] Preferred width computation is not constrained by existing floats
https://bugs.webkit.org/show_bug.cgi?id=219338

Reviewed by Antti Koivisto.

Let's create a fake(empty) floating state/context for the line as existing floats should not constrain the min/max content widths.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):

6:59 AM Changeset in webkit [270239] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][TFC] Add missing TableGrid::Row::m_baseline initialization
https://bugs.webkit.org/show_bug.cgi?id=219336

Reviewed by Antti Koivisto.

  • layout/tableformatting/TableGrid.h:
6:11 AM Changeset in webkit [270238] by Andres Gonzalez
  • 7 edits in trunk/Source/WebCore

AXIsolatedTree::m_axObjectCache should not be accessed on the secondary AX thread.
https://bugs.webkit.org/show_bug.cgi?id=219223

Reviewed by Chris Fleizach.

AXIsolatedTree::m_axObjectCache was being set on the main thread and
also accessed on the AX thread in the nodeForID and applyPendingChanges
methods. This problem is fixed with this change by adding the member
variable m_usedOnAXThread that is initialized on the main thread and only
used on the AX thread. This means also a performance optimization since
nodeForID and applyPendingChanges are called very frequently.
In addition, the change to AXIsolatedTree::create fixes a possible race
condition between the time the newly created tree was added to the map
of trees on the main thread, and the time that the tree is ready to be
used on the AX thread. Now the newly created tree is not added to the
trees map until it is fully functional.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreateIsolatedTree const):
(WebCore::AXObjectCache::generateIsolatedTree): Deleted, the creation
and initialization of the isolated tree is now done in
AXIsolatedTree::create.

  • accessibility/AXObjectCache.h:

(WebCore::AXObjectCache::pageID const): Getter for the m_pageID member
variable.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::AXIsolatedObject): Now takes a pointer t the
tree instead of a tree ID.
(WebCore::AXIsolatedObject::create): Same as above.
(WebCore::AXIsolatedObject::associatedAXObject const):
(WebCore::AXIsolatedObject::setSelectedChildren): Check for nullity of
the AXObjectCache.

  • accessibility/isolatedtree/AXIsolatedObject.h:
  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::AXIsolatedTree): Takes an AXObjectCache.
(WebCore::AXIsolatedTree::clear):
(WebCore::AXIsolatedTree::create): Takes an AXObjectCache.
(WebCore::AXIsolatedTree::nodeForID const):
(WebCore::AXIsolatedTree::createSubtree):
(WebCore::AXIsolatedTree::updateNode):
(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::createTreeForPageID): Deleted, became
AXIsolatedTree::create.

  • accessibility/isolatedtree/AXIsolatedTree.h:

(WebCore::AXIsolatedTree::axObjectCache const):
(WebCore::AXIsolatedTree::setAXObjectCache): Deleted, can be set only at
construction time.

4:49 AM Changeset in webkit [270237] by svillar@igalia.com
  • 7 edits
    30 adds in trunk/LayoutTests

[css-flex] Import flex-aspect-ratio-img-* tests
https://bugs.webkit.org/show_bug.cgi?id=219344

Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011-expected.txt: Updated.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-011.html: Ditto.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-012.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-013.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014-expected.xht: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-014.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015-expected.xht: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-015.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-016-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-016.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017-expected.txt: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-column-017.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-006.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-007.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-008-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-008.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009-expected.xht: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-009.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010-expected.xht: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-010.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-011-expected.xht: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-011.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-012-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-012.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013-expected.txt: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-013.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-014-expected.html: Added.
  • web-platform-tests/css/css-flexbox/flex-aspect-ratio-img-row-014.html: Added.
  • web-platform-tests/css/css-flexbox/w3c-import.log:

LayoutTests:

As part of the work to fix the images with aspect ratio handling when they're flex items, we're importing the latest
additions to the WPT test suite related to that. A few of them work as expected but others require fixes. Note that
one of the tests also updated their expectations and it's now failing now 2 subtests.

2:01 AM Changeset in webkit [270236] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] webrtc/captureCanvas-webrtc-software-h264-baseline.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=218875
<rdar://problem/71349101>

Unreviewed.

  • platform/mac-wk2/TestExpectations:

Remove flaky expectation.

1:29 AM Changeset in webkit [270235] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] Media player does not properly inhibit, uninhibit sleep
https://bugs.webkit.org/show_bug.cgi?id=186971

Reviewed by Philippe Normand.

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

(WebCore::MediaPlayerPrivateGStreamerMSE::updateStates): Call the
player to update the playback state as it is done in the regular
player.

Nov 29, 2020:

9:36 PM Changeset in webkit [270234] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Deny logs for benign fontservicesd daemon
https://bugs.webkit.org/show_bug.cgi?id=219180

Patch by Adam Mazander <mazander@apple.com> on 2020-11-29
Reviewed by Per Arne Vollan.

After investigating denials of fontservicesd logs over several submissions
and without any fallout we are removing logging.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
8:20 PM Changeset in webkit [270233] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GTK] Gardening WebGL failures

Unreviewed test gardening

  • platform/gtk/TestExpectations:
6:43 PM Changeset in webkit [270232] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GLIB] Gardening webrtc crashes

Unreviewed test gardening.

  • platform/glib/TestExpectations:
5:41 PM Changeset in webkit [270231] by Alan Bujtas
  • 4 edits in trunk/LayoutTests

[LFC][Display] Enable LFC tests that are passing now
https://bugs.webkit.org/show_bug.cgi?id=219337

Unreviewed.

  • TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
12:50 PM Changeset in webkit [270230] by Alan Bujtas
  • 4 edits
    2 adds in trunk

[LFC][BFC] Do not assume float avoiders have pre-computed vertical positions
https://bugs.webkit.org/show_bug.cgi?id=219326

Reviewed by Antti Koivisto.

Source/WebCore:

Move the final vertical position computation from computeHeightAndMargin() (it does not really belong in there) to
layoutInFlowContent(). This patch also ensures that we only adjust the vertical position when needed.

Test: fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html

  • layout/blockformatting/BlockFormattingContext.cpp:

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

LayoutTests:

  • fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders-expected.html: Added.
  • fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html: Added.
11:44 AM Changeset in webkit [270229] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Create runs for inline boxes
https://bugs.webkit.org/show_bug.cgi?id=219329

Reviewed by Antti Koivisto.

With this patch we start constructing runs for inline boxes (these are spec "inline boxes" and not legacy line layout "inline boxes").

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

  • layout/inlineformatting/InlineLineBox.cpp:

(WebCore::Layout::LineBox::logicalMarginRectForInlineLevelBox const):

  • layout/inlineformatting/InlineLineBox.h:
  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayInlineBoxes const):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::showInlineTreeAndRuns):

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

[LFC][IFC] Remove LineBuilder::availableWidth
https://bugs.webkit.org/show_bug.cgi?id=219330

Reviewed by Antti Koivisto.

There is no "global" available width while building the line. It may very well change as
inline level boxes stretch the line and additional floats turn to intrusive.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::handleFloatOrInlineContent):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):

  • layout/inlineformatting/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::availableWidth const): Deleted.

10:46 AM Changeset in webkit [270227] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] FloatingContext should take const FloatingState&
https://bugs.webkit.org/show_bug.cgi?id=219331

Reviewed by Antti Koivisto.

Let's not use FloatContext as a proxy for adding float items to the FloatingState.
It enables us to use FloatingContext when we don't have mutable FloatingState e.g. while
computing preferred width.

  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layoutInFlowContent):

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::FloatingContext):
(WebCore::Layout::FloatingContext::toFloatItem const):
(WebCore::Layout::FloatingContext::append): Deleted.

  • layout/floats/FloatingContext.h:

(WebCore::Layout::FloatingContext::floatingState const):
(WebCore::Layout::FloatingContext::layoutState const):

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

Nov 28, 2020:

10:47 PM Changeset in webkit [270226] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

Unreviewd, annotate stress/bounds-checking-in-cold-loop.js with memoryLimited

  • stress/bounds-checking-in-cold-loop.js:
10:32 PM Changeset in webkit [270225] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebCore

Non-unified build fixes, late November 2020 edition, take three
https://bugs.webkit.org/show_bug.cgi?id=219333

Unreviewed non-unified build fixes.

  • display/css/DisplayBoxFactory.cpp:
  • display/css/DisplayCSSPainter.cpp:
  • display/css/DisplayContainerBox.cpp:
9:10 PM Changeset in webkit [270224] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

[LFC Display] Use a vector to maintain state during display tree building
https://bugs.webkit.org/show_bug.cgi?id=219314

Reviewed by Zalan Bujtas.

Over time more state will be required during tree building. Rather than using the stack
and passing lots of arguments to tree building functions, use a Vector<> to push state
when processing a ContainerBox's children, and pop afterwards.

The vector is declared as a std::unique_ptr<> to hide the state types from the header.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::TreeBuilder):
(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::pushStateForBoxDescendants):
(WebCore::Display::TreeBuilder::popState):
(WebCore::Display::TreeBuilder::currentState const):
(WebCore::Display::TreeBuilder::positioningContext const):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const): Deleted.
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const): Deleted.

  • display/DisplayTreeBuilder.h:
8:20 PM Changeset in webkit [270223] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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

ARM64 does not support unary Not32 / Not64.

  • wasm/WasmAirIRGenerator.cpp:

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

8:05 PM Changeset in webkit [270222] by Simon Fraser
  • 10 edits
    1 copy
    1 add in trunk/Source/WebCore

[LFC Display] Add basic transforms support.
https://bugs.webkit.org/show_bug.cgi?id=219313

Reviewed by Zalan Bujtas.

Add Display::BoxRareGeometry which will hold uncommon per-box geometry like
border-radius and transformation matrix.

At tree building time, compute a TransformationMatrix for the transforms on a box,
using a pixel-snapped transform origin. Also store a bit on Display::Style to indicate
that a transform applies (when set, we assume that BoxRareGeometry is non-null).

At paint time, use the computed matrix to adjust the CTM when painting a stacking
context, post-clipping and pre-effects. We adjust the box's matrix to move the
applied origin to the origin of the border box, and to account for the fact that
descendants will continue to paint in absolute coordinates.

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

(WebCore::Display::BoxFactory::computeTransformOrigin const):
(WebCore::Display::BoxFactory::computeTransformationMatrix const):
(WebCore::Display::BoxFactory::constructBoxRareGeometry const):
(WebCore::Display::BoxFactory::setupBoxModelBox const):

  • display/css/DisplayBoxFactory.h:
  • display/css/DisplayBoxModelBox.cpp:

(WebCore::Display::BoxModelBox::setBoxRareGeometry):
(WebCore::Display::BoxModelBox::hasAncestorClip const):

  • display/css/DisplayBoxModelBox.h:

(WebCore::Display::BoxModelBox::rareGeometry const):

  • display/css/DisplayBoxRareGeometry.cpp: Added.
  • display/css/DisplayBoxRareGeometry.h: Copied from Source/WebCore/display/css/DisplayBoxModelBox.h.

(WebCore::Display::BoxRareGeometry::transform const):
(WebCore::Display::BoxRareGeometry::setTransform):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::applyAncestorClip):
(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):

  • display/css/DisplayStyle.cpp:

(WebCore::Display::Style::Style):

  • display/css/DisplayStyle.h:

(WebCore::Display::Style::hasTransform const):
(WebCore::Display::Style::setHasTransform):

4:19 PM Changeset in webkit [270221] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

[LFC Display] Add basic opacity support.
https://bugs.webkit.org/show_bug.cgi?id=219312

Reviewed by Zalan Bujtas.

Add a TransparencyLayerScope helper that can lazily begin, and end a transparency layer.

Add display tree support for opacity via applyEffects(), which begins a transparency
layer at the start of stacking context painting when alpha is < 1.

  • display/css/DisplayBoxDecorationPainter.cpp:

(WebCore::Display::BorderPainter::paintTranslucentBorderSides const):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::applyEffects):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):

  • display/css/DisplayStyle.cpp:

(WebCore::Display::Style::Style):

  • display/css/DisplayStyle.h:

(WebCore::Display::Style::opacity const):

  • platform/graphics/GraphicsContext.h:

(WebCore::TransparencyLayerScope::TransparencyLayerScope):
(WebCore::TransparencyLayerScope::beginLayer):
(WebCore::TransparencyLayerScope::~TransparencyLayerScope):

11:37 AM Changeset in webkit [270220] by Antti Koivisto
  • 26 edits
    2 adds in trunk/Source/WebCore

Move caret rect computation out of render tree
https://bugs.webkit.org/show_bug.cgi?id=219304

Reviewed by Zalan Bujtas.

Reduce code randomly sprinkled on renderers by moving it into standalone functions.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::localCaretRectForCharacterOffset):

  • editing/RenderedPosition.cpp:

(WebCore::RenderedPosition::absoluteRect const):

  • editing/RenderedPosition.h:
  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::localCaretRect const):

  • rendering/CaretRectComputation.cpp: Added.

(WebCore::computeCaretRectForEmptyElement):
(WebCore::computeCaretRectForLinePosition):
(WebCore::computeCaretRectForText):
(WebCore::computeCaretRectForLineBreak):
(WebCore::computeCaretRectForSVGInlineText):
(WebCore::computeCaretRectForBox):
(WebCore::computeCaretRectForBlock):
(WebCore::computeCaretRectForInline):
(WebCore::computeLocalCaretRect):

  • rendering/CaretRectComputation.h: Added.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::localCaretRect const): Deleted.

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

(WebCore::RenderBlockFlow::computeCaretRect const): Deleted.

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

(WebCore::RenderBox::localCaretRect const): Deleted.

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::localCaretRectForEmptyElement const): Deleted.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::localCaretRect const): Deleted.

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

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

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

(WebCore::RenderObject::localCaretRect const): Deleted.

  • rendering/RenderObject.h:
  • rendering/RenderObjectEnums.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::localCaretRect const): Deleted.

  • rendering/RenderText.h:
  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::localCaretRect const): Deleted.

  • rendering/svg/RenderSVGInlineText.h:
9:05 AM Changeset in webkit [270219] by pvollan@apple.com
  • 11 edits
    1 add in trunk/Source

[macOS] Set application information in the Networking process on behalf of the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=218052
<rdar://problem/70586405>

Reviewed by Brent Fulgham.

Source/WebCore/PAL:

Declare function to create ASN from an audit token.

  • pal/spi/cocoa/LaunchServicesSPI.h:

Source/WebKit:

In preparation for blocking Launch Services in the WebContent process' sandbox, application information for the process
should be set in the Networking process.

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/mac/NetworkConnectionToWebProcessMac.mm: Added.

(WebKit::NetworkConnectionToWebProcess::updateActivePages):

  • Scripts/process-entitlements.sh:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::activePagesOrigins):
(WebKit::WebProcess::updateActivePages):
(WebKit::WebProcess::getActivePagesOriginsForTesting):

  • WebProcess/com.apple.WebProcess.sb.in:

Source/WTF:

Add define to enable this feature.

  • wtf/PlatformEnableCocoa.h:
6:40 AM Changeset in webkit [270218] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebCore

Remove enums for GCGLenum constants in GraphicsContextGL and ExtensionsGL
https://bugs.webkit.org/show_bug.cgi?id=219319

Reviewed by Darin Adler.

Both GraphicsContextGL and ExtensionsGL were using C style enums to scope GCGLenum
values. Rather than using the enum static constexpr values of GCGLenum are used
instead.

This removes the need in WebGLDrawBuffers to static_cast the enums to GCGLenum
which works around a narrowing error.

No new tests. No change in behavior.

  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):

  • platform/graphics/ExtensionsGL.h:
  • platform/graphics/GraphicsContextGL.h:
6:07 AM Changeset in webkit [270217] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, GTK LTS build fix after r270195

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::linesBoundingBox const):

4:52 AM Changeset in webkit [270216] by pvollan@apple.com
  • 5 edits in trunk/Source/WebKit

[macOS] Issue sandbox extension to icon services when starting a drag operation
https://bugs.webkit.org/show_bug.cgi?id=219159
<rdar://problem/71585876>

Reviewed by Brent Fulgham.

Issue sandbox extension to icon services when starting a drag operation on macOS, since the WebContent process needs
access to these services when a drag is started. This patch detects when a drag is about to start, and sends sandbox
extensions to the icon services along with the mouse event. The sandbox extensions are then temporarily consumed
while handling the mouse event in the WebContent process.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processNextQueuedMouseEvent):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::simulateMouseDown):
(WebKit::WebPage::simulateMouseUp):
(WebKit::WebPage::simulateMouseMotion):
(WebKit::WebPage::consumeSandboxExtensions):
(WebKit::WebPage::revokeSandboxExtensions):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Nov 27, 2020:

9:17 PM Changeset in webkit [270215] by Simon Fraser
  • 13 edits
    2 copies in trunk/Source/WebCore

[LFC Display] Implement basic overflow:hidden clipping
https://bugs.webkit.org/show_bug.cgi?id=219311

Reviewed by Zalan Bujtas.

Add BoxClip which represents the clip generated by walking the containing block ancestor chain
of a box. Display::BoxModelBox optionally has a BoxClip if it's a box that paints out of order
(i.e. participates in z-order sorting, so positioned or stacking context). That BoxClip
represents the clip contributed by ancestors, and it's applied before painting this box.
If a Box has overflow clip, then that is also additionally applied before painting the
in-flow descendants of the box.

To compute BoxClip, ask the display box for the relevant containing block for its clip,
which takes the clip from ancestors and appends the clip for that box (if any).

Also move accessors for borderRoundedRect() and innerBorderRoundedRect() onto Display::BoxModelBox
since they are needed for clipping as well as painting.

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

(WebCore::Display::BoxClip::BoxClip):
(WebCore::Display::BoxClip::copy const):
(WebCore::Display::BoxClip::pushClip):
(WebCore::Display::BoxClip::pushRoundedClip):

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

(WebCore::Display::BoxClip::create):
(WebCore::Display::BoxClip::clipRect const):
(WebCore::Display::BoxClip::affectedByBorderRadius const):
(WebCore::Display::BoxClip::clipStack const):

  • display/css/DisplayBoxDecorationData.cpp:

(WebCore::Display::roundedRectWithIncludedRadii):
(WebCore::Display::roundedInsetBorderForRect):

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

(WebCore::Display::BoxDecorationPainter::innerBorderRoundedRect const):
(WebCore::Display::roundedRectWithIncludedRadii): Deleted.
(WebCore::Display::roundedInsetBorderForRect): Deleted.

  • display/css/DisplayBoxFactory.cpp:

(WebCore::Display::BoxFactory::setupBoxModelBox const):

  • display/css/DisplayBoxModelBox.cpp:

(WebCore::Display::BoxModelBox::borderRoundedRect const):
(WebCore::Display::BoxModelBox::innerBorderRoundedRect const):
(WebCore::Display::BoxModelBox::setAncestorClip):
(WebCore::Display::BoxModelBox::clipForDescendants const):
(WebCore::Display::BoxModelBox::debugDescription const):

  • display/css/DisplayBoxModelBox.h:

(WebCore::Display::BoxModelBox::ancestorClip const):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::applyClipIfNecessary):
(WebCore::Display::applyAncestorClip):
(WebCore::Display::CSSPainter::recursivePaintDescendantsForPhase):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):

  • display/css/DisplayContainerBox.cpp:

(WebCore::Display::ContainerBox::debugDescription const):

  • display/css/DisplayStyle.cpp:

(WebCore::Display::Style::Style):

  • display/css/DisplayStyle.h:

(WebCore::Display::Style::hasClippedOverflow const):

8:31 PM Changeset in webkit [270214] by ysuzuki@apple.com
  • 18 edits in trunk

[JSC] Use ARM atomic ops in wasm
https://bugs.webkit.org/show_bug.cgi?id=219281

Reviewed by Filip Pizlo.

JSTests:

  • wasm/threads-spec-tests/atomic-signed.wast.js:
  • wasm/threads-spec-tests/resources/atomic-signed.wast:

Source/JavaScriptCore:

This patch uses ARM LSE Atomic instructions in wasm atomic operations. This includes support in MacroAssembler, offlineasm, Air and B3,
so that FTL atomic operations automatically leverage ARM LSE atomic instructions too. Later we can extend DFG JIT to use it too.

One interesting thing is that this includes a fix for cmpxchg wasm operation implementations. Unfortunately, current wasm cmpxchg ops
are not the same to ARM cas / X86 cmpxchg. For example, i64.atomic.rmw8.cmpxchg_u takes i64 expected value. And the spec requires that
we should perform i64-expected-value <cmp> loaded-zero-extended-1byte-value. For example, if the expected value is 0xffffffff_ffffff00,
and the value stored in the memory is 0x00, then the wasm op needs to fail since 0x00 is not 0xffffffff_ffffff00. But x86 and ARM
cmpxchg / cas ops behave differently since it truncates expected value to 1byte when performing 1byte cmpxchg. So we need to have a check
which performs the value is within 1byte range in this operation.

  • assembler/ARM64EAssembler.h:

(JSC::ARM64EAssembler::exoticAtomicLoadStore):
(JSC::ARM64EAssembler::exoticAtomicCAS):
(JSC::ARM64EAssembler::ldaddal):
(JSC::ARM64EAssembler::ldeoral):
(JSC::ARM64EAssembler::ldclral):
(JSC::ARM64EAssembler::ldsetal):
(JSC::ARM64EAssembler::swpal):
(JSC::ARM64EAssembler::casal):

  • assembler/MacroAssemblerARM64E.h:

(JSC::MacroAssemblerARM64E::atomicXchgAdd8):
(JSC::MacroAssemblerARM64E::atomicXchgAdd16):
(JSC::MacroAssemblerARM64E::atomicXchgAdd32):
(JSC::MacroAssemblerARM64E::atomicXchgAdd64):
(JSC::MacroAssemblerARM64E::atomicXchgXor8):
(JSC::MacroAssemblerARM64E::atomicXchgXor16):
(JSC::MacroAssemblerARM64E::atomicXchgXor32):
(JSC::MacroAssemblerARM64E::atomicXchgXor64):
(JSC::MacroAssemblerARM64E::atomicXchgOr8):
(JSC::MacroAssemblerARM64E::atomicXchgOr16):
(JSC::MacroAssemblerARM64E::atomicXchgOr32):
(JSC::MacroAssemblerARM64E::atomicXchgOr64):
(JSC::MacroAssemblerARM64E::atomicXchgClear8):
(JSC::MacroAssemblerARM64E::atomicXchgClear16):
(JSC::MacroAssemblerARM64E::atomicXchgClear32):
(JSC::MacroAssemblerARM64E::atomicXchgClear64):
(JSC::MacroAssemblerARM64E::atomicXchg8):
(JSC::MacroAssemblerARM64E::atomicXchg16):
(JSC::MacroAssemblerARM64E::atomicXchg32):
(JSC::MacroAssemblerARM64E::atomicXchg64):
(JSC::MacroAssemblerARM64E::atomicStrongCAS8):
(JSC::MacroAssemblerARM64E::atomicStrongCAS16):
(JSC::MacroAssemblerARM64E::atomicStrongCAS32):
(JSC::MacroAssemblerARM64E::atomicStrongCAS64):

  • b3/B3LowerMacros.cpp:
  • b3/B3LowerToAir.cpp:
  • b3/air/AirOpcode.opcodes:
  • b3/air/opcode_generator.rb:
  • disassembler/ARM64/A64DOpcode.cpp:

(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::format):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::format):
(JSC::ARM64Disassembler::A64DOpcodeCAS::format):

  • disassembler/ARM64/A64DOpcode.h:

(JSC::ARM64Disassembler::A64DOpcode::appendInstructionName):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::opName):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::rs):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::opc):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::ar):
(JSC::ARM64Disassembler::A64DOpcodeLoadAtomic::opNumber):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::opName):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::rs):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::ar):
(JSC::ARM64Disassembler::A64DOpcodeSwapAtomic::opNumber):
(JSC::ARM64Disassembler::A64DOpcodeCAS::opName):
(JSC::ARM64Disassembler::A64DOpcodeCAS::rs):
(JSC::ARM64Disassembler::A64DOpcodeCAS::o1):
(JSC::ARM64Disassembler::A64DOpcodeCAS::l):
(JSC::ARM64Disassembler::A64DOpcodeCAS::opNumber):

  • llint/WebAssembly.asm:
  • offlineasm/arm64.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::sanitizeAtomicResult):
(JSC::Wasm::AirIRGenerator::appendGeneralAtomic):
(JSC::Wasm::AirIRGenerator::appendStrongCAS):
(JSC::Wasm::AirIRGenerator::emitAtomicLoadOp):
(JSC::Wasm::AirIRGenerator::emitAtomicStoreOp):
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::AirIRGenerator::emitAtomicCompareExchange):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::emitAtomicCompareExchange):

8:29 PM Changeset in webkit [270213] by Fujii Hironori
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r270210.

It broke TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo on
iOS

Reverted changeset:

"[WinCairo?] GPU process remains alive even after web process
exited"
https://bugs.webkit.org/show_bug.cgi?id=219321
https://trac.webkit.org/changeset/270210

7:56 PM Changeset in webkit [270212] by Fujii Hironori
  • 3 edits
    1 add
    1 delete in trunk/Source/ThirdParty/ANGLE

[ANGLE] Convert adjust-angle-include-paths.sh to a Python script for Windows without Cygwin
https://bugs.webkit.org/show_bug.cgi?id=219299

Reviewed by Kenneth Russell.

WinCairo port can't use shell scripts because it isn't using
Cygwin.

  • ANGLE.xcodeproj/project.pbxproj:
  • CMakeLists.txt:
  • adjust-angle-include-paths.py: Added.
  • adjust-angle-include-paths.sh: Removed.
7:51 PM Changeset in webkit [270211] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening. Remove unnecessary passes after r270017.

  • platform/wpe/TestExpectations:
7:21 PM Changeset in webkit [270210] by Fujii Hironori
  • 3 edits in trunk/Source/WebKit

[WinCairo?] GPU process remains alive even after web process exited
https://bugs.webkit.org/show_bug.cgi?id=219321

Reviewed by Don Olmstead.

AuxiliaryProcess::didClose is calling _exit. However, GPUProcess
overrode AuxiliaryProcess::didClose but it did nothing. GPUProcess
doesn't need to override it.

  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::didClose): Deleted.

  • GPUProcess/GPUProcess.h:
6:31 PM Changeset in webkit [270209] by Simon Fraser
  • 9 edits in trunk

[LFC Display] Fix box locations for positioned elements
https://bugs.webkit.org/show_bug.cgi?id=219310

Source/WebCore:

Reviewed by Zalan Bujtas.

The code assumed that layout boxes were always positioned relative to their parents,
but border box geometry is actually relative to containing block. To keep track
of this when building the display tree, add PositioningContext which tracks
containing blocks for three types of positioning (fixed, absolute and in-flow),
and root-relative offsets for each.

The code then passes the appropriate containing block box + offset into the Display::BoxFactory
code, which uses the offset to compute absolute box rects.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::PositioningContext::PositioningContext):
(WebCore::Display::PositioningContext::m_absolutePositionContainer):
(WebCore::Display::PositioningContext::m_inFlowContainer):
(WebCore::Display::PositioningContext::contextForDescendants const):
(WebCore::Display::PositioningContext::containingBlockContextForLayoutBox const):
(WebCore::Display::PositioningContext::inFlowContainingBlockContext const):
(WebCore::Display::TreeBuilder::build):
(WebCore::Display::TreeBuilder::buildInlineDisplayTree const):
(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):

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

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

  • display/css/DisplayBoxFactory.h:
  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::containingBlock const):

  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::isContainingBlockForInFlow const):
(WebCore::Layout::Box::isContainingBlockForFixedPosition const):
(WebCore::Layout::Box::isContainingBlockForOutOfFlowPosition const):

LayoutTests:

Reviewed by NOBODY (OOPS!).

Two table tests are now image failures because of webkit.org/b/219322.

4:02 PM Changeset in webkit [270208] by ysuzuki@apple.com
  • 38 edits
    9 adds in trunk

[JSC] Add wasm atomics instructions
https://bugs.webkit.org/show_bug.cgi?id=218954

Reviewed by Filip Pizlo.

JSTests:

  • wasm.yaml:
  • wasm/Builder.js:

(const._importMemoryContinuation):
(export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):

  • wasm/Builder_WebAssemblyBinary.js:

(const.putResizableLimits):
(const.emitters.Import):
(const.emitters.Memory):

  • wasm/function-tests/trap-load-shared.js:
  • wasm/function-tests/trap-store-shared.js:
  • wasm/stress/atomic-decrement.js: Added.

(i.agent.start.import.string_appeared_here.then):
(i.async error):

  • wasm/stress/atomic-increment.js: Added.

(i.agent.start.import.string_appeared_here.then):
(i.async error):

  • wasm/stress/memory-fence.js: Added.

(async try):
(catch):

  • wasm/threads-spec-tests/atomic-signed.wast.js: Added.
  • wasm/threads-spec-tests/atomic.wast.js: Added.
  • wasm/threads-spec-tests/memory.wast.js: Added.
  • wasm/threads-spec-tests/resources/atomic-signed.wast: Added.
  • wasm/wasm.json:

Source/JavaScriptCore:

This patch implements wasm threading's atomic operations[1] in X86_64 and ARM64. Currently, all ARM64 atomic operations are implemented by using LL/SC.
Later, we will use ARM64 CAS operations if possible, at least in ARM64E.

To test it easily, we also extend jsc shell's worker to support transferring shared WebAssembly.Memory so that we can use wasm atomic operations in several
workers in jsc shell.

[1]: https://github.com/WebAssembly/threads

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::atomicXchg8):
(JSC::MacroAssemblerX86Common::atomicXchg16):
(JSC::MacroAssemblerX86Common::atomicXchg32):

  • b3/B3Kind.h:

(JSC::B3::Kind::hasTraps const):

  • b3/B3LowerToAir.cpp:
  • b3/B3Width.h:

(JSC::B3::bytesForWidth):

  • b3/testb3_8.cpp:

(testAtomicXchg):

  • bytecode/BytecodeList.rb:
  • interpreter/Register.h:

(JSC::Register::unboxedInt64 const):
(JSC::Register::asanUnsafeUnboxedInt64 const):

  • jsc.cpp:

(Message::releaseContents):
(Message::Message):
(JSC_DEFINE_HOST_FUNCTION):

  • llint/WebAssembly.asm:
  • offlineasm/arm64.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
  • runtime/OptionsList.h:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::appendEffectful):
(JSC::Wasm::accessWidth):
(JSC::Wasm::sizeOfAtomicOpMemoryAccess):
(JSC::Wasm::AirIRGenerator::fixupPointerPlusOffsetForAtomicOps):
(JSC::Wasm::AirIRGenerator::sanitizeAtomicResult):
(JSC::Wasm::AirIRGenerator::appendGeneralAtomic):
(JSC::Wasm::AirIRGenerator::appendStrongCAS):
(JSC::Wasm::AirIRGenerator::emitAtomicLoadOp):
(JSC::Wasm::AirIRGenerator::atomicLoad):
(JSC::Wasm::AirIRGenerator::emitAtomicStoreOp):
(JSC::Wasm::AirIRGenerator::atomicStore):
(JSC::Wasm::AirIRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::AirIRGenerator::atomicBinaryRMW):
(JSC::Wasm::AirIRGenerator::emitAtomicCompareExchange):
(JSC::Wasm::AirIRGenerator::atomicCompareExchange):
(JSC::Wasm::AirIRGenerator::atomicWait):
(JSC::Wasm::AirIRGenerator::atomicNotify):
(JSC::Wasm::AirIRGenerator::atomicFence):
(JSC::Wasm::AirIRGenerator::addCall):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::memoryKind):
(JSC::Wasm::accessWidth):
(JSC::Wasm::sizeOfAtomicOpMemoryAccess):
(JSC::Wasm::B3IRGenerator::sanitizeAtomicResult):
(JSC::Wasm::B3IRGenerator::fixupPointerPlusOffsetForAtomicOps):
(JSC::Wasm::B3IRGenerator::emitAtomicLoadOp):
(JSC::Wasm::B3IRGenerator::atomicLoad):
(JSC::Wasm::B3IRGenerator::emitAtomicStoreOp):
(JSC::Wasm::B3IRGenerator::atomicStore):
(JSC::Wasm::B3IRGenerator::emitAtomicBinaryRMWOp):
(JSC::Wasm::B3IRGenerator::atomicBinaryRMW):
(JSC::Wasm::B3IRGenerator::emitAtomicCompareExchange):
(JSC::Wasm::B3IRGenerator::atomicCompareExchange):
(JSC::Wasm::B3IRGenerator::atomicWait):
(JSC::Wasm::B3IRGenerator::atomicNotify):
(JSC::Wasm::B3IRGenerator::atomicFence):
(JSC::Wasm::B3IRGenerator::addCall):

  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser<Context>::atomicLoad):
(JSC::Wasm::FunctionParser<Context>::atomicStore):
(JSC::Wasm::FunctionParser<Context>::atomicBinaryRMW):
(JSC::Wasm::FunctionParser<Context>::atomicCompareExchange):
(JSC::Wasm::FunctionParser<Context>::atomicWait):
(JSC::Wasm::FunctionParser<Context>::atomicNotify):
(JSC::Wasm::FunctionParser<Context>::atomicFence):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::atomicLoad):
(JSC::Wasm::LLIntGenerator::atomicStore):
(JSC::Wasm::LLIntGenerator::atomicBinaryRMW):
(JSC::Wasm::LLIntGenerator::atomicCompareExchange):
(JSC::Wasm::LLIntGenerator::atomicWait):
(JSC::Wasm::LLIntGenerator::atomicNotify):
(JSC::Wasm::LLIntGenerator::atomicFence):

  • wasm/WasmMemory.h:
  • wasm/WasmMemoryInformation.cpp:

(JSC::Wasm::MemoryInformation::MemoryInformation):

  • wasm/WasmMemoryInformation.h:

(JSC::Wasm::MemoryInformation::isShared const):

  • wasm/WasmOperations.cpp:

(JSC::Wasm::wait):
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):

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

(JSC::Wasm::SectionParser::parseResizableLimits):
(JSC::Wasm::SectionParser::parseTableHelper):
(JSC::Wasm::SectionParser::parseMemoryHelper):

  • wasm/WasmSectionParser.h:
  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::WASM_SLOW_PATH_DECL):

  • wasm/WasmSlowPaths.h:
  • wasm/generateWasm.py:

(isAtomic):
(isAtomicLoad):
(isAtomicStore):
(isAtomicBinaryRMW):
(memoryLog2Alignment):

  • wasm/generateWasmOpsHeader.py:

(atomicMemoryLoadMacroizer):
(atomicMemoryLoadMacroizer.modifier):
(atomicMemoryStoreMacroizer):
(atomicMemoryStoreMacroizer.modifier):
(atomicBinaryRMWMacroizer):
(atomicBinaryRMWMacroizer.modifier):
(memoryLog2AlignmentGenerator):
(atomicMemoryLog2AlignmentGenerator):
(ExtAtomicOpType):

  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::tryCreate):

  • wasm/wasm.json:
1:31 PM Changeset in webkit [270207] by Aditya Keerthi
  • 11 edits
    11 adds in trunk

[iOS][FCR] Add new look for meter element
https://bugs.webkit.org/show_bug.cgi?id=219103
<rdar://problem/71549155>

Reviewed by Wenson Hsieh.

Source/WebCore:

Tests: fast/forms/ios/form-control-refresh/meter/border.html

fast/forms/ios/form-control-refresh/meter/even-less-good-appearance.html
fast/forms/ios/form-control-refresh/meter/optimal-appearance.html
fast/forms/ios/form-control-refresh/meter/suboptimal-appearance.html
fast/forms/ios/form-control-refresh/meter/width-height.html

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::createElementRenderer):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::supportsMeter const):

  • rendering/RenderTheme.h:

Added additional parameter to supportsMeter to control support at runtime.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::supportsMeter const):

Implement this method so that a native meter is painted on iOS. Note that
a native appearance for meter is currently supported on macOS, but is
unsupported on iOS.

(WebCore::RenderThemeIOS::paintMeter):

Paint a meter element using the new appearance. The color of the filled
portion matches the element's gauge region, and can be one of three
colors. If the style has an RTL direction, flip the filled portion to
start from the right side of the element. This matches the RTL behavior
for progress bars.

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::supportsMeter const):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::supportsMeter const):

  • rendering/RenderThemeWin.h:

LayoutTests:

Added tests to verify the stylability of native meters and to
verify that different states are painted with a different appearance.

  • fast/forms/ios/form-control-refresh/meter/border-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/meter/border.html: Added.
  • fast/forms/ios/form-control-refresh/meter/even-less-good-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/meter/even-less-good-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/meter/optimal-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/meter/optimal-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/meter/suboptimal-appearance-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/meter/suboptimal-appearance.html: Added.
  • fast/forms/ios/form-control-refresh/meter/width-height-expected-mismatch.html: Added.
  • fast/forms/ios/form-control-refresh/meter/width-height.html: Added.
12:38 PM Changeset in webkit [270206] by don.olmstead@sony.com
  • 6 edits in trunk/Source

Non-unified build fixes, late November 2020 edition, take two
https://bugs.webkit.org/show_bug.cgi?id=219317

Unreviewed non-unified build fixes.

Source/WebCore:

  • display/css/DisplayBox.cpp:
  • layout/integration/LayoutIntegrationLineLayout.cpp:
  • rendering/RenderBlockFlow.cpp:

Source/WebKit:

  • Shared/WebPreferencesDefaultValues.cpp:
12:36 PM Changeset in webkit [270205] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebKit

Fix build when ENABLE_RESOURCE_LOAD_STATISTICS is disabled
https://bugs.webkit.org/show_bug.cgi?id=219316

Unreviewed build fix.

Add ENABLE(RESOURCE_LOAD_STATISTICS) guards around NetworkSession requests for
resource load statistics. Move firePrivateClickMeasurementTimerImmediately out of
a ENABLE(RESOURCE_LOAD_STATISTICS) guard and place it where its ordered in the header.

This originally broke the PlayStation build before ENABLE_RESOURCE_LOAD_STATISTICS
was turned on.

No new tests. No change in behavior.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::simulateResourceLoadStatisticsSessionRestart):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::firePrivateClickMeasurementTimerImmediately):

  • NetworkProcess/PrivateClickMeasurementManager.cpp:

(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::clearSentAttributions):
(WebKit::PrivateClickMeasurementManager::updateTimerLastFired):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
(WebKit::PrivateClickMeasurementManager::clear):
(WebKit::PrivateClickMeasurementManager::clearForRegistrableDomain):
(WebKit::PrivateClickMeasurementManager::clearExpired):
(WebKit::PrivateClickMeasurementManager::toString const):
(WebKit::PrivateClickMeasurementManager::markAllUnattributedAsExpiredForTesting):
(WebKit::PrivateClickMeasurementManager::markAttributedPrivateClickMeasurementsAsExpiredForTesting):

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

[WinCairo][Clang] html/canvas/WebGLDrawBuffers.cpp(77,29): error: non-constant-expression cannot be narrowed from type 'WebCore::GraphicsContextGL::(anonymous enum at GraphicsContextGL.h:64:5)' to 'GCGLenum' (aka 'unsigned int') in initializer list
https://bugs.webkit.org/show_bug.cgi?id=219320

Unreviewed build fix for WinCairo clang-cl build.

  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::drawBuffersWEBGL): Added static_cast<GCGLenum> for the initializer list.

12:07 PM Changeset in webkit [270203] by Wenson Hsieh
  • 15 edits in trunk

Introduce new display list meta commands in preparation for webkit.org/b/219091
https://bugs.webkit.org/show_bug.cgi?id=219262

Reviewed by Ryosuke Niwa.

Source/WebCore:

Introduces two new display list items: MetaCommandChangeDestinationImageBuffer and MetaCommandEnd. These
meta commands will be used in a future patch to synchronize display list drawing commands between multiple
destination image buffers when using the GPU process by allowing RemoteRenderingBackend to process display
data that contains commands targeting more than one destination image buffer.

MetaCommandChangeDestinationImageBuffer is used to inform the replayer that the destination image buffer (in
which commands are replayed) should be changed to the new image buffer indicated by the rendering resource
identifier in the item. When replaying, we'll bail with StopReplayReason::ChangeDestinationImageBuffer and set
nextDestinationImageBuffer to the identifier of this next buffer.

MetaCommandEnd is used to inform the replayer that it should expect no more display list items; in a future
patch, RemoteRenderingBackend will take this as a cue to immediately stop waiting for more display list data
and go to sleep.

A stream of display list data will eventually consist of data targeting one or more destination image buffers,
separated by MetaCommandChangeDestinationImageBuffer items, and may span one or more item buffers, separated
by MetaCommandChangeItemBuffer items; finally, it will conclude with a MetaCommandEnd item.
The below diagram depicts one such stream of display list data, where we have two destination image buffers
(denoted by A and B), and display list item data spanning two item buffers (denoted by 1 and 2).

Wakeup message initiates display list processing with Image Buffer A and Item Buffer 1

|
| MetaCommandChangeItemBuffer(2)
| |
| MetaCommandChangeDestinationImageBuffer(B) |
| | |
| | |
v v v
+-----------------------+--------------------------------++
| +--------------------+ +------------------------------+ |
| | Destination | | Destination | | Item Buffer 1
| | Image Buffer A | | Image Buffer B | |
| +--------------------+ +------------------------------+ |
+---------------------------------------------------------+

+---------------------------------------------------------+
| +--------------+ +-----------------------+ |
| | Dst. Image | | Destination Image | Unused | Item Buffer 2
| | Buffer B | | Buffer A | Capacity |
| +--------------+ +-----------------------+ |
+-----------------+-------------------------+-------------+


| |
| |
| MetaCommandEnd
|

MetaCommandChangeDestinationImageBuffer(A)

Additionally, rename MetaCommandSwitchToItemBuffer to MetaCommandChangeItemBuffer, such that it is
consistent with the new MetaCommandChangeDestinationImageBuffer item.

  • platform/graphics/displaylists/DisplayList.cpp:

(WebCore::DisplayList::DisplayList::append):

  • platform/graphics/displaylists/DisplayListItemBuffer.cpp:

(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::copyTo const):
(WebCore::DisplayList::ItemBuffer::swapWritableBufferIfNeeded):

  • platform/graphics/displaylists/DisplayListItemType.cpp:

(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):

  • platform/graphics/displaylists/DisplayListItemType.h:
  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::operator<<):

  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::MetaCommandChangeItemBuffer::MetaCommandChangeItemBuffer):
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::MetaCommandChangeDestinationImageBuffer):
(WebCore::DisplayList::MetaCommandChangeDestinationImageBuffer::identifier const):
(WebCore::DisplayList::MetaCommandSwitchToItemBuffer::MetaCommandSwitchToItemBuffer): Deleted.
(WebCore::DisplayList::MetaCommandSwitchToItemBuffer::identifier const): Deleted.

  • platform/graphics/displaylists/DisplayListReplayer.cpp:

(WebCore::DisplayList::Replayer::replay):

  • platform/graphics/displaylists/DisplayListReplayer.h:

Source/WebKit:

See WebCore ChangeLog for more information. Additionally, rename MetaCommandSwitchToItemBuffer to
MetaCommandChangeItemBuffer, for consistency with the new MetaCommandChangeDestinationImageBuffer item.

  • GPUProcess/graphics/RemoteImageBuffer.h:
  • GPUProcess/graphics/RemoteRenderingBackend.cpp:

(WebKit::RemoteRenderingBackend::decodeItem):

  • WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

Tools:

Rename MetaCommandSwitchToItemBuffer.

  • TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:

(TestWebKitAPI::TEST):

10:56 AM Changeset in webkit [270202] by Wenson Hsieh
  • 3 edits in trunk/Source/WebKit

Remove some extraneous PLATFORM(IOS_FAMILY) guards in WKContentViewInteraction
https://bugs.webkit.org/show_bug.cgi?id=219289

Reviewed by Sam Weinig.

Remove several redundant uses of PLATFORM(IOS_FAMILY). The entire class is already conditional on
IOS_FAMILY, so adding additional compile-time guards for iOS family is not necessary.

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

(-[WKContentView setTimePickerValueToHour:minute:]):
(-[WKContentView timePickerValueHour]):
(-[WKContentView timePickerValueMinute]):

10:53 AM Changeset in webkit [270201] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[build.webkit.org] use lz4 compression for improving buildbot performance
https://bugs.webkit.org/show_bug.cgi?id=219133

Reviewed by Jonathan Bedard.

  • CISupport/build-webkit-org/master_buildbot2.cfg:
10:50 AM Changeset in webkit [270200] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

[LFC Display] Clean up CSS stacking context painting code
https://bugs.webkit.org/show_bug.cgi?id=219307

Reviewed by Antti Koivisto.

Clarify the code in Display::CSSPainter that paints stacking contexts and positioned
elements. Non-stacking positioned elements paint atomically, but don't paint descendant
stacking contexts (sometimes these are called "pseudo-stacking contexts" but that term
is avoided here to reduce confusion). Share code between painting these and stacking
contexts via paintAtomicallyPaintedBox().

Also make sure we paint the contents of non-container child boxes, so that things like
positioned images paint.

Remove some incorrect image painting code in BoxPainter::paintBox().

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):

  • display/css/DisplayBoxPainter.cpp:

(WebCore::Display::BoxPainter::paintBox):

  • display/css/DisplayCSSPainter.cpp:

(WebCore::Display::CSSPainter::recursivePaintDescendantsForPhase):
(WebCore::Display::CSSPainter::recursivePaintDescendants):
(WebCore::Display::CSSPainter::paintAtomicallyPaintedBox):
(WebCore::Display::CSSPainter::paintStackingContext):
(WebCore::Display::CSSPainter::participatesInZOrderSorting):
(WebCore::Display::CSSPainter::collectStackingContextDescendants):
(WebCore::Display::CSSPainter::recursiveCollectLayers):

  • display/css/DisplayCSSPainter.h:
10:49 AM Changeset in webkit [270199] by Lauro Moura
  • 2 edits in trunk/Tools/buildstream

[Flatpak SDK] Update GTK4 to 3.99.4
https://bugs.webkit.org/show_bug.cgi?id=219269

Reviewed by Philippe Normand.

  • elements/sdk/gtk.bst: Update to track tags instead of individual commits and

specify 3.99.4 as the latest tag. Also added new meson flags to disable the ffmpeg
media backend and cloud printing after GTK changed some more options into features[1]

[1] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2708

9:45 AM Changeset in webkit [270198] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[LFC Display] A ContainerBox can establish an inline formatting context and have box children
https://bugs.webkit.org/show_bug.cgi?id=218736

Reviewed by Zalan Bujtas.

If a layout box establishes an inline formatting context, then the only descendant container
boxes that we should make display boxes for while traversing non-inline descendants
are those which are out of flow.

  • display/DisplayTreeBuilder.cpp:

(WebCore::Display::TreeBuilder::recursiveBuildDisplayTree const):

9:26 AM Changeset in webkit [270197] by Adrian Perez de Castro
  • 12 edits in trunk/Source

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

Unreviewed non-unified build fixes.

Source/WebCore:

  • dom/SimpleRange.cpp: Add missing Frame.h header.
  • html/canvas/CanvasRenderingContext2D.cpp: Removed fontStyleIsWithinRange() from here, as

it is not used in this source file.

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::isSpaceThatNeedsReplacing): Moved here from CanvasRenderingContext2D.cpp

  • inspector/InspectorNodeFinder.cpp: Add missing Frame.h header.
  • page/FrameTree.h: Added missing wtf/Forward.h header
  • style/StyleResolveForFontRaw.cpp: Add missing CSSToLengthConversionData.h,

FontCascade.h, and Settings.h headers.

  • style/StyleResolveForFontRaw.h: Add forward declaration for FontCascadeDescription.

Source/WebKit:

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp: Add missing

PrivateClickMeasurementManager.h header.

  • NetworkProcess/PrivateClickMeasurementManager.cpp: Add missing NetworkSession.h header.
  • UIProcess/SpeechRecognitionServer.cpp:

(WebKit::SpeechRecognitionServer::handleRequest): Add missing WebCore:: namespace to uses
of the WebCore::SpeechRecognizer and WebCore::SpeechRecognitionUpdateType types.

9:05 AM Changeset in webkit [270196] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

[LFC Display] Add support for painting box shadows
https://bugs.webkit.org/show_bug.cgi?id=219265

Reviewed by Zalan Bujtas.

Clone the ShadowData linked list into Display::Style, fixing up the color,
and add code to BoxDecorationPainter to paint outset and inset shadows.

The pixel snapping isn't quite right yet; we really need to pixel-snap the
rect that results from the border/padding box with shadow offset and spread applied,
but that would require storing more shadow-related data at tree building time.

The boxShadowShouldBeAppliedToBackground() code path isn't supported yet.

  • display/css/DisplayBoxDecorationPainter.cpp:

(WebCore::Display::BoxDecorationPainter::BoxDecorationPainter):
(WebCore::Display::BoxDecorationPainter::paintBoxShadow const):
(WebCore::Display::BoxDecorationPainter::innerBorderRoundedRect const):
(WebCore::Display::BoxDecorationPainter::backgroundRoundedRectAdjustedForBleedAvoidance const):
(WebCore::Display::BoxDecorationPainter::paintBackgroundAndBorders const):

  • display/css/DisplayBoxDecorationPainter.h:
  • display/css/DisplayStyle.cpp:

(WebCore::Display::deepCopy):
(WebCore::Display::Style::Style):

  • display/css/DisplayStyle.h:

(WebCore::Display::Style::boxShadow const):

  • platform/graphics/LayoutSize.h:

(WebCore::roundSizeToDevicePixels):

  • rendering/style/ShadowData.h:

(WebCore::ShadowData::setColor):
(WebCore::ShadowData::setNext):

8:52 AM Changeset in webkit [270195] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

[LFC][Integration] Initial display:inline support
https://bugs.webkit.org/show_bug.cgi?id=219301

Reviewed by Zalan Bujtas.

<span> etc.

Not enabled yet.

  • layout/integration/LayoutIntegrationBoxTree.cpp:

(WebCore::LayoutIntegration::BoxTree::buildTree):
(WebCore::LayoutIntegration::BoxTree::updateStyle):
(WebCore::LayoutIntegration::BoxTree::layoutBoxForRenderer):
(WebCore::LayoutIntegration::BoxTree::rendererForLayoutBox):

  • layout/integration/LayoutIntegrationCoverage.cpp:

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

  • layout/integration/LayoutIntegrationInlineContent.h:

(WebCore::LayoutIntegration::InlineContent::InlineBox::InlineBox):
(WebCore::LayoutIntegration::InlineContent::InlineBox::layoutBox const):
(WebCore::LayoutIntegration::InlineContent::InlineBox::lineIndex const):
(WebCore::LayoutIntegration::InlineContent::InlineBox::rect const):
(WebCore::LayoutIntegration::InlineContent::shrinkToFit):

  • layout/integration/LayoutIntegrationInlineContentBuilder.cpp:

(WebCore::LayoutIntegration::InlineContentBuilder::build const):
(WebCore::LayoutIntegration::InlineContentBuilder::createDisplayInlineBoxes const):

  • layout/integration/LayoutIntegrationInlineContentBuilder.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::containing):
(WebCore::LayoutIntegration::LineLayout::enclosingBorderBoxRectFor const):
(WebCore::LayoutIntegration::LineLayout::paint):

  • layout/integration/LayoutIntegrationLineLayout.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutModernLines):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleDidChange):
(WebCore::RenderInline::linesBoundingBox const):

8:31 AM Changeset in webkit [270194] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Fix ANGLE CMakeLists.txt warnings
https://bugs.webkit.org/show_bug.cgi?id=219260

Patch by Rob Buis <rbuis@igalia.com> on 2020-11-27
Reviewed by Philippe Normand.

Fix warning when building on GTK:
Make Warning (dev) at Source/ThirdParty/ANGLE/CMakeLists.txt:103:
Syntax Warning in cmake code at column 37

Argument not separated from preceding token by whitespace.
This warning is for project developers. Use -Wno-dev to suppress it.

  • CMakeLists.txt:
6:48 AM Changeset in webkit [270193] by Philippe Normand
  • 3 edits
    1 add in trunk/Tools/buildstream

[Flatpak SDK] Add clangd
https://bugs.webkit.org/show_bug.cgi?id=219302

Reviewed by Adrian Perez de Castro.

clangd can be used as an alternative to ccls in IDEs supporting the LSP protocol.

  • elements/sdk-platform.bst:
  • elements/sdk/clangd.bst: Added.
  • project.conf:
4:21 AM Changeset in webkit [270192] by commit-queue@webkit.org
  • 2 edits in trunk/Tools/buildstream

[Flatpak SDK] Update ccls
https://bugs.webkit.org/show_bug.cgi?id=219303

Patch by Philippe Normand <pnormand@igalia.com> on 2020-11-27
Reviewed by Adrian Perez de Castro.

  • elements/sdk/ccls.bst: Update to latest release, 0.20201025.
4:16 AM Changeset in webkit [270191] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk/Tools/buildstream

[Flatpak SDK] Add cmake-lsp recipe
https://bugs.webkit.org/show_bug.cgi?id=219234

Patch by Philippe Normand <pnormand@igalia.com> on 2020-11-27
Reviewed by Adrian Perez de Castro.

Add CMake LSP server for use in IDEs.

  • elements/sdk-platform.bst:
  • elements/sdk/cmake-lsp.bst: Added.
  • elements/sdk/pygls.bst: Added.
  • project.conf:
3:57 AM Changeset in webkit [270190] by commit-queue@webkit.org
  • 8 edits
    1 copy
    1 add in trunk

REGRESSION(r269642) [GStreamer][WebRTC] Unexpected results after update to M87
https://bugs.webkit.org/show_bug.cgi?id=218787

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-11-27
Reviewed by Philippe Normand.

Source/WebCore:

Describe more specifically the H264 SDP. It uses a hardcoded list with the minimun
requirement: ConstrainedBaseline and Baseline profiles which are supported by the video
decoders used in GStreamer.

No new tests required.

  • platform/GStreamer.cmake:
  • platform/mediastream/libwebrtc/GStreamerVideoCommon.cpp: Added.

(WebCore::createH264Format):
(WebCore::gstreamerSupportedH264Codecs):

  • platform/mediastream/libwebrtc/GStreamerVideoCommon.h: Added.
  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp: Removed unused headers.

(WebCore::GStreamerVideoDecoder::AddDecoderIfSupported): Pass argument by reference.
(WebCore::GStreamerVideoDecoder::ConfigureSupportedDecoder): Instead of a single SDP returns
a vector of them.

  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: Removed unused headers.

(WebCore::GStreamerVideoEncoder::AddCodecIfSupported): Pass argument by reference.
(WebCore::GStreamerVideoEncoder::ConfigureSupportedCodec): Instead of a single SDP returns
a vector of them and remove the unused argument.
(WebCore::GStreamerVideoEncoderFactory::GetSupportedFormats const):

  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.h: Fixed a typo.

LayoutTests:

Update expectations with fixed tests.
Also fixed a typo.

  • platform/glib/TestExpectations:
  • platform/gtk/TestExpectations:
3:21 AM Changeset in webkit [270189] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, clang build fix after r270185

  • platform/graphics/GraphicsTypesGL.h: Fixup nullptr_t namespace.

(GCGLSpan::GCGLSpan):
(std::numeric_limits<size_t>::max):

3:03 AM Changeset in webkit [270188] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GLib webaudio gardening

  • platform/glib/TestExpectations: webaudio/AudioParam/audioparam-processing.html

consistently passing since r270139.

2:21 AM Changeset in webkit [270187] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GStreamer] refactor video encoder with WebKit style
https://bugs.webkit.org/show_bug.cgi?id=218748

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-11-27
Reviewed by Philippe Normand.

Apply WebKit code style to GStreamerVideoEncoder

No new tests required since it's a refactor.

  • platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp:

(Encoders::singleton): Instead of an array with the available encoders, a singleton map is
used, with better memory handling.
(Encoders::registerEncoder): static method to register a possible encoder to handle
(Encoders::definition): getter
(webrtcVideoEncoderGetProperty): renamed
(webrtcVideoEncoderSetBitrate): renamed
(webrtcVideoEncoderSetFormat): Use getter for static pads; GRefPtr for memory handling;
don't call gst_ghost_pad_set_target() inside a g_assert since it can be disabled.
(webrtcVideoEncoderSetProperty): renamed
(setupX264enc): renamed
(setupOpenh264enc): renamed
(setupOmxh264enc): renamed
(setBitrateKbitPerSec): renamed
(setBitrateBitPerSec): renamed
(webrtc_video_encoder_class_init): renamed
(webrtc_video_encoder_init): renamed

  • platform/mediastream/libwebrtc/GStreamerVideoEncoder.h: use G_DECLARE_FINAL_TYPE macro and

change the name of the glib type to WEBRTC_TYPE_VIDEO_ENCODER

  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp: remove unused macro

(WebCore::GStreamerVideoEncoderFactory::GStreamerVideoEncoderFactory): Don't register the
element as primary, but none.

2:02 AM Changeset in webkit [270186] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

[GTK] MiniBroeser add an option to quit the browser after loading finishes
https://bugs.webkit.org/show_bug.cgi?id=219081

Reviewed by Carlos Alberto Lopez Perez.

It's useful to run benchmarks or test case reduction tools.

  • MiniBrowser/gtk/BrowserTab.c:

(webProcessTerminatedCallback): Show a warning when the web process crashes.
(browserTabConstructed): Connect to web-process-terminated signal.

  • MiniBrowser/gtk/main.c:

(quitApplication): Quit the MiniBrowser.
(exitAfterWebViewLoadFinishesCallback): Schedule a browser quit to the next run loop iteration.
(exitAfterWebProcessCrashed): Call exitAfterWebViewLoadFinishesCallback with WEBKIT_LOAD_FINISHED.
(exitAfterWebViewLoadFinishes): Connect to load-changed and web-process-terminated signals
(activate): Ensure the browser is exited after the load finishes or web process crashes when --exit-after-load is passed.

1:51 AM Changeset in webkit [270185] by commit-queue@webkit.org
  • 25 edits in trunk/Source/WebCore

GraphicsContextGL should have robust multivalue setters
https://bugs.webkit.org/show_bug.cgi?id=219256

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

Replace bufSize, pointer pairs and plain pointers in GraphicsContextGL
with GCGLSpan. This makes it easier to understand how many values there
are pointed by the pointer. This is needed for simpler implementation of GPU
process IPC, where the IPC layer does not need to interpret the OpenGL
properties.

In WebGL implementation, changes the validation functions to return
the memory reference that will be touched by the valid function call.
On validation failure, nullopt will be returned.

Makes the existing GraphicsContextGL texture image manipulation functions
to support robust invocation. Removes the robust APIs from ExtensionsGL.
Adds the missing texture image manipulation functions from ExtensionGL
to GraphicsContextGL. Implementations for the moved methods
exist only for ANGLE implementation of GraphicsContextGLOpenGL.

Changes the ANGLE variant of GraphicsContextGL::texImage2D to be
implemented as ExtensionsGLANGLE::texImage2DRobustANGLE. Before, for
ANGLE the GraphicsContextGL::texImage2D was unused.

No new tests, a refactor.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::invalidateFramebuffer):
(WebCore::WebGL2RenderingContext::invalidateSubFramebuffer):
(WebCore::WebGL2RenderingContext::uniform1uiv):
(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::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::drawBuffers):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
(WebCore::WebGL2RenderingContext::validateClearBuffer):
(WebCore::WebGL2RenderingContext::uniform1fv):
(WebCore::WebGL2RenderingContext::uniform2fv):
(WebCore::WebGL2RenderingContext::uniform3fv):
(WebCore::WebGL2RenderingContext::uniform4fv):
(WebCore::WebGL2RenderingContext::uniform1iv):
(WebCore::WebGL2RenderingContext::uniform2iv):
(WebCore::WebGL2RenderingContext::uniform3iv):
(WebCore::WebGL2RenderingContext::uniform4iv):
(WebCore::WebGL2RenderingContext::uniformMatrix2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4fv):

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

(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::bufferData):
(WebCore::WebGLRenderingContextBase::bufferSubData):
(WebCore::WebGLRenderingContextBase::uniform1fv):
(WebCore::WebGLRenderingContextBase::uniform2fv):
(WebCore::WebGLRenderingContextBase::uniform3fv):
(WebCore::WebGLRenderingContextBase::uniform4fv):
(WebCore::WebGLRenderingContextBase::uniform1iv):
(WebCore::WebGLRenderingContextBase::uniform2iv):
(WebCore::WebGLRenderingContextBase::uniform3iv):
(WebCore::WebGLRenderingContextBase::uniform4iv):
(WebCore::WebGLRenderingContextBase::uniformMatrix2fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix3fv):
(WebCore::WebGLRenderingContextBase::uniformMatrix4fv):
(WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
(WebCore::WebGLRenderingContextBase::vertexAttribfvImpl):

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::WebGLRenderingContextBase::validateUniformParameters):

  • platform/graphics/ExtensionsGL.h:
  • platform/graphics/GraphicsContextGL.h:
  • platform/graphics/GraphicsTypesGL.h:

(GCGLSpan::GCGLSpan):
(std::numeric_limits<size_t>::max):
(makeGCGLSpan):

  • platform/graphics/angle/ExtensionsGLANGLE.cpp:

(WebCore::ExtensionsGLANGLE::drawBuffersEXT):

  • platform/graphics/angle/ExtensionsGLANGLE.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLOpenGL::bufferData):
(WebCore::GraphicsContextGLOpenGL::bufferSubData):
(WebCore::GraphicsContextGLOpenGL::uniform1fv):
(WebCore::GraphicsContextGLOpenGL::uniform2fv):
(WebCore::GraphicsContextGLOpenGL::uniform3fv):
(WebCore::GraphicsContextGLOpenGL::uniform4fv):
(WebCore::GraphicsContextGLOpenGL::uniform1iv):
(WebCore::GraphicsContextGLOpenGL::uniform2iv):
(WebCore::GraphicsContextGLOpenGL::uniform3iv):
(WebCore::GraphicsContextGLOpenGL::uniform4iv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib1fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib2fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttrib4fv):
(WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer):
(WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer):
(WebCore::GraphicsContextGLOpenGL::uniform1uiv):
(WebCore::GraphicsContextGLOpenGL::uniform2uiv):
(WebCore::GraphicsContextGLOpenGL::uniform3uiv):
(WebCore::GraphicsContextGLOpenGL::uniform4uiv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv):
(WebCore::GraphicsContextGLOpenGL::drawBuffers):
(WebCore::GraphicsContextGLOpenGL::clearBufferiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferuiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfv):

  • platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:

(WebCore::GraphicsContextGLCVANGLE::initializeUVContextObjects):
(WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture):

  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
1:08 AM Changeset in webkit [270184] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] AudioSourceProvider can potentially invoke an already-freed client
https://bugs.webkit.org/show_bug.cgi?id=217952

Reviewed by Xabier Rodriguez-Calvar.

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:

(WebCore::AudioSourceProviderGStreamer::deinterleavePadsConfigured): Check the provider has
a client before setting up the audio format.

12:51 AM Changeset in webkit [270183] by youenn@apple.com
  • 4 edits in trunk/LayoutTests

[WebRTC] webrtc/audio-sframe.html is flaky crashing since added in r269830
https://bugs.webkit.org/show_bug.cgi?id=219066
<rdar://problem/71747778>

Unreviewed.

webrtc/audio-sframe.html is no longer crashing after revision 270107.
Update test expectations accordingly.

  • platform/glib/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:28 AM Changeset in webkit [270182] by yoshiaki.jitsukawa@sony.com
  • 2 edits
    2 adds in trunk/Source/WebKit

[PlayStation] Define platform argument coders for Font
https://bugs.webkit.org/show_bug.cgi?id=219300

Reviewed by Fujii Hironori.

  • PlatformPlayStation.cmake:
  • Shared/playstation/WebCoreArgumentCodersPlayStation.cpp: Added.

Define required member functions of ArgumentCoder<Ref<WebCore::Font>> class.

12:07 AM Changeset in webkit [270181] by youenn@apple.com
  • 3 edits in trunk/Source/ThirdParty/libwebrtc

RTCVideoEncoderH264 does not need to support case without ENABLE_VCP_ENCODER and without HAVE_VTB_REQUIREDLOWLATENCY
https://bugs.webkit.org/show_bug.cgi?id=219224

Reviewed by Eric Carlson.

  • Source/webrtc/sdk/WebKit/VideoProcessingSoftLink.h:

Make sure to compile the same with public SDK

  • Source/webrtc/sdk/objc/components/video_codec/RTCVideoEncoderH264.mm:

(-[RTCVideoEncoderH264 resetCompressionSessionWithPixelFormat:]):
Remove code path that is no longer useful.

Note: See TracTimeline for information about the timeline view.