Timeline



Jan 28, 2020:

11:18 PM Changeset in webkit [255339] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the build

  • UIProcess/ios/WKMouseGestureRecognizer.mm:

(-[WKMouseGestureRecognizer touchesEnded:withEvent:]):

10:53 PM Changeset in webkit [255338] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

REGRESSION (r255158): http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206839

Patch by Said Abou-Hallawa <Said Abou-Hallawa> on 2020-01-28
Reviewed by Simon Fraser.

Logging on EWS has shown that in some cases ThrottlingReason::VisuallyIdle
was added to the Page::m_throttlingReasons but it was never removed. If
this happens renderingUpdate and requestAnimationFrame will be throttled
to 10 seconds which leads to test flakiness and timeout.

Currently the throttling reasons of Page or ScriptedAnimationController
can be changed by natural reasons (visibility, layout or device state)
unless Setting::renderingUpdateThrottlingEnabled is disabled. Low power
mode also can be overridden by a specific value set by the test.

To make things clearer, a new OptionSet<ThrottlingReason> will be added
to Page. Its name is m_throttlingReasonsOverrideForTestingMask. The
purpose of adding it is to allow disabling and overriding specific
ThrottlingReasons. The bits of m_throttlingReasonsOverrideForTestingMask
are not actually reasons. They prevent changing the corresponding bits in
Page::m_throttlingReasons by natural reasons. Here are the rules for
setting the bits of m_throttlingReasonsOverrideForTestingMask and
m_throttlingReasons:

-- Settings::renderingUpdateThrottlingEnabled is enabled: All the bits in

m_throttlingReasonsOverrideForTestingMask will be turned off expect
the bit of ThrottlingReason::VisuallyIdle. We need to disable it always
for testing. All the bits in m_throttlingReasons will be cleared.
ThrottlingReason::LowPowerMode will be added to m_throttlingReasons
if the device is already in low power mode.

-- Settings::renderingUpdateThrottlingEnabled is disabled: All the bits

in m_throttlingReasonsOverrideForTestingMask will be turned on. All the
bits in m_throttlingReasons will be cleared.

-- Low power mode is overridden: ThrottlingReason::LowPowerMode is added

to m_throttlingReasonsOverrideForTestingMask. The new overriding value
is set in m_throttlingReasons.

-- Low power mode is cleared: ThrottlingReason::LowPowerMode is removed

from m_throttlingReasonsOverrideForTestingMask. If the device is in
low power mode. ThrottlingReason::LowPowerMode will be added to
m_throttlingReasons

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
Adding and removing ThrottlingReasons to ScriptedAnimationController will
be controlled by Page::m_throttlingReasonsOverrideForTestingMask. If the
bits of the corresponding reasons are on, no change will be allowed.

(WebCore::ScriptedAnimationController::clearThrottlingReasons):
(WebCore::ScriptedAnimationController::isThrottled const):
The bits in the m_throttlingReasons of Page and ScriptedAnimationController
reflect the state of the throttling. No need to check for the Settings.

(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const): Deleted.

  • dom/ScriptedAnimationController.h:

(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const):
(WebCore::ScriptedAnimationController::addThrottlingReason): Deleted.
(WebCore::ScriptedAnimationController::removeThrottlingReason): Deleted.

  • page/Page.cpp:

(WebCore::Page::Page):
Set the initial state of the low power mode throttling.

(WebCore::Page::setLowPowerModeEnabledOverrideForTesting):
This will override the low power mode state or clear it. If it overrides
it, no subsequent change will be allowed.

(WebCore::Page::renderingUpdateThrottlingEnabledChangedForTesting):
This called through changing the Settings from the tests only.

(WebCore::Page::setIsVisuallyIdleInternal):
(WebCore::Page::handleLowModePowerChange):
Prevent changing m_throttlingReasons if the throttling reasons can't be
altered.

(WebCore::Page::isLowPowerModeEnabled const): Deleted.
(WebCore::Page::renderingUpdateThrottlingEnabled const): Deleted.
(WebCore::Page::renderingUpdateThrottlingEnabledChanged): Deleted.
(WebCore::Page::isRenderingUpdateThrottled const): Deleted.
(WebCore::Page::preferredRenderingUpdateInterval const): Deleted.

  • page/Page.h:

(WebCore::Page::isLowPowerModeEnabled const):
(WebCore::Page::canUpdateThrottlingReason const):
(WebCore::Page::isRenderingUpdateThrottled const):
(WebCore::Page::preferredRenderingUpdateInterval const):

  • page/Settings.yaml:
  • page/SettingsBase.cpp:

(WebCore::SettingsBase::renderingUpdateThrottlingEnabledChangedForTesting):
(WebCore::SettingsBase::renderingUpdateThrottlingEnabledChanged): Deleted.

  • page/SettingsBase.h:
10:46 PM Changeset in webkit [255337] by timothy_horton@apple.com
  • 4 edits in trunk

macCatalyst: Right clicking on a link follows it immediately
https://bugs.webkit.org/show_bug.cgi?id=206919
<rdar://problem/58936679>

Reviewed by Wenson Hsieh.

Source/WebKit:

  • UIProcess/ios/WKMouseGestureRecognizer.mm:

(-[WKMouseGestureRecognizer createMouseEventWithType:forEvent:]):
(-[WKMouseGestureRecognizer touchesBegan:withEvent:]):
(-[WKMouseGestureRecognizer touchesEnded:withEvent:]):
UIKit's _buttonMask does not include the currently-released button,
so in order to correctly identify the released button in touchesEnded,
store the mask for the length of the click.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/MacCatalystMouseSupport.mm:

(TEST):
Add a test ensuring that mouseup is still called with the secondary button,
even if the event's buttonmask is 0.

7:17 PM Changeset in webkit [255336] by Russell Epstein
  • 3 edits in branches/safari-609-branch

Apply patch. rdar://problem/58856012

Cherry-pick r254959. rdar://problem/58856012

2020-01-22 Keith Miller <keith_miller@apple.com>

InternalField and CheckNeutered DF nodes are not always safe to execute
https://bugs.webkit.org/show_bug.cgi?id=206632

Reviewed by Saam Barati.

  • stress/for-of-bad-internal-field-hoist.js: added. (foo):
7:09 PM Changeset in webkit [255335] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Add logging to detect cause of rare crash at RenderLayer::calculateLayerBounds const
https://bugs.webkit.org/show_bug.cgi?id=206915
rdar://problem/55699292

Reviewed by Tim Horton.

We have reports of a rare crash under RenderLayer::calculateLayerBounds() under RenderLayer::updateLayerPositions(),
where a RenderLayerBacking's m_owningLayer is null (which should never happen). This appears to reproduce
by clicking links to CNN or FoxNews articles from Google News on macOS.

Add a bear trap in that offset in the class, and also null-check the m_owningLayer reference
in release assertions to better understand what's happening.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::willBeDestroyed):
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateAfterDescendants):
(WebCore::RenderLayerBacking::paintIntoLayer):

  • rendering/RenderLayerBacking.h:
7:01 PM Changeset in webkit [255334] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Null deref crash in DOMWindow::scrollBy after evoking updateLayoutIgnorePendingStylesheets()
https://bugs.webkit.org/show_bug.cgi?id=206099

Patch by Pinki Gyanchandani <pgyanchandani@apple.com> on 2020-01-28
Reviewed by Ryosuke Niwa

Source/WebCore:

Added null pointer check for frame in scrollBy function before usage.

Test: fast/dom/Window/window-scroll-ignore-null-frame.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::scrollBy const):

LayoutTests:

Added a regression test to verify the fix.

  • fast/dom/Window/window-scroll-ignore-null-frame.html: Added.
  • fast/dom/Window/window-scroll-ignore-null-frame-expected.txt: Added.
6:55 PM Changeset in webkit [255333] by Alan Coon
  • 1 edit in branches/safari-609-branch/Source/JavaScriptCore/b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp

Unreviewed build fix. rdar://problem/58856018

6:37 PM Changeset in webkit [255332] by Simon Fraser
  • 2 edits in trunk/LayoutTests

REGRESSION: ( r255226 ) [ iOS ] compositing/backing/page-scale-overlap-in-iframe.html is failing
https://bugs.webkit.org/show_bug.cgi?id=206893

Unreviewed test gardening. I had a local result that was shadowing the actual result, so replace
the iOS result.

  • platform/ios-wk2/compositing/backing/page-scale-overlap-in-iframe-expected.txt:
5:57 PM Changeset in webkit [255331] by Alan Bujtas
  • 3 edits in trunk/LayoutTests

REGRESSION: [ Mac ] fast/hidpi/image-srcset-relative-svg-canvas-2x.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206254
<rdar://problem/58580461>

Reviewed by Simon Fraser.

The drawImage() and the HTML document layout are racy here and when we
don't manage to squeeze in a layout before the JS drawImage(), the
SVG image gets laid out and rendered using the inline replaced box default size
value of 300x150. This patch only fixes the flakiness issue and
does not address the underlying bug (see webkit.org/b/206914).

  • fast/hidpi/image-srcset-relative-svg-canvas-2x-expected.html:
  • fast/hidpi/image-srcset-relative-svg-canvas-2x.html:
5:54 PM Changeset in webkit [255330] by Alan Coon
  • 1 copy in tags/Safari-609.1.15.3

Tag Safari-609.1.15.3.

5:39 PM Changeset in webkit [255329] by Chris Dumez
  • 5 edits in trunk

REGRESSION (r252064): [ Mac iOS ] storage/websql/statement-error-callback.html is timing out flakily
https://bugs.webkit.org/show_bug.cgi?id=206291
<rdar://problem/58606666>

Reviewed by Maciej Stachowiak.

Source/WebCore:

I found that extending the lifetime of the SQLTransaction by capturing protectedThis in the event loop
task was the source of the flaky timeouts & crashes. Queueing this event loop task in
notifyDatabaseThreadIsShuttingDown() is actually not necessary because calling callErrorCallbackDueToInterruption()
directly would schedule the event loop task for us. Also, in callErrorCallbackDueToInterruption(),
the event loop task only keeps the error callback alive, not just the SQLTransaction object.

No new tests, unskipped existing test.

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):

LayoutTests:

Unskip test that is no longer flaky.

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
4:55 PM Changeset in webkit [255328] by Jonathan Bedard
  • 2 edits in trunk/Tools

TestWebKitAPI: Conditionalize device orientation tests on ENABLE(DEVICE_ORIENTATION)
https://bugs.webkit.org/show_bug.cgi?id=206913
<rdar://problem/58973357>

Reviewed by Chris Dumez.

  • TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
4:40 PM Changeset in webkit [255327] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/bmalloc

Cherry-pick r254764. rdar://problem/58920191

[bmalloc] Fix IsoHeapImpl's assertion introduced in r254708
https://bugs.webkit.org/show_bug.cgi?id=206440
<rdar://problem/58688794>

Reviewed by Mark Lam.

The assertion introduced in r254708 was wrong.
Fixing it to check the invariant we actually want to ensure.
This fixes TestWTF crash in Debug build.

  • bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::takeFirstEligible):

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

4:40 PM Changeset in webkit [255326] by Russell Epstein
  • 48 edits
    1 add in branches/safari-609-branch

Cherry-pick r254708. rdar://problem/58945571

[bmalloc] IsoHeap's initial setup should be small
https://bugs.webkit.org/show_bug.cgi?id=206214

Reviewed by Michael Saboff.

Source/bmalloc:

Keep IsoHeap related data structures small by using Packed technique. We start using IsoHeap for many classes,
then it is important that we keep metadata for IsoHeap small because these data persistently exists.

  1. We pass IsoHeapImpl<> as a parameter instead of holding it unnecessarily.
  2. We make some of pointers Packed so that we can keep sizeof(IsoHeapImpl<Config>) small.
  3. One of the drawback of PackedPtr is that loading and storing are not atomic. And we pass const std::lock_guard<Mutex>& to functions if functions need to be called with lock so that we ensure that PackedPtr are accessed only when lock is held correctly.
  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Algorithm.h: (bmalloc::ctzConstexpr): (bmalloc::getLSBSetNonZeroConstexpr):
  • bmalloc/BPlatform.h:
  • bmalloc/DebugHeap.cpp: (bmalloc::DebugHeap::DebugHeap):
  • bmalloc/DebugHeap.h:
  • bmalloc/DeferredTrigger.h:
  • bmalloc/DeferredTriggerInlines.h: (bmalloc::DeferredTrigger<trigger>::didBecome): (bmalloc::DeferredTrigger<trigger>::handleDeferral):
  • bmalloc/Environment.cpp: (bmalloc::Environment::Environment):
  • bmalloc/Environment.h:
  • bmalloc/Gigacage.cpp: (bmalloc::PrimitiveDisableCallbacks::PrimitiveDisableCallbacks):
  • bmalloc/Heap.cpp: (bmalloc::Heap::freeableMemory): (bmalloc::Heap::markAllLargeAsEligibile): (bmalloc::Heap::decommitLargeRange): (bmalloc::Heap::scavenge): (bmalloc::Heap::scavengeToHighWatermark):
  • bmalloc/Heap.h:
  • bmalloc/HeapConstants.cpp: (bmalloc::HeapConstants::HeapConstants):
  • bmalloc/HeapConstants.h:
  • bmalloc/IsoAllocator.h:
  • bmalloc/IsoAllocatorInlines.h: (bmalloc::IsoAllocator<Config>::IsoAllocator): (bmalloc::IsoAllocator<Config>::allocate): (bmalloc::IsoAllocator<Config>::allocateSlow): (bmalloc::IsoAllocator<Config>::scavenge):
  • bmalloc/IsoDeallocatorInlines.h: (bmalloc::IsoDeallocator<Config>::scavenge):
  • bmalloc/IsoDirectory.h:
  • bmalloc/IsoDirectoryInlines.h: (bmalloc::passedNumPages>::IsoDirectory): (bmalloc::passedNumPages>::takeFirstEligible): (bmalloc::passedNumPages>::didBecome): (bmalloc::passedNumPages>::didDecommit): (bmalloc::passedNumPages>::scavengePage): (bmalloc::passedNumPages>::scavenge): (bmalloc::passedNumPages>::scavengeToHighWatermark): (bmalloc::passedNumPages>::forEachCommittedPage):
  • bmalloc/IsoHeapImpl.cpp: (bmalloc::IsoHeapImplBase::IsoHeapImplBase):
  • bmalloc/IsoHeapImpl.h:
  • bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::IsoHeapImpl): (bmalloc::IsoHeapImpl<Config>::takeFirstEligible): (bmalloc::IsoHeapImpl<Config>::didBecomeEligibleOrDecommited): (bmalloc::IsoHeapImpl<Config>::scavenge): (bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark): (bmalloc::IsoHeapImplBase::freeableMemory): (bmalloc::IsoHeapImpl<Config>::numLiveObjects): (bmalloc::IsoHeapImpl<Config>::numCommittedPages): (bmalloc::IsoHeapImpl<Config>::forEachDirectory): (bmalloc::IsoHeapImpl<Config>::forEachCommittedPage): (bmalloc::IsoHeapImpl<Config>::forEachLiveObject): (bmalloc::IsoHeapImplBase::footprint): (bmalloc::IsoHeapImplBase::didCommit): (bmalloc::IsoHeapImplBase::didDecommit): (bmalloc::IsoHeapImplBase::isNowFreeable): (bmalloc::IsoHeapImplBase::isNoLongerFreeable): (bmalloc::IsoHeapImpl<Config>::allocateFromShared): (bmalloc::IsoHeapImpl<Config>::freeableMemory): Deleted. (bmalloc::IsoHeapImpl<Config>::footprint): Deleted. (bmalloc::IsoHeapImpl<Config>::didCommit): Deleted. (bmalloc::IsoHeapImpl<Config>::didDecommit): Deleted. (bmalloc::IsoHeapImpl<Config>::isNowFreeable): Deleted. (bmalloc::IsoHeapImpl<Config>::isNoLongerFreeable): Deleted.
  • bmalloc/IsoPage.h: (bmalloc::IsoPageBase::IsoPageBase):
  • bmalloc/IsoPageInlines.h: (bmalloc::IsoPage<Config>::IsoPage): (bmalloc::IsoPage<Config>::free): (bmalloc::IsoPage<Config>::startAllocating): (bmalloc::IsoPage<Config>::stopAllocating): (bmalloc::IsoPage<Config>::forEachLiveObject):
  • bmalloc/IsoSharedHeap.h: (bmalloc::IsoSharedHeap::IsoSharedHeap):
  • bmalloc/IsoSharedHeapInlines.h: (bmalloc::IsoSharedHeap::allocateNew): (bmalloc::IsoSharedHeap::allocateSlow):
  • bmalloc/IsoSharedPage.h:
  • bmalloc/IsoSharedPageInlines.h: (bmalloc::IsoSharedPage::free): (bmalloc::IsoSharedPage::startAllocating): (bmalloc::IsoSharedPage::stopAllocating):
  • bmalloc/IsoTLS.h:
  • bmalloc/IsoTLSAllocatorEntry.h:
  • bmalloc/IsoTLSAllocatorEntryInlines.h: (bmalloc::IsoTLSAllocatorEntry<Config>::scavenge):
  • bmalloc/IsoTLSDeallocatorEntry.h:
  • bmalloc/IsoTLSDeallocatorEntryInlines.h: (bmalloc::IsoTLSDeallocatorEntry<Config>::scavenge):
  • bmalloc/IsoTLSEntry.cpp: (bmalloc::IsoTLSEntry::IsoTLSEntry):
  • bmalloc/IsoTLSEntry.h:
  • bmalloc/IsoTLSEntryInlines.h: (bmalloc::DefaultIsoTLSEntry<EntryType>::DefaultIsoTLSEntry): (bmalloc::DefaultIsoTLSEntry<EntryType>::~DefaultIsoTLSEntry): Deleted. (bmalloc::DefaultIsoTLSEntry<EntryType>::scavenge): Deleted.
  • bmalloc/IsoTLSInlines.h: (bmalloc::IsoTLS::scavenge): (bmalloc::IsoTLS::allocateImpl): (bmalloc::IsoTLS::allocateFast): (bmalloc::IsoTLS::allocateSlow):
  • bmalloc/IsoTLSLayout.cpp: (bmalloc::IsoTLSLayout::add):
  • bmalloc/Packed.h: Added. (bmalloc::Packed::Packed): (bmalloc::Packed::get const): (bmalloc::Packed::set): (bmalloc::Packed::operator=): (bmalloc::Packed::exchange): (bmalloc::Packed::swap): (bmalloc::alignof): (bmalloc::PackedPtrTraits::exchange): (bmalloc::PackedPtrTraits::swap): (bmalloc::PackedPtrTraits::unwrap):
  • bmalloc/Scavenger.cpp: (bmalloc::Scavenger::Scavenger):
  • bmalloc/Scavenger.h:
  • bmalloc/VMHeap.cpp: (bmalloc::VMHeap::VMHeap):
  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp: (bmalloc::Zone::Zone):
  • bmalloc/Zone.h:

Tools:

  • TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: (assertHasObjects): (assertHasOnlyObjects): (assertClean): (TEST):

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

4:40 PM Changeset in webkit [255325] by Russell Epstein
  • 7 edits in branches/safari-609-branch/Source/bmalloc

Cherry-pick r254527. rdar://problem/58945571

[bmalloc] Calculate LineMetadata for specific VM page size in compile time
https://bugs.webkit.org/show_bug.cgi?id=206044

Reviewed by Yusuke Suzuki.

LineMetadata is dependent only on VM page size. This patch enables the pre-calculation for
specific VM page sizes by compiler flags. The benefit is both runtime initialization speed
up and avoiding extra VM allocation on runtime.

First targets are 4k (Mac) and 16k (some iOS, PlayStation) VM page sizes.

  • bmalloc/Algorithm.h: (bmalloc::divideRoundingUp):
  • bmalloc/BPlatform.h:
  • bmalloc/HeapConstants.cpp: (bmalloc::fillLineMetadata): (bmalloc::computeLineMetadata): (bmalloc::HeapConstants::initializeLineMetadata):
  • bmalloc/HeapConstants.h: (bmalloc::HeapConstants::smallLineCount const): (bmalloc::HeapConstants::startOffset const): (bmalloc::HeapConstants::objectCount const): (bmalloc::HeapConstants::lineMetadata const): (bmalloc::HeapConstants::startOffset): Deleted. (bmalloc::HeapConstants::objectCount): Deleted. (bmalloc::HeapConstants::lineMetadata): Deleted.
  • bmalloc/LineMetadata.h:
  • bmalloc/Sizes.h: (bmalloc::Sizes::maskObjectSize): (bmalloc::Sizes::logSizeClass): (bmalloc::Sizes::logObjectSize): (bmalloc::Sizes::sizeClass): (bmalloc::Sizes::objectSize): (bmalloc::Sizes::pageSize): (bmalloc::Sizes::smallLineCount):

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

4:40 PM Changeset in webkit [255324] by Russell Epstein
  • 6 edits
    1 copy
    1 add in branches/safari-609-branch/Source/bmalloc

Cherry-pick r254303. rdar://problem/58945571

[bmalloc] Extract constants from Heap and share it among Heaps.
https://bugs.webkit.org/show_bug.cgi?id=205834

Reviewed by Geoffrey Garen.

A Heap has many constants (m_vmPageSizePhysical, m_smallLineMetadata and m_pageClasses) and they
are dependent only to vmPageSizePhysical and identical for all Heaps.

Extracting them into a class and make it sharable among heaps. Also this is the first step for
making Heap constants to actual constexpr.

  • CMakeLists.txt: Added HeapConstants.cpp.
  • bmalloc.xcodeproj/project.pbxproj: Ditto.
  • bmalloc/Heap.cpp: Referencing HeapConstants object to get information. (bmalloc::Heap::Heap): (bmalloc::Heap::allocateSmallPage): (bmalloc::Heap::deallocateSmallLine): (bmalloc::Heap::allocateSmallBumpRangesByMetadata): (bmalloc::Heap::allocateSmallBumpRangesByObject): (bmalloc::Heap::initializeLineMetadata): Moved to HeapConstants.cpp. (bmalloc::Heap::initializePageMetadata): Moved to HeapConstants.cpp.
  • bmalloc/Heap.h: Extract metadata initialization and member variables.
  • bmalloc/HeapConstants.cpp: Added. (bmalloc::HeapConstants::HeapConstants): (bmalloc::HeapConstants::initializeLineMetadata): (bmalloc::HeapConstants::initializePageMetadata):
  • bmalloc/HeapConstants.h: (bmalloc::HeapConstants::pageClass const): (bmalloc::HeapConstants::smallLineCount const): (bmalloc::HeapConstants::startOffset): (bmalloc::HeapConstants::objectCount): (bmalloc::HeapConstants::lineMetadata):

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

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

Discovered some expected timeouts on the test history, changing expectations to expect the timeouts to pass.
https://bugs.webkit.org/show_bug.cgi?id=90980

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/mac-wk1/TestExpectations:
4:23 PM Changeset in webkit [255322] by timothy_horton@apple.com
  • 25 edits
    1 add in trunk

macCatalyst: Triple clicking to select a sentence results in an empty selection
https://bugs.webkit.org/show_bug.cgi?id=206863
<rdar://problem/58776993>

Reviewed by Wenson Hsieh.

Source/WebCore:

  • editing/EditingBehavior.h:

(WebCore::EditingBehavior::shouldSelectOnContextualMenuClick const):

  • page/ChromeClient.h:

(WebCore::ChromeClient::shouldUseMouseEventsForSelection):

  • page/EventHandler.cpp:

(WebCore::EventHandler::canMouseDownStartSelect):
(WebCore::canMouseDownStartSelect): Deleted.

  • page/EventHandler.h:

Disable WebCore's mouse-event-driven selection mechanisms on macCatalyst,
where we use a UITextInteraction-driven selection instead. Otherwise,
they conflict with each other in a chaotic fashion.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _doAfterProcessingAllPendingMouseEvents:]):

  • UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
  • UIProcess/API/mac/WKWebViewTestingMac.mm:

(-[WKWebView _doAfterProcessingAllPendingMouseEvents:]): Deleted.

  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::handleProcessSwapOrExit):
(WebKit::WebViewImpl::doAfterProcessingAllPendingMouseEvents): Deleted.
(WebKit::WebViewImpl::didFinishProcessingAllPendingMouseEvents): Deleted.
(WebKit::WebViewImpl::flushPendingMouseEventCallbacks): Deleted.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::doAfterProcessingAllPendingMouseEvents):
(WebKit::WebPageProxy::didFinishProcessingAllPendingMouseEvents):
(WebKit::WebPageProxy::flushPendingMouseEventCallbacks):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::didFinishProcessingAllPendingMouseEvents): Deleted.
Move "doAfterProcessingAllPendingMouseEvents" to WebPage instead of WebViewImpl,
so it can be used on all platforms. Expose it via WKWebView.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::shouldUseMouseEventsForSelection):

Tools:

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

(-[WKTestingEvent locationInView:]):
(-[WKTestingEvent _setButtonMask:]):
(-[WKTestingEvent _buttonMask]):
(-[WKTestingTouch locationInView:]):
(-[WKTestingTouch setTapCount:]):
(-[WKTestingTouch tapCount]):
(mouseGesture):
(TEST):
Add a test ensuring that simply plumbing mouse events to WebCore
does not result in a selection change in macCatalyst (because UIKit
will handle the selection change itself, instead).

4:22 PM Changeset in webkit [255321] by rmorisset@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Remove the include of BytecodeGenerator.h in CodeCache.h
https://bugs.webkit.org/show_bug.cgi?id=206851

Reviewed by Tadeu Zagallo.

This reduces the number of times that BytecodeStructs.h has to be parsed from 33 to 25 times, and unblocks https://bugs.webkit.org/show_bug.cgi?id=206720.

  • runtime/CodeCache.cpp:

(JSC::generateUnlinkedCodeBlockForFunctions):
(JSC::generateUnlinkedCodeBlockImpl):
(JSC::generateUnlinkedCodeBlock):
(JSC::generateUnlinkedCodeBlockForDirectEval):
(JSC::recursivelyGenerateUnlinkedCodeBlockForProgram):
(JSC::recursivelyGenerateUnlinkedCodeBlockForModuleProgram):

  • runtime/CodeCache.h:
  • runtime/Completion.cpp:

(JSC::generateProgramBytecode):
(JSC::generateModuleBytecode):

  • runtime/DirectEvalExecutable.cpp:

(JSC::DirectEvalExecutable::create):

  • runtime/JSGlobalObject.cpp:
  • runtime/VM.cpp:
4:06 PM Changeset in webkit [255320] by Jonathan Bedard
  • 2 edits in trunk/Tools

TestWebKitAPI: Conditionalize QuickLook tests on USE(QUICK_LOOK)
https://bugs.webkit.org/show_bug.cgi?id=206907
<rdar://problem/58969924>

Rubber-stamped by Alexey Proskuryakov.

  • TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm: Conditionalize on USE(QUICK_LOOK).
3:33 PM Changeset in webkit [255319] by Alan Coon
  • 45 edits
    1 copy
    3 adds in branches/safari-610.1.1-branch

Cherry-pick r254464. rdar://problem/58811967

Replace uses of Box<Identifier> with a new CacheableIdentifier class.
https://bugs.webkit.org/show_bug.cgi?id=205544
<rdar://problem/58041800>

Reviewed by Saam Barati.

JSTests:

  • stress/racy-gc-cleanup-of-identifier-after-mutator-stops-running.js: Added.

Source/JavaScriptCore:

The introduction of the use of Box<Identifier> was to get around having to
ref/deref the underlying UniqedStringImpl in Identifiers from the compiler
and GC threads. However, it proves to be difficult to control when these
Box<Identifier>s get destructed, and requires that we find all the places in
the compier and GC threads where this can happen, and apply keep alive tactics
there to defer destruction of the Box<Identifier> to the mutator thread.

This patch fixes this by replacing uses of Box<Identifier> with
CacheableIdentifier, which is effectively a tagged union of a JSCell* or a
UniquedStringImpl*. The JSCell*, in this case, can be either a Symbol* or a
JSString* that is backed by an atom string. The VM runtime ensures that we'll
never try to cache an identifier from a JSCell that is not one of these. This
CacheableIdentifier can be destructed from the compiler or GC thread. Since it
doesn't hold a ref of the underlying UniquedStringImpl, it won't try to deref
it on destruction.

Instead, we'll need to visit CacheableIdentifiers during GC scans to keep the
JSCell in it alive, and that JSCell will, in turn, keep the underlying
UniquedStringImpl alive.

This patch also does the following:

  1. Add a visitAggregate() method to StructureStubInfo, PolymorphicAccess, and AccessCase to visit the CacheableIdentifier's JSCell identifier. This visitAggregate() is called from CodeBlock::stronglyVisitStrongReferences().

When we write barrier a CodeBlock, it guarantees that its visitAggregate()
methods is called. However, it does not guarantee that its propagateTransitions()
method will be called. Since the CacheableIdentifier's reference to a cell
should be a strong reference, visiting it via a StructureStubInfo::visitAggregate()
method is the right thing to do.
See https://bugs.webkit.org/show_bug.cgi?id=205544#c7 for an example of why
propagateTransitions() doesn't always do the job.

StructureStubInfo::visitWeakReferences() is also inappropriate for this
because it is only called after all marking is done. It is also not meant
to keep cells alive but merely for clearing weak references to dead cells.

  1. Also add to visitAggregate() for ModuleNamespaceData's m_identifier in GetByStatus::markIfCheap().
  1. Remove previously applied keep alive tactics to work around Box<Identifier> destruction. This also retores the allowance to destruct DFG::Plans on a compiler thread.
  1. Added a JSString:getValueImpl() helper.
  1. Added a write barrier in DFG and FTL JITFinalizer's finalizeCommon() to ensure that frozen values are scanned by the GC.

During compilation, the frozen values were previously protected by the Plan.
After finalization, they should be protected by the CodeBlock. Hence, we
should barrier the CodeBlock since the last GC scan of the CodeBlock may have
happened before the frozen values were registered with the CodeBlock.

GC considerations:
==================
The following also addresses Yusuke's concerns in https://bugs.webkit.org/show_bug.cgi?id=205544#c10.

CacheableIdentifier is only stored as fields in 4 classes/structs:

  1. AccessCase::m_identifier
  2. GetByIdVariant::m_identifier
  3. ModuleNamespaceData::m_identifier
  4. StructureStubInfo::m_getByIdSelfIdentifier

AccessCase::m_identifier
========================
While the access case is being created and added in tryCacheGetBy(), the
CacheableIdentifier is still on the stack and protected from the GC. At the
bottom of tryCacheGetBy(), StructureStubInfo::addAccessCase() is called to add
the access case.

StructureStubInfo::addAccessCase() will barrier the owner CodeBlock at its end,
and CodeBlock::stronglyVisitStrongReferences() will visit the StructureStubInfo,
which in turn visits the AccessCase. StructureStubInfo::visitAggregate() has
been added for this purpose.

GetByIdVariant::m_identifier
============================
GetByIdVariant is only stored in GetByStatus. Both GetByIdVariant and GetByStatus
are only created and handled in the DFG/FTL compiler threads. While the compiler
thread is working with them, they are safe from the GC because the GC won't collect
objects until the compiler thread is at a SafePoint.

At compiler SafePoints, any GetByStatus that needs to be persisted is stored in
DFG::Plan::m_recordedStatuses. The Plan will visit the m_recordedStatuses in
Plan::checkLivenessAndVisitChildren().

At the end of compilation, Plan::m_recordedStatuses is transferred over to the owner
CodeBlock's DFG::CommonData in Plan::finalizeWithoutNotifyingCallback().
Plan::finalizeWithoutNotifyingCallback() will also barrier the owner CodeBlock at
its end.

Thereafter, CodeBlock::stronglyVisitStrongReferences() will visit the recordedStatuses.

ModuleNamespaceData::m_identifier
=================================
ModuleNamespaceData is only stored in a GetByStatus, and is therefore protected
similarly as the GetByIdVariant::m_identifier case above.

StructureStubInfo::m_getByIdSelfIdentifier
==========================================
StructureStubInfo::initGetByIdSelf() is called from inside tryCacheGetBy().
StructureStubInfo::initGetByIdSelf() will barrier the owner CodeBlock. The
CacheableIdentifier here is protected in the same way as the AccessCase::m_identifier
case above.

DesiredIdentifiers
==================
The compiler thread may also stash a CacheableIdentifier's uid in its
DesiredIdentifiers. Normally, the identifiers stashed in DesiredIdentifiers are
from identifiers that the CodeBlock already knows abut and manages (e.g. from
GetByIds). For uids from a cell-based CacheableIdentifier variable is passed to
a GetByVal, we need kep the cell alive in order to keep the uid alive. This is
achieved by freezing the cell with freezeStrong() in the op_get_by_val case in
the DFG BytecodeParser.

Reseting a StructureStubInfo while its IC code is still executing on the stack
==============================================================================
The concern is that IC code may call slow path / getter functions that may in turn:

  1. reset the IC, and
  2. run the GC.

This can be a problem if:

  1. there is a scenario where we return from the slow path / getter function and run IC code that uses the cell / uid from the CacheableIdentifier.

This is because the StructureStubInfo is what visits the that cell, which
in turn its uid alive. Once the StructureStubInfo is reset, it will no
longer be associated with any AccessCase or the m_getByIdSelfIdentifier.
As such they will not be visited, and the CacheableIdentifier may be collected
by the GC.

In practice, the generated IC code never uses the cell / uid after it calls
any slow path / getter function. I've verified this by auditing the code
generation in InlineAccess::generateSelfInAccess() and PolymorphicAccess::regenerate().
Hence, there's no issue with using a collected cell / uid.

  1. there is a scenario where a slow path / getter function makes use of the cell / uid from the CacheableIdentifier but does not protect it.

The only 2 slow path functions:

operationGetByValGeneric()
operationGetByValOptimize()

operationGetByValGeneric() does not use any CacheableIdentifier from the StructureStubInfo.

operationGetByValOptimize() modifies the StructureStubInfo in tryCacheGetBy()
under the protection of a GCSafeConcurrentJSLocker, and can reset the
StructureStubInfo. However, it does not use any CacheableIdentifier after
that.

Hence, there's also no GC issue here.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/AccessCase.cpp: (JSC::AccessCase::AccessCase): (JSC::AccessCase::create): (JSC::AccessCase::fromStructureStubInfo): (JSC::AccessCase::commit): (JSC::AccessCase::canReplace const): (JSC::AccessCase::dump const): (JSC::AccessCase::visitAggregate const): (JSC::AccessCase::generateWithGuard): (JSC::AccessCase::generateImpl):
  • bytecode/AccessCase.h: (JSC::AccessCase::uid const): (JSC::AccessCase::identifier const):
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::stronglyVisitStrongReferences):
  • bytecode/GetByIdVariant.cpp: (JSC::GetByIdVariant::GetByIdVariant): (JSC::GetByIdVariant::attemptToMerge): (JSC::GetByIdVariant::visitAggregate): (JSC::GetByIdVariant::dumpInContext const):
  • bytecode/GetByIdVariant.h: (JSC::GetByIdVariant::identifier const): (JSC::GetByIdVariant::overlaps):
  • bytecode/GetByStatus.cpp: (JSC::GetByStatus::computeFromLLInt): (JSC::GetByStatus::computeFor): (JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback): (JSC::GetByStatus::visitAggregate): (JSC::GetByStatus::singleIdentifier const):
  • bytecode/GetByStatus.h:
  • bytecode/GetterSetterAccessCase.cpp: (JSC::GetterSetterAccessCase::GetterSetterAccessCase): (JSC::GetterSetterAccessCase::create):
  • bytecode/GetterSetterAccessCase.h:
  • bytecode/InstanceOfAccessCase.cpp: (JSC::InstanceOfAccessCase::InstanceOfAccessCase):
  • bytecode/IntrinsicGetterAccessCase.cpp: (JSC::IntrinsicGetterAccessCase::IntrinsicGetterAccessCase): (JSC::IntrinsicGetterAccessCase::create):
  • bytecode/IntrinsicGetterAccessCase.h:
  • bytecode/ModuleNamespaceAccessCase.cpp: (JSC::ModuleNamespaceAccessCase::ModuleNamespaceAccessCase): (JSC::ModuleNamespaceAccessCase::create):
  • bytecode/ModuleNamespaceAccessCase.h:
  • bytecode/PolymorphicAccess.cpp: (JSC::PolymorphicAccess::visitAggregate): (JSC::PolymorphicAccess::regenerate):
  • bytecode/PolymorphicAccess.h:
  • bytecode/ProxyableAccessCase.cpp: (JSC::ProxyableAccessCase::ProxyableAccessCase): (JSC::ProxyableAccessCase::create):
  • bytecode/ProxyableAccessCase.h:
  • bytecode/RecordedStatuses.cpp: (JSC::RecordedStatuses::visitAggregate):
  • bytecode/RecordedStatuses.h:
  • bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::initGetByIdSelf): (JSC::StructureStubInfo::addAccessCase): (JSC::StructureStubInfo::visitAggregate):
  • bytecode/StructureStubInfo.h: (JSC::StructureStubInfo::getByIdSelfIdentifier):
  • dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseGetById): (JSC::DFG::ByteCodeParser::parseBlock):
  • dfg/DFGDesiredIdentifiers.cpp: (JSC::DFG::DesiredIdentifiers::ensure): (JSC::DFG::DesiredIdentifiers::at const): (JSC::DFG::DesiredIdentifiers::reallyAdd): (JSC::DFG::DesiredIdentifiers::processCodeBlockIdentifiersIfNeeded): Deleted.
  • dfg/DFGDesiredIdentifiers.h:
  • dfg/DFGJITFinalizer.cpp: (JSC::DFG::JITFinalizer::finalizeCommon):
  • dfg/DFGPlan.cpp: (JSC::DFG::Plan::~Plan): (JSC::DFG::Plan::checkLivenessAndVisitChildren): (JSC::DFG::Plan::cancel):
  • dfg/DFGPlan.h: (JSC::DFG::Plan::keepAliveIdentifier): Deleted.
  • dfg/DFGWorklist.cpp: (JSC::DFG::Worklist::removeAllReadyPlansForVM): (JSC::DFG::Worklist::removeDeadPlans): (JSC::DFG::Worklist::removeNonCompilingPlansForVM): (JSC::DFG::Worklist::deleteCancelledPlansForVM): Deleted.
  • dfg/DFGWorklist.h:
  • ftl/FTLJITFinalizer.cpp: (JSC::FTL::JITFinalizer::finalizeCommon):
  • jit/JITOperations.cpp:
  • jit/Repatch.cpp: (JSC::tryCacheGetBy): (JSC::repatchGetBy): (JSC::tryCacheArrayGetByVal): (JSC::tryCacheInstanceOf):
  • jit/Repatch.h:
  • runtime/CacheableIdentifier.cpp: Added. (JSC::CacheableIdentifier::dump const):
  • runtime/CacheableIdentifier.h: Added. (JSC::CacheableIdentifier::CacheableIdentifier): (JSC::CacheableIdentifier::isUid const): (JSC::CacheableIdentifier::isCell const): (JSC::CacheableIdentifier::isSymbol const): (JSC::CacheableIdentifier::operator bool const):
  • runtime/CacheableIdentifierInlines.h: Added. (JSC::CacheableIdentifier::CacheableIdentifier): (JSC::CacheableIdentifier::cell const): (JSC::CacheableIdentifier::uid const): (JSC::CacheableIdentifier::isCacheableIdentifierCell): (JSC::CacheableIdentifier::isSymbolCell const): (JSC::CacheableIdentifier::isStringCell const): (JSC::CacheableIdentifier::setCellBits): (JSC::CacheableIdentifier::setUidBits): (JSC::CacheableIdentifier::visitAggregate const): (JSC::CacheableIdentifier::operator== const): (JSC::CacheableIdentifier::operator!= const):
  • runtime/ExceptionHelpers.cpp: (JSC::functionCallBase):
  • runtime/JSString.h: (JSC::JSString::getValueImpl const):
  • runtime/VM.cpp: (JSC::VM::ensureWatchpointSetForImpureProperty): (JSC::VM::addImpureProperty): (JSC::VM::registerWatchpointForImpureProperty): Deleted.
  • runtime/VM.h:

Source/WebCore:

  • bindings/js/CommonVM.cpp: (WebCore::addImpureProperty):

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

3:17 PM Changeset in webkit [255318] by sihui_liu@apple.com
  • 15 edits
    4 adds in trunk

IndexedDB: speed up index records deletion
https://bugs.webkit.org/show_bug.cgi?id=206196
PerformanceTests:

Reviewed by Brady Eidson.

  • IndexedDB/basic/index-cursor-delete-2.html: Added.

Source/WebCore:

<rdar://problem/53596307>

Reviewed by Brady Eidson.

This patch does a few things to accelerate deletion for index records:

  1. make indexID unique in database instead of objectStore
  2. create an index on IndexRecords table
  3. optimize some SQLite statements to take advantage of 1 and 2

Test: IndexedDB.IDBObjectStoreInfoUpgradeToV2

Make test PerformanceTests/IndexedDB/basic/index-cursor-delete-2.html 7.5x faster.

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex):

  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::MemoryIDBBackingStore::createIndex):

  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:

(WebCore::IDBServer::createV1ObjectStoreInfoSchema):
(WebCore::IDBServer::createV2ObjectStoreInfoSchema):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsRecordIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidObjectStoreInfoTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedHasIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::updateAllIndexesForAddRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::uncheckedGetIndexRecordForOneKey):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteOneIndexRecord): Deleted.

  • Modules/indexeddb/server/SQLiteIDBBackingStore.h:
  • Modules/indexeddb/server/SQLiteIDBCursor.cpp:

(WebCore::IDBServer::buildIndexStatement):
(WebCore::IDBServer::SQLiteIDBCursor::bindArguments):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):

  • Modules/indexeddb/shared/IDBDatabaseInfo.cpp:

(WebCore::IDBDatabaseInfo::IDBDatabaseInfo):
(WebCore::IDBDatabaseInfo::setMaxIndexID):

  • Modules/indexeddb/shared/IDBDatabaseInfo.h:

(WebCore::IDBDatabaseInfo::generateNextIndexID):
(WebCore::IDBDatabaseInfo::encode const):
(WebCore::IDBDatabaseInfo::decode):

  • Modules/indexeddb/shared/IDBObjectStoreInfo.cpp:

(WebCore::IDBObjectStoreInfo::createNewIndex):
(WebCore::IDBObjectStoreInfo::addExistingIndex):
(WebCore::IDBObjectStoreInfo::isolatedCopy const):

  • Modules/indexeddb/shared/IDBObjectStoreInfo.h:

(WebCore::IDBObjectStoreInfo::autoIncrement const):
(WebCore::IDBObjectStoreInfo::encode const):
(WebCore::IDBObjectStoreInfo::decode):
(WebCore::IDBObjectStoreInfo::maxIndexID const): Deleted.

Tools:

Reviewed by Brady Eidson.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgrade.sqlite3: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.mm: Added.

(-[IDBObjectStoreInfoUpgradeToV2MessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):

3:17 PM Changeset in webkit [255317] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Followup to r255264 to better specify expectation.
https://bugs.webkit.org/show_bug.cgi?id=206770

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:50 PM Changeset in webkit [255316] by Justin Fan
  • 12 edits in trunk

[WebGL2] Implement sub-source texImage2D and texSubImage2D
https://bugs.webkit.org/show_bug.cgi?id=206782
<rdar://problem/58886527>

Reviewed by Dean Jackson.

Source/WebCore:

Implement sub-source override versions of texImage2D and texSubImage2D.
Some refactoring of bufferData and bufferSubData to share code with new implementation.

Conformance test results updated for:
webgl/2.0.0/conformance2/buffers/buffer-data-and-buffer-sub-data-sub-source.html
webgl/2.0.0/conformance2/misc/views-with-offsets.html
webgl/2.0.0/conformance2/textures/misc/tex-image-and-sub-image-with-array-buffer-view-sub-source.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::arrayBufferViewSliceFactory): Creates sub-resource of appropriate type for ArrayBufferView resources.
(WebCore::WebGL2RenderingContext::sliceArrayBufferView): Consolidates duplicate logic of buffer/SubData.
(WebCore::WebGL2RenderingContext::bufferData):
(WebCore::WebGL2RenderingContext::bufferSubData):
(WebCore::WebGL2RenderingContext::getBufferSubData): DataView buffers are allowed, and remove unnecessary elementSize helper function.
(WebCore::WebGL2RenderingContext::texImage2D): Implement sub-source version and improve log messaging for unimplemented overrides.
(WebCore::WebGL2RenderingContext::sliceTypedArrayBufferView): Creates sub-resource of appropriate type for TypedArray buffer resources.
(WebCore::WebGL2RenderingContext::texImage3D): Improve log messaging.
(WebCore::WebGL2RenderingContext::texSubImage2D): Implement sub-source version and improve log messaging for unimplemented overrides.
(WebCore::WebGL2RenderingContext::texSubImage3D): Improve log messaging.
(WebCore::WebGL2RenderingContext::compressedTexImage3D):
(WebCore::WebGL2RenderingContext::compressedTexSubImage3D):
(WebCore::WebGL2RenderingContext::compressedTexImage2D):
(WebCore::WebGL2RenderingContext::compressedTexSubImage2D):
(WebCore::WebGL2RenderingContext::readPixels):
(WebCore::arrayBufferViewElementSize): Deleted. Unnecessary given utilities in TypedArrayType.h.

  • html/canvas/WebGL2RenderingContext.h:
  • platform/graphics/GraphicsContextGL.h: Remove some extra overrides that aren't actually present in OpenGL ES 3.
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::texImage2D): Deleted.

LayoutTests:

Update expected results for ANGLE backend for texImage2D and texSubImage2D.

  • webgl/2.0.0/conformance2/buffers/buffer-data-and-buffer-sub-data-sub-source-expected.txt:

Test was not fully running due to typo.
After fixing, 0 regression from running the fixed test on tip of tree with ANGLE enabled.

  • webgl/2.0.0/conformance2/misc/views-with-offsets-expected.txt:

The 3 additional failures are not regressions, and total number of sub-tests run increased from 65 to 155.

  • webgl/2.0.0/conformance2/textures/misc/tex-image-and-sub-image-with-array-buffer-view-sub-source-expected.txt:

Passes all texImage2D and texSubImage2D tests. The "3D" methods are not yet implemented.

  • webgl/2.0.0/resources/webgl_test_files/conformance2/buffers/buffer-data-and-buffer-sub-data-sub-source.html:

Fix typo to actually run the test.

2:48 PM Changeset in webkit [255315] by commit-queue@webkit.org
  • 13 edits in trunk

Implement [Transferable] property of OffscreenCanvas
https://bugs.webkit.org/show_bug.cgi?id=202574

Patch by Chris Lord <Chris Lord> on 2020-01-28
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob-expected.txt:
  • web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.transferrable.w-expected.txt:

Source/WebCore:

Bug 202574 - Implement [Transferable] property of OffscreenCanvas

No new tests. Covered by existing tests.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneSerializer::CloneSerializer):
(WebCore::CloneSerializer::dumpOffscreenCanvas):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readOffscreenCanvas):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::create):
(WebCore::canOffscreenCanvasesDetach):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/SerializedScriptValue.h:

(WebCore::SerializedScriptValue::SerializedScriptValue):

  • html/CanvasBase.h:

(WebCore::CanvasBase::width const):
(WebCore::CanvasBase::height const):

  • html/OffscreenCanvas.cpp:

(WebCore::DetachedOffscreenCanvas::DetachedOffscreenCanvas):
(WebCore::DetachedOffscreenCanvas::takeImageBuffer):
(WebCore::OffscreenCanvas::create):
(WebCore::OffscreenCanvas::width const):
(WebCore::OffscreenCanvas::height const):
(WebCore::OffscreenCanvas::setWidth):
(WebCore::OffscreenCanvas::setHeight):
(WebCore::OffscreenCanvas::getContext):
(WebCore::OffscreenCanvas::transferToImageBitmap):
(WebCore::OffscreenCanvas::convertToBlob):
(WebCore::OffscreenCanvas::canDetach const):
(WebCore::OffscreenCanvas::detach):
(WebCore::OffscreenCanvas::takeImageBuffer const):

  • html/OffscreenCanvas.h:

(WebCore::DetachedOffscreenCanvas::size const):
(WebCore::DetachedOffscreenCanvas::originClean const):

2:19 PM Changeset in webkit [255314] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Some website needs more stack space.
https://bugs.webkit.org/show_bug.cgi?id=206891

Reviewed by Saam Barati.

We're bumping the maximum stack usage limit (JSC_maxPerThreadStackUsage) to 5M
to give websites a little more stack space when available. The actual useable
stack space is still the minimum of JSC_maxPerThreadStackUsage and the stack size
that the OS provisions, minus some overhead.

  • runtime/OptionsList.h:
2:17 PM Changeset in webkit [255313] by Andres Gonzalez
  • 2 edits in trunk/Source/WebKit

Fix for crash in AppKit accessibility.
https://bugs.webkit.org/show_bug.cgi?id=206902

Reviewed by Chris Fleizach.

Accessibility methods invoked in the secondary thread that Return id
values retrieved from the main thread, need to retain/autoRelease the returned ids.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WKAccessibilityWebPageObject accessibilityAttributeSizeValue]):
(-[WKAccessibilityWebPageObject accessibilityAttributePositionValue]):
(-[WKAccessibilityWebPageObject accessibilityDataDetectorValue:point:]):

2:17 PM Changeset in webkit [255312] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS ] http/tests/workers/service/service-worker-user-timing.https.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=206751

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/ios-simulator-wk2/TestExpectations:
2:10 PM Changeset in webkit [255311] by Andres Gonzalez
  • 3 edits in trunk/Source/WebCore

Properly clear pending changes during AXIsolatedTree removal and applyPendingChanges.
https://bugs.webkit.org/show_bug.cgi?id=206879

Reviewed by Chris Fleizach.

  • After applying pending changes clear the m_pendingAppends and

m_pendingRemovals, so that they are not applied again.

  • Also clear these variables when the IsolatedTree is being removed in

the main thread, so that requests in the accessibility thread do not
cause adding changes to a dead tree.

  • accessibility/isolatedtree/AXIsolatedTree.cpp:

(WebCore::AXIsolatedTree::removeTreeForPageID):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • accessibility/isolatedtree/AXIsolatedTree.h:
2:04 PM Changeset in webkit [255310] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Unreviewed test fix after r255217

Re-activate SecurityServer mach port access in Catalina and older.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
1:50 PM Changeset in webkit [255309] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/LayoutTests

Cherry-pick r254834. rdar://problem/58612520

REGRESSION (r250655?): [ Mac Debug ] inspector/runtime/promise-native-getter.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=206303
<rdar://problem/58612520>

Reviewed by Darin Adler.

Rework the test to not be reliant on real world timing.

  • inspector/runtime/promise-native-getter.html:
  • inspector/runtime/promise-native-getter-expected.txt:
  • platform/mac/TestExpectations:

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

1:50 PM Changeset in webkit [255308] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/LayoutTests

Cherry-pick r254697. rdar://problem/58649476

REGRESSION: [ Mac Debug WK1 ] inspector/page/overrideSetting-ICECandidateFilteringEnabled.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206362

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:

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

1:50 PM Changeset in webkit [255307] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/LayoutTests/imported/w3c

Cherry-pick r255166. rdar://problem/58841339

[iOS Release and Mac Release] imported/w3c/web-platform-tests/webrtc/RTCDTMFSender-ontonechange.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206683
<rdar://problem/58841339>

Reviewed by Eric Carlson.

  • web-platform-tests/webrtc/RTCDTMFSender-helper.js: Move from async_test to promise_test to improve repeatability of the tests.

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

1:50 PM Changeset in webkit [255306] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/LayoutTests

Cherry-pick r255153. rdar://problem/58839955

REGRESSION: [Mac wk2] fast/animation/request-animation-frame.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206675
<rdar://problem/58839955>

Reviewed by Said Abou-Hallawa.

Rewrite test to stop relying on ordering between requestAnimationFrame() and setTimeout().

  • fast/animation/request-animation-frame-expected.txt:
  • fast/animation/request-animation-frame.html:

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

1:50 PM Changeset in webkit [255305] by Russell Epstein
  • 4 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r255132. rdar://problem/58871371

Protect against crashes during WKWebView init function when methods are called before the view is fully initialized
https://bugs.webkit.org/show_bug.cgi?id=206799
rdar://problem/58871371

Reviewed by Sam Weinig.

Part way through creating WKWebView, some methods can be called and they need to be careful
not to use anything that may not be initialized yet.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView dealloc]): Check _page for null, since this might happen if the superclass's init method returned nil.
  • UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _frameOrBoundsChanged]): Check _page for null, since this might be called before object initialization is complete. (-[WKWebView setSemanticContentAttribute:]): Ditto.
  • UIProcess/API/mac/WKWebViewMac.mm: (-[WKWebView setFrameSize:]): Check _impl for null since this might be called before oject initialization is complete. (-[WKWebView setUserInterfaceLayoutDirection:]): Ditto. (-[WKWebView renewGState]): Ditto.

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

1:50 PM Changeset in webkit [255304] by Russell Epstein
  • 2 edits
    1 add in branches/safari-610.1.1-branch/LayoutTests

Cherry-pick r255130. rdar://problem/58816827

media/modern-media-controls/media-controller/media-controller-auto-hide.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=206629
<rdar://problem/58816827>

Reviewed by Dean Jackson.

Attempt to de-flake this test by decreasing the controller auto-hide interval and
using a base64 encoded video file to make it load and finish more quickly.

  • media/content/test.mp4.js: Added. (base64MP4URL): Base64 encoded five frame, four second long MPEG-4 video.
  • media/modern-media-controls/media-controller/media-controller-auto-hide.html:

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

1:49 PM Changeset in webkit [255303] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/WebCore

Cherry-pick r255128. rdar://problem/58837212

Tighten up some of the drag state machine logic
https://bugs.webkit.org/show_bug.cgi?id=206798

Reviewed by Wenson Hsieh.

  • page/EventHandler.h: Added shouldDispatchEventsToDragSourceElement function and renamed the existing dispatchDragSrcEvent function to dispatchEventToDragSourceElement.
  • page/EventHandler.cpp: (WebCore::EventHandler::updateDragAndDrop): Call the renamed dispatchEventToDragSourceElement unconditionally, since it now has the smarts to only dispatch an event when we are supposed to. (WebCore::EventHandler::cancelDragAndDrop): Ditto. (WebCore::EventHandler::dragSourceEndedAt): Call the new shouldDispatchEventsToDragSourceElement function because of the null check it does for dataTransfer, before calling setDestinationOperation on the dataTransfer, since there isn't an obvious ironclad guarantee we might be here without an actual drag fully in process and a dataTransfer object allocated. Also call the renamed dispatchEventToDragSourceElement by its new name. (WebCore::EventHandler::shouldDispatchDragSourceEvents): Added. Checks thre three conditions that affect whether we should dispatch events to the drag source. First that there is a drag source. Second that there is a dataTransfer object, indicating that we got far enough in the logic to actually start a drag. Third that shouldDispatchEvents is true, indicating this is the type of drag that should be visible to the website content and so events should be dispatched. (WebCore::EventHandler::dispatchEventToDragSourceElement): Call shouldDispatchDragSourceEvents before dispatching the event, so that callers don't all have to do that check.

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

1:49 PM Changeset in webkit [255302] by Russell Epstein
  • 12 edits in branches/safari-610.1.1-branch

Cherry-pick r255116. rdar://problem/58800787

HTMLMediaElement should not remove the media session at DOM suspension time
https://bugs.webkit.org/show_bug.cgi?id=206661
<rdar://problem/58800787>

Source/WebCore:

Reviewed by Eric Carlson.

https://trac.webkit.org/changeset/233560 made it so that, on HTMLMediaElement suspension,
its media session is stopped.
This was done to ensure updateNowPlayingInfo is not called synchronously but asynchronously.
The issue is that, once the media session is stopped, it is removed from the media session vector.
On updating the ready state after suspension, and playing, we try to look into the media session vector and do not find the session.
This triggers the ASSERT.

Partially revert the behavior by calling the same code as clientWillPausePlayback
but make sure updateNowPlayingInfo is calling asynchronously when suspending the media element.
Introduce clientWillBeDOMSuspended for that purpose.

Update mediaPlayerReadyStateChanged to enqueue a task to do the update if the media element is suspended.

Covered by test no longer crashing in debug.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): (WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
  • platform/audio/PlatformMediaSession.cpp: (WebCore::PlatformMediaSession::processClientWillPausePlayback): (WebCore::PlatformMediaSession::clientWillPausePlayback): (WebCore::PlatformMediaSession::clientWillBeDOMSuspended):
  • platform/audio/PlatformMediaSession.h:
  • platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::sessionWillEndPlayback):
  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm: (MediaSessionManagerCocoa::sessionWillEndPlayback):
  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm: (WebCore::MediaSessionManageriOS::sessionWillEndPlayback):

Tools:

Reviewed by Eric Carlson.

  • TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: (TestWebKitAPI::TEST): Suspend/resume Active DOM Objects from time to time as would do scrolling. This allows pending tasks to be executed asynchronously when not scrolling.

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

1:49 PM Changeset in webkit [255301] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/Source/WebKitLegacy

Cherry-pick r255094. rdar://problem/58825997

Remove check-xcfilelists.sh from WebKitLegacy Xcode build target
https://bugs.webkit.org/show_bug.cgi?id=206762
<rdar://problem/58825997>

Reviewed by Alexey Proskuryakov.

When check-xcfilelists.sh got added to the WebKitLegacy Xcode project,
it was also accidentally added to the WebKitLegacy build target. This
caused it to be treated as a "resource", and so was copied to the
output directory in the Resources sub-folder during the build. This
copying is not expected, needed, or desired. Remove
check-xcfilelists.sh from the target, which also removes it from the
Copy Resources build phase, which removes it from the
WebKitLegacy.framework/Resources directory.

  • WebKitLegacy.xcodeproj/project.pbxproj:

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

1:49 PM Changeset in webkit [255300] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/Source/WTF

Cherry-pick r255087. rdar://problem/58844735

Fix internal Apple builds after r254411
https://bugs.webkit.org/show_bug.cgi?id=206723
<rdar://problem/58844735>

Reviewed by Maciej Stachowiak.

The default Xcode build configuration has changed between macOS 10.13
and macOS 10.15, such that references to some frameworks when bulding
for the latter don't work when building for the former. Fix this by
explicitly adding support for the desired build location rather than
assuming such support will be provided for us.

  • Configurations/WTF.xcconfig:

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

1:49 PM Changeset in webkit [255299] by Russell Epstein
  • 4 edits in branches/safari-610.1.1-branch/Source/WebCore

Cherry-pick r255068. rdar://problem/58809696

[LFC][Integration] LineLayout::paint should take advantage of the glyph display list cache
https://bugs.webkit.org/show_bug.cgi?id=206727
<rdar://problem/58809696>

Reviewed by Antti Koivisto.

  • layout/displaytree/DisplayInlineContent.cpp: (WebCore::Display::InlineContent::~InlineContent):
  • layout/displaytree/DisplayInlineContent.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::paint):

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

1:49 PM Changeset in webkit [255298] by Russell Epstein
  • 4 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r255039. rdar://problem/58713379

Background thread with ITP Database should lock when the network process is suspended
https://bugs.webkit.org/show_bug.cgi?id=206593
rdar://problem/58713379

Reviewed by Chris Dumez.

This patch adds a function to hang the background queue when the
NetworkProcess is preparing to suspend.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::suspend): (WebKit::WebResourceLoadStatisticsStore::resume):
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::prepareToSuspend): (WebKit::NetworkProcess::resume):

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

1:49 PM Changeset in webkit [255297] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/Source/JavaScriptCore

Cherry-pick r254996. rdar://problem/58535628

OptimizeAssociativeExpressionTrees should reset value owners before running
https://bugs.webkit.org/show_bug.cgi?id=206670
<rdar://problem/58535628>

Reviewed by Robin Morisset.

We have a crash inside OptimizeAssociativeExpressionTrees and we don't know
how to reproduce it. Also, based on Mark's auditing of the crash site's
assembly, Mark thinks we're crashing on a "currupt" basic block.

After I audited the code, I saw that we rely on value owners in this phase.
However, we don't actually reset them before running the phase. This patch
adds that as a speculative fix for the crash we're seeing.

  • b3/B3OptimizeAssociativeExpressionTrees.cpp: (JSC::B3::OptimizeAssociativeExpressionTrees::run):

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

1:49 PM Changeset in webkit [255296] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r254989. rdar://problem/58764572

[iOS] Camera is lost during WebRTC demo
https://bugs.webkit.org/show_bug.cgi?id=206613
<rdar://problem/58764572>

Patch by Per Arne Vollan <pvollan@apple.com> on 2020-01-23
Reviewed by Brent Fulgham.

Fix observed sandbox violations in the Networking process.

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

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

1:49 PM Changeset in webkit [255295] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/JavaScriptCore

Cherry-pick r254962. rdar://problem/58811967

Restore nullification of DFG::Plan::m_vm when the plan is cancelled.
https://bugs.webkit.org/show_bug.cgi?id=206633
<rdar://problem/58811967>

Reviewed by Robin Morisset.

In r253243, I replaced the nullification of Plan::m_vm in Plan::cancel() with
code to decorate the m_vm pointer with a nuke bit. The thinking is that keeping
the VM pointer in nuked form allows us to do certain assertions, as well as
implementing code in support of keeping Box<Identifier>s alive. It is only
correct to use the nuked VM pointer if and only if the VM is guaranteed to
outlive the Plan. r253243 guarantees this condition.

In r254464, I replaced the use of Box<Identifier> with CacheableIdentifier.
This obviated all the support code added above, and rolled out most of it.
However, I opted to keep the nuked VM pointer in the DFG::Plan to as a debugging
aid (it's nice to be able to know which VM the Plan came from).

However, r254464 also undid the guarantee that the VM will outlive the Plan.
As a result, a nuked VM pointer is no longer guaranteed to point to a valid VM.
Some worker layout tests, run on an ASAN build, detected that the pointer is
pointing to an already freed VM and failed with a crash.

This patch fixes this issue by completely reverting the nuked VM pointer code,
and restores nullification of the m_vm pointer in Plan::cancel().

  • dfg/DFGPlan.cpp: (JSC::DFG::Plan::computeCompileTimes const): (JSC::DFG::Plan::cancel):
  • dfg/DFGPlan.h: (JSC::DFG::Plan::vm const): (JSC::DFG::Plan::unnukedVM const): Deleted. (JSC::DFG::Plan::nuke): Deleted. (JSC::DFG::Plan::unnuke): Deleted.

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

1:49 PM Changeset in webkit [255294] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/WebCore

Cherry-pick r254951. rdar://problem/58713125

Make a Ref to WindowEventLoop when the timer to run tasks fires
https://bugs.webkit.org/show_bug.cgi?id=206568

Reviewed by Antti Koivisto.

Keep WindowEventLoop alive explicitly while invoking EventLoop::run.

  • dom/WindowEventLoop.cpp: (WebCore::WindowEventLoop::WindowEventLoop): (WebCore::WindowEventLoop::didReachTimeToRun):
  • dom/WindowEventLoop.h:

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

1:49 PM Changeset in webkit [255293] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r254938. rdar://problem/58581906

Fix SDK availability macros
https://bugs.webkit.org/show_bug.cgi?id=206463
<rdar://problem/58581906>

Reviewed by Timothy Hatcher.

Bug 197841 updated WebKit.xcconfig with regards to when it runs a
header post-processing script. This post-processing script grovels
over our exported headers, changing macros like WK_API_AVAILABLE to
the standard API_AVAILABLE. Because of the change in Bug 197841, the
script was no longer being run when preparing macOS 10.15 SDKs, which
was breaking those SDKs. Fix this by reverting the change, allowing
the macros to be replaced for macOS 10.15.

We also need to touch WKFoundation.h in order to support incremental
builds. If we don't, then the version of WKFoundation.h that was
exported in the previous build and that was incorrectly post-processed
would remain incorrectly post-processed. Touch the file so that it
will get re-exported and re-post-processed.

No new tests - no added or changed functionality.

  • Configurations/WebKit.xcconfig:
  • Shared/API/Cocoa/WKFoundation.h:

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

1:49 PM Changeset in webkit [255292] by Russell Epstein
  • 4 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r254880. rdar://problem/58644447

[macOS] Add managed preference to allow synchronous XHR during page dismissal
https://bugs.webkit.org/show_bug.cgi?id=206540
<rdar://problem/58644447>

Reviewed by Alex Christensen.

Add managed preference to allow synchronous XHR during page dismissal. This is temporarily needed by some
enterprise products until they can update their code.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultDisallowSyncXHRDuringPageDismissalEnabled):
  • Shared/WebPreferencesDefaultValues.h:

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

1:49 PM Changeset in webkit [255291] by Russell Epstein
  • 9 edits
    6 adds in branches/safari-610.1.1-branch

Cherry-pick r254841. rdar://problem/56568303

EXIF orientation is ignored for some CSS images
https://bugs.webkit.org/show_bug.cgi?id=203355

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

Source/WebCore:

Unlike GraphicsContext::drawNativeImage(), GraphicsContext::drawPattern()
can't change the coordinates system before drawing the image to respect
the EXIF orientation. Drawing a pattern tries to fill the destination
rectangle with the image according to the GraphicsContext origin and the
direction of its axes. So we need to create temporary NativeImage with
respecting the EXIF orientation and then use it to draw the pattern.

Tests: fast/images/exif-orientation-background-image-no-repeat.html

fast/images/exif-orientation-background-image-repeat.html
fast/images/exif-orientation-border-image.html

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::nativeImageForCurrentFrameRespectingOrientation): (WebCore::BitmapImage::drawPattern):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h: (WebCore::Image::nativeImage): (WebCore::Image::nativeImageForCurrentFrameRespectingOrientation): (WebCore::Image::nativeImageOfSize):
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawPattern):
  • platform/graphics/cg/NativeImageCG.cpp: (WebCore::drawNativeImage):
  • rendering/style/NinePieceImage.cpp: (WebCore::NinePieceImage::paint const):

LayoutTests:

  • fast/images/exif-orientation-background-image-no-repeat-expected.html: Added.
  • fast/images/exif-orientation-background-image-no-repeat.html: Added.
  • fast/images/exif-orientation-background-image-repeat-expected.html: Added.
  • fast/images/exif-orientation-background-image-repeat.html: Added.
  • fast/images/exif-orientation-border-image-expected.html: Added.
  • fast/images/exif-orientation-border-image.html: Added.

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

1:49 PM Changeset in webkit [255290] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/WebCore

Cherry-pick r254823. rdar://problem/58692880

REGRESSION: ( r254256 ) [ Mojave wk2 ] http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206437
<rdar://problem/58692880>

Reviewed by Eric Carlson.

Hypothesis from flakiness is that, in GPUProcess, the call to stopRecording is not synchronously followed by a call to fetchData.
If too much time happened between the two calls, stopRecording will trigger setting m_isStopped and m_hasStartedWriting to false.
Any further call to fetchData will then fail.

To circumvent this issue, we add a flag m_isStopping.
If we are stopping, the completionHandler to fetchData call is delayed until stopRecording is fully finished.
When stopping will be finished, the completionHandler will send back the data.
This also allows to read the file in a background thread.

No new tests, this should unflake the flaky test.

  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h:
  • platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm: (WebCore::MediaRecorderPrivateWriter::stopRecording): (WebCore::MediaRecorderPrivateWriter::fetchData):

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

1:49 PM Changeset in webkit [255289] by Russell Epstein
  • 4 edits
    4 adds in branches/safari-610.1.1-branch

Cherry-pick r254814. rdar://problem/58654047

Video sound sometimes keeps playing in page cache
https://bugs.webkit.org/show_bug.cgi?id=206408
<rdar://problem/58654047>

Reviewed by Eric Carlson.

Source/WebCore:

In r253375, we made sure to enqueue calls that would trigger state changes, to ensure we would not start playing while in page cache.
But this delayed the order to pause the video when entering page cache.
Fix this by synchronously updating playing state when being suspended for page cache.

Test: http/tests/navigation/page-cache-video.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::pauseAndUpdatePlayStateImmediately): (WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):
  • html/HTMLMediaElement.h:

LayoutTests:

  • http/tests/media/resources/sound_5.mp3: Added. File comes from WPT and is 5 seconds long.
  • http/tests/navigation/page-cache-video-expected.txt: Added.
  • http/tests/navigation/page-cache-video.html: Added.
  • http/tests/navigation/resources/page-cache-video-helper.html: Added.

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

1:49 PM Changeset in webkit [255288] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/WebInspectorUI

Cherry-pick r254773. rdar://problem/57037089

Web Inspector: Unchecking Enable Preview Features on Engineering and Preview builds does not affect WI.arePreviewFeaturesEnabled()
https://bugs.webkit.org/show_bug.cgi?id=204026

Reviewed by Brian Burg.

Make WI.arePreviewFeaturesEnabled() return false when Enable Preview Features is unchecked.

  • UserInterface/Base/Setting.js: (WI.canShowPreviewFeatures): (WI.arePreviewFeaturesEnabled): (WI.isTechnologyPreviewBuild): Deleted. (WI.canShowPreviewFeatures): Added.
  • UserInterface/Views/SettingsTabContentView.js:

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

1:49 PM Changeset in webkit [255287] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/Source/bmalloc

Cherry-pick r254764. rdar://problem/58688794

[bmalloc] Fix IsoHeapImpl's assertion introduced in r254708
https://bugs.webkit.org/show_bug.cgi?id=206440
<rdar://problem/58688794>

Reviewed by Mark Lam.

The assertion introduced in r254708 was wrong.
Fixing it to check the invariant we actually want to ensure.
This fixes TestWTF crash in Debug build.

  • bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::takeFirstEligible):

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

1:49 PM Changeset in webkit [255286] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/Source/WebInspectorUI

Cherry-pick r254726. rdar://problem/58548071

REGRESSION(r251487): Web Inspector: selected color in color picker has wrong lightness
https://bugs.webkit.org/show_bug.cgi?id=206202

Reviewed by Devin Rousso.

Currently, tintedColor setter has two code paths:

  • rgb2hsv convertion if the color is defined using color(...) syntax.
  • HSL to HSV convertion for any other color.

The latter was defined in the view, was untested, and incorrect.
This patch uses WI.Color.rgb2hsv convertion for all colors. This method is
already covered by tests.

  • UserInterface/Views/ColorSquare.js: (WI.ColorSquare.prototype.set tintedColor):

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

1:49 PM Changeset in webkit [255285] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r254723. rdar://problem/58664141

Call AtomString::init in WebKit2Initialize.
<https://webkit.org/b/206375>
<rdar://problem/58646578>

Patch by Daniel Chen <thedanielchen@apple.com> on 2020-01-16
Reviewed by Timothy Hatcher.

  • Shared/Cocoa/WebKit2InitializeCocoa.mm: (WebKit::runInitializationCode):
  • Shared/WebKit2Initialize.cpp: (WebKit::InitializeWebKit2):

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

1:49 PM Changeset in webkit [255284] by Russell Epstein
  • 3 edits
    2 adds in branches/safari-610.1.1-branch

Cherry-pick r254722. rdar://problem/58441241

REGRESSION (r251110): Crash on https://developer.apple.com/tutorials/swiftui/creating-and-combining-views
https://bugs.webkit.org/show_bug.cgi?id=206337

Reviewed by Geoffrey Garen.

Source/WebCore:

The crash was caused by RadioButtonGroups::hasCheckedButton getting called by RadioInputType's
matchesIndeterminatePseudoClass during a style update which happens before the input element had a chance
to register itself with RadioButtonGroups in HTMLInputElement::didFinishInsertingNode.

This happens, in particular, when didFinishInsertingNode of other nodes that appear before the input element
executes arbitrary author scripts or otherwise update the style.

Test: fast/forms/match-pseudo-on-radio-before-finalizing-tree-insertion-crash.html

  • dom/RadioButtonGroups.cpp: (WebCore::RadioButtonGroups::hasCheckedButton const):

LayoutTests:

Added a regression test. The test crashes on trunk and causes an infinite loop before r251110.

  • fast/forms/match-pseudo-on-radio-before-finalizing-tree-insertion-crash-expected.txt: Added.
  • fast/forms/match-pseudo-on-radio-before-finalizing-tree-insertion-crash.html: Added.

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

1:49 PM Changeset in webkit [255283] by Russell Epstein
  • 7 edits
    1 add in branches/safari-610.1.1-branch

Cherry-pick r254711. rdar://problem/58537467

Regression(r253224) No longer able to prevent a tab from closing via the beforeunload prompt
https://bugs.webkit.org/show_bug.cgi?id=206366
<rdar://problem/58537467>

Reviewed by Geoffrey Garen.

Source/WebKit:

Change is covered by new API test.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _tryClose]): (-[WKWebView _isClosed]):
  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Add new _tryClose / _isClosed SPI on WKWebView in order to write an API test to cover the change.
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): In WebPageProxy::tryClose(), we start a timer before sending the TryClose async IPC to the WebProcess. We would then stop the timer when receiving the response to the TryClose IPC. If the timer fires, we would forcefully close the page. The issue was that before answering the TryClose IPC, the WebContent process would send a sync RunBeforeUnloadConfirmPanel IPC to the UIProcess to show the confirmation prompt, and this would fail to stop the timer. WebPageProxy::runBeforeUnloadConfirmPanel() would spin a nested run loop to show the prompt and we would time out while showing the prompt.

Tools:

tryClose_timeout_fix

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/beforeunload.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm: (-[SlowBeforeUnloadPromptUIDelegate _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]): (-[SlowBeforeUnloadPromptUIDelegate webViewDidClose:]): (TEST):

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

1:48 PM Changeset in webkit [255282] by Russell Epstein
  • 48 edits
    1 add in branches/safari-610.1.1-branch

Cherry-pick r254708. rdar://problem/58657110

[bmalloc] IsoHeap's initial setup should be small
https://bugs.webkit.org/show_bug.cgi?id=206214

Reviewed by Michael Saboff.

Source/bmalloc:

Keep IsoHeap related data structures small by using Packed technique. We start using IsoHeap for many classes,
then it is important that we keep metadata for IsoHeap small because these data persistently exists.

  1. We pass IsoHeapImpl<> as a parameter instead of holding it unnecessarily.
  2. We make some of pointers Packed so that we can keep sizeof(IsoHeapImpl<Config>) small.
  3. One of the drawback of PackedPtr is that loading and storing are not atomic. And we pass const std::lock_guard<Mutex>& to functions if functions need to be called with lock so that we ensure that PackedPtr are accessed only when lock is held correctly.
  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Algorithm.h: (bmalloc::ctzConstexpr): (bmalloc::getLSBSetNonZeroConstexpr):
  • bmalloc/BPlatform.h:
  • bmalloc/DebugHeap.cpp: (bmalloc::DebugHeap::DebugHeap):
  • bmalloc/DebugHeap.h:
  • bmalloc/DeferredTrigger.h:
  • bmalloc/DeferredTriggerInlines.h: (bmalloc::DeferredTrigger<trigger>::didBecome): (bmalloc::DeferredTrigger<trigger>::handleDeferral):
  • bmalloc/Environment.cpp: (bmalloc::Environment::Environment):
  • bmalloc/Environment.h:
  • bmalloc/Gigacage.cpp: (bmalloc::PrimitiveDisableCallbacks::PrimitiveDisableCallbacks):
  • bmalloc/Heap.cpp: (bmalloc::Heap::freeableMemory): (bmalloc::Heap::markAllLargeAsEligibile): (bmalloc::Heap::decommitLargeRange): (bmalloc::Heap::scavenge): (bmalloc::Heap::scavengeToHighWatermark):
  • bmalloc/Heap.h:
  • bmalloc/HeapConstants.cpp: (bmalloc::HeapConstants::HeapConstants):
  • bmalloc/HeapConstants.h:
  • bmalloc/IsoAllocator.h:
  • bmalloc/IsoAllocatorInlines.h: (bmalloc::IsoAllocator<Config>::IsoAllocator): (bmalloc::IsoAllocator<Config>::allocate): (bmalloc::IsoAllocator<Config>::allocateSlow): (bmalloc::IsoAllocator<Config>::scavenge):
  • bmalloc/IsoDeallocatorInlines.h: (bmalloc::IsoDeallocator<Config>::scavenge):
  • bmalloc/IsoDirectory.h:
  • bmalloc/IsoDirectoryInlines.h: (bmalloc::passedNumPages>::IsoDirectory): (bmalloc::passedNumPages>::takeFirstEligible): (bmalloc::passedNumPages>::didBecome): (bmalloc::passedNumPages>::didDecommit): (bmalloc::passedNumPages>::scavengePage): (bmalloc::passedNumPages>::scavenge): (bmalloc::passedNumPages>::scavengeToHighWatermark): (bmalloc::passedNumPages>::forEachCommittedPage):
  • bmalloc/IsoHeapImpl.cpp: (bmalloc::IsoHeapImplBase::IsoHeapImplBase):
  • bmalloc/IsoHeapImpl.h:
  • bmalloc/IsoHeapImplInlines.h: (bmalloc::IsoHeapImpl<Config>::IsoHeapImpl): (bmalloc::IsoHeapImpl<Config>::takeFirstEligible): (bmalloc::IsoHeapImpl<Config>::didBecomeEligibleOrDecommited): (bmalloc::IsoHeapImpl<Config>::scavenge): (bmalloc::IsoHeapImpl<Config>::scavengeToHighWatermark): (bmalloc::IsoHeapImplBase::freeableMemory): (bmalloc::IsoHeapImpl<Config>::numLiveObjects): (bmalloc::IsoHeapImpl<Config>::numCommittedPages): (bmalloc::IsoHeapImpl<Config>::forEachDirectory): (bmalloc::IsoHeapImpl<Config>::forEachCommittedPage): (bmalloc::IsoHeapImpl<Config>::forEachLiveObject): (bmalloc::IsoHeapImplBase::footprint): (bmalloc::IsoHeapImplBase::didCommit): (bmalloc::IsoHeapImplBase::didDecommit): (bmalloc::IsoHeapImplBase::isNowFreeable): (bmalloc::IsoHeapImplBase::isNoLongerFreeable): (bmalloc::IsoHeapImpl<Config>::allocateFromShared): (bmalloc::IsoHeapImpl<Config>::freeableMemory): Deleted. (bmalloc::IsoHeapImpl<Config>::footprint): Deleted. (bmalloc::IsoHeapImpl<Config>::didCommit): Deleted. (bmalloc::IsoHeapImpl<Config>::didDecommit): Deleted. (bmalloc::IsoHeapImpl<Config>::isNowFreeable): Deleted. (bmalloc::IsoHeapImpl<Config>::isNoLongerFreeable): Deleted.
  • bmalloc/IsoPage.h: (bmalloc::IsoPageBase::IsoPageBase):
  • bmalloc/IsoPageInlines.h: (bmalloc::IsoPage<Config>::IsoPage): (bmalloc::IsoPage<Config>::free): (bmalloc::IsoPage<Config>::startAllocating): (bmalloc::IsoPage<Config>::stopAllocating): (bmalloc::IsoPage<Config>::forEachLiveObject):
  • bmalloc/IsoSharedHeap.h: (bmalloc::IsoSharedHeap::IsoSharedHeap):
  • bmalloc/IsoSharedHeapInlines.h: (bmalloc::IsoSharedHeap::allocateNew): (bmalloc::IsoSharedHeap::allocateSlow):
  • bmalloc/IsoSharedPage.h:
  • bmalloc/IsoSharedPageInlines.h: (bmalloc::IsoSharedPage::free): (bmalloc::IsoSharedPage::startAllocating): (bmalloc::IsoSharedPage::stopAllocating):
  • bmalloc/IsoTLS.h:
  • bmalloc/IsoTLSAllocatorEntry.h:
  • bmalloc/IsoTLSAllocatorEntryInlines.h: (bmalloc::IsoTLSAllocatorEntry<Config>::scavenge):
  • bmalloc/IsoTLSDeallocatorEntry.h:
  • bmalloc/IsoTLSDeallocatorEntryInlines.h: (bmalloc::IsoTLSDeallocatorEntry<Config>::scavenge):
  • bmalloc/IsoTLSEntry.cpp: (bmalloc::IsoTLSEntry::IsoTLSEntry):
  • bmalloc/IsoTLSEntry.h:
  • bmalloc/IsoTLSEntryInlines.h: (bmalloc::DefaultIsoTLSEntry<EntryType>::DefaultIsoTLSEntry): (bmalloc::DefaultIsoTLSEntry<EntryType>::~DefaultIsoTLSEntry): Deleted. (bmalloc::DefaultIsoTLSEntry<EntryType>::scavenge): Deleted.
  • bmalloc/IsoTLSInlines.h: (bmalloc::IsoTLS::scavenge): (bmalloc::IsoTLS::allocateImpl): (bmalloc::IsoTLS::allocateFast): (bmalloc::IsoTLS::allocateSlow):
  • bmalloc/IsoTLSLayout.cpp: (bmalloc::IsoTLSLayout::add):
  • bmalloc/Packed.h: Added. (bmalloc::Packed::Packed): (bmalloc::Packed::get const): (bmalloc::Packed::set): (bmalloc::Packed::operator=): (bmalloc::Packed::exchange): (bmalloc::Packed::swap): (bmalloc::alignof): (bmalloc::PackedPtrTraits::exchange): (bmalloc::PackedPtrTraits::swap): (bmalloc::PackedPtrTraits::unwrap):
  • bmalloc/Scavenger.cpp: (bmalloc::Scavenger::Scavenger):
  • bmalloc/Scavenger.h:
  • bmalloc/VMHeap.cpp: (bmalloc::VMHeap::VMHeap):
  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp: (bmalloc::Zone::Zone):
  • bmalloc/Zone.h:

Tools:

  • TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: (assertHasObjects): (assertHasOnlyObjects): (assertClean): (TEST):

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

1:48 PM Changeset in webkit [255281] by Russell Epstein
  • 7 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r254706. rdar://problem/58183380

Add finite timeout when synchronously terminating a service worker
https://bugs.webkit.org/show_bug.cgi?id=206325
<rdar://problem/58183380>

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

When this message reply is never received, it hangs everything.
If we haven't received verification that a service worker was terminated in 10 seconds, unhang everything
and tell the UI process to terminate the hanging service worker process. Continue handling messages during
these 10 seconds to hopefully turn a bad hang into no perceptible hang.

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp: (WebKit::WebSWServerToContextConnection::syncTerminateWorker):

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

1:48 PM Changeset in webkit [255280] by Russell Epstein
  • 6 edits
    6 adds in branches/safari-610.1.1-branch

Cherry-pick r254652. rdar://problem/58139842

Regression(r253213) Load hang and high CPU usage when trying to load myuhc.com
https://bugs.webkit.org/show_bug.cgi?id=206315
<rdar://problem/58139842>

Reviewed by Geoffrey Garen.

Source/WebCore:

Starting in r253213, we now throw when trying to do a sync XHR during unload. Unfortunately, this is confusing the script
on myuhc.com and it ends up retrying the sync XHR in a tight loop. To address the issue, I am putting in a safety net which
ignores calls to XMLHttpRequest.send() instead of throwing, once we've reached 5 sync XHR failures during unload.

Throwing is useful because this gives a change for Web authors to fall back to using Beacon API or Fetch KeepAlive if the
sync XHR fails. There is already code out there doing just that. You could imagine content doing more than one sync XHR
during unload, each one with a good beacon API fallback. For this reason, I put in a limit of 5 sync failures before
we stop throwing. Having a limit is important to break bad loops when the content simply retries the same sync XHR load
when the sync XHR send() call throws.

Tests: fast/xmlhttprequest/xmlhttprequest-multiple-sync-xhr-during-unload.html

fast/xmlhttprequest/xmlhttprequest-sync-xhr-failure-loop-during-unload.html

  • dom/Document.cpp: (WebCore::Document::didRejectSyncXHRDuringPageDismissal): (WebCore::Document::shouldIgnoreSyncXHRs const):
  • dom/Document.h:
  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::prepareToSend):

LayoutTests:

Add layout test coverage.

  • fast/xmlhttprequest/resources/xmlhttprequest-multiple-sync-xhr-during-unload-iframe.html: Added.
  • fast/xmlhttprequest/resources/xmlhttprequest-sync-xhr-failure-loop-during-unload-iframe.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-multiple-sync-xhr-during-unload-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-multiple-sync-xhr-during-unload.html: Added.
  • fast/xmlhttprequest/xmlhttprequest-sync-xhr-failure-loop-during-unload-expected.txt: Added.
  • fast/xmlhttprequest/xmlhttprequest-sync-xhr-failure-loop-during-unload.html: Added.

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

1:48 PM Changeset in webkit [255279] by Russell Epstein
  • 5 edits in branches/safari-610.1.1-branch/Source/WebKit

Cherry-pick r254552. rdar://problem/58536702

REGRESSION (r253394): After swiping back during a navigation, WKWebView gets stuck with the forward content, stops repainting
https://bugs.webkit.org/show_bug.cgi?id=206268
<rdar://problem/58536702>

Reviewed by Simon Fraser.

  • UIProcess/ViewGestureController.cpp: (WebKit::ViewGestureController::endSwipeGesture):
  • UIProcess/ViewGestureController.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm: (WebKit::ViewGestureController::beginSwipeGesture): (WebKit::ViewGestureController::endSwipeGesture): (WebKit::ViewGestureController::removeSwipeSnapshot):
  • UIProcess/mac/ViewGestureControllerMac.mm: (WebKit::ViewGestureController::beginSwipeGesture): (WebKit::ViewGestureController::removeSwipeSnapshot): After r253394, we start loading the destination page in willEndSwipeGesture, when we know the gesture will complete, instead of in endSwipeGesture, when it is actually done.

This means that if we decide that we should tear down the snapshot immediately,
this can now happen in the window between willEndSwipeGesture and endSwipeGesture.

However, removeSwipeSnapshot has numerous dependencies on endSwipeGesture
(especially on iOS, where there are /also/ dependencies in the other direction -
endSwipeGesture will never be called after removeSwipeSnapshot because
of the gestureID mismatch).

Regardless, it does not make sense to remove the snapshot while the animation
is still running. So, if something causes removeSwipeSnapshot to be called
before endSwipeGesture, we just set a bit and call it inside endSwipeGesture instead.

This ends up putting the snapshot removal ordering back as it was before r253394.

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

1:48 PM Changeset in webkit [255278] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/Source/JavaScriptCore

Cherry-pick r254523. rdar://problem/58415623

Web Inspector: crash in DumpRenderTree at com.apple.JavaScriptCore: WTF::RefCountedBase::hasOneRef const
https://bugs.webkit.org/show_bug.cgi?id=206191
<rdar://problem/58415623>

Reviewed by Joseph Pecoraro.

  • debugger/Debugger.cpp: (JSC::Debugger::attach): (GatherSourceProviders::GatherSourceProviders): Deleted. (GatherSourceProviders::operator()): Deleted. Use RefPtr<SourceProvider> instead of SourceProvider* in case the FunctionExecutable is destroyed after the SourceProvider* is saved, which would destroy the SourceProvider as well.

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

1:48 PM Changeset in webkit [255277] by Russell Epstein
  • 4 edits in branches/safari-610.1.1-branch

Cherry-pick r254492. rdar://problem/58037745

Scrollbar hiding on iOS via ::-webkit-scrollbar { display: none } doesn't work
https://bugs.webkit.org/show_bug.cgi?id=206197

Reviewed by Tim Horton.
Source/WebCore:

The logic added in r251369 was reversed, causing scrollbar hiding to not work correctly.

Tested by fast/scrolling/ios/scrollbar-hiding.html

  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::isHiddenByStyle const):

LayoutTests:

The logic added in r251369 was reversed, causing scrollbar hiding to not work correctly.

  • fast/scrolling/ios/scrollbar-hiding-expected.txt:

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

1:48 PM Changeset in webkit [255276] by Russell Epstein
  • 3 edits in branches/safari-610.1.1-branch/Source/WebInspectorUI

Cherry-pick r254485. rdar://problem/58409880

Web Inspector: "Enable Local Override" and "Delete Local Override" are displayed twice in the contextual menu
https://bugs.webkit.org/show_bug.cgi?id=206184
<rdar://problem/58409880>

Reviewed by Brian Burg.

  • UserInterface/Views/ContextMenuUtilities.js: (WI.appendContextMenuItemsForSourceCode):
  • UserInterface/Views/LocalResourceOverrideTreeElement.js: (WI.LocalResourceOverrideTreeElement.prototype.populateContextMenu): Add an expando flag that can be set by WI.LocalResourceOverrideTreeElement to ensure that the local override context menu items aren't added again by WI.ResourceTreeElement.

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

1:48 PM Changeset in webkit [255275] by Russell Epstein
  • 2 edits in branches/safari-610.1.1-branch/LayoutTests

Cherry-pick r254437. rdar://problem/58060387

[iOS] editing/selection/ios/clear-selection-after-tap-in-large-selected-non-editable-text.html times out
https://bugs.webkit.org/show_bug.cgi?id=206126
<rdar://problem/58060387>

Reviewed by Tim Horton.

This test is intended to verify that when ranged selection UI covers up most of the view, tapping the selection
will clear the selection instead of toggling the callout bar. However, there are a couple of issues that make
this test fail:

  • The long press that is intended to select text ends up under the "Sel" in select and above the "ect" that wraps to the next line, which causes the word to not be selected. To fix this, I changed the tap location from the center of the view to somewhere in the top half of the view, near the middle of "Sel".
  • The callout bar appears in the center of the screen with the "Look up" action in the middle, so tapping the center of the view again causes a view controller to be presented when looking up the selected word ("Select"). We can avoid this by also moving the tap location away from the center of the view.
  • On iPad, the word "Select" isn't big enough to encompass most of the screen even at 250px, so the test fails. We fix this by making the "Select" text much bigger (500px), and then make the body overflow: hidden so that selecting the word on iPhone's smaller screen doesn't cause scrolling.
  • editing/selection/ios/clear-selection-after-tap-in-large-selected-non-editable-text.html:

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

1:46 PM Changeset in webkit [255274] by Truitt Savell
  • 4 edits in trunk/LayoutTests

[CSS Backgrounds] Followup test gardening after r255265 due to expectation duplication in LayoutTests/TestExpectations/
https://bugs.webkit.org/show_bug.cgi?id=205872

Unreviewed test gardening.

  • TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
1:20 PM Changeset in webkit [255273] by don.olmstead@sony.com
  • 4 edits in trunk

[LFC][Integration] Build and enable on Windows
https://bugs.webkit.org/show_bug.cgi?id=206165

Reviewed by Darin Adler.

.:

Enable LFC for Windows.

  • Source/cmake/OptionsWin.cmake:

Source/WebCore:

Fix minor compilation issues in LFC when using MSVC.

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::close):

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

Quote file argument to git check-attr
https://bugs.webkit.org/show_bug.cgi?id=206322

Patch by James Darpinian <James Darpinian> on 2020-01-28
Reviewed by Jonathan Bedard.

  • Scripts/prepare-ChangeLog:

(attributeCommand):

  • Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl: Added.

(writeFileWithContent):

1:02 PM Changeset in webkit [255271] by Brent Fulgham
  • 10 edits in trunk

Reset the application bundle identifier between test runs
https://bugs.webkit.org/show_bug.cgi?id=206858
<rdar://problem/58844002>

Reviewed by Per Arne Vollan.

Clear the application bundle identifier set during testing when resetting the test system
to a known state in preparation for the next run.

Source/WebCore:

Tests: fast/sandbox/ios/sandbox-mach-lookup.html, fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::clearApplicationBundleIdentifierTestingOverride): Added.

Source/WebKit:

Tests: fast/sandbox/ios/sandbox-mach-lookup.html, fast/sandbox/ios/sandbox-mach-lookup-mail.html

  • UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(+[WKWebView _clearApplicationBundleIdentifierTestingOverride]): Added.

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues): Clear any override for the application
bundle identifier before the next test invocation.

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::setApplicationBundleIdentifier): Correct an over-release caused by assigning
an autorelease return value to an NSRetainPtr.
(WTR::TestController::clearApplicationBundleIdentifierTestingOverride): Added.

12:51 PM Changeset in webkit [255270] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Regression: 30+ layout-test crash on Windows
https://bugs.webkit.org/show_bug.cgi?id=206868

Reviewed by Chris Fleizach.

Instead of getting the AXObjectCache to invoke detachWrapper, detach the wrapper directly.

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::detachPlatformWrapper):

12:44 PM Changeset in webkit [255269] by aakash_jain@apple.com
  • 5 edits
    1 add in trunk/Tools

EWS django app should send cq+ patches to commit-queue
https://bugs.webkit.org/show_bug.cgi?id=206534

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-app/ews/common/buildbot.py:

(Buildbot.send_patch_to_buildbot): Added support to send to commit queue.

  • BuildSlaveSupport/ews-app/ews/config.py: Added COMMIT_QUEUE_PORT.
  • BuildSlaveSupport/ews-app/ews/fetcher.py: Added support for sending patches to commit queue.
  • BuildSlaveSupport/ews-app/ews/migrations/0003_patch_sent_to_commit_queue.py: Added.
  • BuildSlaveSupport/ews-app/ews/models/patch.py:

(Patch): Added sent_to_commit_queue field in patch table.
(Patch.is_patch_sent_to_commit_queue): Method to check if patch is sent to commit queue.
(Patch.set_sent_to_commit_queue): Set sent_to_commit_queue field.

12:28 PM Changeset in webkit [255268] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebCore

Non-unified build fixes late January 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=206896

Unreviewed build fix.

  • Modules/cache/DOMCacheEngine.cpp:
  • animation/DocumentTimeline.cpp:
  • layout/inlineformatting/InlineItem.h:
11:49 AM Changeset in webkit [255267] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: (r251694) [ ios ] crypto/subtle/rsa-indexeddb-private.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=206749

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/ios-simulator-wk2/TestExpectations:
11:28 AM Changeset in webkit [255266] by Truitt Savell
  • 2 edits in trunk/LayoutTests

media/track/video-track-addition-and-frame-removal.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=190830

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/mac-wk1/TestExpectations:
11:26 AM Changeset in webkit [255265] by clopez@igalia.com
  • 2 edits in trunk/LayoutTests

[CSS Backgrounds] Gardening of debug crashes after r255239

Unreviewed gardening.

11:14 AM Changeset in webkit [255264] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mac wk2 Release ] storage/websql/test-authorizer.html flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=206770

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-28

  • platform/mac-wk2/TestExpectations:
11:06 AM Changeset in webkit [255263] by Kate Cheney
  • 3 edits in trunk/LayoutTests

REGRESSION: [iOS] http/wpt/cache-storage/quota-third-party.https.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=206681
<rdar://problem/58842429>

Logs user interaction for the test origin to avoid clearing website
data after the frame navigation. This was causing flaky failures if
the origin's cache was deleted before the test finished.

Reviewed by Youenn Fablet.

  • http/wpt/cache-storage/quota-third-party.https.html:
  • platform/ios-wk2/TestExpectations:
10:59 AM Changeset in webkit [255262] by Alan Coon
  • 14 edits in branches/safari-609.1.15-branch

Cherry-pick r255076. rdar://problem/58920206

[Web Animations] Support multiple CSS Animations with the same name in animation-name
https://bugs.webkit.org/show_bug.cgi?id=206688

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark some new WPT progressions.

  • web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative-expected.txt:
  • web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt:
  • web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt:

Source/WebCore:

AnimationTimeline would keep track of registered CSS Animations by name for a given element in m_elementToCSSAnimationByName which would map one CSSAnimation
per String (the animation-name) for a given Element. However, within the same animation-name property, the name of a given @keyframes rules may appear more
than once, and the CSS Animations specification explains how to handle this scenario.

We now correctly handle this by replacing m_elementToCSSAnimationByName with the new m_elementToCSSAnimationsCreatedByMarkupMap which simply maps an Element
to a ListHashSet of CSSAnimation objects. Removing the string that appeared in animation-name to create this animation requires us to keep the AnimationList
used for the last style update for sorting purposes, since having multiple instances of the same string would not allow disambiguation when sorting the
KeyframeEffectStack.

So we also replace m_cssAnimationNames, a Vector<String>, with m_cssAnimationList, a RefPtr<const AnimationList>, and use this to compare Animation objects
stored in the AnimationList against the backing animation of each CSSAnimation.

Storing the AnimationList on the KeyframeEffectStack also has the benefit of allowing us to use this as the previous state when updating CSS Animations in
AnimationTimeline::updateCSSAnimationsForElement(). We used to rely on the previous RenderStyle provided to that function, but it's possible that this style
is null and we would unnecessarily create additional CSSAnimation objects for animations that actually were retained since the last time CSS Animations were
invalidated. We now use the stored AnimationList on the invalidated element's KeyframeEffectStack and create a new animation list that will replace the old
list stored in the m_elementToCSSAnimationsCreatedByMarkupMap map for that element. We can also compare the old list with the new list to find out which
animations are no longer current.

Finally, we refactor things a bit to have some new aliases AnimationCollection and CSSAnimationCollection instead of using ListHashSet<> in our types.

  • animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::animationWasAddedToElement): Use the new AnimationCollection alias. (WebCore::AnimationTimeline::removeDeclarativeAnimationFromListsForOwningElement): We no longer need to do any work for CSSAnimation here since the m_elementToCSSAnimationByName map is no more and the m_elementToCSSAnimationsCreatedByMarkupMap that replaces it is updated in updateCSSAnimationsForElement() and elementWasRemoved(). (WebCore::AnimationTimeline::animationsForElement const): Since animations are correctly sorted accounting for their composite order in KeyframeEffectStack, call KeyframeEffectStack::sortedEffects() when we're called with Ordering::Sorted. (WebCore::AnimationTimeline::removeCSSAnimationCreatedByMarkup): New method called by elementWasRemoved() to ensure that when an element is removed, we remove its CSSAnimation objects from the new m_elementToCSSAnimationsCreatedByMarkupMap and also update the AnimationList on the relevant KeyframeEffectStack. (WebCore::AnimationTimeline::elementWasRemoved): Call the new removeCSSAnimationCreatedByMarkup() method before canceling a CSSAnimation. (WebCore::AnimationTimeline::cancelDeclarativeAnimationsForElement): Call the new removeCSSAnimationCreatedByMarkup() method before canceling a CSSAnimation. (WebCore::AnimationTimeline::updateCSSAnimationsForElement): Use the AnimationList recoreded on the relevant KeyframeEffectStack to determine which CSSAnimation objects to create, cancel or merely update depending on the AnimationList in the current style.
  • animation/AnimationTimeline.h:
  • animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::getAnimations const): Use compareAnimationsByCompositeOrder() to correctly sort CSS Animations since they are no longer guaranteed to be stored in the relevant map in the expected order.
  • animation/KeyframeEffectStack.cpp: (WebCore::KeyframeEffectStack::ensureEffectsAreSorted): Use the new m_cssAnimationList instead of the old m_cssAnimationNames when sorting effects. (WebCore::KeyframeEffectStack::setCSSAnimationList): (WebCore::KeyframeEffectStack::setCSSAnimationNames): Deleted.
  • animation/KeyframeEffectStack.h: (WebCore::KeyframeEffectStack::cssAnimationList const): (WebCore::KeyframeEffectStack::cssAnimationNames const): Deleted.
  • animation/WebAnimation.cpp: (WebCore::WebAnimation::commitStyles): Use the new KeyframeEffectStack::cssAnimationList() instead of the old KeyframeEffectStack::cssAnimationNames().
  • animation/WebAnimationUtilities.cpp: (WebCore::compareAnimationsByCompositeOrder): Update the composite order comparison utility to use an AnimationList rather than a list of animation names.
  • animation/WebAnimationUtilities.h:
  • platform/animation/AnimationList.h: (WebCore::AnimationList::copy const):

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

10:59 AM Changeset in webkit [255261] by Alan Coon
  • 2 edits in branches/safari-609.1.15-branch/Source/WebCore

Cherry-pick r255043. rdar://problem/58920158

[EME] Key renewal fails when using AVContentKeyReportGroup
https://bugs.webkit.org/show_bug.cgi?id=206694
<rdar://problem/58628345>

Patch by Jer Noble <jer.noble@apple.com> on 2020-01-23
Reviewed by Eric Carlson.

When a CDMInstanceSession has a AVContentKeyReportGroup, it doesn't have an AVContentKeySession; it has
to get the session from it's parent CDMInstance to request key renewal.

  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):

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

10:59 AM Changeset in webkit [255260] by graouts@webkit.org
  • 4 edits in trunk/Source/WebCore

[Web Animations] Separate setting a timeline's current time from updating its animations
https://bugs.webkit.org/show_bug.cgi?id=206880

Reviewed by Dean Jackson.

While we must always update the current time of all timelines if a new animation frame has been requested,
regardless of the reason (rAF callback, animation servicing, etc.), we should only update timelines' animations
if at least one timeline has requested an update. We used to decide this at the DocumentTimeline level, but
this needs to be coordinated at the Document level to consider all timelines at once.

This is required for an upcoming patch where we make changes to the way we schedule animations to correctly
support mixed accelerated and non-accelerated properties.

No new tests since this shouldn't yield any visible behavior change.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::updateCurrentTime):
(WebCore::DocumentTimeline::updateAnimationsAndSendEvents):

  • animation/DocumentTimeline.h:
  • dom/Document.cpp:

(WebCore::Document::updateAnimationsAndSendEvents):

10:48 AM Changeset in webkit [255259] by Truitt Savell
  • 3 edits in trunk/LayoutTests

[ iOS wk2 release and Mac ] imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206752

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-28

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:33 AM Changeset in webkit [255258] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS ] http/wpt/resource-timing/rt-resource-errors.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206711

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/mac/TestExpectations:
10:26 AM Changeset in webkit [255257] by Alan Bujtas
  • 13 edits
    1 copy in trunk/Source/WebCore

[LFC][IFC] Decouple Display::LineBox and Layout::LineBoxBuilder
https://bugs.webkit.org/show_bug.cgi?id=206861
<rdar://problem/58945284>

Reviewed by Antti Koivisto.

We should not mix logical and physical coordinates.

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

(WebCore::Layout::FormattingContext::Geometry::contentHeightForFormattingContextRoot const):

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

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

  • layout/displaytree/DisplayLineBox.h:

(WebCore::Display::LineBox::Baseline::ascent const):
(WebCore::Display::LineBox::Baseline::descent const):
(WebCore::Display::LineBox::rect const):
(WebCore::Display::LineBox::left const):
(WebCore::Display::LineBox::right const):
(WebCore::Display::LineBox::top const):
(WebCore::Display::LineBox::bottom const):
(WebCore::Display::LineBox::width const):
(WebCore::Display::LineBox::height const):
(WebCore::Display::LineBox::baseline const):
(WebCore::Display::LineBox::baselineOffset const):
(WebCore::Display::LineBox::isConsideredEmpty const):
(WebCore::Display::LineBox::LineBox):
(WebCore::Display::LineBox::Baseline::Baseline):
(WebCore::Display::LineBox::logicalRect const): Deleted.
(WebCore::Display::LineBox::logicalTopLeft const): Deleted.
(WebCore::Display::LineBox::logicalLeft const): Deleted.
(WebCore::Display::LineBox::logicalRight const): Deleted.
(WebCore::Display::LineBox::logicalTop const): Deleted.
(WebCore::Display::LineBox::logicalBottom const): Deleted.
(WebCore::Display::LineBox::logicalWidth const): Deleted.
(WebCore::Display::LineBox::logicalHeight const): Deleted.
(WebCore::Display::LineBox::resetDescent): Deleted.
(WebCore::Display::LineBox::setLogicalTopLeft): Deleted.
(WebCore::Display::LineBox::setLogicalHeight): Deleted.
(WebCore::Display::LineBox::setLogicalWidth): Deleted.
(WebCore::Display::LineBox::setScrollableOverflow): Deleted.
(WebCore::Display::LineBox::setInkOverflow): Deleted.
(WebCore::Display::LineBox::moveHorizontally): Deleted.
(WebCore::Display::LineBox::expandHorizontally): Deleted.
(WebCore::Display::LineBox::shrinkHorizontally): Deleted.
(WebCore::Display::LineBox::expandVertically): Deleted.
(WebCore::Display::LineBox::shrinkVertically): Deleted.
(WebCore::Display::LineBox::setIsConsideredEmpty): Deleted.
(WebCore::Display::LineBox::setIsConsideredNonEmpty): Deleted.
(WebCore::Display::LineBox::setLogicalHeightIfGreater): Deleted.
(WebCore::Display::LineBox::setBaselineOffsetIfGreater): Deleted.
(WebCore::Display::LineBox::setAscentIfGreater): Deleted.
(WebCore::Display::LineBox::setDescentIfGreater): Deleted.
(WebCore::Display::LineBox::resetBaseline): Deleted.
(WebCore::Display::LineBox::Baseline::setAscent): Deleted.
(WebCore::Display::LineBox::Baseline::setDescent): Deleted.
(WebCore::Display::LineBox::Baseline::reset): Deleted.

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintInlineContent):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

  • layout/inlineformatting/InlineFormattingContextQuirks.cpp:

(WebCore::Layout::InlineFormattingContext::Quirks::lineHeightConstraints const):

  • layout/inlineformatting/InlineLineBox.h: Copied from Source/WebCore/layout/displaytree/DisplayLineBox.h.

(WebCore::Layout::LineBox::Baseline::height const):
(WebCore::Layout::LineBox::logicalRect const):
(WebCore::Layout::LineBox::scrollableOverflow const):
(WebCore::Layout::LineBox::logicalLeft const):
(WebCore::Layout::LineBox::logicalRight const):
(WebCore::Layout::LineBox::logicalTop const):
(WebCore::Layout::LineBox::logicalBottom const):
(WebCore::Layout::LineBox::logicalWidth const):
(WebCore::Layout::LineBox::logicalHeight const):
(WebCore::Layout::LineBox::resetDescent):
(WebCore::Layout::LineBox::setLogicalHeight):
(WebCore::Layout::LineBox::setLogicalWidth):
(WebCore::Layout::LineBox::setScrollableOverflow):
(WebCore::Layout::LineBox::moveHorizontally):
(WebCore::Layout::LineBox::expandHorizontally):
(WebCore::Layout::LineBox::shrinkHorizontally):
(WebCore::Layout::LineBox::expandVertically):
(WebCore::Layout::LineBox::shrinkVertically):
(WebCore::Layout::LineBox::isConsideredEmpty const):
(WebCore::Layout::LineBox::setIsConsideredEmpty):
(WebCore::Layout::LineBox::setIsConsideredNonEmpty):
(WebCore::Layout::LineBox::LineBox):
(WebCore::Layout::LineBox::setLogicalHeightIfGreater):
(WebCore::Layout::LineBox::baseline const):
(WebCore::Layout::LineBox::setBaselineOffsetIfGreater):
(WebCore::Layout::LineBox::setAscentIfGreater):
(WebCore::Layout::LineBox::setDescentIfGreater):
(WebCore::Layout::LineBox::baselineOffset const):
(WebCore::Layout::LineBox::resetBaseline):
(WebCore::Layout::LineBox::Baseline::Baseline):
(WebCore::Layout::LineBox::Baseline::setAscent):
(WebCore::Layout::LineBox::Baseline::setDescent):
(WebCore::Layout::LineBox::Baseline::reset):
(WebCore::Layout::LineBox::Baseline::ascent const):
(WebCore::Layout::LineBox::Baseline::descent const):

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::halfLeadingMetrics):

  • layout/inlineformatting/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::contentLogicalRight const):
(WebCore::Layout::LineBuilder::lineBox const):
(WebCore::Layout::LineBuilder::contentLogicalWidth const):

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::layoutLine):

  • layout/inlineformatting/LineLayoutContext.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::contentLogicalHeight const):
(WebCore::LayoutIntegration::LineLayout::firstLineBaseline const):
(WebCore::LayoutIntegration::LineLayout::lastLineBaseline const):
(WebCore::LayoutIntegration::LineLayout::paint):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::outputInlineRuns):

10:22 AM Changeset in webkit [255256] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS wk2 ] editing/caret/ios/fixed-caret-position-after-scroll.html flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206698

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-28

  • platform/ios-simulator-wk2/TestExpectations:
10:10 AM Changeset in webkit [255255] by Jonathan Bedard
  • 4 edits in trunk/Source

WebCore: Guard uneven corners in rounded rectangles
https://bugs.webkit.org/show_bug.cgi?id=206838

Reviewed by Darin Adler.

Source/WebCore:

No functional changes, covered by existing tests.

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::platformAddPathForRoundedRect):

Source/WTF:

  • wtf/PlatformHave.h: Add HAVE(CG_PATH_UNEVEN_CORNERS_ROUNDEDRECT).
10:06 AM Changeset in webkit [255254] by Truitt Savell
  • 2 edits in trunk/LayoutTests

fast/animation/request-animation-frame-iframe.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206708

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/mac-wk2/TestExpectations:
10:02 AM Changeset in webkit [255253] by commit-queue@webkit.org
  • 5 edits in trunk

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

it is breaking Win build (Requested by youenn on #webkit).

Reverted changeset:

"Blob media loading does not work with GPUProcess"
https://bugs.webkit.org/show_bug.cgi?id=206824
https://trac.webkit.org/changeset/255237

9:45 AM Changeset in webkit [255252] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mac wk2 Release ] editing/selection/caret-at-bidi-boundary.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=206696

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-28

  • platform/mac-wk2/TestExpectations:
9:41 AM Changeset in webkit [255251] by Diego Pino Garcia
  • 2 edits
    2 adds in trunk/LayoutTests

[GTK] Gardening, update TestExpectations and add new baseline
https://bugs.webkit.org/show_bug.cgi?id=206878

Unreviewed gardening.

  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt: Added.
9:40 AM Changeset in webkit [255250] by Alan Coon
  • 8 edits in branches/safari-610.1.1-branch/Source

Versioning.

9:34 AM Changeset in webkit [255249] by Alan Coon
  • 14 edits
    5 deletes in branches/safari-609.1.15-branch

Cherry-pick r255189. rdar://problem/58943054

Unreviewed, revert r253984 as it appears to be causing assertion leaks.
https://bugs.webkit.org/show_bug.cgi?id=205687

Source/WebKit:

  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/RunningBoardServicesSPI.h: Removed.
  • Scripts/process-entitlements.sh:
  • Shared/DependencyProcessAssertion.cpp: Removed.
  • Shared/DependencyProcessAssertion.h: Removed.
  • Shared/NativeWebTouchEvent.h:
  • Shared/ios/DependencyProcessAssertionIOS.mm: Removed.
  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::processWasResumed):
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeConnection):
  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange): (WebKit::WebProcess::releaseProcessWasResumedAssertions):

WebKitLibraries:

  • WebKitPrivateFrameworkStubs/iOS/13/RunningBoardServices.framework/RunningBoardServices.tbd: Removed.

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

9:34 AM Changeset in webkit [255248] by Alan Coon
  • 6 edits in branches/safari-609.1.15-branch/Source/WebCore

Cherry-pick r254991. rdar://problem/58856021

[Web Animations] Make AnimationList ref-counted
https://bugs.webkit.org/show_bug.cgi?id=206664

Reviewed by Antti Koivisto.

  • platform/animation/AnimationList.cpp:
  • platform/animation/AnimationList.h: (WebCore::AnimationList::create): (WebCore::AnimationList::copy): (WebCore::AnimationList::AnimationList): Deleted.
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::ensureAnimations): (WebCore::RenderStyle::ensureTransitions):
  • rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  • rendering/style/StyleRareNonInheritedData.h:

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

9:28 AM Changeset in webkit [255247] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION?: [ Mac wk1 ] storage/indexeddb/modern/blob-cursor.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=206673

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/mac-wk1/TestExpectations:
9:16 AM Changeset in webkit [255246] by Alan Coon
  • 8 edits in branches/safari-609.1.15-branch/Source

Versioning.

9:15 AM Changeset in webkit [255245] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS ] imported/w3c/web-platform-tests/beacon/idlharness.any.html is flakey and timing out.
https://bugs.webkit.org/show_bug.cgi?id=206687

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-28

  • platform/ios-wk2/TestExpectations:
9:05 AM Changeset in webkit [255244] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Nullptr crash in WebCore::findPlaceForCounter with display: contents sibling
https://bugs.webkit.org/show_bug.cgi?id=206107

Patch by Jack Lee <Jack Lee> on 2020-01-28
Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/css/counters/findPlaceForCounter-display-content-sibling-crash.html

  • rendering/RenderCounter.cpp:

(WebCore::parentOrPseudoHostElement):
(WebCore::previousSiblingOrParentElement):
(WebCore::previousSiblingOrParent):

LayoutTests:

  • fast/css/counters/findPlaceForCounter-display-content-sibling-crash-expected.txt: Added.
  • fast/css/counters/findPlaceForCounter-display-content-sibling-crash.html: Added.
9:01 AM Changeset in webkit [255243] by stephan.szabo@sony.com
  • 9 edits in trunk/Tools

Python 3: Update windows scripts and uses of is constant
https://bugs.webkit.org/show_bug.cgi?id=206856

Reviewed by Jonathan Bedard.

  • Scripts/download-github-release.py: Update for python 3
  • Scripts/webkitpy/common/system/profiler.py: Change is constant usage
  • Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py: Change is constant usage
  • Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: Change is constant usage
  • Scripts/webkitpy/port/westondriver.py: Change is constant usage
  • Scripts/webkitpy/port/win.py: Update for python 3
  • Scripts/webkitpy/port/xvfbdriver.py: Change is constant usage
  • Scripts/webkitpy/xcode/device_type.py: Change is constant usage
8:53 AM Changeset in webkit [255242] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [MacOS wk1] fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206668

fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-async-delegates.html is flaky failing in tandem, I am marking them both as Pass Failure.

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-28

  • platform/mac-wk1/TestExpectations:
8:52 AM Changeset in webkit [255241] by svillar@igalia.com
  • 23 edits
    4 deletes in trunk

Remove WebVR from the tree
https://bugs.webkit.org/show_bug.cgi?id=206739

Reviewed by Darin Adler.

.:

Removed WebVR and OpenVR build options for GTK and WPE ports.

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

Source/ThirdParty:

Removed as WebVR is gone and this is no longer needed.

  • openvr/CMakeLists.txt: Removed.
  • openvr/LICENSE: Removed.
  • openvr/README.md: Removed.
  • openvr/README.webkit: Removed.
  • openvr/Toolchain-clang.cmake: Removed.
  • openvr/headers/openvr.h: Removed.
  • openvr/headers/openvr_api.cs: Removed.
  • openvr/headers/openvr_api.json: Removed.
  • openvr/headers/openvr_capi.h: Removed.
  • openvr/headers/openvr_driver.h: Removed.
  • openvr/patches/Path_WriteBinaryFile-fix-return-condition.patch: Removed.
  • openvr/patches/cmake-build.patch: Removed.
  • openvr/src/CMakeLists.txt: Removed.
  • openvr/src/Info.plist: Removed.
  • openvr/src/README: Removed.
  • openvr/src/ivrclientcore.h: Removed.
  • openvr/src/json/json-forwards.h: Removed.
  • openvr/src/json/json.h: Removed.
  • openvr/src/jsoncpp.cpp: Removed.
  • openvr/src/openvr_api_public.cpp: Removed.
  • openvr/src/vrcommon/dirtools_public.cpp: Removed.
  • openvr/src/vrcommon/dirtools_public.h: Removed.
  • openvr/src/vrcommon/envvartools_public.cpp: Removed.
  • openvr/src/vrcommon/envvartools_public.h: Removed.
  • openvr/src/vrcommon/hmderrors_public.cpp: Removed.
  • openvr/src/vrcommon/hmderrors_public.h: Removed.
  • openvr/src/vrcommon/pathtools_public.cpp: Removed.
  • openvr/src/vrcommon/pathtools_public.h: Removed.
  • openvr/src/vrcommon/sharedlibtools_public.cpp: Removed.
  • openvr/src/vrcommon/sharedlibtools_public.h: Removed.
  • openvr/src/vrcommon/strtools_public.cpp: Removed.
  • openvr/src/vrcommon/strtools_public.h: Removed.
  • openvr/src/vrcommon/vrpathregistry_public.cpp: Removed.
  • openvr/src/vrcommon/vrpathregistry_public.h: Removed.

Source/WebCore:

WebVR 1.1 was never completely implemented, it was just included as build option of
WebKitGTK and WPE, and it was never released by any WebKit port either. There are no plans
to work on it as it has been replaced by the WebXR specification.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Modules/webvr/DOMWindowWebVR.idl: Removed.
  • Modules/webvr/GamepadWebVR.cpp: Removed.
  • Modules/webvr/GamepadWebVR.h: Removed.
  • Modules/webvr/GamepadWebVR.idl: Removed.
  • Modules/webvr/NavigatorWebVR.cpp: Removed.
  • Modules/webvr/NavigatorWebVR.h: Removed.
  • Modules/webvr/NavigatorWebVR.idl: Removed.
  • Modules/webvr/VRDisplay.cpp: Removed.
  • Modules/webvr/VRDisplay.h: Removed.
  • Modules/webvr/VRDisplay.idl: Removed.
  • Modules/webvr/VRDisplayCapabilities.h: Removed.
  • Modules/webvr/VRDisplayCapabilities.idl: Removed.
  • Modules/webvr/VRDisplayEvent.cpp: Removed.
  • Modules/webvr/VRDisplayEvent.h: Removed.
  • Modules/webvr/VRDisplayEvent.idl: Removed.
  • Modules/webvr/VRDisplayEventReason.h: Removed.
  • Modules/webvr/VRDisplayEventReason.idl: Removed.
  • Modules/webvr/VREye.h: Removed.
  • Modules/webvr/VREye.idl: Removed.
  • Modules/webvr/VREyeParameters.cpp: Removed.
  • Modules/webvr/VREyeParameters.h: Removed.
  • Modules/webvr/VREyeParameters.idl: Removed.
  • Modules/webvr/VRFieldOfView.h: Removed.
  • Modules/webvr/VRFieldOfView.idl: Removed.
  • Modules/webvr/VRFrameData.cpp: Removed.
  • Modules/webvr/VRFrameData.h: Removed.
  • Modules/webvr/VRFrameData.idl: Removed.
  • Modules/webvr/VRLayerInit.h: Removed.
  • Modules/webvr/VRLayerInit.idl: Removed.
  • Modules/webvr/VRPose.cpp: Removed.
  • Modules/webvr/VRPose.h: Removed.
  • Modules/webvr/VRPose.idl: Removed.
  • Modules/webvr/VRStageParameters.cpp: Removed.
  • Modules/webvr/VRStageParameters.h: Removed.
  • Modules/webvr/VRStageParameters.idl: Removed.
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • dom/EventNames.in:
  • dom/EventTargetFactory.in:
  • features.json:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebVREnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::webVREnabled const): Deleted.

  • platform/vr/VRManager.cpp: Removed.
  • platform/vr/VRManager.h: Removed.
  • platform/vr/VRPlatformDisplay.cpp: Removed.
  • platform/vr/VRPlatformDisplay.h: Removed.
  • platform/vr/VRPlatformDisplayClient.h: Removed.
  • platform/vr/VRPlatformManager.h: Removed.
  • platform/vr/openvr/VRPlatformDisplayOpenVR.cpp: Removed.
  • platform/vr/openvr/VRPlatformDisplayOpenVR.h: Removed.
  • platform/vr/openvr/VRPlatformManagerOpenVR.cpp: Removed.
  • platform/vr/openvr/VRPlatformManagerOpenVR.h: Removed.
  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setWebVREnabled): Deleted.

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Source/WebKit:

  • Shared/WebPreferences.yaml: removed WebVR preference.

LayoutTests:

  • webvr/webvr-disabled-expected.txt: Removed.
  • webvr/webvr-disabled.html: Removed.
  • webvr/webvr-enabled-expected.txt: Removed.
  • webvr/webvr-enabled.html: Removed.
8:46 AM Changeset in webkit [255240] by Jonathan Bedard
  • 3 edits in trunk/Tools

run-webkit-tests: clobber-old-results should remove the entire results folder
https://bugs.webkit.org/show_bug.cgi?id=205875
<rdar://problem/58236117>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.run): Boot http servers after the build check and after clobbering
old results.
(Manager._clobber_old_results): Remove entire results folder.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RunTest.test_retrying_and_flaky_tests): clobber-old-results now removes the
entire results directory.

8:45 AM Changeset in webkit [255239] by clopez@igalia.com
  • 8 edits
    1342 adds in trunk/LayoutTests

[CSS Backgrounds] Import WPT css-backgrounds tests
https://bugs.webkit.org/show_bug.cgi?id=205872

Reviewed by Simon Fraser.

Import WPT css/css-backgrounds tests.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/css/css-backgrounds/META.yml: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-color-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-image-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-image-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-origin-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-origin-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-x-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-x-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-y-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-position-y-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-size-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/background-size-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-bottom-left-radius-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-bottom-left-radius-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-bottom-right-radius-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-bottom-right-radius-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-bottom-width-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-bottom-width-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-color-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-color-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-outset-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-outset-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-outset-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-outset-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-interpolation-stability-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-interpolation-stability.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-slice-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-source-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-source-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-width-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-width-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-width-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-image-width-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-left-width-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-left-width-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-radius-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-radius-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-right-width-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-right-width-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-top-left-radius-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-top-left-radius-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-top-right-radius-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-top-right-radius-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-top-width-composition-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-top-width-composition.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-width-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/border-width-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html: Added.
  • web-platform-tests/css/css-backgrounds/animations/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-331-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-331.html: Added.
  • web-platform-tests/css/css-backgrounds/background-332-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-332.html: Added.
  • web-platform-tests/css/css-backgrounds/background-333-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-333.html: Added.
  • web-platform-tests/css/css-backgrounds/background-334-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-334.html: Added.
  • web-platform-tests/css/css-backgrounds/background-335-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-335.html: Added.
  • web-platform-tests/css/css-backgrounds/background-336-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-336.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local-scrolling.htm: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/aqua-yellow-32x32.png: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-1-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-1.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-2-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-2.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-3-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-3.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-4-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-4.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-5-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-5.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-6-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-color-6.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-1-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-1.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-2-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-2.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-3-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-3.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-4-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-4.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-5-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-5.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-6-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-clipping-image-6.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-2-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-2.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-3-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-3.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-4-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-4.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-5-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-local-positioning-5.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-scroll-positioning-1-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/attachment-scroll-positioning-1.html: Added.
  • web-platform-tests/css/css-backgrounds/background-attachment-local/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-border-collapsed-gradient.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-001-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-003-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-003.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-004-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-004.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-005.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-006-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-006.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-007-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-007.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-008-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-008.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-009-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-009.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-010-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-010.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-color-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-color-repaint-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-color-repaint.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-color.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-content-box-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-content-box-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-content-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-padding-box-with-border-radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip-root.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-border-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-border-box_with_position.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-border-box_with_radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-border-box_with_size.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-content-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-content-box_with_position.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-content-box_with_radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-content-box_with_size.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-padding-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-padding-box_with_position.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-padding-box_with_radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-padding-box_with_size.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-rounded-corner-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-rounded-corner.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-text-dynamic-2-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/clip-text-dynamic-2.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/list.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-clip/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-clip_padding-box-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-clip_padding-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-applied-to-rounded-inline-element.htm: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-003-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-003.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-004-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-004.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-005.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-006-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-006.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-007-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-body-propagation-007.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-border-box.htm: Added.
  • web-platform-tests/css/css-backgrounds/background-color-clip-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-clip.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-root-propagation-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-root-propagation-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-root-propagation-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-color-root-propagation-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-gradient-subpixel-fills-area-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-gradient-subpixel-fills-area.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-003-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-003.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-004-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-004.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-005.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-006-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-006.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-007-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-007.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-centered-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-centered-with-border-radius-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-centered-with-border-radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-centered.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-cover-zoomed-1-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-cover-zoomed-1.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-first-letter-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-first-letter.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-first-line-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-first-line.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-large-with-auto-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-large-with-auto.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-none-gradient-repaint-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-none-gradient-repaint.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-image-table-cells-zoomed.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-001-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-003-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-003.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-004-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-004.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-005.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-006-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-006.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-007-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-007.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-008-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin-008.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/list.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-border-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-border-box_with_position.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-border-box_with_radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-border-box_with_size.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-content-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-content-box_with_position.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-content-box_with_radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-content-box_with_size.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-padding-box.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-padding-box_with_position.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-padding-box_with_radius.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/origin-padding-box_with_size.html: Added.
  • web-platform-tests/css/css-backgrounds/background-origin/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-paint-order-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-paint-order-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-position-negative-percentage-comparison.html: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat-round-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat-round-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat-space-padding-box.htm: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-repeat-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-repeat.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-x-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-x.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-y-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-repeat-y.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round-roundup.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-round.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-space.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/gradient-repeat-spaced-with-borders-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/gradient-repeat-spaced-with-borders.html: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/reference/support/rectangle-96x60.png: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/reference/support/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/support/rectangle-96x60.png: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/support/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-repeat/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-rounded-image-clip-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-rounded-image-clip.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-001-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/background-size-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-003.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-005.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-006-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-006.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-007-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-007.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-008-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-008.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-009-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-009.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-010-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-010.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-011-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-011.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-012-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-012.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-013-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-013.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-014-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-014.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-015-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-015.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-016-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-016.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-017-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-017.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-018-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-018.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-019-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-019.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-020-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-020.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-021-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-021.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-022.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-023.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-024.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-025-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-025.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-026-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-026.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-027-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-027.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-028-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-028.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-029-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-029.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-030-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-030.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-031-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-031.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-032.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-033.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-034-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-034.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-applies-to-block.htm: Added.
  • web-platform-tests/css/css-backgrounds/background-size-aspect-ratio.htm: Added.
  • web-platform-tests/css/css-backgrounds/background-size-contain-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-contain-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-contain-002-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-contain-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-cover-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-cover-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-cover-002-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size-cover-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-cover-003-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-cover-003.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-one-value-1x1-image-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-one-value-1x1-image.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-with-negative-value-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size-with-negative-value.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-contain-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-contain.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover-contain-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover-contain-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover-contain-002-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover-contain-002.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover-svg.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/background-size-cover.xht: Added.
  • web-platform-tests/css/css-backgrounds/background-size/reference/support/rectangle-96x60.png: Added.
  • web-platform-tests/css/css-backgrounds/background-size/reference/support/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-size/support/200x200-red.png: Added.
  • web-platform-tests/css/css-backgrounds/background-size/support/50x50-green.png: Added.
  • web-platform-tests/css/css-backgrounds/background-size/support/rectangle-2560x208.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/support/rectangle-96x60.png: Added.
  • web-platform-tests/css/css-backgrounds/background-size/support/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-001.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-002.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-003-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-003.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-004-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-004.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-005.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-006-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-006.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-007-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-007.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-008-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-008.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-009-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-009.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-010-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-010.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-011-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-011.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-012-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-012.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-013-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-013.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-014-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-014.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-015-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-015.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-016-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-016.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-017-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-017.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-018-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-018.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-019-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-019.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-020-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-020.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-021-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-021.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-022-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-022.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-023-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-023.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-024-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-024.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-025-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-025.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-026-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-026.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-027-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-027.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-028-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-028.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-029-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/background-size-vector-029.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/diagonal-percentage-vector-background-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/diagonal-percentage-vector-background.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/diagonal-scaled-fixed.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/diagonal-scaled.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/intrinsic-ratio-no-dimensions.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/intrinsic-ratio-zero-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/intrinsic-ratio-zero-width.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/nonpercent-width-nonpercent-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/nonpercent-width-nonpercent-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/nonpercent-width-omitted-height-extreme-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/nonpercent-width-omitted-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/nonpercent-width-omitted-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/nonpercent-width-percent-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/nonpercent-width-percent-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/omitted-width-nonpercent-height-extreme-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/omitted-width-nonpercent-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/omitted-width-nonpercent-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/omitted-width-omitted-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/omitted-width-omitted-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/omitted-width-percent-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/omitted-width-percent-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/percent-width-nonpercent-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/percent-width-nonpercent-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/percent-width-omitted-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/percent-width-omitted-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/percent-width-percent-height-viewbox.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/percent-width-percent-height.svg: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/support/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--auto-32px--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--width-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--width.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height--crisp-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height--crisp.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height-viewbox--crisp-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height-viewbox--crisp.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--width-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/tall--cover--width.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--12px-auto--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--auto-32px--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--width-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--width.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--nonpercent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--omitted-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-nonpercent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-nonpercent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-nonpercent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-nonpercent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-omitted-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-omitted-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-omitted-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-omitted-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-percent-height-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-percent-height-viewbox-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-percent-height-viewbox.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-percent-height.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--width-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--width.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-5px-auto-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-5px-auto.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-auto-5px-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-auto-5px.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-auto-auto-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-auto-auto.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-contain-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-contain.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-cover-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-height-ratio-cover.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-5px-auto-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-5px-auto.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-auto-5px-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-auto-5px.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-auto-auto-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-auto-auto.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-contain-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-contain.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-cover-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-ratio-no-dimensions-cover.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-5px-auto-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-5px-auto.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-auto-5px-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-auto-5px.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-auto-auto-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-auto-auto.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-contain-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-contain.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-cover-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/vector/zero-width-ratio-cover.html: Added.
  • web-platform-tests/css/css-backgrounds/background-size/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/background_color_padding_box.htm: Added.
  • web-platform-tests/css/css-backgrounds/background_position_three_four_values.htm: Added.
  • web-platform-tests/css/css-backgrounds/background_properties_greater_than_images.htm: Added.
  • web-platform-tests/css/css-backgrounds/background_repeat_space_border_box.htm: Added.
  • web-platform-tests/css/css-backgrounds/background_repeat_space_content_box.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-002.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-004-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-004.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-005-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-005.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-010-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-010.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-011-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-011.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-012.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-013.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-014-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-left-radius-014.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-002.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-004-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-004.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-005-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-005.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-010-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-010.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-011-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-011.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-012.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-013.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-014-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-bottom-right-radius-014.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-color_transparent.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-017-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-017.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-018-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-018.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-019-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-019.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-020-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-020.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-1.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-10.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-11.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-12.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-13.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-14.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-15.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-16.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-2.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-3.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-4.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-6-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-6.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-7.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-8.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-9.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-calc-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-calc.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-image-type-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-image-type-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-image-type-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-outset-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-outset-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-outset-003-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-outset-003.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-005.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-round-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat-round.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat_repeatnegx_none_50px-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/border-image-repeat_repeatnegx_none_50px.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-round-and-stretch-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-round-and-stretch.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-shorthand-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-shorthand-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-shorthand-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-002-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-002.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-003-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-003.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-005.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-006.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-007.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-percentage-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-percentage.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-shorthand-reset-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/border-image-slice-shorthand-reset.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-space-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-space-001.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-005-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-005.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-006-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-006.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-007-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-007.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-008-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-image-width-008.html: Added.
  • web-platform-tests/css/css-backgrounds/border-images.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-002-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-002.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-003-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-003.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-004-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-004.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-005-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-005.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-006-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-006.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-007-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-007.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-008-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-008.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-009-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-009.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-010-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-010.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-011-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-011.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-005.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-006.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-007.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-008.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-009.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-010.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-011.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-012.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-013.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-014.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-015.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-016.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-applies-to-017.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-clip-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-clip-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-clipping-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-clipping.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-content-edge-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-different-width-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-dynamic-from-no-radius-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-dynamic-from-no-radius.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-horizontal-value-is-zero-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-horizontal-value-is-zero.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-initial-value-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-not-inherited-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-overflow-hidden.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-shorthand-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-shorthand-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-shorthand-002.html: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-style-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-style-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-style-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-style-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-style-005.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-sum-of-radii-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-sum-of-radii-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-with-three-values-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-radius-with-two-values-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-002.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-004-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-004.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-005-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-005.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-010-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-010.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-011-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-011.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-012.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-013.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-014-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-014.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-values-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-values-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-values-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-top-left-radius-values-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-001-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-002.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-004-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-004.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-005-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-005.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-010-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-010.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-011-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-011.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-012.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-013.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-014-expected.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-014.xht: Added.
  • web-platform-tests/css/css-backgrounds/border-top-right-radius-values-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-001.htm: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-002.htm: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-003.htm: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-004.htm: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-005-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-005.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-body-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-body.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-inset-spread-without-border-radius-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-inset-spread-without-border-radius.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-inset-without-border-radius-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-inset-without-border-radius.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-outset-spread-without-border-radius-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-outset-spread-without-border-radius.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-outset-without-border-radius-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow-outset-without-border-radius.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow/box-shadow-blur-definition-001.xht: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow/support/box-shadow-blur-definition-001-dark-bound.png: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow/support/box-shadow-blur-definition-001-light-bound.png: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow/support/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow/tools/box-shadow-blur-definition-001-image-generator.html: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow/tools/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/box-shadow/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/child-move-reveals-parent-background-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/child-move-reveals-parent-background.html: Added.
  • web-platform-tests/css/css-backgrounds/color-behind-images.htm: Added.
  • web-platform-tests/css/css-backgrounds/css-border-radius-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css-border-radius-001.html: Added.
  • web-platform-tests/css/css-backgrounds/css-border-radius-002-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css-border-radius-002.html: Added.
  • web-platform-tests/css/css-backgrounds/css-box-shadow-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css-box-shadow-001.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip-border-box-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip-border-box.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip-content-box-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip-content-box.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip-padding-box-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip-padding-box.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-clip.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-origin-border-box-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-origin-border-box.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-origin-content-box-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-origin-content-box.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-origin-padding-box-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-origin-padding-box.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-size-001-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-size-001.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-size-contain-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-size-contain.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-size-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-background-size.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-border-image-repeat-repeat-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-border-image-repeat-repeat.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-border-image-repeat-stretch-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-border-image-repeat-stretch.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-border-image-source-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-border-image-source.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-box-shadow-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/css3-box-shadow.html: Added.
  • web-platform-tests/css/css-backgrounds/first-letter-space-not-selected-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/first-letter-space-not-selected.html: Added.
  • web-platform-tests/css/css-backgrounds/inheritance.sub-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/inheritance.sub.html: Added.
  • web-platform-tests/css/css-backgrounds/justfortest.html: Added.
  • web-platform-tests/css/css-backgrounds/none-as-image-layer.htm: Added.
  • web-platform-tests/css/css-backgrounds/order-of-images.htm: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-attachment-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-attachment-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-attachment-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-attachment-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-clip-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-clip-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-clip-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-clip-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-clip-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-color-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-color-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-color-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-color-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-image-computed.sub.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-image-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-image-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-origin-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-origin-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-origin-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-origin-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-origin-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-x-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-x-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-x-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-x-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-y-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-y-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-y-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-position-y-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-repeat-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-repeat-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-repeat-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-repeat-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-size-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-size-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-size-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-size-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-size-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-shorthand.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-color-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-outset-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-outset-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-outset-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-outset-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-outset-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-outset-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-repeat-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-shorthand.sub-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-shorthand.sub.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-slice-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-slice-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-slice-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-slice-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-slice-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-slice-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-source-computed.sub-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-source-computed.sub.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-source-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-source-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-source-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-source-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-width-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-width-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-width-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-image-width-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-radius-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-radius-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-radius-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-radius-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-radius-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-shorthand.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-shorthand.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-style-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-shorthand.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/border-width-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/box-shadow-computed-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/box-shadow-computed.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/box-shadow-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/box-shadow-invalid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/box-shadow-valid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/box-shadow-valid.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/resources/blue-100.png: Added.
  • web-platform-tests/css/css-backgrounds/resources/green-100.png: Added.
  • web-platform-tests/css/css-backgrounds/resources/stripes-100.png: Added.
  • web-platform-tests/css/css-backgrounds/resources/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/scroll-positioned-multiple-background-images.html: Added.
  • web-platform-tests/css/css-backgrounds/support/100x100-blue-and-orange.png: Added.
  • web-platform-tests/css/css-backgrounds/support/1x1-green.png: Added.
  • web-platform-tests/css/css-backgrounds/support/1x1-lime.png: Added.
  • web-platform-tests/css/css-backgrounds/support/1x1-maroon.png: Added.
  • web-platform-tests/css/css-backgrounds/support/1x1-navy.png: Added.
  • web-platform-tests/css/css-backgrounds/support/1x1-red.png: Added.
  • web-platform-tests/css/css-backgrounds/support/1x1-white.png: Added.
  • web-platform-tests/css/css-backgrounds/support/40px-wide-20px-tall-green-rect.png: Added.
  • web-platform-tests/css/css-backgrounds/support/50x50-green.png: Added.
  • web-platform-tests/css/css-backgrounds/support/60x60-gg-rr.png: Added.
  • web-platform-tests/css/css-backgrounds/support/60x60-green.png: Added.
  • web-platform-tests/css/css-backgrounds/support/60x60-red.png: Added.
  • web-platform-tests/css/css-backgrounds/support/a-green.css: Added.

(.a):

  • web-platform-tests/css/css-backgrounds/support/aqua_color.png: Added.
  • web-platform-tests/css/css-backgrounds/support/b-green.css: Added.

(.b):

  • web-platform-tests/css/css-backgrounds/support/bg.jpg: Added.
  • web-platform-tests/css/css-backgrounds/support/bg_flower.gif: Added.
  • web-platform-tests/css/css-backgrounds/support/black96x96.png: Added.
  • web-platform-tests/css/css-backgrounds/support/black_color.png: Added.
  • web-platform-tests/css/css-backgrounds/support/blue-diamond.png: Added.
  • web-platform-tests/css/css-backgrounds/support/blue96x96.png: Added.
  • web-platform-tests/css/css-backgrounds/support/blue_color.png: Added.
  • web-platform-tests/css/css-backgrounds/support/border-image-round-result.png: Added.
  • web-platform-tests/css/css-backgrounds/support/border-image.jpg: Added.
  • web-platform-tests/css/css-backgrounds/support/border.png: Added.
  • web-platform-tests/css/css-backgrounds/support/borderresult.png: Added.
  • web-platform-tests/css/css-backgrounds/support/c-red.css: Added.

(.c):

  • web-platform-tests/css/css-backgrounds/support/cat.png: Added.
  • web-platform-tests/css/css-backgrounds/support/css3.png: Added.
  • web-platform-tests/css/css-backgrounds/support/green-1000x10.png: Added.
  • web-platform-tests/css/css-backgrounds/support/green-10x1000.png: Added.
  • web-platform-tests/css/css-backgrounds/support/green-150-150.png: Added.
  • web-platform-tests/css/css-backgrounds/support/green-60-60.png: Added.
  • web-platform-tests/css/css-backgrounds/support/green-60x60-red-5px-border.png: Added.
  • web-platform-tests/css/css-backgrounds/support/green.png: Added.
  • web-platform-tests/css/css-backgrounds/support/green_color.png: Added.
  • web-platform-tests/css/css-backgrounds/support/img-ref-1.png: Added.
  • web-platform-tests/css/css-backgrounds/support/img-ref-2.png: Added.
  • web-platform-tests/css/css-backgrounds/support/import-green.css: Added.

(.import):

  • web-platform-tests/css/css-backgrounds/support/import-red.css: Added.

(.import):

  • web-platform-tests/css/css-backgrounds/support/orange_color.png: Added.
  • web-platform-tests/css/css-backgrounds/support/outline-5px-10px-15px-20px-green.png: Added.
  • web-platform-tests/css/css-backgrounds/support/pattern-grg-rgr-grg.png: Added.
  • web-platform-tests/css/css-backgrounds/support/pattern-grg-rrg-rgg.png: Added.
  • web-platform-tests/css/css-backgrounds/support/pattern-rgr-grg-rgr.png: Added.
  • web-platform-tests/css/css-backgrounds/support/pattern-tr.png: Added.
  • web-platform-tests/css/css-backgrounds/support/red-diamond.png: Added.
  • web-platform-tests/css/css-backgrounds/support/red.png: Added.
  • web-platform-tests/css/css-backgrounds/support/red_color.png: Added.
  • web-platform-tests/css/css-backgrounds/support/ruler-h-50%.png: Added.
  • web-platform-tests/css/css-backgrounds/support/ruler-h-50px.png: Added.
  • web-platform-tests/css/css-backgrounds/support/ruler-v-100px.png: Added.
  • web-platform-tests/css/css-backgrounds/support/ruler-v-50px.png: Added.
  • web-platform-tests/css/css-backgrounds/support/square-purple.png: Added.
  • web-platform-tests/css/css-backgrounds/support/square-teal.png: Added.
  • web-platform-tests/css/css-backgrounds/support/square-white.png: Added.
  • web-platform-tests/css/css-backgrounds/support/swatch-blue.png: Added.
  • web-platform-tests/css/css-backgrounds/support/swatch-green.png: Added.
  • web-platform-tests/css/css-backgrounds/support/swatch-lime.png: Added.
  • web-platform-tests/css/css-backgrounds/support/swatch-orange.png: Added.
  • web-platform-tests/css/css-backgrounds/support/swatch-red.png: Added.
  • web-platform-tests/css/css-backgrounds/support/swatch-white.png: Added.
  • web-platform-tests/css/css-backgrounds/support/swatch-yellow.png: Added.
  • web-platform-tests/css/css-backgrounds/support/table-head.jpg: Added.
  • web-platform-tests/css/css-backgrounds/support/test-bl.png: Added.
  • web-platform-tests/css/css-backgrounds/support/test-br.png: Added.
  • web-platform-tests/css/css-backgrounds/support/test-inner-half-size.png: Added.
  • web-platform-tests/css/css-backgrounds/support/test-outer.png: Added.
  • web-platform-tests/css/css-backgrounds/support/test-tl.png: Added.
  • web-platform-tests/css/css-backgrounds/support/test-tr.png: Added.
  • web-platform-tests/css/css-backgrounds/support/w3c-import.log: Added.
  • web-platform-tests/css/css-backgrounds/support/white_color.png: Added.
  • web-platform-tests/css/css-backgrounds/support/y.png: Added.
  • web-platform-tests/css/css-backgrounds/support/yy.png: Added.
  • web-platform-tests/css/css-backgrounds/support/yyy.png: Added.
  • web-platform-tests/css/css-backgrounds/table-cell-background-local-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/table-cell-background-local.html: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-color-shorthand-missing-bottom.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-color-shorthand-missing-left.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-color-shorthand-missing-right.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-color-shorthand.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-color.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-style-double.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-style-shorthand-missing-bottom.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-style-shorthand-missing-left.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-style-shorthand.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-style-values.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-css3background-border-style.htm: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-reftest-borderRadius-expected.html: Added.
  • web-platform-tests/css/css-backgrounds/ttwf-reftest-borderRadius.html: Added.
  • web-platform-tests/css/css-backgrounds/w3c-import.log: Added.

LayoutTests:

6:56 AM Changeset in webkit [255238] by clopez@igalia.com
  • 6 edits in trunk/Tools

[GTK] Add EWS testers to run GTK unit tests.
https://bugs.webkit.org/show_bug.cgi?id=202361

Reviewed by Aakash Jain.

This switches two of the GTK BuildOnly EWS bots to be BuildAndRunAPITests bots.
It doesn't make it a test-only bot because of concerns related with having to
upload and download much data constantly over the network. It reuses the same
logic for running Mac API tests, but simply using a different command at startup.

  • BuildSlaveSupport/ews-build/config.json:
  • BuildSlaveSupport/ews-build/factories.py:

(GTKBuildFactory):
(GTKBuildAndTestFactory):
(GTKBuildAndTestFactory.init):
(GTKAPIBuildAndTestFactory):

  • BuildSlaveSupport/ews-build/loadConfig.py:
  • BuildSlaveSupport/ews-build/steps.py:

(RunAPITests.start):
(ReRunAPITests.evaluateCommand):

  • BuildSlaveSupport/ews-build/steps_unittest.py:
6:54 AM Changeset in webkit [255237] by youenn@apple.com
  • 5 edits in trunk

Blob media loading does not work with GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=206824
<rdar://problem/58917596>

Reviewed by Eric Carlson.

Source/WebCore:

GPU process is using WebCoreAVFResourceLoader for various loads, including blob loads.
In GPU process, loads will fail since this loader expects a CachedResource, which only WebProcess can have.
For that reason, move the CachedResource loader part of WebCoreAVFResourceLoader to a dedicated class CachedResourceMediaLoader.
If load cannot happen with a CachedResource, use a new class PlatformResourceMediaLoader, which uses a loader from MediaPlayer::createResourceLoader.
This allows using the loading path in GPUProcess used for HTTP loads, which works for blob loads as well.

Covered by existing and enabled tests.

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

(WebCore::CachedResourceMediaLoader::~CachedResourceMediaLoader):
(WebCore::CachedResourceMediaLoader::create):
(WebCore::CachedResourceMediaLoader::CachedResourceMediaLoader):
(WebCore::CachedResourceMediaLoader::stop):
(WebCore::CachedResourceMediaLoader::responseReceived):
(WebCore::CachedResourceMediaLoader::notifyFinished):
(WebCore::CachedResourceMediaLoader::dataReceived):
(WebCore::PlatformResourceMediaLoader::~PlatformResourceMediaLoader):
(WebCore::PlatformResourceMediaLoader::create):
(WebCore::PlatformResourceMediaLoader::PlatformResourceMediaLoader):
(WebCore::PlatformResourceMediaLoader::stop):
(WebCore::PlatformResourceMediaLoader::responseReceived):
(WebCore::PlatformResourceMediaLoader::loadFailed):
(WebCore::PlatformResourceMediaLoader::loadFinished):
(WebCore::PlatformResourceMediaLoader::dataReceived):
(WebCore::WebCoreAVFResourceLoader::startLoading):
(WebCore::WebCoreAVFResourceLoader::stopLoading):
(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::loadFailed):
(WebCore::WebCoreAVFResourceLoader::loadFinished):
(WebCore::WebCoreAVFResourceLoader::newDataStoredInSharedBuffer):

LayoutTests:

  • gpu-process/TestExpectations:
6:25 AM Changeset in webkit [255236] by clopez@igalia.com
  • 5 edits in trunk/Tools

WPT test importer only rewrites the first URL on <style> tags.
https://bugs.webkit.org/show_bug.cgi?id=206842

Reviewed by Jonathan Bedard.

There was an issue, when a <style> tag had several URL() paths
to local references, only the first one was converted.
This was caused because the test parser was only seeing the
first one (re.search() only finds the first regex), instead use
re.findall() to find all the ocurrences.
Then in the test converter for relative paths, when there are
several paths to be converted, convert from the last conversion
instead of the original text.

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.convert_reference_relpaths):

  • Scripts/webkitpy/w3c/test_converter_unittest.py:

(test_convert_style_multiple_url):

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.support_files):

  • Scripts/webkitpy/w3c/test_parser_unittest.py:
6:21 AM Changeset in webkit [255235] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

Remove unneeded message checks in GPUProcess code
https://bugs.webkit.org/show_bug.cgi?id=206866

Reviewed by Eric Carlson.

Remove message check macros and checks since they are not needed due to the use of ObjectIdentifier.
No change of behavior.

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::createMediaPlayer):

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:
5:38 AM Changeset in webkit [255234] by graouts@webkit.org
  • 20 edits in trunk

[Web Animations] Make Animation.timeline read-write only if a runtime flag is enabled
https://bugs.webkit.org/show_bug.cgi?id=206173
<rdar://problem/58527432>

Reviewed by Dean Jackson.

Source/WebCore:

Make the timeline property of Animation read-write only if the new WebAnimationsMutableTimelines runtime flag is enabled.

  • animation/WebAnimation.idl: Make the "timeline" property conditionally read-write if WebAnimationsMutableTimelines is enabled.
  • bindings/js/WebCoreBuiltinNames.h: With the new RuntimeConditionallyReadWrite property used in WebAnimation.idl, it is necessary

to declare the name of the affected property, in this case "timeline", in WebCoreBuiltinNames.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebAnimationsMutableTimelinesEnabled):
(WebCore::RuntimeEnabledFeatures::webAnimationsMutableTimelinesEnabled const):

Source/WebKit:

Add a new WebAnimationsMutableTimelines runtime flag.

  • Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

Add a new WebAnimationsMutableTimelines runtime flag.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences webAnimationsMutableTimelinesEnabled]):
(-[WebPreferences setWebAnimationsMutableTimelinesEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKitLegacy/win:

Add a new WebAnimationsMutableTimelines runtime flag.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::setWebAnimationsMutableTimelinesEnabled):
(WebPreferences::webAnimationsMutableTimelinesEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:

Manually enable the new WebAnimationsMutableTimelines runtime flag in DumpRenderTree.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(enableExperimentalFeatures):

2:48 AM Changeset in webkit [255233] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK][WPE] QR code not loaded in web.whatsapp.com
https://bugs.webkit.org/show_bug.cgi?id=203404

Reviewed by Michael Catanzaro.

This is a regression of the switch to use libsoup API for the WebSockets implementation. The QR code is loaded
using a WebSocket connection, but the server is always replying with a 400 Bad Request to the Upgrade requests
coming from an existing HTTP connection. We need to ensure a new dedicated connection is used for WebSockets.

  • NetworkProcess/soup/WebSocketTaskSoup.cpp:

(WebKit::WebSocketTask::WebSocketTask): Set the SOUP_MESSAGE_NEW_CONNECTION flag to the SoupMessage before
starting the connection.

2:43 AM Changeset in webkit [255232] by Carlos Garcia Campos
  • 8 edits in trunk/Source

[GTK] Remote Inspector: add support for service workers targets
https://bugs.webkit.org/show_bug.cgi?id=206821

Reviewed by Žan Doberšek.

Source/JavaScriptCore:

Handle ServiceWorker target type.

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::targetDebuggableType):
(Inspector::RemoteInspector::listingForInspectionTarget const):

Source/WebKit:

Add support for debugging service workers.

  • UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:

(WebKit::RemoteInspectorProtocolHandler::handleRequest): Pass target type to message handler too.
(WebKit::RemoteInspectorProtocolHandler::inspect): Pass the received target type to the client.

  • UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.h:
  • UIProcess/glib/RemoteInspectorClient.cpp:

(WebKit::RemoteInspectorProxy::load): It now receives the debuggable type that is set to the API::DebuggableInfo.
(WebKit::RemoteInspectorClient::messageHandlers): Handle service worker targets too.
(WebKit::debuggableType): Helper to convert the target type to debuggable type.
(WebKit::RemoteInspectorClient::inspect): Pass the debuggable tupe to RemoteInspectorProxy::load().

  • UIProcess/glib/RemoteInspectorClient.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::infoForLocalDebuggable): Use WebPage as debuggable type instead of the default.

1:45 AM Changeset in webkit [255231] by Devin Rousso
  • 12 edits in trunk/Source/WebCore/platform/gtk/po

Unreviewed, speculative gtk build fix after r255214

  • POTFILES.in:
  • da.po:
  • de.po:
  • es.po:
  • fr.po:
  • id.po:
  • it.po:
  • pl.po:
  • pt_BR.po:
  • sv.po:
  • uk.po:
12:24 AM Changeset in webkit [255230] by commit-queue@webkit.org
  • 2 edits in trunk/JSTests

Skip test numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js in arm and mips
https://bugs.webkit.org/show_bug.cgi?id=206865

Patch by Paulo Matos <Paulo Matos> on 2020-01-28
Reviewed by Žan Doberšek.

  • stress/numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js:

Jan 27, 2020:

11:56 PM Changeset in webkit [255229] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: don't use :matches(:before, :after) after r255059
https://bugs.webkit.org/show_bug.cgi?id=206848

Reviewed by Antti Koivisto.

  • UserInterface/Views/SpringEditor.css:

(.spring-editor > .spring-timing::before, .spring-editor > .spring-timing::after): Added.
(.spring-editor > .spring-timing:matches(::before, ::after)): Deleted.

11:54 PM Changeset in webkit [255228] by Noam Rosenthal
  • 15 edits
    2 adds in trunk

-webkit-image-set should support resolution units other than 'x'
https://bugs.webkit.org/show_bug.cgi?id=100120

Reviewed by Darin Adler.

Source/WebCore:

Leveraged previous work on image-resolution to enable dpi/dppx/dpcm in CSS image-set.
Now the second value of every entry in the image-set is parsed like any resolution,
allowing "x" as a synonim for "dppx.

This changes computed style behavior for image-set - "x" resolution values will be converted
to "dppx". This is in line with the spirit of computed values, though it's not spec'ed particularly.

Tests: fast/hidpi/image-set-units.html

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::fillImageSet):
(WebCore::CSSImageSetValue::updateDeviceScaleFactor):
(WebCore::CSSImageSetValue::customCSSText const):

Convert values to dppx before sorting them the image set.
Use given CSS units in computed styles instead of hardcoding "x"

  • css/CSSPrimitiveValue.cpp:

(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor):

Allow conversion of dpi/dppx/dpcm to canonical (dppx).

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeResolution):
(WebCore::CSSPropertyParserHelpers::consumeImageSet):

  • css/parser/CSSPropertyParserHelpers.h:

Consume any resolution when parsing image-set.

LayoutTests:

Had to modify several image-set parsing tests because of the behavior change in
computed style (x => dppx).

Also added a couple of parsing/rendering tests specifically to test the new behavior
of dpi/dpcm/dppx.

  • fast/css/cursor-parsing-image-set-expected.txt:
  • fast/css/cursor-parsing-image-set.html:
  • fast/css/image-set-parsing-expected.txt:
  • fast/css/image-set-parsing-invalid-expected.txt:
  • fast/css/image-set-parsing.html:
  • fast/css/image-set-setting-expected.txt:
  • fast/css/image-set-setting.html:
  • fast/css/image-set-unprefixed.html:
  • fast/hidpi/image-set-units-expected.html: Added.
  • fast/hidpi/image-set-units.html: Added.
11:26 PM Changeset in webkit [255227] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Correct VTT Cue Style handling to match the specification
https://bugs.webkit.org/show_bug.cgi?id=201086

Unreviewed followup based on a review comment.

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::checkAndStoreStyleSheet):

10:15 PM Changeset in webkit [255226] by Simon Fraser
  • 15 edits
    3 adds in trunk

REGRESSION (r253634): cricbuzz.com media controls vanish depending on page scale
https://bugs.webkit.org/show_bug.cgi?id=206788
rdar://problem/58780584

Reviewed by Tim Horton.
Source/WebCore:

r253634 changed "delegatesPageScaling"'" to a flag on ScrollView. However, this changed behavior
for subframes; Settings are propagated down, but only the main ScrollView had delegatesPageScaling
set on it.

"delegatesPageScaling" is a page-level thing (subframes don't independently zoom), so it
should live on Page. Move it there.

The bug was triggered by incorrectly taking page scale into account for rects in the compositing
overlap map (see RenderLayerCompositor::addToOverlapMap()) in subframes, and those rects
changing on zoom.

Test: compositing/backing/page-scale-overlap-in-iframe.html

  • page/Frame.cpp:

(WebCore::Frame::frameScaleFactor const):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

  • page/FrameView.cpp:

(WebCore::FrameView::visibleContentScaleFactor const):

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):
(WebCore::Page::setDelegatesScaling):

  • page/Page.h:

(WebCore::Page::delegatesScaling const):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::setDelegatesPageScaling): Deleted.

  • platform/ScrollView.h:

(WebCore::ScrollView::delegatesPageScaling const): Deleted.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap const):

Source/WebKit:

r253634 changed "delegatesPageScaling"'" to a flag on ScrollView. However, this changed behavior
for subframes; Settings are propagated down, but only the main ScrollView had delegatesPageScaling
set on it.

"delegatesPageScaling" is a page-level thing (subframes don't independently zoom), so it
should live on Page. Move it there.

The bug was triggered by incorrectly taking page scale into account for rects in the compositing
overlap map (see RenderLayerCompositor::addToOverlapMap()) in subframes, and those rects
changing on zoom.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindIndicatorOverlayClientIOS::drawRect):

Source/WebKitLegacy/mac:

r253634 changed "delegatesPageScaling"'" to a flag on ScrollView. However, this changed behavior
for subframes; Settings are propagated down, but only the main ScrollView had delegatesPageScaling
set on it.

"delegatesPageScaling" is a page-level thing (subframes don't independently zoom), so it
should live on Page. Move it there.

The bug was triggered by incorrectly taking page scale into account for rects in the compositing
overlap map (see RenderLayerCompositor::addToOverlapMap()) in subframes, and those rects
changing on zoom.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::transitionToCommittedForNewPage):

LayoutTests:

Test only really makes sense on iOS where the viewport tag is respected, but include
macOS results instead of skipping.

  • compositing/backing/page-scale-overlap-in-iframe-expected.txt: Added.
  • compositing/backing/page-scale-overlap-in-iframe.html: Added.
  • platform/ios-wk2/compositing/backing/page-scale-overlap-in-iframe-expected.txt: Added.
9:11 PM Changeset in webkit [255225] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[WinCairo][curl] ASSERTION FAILED: sessionID != PAL::SessionID::defaultSessionID() in WebKit::CacheStorage::Engine::destroyEngine since r255137
https://bugs.webkit.org/show_bug.cgi?id=206859

Reviewed by Don Olmstead.

After r255137, WinCairo debug WK2 is still failing an assertion
while shutdown, which is ensuring the destructing session isn't
the default session.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::destroyEngine): Conditioned out the
assertion for curl port as well as Soup port does.

8:56 PM Changeset in webkit [255224] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Need a way to mark a DOM attribute as runtime conditionally read-write
https://bugs.webkit.org/show_bug.cgi?id=206836

Patch by Sam Weinig <weinig@apple.com> on 2020-01-27
Reviewed by Chris Dumez.

Adds a new IDL extended attribute, RuntimeConditionallyReadWrite, that works
like EnableAtRuntime, but instead allows the associated attribute to be
converted from read-only to read-write based on the value of a RuntimeEnabledFeature.

  • bindings/scripts/CodeGeneratorJS.pm:

(GeneratePropertiesHashTable):
Add check that both runtime enabling and runtime conditional read-write aren't
both specified. For now, that is not supported.

(GenerateRuntimeEnableConditionalString):
Add support for generating the conditional string for RuntimeConditionallyReadWrite.

(GenerateImplementation):
Implement the feature by piggy-backing off the existing runtime enabling, which
deletes the property if the feature is not enabled. For this, if the feature isn't
enabled, we delete the property, and then add it back readonly. In the future, we
should move off of this add-then-delete model, but that is tracked via http://webkit.org/b/206837.

  • bindings/scripts/IDLAttributes.json:

Add new extended attribute.

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

(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::jsTestObjRuntimeConditionallyReadWriteAttributeGetter):
(WebCore::jsTestObjRuntimeConditionallyReadWriteAttribute):
(WebCore::setJSTestObjRuntimeConditionallyReadWriteAttributeSetter):
(WebCore::setJSTestObjRuntimeConditionallyReadWriteAttribute):

  • bindings/scripts/test/TestObj.idl:

Add new test with result.

7:54 PM Changeset in webkit [255223] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

http/tests/loading/remove-child-triggers-parser.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=103115

Reviewed by Alexey Proskuryakov.

Delay the end of the test until the timer fires.

  • http/tests/loading/remove-child-triggers-parser-expected.txt:
  • http/tests/loading/remove-child-triggers-parser.html:
7:09 PM Changeset in webkit [255222] by david_quesada@apple.com
  • 2 edits in trunk/Source/WebKit

Support observing a different set of view service state notifications in ApplicationStateTracker
https://bugs.webkit.org/show_bug.cgi?id=201737
rdar://problem/54786414

Reviewed by Chris Dumez.

  • UIProcess/ApplicationStateTracker.mm:

Make ApplicationStateTracker conditionally (based on a flag to be defined in WebKitAdditions)
use a different pair of notifications when it is in a view service or extension. These
notifications report state changes of the individual scene that hosts the web view, rather
than the state of the overall host application. This allows for more accurate state tracking
for web views in extensions or view services hosted by apps with multiple open scenes.

7:01 PM Changeset in webkit [255221] by Devin Rousso
  • 3 edits in trunk/Source/WebCore

Unreviewed, speculative win build fix after r255191

  • bindings/js/ScriptController.h:
  • testing/Internals.cpp:

(WebCore::Internals::evaluateInWorldIgnoringException):
Don't use the ScriptSourceCode so we don't have to export its symbol.

6:20 PM Changeset in webkit [255220] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

Add WKWebView SPI equivalent of WKView.shouldClipToVisibleRect
https://bugs.webkit.org/show_bug.cgi?id=206849
<rdar://problem/58887004>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-27
Reviewed by Simon Fraser.

Books currently uses WKView.setShouldClipToVisibleRect and needs to migrate to WKWebView, but it needs to do
so without modifying the other properties in _setMinimumLayoutWidth, which is currently the only other caller
of WebViewImpl::setClipsToVisibleRect. Expose an SPI that only calls WebViewImpl::setClipsToVisibleRect.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/mac/WKWebViewMac.mm:

(-[WKWebView _clipsToVisibleRect]):
(-[WKWebView _setClipsToVisibleRect:]):

6:07 PM Changeset in webkit [255219] by Jonathan Bedard
  • 4 edits in trunk/Source

WebCore: Remove iOS 11 macros from RenderThemeIOS.mm
https://bugs.webkit.org/show_bug.cgi?id=206787

Reviewed by Darin Adler.

Source/WebCore:

No functional changes, covered by existing tests.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::cachedSystemFontDescription const):
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription const):

Source/WTF:

  • wtf/PlatformHave.h: Add HAVE(SYSTEM_FONT_STYLE_TITLE_0) and HAVE(SYSTEM_FONT_STYLE_TITLE_4).
5:46 PM Changeset in webkit [255218] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add method to fetch cq+ patches from Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=206774

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-app/ews/common/bugzilla.py:

(Bugzilla._get_commit_queue_patches_from_bug): Method to get cq+ patches for a given bug.
(Bugzilla._is_patch_cq_plus): Method to check if patch has cq+ flag set.
(Bugzilla.get_list_of_patches_for_commit_queue): Method to fetch list of cq+ patches from Bugzilla.
(BugzillaBeautifulSoup.fetch_bug_ids_for_commit_queue):

5:30 PM Changeset in webkit [255217] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Remove SecurityServer from WebContent sandboxes
https://bugs.webkit.org/show_bug.cgi?id=206832
<rdar://problem/46235370>

Reviewed by Per Arne Vollan.

We no longer need access to 'com.apple.SecurityServer' and
'com.apple.ocspd' on recent macaOS systems.

Tested by existing test suite.

  • GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
5:30 PM Changeset in webkit [255216] by Jonathan Bedard
  • 4 edits in trunk/Source

Fix OpenSource iphoneos arm64e build
https://bugs.webkit.org/show_bug.cgi?id=206703

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • runtime/MachineContext.h:

(JSC::MachineContext::stackPointerImpl): Conditionalize function existence on
USE(DARWIN_REGISTER_MACROS).
(JSC::MachineContext::stackPointer): Use Darwin's register macros if available.
(JSC::MachineContext::setStackPointer): Ditto.
(JSC::MachineContext::instructionPointerImpl): Conditionalize function existence
on USE(DARWIN_REGISTER_MACROS).
(JSC::MachineContext::instructionPointer): Use Darwin's register macros if available.
(JSC::MachineContext::setInstructionPointer): Ditto.
(JSC::MachineContext::linkRegister): Ditto.
(JSC::MachineContext::setLinkRegister): Ditto.
(JSC::MachineContext::linkRegisterImpl): Deleted.

Source/WTF:

  • wtf/PlatformUse.h: Add USE(DARWIN_REGISTER_MACROS) check.
5:13 PM Changeset in webkit [255215] by Peng Liu
  • 4 edits
    1 add in trunk/LayoutTests

REGRSSION: [ High Sierra Catalina ] (r253310) compositing/video/video-border-radius-clipping.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205226

Reviewed by Simon Fraser.

Add a special video with only one frame so that the video element in a test page will always render the exact same pixels.

  • compositing/video/video-border-radius-clipping-expected.html:
  • compositing/video/video-border-radius-clipping.html:
  • media/content/pure-color-green.mp4: Added.
  • platform/mac-wk1/TestExpectations:
5:13 PM Changeset in webkit [255214] by Devin Rousso
  • 14 edits
    4 copies
    58 moves
    11 adds
    1 delete in trunk/Source/WebKit

Web Inspector: consolidate UIProcess/WebProcess files into Inspector folders
https://bugs.webkit.org/show_bug.cgi?id=206721

Reviewed by Alex Christensen and Don Olmstead.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources.make:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformFTW.cmake:
  • PlatformWin.cmake:
  • Sources.txt:
  • SourcesCocoa.txt:
  • SourcesGTK.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • UIProcess/Inspector/InspectorTargetProxy.h: Renamed from Source/WebKit/UIProcess/InspectorTargetProxy.h.
  • UIProcess/Inspector/InspectorTargetProxy.cpp: Renamed from Source/WebKit/UIProcess/InspectorTargetProxy.cpp.
  • UIProcess/Inspector/RemoteWebInspectorProxy.messages.in: Renamed from Source/WebKit/UIProcess/RemoteWebInspectorProxy.messages.in.
  • UIProcess/Inspector/RemoteWebInspectorProxy.h: Renamed from Source/WebKit/UIProcess/RemoteWebInspectorProxy.h.
  • UIProcess/Inspector/RemoteWebInspectorProxy.cpp: Renamed from Source/WebKit/UIProcess/RemoteWebInspectorProxy.cpp.
  • UIProcess/Inspector/WebInspectorProxy.messages.in: Renamed from Source/WebKit/UIProcess/WebInspectorProxy.messages.in.
  • UIProcess/Inspector/WebInspectorProxy.h: Renamed from Source/WebKit/UIProcess/WebInspectorProxy.h.
  • UIProcess/Inspector/WebInspectorProxy.cpp: Renamed from Source/WebKit/UIProcess/WebInspectorProxy.cpp.
  • UIProcess/Inspector/WebInspectorUtilities.h: Renamed from Source/WebKit/UIProcess/WebInspectorUtilities.h.
  • UIProcess/Inspector/WebInspectorUtilities.cpp: Renamed from Source/WebKit/UIProcess/WebInspectorUtilities.cpp.
  • UIProcess/Inspector/WebPageDebuggable.h: Renamed from Source/WebKit/UIProcess/WebPageDebuggable.h.
  • UIProcess/Inspector/WebPageDebuggable.cpp: Renamed from Source/WebKit/UIProcess/WebPageDebuggable.cpp.
  • UIProcess/Inspector/WebPageInspectorController.h: Renamed from Source/WebKit/UIProcess/WebPageInspectorController.h.
  • UIProcess/Inspector/WebPageInspectorController.cpp: Renamed from Source/WebKit/UIProcess/WebPageInspectorController.cpp.
  • UIProcess/Inspector/glib/RemoteInspectorClient.h: Renamed from Source/WebKit/UIProcess/glib/RemoteInspectorClient.h.
  • UIProcess/Inspector/glib/RemoteInspectorClient.cpp: Renamed from Source/WebKit/UIProcess/glib/RemoteInspectorClient.cpp.
  • UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp: Renamed from Source/WebKit/UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp.
  • UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp: Renamed from Source/WebKit/UIProcess/gtk/WebInspectorProxyGtk.cpp.
  • UIProcess/Inspector/gtk/WebInspectorProxyClient.h: Renamed from Source/WebKit/UIProcess/gtk/WebInspectorProxyClient.h.
  • UIProcess/Inspector/gtk/WebKitInspectorWindow.h: Renamed from Source/WebKit/UIProcess/gtk/WebKitInspectorWindow.h.
  • UIProcess/Inspector/gtk/WebKitInspectorWindow.cpp: Renamed from Source/WebKit/UIProcess/gtk/WebKitInspectorWindow.cpp.
  • UIProcess/Inspector/ios/WKInspectorHighlightView.h: Renamed from Source/WebKit/UIProcess/WKInspectorHighlightView.h.
  • UIProcess/Inspector/ios/WKInspectorHighlightView.mm: Renamed from Source/WebKit/UIProcess/WKInspectorHighlightView.mm.
  • UIProcess/Inspector/ios/WKInspectorNodeSearchGestureRecognizer.h: Renamed from Source/WebKit/UIProcess/ios/WKInspectorNodeSearchGestureRecognizer.h.
  • UIProcess/Inspector/ios/WKInspectorNodeSearchGestureRecognizer.mm: Renamed from Source/WebKit/UIProcess/ios/WKInspectorNodeSearchGestureRecognizer.mm.
  • UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm: Renamed from Source/WebKit/UIProcess/mac/RemoteWebInspectorProxyMac.mm.
  • UIProcess/Inspector/mac/WKInspectorViewController.h: Renamed from Source/WebKit/UIProcess/mac/WKInspectorViewController.h.
  • UIProcess/Inspector/mac/WKInspectorViewController.mm: Renamed from Source/WebKit/UIProcess/mac/WKInspectorViewController.mm.
  • UIProcess/Inspector/mac/WKInspectorWKWebView.h: Renamed from Source/WebKit/UIProcess/mac/WKInspectorWKWebView.h.
  • UIProcess/Inspector/mac/WKInspectorWKWebView.mm: Renamed from Source/WebKit/UIProcess/mac/WKInspectorWKWebView.mm.
  • UIProcess/Inspector/mac/WebInspectorProxyMac.mm: Renamed from Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm.
  • UIProcess/Inspector/socket/RemoteInspectorClient.h: Renamed from Source/WebKit/UIProcess/socket/RemoteInspectorClient.h.
  • UIProcess/Inspector/socket/RemoteInspectorClient.cpp: Renamed from Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp.
  • UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.h: Renamed from Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.h.
  • UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp: Renamed from Source/WebKit/UIProcess/socket/RemoteInspectorProtocolHandler.cpp.
  • UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp: Renamed from Source/WebKit/UIProcess/win/RemoteWebInspectorProxyWin.cpp.
  • UIProcess/Inspector/win/WebInspectorProxyWin.cpp: Renamed from Source/WebKit/UIProcess/win/WebInspectorProxyWin.cpp.
  • WebProcess/Inspector/RemoteWebInspectorUI.messages.in: Renamed from Source/WebKit/WebProcess/WebPage/RemoteWebInspectorUI.messages.in.
  • WebProcess/Inspector/RemoteWebInspectorUI.h: Renamed from Source/WebKit/WebProcess/WebPage/RemoteWebInspectorUI.h.
  • WebProcess/Inspector/RemoteWebInspectorUI.cpp: Renamed from Source/WebKit/WebProcess/WebPage/RemoteWebInspectorUI.cpp.
  • WebProcess/Inspector/WebInspector.messages.in: Renamed from Source/WebKit/WebProcess/WebPage/WebInspector.messages.in.
  • WebProcess/Inspector/WebInspector.h: Renamed from Source/WebKit/WebProcess/WebPage/WebInspector.h.
  • WebProcess/Inspector/WebInspector.cpp: Renamed from Source/WebKit/WebProcess/WebPage/WebInspector.cpp.
  • WebProcess/Inspector/WebInspectorClient.h: Renamed from Source/WebKit/WebProcess/WebCoreSupport/WebInspectorClient.h.
  • WebProcess/Inspector/WebInspectorClient.cpp: Renamed from Source/WebKit/WebProcess/WebCoreSupport/WebInspectorClient.cpp.
  • WebProcess/Inspector/WebInspectorFrontendAPIDispatcher.h: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h.
  • WebProcess/Inspector/WebInspectorFrontendAPIDispatcher.cpp: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp.
  • WebProcess/Inspector/WebInspectorInterruptDispatcher.messages.in: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorInterruptDispatcher.messages.in.
  • WebProcess/Inspector/WebInspectorInterruptDispatcher.h: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorInterruptDispatcher.h.
  • WebProcess/Inspector/WebInspectorInterruptDispatcher.cpp: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorInterruptDispatcher.cpp.
  • WebProcess/Inspector/WebInspectorUI.messages.in: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorUI.messages.in.
  • WebProcess/Inspector/WebInspectorUI.h: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorUI.h.
  • WebProcess/Inspector/WebInspectorUI.cpp: Renamed from Source/WebKit/WebProcess/WebPage/WebInspectorUI.cpp.
  • WebProcess/Inspector/WebPageInspectorTarget.h: Renamed from Source/WebKit/WebProcess/WebPage/WebPageInspectorTarget.h.
  • WebProcess/Inspector/WebPageInspectorTarget.cpp: Renamed from Source/WebKit/WebProcess/WebPage/WebPageInspectorTarget.cpp.
  • WebProcess/Inspector/WebPageInspectorTargetController.h: Renamed from Source/WebKit/WebProcess/WebPage/WebPageInspectorTargetController.h.
  • WebProcess/Inspector/WebPageInspectorTargetController.cpp: Renamed from Source/WebKit/WebProcess/WebPage/WebPageInspectorTargetController.cpp.
  • WebProcess/Inspector/WebPageInspectorTargetFrontendChannel.h: Renamed from Source/WebKit/WebProcess/WebPage/WebPageInspectorTargetFrontendChannel.h.
  • WebProcess/Inspector/WebPageInspectorTargetFrontendChannel.cpp: Renamed from Source/WebKit/WebProcess/WebPage/WebPageInspectorTargetFrontendChannel.cpp.
  • WebProcess/Inspector/gtk/WebInspectorUIGtk.cpp: Renamed from Source/WebKit/WebProcess/WebPage/gtk/WebInspectorUIGtk.cpp.
  • WebProcess/Inspector/mac/WebInspectorUIMac.mm: Renamed from Source/WebKit/WebProcess/WebPage/mac/WebInspectorUIMac.mm.
  • WebProcess/Inspector/win/WebInspectorUIWin.mm: Renamed from Source/WebKit/WebProcess/WebPage/win/WebInspectorUIWin.mm.
  • UIProcess/API/APIAttachment.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

Add some missing includes.

5:03 PM Changeset in webkit [255213] by Truitt Savell
  • 3 edits in trunk/LayoutTests

animations/animation-direction-reverse.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206671

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-27

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
4:39 PM Changeset in webkit [255212] by Devin Rousso
  • 2 edits in trunk/Source/WebCore

Unreviewed, speculative win build fix after r255191

  • inspector/agents/page/PageRuntimeAgent.cpp:

Add missing include.

4:28 PM Changeset in webkit [255211] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, drop unused MESSAGE_CHECK_CONTEXTID() macro in UserMediaCaptureManagerProxy.cpp.

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
4:27 PM Changeset in webkit [255210] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: (r253718) [ Mac ] inspector/runtime/executionContextCreated-onEnable.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205956

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:15 PM Changeset in webkit [255209] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r255167.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::detachRemoteParts):

4:02 PM Changeset in webkit [255208] by Russell Epstein
  • 3 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r255128. rdar://problem/58921492

Tighten up some of the drag state machine logic
https://bugs.webkit.org/show_bug.cgi?id=206798

Reviewed by Wenson Hsieh.

  • page/EventHandler.h: Added shouldDispatchEventsToDragSourceElement function and renamed the existing dispatchDragSrcEvent function to dispatchEventToDragSourceElement.
  • page/EventHandler.cpp: (WebCore::EventHandler::updateDragAndDrop): Call the renamed dispatchEventToDragSourceElement unconditionally, since it now has the smarts to only dispatch an event when we are supposed to. (WebCore::EventHandler::cancelDragAndDrop): Ditto. (WebCore::EventHandler::dragSourceEndedAt): Call the new shouldDispatchEventsToDragSourceElement function because of the null check it does for dataTransfer, before calling setDestinationOperation on the dataTransfer, since there isn't an obvious ironclad guarantee we might be here without an actual drag fully in process and a dataTransfer object allocated. Also call the renamed dispatchEventToDragSourceElement by its new name. (WebCore::EventHandler::shouldDispatchDragSourceEvents): Added. Checks thre three conditions that affect whether we should dispatch events to the drag source. First that there is a drag source. Second that there is a dataTransfer object, indicating that we got far enough in the logic to actually start a drag. Third that shouldDispatchEvents is true, indicating this is the type of drag that should be visible to the website content and so events should be dispatched. (WebCore::EventHandler::dispatchEventToDragSourceElement): Call shouldDispatchDragSourceEvents before dispatching the event, so that callers don't all have to do that check.

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

4:02 PM Changeset in webkit [255207] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WebKit

Cherry-pick r255114. rdar://problem/58920176

macCatalyst: Don't get any custom cursors in subframes
https://bugs.webkit.org/show_bug.cgi?id=206781
<rdar://problem/58698374>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::positionInformation): Adjust the hit test to allow child frame content, and reorganize the rest of the code to use the hit frame instead of the main frame.

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

4:02 PM Changeset in webkit [255206] by Russell Epstein
  • 9 edits
    2 adds in branches/safari-609-branch

Cherry-pick r255108. rdar://problem/58920185

[iOS] Long pressing text inside a selection should update the selection
https://bugs.webkit.org/show_bug.cgi?id=206769
<rdar://problem/58704316>

Reviewed by Tim Horton.

Source/WebCore:

Remove hasSelectionAtPosition, which is no longer needed.

  • page/Page.cpp: (WebCore::Page::hasSelectionAtPosition const): Deleted.
  • page/Page.h:

Source/WebKit:

Makes it possible to update the selection using text interaction gestures inside an existing text selection. To
do this, we remove code that was previously required in order to disambiguate text selection and drag gestures.
However, since adopting asynchronous drag interaction SPI, this check has not been necessary.

The only other purpose of this check was to avoid triggering text selection gestures after canceling a drag
that did not begin (i.e. the touch location did not move). Instead of bailing in -textInteractionGestures:
shouldBeginAtPoint: and -hasSelectablePositionAtPoint:, we can achieve the same effect by simply resetting the
text interaction gestures when the drag lift begins (at which point we know the drag interaction is starting).
This also ensures that on iPad, in the case where the drag was cancelled by the page, long pressing may still
trigger text selection.

Test: editing/selection/ios/select-text-in-existing-selection.html

  • Shared/ios/InteractionInformationAtPosition.h:
  • Shared/ios/InteractionInformationAtPosition.mm: (WebKit::InteractionInformationAtPosition::encode const): (WebKit::InteractionInformationAtPosition::decode):

Remove the hasSelectionAtPosition flag from position information, since we no longer need it.

  • UIProcess/ios/WKContentViewInteraction.mm: (-[UIGestureRecognizer _wk_cancel]):

Drive-by fix: just ignore the gesture if it is already disabled. This prevents us from causing a gesture
recognizer that was previously disabled to become enabled as a result of calling -_wk_cancel.

(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView cancelActiveTextInteractionGestures]):

Instead of making the text interaction gestures return NO from -gestureRecognizerShouldBegin:, explicitly cancel
the text interaction gestures that may select text.

(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::positionInformation):

Remove the hasSelectionAtPosition flag from position information, since we no longer need it.

LayoutTests:

Add a layout test to verify that it's possible to select text by long pressing inside an existing text
selection. The test is runnable on both iPad and iPhone, since it programmatically prevents dragstart.

  • editing/selection/ios/select-text-in-existing-selection-expected.txt: Added.
  • editing/selection/ios/select-text-in-existing-selection.html: Added.

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

4:02 PM Changeset in webkit [255205] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WebKit

Cherry-pick r255105. rdar://problem/58920180

macCatalyst: Right clicking on links follows the link, but shouldn't
https://bugs.webkit.org/show_bug.cgi?id=206777
<rdar://problem/56586280>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKMouseGestureRecognizer.mm: (-[WKMouseGestureRecognizer createMouseEventWithType:forEvent:]): (-[WKMouseGestureRecognizer touchesEnded:withEvent:]): I got 'button' and 'buttons' backwards.

'button' indicates which button the event is about, so in MouseUp,
it should still be 2.

'buttons' indicate which buttons are still down, so in MouseUp,
it should not include 2. Since we don't currently track mouse button
chording here, we'll just say "none". Leave a FIXME about that.

This makes WebCore's behavior correct, and now it doesn't follow the link.

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

4:02 PM Changeset in webkit [255204] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WebKitLegacy

Cherry-pick r255094. rdar://problem/58921473

Remove check-xcfilelists.sh from WebKitLegacy Xcode build target
https://bugs.webkit.org/show_bug.cgi?id=206762
<rdar://problem/58825997>

Reviewed by Alexey Proskuryakov.

When check-xcfilelists.sh got added to the WebKitLegacy Xcode project,
it was also accidentally added to the WebKitLegacy build target. This
caused it to be treated as a "resource", and so was copied to the
output directory in the Resources sub-folder during the build. This
copying is not expected, needed, or desired. Remove
check-xcfilelists.sh from the target, which also removes it from the
Copy Resources build phase, which removes it from the
WebKitLegacy.framework/Resources directory.

  • WebKitLegacy.xcodeproj/project.pbxproj:

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

4:02 PM Changeset in webkit [255203] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WTF

Cherry-pick r255087. rdar://problem/58920164

Fix internal Apple builds after r254411
https://bugs.webkit.org/show_bug.cgi?id=206723
<rdar://problem/58844735>

Reviewed by Maciej Stachowiak.

The default Xcode build configuration has changed between macOS 10.13
and macOS 10.15, such that references to some frameworks when bulding
for the latter don't work when building for the former. Fix this by
explicitly adding support for the desired build location rather than
assuming such support will be provided for us.

  • Configurations/WTF.xcconfig:

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

4:02 PM Changeset in webkit [255202] by Russell Epstein
  • 14 edits in branches/safari-609-branch

Cherry-pick r255076. rdar://problem/58920206

[Web Animations] Support multiple CSS Animations with the same name in animation-name
https://bugs.webkit.org/show_bug.cgi?id=206688

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark some new WPT progressions.

  • web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative-expected.txt:
  • web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt:
  • web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt:

Source/WebCore:

AnimationTimeline would keep track of registered CSS Animations by name for a given element in m_elementToCSSAnimationByName which would map one CSSAnimation
per String (the animation-name) for a given Element. However, within the same animation-name property, the name of a given @keyframes rules may appear more
than once, and the CSS Animations specification explains how to handle this scenario.

We now correctly handle this by replacing m_elementToCSSAnimationByName with the new m_elementToCSSAnimationsCreatedByMarkupMap which simply maps an Element
to a ListHashSet of CSSAnimation objects. Removing the string that appeared in animation-name to create this animation requires us to keep the AnimationList
used for the last style update for sorting purposes, since having multiple instances of the same string would not allow disambiguation when sorting the
KeyframeEffectStack.

So we also replace m_cssAnimationNames, a Vector<String>, with m_cssAnimationList, a RefPtr<const AnimationList>, and use this to compare Animation objects
stored in the AnimationList against the backing animation of each CSSAnimation.

Storing the AnimationList on the KeyframeEffectStack also has the benefit of allowing us to use this as the previous state when updating CSS Animations in
AnimationTimeline::updateCSSAnimationsForElement(). We used to rely on the previous RenderStyle provided to that function, but it's possible that this style
is null and we would unnecessarily create additional CSSAnimation objects for animations that actually were retained since the last time CSS Animations were
invalidated. We now use the stored AnimationList on the invalidated element's KeyframeEffectStack and create a new animation list that will replace the old
list stored in the m_elementToCSSAnimationsCreatedByMarkupMap map for that element. We can also compare the old list with the new list to find out which
animations are no longer current.

Finally, we refactor things a bit to have some new aliases AnimationCollection and CSSAnimationCollection instead of using ListHashSet<> in our types.

  • animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::animationWasAddedToElement): Use the new AnimationCollection alias. (WebCore::AnimationTimeline::removeDeclarativeAnimationFromListsForOwningElement): We no longer need to do any work for CSSAnimation here since the m_elementToCSSAnimationByName map is no more and the m_elementToCSSAnimationsCreatedByMarkupMap that replaces it is updated in updateCSSAnimationsForElement() and elementWasRemoved(). (WebCore::AnimationTimeline::animationsForElement const): Since animations are correctly sorted accounting for their composite order in KeyframeEffectStack, call KeyframeEffectStack::sortedEffects() when we're called with Ordering::Sorted. (WebCore::AnimationTimeline::removeCSSAnimationCreatedByMarkup): New method called by elementWasRemoved() to ensure that when an element is removed, we remove its CSSAnimation objects from the new m_elementToCSSAnimationsCreatedByMarkupMap and also update the AnimationList on the relevant KeyframeEffectStack. (WebCore::AnimationTimeline::elementWasRemoved): Call the new removeCSSAnimationCreatedByMarkup() method before canceling a CSSAnimation. (WebCore::AnimationTimeline::cancelDeclarativeAnimationsForElement): Call the new removeCSSAnimationCreatedByMarkup() method before canceling a CSSAnimation. (WebCore::AnimationTimeline::updateCSSAnimationsForElement): Use the AnimationList recoreded on the relevant KeyframeEffectStack to determine which CSSAnimation objects to create, cancel or merely update depending on the AnimationList in the current style.
  • animation/AnimationTimeline.h:
  • animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::getAnimations const): Use compareAnimationsByCompositeOrder() to correctly sort CSS Animations since they are no longer guaranteed to be stored in the relevant map in the expected order.
  • animation/KeyframeEffectStack.cpp: (WebCore::KeyframeEffectStack::ensureEffectsAreSorted): Use the new m_cssAnimationList instead of the old m_cssAnimationNames when sorting effects. (WebCore::KeyframeEffectStack::setCSSAnimationList): (WebCore::KeyframeEffectStack::setCSSAnimationNames): Deleted.
  • animation/KeyframeEffectStack.h: (WebCore::KeyframeEffectStack::cssAnimationList const): (WebCore::KeyframeEffectStack::cssAnimationNames const): Deleted.
  • animation/WebAnimation.cpp: (WebCore::WebAnimation::commitStyles): Use the new KeyframeEffectStack::cssAnimationList() instead of the old KeyframeEffectStack::cssAnimationNames().
  • animation/WebAnimationUtilities.cpp: (WebCore::compareAnimationsByCompositeOrder): Update the composite order comparison utility to use an AnimationList rather than a list of animation names.
  • animation/WebAnimationUtilities.h:
  • platform/animation/AnimationList.h: (WebCore::AnimationList::copy const):

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

4:02 PM Changeset in webkit [255201] by Russell Epstein
  • 5 edits in branches/safari-609-branch/Source

Cherry-pick r255046. rdar://problem/58920204

macCatalyst: I-Beam is too conservative, doesn't show up in editable areas with no text
https://bugs.webkit.org/show_bug.cgi?id=206716
<rdar://problem/58359523>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::lineCaretExtent): (WebKit::populateCaretContext): (WebKit::WebPage::positionInformation): Instead of uniting the caret position for the first and last position on the line to find the I-Beam region, use the bounds of the selection rect for the line, which extends beyond existing text, matching our traditional behavior of showing the I-Beam over blank regions.
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::absoluteSelectionBoundsForLine const):
  • editing/VisiblePosition.h: Expose the bounds of the possible selection for the line that the given position belongs to.

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

4:02 PM Changeset in webkit [255200] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r255043. rdar://problem/58920158

[EME] Key renewal fails when using AVContentKeyReportGroup
https://bugs.webkit.org/show_bug.cgi?id=206694
<rdar://problem/58628345>

Patch by Jer Noble <jer.noble@apple.com> on 2020-01-23
Reviewed by Eric Carlson.

When a CDMInstanceSession has a AVContentKeyReportGroup, it doesn't have an AVContentKeySession; it has
to get the session from it's parent CDMInstance to request key renewal.

  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):

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

4:02 PM Changeset in webkit [255199] by Russell Epstein
  • 4 edits in branches/safari-609-branch

Cherry-pick r254950. rdar://problem/58856023

REGRESSION (r253519): [WKWebView evaluateJavaScript:completionHandler:] gives a non-nil, non-Error result even when JavaScript cannot be evaluated
<rdar://problem/58544942> and https://bugs.webkit.org/show_bug.cgi?id=206608

Reviewed by Alex Christensen.

Source/WebCore:

Covered by new API test.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeScriptInWorld): Address a FIXME added in 253519 which had predicted this problem.

Tools:

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

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

4:02 PM Changeset in webkit [255198] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r254896. rdar://problem/58920174

[EME] Only emit an array of persistent-usage-records when we discover > 1
https://bugs.webkit.org/show_bug.cgi?id=206205
<rdar://problem/58691769>

Patch by Jer Noble <jer.noble@apple.com> on 2020-01-21
Reviewed by Eric Carlson.

The persistent-usage-record cache should never have more than one record per sessionId, but
that assumption is not enforced in the file format. To not break clients that aren't
expecting a serialized plist array, only emit an array when more than one matching data item
is found.

  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm: (WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):

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

4:02 PM Changeset in webkit [255197] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Tools

Cherry-pick r254838. rdar://problem/58856018

REGRESSION(r254788): mozilla-tests.yaml/js1_5/Regress/regress-191633.js.mozilla fails
https://bugs.webkit.org/show_bug.cgi?id=206477
<rdar://problem/58714886>

Unreviewed.

In r232603 when we added test specific options, the implementation did not
clear the test specific options before parsing each test inside a yaml
file. It only worked for tests where we ran each js file inside a directory.
This patch makes it also work for yaml files.

  • Scripts/run-jsc-stress-tests:

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

4:02 PM Changeset in webkit [255196] by Russell Epstein
  • 4 edits in branches/safari-609-branch/LayoutTests

Cherry-pick r254834. rdar://problem/58856027

REGRESSION (r250655?): [ Mac Debug ] inspector/runtime/promise-native-getter.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=206303
<rdar://problem/58612520>

Reviewed by Darin Adler.

Rework the test to not be reliant on real world timing.

  • inspector/runtime/promise-native-getter.html:
  • inspector/runtime/promise-native-getter-expected.txt:
  • platform/mac/TestExpectations:

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

4:02 PM Changeset in webkit [255195] by Russell Epstein
  • 5 edits
    1 add in branches/safari-609-branch

Cherry-pick r254788. rdar://problem/58856018

Air O0 should have better stack allocation
https://bugs.webkit.org/show_bug.cgi?id=206436

Reviewed by Tadeu Zagallo.

JSTests:

  • wasm/stress/dont-stack-overflow-in-air.js: Added.

Source/JavaScriptCore:

This patch adds a simple stack slot allocator to Air O0 to make code
use smaller stack frames. The huge stack frames from the old stack
allocator were leading to stack overflows in some programs. Before,
each Tmp got its own stack slot. The new allocator works similar to O0's
register allocator. This stack allocator linearizes the program and uses live
range end as an opportunity to place the stack slot on a free list of
available stack slots. This patch also fixes an issue in our linearization code
where the head of a block and the tail of another block would share the
same linearization index. This didn't matter for register allocation, but
does matter for the stack allocator. So "live at head", and "live at tail"
now get their own linearization index.

  • b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::buildLiveRanges): (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate):
  • b3/air/AirAllocateRegistersAndStackAndGenerateCode.h:
  • b3/air/AirLiveness.h:

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

4:02 PM Changeset in webkit [255194] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r254692. rdar://problem/58811413

REGRESSION (r254291): [ Catalina wk2 Debug ] Flaky ASSERT on fast/images/animated-image-loop-count.html
https://bugs.webkit.org/show_bug.cgi?id=206068
<rdar://problem/58480028>

Patch by Chris Lord <Chris Lord> on 2020-01-16
Reviewed by Chris Dumez.

No new tests, covered by existing tests.

  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::startAsyncDecodingQueue):

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

4:01 PM Changeset in webkit [255193] by Russell Epstein
  • 8 edits
    2 adds in branches/safari-609-branch

Cherry-pick r254559. rdar://problem/58920170

Long continuation chain could lead to stack exhaustion
https://bugs.webkit.org/show_bug.cgi?id=206271
<rdar://problem/41189798>

Reviewed by Simon Fraser.

Source/WebCore:

This patch replaces the recursive approach with an iterative one
to collect absolute quads across continuation.

Test: fast/inline/long-continuation-crash.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::absoluteQuads const): (WebCore::RenderBlock::absoluteQuadsIgnoringContinuation const):
  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::collectAbsoluteQuadsForContinuation const):
  • rendering/RenderBoxModelObject.h: (WebCore::RenderBoxModelObject::absoluteQuadsIgnoringContinuation const):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteQuads const): (WebCore::RenderInline::absoluteQuadsIgnoringContinuation const):
  • rendering/RenderInline.h:

LayoutTests:

  • fast/inline/long-continuation-crash.html: Added.

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

4:01 PM Changeset in webkit [255192] by Russell Epstein
  • 3 edits in branches/safari-609-branch/LayoutTests

Cherry-pick r254546. rdar://problem/58811346

REGRESSION: fast/shadow-dom/link-element-in-shadow-tree.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=171784
<rdar://problem/58123584>

Reviewed by Antti Koivisto.

The timeout is likely caused by the stylesheet not loading within 100ms timeout in the very first test case.
Load and cache the stylesheet before any test cases run to avoid this timeout.

  • fast/shadow-dom/link-element-in-shadow-tree.html:
  • platform/mac-wk2/TestExpectations: Removed the flaky test expectation.

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

3:49 PM Changeset in webkit [255191] by Devin Rousso
  • 54 edits
    1 move
    2 adds in trunk

Web Inspector: unable to evaluate in the isolated world of content scripts injected by safari app extensions
https://bugs.webkit.org/show_bug.cgi?id=206110
<rdar://problem/16945643>

Reviewed by Timothy Hatcher, Joseph Pecoraro, and Brian Burg.

In addition to evaluating in subframe execution contexts, add the ability for Web Inspector
to evaluate in non-normal isolated worlds.

Source/JavaScriptCore:

  • inspector/protocol/Runtime.json:

Introduce an ExecutionContextType enum instead of isPageContext so the frontend can
decide whether/how to show a picker for that execution context.

Source/WebCore:

Test: inspector/runtime/executionContextCreated-isolated-world.html

  • bindings/js/DOMWrapperWorld.h:

(WebCore::DOMWrapperWorld::create):
(WebCore::DOMWrapperWorld::type const): Added.
(WebCore::DOMWrapperWorld::isNormal const):
(WebCore::DOMWrapperWorld::name const): Added.

  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::DOMWrapperWorld):

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createWorld):

  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::initNormalWorld):
Require that a name is specified when creating an isolated world (except the normal world)
so that Web Inspector has something to show in the execution context picker.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):

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

(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):

  • inspector/agents/page/PageDebuggerAgent.h:
  • inspector/agents/page/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::didClearWindowObjectInWorld):

  • inspector/agents/page/PageRuntimeAgent.h:
  • inspector/agents/page/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::didClearWindowObjectInWorld):
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):
(WebCore::toProtocol): Added.
(WebCore::PageRuntimeAgent::notifyContextCreated):
Allow this instrumentation call to pass through to the agents for non-Normal worlds.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::ensureIsolatedWorld):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::plugInImageElementIsolatedWorld):

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::isolatedWorld):
Mark these worlds as Internal.

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

(WebCore::Internals::evaluateInWorldIgnoringException): Added.

Source/WebInspectorUI:

  • UserInterface/Models/ExecutionContext.js:

(WI.ExecutionContext):
(WI.ExecutionContext.typeFromPayload): Added.
(WI.ExecutionContext.prototype.get type): Added.
(WI.ExecutionContext.prototype.get isPageContext): Deleted.

  • UserInterface/Models/ExecutionContextList.js:

(WI.ExecutionContextList.prototype.add):

  • UserInterface/Models/Frame.js:

(WI.Frame.prototype.addExecutionContext):

  • UserInterface/Controllers/NetworkManager.js:

(WI.NetworkManager.prototype.executionContextCreated):
The Normal execution context (of which there should only be one) is considered the "page"
execution context.

  • UserInterface/Protocol/DirectBackendTarget.js:

(WI.DirectBackendTarget):

  • UserInterface/Protocol/PageTarget.js:

(WI.PageTarget):

  • UserInterface/Protocol/WorkerTarget.js:

(WI.WorkerTarget):
Default to a Normal execution context.

  • UserInterface/Views/QuickConsole.js:

(WI.QuickConsole):
(WI.QuickConsole.prototype._displayNameForExecutionContext): Added.
(WI.QuickConsole.prototype._resolveDesiredActiveExecutionContext): Added.
(WI.QuickConsole.prototype._setActiveExecutionContext): Added.
(WI.QuickConsole.prototype._updateActiveExecutionContextDisplay): Added.
(WI.QuickConsole.prototype._populateActiveExecutionContextNavigationItemContextMenu): Added.
(WI.QuickConsole.prototype._handleConsoleSavedResultAliasSettingChanged): Added.
(WI.QuickConsole.prototype._handleEngineeringShowInternalExecutionContextsSettingChanged): Added.
(WI.QuickConsole.prototype._handleFramePageExecutionContextChanged): Added.
(WI.QuickConsole.prototype._handleFrameExecutionContextsCleared): Added.
(WI.QuickConsole.prototype._handleDebuggerActiveCallFrameDidChange): Added.
(WI.QuickConsole.prototype._handleActiveExecutionContextChanged): Added.
(WI.QuickConsole.prototype._handleTransitionPageTarget): Added.
(WI.QuickConsole.prototype._handleTargetRemoved): Added.
(WI.QuickConsole.prototype._handleInspectedNodeChanged): Added.
(WI.QuickConsole.prototype._updateStyles):
(WI.QuickConsole.prototype.get navigationBar): Deleted.
(WI.QuickConsole.prototype._pageTargetTransitioned): Deleted.
(WI.QuickConsole.prototype._initializeMainExecutionContextPathComponent): Deleted.
(WI.QuickConsole.prototype.layout): Deleted.
(WI.QuickConsole.prototype._preferredNameForFrame): Deleted.
(WI.QuickConsole.prototype._selectExecutionContext): Deleted.
(WI.QuickConsole.prototype._updateAutomaticExecutionContextPathComponentTooltip): Deleted.
(WI.QuickConsole.prototype._executionContextPathComponentsToDisplay): Deleted.
(WI.QuickConsole.prototype._rebuildExecutionContextPathComponents): Deleted.
(WI.QuickConsole.prototype._framePageExecutionContextsChanged): Deleted.
(WI.QuickConsole.prototype._frameExecutionContextsCleared): Deleted.
(WI.QuickConsole.prototype._activeExecutionContextChanged): Deleted.
(WI.QuickConsole.prototype._createExecutionContextPathComponent): Deleted.
(WI.QuickConsole.prototype._compareExecutionContextPathComponents): Deleted.
(WI.QuickConsole.prototype._insertOtherExecutionContextPathComponent): Deleted.
(WI.QuickConsole.prototype._removeOtherExecutionContextPathComponent): Deleted.
(WI.QuickConsole.prototype._insertExecutionContextPathComponentForFrame): Deleted.
(WI.QuickConsole.prototype._removeExecutionContextPathComponentForFrame): Deleted.
(WI.QuickConsole.prototype._targetAdded): Deleted.
(WI.QuickConsole.prototype._targetRemoved): Deleted.
(WI.QuickConsole.prototype._pathComponentSelected): Deleted.
(WI.QuickConsole.prototype._pathComponentClicked): Deleted.
(WI.QuickConsole.prototype._debuggerActiveCallFrameDidChange): Deleted.

  • UserInterface/Views/QuickConsole.css:

(.quick-console > .console-prompt):
(.quick-console > .navigation-bar):
(.quick-console > .navigation-bar .active-execution-context): Added.
(.quick-console > .navigation-bar .active-execution-context > .selector-arrows): Added.
(.quick-console > .navigation-bar .active-execution-context:not(.automatic)): Added.
(.quick-console > .navigation-bar .active-execution-context:not(.automatic) > .selector-arrows): Added.
(.quick-console .execution-context): Deleted.
(.quick-console > .navigation-bar > .hierarchical-path .execution-context): Deleted.
(.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator): Deleted.
(.quick-console > .navigation-bar > .hierarchical-path:not(.automatic-execution-context)): Deleted.
(.quick-console > .navigation-bar > .hierarchical-path:not(.automatic-execution-context) .execution-context): Deleted.
(.quick-console > .navigation-bar > .hierarchical-path:not(.automatic-execution-context) .execution-context .selector-arrows): Deleted.
Replace the WI.HierarchicalPathNavigationItem with a plain WI.NavigationItem that shows
a WI.ContextMenu with all valid execution contexts organized as follows:

Auto - <display name for execution context of inspected DOM node>
----------
Main Frame Normal Execution Context

All User Exection Contexts for the Main Frame
All Internal Exection Contexts for the Main Frame (with the engineering setting)

Frames

Frame Normal Execution Context

All User Exection Contexts for the Frame
All Internal Exection Contexts for the Frame (with the engineering setting)

...

Workers

Worker Execution Context
...

Everything is checkmark selectable other than the separator, "Frames", and "Workers".

  • UserInterface/Controllers/RuntimeManager.js:

(WI.RuntimeManager):
(WI.RuntimeManager.prototype._frameExecutionContextsCleared): Deleted.
Let the UI (WI.QuickConsole) decide when to automatically update the active execution
context when a frame is removed that owned the active execution context.

  • UserInterface/Controllers/TargetManager.js:

(WI.TargetManager.prototype.get workerTargets): Added.
(WI.TargetManager.prototype._terminatePageTarget):
Convenience function for getting the list of worker targets.

  • UserInterface/Views/GroupNavigationItem.js:

(WI.GroupNavigationItem.prototype.update):
(WI.GroupNavigationItem.prototype.didAttach):
Update the items whenever the group updates.

  • UserInterface/Main.html:
  • UserInterface/Views/SizesToFitNavigationBar.js: Renamed from Source/WebInspectorUI/UserInterface/Views/QuickConsoleNavigationBar.js.

(WI.SizesToFitNavigationBar):
(WI.SizesToFitNavigationBar.prototype.get sizesToFit):
Rename to allow for other use cases.

  • UserInterface/Views/ContextMenu.js:

(WI.ContextSubMenuItem.prototype.appendHeader): Added.
Convenience method for creating a disabled item.

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

(WI.SettingsTabContentView.prototype._createEngineeringSettingsView):
Create an engineering setting that controls whether Internal execution contexts are shown.

  • UserInterface/Test/InspectorProtocol.js:

(InspectorProtocol.addEventListener):
(InspectorProtocol.removeEventListener): Added.

  • Localizations/en.lproj/localizedStrings.js:

Source/WebKit:

  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
  • WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:

(WebKit::InjectedBundleScriptWorld::create):

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserContentWorlds):

  • WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp:

(webkit_script_world_new):
(webkit_script_world_new_with_name):
Treat isolated worlds created by API calls as User worlds.

Source/WebKitLegacy/mac:

  • WebView/WebScriptWorld.mm:

(-[WebScriptWorld init]):
Treat isolated worlds created by API calls as User worlds.

Source/WebKitLegacy/win:

  • WebScriptWorld.cpp:

(WebScriptWorld::createInstance):
Treat isolated worlds created by API calls as User worlds.

LayoutTests:

  • inspector/runtime/executionContextCreated-isolated-world.html: Added.
  • inspector/runtime/executionContextCreated-isolated-world-expected.txt: Added.
  • inspector/runtime/change-execution-context-identifier.html:
  • inspector/runtime/change-execution-context-identifier-expected.txt:

Don't expect the active execution context to change when the owner frame is removed, as that
is now handled by the UI (WI.QuickConsole) instead of the WI.RuntimeManager.

  • inspector/runtime/executionContextCreated-onEnable.html:

Ignore internal worlds.

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

[macOS iOS ] animations/animation-direction-normal.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206685

Unreviewed test gardening

I removed an old crash expectation for animations/animation-direction-normal.html is ios wk2 expectations.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-27

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
3:37 PM Changeset in webkit [255189] by Chris Dumez
  • 14 edits
    5 deletes in trunk

Unreviewed, revert r253984 as it appears to be causing assertion leaks.
https://bugs.webkit.org/show_bug.cgi?id=205687

Source/WebKit:

  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/RunningBoardServicesSPI.h: Removed.
  • Scripts/process-entitlements.sh:
  • Shared/DependencyProcessAssertion.cpp: Removed.
  • Shared/DependencyProcessAssertion.h: Removed.
  • Shared/NativeWebTouchEvent.h:
  • Shared/ios/DependencyProcessAssertionIOS.mm: Removed.
  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::processWasResumed):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::processTaskStateDidChange):
(WebKit::WebProcess::releaseProcessWasResumedAssertions):

WebKitLibraries:

  • WebKitPrivateFrameworkStubs/iOS/13/RunningBoardServices.framework/RunningBoardServices.tbd: Removed.
3:29 PM Changeset in webkit [255188] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed, a build fix after r255111

  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:

Adding some missing headers.

3:27 PM Changeset in webkit [255187] by Jon Davis
  • 2 edits in trunk/Websites/webkit.org

Add support for table of contents to Web Inspector pages
https://bugs.webkit.org/show_bug.cgi?id=206845

Reviewed by Devin Rousso.

  • wp-content/plugins/table-of-contents.php:
3:22 PM Changeset in webkit [255186] by stephan.szabo@sony.com
  • 2 edits in trunk/Source/JavaScriptCore

Python 3: generate-js-builtins hits SyntaxWarning for "is 0"
https://bugs.webkit.org/show_bug.cgi?id=206840

Reviewed by Jonathan Bedard.

  • Scripts/generate-js-builtins.py: Replace is 0 with == 0
3:20 PM Changeset in webkit [255185] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [iOS] http/wpt/cache-storage/quota-third-party.https.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=206681

Unreviewed test gardening

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-27

  • platform/ios-wk2/TestExpectations:
3:12 PM Changeset in webkit [255184] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS ] inspector/heap/tracking.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206684

Unreviewed test gardening

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-27

  • platform/mac-wk1/TestExpectations:
3:10 PM Changeset in webkit [255183] by Jon Davis
  • 3 edits in trunk/Websites/webkit.org

Fix submenu behavior for narrow viewports
https://bugs.webkit.org/show_bug.cgi?id=206835

Reviewed by Devin Rousso.

  • wp-content/themes/webkit/header.php:
  • wp-content/themes/webkit/style.css:

(@media only screen and (max-width: 920px) header .menu > .menu-item:hover > .sub-menu,):
(@media only screen and (max-width: 920px) header .menu > .menu-item > .menu-toggle:checked ~ .sub-menu): Deleted.

3:07 PM Changeset in webkit [255182] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[iOS Release] compositing/video/poster.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206678

Unreviewed test gardening

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-27

  • platform/ios-wk2/TestExpectations:
3:05 PM Changeset in webkit [255181] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[Mac wk2 Release] fast/html/marquee-child-wrap.html flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206704

Reviewed by Jonathan Bedard.

Added a scrollDelay to the test.

  • fast/html/marquee-child-wrap.html:
2:59 PM Changeset in webkit [255180] by Truitt Savell
  • 3 edits in trunk/LayoutTests

[ macOS iOS ] animations/play-state-paused.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206682

Unreviewed test gardening

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-27

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
2:54 PM Changeset in webkit [255179] by Noam Rosenthal
  • 2 edits in trunk/Tools

Unreviewed. Adding myself back as a reviewer.

  • Scripts/webkitpy/common/config/contributors.json:
2:51 PM Changeset in webkit [255178] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

Unreviewed, revert r254210 as it seems to be causing process assertion leaks.
https://bugs.webkit.org/show_bug.cgi?id=205836

  • Shared/AuxiliaryProcess.cpp:

(WebKit::AuxiliaryProcess::initializeConnection):

  • Shared/AuxiliaryProcess.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):

  • WebProcess/WebProcess.h:
2:29 PM Changeset in webkit [255177] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[iOS] legacy-animation-engine/animations/stop-animation-on-suspend.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206667

Unreviewed test gardening

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-27

  • platform/ios-wk2/TestExpectations:
2:17 PM Changeset in webkit [255176] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS ] fast/frames/sandboxed-iframe-navigation-allowed.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206680

Unreviewed test gardening

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-27

  • platform/mac-wk1/TestExpectations:
2:05 PM Changeset in webkit [255175] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION (r254699): [ iOS ] fast/forms/validationMessage.html is flaky and timing out
https://bugs.webkit.org/show_bug.cgi?id=206630

Unreviewed test gardening

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-27

  • platform/ios-wk2/TestExpectations:
2:00 PM Changeset in webkit [255174] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS WK1 ] fast/forms/textarea/textarea-state-restore.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206679

Unreviewed test gardening

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-27

  • platform/mac-wk1/TestExpectations:
1:50 PM Changeset in webkit [255173] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Remove last bits of location services rules
https://bugs.webkit.org/show_bug.cgi?id=206023
<rdar://problem/58452505>

Reviewed by Per Arne Vollan.

Remove the user preferences that were allowed by the sandbox back when location services
were used in the process.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
1:49 PM Changeset in webkit [255172] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS Release ] http/tests/security/contentSecurityPolicy/module-eval-blocked-in-external-script.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=206616

Unreviewed test gardening

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-27

  • platform/ios-wk2/TestExpectations:
1:46 PM Changeset in webkit [255171] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r250009): testair crashes in (anonymous namespace)::matchAll
<https://webkit.org/b/206797>
<rdar://problem/58893221>

Reviewed by Yusuke Suzuki.

  • b3/air/testair.cpp:

((anonymous namespace)::matchAll): Don't replace str in the
body of the for loop since match references it.

1:41 PM Changeset in webkit [255170] by Ryan Haddad
  • 4 edits in trunk/Source/WebCore

Crash in WebCore::HTMLMediaElement::detachMediaSource()
https://bugs.webkit.org/show_bug.cgi?id=206766

Patch by Peng Liu <Peng Liu> on 2020-01-27
Reviewed by Jer Noble.

Use WeakPtr<HTMLMediaElement> in MediaSource instead of a raw pointer.
In addition, we need to detach a MediaSource from an HTMLMediaElement before the HTMLMediaElement forgets the reference to the MediaSource.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::attachToElement):

  • Modules/mediasource/MediaSource.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):

1:37 PM Changeset in webkit [255169] by Ryan Haddad
  • 4 edits in trunk/Source

Unreviewed, rolling out r255159.

Broke the watchOS build.

Reverted changeset:

"Fix OpenSource iphoneos arm64e build"
https://bugs.webkit.org/show_bug.cgi?id=206703
https://trac.webkit.org/changeset/255159

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

[Mac wk2 Release] imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state.html flaky fail
https://bugs.webkit.org/show_bug.cgi?id=206746

Unreviewed test gardening

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-27

  • platform/mac-wk2/TestExpectations:
1:31 PM Changeset in webkit [255167] by Andres Gonzalez
  • 24 edits
    1 copy
    1 add in trunk/Source/WebCore

Crash in AXIsolatedObject destruction.
https://bugs.webkit.org/show_bug.cgi?id=206828

Reviewed by Chris Fleizach.

  • The previous AXCoreObject::detach method became detachRemoteParts,

since this method detaches all references to and from other objects.

  • The new AXCoreObject::detach method performs three distinctive

operations:

  1. Detaches the platform wrapper.
  2. Detaches all remote references to and from other objects.
  3. Sets the object ID to InvalidAXID.
  • The detachPlatformWrapper method allows for platform-specific

customizations.

  • Added accessibility/isolatedtree/mac/AXIsolatedobject.mm.
  • PlatformMac.cmake:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::remove):

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::detachRemoteParts):
(WebCore::AccessibilityNodeObject::detach): Became detachRemoteParts.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::detachRemoteParts):
(WebCore::AccessibilityObject::detach): Became detachRemoteParts.

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

(WebCore::AXCoreObject::detachWrapper):
(WebCore::AXCoreObject::detach):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::detachRemoteParts):
(WebCore::AccessibilityRenderObject::detach): Became detachRemoteParts.

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::detachRemoteParts):
(WebCore::AccessibilityScrollView::detach): Became detachRemoteParts.

  • accessibility/AccessibilityScrollView.h:
  • accessibility/atk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::detachPlatformWrapper):

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::detachWrapper): Deleted, no longer used in COCOA platforms.

  • accessibility/ios/AccessibilityObjectIOS.mm:

(WebCore::AccessibilityObject::detachPlatformWrapper):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::detachRemoteParts):
(WebCore::AXIsolatedObject::detach): Became detachRemoteParts.
(WebCore::AXIsolatedObject::disconnect): Replaced with AXCoreObject::detach.

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

(WebCore::AXIsolatedTree::removeTreeForPageID):
(WebCore::AXIsolatedTree::applyPendingChanges):

  • accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:

(WebCore::AXIsolatedObject::detachPlatformWrapper):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::detachWrapper): Deleted, no longer used in COCOA platforms.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::detachPlatformWrapper):

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::detachPlatformWrapper):

1:29 PM Changeset in webkit [255166] by youenn@apple.com
  • 2 edits in trunk/LayoutTests/imported/w3c

[iOS Release and Mac Release] imported/w3c/web-platform-tests/webrtc/RTCDTMFSender-ontonechange.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206683
<rdar://problem/58841339>

Reviewed by Eric Carlson.

  • web-platform-tests/webrtc/RTCDTMFSender-helper.js:

Move from async_test to promise_test to improve repeatability of the tests.

1:29 PM Changeset in webkit [255165] by Ryan Haddad
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r255161.

Broke the watchOS build.

Reverted changeset:

"Crash in WebCore::HTMLMediaElement::detachMediaSource()"
https://bugs.webkit.org/show_bug.cgi?id=206766
https://trac.webkit.org/changeset/255161

1:25 PM Changeset in webkit [255164] by Truitt Savell
  • 3 edits in trunk/LayoutTests

[ Macos iOS ] http/tests/workers/service/basic-timeout.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206834

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-27

  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
1:14 PM Changeset in webkit [255163] by Keith Rollin
  • 2 edits in trunk/Tools

Fix internal builds
https://bugs.webkit.org/show_bug.cgi?id=206790
<rdar://problem/58888951>

Reviewed by Maciej Stachowiak.

TestRunner.cpp in DumpRenderTree includes ExecutableAllocator.h. In
some circumstances, this file can include <os/thread_self_restrict.h>,
which in turn includes <machine/cpu_capabilities.h>. This latter file
does not exist at a standard location, and the build fails due to not
being able to find the file. Fix this by adding a path to it to the
build command line.

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
12:54 PM Changeset in webkit [255162] by commit-queue@webkit.org
  • 12 edits
    2 adds
    2 deletes in trunk

Support 'allow="fullscreen"' feature policy
https://bugs.webkit.org/show_bug.cgi?id=206806
<rdar://problem/55640448>

Patch by Jer Noble <jer.noble@apple.com> on 2020-01-27
Reviewed by Youenn Fablet.

Source/WebCore:

Test: http/tests/fullscreen/fullscreen-feature-policy.html

The unprefixed version of the Fullscreen API has deprecated the 'allowfullscreen' iframe
attribute in favor of the 'allow="fullscreen"' style attribute used by Feature Policy.
Add support for such, including the specified handling for the legacy 'allowfullscreen'
attribute.

Note: this patch will (intentionally) change the default behavior of <iframe>s. Previously
any <iframe> without the "allowfullscreen" attribute would not be allowed to enter fullscreen
mode. After this patch, <iframes> without the legacy attribute or an explicit fullscreen
Feature Policy will be allowed to enter fullscreen so long as their origin is the same as
the top document (and that all parent iframes are also allowed to enter fullscreen).

  • dom/FullscreenManager.cpp:

(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::isFullscreenEnabled const):
(WebCore::isAttributeOnAllOwners): Deleted.
(WebCore::FullscreenManager::fullscreenIsAllowedForElement const): Deleted.

  • dom/FullscreenManager.h:
  • html/FeaturePolicy.cpp:

(WebCore::isFeaturePolicyAllowedByDocumentAndAllOwners):
(WebCore::FeaturePolicy::parse):
(WebCore::FeaturePolicy::allows const):

  • html/FeaturePolicy.h:
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseAttribute):
(WebCore::HTMLIFrameElement::featurePolicy const):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
(WebCore::isSyncXHRAllowedByFeaturePolicy): Deleted.

LayoutTests:

  • fullscreen/full-screen-enabled-prefixed.html:
  • fullscreen/full-screen-enabled.html:
  • fullscreen/full-screen-frameset-expected.txt: Removed.
  • fullscreen/full-screen-frameset.html: Removed.
  • fullscreen/full-screen-iframe-not-allowed.html:
  • fullscreen/full-screen-restrictions.html:
  • http/tests/fullscreen/fullscreen-feature-policy-expected.txt: Added.
  • http/tests/fullscreen/fullscreen-feature-policy.html: Added.
12:29 PM Changeset in webkit [255161] by Peng Liu
  • 4 edits in trunk/Source/WebCore

Crash in WebCore::HTMLMediaElement::detachMediaSource()
https://bugs.webkit.org/show_bug.cgi?id=206766

Reviewed by Jer Noble.

Use WeakPtr<HTMLMediaElement> in MediaSource instead of a raw pointer.
In addition, we need to detach a MediaSource from an HTMLMediaElement before the HTMLMediaElement forgets the reference to the MediaSource.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::attachToElement):

  • Modules/mediasource/MediaSource.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource):

12:18 PM Changeset in webkit [255160] by rmorisset@apple.com
  • 2 edits in trunk/Tools

Tools/Scripts/set-webkit-configuration should accept --coverage/--no-coverage
https://bugs.webkit.org/show_bug.cgi?id=206833

Reviewed by Jonathan Bedard.

Just a trivial fix to the arguments validation code of the script.

  • Scripts/set-webkit-configuration:
12:07 PM Changeset in webkit [255159] by Jonathan Bedard
  • 4 edits in trunk/Source

Fix OpenSource iphoneos arm64e build
https://bugs.webkit.org/show_bug.cgi?id=206703

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • runtime/MachineContext.h:

(JSC::MachineContext::stackPointerImpl): Conditionalize function existence on
USE(DARWIN_REGISTER_MACROS).
(JSC::MachineContext::stackPointer): Use Darwin's register macros if available.
(JSC::MachineContext::setStackPointer): Ditto.
(JSC::MachineContext::instructionPointerImpl): Conditionalize function existence
on USE(DARWIN_REGISTER_MACROS).
(JSC::MachineContext::instructionPointer): Use Darwin's register macros if available.
(JSC::MachineContext::setInstructionPointer): Ditto.
(JSC::MachineContext::linkRegister): Ditto.
(JSC::MachineContext::setLinkRegister): Ditto.
(JSC::MachineContext::linkRegisterImpl): Deleted.

Source/WTF:

  • wtf/PlatformUse.h: Add USE(DARWIN_REGISTER_MACROS) check.
11:54 AM Changeset in webkit [255158] by commit-queue@webkit.org
  • 54 edits
    4 adds in trunk

Throttling requestAnimationFrame should be controlled by RenderingUpdateScheduler
https://bugs.webkit.org/show_bug.cgi?id=204713

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

Source/WebCore:

Test: fast/animation/request-animation-frame-throttling-outside-viewport.html

requestAnimationFrame is throttled by a timer although its callback are
serviced by the page RenderingUpdate. This led to excessive rAF firing
which makes it more than the preferred frame per seconds.

The solution is to have two throttling types:

1) Page throttling (or full throttling) which slows down all the steps of

RenderingUpdate for the main document and all the sub-documents.

2) Document throttling (or partial throttling) which only slows down the

rAF of a certain document.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::animationInterval const):
(WebCore::DocumentTimeline::updateThrottlingState): Deleted.

  • animation/DocumentTimeline.h:

There is no need to have DocumentTimeline throttling. It is already
throttled when the page RenderingUpdate is throttled.

  • dom/Document.cpp:

(WebCore::Document::requestAnimationFrame):
(WebCore::Document::updateLastHandledUserGestureTimestamp):
LowPowerMode throttling is now handled by the page. So remove its handling
in the Document side.

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::page const):
(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const):
(WebCore::ScriptedAnimationController::interval const):
(WebCore::ScriptedAnimationController::isThrottled const):
(WebCore::ScriptedAnimationController::isThrottledRelativeToPage const):
(WebCore::ScriptedAnimationController::shouldRescheduleRequestAnimationFrame const):
(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::cancelCallback):
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::throttlingReasonToString): Deleted.
(WebCore::throttlingReasonsToString): Deleted.
(WebCore::ScriptedAnimationController::addThrottlingReason): Deleted.
(WebCore::ScriptedAnimationController::removeThrottlingReason): Deleted.
(WebCore::ScriptedAnimationController::animationTimerFired): Deleted.

  • dom/ScriptedAnimationController.h:

(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
Get rid of the rAF throttling timer. Service the rAF callback only when
the period from the current time stamp till the last service time stamp
is greater than the preferred rAF interval .

  • page/FrameView.cpp:

(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):
ThrottlingReason is now defined outside ScriptedAnimationController.

  • page/Page.cpp:

(WebCore::Page::renderingUpdateThrottlingEnabled const):
(WebCore::Page::renderingUpdateThrottlingEnabledChanged):
(WebCore::Page::isRenderingUpdateThrottled const):

(WebCore::Page::preferredRenderingUpdateInterval const):
Calculate the preferred RenderingUpdate interval from the throttling
reasons.

(WebCore::Page::setIsVisuallyIdleInternal):
(WebCore::Page::handleLowModePowerChange):
Call adjustRenderingUpdateFrequency() when isLowPowerModeEnabled or
IsVisuallyIdle is toggled.

(WebCore::updateScriptedAnimationsThrottlingReason): Deleted.

  • page/Page.h:
  • page/RenderingUpdateScheduler.cpp:

(WebCore::RenderingUpdateScheduler::adjustFramesPerSecond):
(WebCore::RenderingUpdateScheduler::adjustRenderingUpdateFrequency):
Change the preferredFramesPerSecond of the DisplayRefreshMonitor if the
throttling is not aggressive e.g. 10_s. Otherwise use the timer.

(WebCore::RenderingUpdateScheduler::scheduleTimedRenderingUpdate):
Call adjustFramesPerSecond() when DisplayRefreshMonitor is created.

(WebCore::RenderingUpdateScheduler::startTimer):

  • page/RenderingUpdateScheduler.h:
  • page/Settings.yaml:
  • page/SettingsBase.cpp:

(WebCore::SettingsBase::renderingUpdateThrottlingEnabledChanged):

  • page/SettingsBase.h:

Add a setting to enable/disable RenderingUpdateThrottling.

  • platform/graphics/AnimationFrameRate.h: Added.

(WebCore::preferredFrameInterval):
(WebCore::preferredFramesPerSecond):

  • platform/graphics/DisplayRefreshMonitor.h:

(WebCore::DisplayRefreshMonitor::setPreferredFramesPerSecond):

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::monitorForClient):
Rename createMonitorForClient() to monitorForClient() since it may return
a cached DisplayRefreshMonitor.

(WebCore::DisplayRefreshMonitorManager::setPreferredFramesPerSecond):
(WebCore::DisplayRefreshMonitorManager::scheduleAnimation):
(WebCore::DisplayRefreshMonitorManager::windowScreenDidChange):
No need to call registerClient(). This function was just ensuring the
DisplayRefreshMonitor is created. scheduleAnimation() does the same thing.

(WebCore::DisplayRefreshMonitorManager::createMonitorForClient): Deleted.
(WebCore::DisplayRefreshMonitorManager::registerClient): Deleted.

  • platform/graphics/DisplayRefreshMonitorManager.h:

(WebCore::DisplayRefreshMonitorManager::DisplayRefreshMonitorManager): Deleted.

  • platform/graphics/GraphicsLayerUpdater.cpp:

(WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater):

  • platform/graphics/ios/DisplayRefreshMonitorIOS.mm:

(-[WebDisplayLinkHandler setPreferredFramesPerSecond:]):
Set the preferredFramesPerSecond of the CADisplayLink.

Source/WebKit:

Create an IPC message on the DrawingArea to send a message from the
WebProcess to the UIProcess to setPreferredFramesPerSecond of the
DisplayRefreshMonitor.

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

(WKPreferencesSetRenderingUpdateThrottlingEnabled):
(WKPreferencesGetRenderingUpdateThrottlingEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Add a WKPreference key for RenderingUpdateThrottlingEnabled.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(-[WKOneShotDisplayLinkHandler setPreferredFramesPerSecond:]):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setPreferredFramesPerSecond):
Set the preferredFramesPerSecond of the CADisplayLink.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:

(WebKit::RemoteLayerTreeDisplayRefreshMonitor::setPreferredFramesPerSecond):
Delegate the call to RemoteLayerTreeDrawingArea.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::setPreferredFramesPerSecond):
Send the IPC message from the WebProcess to the UIProcess.

Source/WebKitLegacy/mac:

Add a WKPreference key for RenderingUpdateThrottling.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences renderingUpdateThrottlingEnabled]):
(-[WebPreferences setRenderingUpdateThrottlingEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKitLegacy/win:

Add a WKPreference key for RenderingUpdateThrottling.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::renderingUpdateThrottlingEnabled):
(WebPreferences::setRenderingUpdateThrottlingEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:

RenderingUpdateThrottling is enabled by default. Turn it off for DRT and
WTR. In some cases, the page may not get visually active while it's
waiting for rAF. Throttling tests will have to explicitly turn it on.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • fast/animation/css-animation-throttling-lowPowerMode.html:
  • fast/animation/request-animation-frame-throttle-subframe.html:
  • fast/animation/request-animation-frame-throttling-detached-iframe.html:

Enable RenderingUpdateThrottling for these tests.

  • fast/animation/request-animation-frame-throttling-lowPowerMode-expected.txt:
  • fast/animation/request-animation-frame-throttling-lowPowerMode.html:

Ensure the actual rAF interval is > 30ms for lowPowerMode.

  • fast/animation/request-animation-frame-throttling-outside-viewport-expected.txt: Added.
  • fast/animation/request-animation-frame-throttling-outside-viewport.html: Added.
  • fast/animation/resources/frame-with-animation-2.html: Added.

Test the OutsideViewport throttling case.

  • http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html:

Enable RenderingUpdateThrottling for this test.

11:33 AM Changeset in webkit [255157] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Status bubble hover over message in case of success should indicate whether it built the patch or run tests
https://bugs.webkit.org/show_bug.cgi?id=206807

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
11:16 AM Changeset in webkit [255156] by Kate Cheney
  • 4 edits in trunk

Delete the ITP storage file that is not being used (plist or database file) when switching to a new storage type
https://bugs.webkit.org/show_bug.cgi?id=206601
<rdar://problem/58696521>

Reviewed by Alex Christensen.

Source/WebKit:

This patch also deletes the temporary files SQLite creates when
constructing a new database.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):

Tools:

This patch caused some API tests to fail which relied on the ITP files
always existing. Now the tests ensure the respective file exists when
switching between in-memory and database storage before running the tests.

  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:

(ensureITPFileIsCreated):
(TEST):

11:09 AM Changeset in webkit [255155] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Remove locationd entitlements from the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=206022
<rdar://problem/58452443>

Reviewed by Per Arne Vollan.

Now that we have removed mach connections related to 'com.apple.locationd', we should also
remove the process entitlements.

No new tests. There are no changes to behavior.

  • Scripts/process-entitlements.sh:
10:54 AM Changeset in webkit [255154] by Devin Rousso
  • 4 edits in trunk/LayoutTests

REGRESSION: [ Mac Debug WK1 ] inspector/page/overrideSetting-ICECandidateFilteringEnabled.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206362
<rdar://problem/58649476>

Reviewed by Brian Burg.

Tentative fix. Modifying the iceCandidateFilteringEnabled WebCore setting causes any
existing/pending ICE candidates to immediately fire icecandidate events. Wait to change
the setting using Page.overrideSetting until after the JavaScript has set up the various
connections so that it's guaranteed to not miss any icecandidate events. Additionally
remove the default 10s timeout in case the debug build is too slow.

  • inspector/page/overrideSetting-ICECandidateFilteringEnabled.html:
  • inspector/page/overrideSetting-ICECandidateFilteringEnabled-expected.txt:
  • platform/mac-wk1/TestExpectations:
10:39 AM Changeset in webkit [255153] by Chris Dumez
  • 3 edits in trunk/LayoutTests

REGRESSION: [Mac wk2] fast/animation/request-animation-frame.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206675
<rdar://problem/58839955>

Reviewed by Said Abou-Hallawa.

Rewrite test to stop relying on ordering between requestAnimationFrame() and setTimeout().

  • fast/animation/request-animation-frame-expected.txt:
  • fast/animation/request-animation-frame.html:
10:16 AM Changeset in webkit [255152] by Diego Pino Garcia
  • 50 edits
    40 adds in trunk/LayoutTests

[WPE] Gardening, update baselines and synchronize with GTK
https://bugs.webkit.org/show_bug.cgi?id=206826

Unreviewed gardening.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/accessibility/roles-exposed-expected.txt:
  • platform/wpe/css1/text_properties/text_indent-expected.txt:
  • platform/wpe/css2.1/t1601-c547-indent-01-d-expected.txt:
  • platform/wpe/fast/backgrounds/background-leakage-expected.txt:
  • platform/wpe/fast/backgrounds/background-leakage-transforms-expected.txt:
  • platform/wpe/fast/block/basic/fieldset-stretch-to-legend-expected.txt: Added.
  • platform/wpe/fast/block/float/intruding-painted-twice-expected.txt:
  • platform/wpe/fast/borders/mixed-border-styles-expected.txt:
  • platform/wpe/fast/borders/mixed-border-styles-radius-expected.txt:
  • platform/wpe/fast/borders/mixed-border-styles-radius2-expected.txt:
  • platform/wpe/fast/css/hsl-color-expected.txt:
  • platform/wpe/fast/css/hsla-color-expected.txt:
  • platform/wpe/fast/css/percentage-non-integer-expected.txt:
  • platform/wpe/fast/css/shadow-multiple-expected.txt:
  • platform/wpe/fast/css/viewport-units-dynamic-expected.txt:
  • platform/wpe/fast/dom/Range/getBoundingClientRect-expected.txt: Added.
  • platform/wpe/fast/loader/text-document-wrapping-expected.txt:
  • platform/wpe/fast/multicol/client-rects-expected.txt:
  • platform/wpe/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/wpe/fast/multicol/client-rects-spanners-expected.txt:
  • platform/wpe/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/wpe/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/wpe/fast/overflow/float-in-relpositioned-expected.txt:
  • platform/wpe/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/wpe/fast/ruby/select-ruby-expected.txt:
  • platform/wpe/fast/table/border-collapsing/equal-precedence-resolution-expected.txt:
  • platform/wpe/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt:
  • platform/wpe/fast/writing-mode/border-styles-vertical-lr-expected.txt:
  • platform/wpe/fast/writing-mode/english-bt-text-expected.txt:
  • platform/wpe/fast/writing-mode/text-orientation-basic-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/dom/events/Event-dispatch-redispatch-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/browsers/sandboxing/sandbox-parse-noscript-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/dom/reflection-text-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/html/editing/editing-0/autocapitalization/autocapitalize-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-generated-content-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-sans-fieldset-display-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/abspos-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/grid-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/media_fragment_seek-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads.sub.tentative-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/json-module/valid-content-type.tentative-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/integrity-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/paths-dom-01-f-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/distance/pathLength-positive-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/distance/pathLength-positive-percentage-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/distance/pathLength-zero-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/path/distance/pathLength-zero-percentage-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/reftests/pathlength-003-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/text/reftests/textpath-shape-001-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/websockets/unload-a-document/002-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/websockets/unload-a-document/004-expected.txt: Added.
  • platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/wpe/js/dom/navigator-maxtouchpoints-expected.txt: Added.
  • platform/wpe/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: Added.
  • platform/wpe/tables/mozilla/bugs/bug157890-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_nowrap-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_nowrap-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
  • platform/wpe/webgl/2.0.0/conformance2/buffers/one-large-uniform-buffer-expected.txt:
9:40 AM Changeset in webkit [255151] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Correct VTT Cue Style handling to match the specification
https://bugs.webkit.org/show_bug.cgi?id=201086
<rdar://problem/54658121>

Reviewed by Brent Fulgham.

The VTT specification requires that only data-URLs are permitted in STYLE blocks.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText const):

Fix selectorText for function version of ::cue().

  • css/parser/CSSParserContext.cpp:

(WebCore::CSSParserContext::completeURL const):

Don't allow non-data URLs in WebVTT parser mode.

  • css/parser/CSSParserContext.h:

(WebCore::CSSParserContext::completeURL const): Deleted.

  • css/parser/CSSParserMode.h:

(WebCore::isStrictParserMode):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::collectStyleSheet):
(WebCore::WebVTTParser::checkAndStoreStyleSheet):

Instead of simply validating the original stylesheet, build a new sanitized stylesheet text
from the stylesheet parsed in WebVTT mode. This sanitized stylesheet is then used as the
input for the style system.

  • html/track/WebVTTParser.h:
9:26 AM Changeset in webkit [255150] by Ryan Haddad
  • 55 edits
    4 deletes in trunk

Unreviewed, rolling out r255131.

Caused assertion failures on iOS debug bots.

Reverted changeset:

"Throttling requestAnimationFrame should be controlled by
RenderingUpdateScheduler"
https://bugs.webkit.org/show_bug.cgi?id=204713
https://trac.webkit.org/changeset/255131

8:51 AM Changeset in webkit [255149] by graouts@webkit.org
  • 14 edits
    2 copies in trunk

[Web Animations] Add support for the options parameter to getAnimations()
https://bugs.webkit.org/show_bug.cgi?id=202191
<rdar://problem/55697751>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Mark some WPT progressions. In the CSS Animations case, we are returning the expected animations but not quite sorted as expected.

  • web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animatable/getAnimations-expected.txt:

Source/WebCore:

Add support for the GetAnimationsOptions dictionary as a parameter to Animatable.getAnimations(). When it is provided
and has its sole "subtree" property set to "true", we call Document.getAnimations() and filter out animations that are
not targeting elements that are either this element, one of its descendants, one of its pseudo-elements or one of its
descendants' pseudo-elements.

  • CMakeLists.txt:
  • DerivedSources-input.xcfilelist:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • Headers.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/Animatable.idl:
  • animation/GetAnimationsOptions.h: Added.
  • animation/GetAnimationsOptions.idl: Added.
  • dom/Element.cpp:

(WebCore::Element::getAnimations):

  • dom/Element.h:
8:31 AM Changeset in webkit [255148] by Jonathan Bedard
  • 2 edits in trunk/Tools

webkitpy: Replace StringIO.StringIO in statusserver.py
https://bugs.webkit.org/show_bug.cgi?id=206825

Reviewed by Aakash Jain.

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

(StatusServer._upload_attachment_to_server): The Python 3 compatible StringIO
object cannot be referenced as StringIO.StringIO

8:28 AM Changeset in webkit [255147] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

NetworkProcessProxy: MESSAGE_CHECK identifiers sent over IPC
https://bugs.webkit.org/show_bug.cgi?id=206814
<rdar://problem/58783422>

Reviewed by David Kilzer.

MESSAGE_CHECK identifiers sent over IPC in NetworkProcessProxy class.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didFetchWebsiteData):
(WebKit::NetworkProcessProxy::didDeleteWebsiteData):
(WebKit::NetworkProcessProxy::didDeleteWebsiteDataForOrigins):

8:16 AM Changeset in webkit [255146] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore

WebCore: Remove iOS 11 macros from NetworkStorageSessionCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=206786

Reviewed by Darin Adler.

No functional changes, covered by existing tests.

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::cookiesForURL):
(WebCore::setHTTPCookiesForURL):

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

Remove internal fields in promise assertion for 32bits
https://bugs.webkit.org/show_bug.cgi?id=206823

Patch by Paulo Matos <Paulo Matos> on 2020-01-27
Reviewed by Mark Lam.

This assertion was removed for 64bits under bug 201159 but left around
in 32bits.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_internal_field):
(JSC::JIT::emit_op_put_internal_field):

7:44 AM Changeset in webkit [255144] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore

WebCore: Remove iOS 11 macros from WebItemProviderPasteboard.h
https://bugs.webkit.org/show_bug.cgi?id=206719

Reviewed by Tim Horton.

No functional changes, covered by existing tests.

  • platform/ios/WebItemProviderPasteboard.h:
7:25 AM Changeset in webkit [255143] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

[LFC][IFC] Display::Run has physical geometry only.
https://bugs.webkit.org/show_bug.cgi?id=206810
<rdar://problem/58905455>

Reviewed by Antti Koivisto.

Since in LFC the Display::Runs are used for painting and hittesting but never for layout,
the geometry is always physical.

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingSimpleLineInformationIfNeeded):
(WebCore::Layout::checkForMatchingNonTextRuns):
(WebCore::Layout::checkForMatchingTextRuns):
(WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded):

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::paintInlineContent):

  • layout/displaytree/DisplayRun.h:

(WebCore::Display::Run::rect const):
(WebCore::Display::Run::topLeft const):
(WebCore::Display::Run::left const):
(WebCore::Display::Run::right const):
(WebCore::Display::Run::top const):
(WebCore::Display::Run::bottom const):
(WebCore::Display::Run::width const):
(WebCore::Display::Run::height const):
(WebCore::Display::Run::setWidth):
(WebCore::Display::Run::setTop):
(WebCore::Display::Run::setlLeft):
(WebCore::Display::Run::moveVertically):
(WebCore::Display::Run::moveHorizontally):
(WebCore::Display::Run::expandVertically):
(WebCore::Display::Run::expandHorizontally):
(WebCore::Display::Run::Run):
(WebCore::Display::Run::logicalRect const): Deleted.
(WebCore::Display::Run::logicalTopLeft const): Deleted.
(WebCore::Display::Run::logicalLeft const): Deleted.
(WebCore::Display::Run::logicalRight const): Deleted.
(WebCore::Display::Run::logicalTop const): Deleted.
(WebCore::Display::Run::logicalBottom const): Deleted.
(WebCore::Display::Run::logicalWidth const): Deleted.
(WebCore::Display::Run::logicalHeight const): Deleted.
(WebCore::Display::Run::setLogicalWidth): Deleted.
(WebCore::Display::Run::setLogicalTop): Deleted.
(WebCore::Display::Run::setLogicalLeft): Deleted.

  • layout/integration/LayoutIntegrationLineLayout.cpp:

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

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::outputInlineRuns):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeTextBox):

  • rendering/line/LineLayoutTraversal.h:

(WebCore::LineLayoutTraversal::Box::logicalRect const): Deleted.

  • rendering/line/LineLayoutTraversalDisplayRunPath.h:

(WebCore::LineLayoutTraversal::linePosition):
(WebCore::LineLayoutTraversal::DisplayRunPath::rect const):
(WebCore::LineLayoutTraversal::DisplayRunPath::logicalRect const): Deleted.

6:14 AM Changeset in webkit [255142] by cathiechen
  • 2 edits in trunk/Source/WebKitLegacy/mac

The value of AspectRatioOfImgFromWidthAndHeight for legacy mac isn't correct
https://bugs.webkit.org/show_bug.cgi?id=206822

Reviewed by Frédéric Wang.

The value should be WebKitAspectRatioOfImgFromWidthAndHeightEnabled

  • WebView/WebPreferenceKeysPrivate.h:
4:01 AM Changeset in webkit [255141] by graouts@webkit.org
  • 7 edits in trunk

[Web Animations] Update all DocumentTimeline objects when updating animations
https://bugs.webkit.org/show_bug.cgi?id=206819

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Mark a single new WPT progression.

  • web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt:

Source/WebCore:

Developers can create additional DocumentTimeline objects in JavaScript using that class's constructor, and an animation can be
assigned to that timeline after its creation. Until now we would only update an timeline created by a Document when that document's
animations were updated. Now we keep track of all DocumentTimeline objects that are created for a given Document as a vector of weak
references, and we update all of them when updating a document's animations.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::DocumentTimeline):
(WebCore::DocumentTimeline::~DocumentTimeline):

  • animation/DocumentTimeline.h:
  • dom/Document.cpp:

(WebCore::Document::updateAnimationsAndSendEvents):
(WebCore::Document::addTimeline):
(WebCore::Document::removeTimeline):

  • dom/Document.h:
3:20 AM Changeset in webkit [255140] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

[Mac wk2 Release] fast/dom/frame-src-javascript-url-async.html flaky failing
https://bugs.webkit.org/show_bug.cgi?id=206701
<rdar://problem/58847864>

Reviewed by Antoine Quint.

  • fast/dom/frame-src-javascript-url-async.html:

The test assumed that in

<iframe src=javascript:'foo'></iframe>
<script>

the frame javascript could not have run before the body script executes. However parser might yield before the
script tag or data might come from network in chunks that don't cover the full script. In this case frame load
may start and src execute before the body script runs.

Fix by document.writing the iframe tag.

1:18 AM BuildingGtk edited by vjaquez@igalia.com
recommend to export JHBUILD_WIPE_ON_CHANGE (diff)
12:54 AM Changeset in webkit [255139] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Make getVTablePointer() an inline function to be compliant with WebKit style guidelines.
https://bugs.webkit.org/show_bug.cgi?id=206816

Reviewed by Darin Adler.

Convert getVTablePointer() from a macro into an inline template function. This
makes the naming compliant with WebKit style guidelines.

  • wtf/PointerPreparations.h:

(WTF::getVTablePointer):

12:10 AM Changeset in webkit [255138] by commit-queue@webkit.org
  • 9 edits in trunk/LayoutTests/imported/w3c

Re-sync web-platform-tests/fetch/api/policies from upstream
https://bugs.webkit.org/show_bug.cgi?id=206574

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

  • web-platform-tests/fetch/api/policies/referrer-no-referrer-service-worker.https.html:
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker-expected.txt:
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html:
  • web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.js:
  • web-platform-tests/fetch/api/policies/referrer-origin.js:

(promise_test):

  • web-platform-tests/fetch/api/policies/referrer-unsafe-url-service-worker.https.html:

Jan 26, 2020:

10:30 PM Changeset in webkit [255137] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

[WinCairo][curl] ASSERTION FAILED: sessionID != PAL::SessionID::defaultSessionID() in NetworkProcess since r255067
https://bugs.webkit.org/show_bug.cgi?id=206817

Reviewed by Darin Adler.

Since r255067 (Bug 206700), the assertion is failing in
NetworkProcess::destroySession while shutdown, which is ensuring
the destructing session isn't the default session.

Covered by existing tests.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::destroySession): Conditioned out the
assertion for curl port as well as Soup port does.

10:27 PM Changeset in webkit [255136] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Move DOMCacheEngine::errorToException back out of header and into .cpp file
https://bugs.webkit.org/show_bug.cgi?id=206815

Reviewed by Mark Lam.

This is a follow-up to a recent build fix that moved a function, errorToException,
out of a .cpp file and into a header file. This reverses that since we don't need
this function to be inlined.

  • Modules/cache/DOMCacheEngine.cpp:

(WebCore::DOMCacheEngine::convertToException): Moved this function from the header
and renamed it from errorToException to match the other function more closely. Also
use the pattern where the switch statement has no default, so we get a warning if
we don't cover all the enum values.
(WebCore::DOMCacheEngine::convertToExceptionAndLog): Updated for new function name.

  • Modules/cache/DOMCacheEngine.h: Removed the definition of errorToException and

replaced it with the declaration of it under its new name, convertToException.

  • Modules/cache/DOMCacheStorage.cpp:

(WebCore::DOMCacheStorage::retrieveCaches): Updated for new function name.

8:38 PM Changeset in webkit [255135] by Chris Dumez
  • 11 edits
    1 copy in trunk/Source/WebKit

Frequent sync BackForwardBackListCount/BackForwardForwardListCount IPC on reddit.com
https://bugs.webkit.org/show_bug.cgi?id=206438

Reviewed by Darin Adler.

Frequent sync BackForwardBackListCount/BackForwardForwardListCount IPC on reddit.com. When scrolling on reddit.com,
you frequently see 2 consecutive sync IPCs (WebPageProxy::BackForwardBackListCount then WebPageProxy::BackForwardForwardListCount)
from the WebContent process to the UIProcess. Those are bad for performance. This happens every time the script on the page accesses
history.length, which is unfortunate, since this history length rarely changes.

To address the issue, the following changes were made:

  1. Merge BackForwardBackListCount / BackForwardForwardListCount IPCs into a single BackForwardListCounts IPC which returns both the back & forward counts, since we often need both (e.g. when accessing history.length) and since gettings those counts is very cheap compared to the cost of a sync IPC.
  2. Cache those counts in WebBackForwardListProxy and blow away the cached counts whenever the back/forward list changes. In the common case (where the back/forward list rarely changes), we now see a single sync IPC instead of many (verified on reddit.com).

No new tests, merely a performance improvement.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebBackForwardListProxy.cpp:

(WebKit::WebBackForwardListProxy::addItemFromUIProcess):
(WebKit::WebBackForwardListProxy::addItem):
(WebKit::WebBackForwardListProxy::goToItem):
(WebKit::WebBackForwardListProxy::backListCount const):
(WebKit::WebBackForwardListProxy::forwardListCount const):
(WebKit::WebBackForwardListProxy::cacheListCountsIfNecessary const):
(WebKit::WebBackForwardListProxy::clearCachedListCounts):
(WebKit::WebBackForwardListProxy::close):
(WebKit::WebBackForwardListProxy::clear):

  • WebProcess/WebPage/WebBackForwardListProxy.h:
3:28 PM Changeset in webkit [255134] by Alexey Shvayka
  • 6 edits in trunk

Invalid ranges in character classes should be banned in unicode patterns
https://bugs.webkit.org/show_bug.cgi?id=206768

Reviewed by Darin Adler.

JSTests:

  • test262/expectations.yaml: Mark 18 test cases as passing.

Source/JavaScriptCore:

In ES5, grammar of CharacterRange was ambiguous, resulting in invalid ranges
like /[\d-a]/ being allowed. As of ES2015, invalid ranges are SyntaxError in
unicode patterns, yet still allowed in regular ones to avoid breaking the web.
(https://tc39.es/ecma262/#sec-patterns-static-semantics-early-errors-annexb)

This change adds SyntaxError for unicode patterns and updates explanatory
comments. ErrorCode::CharacterClassOutOfOrder is renamed for consistency
with newly added error code and ErrorCode::ParenthesesTypeInvalid.

  • yarr/YarrErrorCode.cpp:

(JSC::Yarr::errorMessage):
(JSC::Yarr::errorToThrow):

  • yarr/YarrErrorCode.h:
  • yarr/YarrParser.h:

(JSC::Yarr::Parser::CharacterClassParserDelegate::CharacterClassParserDelegate):
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter):
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass):
(JSC::Yarr::Parser::parseCharacterClass):

2:47 PM Changeset in webkit [255133] by youenn@apple.com
  • 10 edits
    1 add in trunk/Source

Use ObjectIdentifier for remote RealtimeMediaSource
https://bugs.webkit.org/show_bug.cgi?id=206808
<rdar://problem/58705405>

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/RealtimeMediaSourceIdentifier.h: Added.

Source/WebKit:

Use ObjectIdentifier instead of uint64_t.
This is clearer and prevents receiving identifier of value zero from IPC.
Remove related message checks.

  • Scripts/webkit/messages.py:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::SourceProxy::SourceProxy):
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
(WebKit::UserMediaCaptureManagerProxy::startProducingData):
(WebKit::UserMediaCaptureManagerProxy::stopProducingData):
(WebKit::UserMediaCaptureManagerProxy::end):
(WebKit::UserMediaCaptureManagerProxy::capabilities):
(WebKit::UserMediaCaptureManagerProxy::setMuted):
(WebKit::UserMediaCaptureManagerProxy::applyConstraints):
(WebKit::UserMediaCaptureManagerProxy::clone):
(WebKit::UserMediaCaptureManagerProxy::requestToEnd):

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::Source::Source):
(WebKit::UserMediaCaptureManager::Source::sourceID const):
(WebKit::UserMediaCaptureManager::createCaptureSource):
(WebKit::UserMediaCaptureManager::sourceStopped):
(WebKit::UserMediaCaptureManager::captureFailed):
(WebKit::UserMediaCaptureManager::sourceMutedChanged):
(WebKit::UserMediaCaptureManager::sourceSettingsChanged):
(WebKit::UserMediaCaptureManager::storageChanged):
(WebKit::UserMediaCaptureManager::ringBufferFrameBoundsChanged):
(WebKit::UserMediaCaptureManager::audioSamplesAvailable):
(WebKit::UserMediaCaptureManager::remoteVideoSampleAvailable):
(WebKit::UserMediaCaptureManager::sourceEnded):
(WebKit::UserMediaCaptureManager::applyConstraintsSucceeded):
(WebKit::UserMediaCaptureManager::applyConstraintsFailed):
(WebKit::UserMediaCaptureManager::cloneVideoSource):

  • WebProcess/cocoa/UserMediaCaptureManager.h:
  • WebProcess/cocoa/UserMediaCaptureManager.messages.in:
2:15 PM Changeset in webkit [255132] by Darin Adler
  • 4 edits in trunk/Source/WebKit

Protect against crashes during WKWebView init function when methods are called before the view is fully initialized
https://bugs.webkit.org/show_bug.cgi?id=206799
rdar://problem/58871371

Reviewed by Sam Weinig.

Part way through creating WKWebView, some methods can be called and they need to be careful
not to use anything that may not be initialized yet.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView dealloc]): Check _page for null, since this might happen if the superclass's
init method returned nil.

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _frameOrBoundsChanged]): Check _page for null, since this might be called
before object initialization is complete.
(-[WKWebView setSemanticContentAttribute:]): Ditto.

  • UIProcess/API/mac/WKWebViewMac.mm:

(-[WKWebView setFrameSize:]): Check _impl for null since this might be called before
oject initialization is complete.
(-[WKWebView setUserInterfaceLayoutDirection:]): Ditto.
(-[WKWebView renewGState]): Ditto.

1:35 PM Changeset in webkit [255131] by commit-queue@webkit.org
  • 55 edits
    4 adds in trunk

Throttling requestAnimationFrame should be controlled by RenderingUpdateScheduler
https://bugs.webkit.org/show_bug.cgi?id=204713

Patch by Said Abou-Hallawa <Said Abou-Hallawa> on 2020-01-26
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/animation/request-animation-frame-throttling-outside-viewport.html

requestAnimationFrame is throttled by a timer although its callback are
serviced by the page RenderingUpdate. This led to excessive rAF firing
which makes it more than the preferred frame per seconds.

The solution is to have two throttling types:

1) Page throttling (or full throttling) which slows down all the steps of

RenderingUpdate for the main document and all the sub-documents.

2) Document throttling (or partial throttling) which only slows down the

rAF of a certain document.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::animationInterval const):
(WebCore::DocumentTimeline::updateThrottlingState): Deleted.

  • animation/DocumentTimeline.h:

There is no need to have DocumentTimeline throttling. It is already
throttled when the page RenderingUpdate is throttled.

  • dom/Document.cpp:

(WebCore::Document::requestAnimationFrame):
(WebCore::Document::updateLastHandledUserGestureTimestamp):
LowPowerMode throttling is now handled by the page. So remove its handling
in the Document side.

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::page const):
(WebCore::ScriptedAnimationController::preferredScriptedAnimationInterval const):
(WebCore::ScriptedAnimationController::interval const):
(WebCore::ScriptedAnimationController::isThrottled const):
(WebCore::ScriptedAnimationController::isThrottledRelativeToPage const):
(WebCore::ScriptedAnimationController::shouldRescheduleRequestAnimationFrame const):
(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::cancelCallback):
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::throttlingReasonToString): Deleted.
(WebCore::throttlingReasonsToString): Deleted.
(WebCore::ScriptedAnimationController::addThrottlingReason): Deleted.
(WebCore::ScriptedAnimationController::removeThrottlingReason): Deleted.
(WebCore::ScriptedAnimationController::animationTimerFired): Deleted.

  • dom/ScriptedAnimationController.h:

(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
Get rid of the rAF throttling timer. Service the rAF callback only when
the period from the current time stamp till the last service time stamp
is greater than the preferred rAF interval .

  • page/FrameView.cpp:

(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):
ThrottlingReason is now defined outside ScriptedAnimationController.

  • page/Page.cpp:

(WebCore::Page::renderingUpdateThrottlingEnabled const):
(WebCore::Page::renderingUpdateThrottlingEnabledChanged):
(WebCore::Page::isRenderingUpdateThrottled const):

(WebCore::Page::preferredRenderingUpdateInterval const):
Calculate the preferred RenderingUpdate interval from the throttling
reasons.

(WebCore::Page::setIsVisuallyIdleInternal):
(WebCore::Page::handleLowModePowerChange):
Call adjustRenderingUpdateFrequency() when isLowPowerModeEnabled or
IsVisuallyIdle is toggled.

(WebCore::updateScriptedAnimationsThrottlingReason): Deleted.

  • page/Page.h:
  • page/RenderingUpdateScheduler.cpp:

(WebCore::RenderingUpdateScheduler::adjustFramesPerSecond):
(WebCore::RenderingUpdateScheduler::adjustRenderingUpdateFrequency):
Change the preferredFramesPerSecond of the DisplayRefreshMonitor if the
throttling is not aggressive e.g. 10_s. Otherwise use the timer.

(WebCore::RenderingUpdateScheduler::scheduleTimedRenderingUpdate):
Call adjustFramesPerSecond() when DisplayRefreshMonitor is created.

(WebCore::RenderingUpdateScheduler::startTimer):

  • page/RenderingUpdateScheduler.h:
  • page/Settings.yaml:
  • page/SettingsBase.cpp:

(WebCore::SettingsBase::renderingUpdateThrottlingEnabledChanged):

  • page/SettingsBase.h:

Add a setting to enable/disable RenderingUpdateThrottling.

  • platform/graphics/AnimationFrameRate.h: Added.

(WebCore::preferredFrameInterval):
(WebCore::preferredFramesPerSecond):

  • platform/graphics/DisplayRefreshMonitor.h:

(WebCore::DisplayRefreshMonitor::setPreferredFramesPerSecond):

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::monitorForClient):
Rename createMonitorForClient() to monitorForClient() since it may return
a cached DisplayRefreshMonitor.

(WebCore::DisplayRefreshMonitorManager::setPreferredFramesPerSecond):
(WebCore::DisplayRefreshMonitorManager::scheduleAnimation):
(WebCore::DisplayRefreshMonitorManager::windowScreenDidChange):
No need to call registerClient(). This function was just ensuring the
DisplayRefreshMonitor is created. scheduleAnimation() does the same thing.

(WebCore::DisplayRefreshMonitorManager::createMonitorForClient): Deleted.
(WebCore::DisplayRefreshMonitorManager::registerClient): Deleted.

  • platform/graphics/DisplayRefreshMonitorManager.h:

(WebCore::DisplayRefreshMonitorManager::DisplayRefreshMonitorManager): Deleted.

  • platform/graphics/GraphicsLayerUpdater.cpp:

(WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater):

  • platform/graphics/ios/DisplayRefreshMonitorIOS.mm:

(-[WebDisplayLinkHandler setPreferredFramesPerSecond:]):
Set the preferredFramesPerSecond of the CADisplayLink.

  • platform/ios/LowPowerModeNotifierIOS.mm:

(-[WebLowPowerModeObserver initWithNotifier:]):
Set the initial state of the low power mode.

Source/WebKit:

Create an IPC message on the DrawingArea to send a message from the
WebProcess to the UIProcess to setPreferredFramesPerSecond of the
DisplayRefreshMonitor.

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

(WKPreferencesSetRenderingUpdateThrottlingEnabled):
(WKPreferencesGetRenderingUpdateThrottlingEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Add a WKPreference key for RenderingUpdateThrottlingEnabled.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:

(-[WKOneShotDisplayLinkHandler setPreferredFramesPerSecond:]):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setPreferredFramesPerSecond):
Set the preferredFramesPerSecond of the CADisplayLink.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm:

(WebKit::RemoteLayerTreeDisplayRefreshMonitor::setPreferredFramesPerSecond):
Delegate the call to RemoteLayerTreeDrawingArea.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::setPreferredFramesPerSecond):
Send the IPC message from the WebProcess to the UIProcess.

Source/WebKitLegacy/mac:

Add a WKPreference key for RenderingUpdateThrottling.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences renderingUpdateThrottlingEnabled]):
(-[WebPreferences setRenderingUpdateThrottlingEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKitLegacy/win:

Add a WKPreference key for RenderingUpdateThrottling.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::renderingUpdateThrottlingEnabled):
(WebPreferences::setRenderingUpdateThrottlingEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:

RenderingUpdateThrottling is enabled by default. Turn it off for DRT and
WTR. In some cases, the page may not get visually active while it's
waiting for rAF. Throttling tests will have to explicitly turn it on.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • fast/animation/css-animation-throttling-lowPowerMode.html:
  • fast/animation/request-animation-frame-throttle-subframe.html:
  • fast/animation/request-animation-frame-throttling-detached-iframe.html:

Enable RenderingUpdateThrottling for these tests.

  • fast/animation/request-animation-frame-throttling-lowPowerMode-expected.txt:
  • fast/animation/request-animation-frame-throttling-lowPowerMode.html:

Ensure the actual rAF interval is > 30ms for lowPowerMode.

  • fast/animation/request-animation-frame-throttling-outside-viewport-expected.txt: Added.
  • fast/animation/request-animation-frame-throttling-outside-viewport.html: Added.
  • fast/animation/resources/frame-with-animation-2.html: Added.

Test the OutsideViewport throttling case.

  • http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html:

Enable RenderingUpdateThrottling for this test.

1:11 PM Changeset in webkit [255130] by eric.carlson@apple.com
  • 2 edits
    1 add in trunk/LayoutTests

media/modern-media-controls/media-controller/media-controller-auto-hide.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=206629
<rdar://problem/58816827>

Reviewed by Dean Jackson.

Attempt to de-flake this test by decreasing the controller auto-hide interval and
using a base64 encoded video file to make it load and finish more quickly.

  • media/content/test.mp4.js: Added.

(base64MP4URL): Base64 encoded five frame, four second long MPEG-4 video.

  • media/modern-media-controls/media-controller/media-controller-auto-hide.html:
4:17 AM Changeset in webkit [255129] by commit-queue@webkit.org
  • 5 edits in trunk

Improve compatibility with hyperlink auditing spec
https://bugs.webkit.org/show_bug.cgi?id=188852

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-26
Reviewed by Youenn Fablet.

Source/WebCore:

The hyperlink auditing algorithm indicates the fetch should be done
using no-referrer [1], so remove the code to set the referrer HTTP
header.

Tests: http/tests/navigation/ping-attribute/anchor-cross-origin.html

http/tests/navigation/ping-attribute/area-cross-origin.html

[1] https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing (Step 3)

  • loader/PingLoader.cpp:

(WebCore::PingLoader::sendPing):

LayoutTests:

Update improved test results.

  • http/tests/navigation/ping-attribute/anchor-cross-origin-expected.txt:
  • http/tests/navigation/ping-attribute/area-cross-origin-expected.txt:

Jan 25, 2020:

10:33 PM Changeset in webkit [255128] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Tighten up some of the drag state machine logic
https://bugs.webkit.org/show_bug.cgi?id=206798

Reviewed by Wenson Hsieh.

  • page/EventHandler.h: Added shouldDispatchEventsToDragSourceElement function and renamed

the existing dispatchDragSrcEvent function to dispatchEventToDragSourceElement.

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateDragAndDrop): Call the renamed dispatchEventToDragSourceElement
unconditionally, since it now has the smarts to only dispatch an event when we are supposed to.
(WebCore::EventHandler::cancelDragAndDrop): Ditto.
(WebCore::EventHandler::dragSourceEndedAt): Call the new shouldDispatchEventsToDragSourceElement
function because of the null check it does for dataTransfer, before calling setDestinationOperation
on the dataTransfer, since there isn't an obvious ironclad guarantee we might be here without an
actual drag fully in process and a dataTransfer object allocated. Also call the renamed
dispatchEventToDragSourceElement by its new name.
(WebCore::EventHandler::shouldDispatchDragSourceEvents): Added. Checks thre three conditions that
affect whether we should dispatch events to the drag source. First that there is a drag source.
Second that there is a dataTransfer object, indicating that we got far enough in the logic to
actually start a drag. Third that shouldDispatchEvents is true, indicating this is the type of
drag that should be visible to the website content and so events should be dispatched.
(WebCore::EventHandler::dispatchEventToDragSourceElement): Call shouldDispatchDragSourceEvents
before dispatching the event, so that callers don't all have to do that check.

9:43 PM Changeset in webkit [255127] by beidson@apple.com
  • 20 edits in trunk/Source

Make ContentWorlds be identified by an ObjectIdentifier instead of a uint64_t
https://bugs.webkit.org/show_bug.cgi?id=206784

Reviewed by Alex Christensen.

Source/WebKit:

Refactor: No behavior change.

  • Scripts/webkit/messages.py:
  • Shared/AuxiliaryProcess.cpp:

(WebKit::AuxiliaryProcess::initialize):

  • Shared/ContentWorldShared.h:

(WebKit::pageContentWorldIdentifier):

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebUserContentControllerDataTypes.cpp:

(WebKit::WebUserScriptData::decode):
(WebKit::WebUserStyleSheetData::decode):
(WebKit::WebScriptMessageHandlerData::decode):

  • Shared/WebUserContentControllerDataTypes.h:
  • UIProcess/API/APIContentWorld.cpp:

(API::ContentWorld::pageContentWorld):
(API::ContentWorld::defaultClientWorld):
(API::ContentWorld::ContentWorld):
(API::ContentWorldBase::generateIdentifier): Deleted.

  • UIProcess/API/APIContentWorld.h:

(API::ContentWorldBase::identifier const):
(API::ContentWorldBase::worldData const):
(API::ContentWorldBase::ContentWorldBase):

  • UIProcess/API/APIUserContentWorld.cpp:

(API::UserContentWorld::UserContentWorld):

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::removeUserContentWorldUses):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::worldMap):
(WebKit::WebUserContentController::worldForIdentifier):
(WebKit::WebUserContentController::addUserContentWorld):
(WebKit::WebUserContentController::addUserContentWorlds):
(WebKit::WebUserContentController::removeUserContentWorlds):
(WebKit::WebUserContentController::addUserScripts):
(WebKit::WebUserContentController::removeUserScript):
(WebKit::WebUserContentController::removeAllUserScripts):
(WebKit::WebUserContentController::addUserStyleSheets):
(WebKit::WebUserContentController::removeUserStyleSheet):
(WebKit::WebUserContentController::removeAllUserStyleSheets):
(WebKit::WebUserContentController::addUserScriptMessageHandlers):
(WebKit::WebUserContentController::removeUserScriptMessageHandler):
(WebKit::WebUserContentController::removeAllUserScriptMessageHandlers):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::runJavaScriptInMainFrameScriptWorld):
(WebKit::WebPage::runJavaScriptInFrame):

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

Source/WTF:

  • wtf/ObjectIdentifier.h:

(WTF::ObjectIdentifier::generate):
(WTF::ObjectIdentifier::generateThreadSafe):
(WTF::ObjectIdentifier::enableGenerationProtection): To allow restricting generating an identifier to the UIProcess.

2:34 PM Changeset in webkit [255126] by mark.lam@apple.com
  • 62 edits in trunk/Source

Introduce a getVTablePointer() utility function.
https://bugs.webkit.org/show_bug.cgi?id=206804
<rdar://problem/58872290>

Reviewed by Yusuke Suzuki and Oliver Hunt.

Source/WebCore:

Updated CodeGeneratorJS to use getVTablePointer() and rebased test results.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

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

(WebCore::toJSNewlyCreated):

Source/WTF:

With getVTablePointer(), we can abstract away how we get a vtable function pointer
without assuming the way it is signed for ARM64E. With this, we can remove the
WTF_PREPARE_VTBL_POINTER_FOR_INSPECTION macro which assumes how a vtable function
pointer is signed.

  • wtf/PointerPreparations.h:
12:13 PM Changeset in webkit [255125] by mark.lam@apple.com
  • 4 edits in trunk

Add some tests for dynamically allocated StaticStringImpls.
https://bugs.webkit.org/show_bug.cgi?id=206802

Reviewed by Darin Adler.

Source/WTF:

Removed some unnecessary explicit specialization of the charactersAreAllASCII()
template function.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createFromLiteral):
(WTF::StringImpl::createStaticStringImpl):

Tools:

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::doStaticStringImplTests):
(TestWebKitAPI::TEST):

12:07 PM Changeset in webkit [255124] by Darin Adler
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac WK2 ] animations/suspend-resume-animation-events.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206615

Reviewed by Alexey Proskuryakov.

  • animations/suspend-resume-animation-events.html: Make test slightly less timing

dependent.

12:02 PM Changeset in webkit [255123] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

webkit-patch upload should not submit automatically to old EWS
https://bugs.webkit.org/show_bug.cgi?id=206801

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/commands/upload_unittest.py:
  • Scripts/webkitpy/tool/steps/submittoews.py:
11:14 AM Changeset in webkit [255122] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Regression (r255103): media/modern-media-controls/placard-support/placard-support-airplay-fullscreen-no-controls.html
https://bugs.webkit.org/show_bug.cgi?id=206800

Unreviewed test gardening; the test which this was copied from, placard-support-airplay-fullscreen.html, is skipped on
iOS test bots due to a lack of AirPlay test support.

Patch by Jer Noble <jer.noble@apple.com> on 2020-01-25

  • platform/ios/TestExpectations:
9:12 AM Changeset in webkit [255121] by Diego Pino Garcia
  • 5 edits in trunk/LayoutTests

[GTK] Gardening of media related tests
https://bugs.webkit.org/show_bug.cgi?id=206796

Unreviewed gardening.

  • platform/gtk/TestExpectations:
  • platform/gtk/media/audio-repaint-expected.txt:
  • platform/gtk/media/controls-styling-strict-expected.txt:
  • platform/gtk/media/media-controls-play-button-updates-expected.txt:
9:03 AM Changeset in webkit [255120] by mark.lam@apple.com
  • 15 edits in trunk/Source

Move singleton Intl string locales out of JSGlobalObject.
https://bugs.webkit.org/show_bug.cgi?id=206791
<rdar://problem/58889037>

Source/JavaScriptCore:

Reviewed by Yusuke Suzuki and Andy Wagoner.

We were creating an instance of these for each JSGlobalObject when they can be a
global singleton since they are always initialized with the same intl data
(barring a mid-flight change in intl settings, which we don't support even in the
existing code).

It turns out that intlPluralRulesAvailableLocales() wasn't called anywhere.
IntlPluralRules code currently just uses intlNumberFormatAvailableLocales().
To document that this is intentional, we do the following:

  1. have IntlPluralRules code call intlPluralRulesAvailableLocales(), and
  2. have intlPluralRulesAvailableLocales() call intlNumberFormatAvailableLocales() for its implementation.

See https://bugs.webkit.org/show_bug.cgi?id=206791#c7 and
https://bugs.webkit.org/show_bug.cgi?id=206791#c8.

In addMissingScriptLocales(), I'm deliberately naming the string with underscores
because it's much easier to read pa_PK_String and see that it refers to "pa-PK"
as opposed to paPKString. Ditto for zh_CN_String, zh_HK_String, zh_SG_String,
and zh_TW_String.

  • runtime/IntlCollator.cpp:

(JSC::IntlCollator::initializeCollator):

  • runtime/IntlCollatorConstructor.cpp:

(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::initializeDateTimeFormat):

  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::initializeNumberFormat):

  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):

  • runtime/IntlObject.cpp:

(JSC::convertICULocaleToBCP47LanguageTag):
(JSC::addMissingScriptLocales):
(JSC::intlCollatorAvailableLocales):
(JSC::intlDateTimeFormatAvailableLocales):
(JSC::intlNumberFormatAvailableLocales):
(JSC::defaultLocale):

  • runtime/IntlObject.h:
  • runtime/IntlPluralRules.cpp:

(JSC::IntlPluralRules::initializePluralRules):

  • runtime/IntlPluralRulesConstructor.cpp:

(JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf):

  • runtime/JSGlobalObject.cpp:

(JSC::addMissingScriptLocales): Deleted.
(JSC::JSGlobalObject::intlCollatorAvailableLocales): Deleted.
(JSC::JSGlobalObject::intlDateTimeFormatAvailableLocales): Deleted.
(JSC::JSGlobalObject::intlNumberFormatAvailableLocales): Deleted.
(JSC::JSGlobalObject::intlPluralRulesAvailableLocales): Deleted.

  • runtime/JSGlobalObject.h:

Source/WTF:

Reviewed by Yusuke Suzuki.

Fix a bug in StringImpl::createStaticStringImpl(): I forgot to set its hash value
when I introduced it. StaticStringImpls require that its hash code be set ahead
of time, and cannot be mutated at runtime. See the comment in the definition of
StaticStringImpl in StringImpl.h.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createStaticStringImpl):

8:51 AM Changeset in webkit [255119] by pvollan@apple.com
  • 13 edits
    1 add in trunk

[Cocoa] Media mime types map should be created in the UI process
https://bugs.webkit.org/show_bug.cgi?id=206478

Reviewed by Darin Adler.

Source/WebCore:

Creating this map in the WebContent process will access the launch services daemon, which will be blocked.
This patch creates the map in the UI process and sends it to the WebContent process as part of the WebProcess
creation parameters.

API test: WebKit.MimeTypes

  • platform/MIMETypeRegistry.cpp:

(WebCore::overriddenMimeTypesMap):
(WebCore::commonMediaTypes):
(WebCore::commonMimeTypesMap):
(WebCore::typesForCommonExtension):

  • platform/MIMETypeRegistry.h:
  • testing/Internals.cpp:

(WebCore::Internals::mediaMIMETypeForExtension):

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

Source/WebKit:

Send the mime type map from the UI process to the WebContent process as part of the
WebProcess creation parameters.

  • Shared/WebProcessCreationParameters.cpp:

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

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

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/MimeTypes.mm: Added.

(TEST):

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

[LFC][IFC] Layout logic should be driven by the type of the inline box
https://bugs.webkit.org/show_bug.cgi?id=206792
<rdar://problem/58889080>

Reviewed by Antti Koivisto.

Use the type of the inline box to decide what layout functions to call and not whether the
box has children or it establishes a formatting context.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::nextInPreOrder):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):

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

(WebCore::Layout::LineBuilder::isVisuallyNonEmpty const):

6:16 AM Changeset in webkit [255117] by Antti Koivisto
  • 16 edits in trunk

[LFC][Integration] Re-enable line layout integration
https://bugs.webkit.org/show_bug.cgi?id=206795
<rdar://problem/58853907>

Reviewed by Zalan Bujtas.

Source/WebCore:

  • page/RuntimeEnabledFeatures.h:

Source/WebKit:

  • Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

Tools:

  • DumpRenderTree/TestOptions.h:

LayoutTests:

  • fast/dom/Range/getBoundingClientRect-expected.txt:
  • platform/ios/fast/text/hyphenate-limit-lines-expected.txt:
  • platform/ios/fast/text/whitespace/pre-break-word-expected.txt:
  • platform/ios/fast/text/word-break-expected.txt:
  • platform/mac/fast/text/hyphenate-limit-lines-expected.txt:
  • platform/mac/fast/text/whitespace/pre-break-word-expected.txt:
  • platform/mac/fast/text/word-break-expected.txt:
6:14 AM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
4:27 AM Changeset in webkit [255116] by youenn@apple.com
  • 12 edits in trunk

HTMLMediaElement should not remove the media session at DOM suspension time
https://bugs.webkit.org/show_bug.cgi?id=206661
<rdar://problem/58800787>

Source/WebCore:

Reviewed by Eric Carlson.

https://trac.webkit.org/changeset/233560 made it so that, on HTMLMediaElement suspension,
its media session is stopped.
This was done to ensure updateNowPlayingInfo is not called synchronously but asynchronously.
The issue is that, once the media session is stopped, it is removed from the media session vector.
On updating the ready state after suspension, and playing, we try to look into the media session vector and do not find the session.
This triggers the ASSERT.

Partially revert the behavior by calling the same code as clientWillPausePlayback
but make sure updateNowPlayingInfo is calling asynchronously when suspending the media element.
Introduce clientWillBeDOMSuspended for that purpose.

Update mediaPlayerReadyStateChanged to enqueue a task to do the update if the media element is suspended.

Covered by test no longer crashing in debug.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer):

  • platform/audio/PlatformMediaSession.cpp:

(WebCore::PlatformMediaSession::processClientWillPausePlayback):
(WebCore::PlatformMediaSession::clientWillPausePlayback):
(WebCore::PlatformMediaSession::clientWillBeDOMSuspended):

  • platform/audio/PlatformMediaSession.h:
  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::sessionWillEndPlayback):

  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.h:
  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(MediaSessionManagerCocoa::sessionWillEndPlayback):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::sessionWillEndPlayback):

Tools:

Reviewed by Eric Carlson.

  • TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:

(TestWebKitAPI::TEST):
Suspend/resume Active DOM Objects from time to time as would do scrolling.
This allows pending tasks to be executed asynchronously when not scrolling.

Jan 24, 2020:

8:24 PM Changeset in webkit [255115] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS] REGRESSION(r254699) : fast/forms/interactive-validation-remove-node-in-handler.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=206669

Reviewed by Wenson Hsieh.

The timeout was caused by the invalidation bubble in interactive-validation-prevented.html never getting closed.
Address the issue by explicitly dismissing the invalidation bubble by setting a value to the input element.

  • fast/forms/interactive-validation-prevented.html:
6:09 PM Changeset in webkit [255114] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

macCatalyst: Don't get any custom cursors in subframes
https://bugs.webkit.org/show_bug.cgi?id=206781
<rdar://problem/58698374>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::positionInformation):
Adjust the hit test to allow child frame content, and reorganize the
rest of the code to use the hit frame instead of the main frame.

5:37 PM Changeset in webkit [255113] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Null Ptr Deref READ @ WebCore::RenderMultiColumnFlow::lastMultiColumnSet const
https://bugs.webkit.org/show_bug.cgi?id=206106

Patch by Jack Lee <Jack Lee> on 2020-01-24
Reviewed by Ryosuke Niwa.

Could not write a reproducible fast test case for this.

  • rendering/RenderMultiColumnFlow.cpp:

(WebCore::RenderMultiColumnFlow::lastMultiColumnSet const):

  • rendering/updating/RenderTreeBuilderMultiColumn.cpp:

(WebCore::RenderTreeBuilder::MultiColumn::processPossibleSpannerDescendant):

5:35 PM Changeset in webkit [255112] by mark.lam@apple.com
  • 6 edits
    1 add in trunk

IntlObject's cached strings should be immortal and safe for concurrent access.
https://bugs.webkit.org/show_bug.cgi?id=206779
<rdar://problem/58831763>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js: Added.

Source/JavaScriptCore:

In IntlObject's numberingSystemsForLocale(), we have a never destroyed
cachedNumberingSystems which is a singleton vector of Strings which are shared
multiple VMs. Hence, the strings in this vector should be a StaticStringImpl
so that it will be immortal, and can be access concurrently from multiple VMs
on different threads without any ref/deref'ing race issues.

  • runtime/IntlObject.cpp:

(JSC::numberingSystemsForLocale):

Source/WTF:

Add a factory for creating a dynamically allocated StaticStringImpl.

Note: StaticStringImpl is guaranteed to have the same shape as StringImpl.
The only difference is that s_refCountFlagIsStaticString is set on the refCount
for StaticStringImpl. Since the client will use the StaticStringImpl as a
StringImpl, we implement the factory by using StringImpl::createInternal() for
simplicity, and set the s_refCountFlagIsStaticString flag thereafter.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::createStaticStringImpl):

  • wtf/text/StringImpl.h:
5:28 PM Changeset in webkit [255111] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed, a speculative test fix after r255041

  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:

(WebKit::MockLocalConnection::getAttestation const):

5:22 PM Changeset in webkit [255110] by ysuzuki@apple.com
  • 2 edits in trunk/JSTests

REGRESSION (r254964-r254970?): Catalina Debug JSC bot timing out while running tests
https://bugs.webkit.org/show_bug.cgi?id=206785

Unreviewed, skipping the test if $buildType is "debug".

  • stress/operand-should-fit-in-abstract-heap-encoded-payload-format.js:
5:12 PM Changeset in webkit [255109] by Alan Coon
  • 1 copy in tags/Safari-609.1.15.2

Tag Safari-609.1.15.2.

5:08 PM Changeset in webkit [255108] by Wenson Hsieh
  • 9 edits
    2 adds in trunk

[iOS] Long pressing text inside a selection should update the selection
https://bugs.webkit.org/show_bug.cgi?id=206769
<rdar://problem/58704316>

Reviewed by Tim Horton.

Source/WebCore:

Remove hasSelectionAtPosition, which is no longer needed.

  • page/Page.cpp:

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

  • page/Page.h:

Source/WebKit:

Makes it possible to update the selection using text interaction gestures inside an existing text selection. To
do this, we remove code that was previously required in order to disambiguate text selection and drag gestures.
However, since adopting asynchronous drag interaction SPI, this check has not been necessary.

The only other purpose of this check was to avoid triggering text selection gestures after canceling a drag
that did not begin (i.e. the touch location did not move). Instead of bailing in -textInteractionGestures:
shouldBeginAtPoint: and -hasSelectablePositionAtPoint:, we can achieve the same effect by simply resetting the
text interaction gestures when the drag lift begins (at which point we know the drag interaction is starting).
This also ensures that on iPad, in the case where the drag was cancelled by the page, long pressing may still
trigger text selection.

Test: editing/selection/ios/select-text-in-existing-selection.html

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

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

Remove the hasSelectionAtPosition flag from position information, since we no longer need it.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[UIGestureRecognizer _wk_cancel]):

Drive-by fix: just ignore the gesture if it is already disabled. This prevents us from causing a gesture
recognizer that was previously disabled to become enabled as a result of calling -_wk_cancel.

(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView cancelActiveTextInteractionGestures]):

Instead of making the text interaction gestures return NO from -gestureRecognizerShouldBegin:, explicitly cancel
the text interaction gestures that may select text.

(-[WKContentView dragInteraction:willAnimateLiftWithAnimator:session:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::positionInformation):

Remove the hasSelectionAtPosition flag from position information, since we no longer need it.

LayoutTests:

Add a layout test to verify that it's possible to select text by long pressing inside an existing text
selection. The test is runnable on both iPad and iPhone, since it programmatically prevents dragstart.

  • editing/selection/ios/select-text-in-existing-selection-expected.txt: Added.
  • editing/selection/ios/select-text-in-existing-selection.html: Added.
5:07 PM Changeset in webkit [255107] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] (Regression) LayoutTests/fast/text/whitespace/029.html fails
https://bugs.webkit.org/show_bug.cgi?id=206773
<rdar://problem/58883388>

Reviewed by Simon Fraser.

While line break is an inline box, it does not have inline content so do not try to cast it to Container.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthConstraints):
(WebCore::Layout::InlineFormattingContext::collectInlineContentIfNeeded):

4:49 PM Changeset in webkit [255106] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

Update EditorState from WebProcess when requesting context menu
https://bugs.webkit.org/show_bug.cgi?id=206775
<rdar://problem/56305573>

Reviewed by Wenson Hsieh.

When generating a context menu, AppKit calls -validRequestorForSendType:returnType:
which queries the editor state in WebViewImpl::validRequestorForSendAndReturnTypes.
Without updating the editor state, the first time you right click on a link,
the Services menu item did not appear because we were looking at a stale editor state.
Verified manually this fixes the bug.

  • WebProcess/WebPage/WebContextMenu.cpp:

(WebKit::WebContextMenu::show):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::handleSelectionServiceClick):

4:45 PM Changeset in webkit [255105] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

macCatalyst: Right clicking on links follows the link, but shouldn't
https://bugs.webkit.org/show_bug.cgi?id=206777
<rdar://problem/56586280>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKMouseGestureRecognizer.mm:

(-[WKMouseGestureRecognizer createMouseEventWithType:forEvent:]):
(-[WKMouseGestureRecognizer touchesEnded:withEvent:]):
I got 'button' and 'buttons' backwards.

'button' indicates which button the event is about, so in MouseUp,
it should still be 2.

'buttons' indicate which buttons are still down, so in MouseUp,
it should not include 2. Since we don't currently track mouse button
chording here, we'll just say "none". Leave a FIXME about that.

This makes WebCore's behavior correct, and now it doesn't follow the link.

4:34 PM Changeset in webkit [255104] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

imported/w3c/web-platform-tests/requestidlecallback/callback-xhr-sync.html is flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206676
<rdar://problem/58839631>

Add a flaky test expectation.

4:23 PM Changeset in webkit [255103] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

AirPlay placard not visible when AirPlay is entered in fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=206772
<rdar://problem/57098851>

Patch by Jer Noble <jer.noble@apple.com> on 2020-01-24
Reviewed by Eric Carlson.

Test: media/modern-media-controls/placard-support/placard-support-airplay-fullscreen-no-controls.html

The AirPlay and Picture-in-picture placards should always become visible, regardless of
whether the <video> element uses the native media controls. So "disabling" the PlacardSupport
object should not remove the listeners for presentation mode and route change events. Instead
merely remember whether the object is disabled, so that the "error placard" will only be shown
if controls are enabled, and PiP and AirPlay placards will always be shown.

  • Modules/modern-media-controls/media/placard-support.js:

(PlacardSupport.prototype.enable):
(PlacardSupport.prototype.disable):
(PlacardSupport.prototype._updatePlacard):

3:40 PM Changeset in webkit [255102] by Russell Epstein
  • 4 edits in branches/safari-609-branch/Source/WebKit

Cherry-pick r255039. rdar://problem/58855996

Background thread with ITP Database should lock when the network process is suspended
https://bugs.webkit.org/show_bug.cgi?id=206593
rdar://problem/58713379

Reviewed by Chris Dumez.

This patch adds a function to hang the background queue when the
NetworkProcess is preparing to suspend.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::suspend): (WebKit::WebResourceLoadStatisticsStore::resume):
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
  • NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::prepareToSuspend): (WebKit::NetworkProcess::resume):

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

3:40 PM Changeset in webkit [255101] by Russell Epstein
  • 2 edits in branches/safari-609-branch/Source/JavaScriptCore

Cherry-pick r254996. rdar://problem/58856010

OptimizeAssociativeExpressionTrees should reset value owners before running
https://bugs.webkit.org/show_bug.cgi?id=206670
<rdar://problem/58535628>

Reviewed by Robin Morisset.

We have a crash inside OptimizeAssociativeExpressionTrees and we don't know
how to reproduce it. Also, based on Mark's auditing of the crash site's
assembly, Mark thinks we're crashing on a "currupt" basic block.

After I audited the code, I saw that we rely on value owners in this phase.
However, we don't actually reset them before running the phase. This patch
adds that as a speculative fix for the crash we're seeing.

  • b3/B3OptimizeAssociativeExpressionTrees.cpp: (JSC::B3::OptimizeAssociativeExpressionTrees::run):

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

3:40 PM Changeset in webkit [255100] by Russell Epstein
  • 6 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r254991. rdar://problem/58856021

[Web Animations] Make AnimationList ref-counted
https://bugs.webkit.org/show_bug.cgi?id=206664

Reviewed by Antti Koivisto.

  • platform/animation/AnimationList.cpp:
  • platform/animation/AnimationList.h: (WebCore::AnimationList::create): (WebCore::AnimationList::copy): (WebCore::AnimationList::AnimationList): Deleted.
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::ensureAnimations): (WebCore::RenderStyle::ensureTransitions):
  • rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
  • rendering/style/StyleRareNonInheritedData.h:

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

3:40 PM Changeset in webkit [255099] by Russell Epstein
  • 3 edits in branches/safari-609-branch/Source/JavaScriptCore

Cherry-pick r254962. rdar://problem/58856037

Restore nullification of DFG::Plan::m_vm when the plan is cancelled.
https://bugs.webkit.org/show_bug.cgi?id=206633
<rdar://problem/58811967>

Reviewed by Robin Morisset.

In r253243, I replaced the nullification of Plan::m_vm in Plan::cancel() with
code to decorate the m_vm pointer with a nuke bit. The thinking is that keeping
the VM pointer in nuked form allows us to do certain assertions, as well as
implementing code in support of keeping Box<Identifier>s alive. It is only
correct to use the nuked VM pointer if and only if the VM is guaranteed to
outlive the Plan. r253243 guarantees this condition.

In r254464, I replaced the use of Box<Identifier> with CacheableIdentifier.
This obviated all the support code added above, and rolled out most of it.
However, I opted to keep the nuked VM pointer in the DFG::Plan to as a debugging
aid (it's nice to be able to know which VM the Plan came from).

However, r254464 also undid the guarantee that the VM will outlive the Plan.
As a result, a nuked VM pointer is no longer guaranteed to point to a valid VM.
Some worker layout tests, run on an ASAN build, detected that the pointer is
pointing to an already freed VM and failed with a crash.

This patch fixes this issue by completely reverting the nuked VM pointer code,
and restores nullification of the m_vm pointer in Plan::cancel().

  • dfg/DFGPlan.cpp: (JSC::DFG::Plan::computeCompileTimes const): (JSC::DFG::Plan::cancel):
  • dfg/DFGPlan.h: (JSC::DFG::Plan::vm const): (JSC::DFG::Plan::unnukedVM const): Deleted. (JSC::DFG::Plan::nuke): Deleted. (JSC::DFG::Plan::unnuke): Deleted.

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

3:40 PM Changeset in webkit [255098] by Russell Epstein
  • 3 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r254951. rdar://problem/58856000

Make a Ref to WindowEventLoop when the timer to run tasks fires
https://bugs.webkit.org/show_bug.cgi?id=206568

Reviewed by Antti Koivisto.

Keep WindowEventLoop alive explicitly while invoking EventLoop::run.

  • dom/WindowEventLoop.cpp: (WebCore::WindowEventLoop::WindowEventLoop): (WebCore::WindowEventLoop::didReachTimeToRun):
  • dom/WindowEventLoop.h:

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

3:40 PM Changeset in webkit [255097] by Russell Epstein
  • 3 edits in branches/safari-609-branch/Source/WebKit

Cherry-pick r254938. rdar://problem/58856028

Fix SDK availability macros
https://bugs.webkit.org/show_bug.cgi?id=206463
<rdar://problem/58581906>

Reviewed by Timothy Hatcher.

Bug 197841 updated WebKit.xcconfig with regards to when it runs a
header post-processing script. This post-processing script grovels
over our exported headers, changing macros like WK_API_AVAILABLE to
the standard API_AVAILABLE. Because of the change in Bug 197841, the
script was no longer being run when preparing macOS 10.15 SDKs, which
was breaking those SDKs. Fix this by reverting the change, allowing
the macros to be replaced for macOS 10.15.

We also need to touch WKFoundation.h in order to support incremental
builds. If we don't, then the version of WKFoundation.h that was
exported in the previous build and that was incorrectly post-processed
would remain incorrectly post-processed. Touch the file so that it
will get re-exported and re-post-processed.

No new tests - no added or changed functionality.

  • Configurations/WebKit.xcconfig:
  • Shared/API/Cocoa/WKFoundation.h:

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

3:40 PM Changeset in webkit [255096] by Russell Epstein
  • 4 edits in branches/safari-609-branch/Tools

Cherry-pick r254318. rdar://problem/58856031

TestController::platformLibraryPathForTesting() returns inner pointer to autoreleased NSString
<https://webkit.org/b/206018>
<rdar://problem/58449733>

Reviewed by Darin Adler.

  • WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize):
  • Use WTF::AutodrainedPool to fix remaining autoreleasePool leaks.
  • WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformLibraryPathForTesting):
  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformLibraryPathForTesting):
  • Retain NSString since these methods return an inner pointer. This also only needs to be initialized once.

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

2:52 PM Changeset in webkit [255095] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Crash in AXIsolatedObject::tagName.
https://bugs.webkit.org/show_bug.cgi?id=206765

Reviewed by Chris Fleizach.

Fixes crash in AXIsolatedObject::tagName.

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData): Was missing the isolatedCopy when caching the tagName.

2:19 PM Changeset in webkit [255094] by Keith Rollin
  • 2 edits in trunk/Source/WebKitLegacy

Remove check-xcfilelists.sh from WebKitLegacy Xcode build target
https://bugs.webkit.org/show_bug.cgi?id=206762
<rdar://problem/58825997>

Reviewed by Alexey Proskuryakov.

When check-xcfilelists.sh got added to the WebKitLegacy Xcode project,
it was also accidentally added to the WebKitLegacy build target. This
caused it to be treated as a "resource", and so was copied to the
output directory in the Resources sub-folder during the build. This
copying is not expected, needed, or desired. Remove
check-xcfilelists.sh from the target, which also removes it from the
Copy Resources build phase, which removes it from the
WebKitLegacy.framework/Resources directory.

  • WebKitLegacy.xcodeproj/project.pbxproj:
1:58 PM Changeset in webkit [255093] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed, a build fix after r255056

  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:

(WebKit::MockLocalConnection::getAttestation const):

1:18 PM Changeset in webkit [255092] by Ryan Haddad
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r255089.

Breaks tvOS build.

Reverted changeset:

"WebCore: Remove iOS 11 macros from
WebItemProviderPasteboard.h"
https://bugs.webkit.org/show_bug.cgi?id=206719
https://trac.webkit.org/changeset/255089

12:57 PM Changeset in webkit [255091] by Alan Coon
  • 5 edits in branches/safari-609.1.15-branch/Source/WebKit

Cherry-pick r254552. rdar://problem/58812968

REGRESSION (r253394): After swiping back during a navigation, WKWebView gets stuck with the forward content, stops repainting
https://bugs.webkit.org/show_bug.cgi?id=206268
<rdar://problem/58536702>

Reviewed by Simon Fraser.

  • UIProcess/ViewGestureController.cpp: (WebKit::ViewGestureController::endSwipeGesture):
  • UIProcess/ViewGestureController.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm: (WebKit::ViewGestureController::beginSwipeGesture): (WebKit::ViewGestureController::endSwipeGesture): (WebKit::ViewGestureController::removeSwipeSnapshot):
  • UIProcess/mac/ViewGestureControllerMac.mm: (WebKit::ViewGestureController::beginSwipeGesture): (WebKit::ViewGestureController::removeSwipeSnapshot): After r253394, we start loading the destination page in willEndSwipeGesture, when we know the gesture will complete, instead of in endSwipeGesture, when it is actually done.

This means that if we decide that we should tear down the snapshot immediately,
this can now happen in the window between willEndSwipeGesture and endSwipeGesture.

However, removeSwipeSnapshot has numerous dependencies on endSwipeGesture
(especially on iOS, where there are /also/ dependencies in the other direction -
endSwipeGesture will never be called after removeSwipeSnapshot because
of the gestureID mismatch).

Regardless, it does not make sense to remove the snapshot while the animation
is still running. So, if something causes removeSwipeSnapshot to be called
before endSwipeGesture, we just set a bit and call it inside endSwipeGesture instead.

This ends up putting the snapshot removal ordering back as it was before r253394.

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

12:54 PM Changeset in webkit [255090] by Alan Coon
  • 8 edits in branches/safari-609.1.15-branch/Source

Versioning.

12:40 PM Changeset in webkit [255089] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore

WebCore: Remove iOS 11 macros from WebItemProviderPasteboard.h
https://bugs.webkit.org/show_bug.cgi?id=206719

Reviewed by Tim Horton.

No functional changes, covered by existing tests.

  • platform/ios/WebItemProviderPasteboard.h:
12:26 PM Changeset in webkit [255088] by Caio Lima
  • 7 edits in trunk/Source/JavaScriptCore

[ARMv7][JIT] Implement checkpoint support
https://bugs.webkit.org/show_bug.cgi?id=206611

Reviewed by Yusuke Suzuki.

This patch is adding code path to properly support checkpoint on ARMv7.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

We changed the scratch buffer population to properly handle
callee-saved registers on 32-bits. For more details, check comments on
source code.

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::compileExit):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):

We are adding back regCS1 to be used as GPRReg on DFG and
scratch registers. This was necessary because some code generated by
GetByVal IC requires at least 9 registers available.
Given that, we also added such register to dfgCalleeSaveRegisters
set.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitPutByValWithCachedId):

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::dfgCalleeSaveRegisters):

  • llint/LowLevelInterpreter.asm:
12:25 PM Changeset in webkit [255087] by Keith Rollin
  • 2 edits in trunk/Source/WTF

Fix internal Apple builds after r254411
https://bugs.webkit.org/show_bug.cgi?id=206723
<rdar://problem/58844735>

Reviewed by Maciej Stachowiak.

The default Xcode build configuration has changed between macOS 10.13
and macOS 10.15, such that references to some frameworks when bulding
for the latter don't work when building for the former. Fix this by
explicitly adding support for the desired build location rather than
assuming such support will be provided for us.

  • Configurations/WTF.xcconfig:
12:00 PM Changeset in webkit [255086] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

JSC should produce a module map.
https://bugs.webkit.org/show_bug.cgi?id=206717

Reviewed by Mark Lam.

11:33 AM Changeset in webkit [255085] by youenn@apple.com
  • 8 edits in trunk

Add support for MediaRecorder.requestData
https://bugs.webkit.org/show_bug.cgi?id=206731

LayoutTests/imported/w3c:

Reviewed by Eric Carlson.

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

Source/WebCore:

Reviewed by Eric Carlson.

Add support for requestData that fetches any available data.
Expose MediaRecorder stream.
Covered by updated tests.

  • Modules/mediarecorder/MediaRecorder.cpp:

(WebCore::MediaRecorder::requestData):

  • Modules/mediarecorder/MediaRecorder.h:
  • Modules/mediarecorder/MediaRecorder.idl:

LayoutTests:

Reviewed by Eric Carlson.

  • http/wpt/mediarecorder/MediaRecorder-dataavailable.html:
11:30 AM Changeset in webkit [255084] by Jon Davis
  • 2 edits in trunk/Websites/webkit.org

Fix editing permissions for the Web Inspector Editor role
https://bugs.webkit.org/show_bug.cgi?id=206761

Reviewed by Devin Rousso.

  • wp-content/plugins/web-inspector-pages.php:
11:12 AM Changeset in webkit [255083] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Nullptr deref in WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation when an element is inserted before legend under multi-column layout.
https://bugs.webkit.org/show_bug.cgi?id=206109

Patch by Jack Lee <Jack Lee> on 2020-01-24
Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/forms/fieldset/fieldset-crash-insert-before-legend-under-multicol.html

  • rendering/updating/RenderTreeBuilderBlockFlow.cpp:

(WebCore::RenderTreeBuilder::BlockFlow::attach):

LayoutTests:

  • fast/forms/fieldset/fieldset-crash-insert-before-legend-under-multicol-expected.txt: Added.
  • fast/forms/fieldset/fieldset-crash-insert-before-legend-under-multicol.html: Added.
10:57 AM Changeset in webkit [255082] by Matt Lewis
  • 5 edits in trunk/Tools

Remove Apple windows 7 queues.
https://bugs.webkit.org/show_bug.cgi?id=206702

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:

Removed Windows 7 queues from config and from dashboard.

10:53 AM Changeset in webkit [255081] by pvollan@apple.com
  • 13 edits
    1 delete in trunk

Unreviewed, rolling out r255050.

Introduced crashes on bots

Reverted changeset:

"[Cocoa] Media mime types map should be created in the UI
process"
https://bugs.webkit.org/show_bug.cgi?id=206478
https://trac.webkit.org/changeset/255050

10:40 AM Changeset in webkit [255080] by Andres Gonzalez
  • 5 edits in trunk/Source/WebCore

Implementation of AXIsolatedObject::isStaticText and isLandmark methods.
https://bugs.webkit.org/show_bug.cgi?id=206745

Reviewed by Chris Fleizach.

  • isStaticText moved from the AXObject class to the base AXCoreObject so

that it is used by isolated objects as well.

  • Implemented isLandmark.
  • Ordered alphabetically the setProperty calls for most IsXXX

properties in initializeAttributeData for easier identification.

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

(WebCore::AXCoreObject::isStaticText const):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::isLandmark const): Deleted, inline in header file.
(WebCore::AXIsolatedObject::isStaticText const): Deleted, implemented in AXCoreObject.

  • accessibility/isolatedtree/AXIsolatedObject.h:
10:29 AM Changeset in webkit [255079] by commit-queue@webkit.org
  • 2 edits
    5 adds in trunk/LayoutTests

[GTK][WPE] Websockets close-on-x tests are failing
https://bugs.webkit.org/show_bug.cgi?id=206392

Unreviewed gardening.

Rebaseline after libsoup commit 35f1bac5.

Patch by Lauro Moura <Lauro Moura> on 2020-01-24

  • platform/gtk/TestExpectations:
  • platform/gtk/http/tests/websocket/tests/hybi/close-on-navigate-new-location-expected.txt: Added.
  • platform/gtk/http/tests/websocket/tests/hybi/close-on-unload-and-force-gc-expected.txt: Added.
  • platform/gtk/http/tests/websocket/tests/hybi/close-on-unload-expected.txt: Added.
  • platform/gtk/http/tests/websocket/tests/hybi/close-on-unload-reference-in-parent-expected.txt: Added.
  • platform/gtk/http/tests/websocket/tests/hybi/send-after-close-on-unload-expected.txt: Added.
10:13 AM Changeset in webkit [255078] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[GTK][WPE] Several WPT fetch tests are failing
https://bugs.webkit.org/show_bug.cgi?id=206416

Patch by Rob Buis <rbuis@igalia.com> on 2020-01-24
Reviewed by Frédéric Wang.

It is better to skip these as more tests can be added
and this feature is not enabled on WPE/GTK.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
9:58 AM Changeset in webkit [255077] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

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

"Broke production builds" (Requested by rmorisset on #webkit).

Reverted changeset:

"Break the dependency between jsc and DerivedSources"
https://bugs.webkit.org/show_bug.cgi?id=206720
https://trac.webkit.org/changeset/255052

9:35 AM Changeset in webkit [255076] by graouts@webkit.org
  • 14 edits in trunk

[Web Animations] Support multiple CSS Animations with the same name in animation-name
https://bugs.webkit.org/show_bug.cgi?id=206688

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark some new WPT progressions.

  • web-platform-tests/css/css-animations/Element-getAnimations-dynamic-changes.tentative-expected.txt:
  • web-platform-tests/css/css-animations/Element-getAnimations.tentative-expected.txt:
  • web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt:

Source/WebCore:

AnimationTimeline would keep track of registered CSS Animations by name for a given element in m_elementToCSSAnimationByName which would map one CSSAnimation
per String (the animation-name) for a given Element. However, within the same animation-name property, the name of a given @keyframes rules may appear more
than once, and the CSS Animations specification explains how to handle this scenario.

We now correctly handle this by replacing m_elementToCSSAnimationByName with the new m_elementToCSSAnimationsCreatedByMarkupMap which simply maps an Element
to a ListHashSet of CSSAnimation objects. Removing the string that appeared in animation-name to create this animation requires us to keep the AnimationList
used for the last style update for sorting purposes, since having multiple instances of the same string would not allow disambiguation when sorting the
KeyframeEffectStack.

So we also replace m_cssAnimationNames, a Vector<String>, with m_cssAnimationList, a RefPtr<const AnimationList>, and use this to compare Animation objects
stored in the AnimationList against the backing animation of each CSSAnimation.

Storing the AnimationList on the KeyframeEffectStack also has the benefit of allowing us to use this as the previous state when updating CSS Animations in
AnimationTimeline::updateCSSAnimationsForElement(). We used to rely on the previous RenderStyle provided to that function, but it's possible that this style
is null and we would unnecessarily create additional CSSAnimation objects for animations that actually were retained since the last time CSS Animations were
invalidated. We now use the stored AnimationList on the invalidated element's KeyframeEffectStack and create a new animation list that will replace the old
list stored in the m_elementToCSSAnimationsCreatedByMarkupMap map for that element. We can also compare the old list with the new list to find out which
animations are no longer current.

Finally, we refactor things a bit to have some new aliases AnimationCollection and CSSAnimationCollection instead of using ListHashSet<> in our types.

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::animationWasAddedToElement): Use the new AnimationCollection alias.
(WebCore::AnimationTimeline::removeDeclarativeAnimationFromListsForOwningElement): We no longer need to do any work for CSSAnimation here since the
m_elementToCSSAnimationByName map is no more and the m_elementToCSSAnimationsCreatedByMarkupMap that replaces it is updated in updateCSSAnimationsForElement()
and elementWasRemoved().
(WebCore::AnimationTimeline::animationsForElement const): Since animations are correctly sorted accounting for their composite order in KeyframeEffectStack,
call KeyframeEffectStack::sortedEffects() when we're called with Ordering::Sorted.
(WebCore::AnimationTimeline::removeCSSAnimationCreatedByMarkup): New method called by elementWasRemoved() to ensure that when an element is removed, we remove
its CSSAnimation objects from the new m_elementToCSSAnimationsCreatedByMarkupMap and also update the AnimationList on the relevant KeyframeEffectStack.
(WebCore::AnimationTimeline::elementWasRemoved): Call the new removeCSSAnimationCreatedByMarkup() method before canceling a CSSAnimation.
(WebCore::AnimationTimeline::cancelDeclarativeAnimationsForElement): Call the new removeCSSAnimationCreatedByMarkup() method before canceling a CSSAnimation.
(WebCore::AnimationTimeline::updateCSSAnimationsForElement): Use the AnimationList recoreded on the relevant KeyframeEffectStack to determine which CSSAnimation
objects to create, cancel or merely update depending on the AnimationList in the current style.

  • animation/AnimationTimeline.h:
  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::getAnimations const): Use compareAnimationsByCompositeOrder() to correctly sort CSS Animations since they are no longer guaranteed
to be stored in the relevant map in the expected order.

  • animation/KeyframeEffectStack.cpp:

(WebCore::KeyframeEffectStack::ensureEffectsAreSorted): Use the new m_cssAnimationList instead of the old m_cssAnimationNames when sorting effects.
(WebCore::KeyframeEffectStack::setCSSAnimationList):
(WebCore::KeyframeEffectStack::setCSSAnimationNames): Deleted.

  • animation/KeyframeEffectStack.h:

(WebCore::KeyframeEffectStack::cssAnimationList const):
(WebCore::KeyframeEffectStack::cssAnimationNames const): Deleted.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::commitStyles): Use the new KeyframeEffectStack::cssAnimationList() instead of the old KeyframeEffectStack::cssAnimationNames().

  • animation/WebAnimationUtilities.cpp:

(WebCore::compareAnimationsByCompositeOrder): Update the composite order comparison utility to use an AnimationList rather than a list of animation names.

  • animation/WebAnimationUtilities.h:
  • platform/animation/AnimationList.h:

(WebCore::AnimationList::copy const):

9:18 AM Changeset in webkit [255075] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-webkit-tests: Handle case where device socket make handle invalid
https://bugs.webkit.org/show_bug.cgi?id=206707

Reviewed by Stephanie Lewis.

  • Scripts/webkitpy/port/simulator_process.py:

(SimulatorProcess.NonBlockingFileFromSocket.close): Catch IOError when closing file.

8:42 AM Changeset in webkit [255074] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Painting] Add Display::Run cleanup to TextPainter::clearGlyphDisplayLists
https://bugs.webkit.org/show_bug.cgi?id=206744
<rdar://problem/58867112>

Reviewed by Antti Koivisto.

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::clearGlyphDisplayLists):

8:32 AM Changeset in webkit [255073] by Jonathan Bedard
  • 4 edits in trunk/Source/WTF

WTF: Remove old iOS version macros
https://bugs.webkit.org/show_bug.cgi?id=206634
<rdar://problem/58818561>

Reviewed by Darin Adler.

  • wtf/PlatformEnable.h: Remove iOS 12 version macro.
  • wtf/PlatformHave.h: Ditto.
  • wtf/PlatformUse.h: Ditto.
7:58 AM Changeset in webkit [255072] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[iOS] Add missing sysctl-read permission (already available in macOS sandbox)
https://bugs.webkit.org/show_bug.cgi?id=206713
<rdar://problem/57665153>

Reviewed by Per Arne Vollan.

Correct a sandbox violation encountered when attempting to log the system hostname.
This was already handled properly on macOS, but the rule was not added to the iOS sandbox.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
7:26 AM Changeset in webkit [255071] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

[LFC][Integration] Clear inline item caches on low memory notification
https://bugs.webkit.org/show_bug.cgi?id=206740
<rdar://problem/58773905>

Reviewed by Zalan Bujtas.

Clear inline item caches on low memory notification.

  • layout/inlineformatting/InlineFormattingState.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::releaseCaches):
(WebCore::LayoutIntegration::LineLayout::releaseInlineItemCache):

  • layout/integration/LayoutIntegrationLineLayout.h:

Remove inline capacity. It is rarely optimal and we can afford the heap allocation.

  • page/MemoryRelease.cpp:

(WebCore::releaseNoncriticalMemory):

7:14 AM Changeset in webkit [255070] by Adrian Perez de Castro
  • 9 edits in trunk/Source

Fix various non-unified build issues introduced since r254751
https://bugs.webkit.org/show_bug.cgi?id=206736

Reviewed by Carlos Garcia Campos.

Source/JavaScriptCore:

  • tools/CompilerTimingScope.cpp: Add missing inclusions of wtf/Vector.h and wtf/text/WTFString.h

Source/WebCore:

No new tests needed.

  • Modules/cache/DOMCacheEngine.cpp: Move errorToException() function out from the file to

make it usable from DOMCacheStorage.cpp

  • Modules/cache/DOMCacheEngine.h:

(WebCore::DOMCacheEngine::errorToException): Added.

  • Modules/cache/DOMCacheStorage.cpp:

(WebCore::DOMCacheStorage::retrieveCaches): Adapt to use DOMCacheEngine::errorToException().

  • platform/graphics/cairo/ImageBufferUtilitiesCairo.cpp: Add missing RefPtrCairo.h inclusion.

Source/WebKit:

  • WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp: Add missing WebFrame.h inclusion.
7:14 AM Changeset in webkit [255069] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] API test runner fails with error: too many open files.
https://bugs.webkit.org/show_bug.cgi?id=206743

Reviewed by Carlos Garcia Campos.

The API test runner for google tests was leaking file descriptors because
it was not closing the file descriptor of the pseudo-terminal of the child,
which was referred in the parent because of the forkpty() call.
This was causing a small but constant increase of open file descriptors,
until the point it reached the limit of maximum open files (1024 usually)
causing this error.

Fix that by closing the reference to the fd of the child's pseudo-terminal.

  • glib/api_test_runner.py:

(TestRunner._run_google_test):

6:36 AM Changeset in webkit [255068] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Integration] LineLayout::paint should take advantage of the glyph display list cache
https://bugs.webkit.org/show_bug.cgi?id=206727
<rdar://problem/58809696>

Reviewed by Antti Koivisto.

  • layout/displaytree/DisplayInlineContent.cpp:

(WebCore::Display::InlineContent::~InlineContent):

  • layout/displaytree/DisplayInlineContent.h:
  • layout/integration/LayoutIntegrationLineLayout.cpp:

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

6:11 AM Changeset in webkit [255067] by don.olmstead@sony.com
  • 16 edits
    3 copies
    3 moves
    3 deletes in trunk/Source/WebKit

Centralize AuxiliaryProcessMainBase implementations
https://bugs.webkit.org/show_bug.cgi?id=206700

Reviewed by Carlos Garcia Campos.

Non-Cocoa ports share a common usage of AuxiliaryProcessMainBase but the implementations
don't share a lot of code. This patch centralizes the code and the naming used.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • NetworkProcess/EntryPoint/win/NetworkProcessMain.cpp:

(main):

  • NetworkProcess/NetworkProcessMain.h: Renamed from Source/WebKit/NetworkProcess/win/NetworkProcessMainWin.h.
  • NetworkProcess/curl/NetworkProcessMainCurl.cpp: Renamed from Source/WebKit/NetworkProcess/win/NetworkProcessMainWin.cpp.

(WebKit::initializeAuxiliaryProcess<NetworkProcess>):
(WebKit::NetworkProcessMain):

  • NetworkProcess/soup/NetworkProcessMainSoup.cpp:

(WebKit::NetworkProcessMain):
(WebKit::NetworkProcessMainUnix): Deleted.

  • NetworkProcess/unix/NetworkProcessMainUnix.h: Removed.
  • PlatformFTW.cmake:
  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • PlatformWin.cmake:
  • PluginProcess/EntryPoint/unix/PluginProcessMain.cpp:

(main):

  • PluginProcess/PluginProcessMain.h: Renamed from Source/WebKit/PluginProcess/unix/PluginProcessMainUnix.h.
  • PluginProcess/unix/PluginProcessMainUnix.cpp:

(WebKit::PluginProcessMain):
(WebKit::PluginProcessMainUnix): Deleted.

  • Shared/AuxiliaryProcessMain.h: Renamed from Source/WebKit/Shared/unix/AuxiliaryProcessMain.h.
  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/win/WebProcessMain.cpp:

(main):

  • WebProcess/WebProcessMain.h: Renamed from Source/WebKit/WebProcess/win/WebProcessMainWin.h.
  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMain):
(WebKit::WebProcessMainUnix): Deleted.

  • WebProcess/playstation/WebProcessMainPlayStation.cpp: Renamed from Source/WebKit/WebProcess/unix/WebProcessMainUnix.h.

(WebKit::WebProcessMain):

  • WebProcess/win/WebProcessMainWin.cpp:

(WebKit::WebProcessMain):
(WebKit::WebProcessMainWin): Deleted.

  • WebProcess/wpe/WebProcessMainWPE.cpp:

(WebKit::WebProcessMain):
(WebKit::WebProcessMainUnix): Deleted.

  • webkitglib-symbols.map:
5:53 AM Changeset in webkit [255066] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] More unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=206693

Unreviewed gardening.

Patch by Lauro Moura <Lauro Moura> on 2020-01-24

  • platform/gtk/TestExpectations:
3:32 AM Changeset in webkit [255065] by Pablo Saavedra
  • 2 edits in trunk/LayoutTests

Layout Test animations/no-style-recalc-during-accelerated-animation.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=206733

Unreviewed test gardening.

  • platform/gtk/TestExpectations:
3:18 AM Changeset in webkit [255064] by commit-queue@webkit.org
  • 2 edits
    4 moves
    3 adds
    2 deletes in trunk/LayoutTests

Import 2 sets of grid-align-tests from WPT
https://bugs.webkit.org/show_bug.cgi?id=206492

Patch by Rossana Monteriso <rmonteriso@igalia.com> on 2020-01-24
Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

Add outdated grid-align tests, checked and adapted to the WPT project, to the css-grid/alignment folder for imported tests.
Add also blue-100.png support file inside the css/support folder.
Correct the test description inside <p>, for grid-align-stretching-replaced-items.html.

  • web-platform-tests/css/css-grid/alignment/grid-align-content-vertical-lr.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-content-vertical-rl.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-stretching-replaced-items.html:
  • web-platform-tests/css/css-grid/alignment/grid-align-content-vertical-lr-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-content-vertical-rl-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-align-stretching-replaced-items-expected.txt:
  • web-platform-tests/css/support/blue-100.png:

LayoutTests:

Remove outdated grid-align tests, that are being replaced by newer tests, adapted to the WPT project and imported
to the corresponding css-grid folder inside WebKit.

  • fast/css-grid-layout/grid-align-content-vertical-lr-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-content-vertical-rl-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-stretching-replaced-items-expected.txt: Removed.
  • fast/css-grid-layout/grid-align-stretching-replaced-items.html: Removed.
  • fast/css-grid-layout/grid-align-content-vertical-lr.html: Removed.
  • fast/css-grid-layout/grid-align-content-vertical-rl.html: Removed.
3:17 AM Changeset in webkit [255063] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix number of callee saved register count on MIPS
https://bugs.webkit.org/show_bug.cgi?id=206732

Patch by Paulo Matos <Paulo Matos> on 2020-01-24
Reviewed by Žan Doberšek.

MIPS has been issuing illegal instruction errors due to stack corruption.
This is caused by an incorrect number of CalleeSaveRegisterCount
that should be set to 3 since r254674.

  • llint/LowLevelInterpreter.asm:
2:52 AM Changeset in webkit [255062] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed WPE dependency bump.

  • wpe/jhbuild.modules: Bump the libwpe checkout commit to include fixes

for configuration errors that can occur with older (but still supported)
CMake versions.

1:03 AM Changeset in webkit [255061] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK gardening. Mark /webkit/WebKitWebPage/get-uri as flaky

  • TestWebKitAPI/glib/TestExpectations.json:
12:47 AM Changeset in webkit [255060] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] Reduce the maximum time we wait for draw events in DrawingMonitor
https://bugs.webkit.org/show_bug.cgi?id=206662

Reviewed by Carlos Alberto Lopez Perez.

1 second is too much, we can wait up to 100_ms instead and wait for the next frame after 16_ms. We should also
ensure there's a draw event since this is called from dispatchAfterEnsuringDrawing().

  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:

(WebKit::DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::start):
(WebKit::DrawingAreaProxyCoordinatedGraphics::DrawingMonitor::didDraw):

12:37 AM Changeset in webkit [255059] by Antti Koivisto
  • 9 edits
    2 adds in trunk

:matches() doesn't combine correctly with pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=206654

Reviewed by Simon Fraser.

Source/WebCore:

:matches() has been renamed to :is() in the spec (https://www.w3.org/TR/selectors-4/#matches).
Update the :matches implementation to spec behavior regarding pseudo element handling.

"Pseudo-elements cannot be represented by the matches-any pseudo-class; they are not valid within :is()."

Selectors like

::matches(foo, .parent .child)::first-letter

should work while

::matches(:first-letter)

shoudn't match anything.

Test: fast/selectors/matches-with-pseudo-element.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchRecursively const):
(WebCore::SelectorChecker::checkOne const):

Don't provide pseudoId into ::matches subselectors. Pseudo elements are not suppported inside ::matches.
If one if found, fail that subselector.

  • css/SelectorChecker.h:

LayoutTests:

Unskip fast/css/first-letter-and-float-crash.html which no longer hits assert due to this.

  • fast/selectors/matches-with-pseudo-element-expected.html: Added.
  • fast/selectors/matches-with-pseudo-element.html: Added.
  • fast/css/currentColor-on-before-after-pseudo-elements.html:
  • fast/css/matches-specificity-5.html:
  • fast/selectors/pseudo-element-inside-matches-expected.html:
  • fast/selectors/pseudo-element-inside-matches.html:

Update the existing tests to match the behavior.

12:23 AM Changeset in webkit [255058] by youenn@apple.com
  • 13 edits in trunk

Make sure fetch tasks go to network if service worker never gets to activated
https://bugs.webkit.org/show_bug.cgi?id=206648

Reviewed by Chris Dumez.

Source/WebCore:

In case worker context process crashes, the SWServerWorker gets set to NotRunning.
If the SWServerWorker has pending activating completion handlers, they will never be called until the worker is destroyed.
But the worker may never be destroyed until its registration is destroyed.
This may trigger service worker fetch task hangs.

To fix this, make sure to call activating completion handlers whenever the SWServerWorker state is changed to either Terminating or NotRunning.

Covered by updated test.

  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::~SWServerWorker):
(WebCore::SWServerWorker::whenActivated):
(WebCore::SWServerWorker::setState):

  • workers/service/server/SWServerWorker.h:

Source/WebKit:

In case activating completion handlers are not called, the fetch task timeout should kick in and make the load go to network process.
The issue is that our code was using the context connection to do so.
If the fetch task is waiting for the worker activation, the context connection might not be set and the timeout will be a no-op.

To fix this, the fetch task will do as if its context is closed when the timeout fires.
The fetck task now has a weak pointer to the WebSWServerConnection and will use to terminate the service worker as done previously.

We no longer handle all ongoing fetch tasks of the ongoing service worker.
Each individual fetch task timeout provides the same level of protection.
The service worker will anyway get terminated which will race to finalize the service worker fetch tasks with each of their timeout.

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::ServiceWorkerFetchTask::timeoutTimerFired):

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:
  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::createFetchTask):
(WebKit::WebSWServerConnection::fetchTaskTimedOut):

  • NetworkProcess/ServiceWorker/WebSWServerConnection.h:
  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:

(WebKit::WebSWServerToContextConnection::fetchTaskTimedOut):

LayoutTests:

  • http/wpt/service-workers/service-worker-spinning-activate.https-expected.txt:
  • http/wpt/service-workers/service-worker-spinning-activate.https.html:
12:19 AM Changeset in webkit [255057] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Make sure DOMCacheStorage::retrieveCaches always calls its completionHandler
https://bugs.webkit.org/show_bug.cgi?id=206647

Reviewed by Chris Dumez.

  • Modules/cache/DOMCacheStorage.cpp:

(WebCore::DOMCacheStorage::retrieveCaches):
In case of context being stopped, make sure the completion handler is still called.

Note: See TracTimeline for information about the timeline view.