Timeline



Nov 26, 2019:

8:57 PM Changeset in webkit [252896] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 6)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

Remove duplicates, unicode character.

  • webgl/TestExpectations:
6:32 PM Changeset in webkit [252895] by Fujii Hironori
  • 2 edits in trunk/Tools

[AppleWin] run-webkit-tests is failing to find bin32/DumpRenderTree since r252834
https://bugs.webkit.org/show_bug.cgi?id=204571

Reviewed by Ross Kirsling.

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

(RunWebKitTests.start): Replaced 'bin32' with 'bin64'.

5:53 PM Changeset in webkit [252894] by Chris Dumez
  • 13 edits in trunk

Drop ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED()
https://bugs.webkit.org/show_bug.cgi?id=204626

Reviewed by Ryosuke Niwa.

Source/WebCore:

Drop ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED() now that it is no longer
used.

  • dom/ActiveDOMObject.h:
  • dom/Document.h:

(WebCore::Document::shouldPreventEnteringBackForwardCacheForTesting const):
(WebCore::Document::preventEnteringBackForwardCacheForTesting):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::forEachActiveDOMObject const):
(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension): Deleted.

  • dom/ScriptExecutionContext.h:
  • history/BackForwardCache.cpp:

(WebCore::canCacheFrame):

  • testing/Internals.cpp:

(WebCore::Internals::Internals):
(WebCore::Internals::preventDocumentFromEnteringBackForwardCache):
(WebCore::Internals::preventDocumentForEnteringBackForwardCache): Deleted.

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

Source/WebKitLegacy/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

LayoutTests:

  • http/tests/security/navigate-when-restoring-cached-page.html:
12:15 PM Changeset in webkit [252893] by Antti Koivisto
  • 14 edits
    1 copy
    1 add in trunk/Source

[LFC][Render tree] Add LFC line layout path to RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=204613

Reviewed by Zalan Bujtas.

Source/WebCore:

Add a basic LFC line layout implementation for RenderBlockFlow.
It can layout lines and do simple painting but doesn't do anything else (like hit testing) yet.

Add a new layoutFormattingContextRenderTreeIntegrationEnabled feature flag, default to false.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/RenderBlockFlowLineLayout.cpp: Added.

(WebCore::Layout::RenderBlockFlowLineLayout::RenderBlockFlowLineLayout):
(WebCore::Layout::RenderBlockFlowLineLayout::canUseFor):
(WebCore::Layout::RenderBlockFlowLineLayout::layout):
(WebCore::Layout::RenderBlockFlowLineLayout::height const):
(WebCore::Layout::RenderBlockFlowLineLayout::paint):

  • layout/RenderBlockFlowLineLayout.h: Copied from Source/WebCore/layout/displaytree/DisplayPainter.h.
  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::Painter::paintInlineFlow):

  • layout/displaytree/DisplayPainter.h:
  • layout/invalidation/InvalidationState.cpp:

(WebCore::Layout::InvalidationState::markNeedsUpdate):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::buildLayoutTree):

  • layout/layouttree/LayoutTreeBuilder.h:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextRenderTreeIntegrationEnabled):
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextRenderTreeIntegrationEnabled const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
(WebCore::RenderBlockFlow::paintInlineChildren):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::layoutSimpleLines):
(WebCore::RenderBlockFlow::layoutLFCLines):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::hasLFCLineLayout const):
(WebCore::RenderBlockFlow::lfcLineLayout const):
(WebCore::RenderBlockFlow::lfcLineLayout):

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

11:44 AM Changeset in webkit [252892] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
10:28 AM Changeset in webkit [252891] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Destroy linebox tree from ComplexLineLayout destructor
https://bugs.webkit.org/show_bug.cgi?id=204620

Reviewed by Zalan Bujtas.

Make linebox tree destuction simpler and more robust.

  • rendering/ComplexLineLayout.cpp:

(WebCore::ComplexLineLayout::~ComplexLineLayout):

Destroy linebox tree.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::deleteLines):

Always destroy the line layout.

(WebCore::RenderBlockFlow::layoutSimpleLines):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout): Deleted.

No need for special path, ComplexLineLayout destruction takes care of this now.

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

(WebCore::RenderLineBreak::deleteLineBoxesBeforeSimpleLineLayout): Deleted.

No need for special path, InlineBox destruction clears the pointers in associated RenderLineBreaks and RenderTexts.

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

(WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout): Deleted.

  • rendering/RenderText.h:
  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::removeLineBoxFromRenderObject):

10:16 AM Changeset in webkit [252890] by youenn@apple.com
  • 6 edits in trunk

Update capturing document media state when entering b/f cache
https://bugs.webkit.org/show_bug.cgi?id=204589

Reviewed by Chris Dumez.

Source/WebCore:

Remove enqueuing the task in configureTrackRendering.
This allows stopTrack to trigger the track rendering configuration and document media state computation.
Covered by updated test.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::configureTrackRendering):
(WebCore::MediaStreamTrack::suspend):
(WebCore::MediaStreamTrack::stop): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:

LayoutTests:

  • http/tests/navigation/page-cache-mediastream-expected.txt:
  • http/tests/navigation/page-cache-mediastream.html:
9:57 AM Changeset in webkit [252889] by youenn@apple.com
  • 7 edits
    5 adds in trunk

Allow b/f cache in case of connected peer connections
https://bugs.webkit.org/show_bug.cgi?id=204583

Reviewed by Chris Dumez.

Source/WebCore:

Tests: webrtc/peerconnection-page-cache-long.html

webrtc/peerconnection-page-cache.html

Remove guards against b/f cache.
When entering b/f cache, the packets are blocked which will trigger timeouts
and a connection failure of the peer connection after a few seconds.

  • Modules/mediastream/RTCDTMFSender.cpp:
  • Modules/mediastream/RTCDTMFSender.h:
  • Modules/mediastream/RTCDataChannel.h:
  • Modules/mediastream/RTCPeerConnection.cpp:
  • Modules/mediastream/RTCPeerConnection.h:

LayoutTests:

  • fast/history/resources/page-cache-helper-10000ms.html: Added.
  • webrtc/peerconnection-page-cache-expected.txt: Added.
  • webrtc/peerconnection-page-cache-long-expected.txt: Added.
  • webrtc/peerconnection-page-cache-long.html: Added.
  • webrtc/peerconnection-page-cache.html: Added.
8:44 AM Changeset in webkit [252888] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

[LFC] Don't leak Boxes
https://bugs.webkit.org/show_bug.cgi?id=204616

Reviewed by Zalan Bujtas.

Store Boxes to LayoutTreeContent instead of leaking them.

This is probably not the final memory management model.

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::TreeBuilder::buildTableStructure):
(WebCore::Layout::TreeBuilder::buildSubTree):

  • layout/layouttree/LayoutTreeBuilder.h:

(WebCore::Layout::LayoutTreeContent::addBox):

4:42 AM Changeset in webkit [252887] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.27.3

WebKitGTK 2.27.3

4:41 AM Changeset in webkit [252886] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.27.3 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.27.3.
4:21 AM Changeset in webkit [252885] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Attempting to enable more than one FuzzerAgent should result in an error
https://bugs.webkit.org/show_bug.cgi?id=204607

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

  • runtime/VM.cpp:
  • runtime/VM.h:
4:17 AM Changeset in webkit [252884] by alex
  • 3 edits in trunk/LayoutTests

[GTK][WPE] New tests crashing after added in the r251377
https://bugs.webkit.org/show_bug.cgi?id=204112

Unreviewed test gardening, add new tests crashing because we do
not have an implementation of WTR::UIScriptController::copyText,
the test was added in r252450.

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
4:09 AM Changeset in webkit [252883] by Manuel Rego Casasnovas
  • 9 edits in trunk

LayoutTests/imported/w3c:
[css-grid] Avoid serializing [] in grid-template* specified values
https://bugs.webkit.org/show_bug.cgi?id=204501

Reviewed by Javier Fernandez.

Update tests results, several tests are now passing.
Other are still failing due to different bugs like webkit.org/b/204508.

  • web-platform-tests/css/css-grid/parsing/grid-shorthand-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-valid-expected.txt:

Source/WebCore:
[css-grid] Avoid serializing [] in grid-template-* specified values
https://bugs.webkit.org/show_bug.cgi?id=204501

Reviewed by Javier Fernandez.

Based on Blink r699101 by <ericwilligers@chromium.org>.

This patch discards empty list of line names when parsing grid-template-* properties.
That way we avoid these empty lists "[]" during serialization.

This was discussed at: https://github.com/w3c/csswg-drafts/issues/4173.

Several WPT tests are passing thanks to this change.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeGridLineNames):
(WebCore::consumeGridTrackList):

3:02 AM Changeset in webkit [252882] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GStreamer] Cache the CString returned by String::utf8()
https://bugs.webkit.org/show_bug.cgi?id=203553

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

2:37 AM Changeset in webkit [252881] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Document::needsStyleRecalc() shouldn't return true for fragment scrolling (m_gotoAnchorNeededAfterStylesheetsLoad)
https://bugs.webkit.org/show_bug.cgi?id=204593

Reviewed by Antti Koivisto.

After r252761, we no longer triggers a fragment scrolling as a part of style resolution.
Consequently, there is no need for Document::needsStyleRecalc() to return true
even when m_gotoAnchorNeededAfterStylesheetsLoad is set and there are no more pending stylesheets.

No new tests since there shouldn't really be any observable behavior difference.

  • dom/Document.cpp:

(WebCore::Document::needsStyleRecalc const):

2:28 AM Changeset in webkit [252880] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

REGRESSION(2.27.2): [GTK] Incognito mode is broken under flatpak
https://bugs.webkit.org/show_bug.cgi?id=203460

Reviewed by Youenn Fablet.

The problem is that in ephemeral sessions the base disk cache directory is null, and Storage::open() ends up
building a cache path with only the version part (/Version n). For some reason g_mkdir_with_parents() doesn't
return -1 in flatpak when it fails to create the directory due to write permission, like in this case. But the
network process ends up crashing later trying to open a directory that doesn't exist.

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::NetworkSession): Do not create the cache if networkCacheDirectory is null.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::open): Add an ASSERT to ensure we don't receive a null baseCachePath.

2:11 AM Changeset in webkit [252879] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Web Animations] Layout of children of element with forwards-filling opacity animation may be incorrect after removal
https://bugs.webkit.org/show_bug.cgi?id=204602
<rdar://problem/45311541>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: webanimations/child-layer-position-after-removal-of-animation-triggering-stacking-context-with-fill-forwards.html

In the case where we animate a property that affects whether an element establishes a stacking context, for instance opacity, the animation code,
specifically KeyframeEffect::apply(), forces a stacking context by setting setUsedZIndex(0) on the animated RenderStyle in case the element otherwise
has an "auto" z-index. This is required by the Web Animations specification (https://w3c.github.io/web-animations/#side-effects-section).

This means that a fill-forwards animation will still force the element to establish a stacking context after the animation is no longer "active". When
we remove such an animation, it may go from having a z-index to not having one, unless it had an explicit z-index provided through style. When this change
happens, RenderStyle::diff() will merely return "RepaintLayer" and thus will not foce a layout. However, updating the positions of child layers may be
necessary as the animation being removed may mean that there may not be a RenderLayer associated with that element's renderer anymore, and if that RenderLayer
had a position, then the position of child layers will no longer be correct.

Now, in the case where we destroy a layer in RenderLayerModelObject::styleDidChange(), we check whether the layer had a position before it is removed, and
update the position of child layers if it did.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):

LayoutTests:

Add a new ref test that checks that removing a forwards-filling animation that triggers a stacking context (for instance, animating opacity)
after it has completed from an element affecting layout yields the correct layout.

  • webanimations/child-layer-position-after-removal-of-animation-triggering-stacking-context-with-fill-forwards-expected.html: Added.
  • webanimations/child-layer-position-after-removal-of-animation-triggering-stacking-context-with-fill-forwards.html: Added.
12:30 AM Changeset in webkit [252878] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

Queuing a task in EventLoop is not working with UserMediaRequest allow completion handler
Queuing a task in EventLoop is not working with completion handlers
https://bugs.webkit.org/show_bug.cgi?id=204565
<rdar://problem/57466280>

Reviewed by Ryosuke Niwa.

Do not capture the completion handler in lambda passed to the event queue.
Instead, keep it in UserMediqRequest and call it either when running the task or when destroying UserMediaRequest.
Covered by existing tests failing the debug assertion.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::~UserMediaRequest):
(WebCore::UserMediaRequest::allow):

  • Modules/mediastream/UserMediaRequest.h:
12:24 AM Changeset in webkit [252877] by Carlos Garcia Campos
  • 3 edits in trunk/Source/JavaScriptCore

[GLIB] The API lock should be held before calling JSC::createTypeError
https://bugs.webkit.org/show_bug.cgi?id=204573

Reviewed by Mark Lam.

We are missing it in several places. This is causing a crash in test /jsc/object after r252298.

  • API/glib/JSCContext.cpp:

(jscContextGArrayToJSArray):
(jscContextJSArrayToGArray):
(jscContextGValueToJSValue):
(jscContextJSValueToGValue):

  • API/glib/JSCValue.cpp:

(jsc_value_new_array):
(jscValueCallFunction):

Nov 25, 2019:

11:52 PM Changeset in webkit [252876] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove tkent@ from watchlist
https://bugs.webkit.org/show_bug.cgi?id=204599

Patch by Kent Tamura <tkent@chromium.org> on 2019-11-25
Reviewed by Chris Dumez.

  • Scripts/webkitpy/common/config/watchlist: Remove tkent@
11:02 PM Changeset in webkit [252875] by ysuzuki@apple.com
  • 13 edits in trunk/Source

[JSC] InternalFunction should be non-destructible
https://bugs.webkit.org/show_bug.cgi?id=204556

Reviewed by Mark Lam.

Source/JavaScriptCore:

InternalFunction and most of its subclasses should be non-destructible since they can be trivially
destructed and don't use a destroy function. For the few subclasses that do need a destroy function,
these should have different IsoSubspaces of their own. For each of these subclasses, we annotate
needsDestruction = true, define a specific HeapCellType for them, and pass the HeapCellType to their
IsoSubspace so that their destructors can be invoked.

  • API/ObjCCallbackFunction.h:
  • API/glib/JSCCallbackFunction.cpp:

(JSC::JSCCallbackFunction::subspaceForImpl): Deleted.

  • API/glib/JSCCallbackFunction.h:

(JSC::JSCCallbackFunction::subspaceFor): Deleted.
(JSC::JSCCallbackFunction::createStructure): Deleted.
(JSC::JSCCallbackFunction::functionCallback): Deleted.
(JSC::JSCCallbackFunction::constructCallback): Deleted.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::InternalFunction):

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

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

  • bindings/js/WebCoreJSClientData.cpp:

(WebCore::JSVMClientData::JSVMClientData):

Source/WebKit:

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::JSNPMethod::subspaceForImpl):

10:08 PM Changeset in webkit [252874] by Wenson Hsieh
  • 4 edits in trunk

[macOS] Dragged images are only available as .tiff when dropping onto macCatalyst apps
https://bugs.webkit.org/show_bug.cgi?id=204598
<rdar://problem/57093920>

Reviewed by Tim Horton.

Source/WebKit:

On macOS, writing dragged images to the pasteboard only as file promises is mostly sufficient for the purposes
of dropping into Finder, Photos, and other apps. However, when dropping into a macCatalyst app, the contents of
NSPasteboard will only contain a file URL, which most Catalyst apps aren't able to handle. The only other valid
image representation that is written to the pasteboard in this case is "public.tiff", which loses fidelity in
the case of animated GIFs.

Instead, if the dragged image has a corresponding UTI and corresponding decoded image data, declare the UTI when
writing promised data to the pasteboard, and later provide data for the UTI, if the drop destination asks, by
using the promised image's data.

Test: DragAndDropTests.ProvideImageDataAsTypeIdentifiers

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setPromisedDataForImage):
(WebKit::WebViewImpl::provideDataForPasteboard):

Tools:

Verify that WKWebView is able to provide data in non-TIFF formats when dragging several types of images using a
new API test.

  • TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
9:18 PM Changeset in webkit [252873] by Fujii Hironori
  • 12 edits
    2 adds in trunk

[Win] Update KeyboardEvent as per the latest specification
https://bugs.webkit.org/show_bug.cgi?id=202183

Reviewed by Ross Kirsling.

Source/WebCore:

Add 'key' and 'code' properties of KeyboardEvent for Windows. The
implementation is copied from Chromium for Windows.

For implementing 'key' properties, ToUnicodeEx API is used to
convert a virtual key code to a character information.
Unfortunately, ToUnicodeEx alters the stored previous typed dead
key in the driver, it can't be used for each key event. So,
ToUnicodeEx is used to convert all virtual keys with all modifier
combinations beforehand.

This change turns on ENABLE_KEYBOARD_KEY_ATTRIBUTE and
ENABLE_KEYBOARD_CODE_ATTRIBUTE macros for all ports. A follow-up
patch will remove the macros.

Existing tests covers.

  • PlatformWin.cmake:
  • platform/win/KeyEventWin.cpp:

(WebCore::windowsKeyNames):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

  • platform/win/WindowsKeyNames.cpp: Added.

(hasControlAndAlt):
(getModifierFlags):
(nonPrintableVirtualKeyToDomKey):
(WindowsKeyNames::WindowsKeyNames):
(WindowsKeyNames::domKeyFromLParam):
(singleCharacterString):
(WindowsKeyNames::domKeyFromChar):
(WindowsKeyNames::domCodeFromLParam):
(WindowsKeyNames::updateLayout):

  • platform/win/WindowsKeyNames.h: Added.

Source/WebKit:

  • Shared/WebEvent.h:
  • Shared/WebKeyboardEvent.cpp:

(WebKit::WebKeyboardEvent::WebKeyboardEvent):

  • Shared/win/WebEventFactory.cpp:

(WebKit::windowsKeyNames):
(WebKit::WebEventFactory::createWebKeyboardEvent):

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:

Unskipped fast/events/arrow-keys-on-body.html, fast/events/keyboardevent-key.html, and fast/events/key-events-in-input-text.html.

6:56 PM Changeset in webkit [252872] by Ross Kirsling
  • 7 edits in trunk/Tools

[Win] Ensure MiniBrowser can be built with !ENABLE(WEBKIT_LEGACY)
https://bugs.webkit.org/show_bug.cgi?id=204592

Reviewed by Don Olmstead.

  • MiniBrowser/win/CMakeLists.txt:
  • MiniBrowser/win/Common.cpp:

(parseCommandLine):

  • MiniBrowser/win/Common.h:
  • MiniBrowser/win/MainWindow.cpp:

(MainWindow::init):
(MainWindow::WndProc):

  • MiniBrowser/win/WinMain.cpp:

(wWinMain):

  • PlatformWin.cmake:
6:12 PM Changeset in webkit [252871] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix 32-bit build.

  • bytecode/GetByValHistory.h:

(JSC::GetByValHistory::observeNonUID):
(JSC::GetByValHistory::observe):
(JSC::GetByValHistory::count const):
(JSC::GetByValHistory::filter const):

5:55 PM Changeset in webkit [252870] by Fujii Hironori
  • 6 edits
    1 add in trunk

Add DefaultHash<OptionSet<T>> and HashTrait<OptionSet<T>> specializations
https://bugs.webkit.org/show_bug.cgi?id=204562

Reviewed by Daniel Bates.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj: Added OptionSetHash.h
  • wtf/CMakeLists.txt: Ditto.
  • wtf/OptionSet.h: Made StorageType public, and use C++14 types.
  • wtf/OptionSetHash.h: Added.

(WTF::DefaultHash<OptionSet<T>>::Hash::hash):
(WTF::DefaultHash<OptionSet<T>>::Hash::equal):
(WTF::HashTraits<OptionSet<T>>::emptyValue):
(WTF::HashTraits<OptionSet<T>>::constructDeletedValue):
(WTF::HashTraits<OptionSet<T>>::isDeletedValue):

Tools:

  • TestWebKitAPI/Tests/WTF/OptionSet.cpp:

Added a new test WTF_OptionSet.HashSet.

4:28 PM Changeset in webkit [252869] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Use FontCascade::spaceWidth to measure single or collapsed whitespace content
https://bugs.webkit.org/show_bug.cgi?id=204594
<rdar://problem/57478360>

Reviewed by Antti Koivisto.

  • layout/inlineformatting/InlineTextItem.cpp:

(WebCore::Layout::InlineTextItem::createAndAppendTextItems):

3:18 PM Changeset in webkit [252868] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

User Variant for RenderBlockFlow line layout
https://bugs.webkit.org/show_bug.cgi?id=204591

Reviewed by Zalan Bujtas.

Move complex and simple line layout structures into a Variant to avoid wasting memory, and to allow easy expansion with an LFC path

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):
(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::deleteLines):
(WebCore::RenderBlockFlow::hitTestInlineChildren):
(WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
(WebCore::RenderBlockFlow::inlineSelectionGaps):
(WebCore::RenderBlockFlow::paintInlineChildren):
(WebCore::RenderBlockFlow::hasLines const):
(WebCore::RenderBlockFlow::invalidateLineLayoutPath):
(WebCore::RenderBlockFlow::layoutSimpleLines):
(WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
(WebCore::RenderBlockFlow::ensureLineBoxes):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::firstRootBox const):
(WebCore::RenderBlockFlow::lastRootBox const):
(WebCore::RenderBlockFlow::hasComplexLineLayout const):
(WebCore::RenderBlockFlow::complexLineLayout const):
(WebCore::RenderBlockFlow::complexLineLayout):
(WebCore::RenderBlockFlow::hasSimpleLineLayout const):
(WebCore::RenderBlockFlow::simpleLineLayout const):
(WebCore::RenderBlockFlow::simpleLineLayout):

2:18 PM Changeset in webkit [252867] by Manuel Rego Casasnovas
  • 15 edits
    32 adds in trunk/LayoutTests/imported/w3c

[css-grid] Updating WPT parsing tests
https://bugs.webkit.org/show_bug.cgi?id=204585

Reviewed by Javier Fernandez.

Update parsing tests from WPT and generate new test results.

  • web-platform-tests/css/css-grid/parsing/grid-area-computed-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-area-computed.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-area-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-area-shorthand.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-area-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-area-valid.html:
  • web-platform-tests/css/css-grid/parsing/grid-auto-columns-computed-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-auto-columns-computed.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-auto-columns-invalid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-auto-columns-invalid.html:
  • web-platform-tests/css/css-grid/parsing/grid-auto-columns-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-auto-columns-valid.html:
  • web-platform-tests/css/css-grid/parsing/grid-auto-flow-computed-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-auto-flow-computed.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid.html:
  • web-platform-tests/css/css-grid/parsing/grid-auto-rows-computed-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-auto-rows-computed.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-auto-rows-invalid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-auto-rows-invalid.html:
  • web-platform-tests/css/css-grid/parsing/grid-auto-rows-valid-expected.txt:
  • web-platform-tests/css/css-grid/parsing/grid-auto-rows-valid.html:
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-invalid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-invalid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-valid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-shorthand-valid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-shorthand.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-areas-computed-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-areas-computed.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-areas-valid.html:
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-invalid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-invalid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-valid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-valid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-invalid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-invalid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-valid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-valid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-invalid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-invalid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-valid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand-valid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-shorthand.html: Added.
  • web-platform-tests/css/css-grid/parsing/w3c-import.log:
11:06 AM Changeset in webkit [252866] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Do not run layout when setNeedsLayout is disabled
https://bugs.webkit.org/show_bug.cgi?id=204586
<rdar://problem/57475333>

Reviewed by Antti Koivisto.

setNeedsLayout is disabled while the content size is set on the ScrollView. It triggers a forced layout in WebkitLegacy.

  • layout/LayoutContext.cpp:

(WebCore::Layout::LayoutContext::layout):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):

10:33 AM Changeset in webkit [252865] by Alan Bujtas
  • 9 edits
    2 moves in trunk/Source/WebCore

[LFC][IFC] Rename Line to LineBuilder
https://bugs.webkit.org/show_bug.cgi?id=204584
<rdar://problem/57474964>

Reviewed by Antti Koivisto.

It really is a line builder.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/inlineformatting/InlineFormattingContext.cpp:

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

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

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

  • layout/inlineformatting/InlineLineBreaker.cpp:
  • layout/inlineformatting/InlineLineBuilder.cpp: Renamed from Source/WebCore/layout/inlineformatting/InlineLine.cpp.

(WebCore::Layout::InlineItemRun::layoutBox const):
(WebCore::Layout::InlineItemRun::logicalRect const):
(WebCore::Layout::InlineItemRun::textContext const):
(WebCore::Layout::InlineItemRun::isText const):
(WebCore::Layout::InlineItemRun::isBox const):
(WebCore::Layout::InlineItemRun::isContainerStart const):
(WebCore::Layout::InlineItemRun::isContainerEnd const):
(WebCore::Layout::InlineItemRun::isForcedLineBreak const):
(WebCore::Layout::InlineItemRun::type const):
(WebCore::Layout::InlineItemRun::setIsCollapsed):
(WebCore::Layout::InlineItemRun::isCollapsed const):
(WebCore::Layout::InlineItemRun::isCollapsedToZeroAdvanceWidth const):
(WebCore::Layout::InlineItemRun::isCollapsible const):
(WebCore::Layout::InlineItemRun::isWhitespace const):
(WebCore::Layout::InlineItemRun::hasExpansionOpportunity const):
(WebCore::Layout::InlineItemRun::InlineItemRun):
(WebCore::Layout::InlineItemRun::setCollapsesToZeroAdvanceWidth):
(WebCore::Layout::ContinousContent::canBeExpanded):
(WebCore::Layout::ContinousContent::canBeMerged const):
(WebCore::Layout::ContinousContent::ContinousContent):
(WebCore::Layout::ContinousContent::append):
(WebCore::Layout::ContinousContent::close):
(WebCore::Layout::LineBuilder::Run::Run):
(WebCore::Layout::LineBuilder::Run::adjustExpansionBehavior):
(WebCore::Layout::LineBuilder::Run::expansionBehavior const):
(WebCore::Layout::LineBuilder::Run::setComputedHorizontalExpansion):
(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::~LineBuilder):
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::shouldPreserveTrailingContent):
(WebCore::Layout::shouldPreserveLeadingContent):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::alignContentVertically):
(WebCore::Layout::LineBuilder::justifyRuns const):
(WebCore::Layout::LineBuilder::alignContentHorizontally const):
(WebCore::Layout::LineBuilder::removeTrailingTrimmableContent):
(WebCore::Layout::LineBuilder::moveLogicalLeft):
(WebCore::Layout::LineBuilder::moveLogicalRight):
(WebCore::Layout::LineBuilder::append):
(WebCore::Layout::LineBuilder::appendNonBreakableSpace):
(WebCore::Layout::LineBuilder::appendInlineContainerStart):
(WebCore::Layout::LineBuilder::appendInlineContainerEnd):
(WebCore::Layout::LineBuilder::appendTextContent):
(WebCore::Layout::LineBuilder::appendNonReplacedInlineBox):
(WebCore::Layout::LineBuilder::appendReplacedInlineBox):
(WebCore::Layout::LineBuilder::appendLineBreak):
(WebCore::Layout::LineBuilder::adjustBaselineAndLineHeight):
(WebCore::Layout::LineBuilder::runContentHeight const):
(WebCore::Layout::LineBuilder::TrimmableContent::append):
(WebCore::Layout::LineBuilder::halfLeadingMetrics):
(WebCore::Layout::LineBuilder::layoutState const):
(WebCore::Layout::LineBuilder::formattingContext const):

  • layout/inlineformatting/InlineLineBuilder.h: Renamed from Source/WebCore/layout/inlineformatting/InlineLine.h.

(WebCore::Layout::LineBuilder::isVisuallyEmpty const):
(WebCore::Layout::LineBuilder::hasIntrusiveFloat const):
(WebCore::Layout::LineBuilder::availableWidth const):
(WebCore::Layout::LineBuilder::trailingTrimmableWidth const):
(WebCore::Layout::LineBuilder::lineBox const):
(WebCore::Layout::LineBuilder::setHasIntrusiveFloat):
(WebCore::Layout::LineBuilder::Run::isText const):
(WebCore::Layout::LineBuilder::Run::isBox const):
(WebCore::Layout::LineBuilder::Run::isForcedLineBreak const):
(WebCore::Layout::LineBuilder::Run::isContainerStart const):
(WebCore::Layout::LineBuilder::Run::isContainerEnd const):
(WebCore::Layout::LineBuilder::Run::layoutBox const):
(WebCore::Layout::LineBuilder::Run::logicalRect const):
(WebCore::Layout::LineBuilder::Run::textContext const):
(WebCore::Layout::LineBuilder::Run::isCollapsedToVisuallyEmpty const):
(WebCore::Layout::LineBuilder::Run::adjustLogicalTop):
(WebCore::Layout::LineBuilder::Run::moveHorizontally):
(WebCore::Layout::LineBuilder::Run::moveVertically):
(WebCore::Layout::LineBuilder::Run::setLogicalHeight):
(WebCore::Layout::LineBuilder::Run::hasExpansionOpportunity const):
(WebCore::Layout::LineBuilder::Run::expansionOpportunityCount const):
(WebCore::Layout::LineBuilder::logicalTop const):
(WebCore::Layout::LineBuilder::logicalBottom const):
(WebCore::Layout::LineBuilder::logicalLeft const):
(WebCore::Layout::LineBuilder::logicalRight const):
(WebCore::Layout::LineBuilder::logicalWidth const):
(WebCore::Layout::LineBuilder::logicalHeight const):
(WebCore::Layout::LineBuilder::contentLogicalWidth const):
(WebCore::Layout::LineBuilder::contentLogicalRight const):
(WebCore::Layout::LineBuilder::baselineOffset const):
(WebCore::Layout::LineBuilder::isTextAlignJustify const):
(WebCore::Layout::LineBuilder::TrimmableContent::width const):
(WebCore::Layout::LineBuilder::TrimmableContent::runs):
(WebCore::Layout::LineBuilder::TrimmableContent::isEmpty const):
(WebCore::Layout::LineBuilder::TrimmableContent::clear):

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::layoutLine):
(WebCore::Layout::LineLayoutContext::commitPendingContent):
(WebCore::Layout::LineLayoutContext::close):
(WebCore::Layout::LineLayoutContext::placeInlineItem):
(WebCore::Layout::LineLayoutContext::processUncommittedContent):

  • layout/inlineformatting/LineLayoutContext.h:
10:15 AM Changeset in webkit [252864] by commit-queue@webkit.org
  • 72 edits in trunk

Support OffscreenCanvas as a CanvasImageSource type in CanvasDrawImage, CanvasFillStrokeStyles
https://bugs.webkit.org/show_bug.cgi?id=182921

Patch by Zan Dobersek <zdobersek@igalia.com> on 2019-11-25
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvascopy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvascopy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvaspattern-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvaspattern.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.voidreturn-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.voidreturn.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.1-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.2-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.nocontext-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.nocontext.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.null-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.null.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing-expected.txt:
  • web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.pattern-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.pattern.worker-expected.txt:

Source/WebCore:

No new tests. Covered by existing tests.

  • bindings/js/CallTracerTypes.h:
  • html/canvas/CanvasDrawImage.idl:
  • html/canvas/CanvasFillStrokeStyles.idl:
  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::size):
(WebCore::CanvasRenderingContext2DBase::drawImage):

  • html/canvas/CanvasRenderingContext2DBase.h:
  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::indexForData):
(WebCore::InspectorCanvas::buildAction):

  • inspector/InspectorCanvas.h:
9:29 AM Changeset in webkit [252863] by Alan Bujtas
  • 7 edits
    2 moves in trunk/Source/WebCore

[LFC][IFC] Rename LineLayout to LineLayoutContext
https://bugs.webkit.org/show_bug.cgi?id=204582
<rdar://problem/57474018>

Reviewed by Antti Koivisto.

LineLayoutContext is the context for the inline content and not just for a single line.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/inlineformatting/InlineFormattingContext.cpp:

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

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

(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
(WebCore::Layout::LineBreaker::wordBreakingBehavior const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):

  • layout/inlineformatting/InlineLineBreaker.h:
  • layout/inlineformatting/LineLayoutContext.cpp: Renamed from Source/WebCore/layout/inlineformatting/InlineLineLayout.cpp.

(WebCore::Layout::inlineItemWidth):
(WebCore::Layout::LineLayoutContext::UncommittedContent::add):
(WebCore::Layout::LineLayoutContext::UncommittedContent::reset):
(WebCore::Layout::LineLayoutContext::LineLayoutContext):
(WebCore::Layout::LineLayoutContext::layoutLine):
(WebCore::Layout::LineLayoutContext::commitPendingContent):
(WebCore::Layout::LineLayoutContext::close):
(WebCore::Layout::LineLayoutContext::placeInlineItem):
(WebCore::Layout::LineLayoutContext::processUncommittedContent):
(WebCore::Layout::LineLayoutContext::shouldProcessUncommittedContent const):
(WebCore::Layout::LineLayoutContext::UncommittedContent::trim):

  • layout/inlineformatting/LineLayoutContext.h: Renamed from Source/WebCore/layout/inlineformatting/InlineLineLayout.h.

(WebCore::Layout::LineLayoutContext::formattingContext const):
(WebCore::Layout::LineLayoutContext::UncommittedContent::runs):
(WebCore::Layout::LineLayoutContext::UncommittedContent::runs const):
(WebCore::Layout::LineLayoutContext::UncommittedContent::isEmpty const):
(WebCore::Layout::LineLayoutContext::UncommittedContent::size const):
(WebCore::Layout::LineLayoutContext::UncommittedContent::width const):

8:19 AM Changeset in webkit [252862] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC] Pass UsedHorizontal/VerticalValues in by const reference
https://bugs.webkit.org/show_bug.cgi?id=204563
<rdar://problem/57464129>

Reviewed by Antti Koivisto.

UsedHorizontal/VerticalValues have grown a bit so let's pass them in by reference.

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

(WebCore::Layout::FormattingContext::Geometry::staticVerticalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::staticHorizontalPositionForOutOfFlowPositioned const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases const):
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowVerticalGeometry const):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHorizontalGeometry):
(WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin const):
(WebCore::Layout::FormattingContext::Geometry::inFlowPositionedPositionOffset const):
(WebCore::Layout::FormattingContext::Geometry::computedPadding const):
(WebCore::Layout::FormattingContext::Geometry::computedHorizontalMargin const):
(WebCore::Layout::FormattingContext::Geometry::computedVerticalMargin const):

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

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin const):
(WebCore::Layout::BlockFormattingContext::Geometry::staticVerticalPosition const):
(WebCore::Layout::BlockFormattingContext::Geometry::staticHorizontalPosition const):
(WebCore::Layout::BlockFormattingContext::Geometry::staticPosition const):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin):

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::layoutFormattingContextRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalAndVerticalGeometry):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
(WebCore::Layout::InlineFormattingContext::computeIntrinsicWidthForFormattingRoot):
(WebCore::Layout::InlineFormattingContext::computeHorizontalMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::computeHeightAndMargin):
(WebCore::Layout::InlineFormattingContext::computeWidthAndHeightForReplacedInlineBox):
(WebCore::Layout::InlineFormattingContext::constraintsForLine):
(WebCore::Layout::InlineFormattingContext::setDisplayBoxesForLine):

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

(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin):
(WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockHeightAndMargin const):

8:13 AM Changeset in webkit [252861] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Construct only one LineLayout object per inline formatting context
https://bugs.webkit.org/show_bug.cgi?id=204561
<rdar://problem/57463666>

Reviewed by Antti Koivisto.

Let's construct only one LineLayout object per IFC.

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

  • layout/inlineformatting/InlineLineLayout.cpp:

(WebCore::Layout::LineLayout::LineLayout):
(WebCore::Layout::LineLayout::layout):
(WebCore::Layout::LineLayout::close):
(WebCore::Layout::LineLayout::LineInput::LineInput): Deleted.

  • layout/inlineformatting/InlineLineLayout.h:
8:04 AM Changeset in webkit [252860] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[JHBuild] xserver build fails
https://bugs.webkit.org/show_bug.cgi?id=204577

Patch by Philippe Normand <pnormand@igalia.com> on 2019-11-25
Reviewed by Žan Doberšek.

  • gtk/jhbuild.modules: Bump libdrm and add implicit dependency to

it via mesa for the xserver recipe.

7:52 AM Changeset in webkit [252859] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

[LFC][IFC] Decouple LineLayout and Line
https://bugs.webkit.org/show_bug.cgi?id=204560
<rdar://problem/57463295>

Reviewed by Antti Koivisto.

This is in preparation for constructing only one LineLayout/Line object for an inline formatting context and not
one per line.

  • layout/inlineformatting/InlineFormattingContext.cpp:

(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::computedIntrinsicWidthForConstraint const):
(WebCore::Layout::InlineFormattingContext::constraintsForLine):
(WebCore::Layout::InlineFormattingContext::initialConstraintsForLine): Deleted.

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

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

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::Line):
(WebCore::Layout::Line::initialize):

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::hasIntrusiveFloat const):
(WebCore::Layout::Line::setHasIntrusiveFloat):

  • layout/inlineformatting/InlineLineLayout.cpp:

(WebCore::Layout::LineLayout::LineInput::LineInput):
(WebCore::Layout::LineLayout::LineLayout):
(WebCore::Layout::LineLayout::close):
(WebCore::Layout::LineLayout::placeInlineItem):
(WebCore::Layout::LineLayout::processUncommittedContent):
(WebCore::Layout::LineLayout::shouldProcessUncommittedContent const):

  • layout/inlineformatting/InlineLineLayout.h:
6:44 AM Changeset in webkit [252858] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] [pt_BR] Updated Brazilian Portuguese translation
https://bugs.webkit.org/show_bug.cgi?id=204564

Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2019-11-25
Rubber-stamped by Carlos Garcia Campos.

  • pt_BR.po:
6:41 AM Changeset in webkit [252857] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=204057

Patch by Yuri Chornoivan <yurchor@ukr.net> on 2019-11-25
Rubber-stamped by Carlos Garcia Campos.

  • uk.po:
6:39 AM Changeset in webkit [252856] by commit-queue@webkit.org
  • 1510 edits
    1 delete in trunk

Basic OffscreenCanvas functionality
https://bugs.webkit.org/show_bug.cgi?id=182686

Patch by Zan Dobersek <zdobersek@igalia.com> and Chris Lord <Chris Lord> on 2019-11-25
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.destination-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.destination-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.lighter.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.source-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.source-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.canvas.xor.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.destination-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.lighter-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.lighter.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.source-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.xor-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.clip.xor.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvascopy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvascopy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvaspattern-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.canvaspattern.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.default-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.fill-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.fill.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.image-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.image.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.imagepattern-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.imagepattern.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.range-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.globalAlpha.range.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.destination-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.lighter-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.lighter.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.source-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.xor-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.image.xor.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.casesensitive-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.casesensitive.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.clear-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.clear.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.darker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.darker.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.default-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.get-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.get.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.highlight-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.highlight.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.nullsuffix-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.nullsuffix.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.unrecognised-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.operation.unrecognised.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.destination-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.lighter-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.lighter.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.source-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.xor-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.solid.xor.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.destination-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.lighter-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.lighter.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-over-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.source-over.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.xor-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.transparent.xor.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.fill.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.image.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.nocontext.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.copy-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.copy.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.destination-atop-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.destination-atop.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.destination-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.destination-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.source-in-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.source-in.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.source-out-expected.txt:
  • web-platform-tests/offscreen-canvas/compositing/2d.composite.uncovered.pattern.source-out.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.coordinatespace-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.coordinatespace.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.missingargs.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.voidreturn-expected.txt:
  • web-platform-tests/offscreen-canvas/conformance-requirements/2d.voidreturn.worker-expected.txt:
  • 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/drawing-images-to-the-canvas/2d.drawImage.3arg.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.5arg-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.5arg.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.destpos-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.destpos.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.destsize-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.destsize.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcepos-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcepos.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcesize-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcesize.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.animated.poster.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.broken.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.clip-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.clip.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.composite-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.composite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.floatsource.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.negativedest-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.negativedest.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.negativedir-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.negativedir.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.negativesource-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.negativesource.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.nowrap-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.nowrap.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.null.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.path-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.path.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.1-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.2-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.self.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.svg.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.transform-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.transform.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.wrongtype.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.zerosource.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.clip-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.clip.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.globalalpha-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.globalalpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.globalcomposite-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.globalcomposite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.path-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.path.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.shadow-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.shadow.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.transform-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.transform.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.clearRect.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.clip-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.clip.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.path-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.path.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.transform-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.transform.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.fillRect.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.clip-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.clip.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.globalalpha-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.globalalpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.path-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.path.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.shadow-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.shadow.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.transform-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.transform.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.1-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.2-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.3-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.4-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.5-expected.txt:
  • web-platform-tests/offscreen-canvas/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.default-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.get.semitransparent-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.get.semitransparent.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.get.solid-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.get.solid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.get.transparent-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.get.transparent.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.invalidstring-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.invalidstring.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.invalidtype-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.invalidtype.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-7-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-7.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-8-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-8.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-9-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-9.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-7-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-7.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-8-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-8.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-9-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-9.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex8-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hex8.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.html4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.html4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex7-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex7.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex8-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex8.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-6-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.svg-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.svg-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.system-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.system.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.empty-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.colour-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.colour.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.multiple-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.multiple.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.overlap-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.overlap.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.overlap2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.overlap2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.solid-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.solid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.vertical-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.vertical.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fill-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fill.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.stroke-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.stroke.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeRect-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeRect.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.transform.1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.transform.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.transform.2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.transform.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.transform.3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.linear.transform.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.compare-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.compare.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.crosscanvas-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.crosscanvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidcolour.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.invalidoffset.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.update-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.object.update.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.behind.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.beside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.bottom-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.bottom.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.front-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.front.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.top-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.cone.top.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.equal-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.equal.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.inside3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.outside3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.touch3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.transform.1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.transform.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.transform.2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.transform.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.transform.3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.gradient.radial.transform.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.image-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.image.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.nocontext-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.nocontext.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.crosscanvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.null.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.string.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.image.undefined.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas2-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.modify.canvas2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord3-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.norepeat.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.orientation.image-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.orientation.image.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.coord2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.coord3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeat.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeatx.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeatx.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeatx.coord1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeatx.coord1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeatx.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeatx.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeaty.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeaty.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeaty.coord1-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeaty.coord1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeaty.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.paint.repeaty.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.case.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.empty-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.null-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.null.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.undefined.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.strokeStyle.default-expected.txt:
  • web-platform-tests/offscreen-canvas/fill-and-stroke-styles/2d.strokeStyle.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/filter/offscreencanvas.filter-expected.txt:
  • web-platform-tests/offscreen-canvas/filter/offscreencanvas.filter.w-expected.txt:
  • web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing-expected.txt:
  • web-platform-tests/offscreen-canvas/image-smoothing/image.smoothing.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.butt-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.butt.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.closed-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.closed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.open-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.open.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.round-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.round.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.square-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.square.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cap.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cross-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.cross.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.defaults-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.defaults.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.bevel-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.bevel.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.closed-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.closed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.miter-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.miter.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.open-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.open.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.parallel-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.parallel.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.round-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.round.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.join.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.acute-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.acute.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.exceeded-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.exceeded.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.lineedge-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.lineedge.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.obtuse-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.obtuse.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.rightangle-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.rightangle.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.within-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.miter.within.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.union-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.union.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.scaledefault-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.scaledefault.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.transformed-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.transformed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/line-styles/2d.line.width.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.3-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.4-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.5-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.6-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.angle.6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.default-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.empty-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.end-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.end.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.nonempty-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.nonempty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.scale.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.scale.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.scale.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.scale.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.selfintersect.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.selfintersect.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.3-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.4-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.5-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.shape.5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.3-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.4-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.twopie.4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.zero.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.zero.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.zero.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.zero.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.zeroradius-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arc.zeroradius.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.coincide.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.coincide.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.coincide.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.coincide.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.collinear.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.collinear.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.collinear.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.collinear.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.collinear.3-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.collinear.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.ensuresubpath.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.scale-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.scale.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.curve2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.end-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.end.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.start-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.shape.start.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.transformation-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.transformation.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.zero.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.zero.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.zero.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.arcTo.zero.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.beginPath-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.beginPath.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.ensuresubpath.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.ensuresubpath.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.ensuresubpath.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.scaled-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.scaled.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.shape-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.bezierCurveTo.shape.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.basic.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.basic.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.basic.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.basic.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.empty-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.intersect-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.intersect.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.unaffected-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.unaffected.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.winding.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.winding.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.winding.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.clip.winding.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.closePath.empty-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.closePath.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.closePath.newline-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.closePath.newline.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.closePath.nextpoint-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.closePath.nextpoint.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.closed.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.closed.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.closed.unaffected-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.closed.unaffected.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.overlap-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.overlap.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.add-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.add.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.subtract.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.subtract.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.subtract.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.subtract.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.subtract.3-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.fill.winding.subtract.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.initial-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.initial.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.arc-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.arc.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.basic.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.basic.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.basic.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.basic.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.bezier-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.bezier.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.bigarc-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.bigarc.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.edge-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.edge.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.empty-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.subpath-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.subpath.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.3-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.4-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.transform.4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.unclosed-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.unclosed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.winding-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.isPointInPath.winding.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.ensuresubpath.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.ensuresubpath.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.ensuresubpath.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.ensuresubpath.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.nextpoint-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.nextpoint.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.nonfinite.details-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.nonfinite.details.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.lineTo.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.multiple-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.multiple.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.newsubpath-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.newsubpath.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.moveTo.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.scaled-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.scaled.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.shape-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.quadraticCurveTo.shape.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.closed-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.closed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.end.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.end.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.end.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.end.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.newsubpath-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.newsubpath.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.selfintersect-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.selfintersect.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.winding-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.winding.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.3-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.4-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.5-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.6-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.rect.zero.6.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.empty-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.overlap-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.overlap.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.arc-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.arc.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.closed-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.closed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.corner-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.corner.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.curve-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.curve.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.line-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.line.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.rect-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.prune.rect.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.scale1-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.scale1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.scale2-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.scale2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.skew-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.skew.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.unaffected-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.unaffected.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.union-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.stroke.union.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.transformation.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.transformation.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.transformation.changing-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.transformation.changing.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.transformation.multiple-expected.txt:
  • web-platform-tests/offscreen-canvas/path-objects/2d.path.transformation.multiple.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.initial-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.initial.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create1.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.initial-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.initial.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.large-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.large.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.round-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.round.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.create2.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.clamp-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.clamp.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.length-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.length.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonpremul-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.nonpremul.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.cols-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.cols.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.rgb-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.rgb.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.rows-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.order.rows.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.range-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.range.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.source.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.source.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.source.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.source.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.source.size-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.source.size.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.tiny-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.tiny.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.unaffected-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.unaffected.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.get.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.clamp-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.clamp.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.nan-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.nan.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.properties-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.properties.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.readonly-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.readonly.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.round-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.round.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.set-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.set.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.string-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.string.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.undefined-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.object.undefined.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.clip-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.clip.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.created-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.created.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.cross-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.cross.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.rect1-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.rect1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.rect2-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.rect2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.dirty.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.modified-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.modified.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.null.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.path-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.path.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.unaffected-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.unaffected.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.unchanged-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.unchanged.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/pixel-manipulation/2d.imageData.put.wrongtype.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.3-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.4-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.4.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.5-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.alpha.5.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowBlur.initial-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowBlur.initial.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowBlur.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowBlur.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowBlur.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowBlur.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowColor.initial-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowColor.initial.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowColor.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowColor.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowColor.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowColor.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowOffset.initial-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowOffset.initial.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowOffset.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowOffset.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowOffset.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.attributes.shadowOffset.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.canvas.transparent.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.clip.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.clip.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.clip.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.clip.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.clip.3-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.clip.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.composite.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.composite.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.composite.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.composite.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.composite.3-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.composite.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.blur-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.blur.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.off.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.off.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.off.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.off.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.x-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.x.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.y-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.enable.y.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.transparent.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.transparent.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.gradient.transparent.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.alpha-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.scale-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.scale.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.section-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.section.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.transparent.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.transparent.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.transparent.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.image.transparent.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.negativeX-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.negativeX.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.negativeY-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.negativeY.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.positiveX-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.positiveX.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.positiveY-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.offset.positiveY.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.outside-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.outside.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.pattern.alpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.pattern.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.pattern.transparent.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.pattern.transparent.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.cap.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.cap.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.cap.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.cap.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.join.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.join.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.join.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.join.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.join.3-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.stroke.join.3.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.transform.1-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.transform.1.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.transform.2-expected.txt:
  • web-platform-tests/offscreen-canvas/shadows/2d.shadow.transform.2.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.align.default-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.align.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.align.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.align.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.align.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.align.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.baseline.default-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.baseline.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.baseline.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.baseline.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.baseline.valid-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.baseline.valid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.center-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.center.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.end.ltr-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.end.ltr.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.end.rtl-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.end.rtl.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.left-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.left.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.right-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.right.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.start.ltr-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.start.ltr.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.start.rtl-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.align.start.rtl.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.alphabetic-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.alphabetic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.bottom-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.bottom.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.hanging-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.hanging.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.ideographic-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.ideographic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.middle-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.middle.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.top-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.baseline.top.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.basic-manual.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.NaN-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.NaN.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.bound-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.bound.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.fontface-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.fontface.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.large-manual.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.small-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.small.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.maxWidth.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.rtl-manual.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.unaffected-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fill.unaffected.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fontface-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fontface.notinpage-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fontface.notinpage.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fontface.repeat-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fontface.repeat.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.fontface.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.kern.consistent-manual.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.end-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.end.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.nonspace-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.nonspace.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.other-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.other.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.space-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.space.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.start-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.space.collapse.start.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.stroke.basic-manual.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.stroke.unaffected-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.draw.stroke.unaffected.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.default-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.complex-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.complex.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.invalid-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.invalid.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.system-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.system.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.tiny-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.font.parse.tiny.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.measure.width.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.measure.width.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/text/2d.text.measure.width.space.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.bitmap-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.bitmap.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.clip-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.clip.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.fillStyle-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.fillStyle.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.globalAlpha-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.globalAlpha.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.globalCompositeOperation-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.globalCompositeOperation.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.lineCap-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.lineCap.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.lineJoin-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.lineJoin.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.lineWidth-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.lineWidth.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.miterLimit-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.miterLimit.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.path-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.path.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowBlur-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowBlur.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowColor-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowColor.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowOffsetX-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowOffsetX.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowOffsetY-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.shadowOffsetY.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.stack-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.stack.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.stackdepth-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.stackdepth.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.strokeStyle-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.strokeStyle.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.transformation-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.transformation.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.underflow-expected.txt:
  • web-platform-tests/offscreen-canvas/the-canvas-state/2d.state.saverestore.underflow.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.canvas.readonly-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.canvas.readonly.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.canvas.reference-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.canvas.reference.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.getcontext.exists-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.getcontext.exists.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.getcontext.extraargs-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.getcontext.extraargs.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.getcontext.shared-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.getcontext.shared.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/2d.getcontext.unique.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.arguments.missing.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.casesensitive.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.emptystring.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badname.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.badsuffix.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.nullsuffix.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/context.unrecognised.unicode.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.colour-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.colour.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.2dstate-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.2dstate.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.clip-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.clip.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.different-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.different.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.gradient-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.gradient.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.path-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.path.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.pattern-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.pattern.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.same-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.same.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.transform-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/initial.reset.transform.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.constructor.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.getcontext.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/offscreencanvas.resize-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.w-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.default.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.idl.set.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.idl.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.decimal.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.em.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.empty.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.exp.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.hex.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.junk.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.minus.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.octal.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.onlyspace.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.percent.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.plus.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.space.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.trailingjunk.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.whitespace.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.parse.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.reflect.setidl.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.attributes.reflect.setidlzero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/the-offscreen-canvas/size.large.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.order-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.order.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.direction-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.direction.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.radians-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.radians.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.wrap-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.wrap.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.wrapnegative-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.wrapnegative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.rotate.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.large-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.large.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.multiple-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.multiple.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.negative-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.negative.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.zero-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.scale.zero.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.setTransform.multiple-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.setTransform.multiple.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.setTransform.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.setTransform.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.setTransform.skewed-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.setTransform.skewed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.identity-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.identity.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.multiply-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.multiply.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.nonfinite.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.skewed-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.transform.skewed.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.translate.basic-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.translate.basic.worker-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.translate.nonfinite-expected.txt:
  • web-platform-tests/offscreen-canvas/transformations/2d.transformation.translate.nonfinite.worker-expected.txt:

Source/WebCore:

Enable context creation and retrieval on OffscreenCanvas, and creation
of OffscreenCanvas in a worker. To allow for Canvas fill/stroke
styles in workers, parseColorWorkerSafe has been added, which relies
on CSSParserFastPaths::parseColor. That function has also been given
a CSSValuePool parameter, so that a value pool that is safe to use on
the calling thread can be provided.

No new tests. Covered by existing tests.

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::parseColorWorkerSafe):

  • css/parser/CSSParser.h:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::parseColor):
(WebCore::parseCaretColor):
(WebCore::CSSParserFastPaths::maybeParseValue):

  • css/parser/CSSParserFastPaths.h:
  • html/CanvasBase.cpp:

(WebCore::CanvasBase::drawingContext const):

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::setSize):
(WebCore::OffscreenCanvas::getContext):
(WebCore::OffscreenCanvas::didDraw):
(WebCore::OffscreenCanvas::cssValuePool):
(WebCore::OffscreenCanvas::createImageBuffer const):
(WebCore::OffscreenCanvas::reset):

  • html/OffscreenCanvas.h:
  • html/OffscreenCanvas.idl:
  • html/canvas/CanvasGradient.cpp:

(WebCore::CanvasGradient::CanvasGradient):
(WebCore::m_canvas):
(WebCore::CanvasGradient::addColorStop):

  • html/canvas/CanvasGradient.h:

(WebCore::CanvasGradient::create):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::setStrokeStyle):
(WebCore::CanvasRenderingContext2DBase::setFillStyle):
(WebCore::CanvasRenderingContext2DBase::setShadowColor):
(WebCore::CanvasRenderingContext2DBase::setStrokeColor):
(WebCore::CanvasRenderingContext2DBase::setFillColor):
(WebCore::CanvasRenderingContext2DBase::setShadow):
(WebCore::CanvasRenderingContext2DBase::createLinearGradient):
(WebCore::CanvasRenderingContext2DBase::createRadialGradient):

  • html/canvas/CanvasStyle.cpp:

(WebCore::isCurrentColorString):
(WebCore::parseColor):
(WebCore::currentColor):
(WebCore::parseColorOrCurrentColor):
(WebCore::CanvasStyle::createFromString):
(WebCore::CanvasStyle::createFromStringWithOverrideAlpha):

  • html/canvas/CanvasStyle.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::cssValuePool):

  • workers/WorkerGlobalScope.h:

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-invalid-args-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-transfer-expected.txt:
6:33 AM Changeset in webkit [252855] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WTF

REGRESSION(r252770): [GTK][WPE] Remote inspector no longer works if debugger is in a different kind of system
https://bugs.webkit.org/show_bug.cgi?id=204572

Reviewed by Žan Doberšek.

This patch adds the following changes:

  • Use uint32_t instead of size_t to store the body size in the message header, because size_t has a different size in 32 and 64 bit platforms.
  • Use htonl/ntohl to write/read the body size in the header.
  • Add a flags byte to the header to include the message byte order. The sender always uses the host byter order and the receiver does the byte swapping if needed.
  • wtf/glib/SocketConnection.cpp:

(WTF::messageIsByteSwapped):
(WTF::SocketConnection::readMessage):
(WTF::SocketConnection::sendMessage):

5:03 AM Changeset in webkit [252854] by youenn@apple.com
  • 8 edits in trunk/Source/WebCore

Enable legacy getUserMedia as a quirk
https://bugs.webkit.org/show_bug.cgi?id=204403
<rdar://problem/56421276>

Reviewed by Eric Carlson.

Add a shim for legacy getUserMedia to cover uses of this legacy API for existing web pages.
Add a corresponding settings and quirk.
Covered by manual test.

  • Modules/mediastream/NavigatorMediaDevices.idl:
  • bindings/js/JSDOMBindingInternals.js:
  • bindings/js/JSNavigatorCustom.cpp:

(WebCore::JSNavigator::getUserMedia):

  • dom/Document.cpp:

(WebCore::m_undoManager):

  • page/Quirks.cpp:

(WebCore::Quirks::shouldEnableLegacyGetUserMedia const):

  • page/Quirks.h:
  • page/Settings.yaml:
3:39 AM Changeset in webkit [252853] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WTF

REGRESSION(r252770): [GTK][WPE] Remove inspector broken in debug builds after r252770
https://bugs.webkit.org/show_bug.cgi?id=204569

Reviewed by Žan Doberšek.

We need to call relaxAdoptionRequirement() in SocketConnection constructor because we are taking a reference for
the read monitor lambda.

  • wtf/glib/SocketConnection.cpp:

(WTF::SocketConnection::SocketConnection):

3:25 AM Changeset in webkit [252852] by cturner@igalia.com
  • 6 edits
    2 deletes in trunk

[GStreamer] Flatten MediaPlayerPrivateGStreamer into MediaPlayerPrivateGStreamerBase
https://bugs.webkit.org/show_bug.cgi?id=204352

Reviewed by Philippe Normand.

Source/WebCore:

The inheritance link between the base player and the private player no
longer serves a purpose. The only user of the base class is the private
player.

Squashing these toghether makes it easy to do further refactorings,
since everything can be seen in one place rather than being arbitrarily
split into two classes and having to do derived-to-base conversions in
your head for no gain in clarity elsewhere.

Aside from merging the classes, the only other change here is switching
to in-class initialization of many member variables, rather than a long
list of initializations in the constructor that gets fiddly with
-Wreorder.

These classes are much too large and could use some redesign, this is
only a first step toward that goal.

This is a refactoring, hopefully well covered by our existing tests!

  • platform/GStreamer.cmake:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::greatestCommonDivisor):
(WebCore::busMessageCallback):
(WebCore::convertToInternalProtocol):
(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::~GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::waitForCPUSync):
(WebCore::GstVideoFrameHolder::size const):
(WebCore::GstVideoFrameHolder::hasAlphaChannel const):
(WebCore::GstVideoFrameHolder::flags const):
(WebCore::GstVideoFrameHolder::textureID const):
(WebCore::GstVideoFrameHolder::hasMappedTextures const):
(WebCore::GstVideoFrameHolder::videoFrame const):
(WebCore::GstVideoFrameHolder::updateTexture):
(WebCore::GstVideoFrameHolder::platformLayerBuffer):
(WebCore::MediaPlayerPrivateGStreamer::initializeDebugCategory):
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::isAvailable):
(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::cancelLoad):
(WebCore::MediaPlayerPrivateGStreamer::paused const):
(WebCore::MediaPlayerPrivateGStreamer::doSeek):
(WebCore::MediaPlayerPrivateGStreamer::platformDuration const):
(WebCore::MediaPlayerPrivateGStreamer::durationMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::currentMediaTime const):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::rate const):
(WebCore::MediaPlayerPrivateGStreamer::setPreservesPitch):
(WebCore::MediaPlayerPrivateGStreamer::setPreload):
(WebCore::MediaPlayerPrivateGStreamer::buffered const):
(WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded const):
(WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress const):
(WebCore::MediaPlayerPrivateGStreamer::totalBytes const):
(WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin const):
(WebCore::MediaPlayerPrivateGStreamer::wouldTaintOrigin const):
(WebCore::MediaPlayerPrivateGStreamer::simulateAudioInterruption):
(WebCore::MediaPlayerPrivateGStreamer::ensureAudioSourceProvider):
(WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider):
(WebCore::MediaPlayerPrivateGStreamer::durationChanged):
(WebCore::MediaPlayerPrivateGStreamer::sourceSetup):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::sourceSetupCallback):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL):
(WebCore::setSyncOnClock):
(WebCore::MediaPlayerPrivateGStreamer::syncOnClock):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps):
(WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::textChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
(WebCore::MediaPlayerPrivateGStreamer::newTextSampleCallback):
(WebCore::MediaPlayerPrivateGStreamer::newTextSample):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::loadStateChanged):
(WebCore::MediaPlayerPrivateGStreamer::timeChanged):
(WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::audioSink const):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition const):
(WebCore::MediaPlayerPrivateGStreamer::enableTrack):
(WebCore::MediaPlayerPrivateGStreamer::updateTracks):
(WebCore::MediaPlayerPrivateGStreamer::clearTracks):
(WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::setPipeline):
(WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamer::requestGLContext):
(WebCore::MediaPlayerPrivateGStreamer::ensureGstGLContext):
(WebCore::MediaPlayerPrivateGStreamer::naturalSize const):
(WebCore::MediaPlayerPrivateGStreamer::setVolume):
(WebCore::MediaPlayerPrivateGStreamer::volume const):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVolumeChange):
(WebCore::MediaPlayerPrivateGStreamer::volumeChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::networkState const):
(WebCore::MediaPlayerPrivateGStreamer::readyState const):
(WebCore::MediaPlayerPrivateGStreamer::sizeChanged):
(WebCore::MediaPlayerPrivateGStreamer::setMuted):
(WebCore::MediaPlayerPrivateGStreamer::muted const):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfMute):
(WebCore::MediaPlayerPrivateGStreamer::muteChangedCallback):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
(WebCore::MediaPlayerPrivateGStreamer::updateMaxTimeLoaded):
(WebCore::MediaPlayerPrivateGStreamer::updateBufferingStatus):
(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidAudioTracks):
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidVideoTracks):
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidTextTracks):
(WebCore::MediaPlayerPrivateGStreamer::uriDecodeBinElementAddedCallback):
(WebCore::MediaPlayerPrivateGStreamer::downloadBufferFileCreatedCallback):
(WebCore::MediaPlayerPrivateGStreamer::purgeOldDownloadFiles):
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
(WebCore::MediaPlayerPrivateGStreamer::supportsType):
(WebCore::MediaPlayerPrivateGStreamer::updateDownloadBufferingFlag):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::didPassCORSAccessCheck const):
(WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData const):
(WebCore::MediaPlayerPrivateGStreamer::readyTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateGStreamer::platformLayer const):
(WebCore::MediaPlayerPrivateGStreamer::swapBuffersIfNeeded):
(WebCore::MediaPlayerPrivateGStreamer::proxy const):
(WebCore::MediaPlayerPrivateGStreamer::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamer::repaint):
(WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamer::repaintCallback):
(WebCore::MediaPlayerPrivateGStreamer::cancelRepaint):
(WebCore::MediaPlayerPrivateGStreamer::repaintCancelledCallback):
(WebCore::MediaPlayerPrivateGStreamer::newSampleCallback):
(WebCore::MediaPlayerPrivateGStreamer::newPrerollCallback):
(WebCore::MediaPlayerPrivateGStreamer::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamer::setSize):
(WebCore::MediaPlayerPrivateGStreamer::paint):
(WebCore::MediaPlayerPrivateGStreamer::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateGStreamer::nativeImageForCurrentTime):
(WebCore::MediaPlayerPrivateGStreamer::setVideoSourceOrientation):
(WebCore::MediaPlayerPrivateGStreamer::updateTextureMapperFlags):
(WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen const):
(WebCore::MediaPlayerPrivateGStreamer::movieLoadType const):
(WebCore::MediaPlayerPrivateGStreamer::createGLAppSink):
(WebCore::MediaPlayerPrivateGStreamer::createVideoSinkGL):
(WebCore::MediaPlayerPrivateGStreamer::ensureGLVideoSinkContext):
(WebCore::setRectangleToVideoSink):
(WebCore::GStreamerHolePunchClient::GStreamerHolePunchClient):
(WebCore::MediaPlayerPrivateGStreamer::createHolePunchVideoSink):
(WebCore::MediaPlayerPrivateGStreamer::pushNextHolePunchBuffer):
(WebCore::MediaPlayerPrivateGStreamer::createVideoSink):
(WebCore::MediaPlayerPrivateGStreamer::setStreamVolumeElement):
(WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount const):
(WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount const):
(WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount const):
(WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount const):
(WebCore::MediaPlayerPrivateGStreamer::initializationDataEncountered):
(WebCore::MediaPlayerPrivateGStreamer::cdmInstanceAttached):
(WebCore::MediaPlayerPrivateGStreamer::cdmInstanceDetached):
(WebCore::MediaPlayerPrivateGStreamer::attemptToDecryptWithInstance):
(WebCore::MediaPlayerPrivateGStreamer::attemptToDecryptWithLocalInstance):
(WebCore::MediaPlayerPrivateGStreamer::handleProtectionEvent):
(WebCore::MediaPlayerPrivateGStreamer::setWaitingForKey):
(WebCore::MediaPlayerPrivateGStreamer::waitingForKey const):
(WebCore::MediaPlayerPrivateGStreamer::supportsKeySystem):
(WebCore::MediaPlayerPrivateGStreamer::extendedSupportsType):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerPrivateGStreamer::mediaPlayer const):
(WebCore::MediaPlayerPrivateGStreamer::pipeline const):
(WebCore::MediaPlayerPrivateGStreamer::isLiveStream const):
(WebCore::MediaPlayerPrivateGStreamer::configurePlaySink):
(WebCore::MediaPlayerPrivateGStreamer::gstGLContext const):
(WebCore::MediaPlayerPrivateGStreamer::gstGLDisplay const):
(WebCore::MediaPlayerPrivateGStreamer::videoSink const):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Removed.
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Removed.

Tools:

  • Scripts/webkitpy/style/checker.py: The base class no longer

exists, perform the check on the player private.

2:08 AM Changeset in webkit [252851] by ChangSeok Oh
  • 2 edits in trunk/Source/WebKit

[GTK] Check EGL image extension by using native gl API in AcceleratedBackingStoreWayland
https://bugs.webkit.org/show_bug.cgi?id=204446

Reviewed by Carlos Garcia Campos.

This change is part of efforts bringing ANGLE backend for WebGL to the gtk port.
When ANGLE WebGL is enabled, we face a dilemma of choosing either Extensions3DANGLE
or Extensions3DOpenGL in AcceleratedBackingStoreWayland.cpp. Since they cannot
coexist, we chose Extensions3DANGLE even if what we really want is Extensions3DOepnGL.
We address this problem by directly checking egl image extension availability
via native GL API rather than relying on Extensions3D* classes in the file.

  • UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:

(WebKit::isEGLImageAvailable):
(WebKit::AcceleratedBackingStoreWayland::checkRequirements):

1:48 AM Changeset in webkit [252850] by Fujii Hironori
  • 6 edits in trunk/Source

Ran sort-Xcode-project-file.

Unreviewed.

Source/bmalloc:

  • bmalloc.xcodeproj/project.pbxproj:

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
1:15 AM Changeset in webkit [252849] by youenn@apple.com
  • 5 edits in trunk/Source

Crash in WebCore::ServiceWorkerRegistrationKey::hash() const
https://bugs.webkit.org/show_bug.cgi?id=204497
<rdar://problem/57348603>

Reviewed by Alex Christensen.

Source/WebCore:

Update ServiceWorkerContainer::jobResolvedWithRegistration to handle the case of a
ServiceWorkerContainer that might have a job whose promise is not related to the same context.
In that case, the ServiceWorkerContainer might get stopped, thus its m_ongoingSettledRegistrations be cleared.
But the promise may get settled shortly after since its context is not stopped and will then retrieve an empty registration data key.
This is difficult to test given we do not control when the resolvedWithRegistration task is posted to the client.

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

  • workers/service/ServiceWorkerRegistrationKey.h:

(WebCore::ServiceWorkerRegistrationKey::encode const):
Add release asserts to make sure we do not store/transfer empty registration keys.

Source/WebKit:

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::scheduleJobInServer):
Add a release assert to be able to further debug the crash.

1:13 AM Changeset in webkit [252848] by youenn@apple.com
  • 5 edits in trunk/Source/WebCore

Use SWClientConnection instead of hopping to main thread in ServiceWorkerContainer
https://bugs.webkit.org/show_bug.cgi?id=204499

Reviewed by Chris Dumez.

Make use of SWClientConnection instead of callOnMainThread.
This removes the callOnMainThread call if we are already on the main thread.
No observable change of behavior.
Remove failedFetchingScript since it is just a call to finishFetchingScriptInServer.

  • workers/service/SWClientConnection.cpp:

(WebCore::SWClientConnection::startScriptFetchForServer):

  • workers/service/SWClientConnection.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::notifyRegistrationIsSettled):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::notifyFailedFetchingScript):

  • workers/service/ServiceWorkerFetchResult.h:

(WebCore::serviceWorkerFetchError):

12:50 AM Changeset in webkit [252847] by youenn@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (Safari 13): WebSocket payload is truncated when x-webkit-deflate-frame is used
https://bugs.webkit.org/show_bug.cgi?id=202401
<rdar://problem/55922632>

Reviewed by Alex Christensen.

Source/WebCore:

Test: http/tests/websocket/tests/hybi/deflate-extension.html

  • Modules/websockets/WebSocketDeflater.cpp:

(WebCore::WebSocketDeflater::finish):
Make sure to continue calling deflate until all output data is flushed.

LayoutTests:

  • http/tests/websocket/tests/hybi/deflate-extension-expected.txt: Added.
  • http/tests/websocket/tests/hybi/deflate-extension.html: Added.
12:47 AM Changeset in webkit [252846] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html as Slow
https://bugs.webkit.org/show_bug.cgi?id=204567

Unreviewed.

Mark above test as slow as it takes at least 20 seconds to run.

12:30 AM Changeset in webkit [252845] by zandobersek@gmail.com
  • 3 edits
    2 adds in trunk/Tools

[GTK][WPE] libgpg-error fails to build with gawk 5
https://bugs.webkit.org/show_bug.cgi?id=204568

Reviewed by Frédéric Wang.

Gawk 5 throws errors when compiling libgpg-error. To avoid those, we
have to bump libgpg-error to the latest 1.36 version and have the
upstream fix applied on top of that.

Autoreconf has to be invoked to regenerate automake files. Because
autogen.sh script (which is present in the release tarballs) falters
under jhbuild, we invoke autoreconf directly for libgpg-error builds.

  • gtk/jhbuild.modules:
  • gtk/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.
  • wpe/jhbuild.modules:
  • wpe/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.

Nov 24, 2019:

5:29 PM Changeset in webkit [252844] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
2:39 PM Changeset in webkit [252843] by ysuzuki@apple.com
  • 9 edits
    1 move
    5 deletes in trunk/Source/JavaScriptCore

[JSC] Introduce IsoHeapCellType
https://bugs.webkit.org/show_bug.cgi?id=204555

Reviewed by Mark Lam.

We introduce IsoHeapCellType<CellType>, which destroys cell based on CellType information, which should be in IsoSubspace.
By using this, we can avoid inheriting JSDestructibleObject. For each IsoSubspace, we know how to destroy cells if we use
IsoHeapCellType<CellType> without using methodTable. We start using it for, JSString, JSWeakMap, JSWeakSet, WebAssemblyFunction,
and JSWebAssemblyCodeBlock. And we use JSNonFinalObject for the base of JSWeakMap and JSWeakSet, which shrinks size of them
from 48 to 32.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • heap/IsoHeapCellType.h: Renamed from Source/JavaScriptCore/wasm/js/WebAssemblyFunctionHeapCellType.h.
  • runtime/JSString.cpp:

(JSC::JSString::destroy): Deleted.

  • runtime/JSString.h:

(JSC::JSString::destroy):

  • runtime/JSStringHeapCellType.cpp: Removed.
  • runtime/JSStringHeapCellType.h: Removed.
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • runtime/WeakMapImpl.h:
  • wasm/js/JSWebAssemblyCodeBlockHeapCellType.cpp: Removed.
  • wasm/js/JSWebAssemblyCodeBlockHeapCellType.h: Removed.
  • wasm/js/WebAssemblyFunctionHeapCellType.cpp: Removed.
12:18 PM Changeset in webkit [252842] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
3:23 AM Changeset in webkit [252841] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

Ensure SpeechSynthesis::cancel() correctly clears m_currentSpeechUtterance
https://bugs.webkit.org/show_bug.cgi?id=204429
<rdar://57072704>

Patch by Sunny He <sunny_he@apple.com> on 2019-11-24
Reviewed by Chris Fleizach.

Currently it is possible for the utterance that is in the process of
being spoken to be garbage collected. In this case, the pointer held
by SpeechSynthesis (m_currentSpeechUtterance) won't be properly
cleared on cancel(). This change ensures that cancel() nulls out the
current utterance and SpeechSynthesis takes a Ref for the utterance.

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::cancel):

  • Modules/speech/SpeechSynthesis.h:

Nov 23, 2019:

7:05 PM Changeset in webkit [252840] by wilander@apple.com
  • 46 edits
    4 adds in trunk

Resource Load Statistics: Allow multiple third-party cookie blocking settings
https://bugs.webkit.org/show_bug.cgi?id=204389
<rdar://problem/57344054>

Reviewed by Brent Fulgham.

Source/WebCore:

This change introduces an enum ThirdPartyCookieBlockingMode for how third-party
cookie blocking should be carried out. It then uses the set mode in
NetworkStorageSession::shouldBlockCookies().

The reason for supporting three different modes is that what is now named
OnlyAccordingToPerDomainPolicy is shipping, AllOnSitesWithoutUserInteraction is
in beta, and All is behind an experimental flag.

Tests: http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database.html

http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction.html

  • page/Settings.yaml:

Flipped the isThirdPartyCookieBlockingEnabled flag to on by default.

  • platform/network/NetworkStorageSession.cpp:

(WebCore::NetworkStorageSession::shouldBlockCookies const):
(WebCore::NetworkStorageSession::setThirdPartyCookieBlockingMode):

  • platform/network/NetworkStorageSession.h:

(WebCore::NetworkStorageSession::setIsThirdPartyCookieBlockingEnabled): Deleted.

Source/WebKit:

This change make the third-party cookie blocking setting go from a boolean to
the new enum WebCore::ThirdPartyCookieBlockingMode with three different settings.
Functions and member variables are renamed accordingly.

The reason for supporting three different modes is that what is now named
OnlyAccordingToPerDomainPolicy is shipping, AllOnSitesWithoutUserInteraction is
in beta, and All is behind an experimental flag.

The change also updates the test API to map the TestRunner call to the enum.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearUserInteraction):

Now makes use of a completion handler and updates the cookie blocking state.

(WebKit::ResourceLoadStatisticsDatabaseStore::hasHadUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::areAllThirdPartyCookiesBlockedUnder):

New convenience function to check the cookie blocking status per first-party domain.

(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess):

Restructured the code to make it very clear that the logic is the same as the
corresponding function in ResourceLoadStatisticsMemoryStore.
Can no longer be const since it calls areAllThirdPartyCookiesBlockedUnder() which
in turn calls hasHadUserInteraction() and that function may clear user interaction data.

(WebKit::ResourceLoadStatisticsDatabaseStore::hasHadUnexpiredRecentUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess const): Deleted.

See comment above on the non-const version of this function.

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

(WebKit::ResourceLoadStatisticsMemoryStore::areAllThirdPartyCookiesBlockedUnder):

New convenience function to check the cookie blocking status per first-party domain.

(WebKit::ResourceLoadStatisticsMemoryStore::cookieAccess):

Restructured the code to make it very clear that the logic is the same as the
corresponding function in ResourceLoadStatisticsDatabaseStore.
Can no longer be const since it calls areAllThirdPartyCookiesBlockedUnder() which
in turn calls hasHadUserInteraction() and that function may clear user interaction data.

(WebKit::ResourceLoadStatisticsMemoryStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::clearUserInteraction):

Now makes use of a completion handler and updates the cookie blocking state.

(WebKit::ResourceLoadStatisticsMemoryStore::cookieAccess const): Deleted.

See comment above on the non-const version of this function.

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

(WebKit::ResourceLoadStatisticsStore::setThirdPartyCookieBlockingMode):
(WebKit::ResourceLoadStatisticsStore::thirdPartyCookieBlockingMode const):
(WebKit::ResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled): Deleted.
(WebKit::ResourceLoadStatisticsStore::isThirdPartyCookieBlockingEnabled const): Deleted.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::setThirdPartyCookieBlockingMode):
(WebKit::WebResourceLoadStatisticsStore::clearUserInteraction):

Now forwards the completion handler.

(WebKit::WebResourceLoadStatisticsStore::setIsThirdPartyCookieBlockingEnabled): Deleted.

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

(WebKit::NetworkProcess::setShouldBlockThirdPartyCookiesForTesting):

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

The SetShouldBlockThirdPartyCookiesForTesting message now uses an enum instead of a
boolean.

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):

Now forwards the enum value instead of a boolean.

(WebKit::NetworkSession::recreateResourceLoadStatisticStore):

Now makes sure the cookie blocking setting is forwarded to the recreated store.

(WebKit::NetworkSession::setThirdPartyCookieBlockingMode):
(WebKit::NetworkSession::setIsThirdPartyCookieBlockingEnabled): Deleted.

  • NetworkProcess/NetworkSession.h:
  • NetworkProcess/NetworkSessionCreationParameters.cpp:

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

Support for the new enum.

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

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • Scripts/webkit/messages.py:

Tells the IPC code generator where to find WebCore::ThirdPartyCookieBlockingMode.

  • Shared/WebPreferences.yaml:

Flipped the IsThirdPartyCookieBlockingEnabled flag to on by default.

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreSetResourceLoadStatisticsShouldBlockThirdPartyCookiesForTesting):
(WKWebsiteDataStoreStatisticsResetToConsistentState):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::setShouldBlockThirdPartyCookiesForTesting):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

Makes use of the enum in the NetworkSessionCreationParameters.

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldBlockThirdPartyCookiesForTesting):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

This change allows the existing TestRunner function
setStatisticsShouldBlockThirdPartyCookies() to set an optional boolean
parameter onlyOnSitesWithoutUserInteraction to opt in to that behavior.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setStatisticsShouldBlockThirdPartyCookies):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

The added tests existed before and are not re-introduced to test their dedicated setting.

The changed tests have been expanded to cover the new code paths.

  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database-expected.txt: Added.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-database.html: Added.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction-expected.txt: Added.
  • http/tests/resourceLoadStatistics/third-party-cookie-blocking-on-sites-without-user-interaction.html: Added.
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database-expected.txt:
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-database.html:
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking-expected.txt:
  • http/tests/storageAccess/grant-with-prompt-under-general-third-party-cookie-blocking.html:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database-expected.txt:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-database.html:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie-expected.txt:
  • http/tests/storageAccess/has-storage-access-under-general-third-party-cookie-blocking-with-cookie.html:
7:03 PM Changeset in webkit [252839] by commit-queue@webkit.org
  • 36 edits
    2 adds in trunk

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

Caused test failures and ASan crashes (Requested by ap on
#webkit).

Reverted changeset:

"Cross-thread version StorageQuotaManager"
https://bugs.webkit.org/show_bug.cgi?id=203971
https://trac.webkit.org/changeset/252805

4:42 PM Changeset in webkit [252838] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
3:39 PM Changeset in webkit [252837] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

[LFC][IFC] Replace redundant Line::isVisuallyEmpty() with LineBox::isConsideredEmpty()
https://bugs.webkit.org/show_bug.cgi?id=204551
<rdar://problem/57454620>

Reviewed by Antti Koivisto.

It turns out the we already cache the visually empty status in LineBox.

  • layout/displaytree/DisplayBox.h:

(WebCore::Display::Box::isEmpty const):

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::isInlineContainerConsideredEmpty): Deleted.
(WebCore::Layout::Line::isVisuallyEmpty const): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::isVisuallyEmpty const):
(WebCore::Layout::Line::hasContent const): Deleted.

  • layout/inlineformatting/InlineLineLayout.cpp:

(WebCore::Layout::LineLayout::placeInlineItem):
(WebCore::Layout::LineLayout::processUncommittedContent):

3:23 PM Changeset in webkit [252836] by Ross Kirsling
  • 4 edits
    1 add in trunk

[JSC] GetSubstitution is performed incorrectly via RegExp.prototype[@@replace]
https://bugs.webkit.org/show_bug.cgi?id=204490

Reviewed by Mark Lam.

JSTests:

  • stress/replace-indexed-backreferences.js: Added.
  • test262/expectations.yaml: Mark four test cases as passing.

Source/JavaScriptCore:

String.prototype.replace and RegExp.prototype[Symbol.replace] are meant to perform the same substitution
of $-backreferences (called GetSubstitution in the spec: https://tc39.es/ecma262/#sec-getsubstitution).

The implementation of this in StringPrototype.cpp is correct but the one in RegExpPrototype.js is not.
In particular, the latter *removes* backreferences with out-of-range indices, instead of leaving them as-is.

One thing that is *not* broken in either implementation and thus maintained here is the fact $10 is interpreted
as $1 followed by a 0 when we have 1 <= n < 10 captures (and analogously for other invalid $nn backreferences).
This behavior is consistent across all engines but currently described incorrectly in the spec; this patch thus
aligns with the spec PR currently open to correct this (https://github.com/tc39/ecma262/pull/1732).

  • builtins/RegExpPrototype.js:

(getSubstitution): Ensure that invalid backreferences remain untouched in the output string.
(replace): Fix off-by-one error when populating captures list. We shouldn't be reserving a slot for the full match.

1:36 PM Changeset in webkit [252835] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Defer run height/baseline adjustment computation until Line::close
https://bugs.webkit.org/show_bug.cgi?id=204550
<rdar://problem/57454497>

Reviewed by Antti Koivisto.

Currently we measure run height and adjust the line's baseline/height on every append.
We could do all that in Line::close after we've merged the neighboring runs.
([text][ ][content] vs. [text content])
This is about ~5% win on line-layout-simple.html

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::alignContentVertically):
(WebCore::Layout::Line::append):
(WebCore::Layout::Line::appendInlineContainerStart):
(WebCore::Layout::Line::appendInlineContainerEnd):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::appendLineBreak):
(WebCore::Layout::Line::adjustBaselineAndLineHeight):
(WebCore::Layout::Line::runContentHeight const):
(WebCore::Layout::Line::alignContentVertically const): Deleted.
(WebCore::Layout::Line::inlineItemContentHeight const): Deleted.

  • layout/inlineformatting/InlineLine.h:

(WebCore::Layout::Line::Run::setLogicalHeight):

12:17 PM Changeset in webkit [252834] by pvollan@apple.com
  • 2 edits in trunk/Tools

Archive step is failing after r252827
https://bugs.webkit.org/show_bug.cgi?id=204548

Reviewed by Alexey Proskuryakov.

After https://trac.webkit.org/changeset/252827/webkit, the archive step is failing.

  • BuildSlaveSupport/built-product-archive:

(createZip):

8:58 AM Changeset in webkit [252833] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

[WebGL] Garden dedicated queue (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=204547

Unreviewed test gardening.

  • webgl/TestExpectations:
8:16 AM Changeset in webkit [252832] by Andres Gonzalez
  • 6 edits in trunk

Run LayoutTests/accessibility/mac/primary-screen-height.html on secondary accessibility thread.
https://bugs.webkit.org/show_bug.cgi?id=204391

Reviewed by Chris Fleizach.

Source/WebCore:

LayoutTests/accessibility/mac/primary-screen-height.html tests this
change when isolated tree is enabled.

Use ASSERT(!isMainThread()) instead of HIServices call to detect
whether not running in the secondary thread during LayoutTests.

  • accessibility/isolatedtree/AXIsolatedTreeNode.cpp:

(WebCore::AXIsolatedObject::children):
(WebCore::AXIsolatedObject::updateBackingStore):

Tools:

Added AccessibilityController::execute to execute any
AccessibilityUIElement call into AccessibilityObjectWrapper on the
secondary accessibility thread.

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AccessibilityController::rootElement): leftover from previous review.
(WTR::AccessibilityController::execute): added this to execute any AccessibilityUIElement method on the appropriate thread.

  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::getChildrenWithRange): Runs on secondary thread.
(WTR::AccessibilityUIElement::numberAttributeValue): Runs on secondary thread.

8:05 AM Changeset in webkit [252831] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WTF

Unreviewed. Try to fix the GTK WebDriver tests in the bots after r252770

They are failing in the bots because g_variant_new_from_data() is failing due to the given data not being
properly aligned for the type being loaded. This is not a problem since GLib 2.60 that checks the alignment and
reallocates the buffer in aligned memory only if needed. For previous versions we need to ensure the memory we
pass to g_variant_new_from_data() is aligned.

  • wtf/glib/SocketConnection.cpp:

(WTF::SocketConnection::readMessage):

7:34 AM Changeset in webkit [252830] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Some tests are failing on Win64
https://bugs.webkit.org/show_bug.cgi?id=204545

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:33 AM Changeset in webkit [252829] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Remove unnecessary Line::hasContent() calls in LineLayout::placeInlineItem
https://bugs.webkit.org/show_bug.cgi?id=204540
<rdar://problem/57443500>

Reviewed by Antti Koivisto.

LineLayout::placeInlineItem is hot. This shaves off ~3% on line-layout-simple.html

  • layout/inlineformatting/InlineLineLayout.cpp:

(WebCore::Layout::LineLayout::placeInlineItem):

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layoutUsingFormattingContext):
(WebCore::FrameViewLayoutContext::layout):

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::attachToRenderElementInternal):

  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateRendererStyle):

2:19 AM Changeset in webkit [252828] by Antti Koivisto
  • 14 edits
    4 adds in trunk

Media queries in img sizes attribute don't evaluate dynamically
https://bugs.webkit.org/show_bug.cgi?id=204521

Reviewed by Simon Fraser.

Source/WebCore:

Tests: fast/images/sizes-dynamic-001.html

fast/images/sizes-dynamic-002.html

  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::evaluateForChanges const):

Add a helper function for evaluating dynamic results for changes.

  • css/MediaQueryEvaluator.h:

(WebCore::MediaQueryDynamicResults::isEmpty const):

  • css/parser/SizesAttributeParser.cpp:

(WebCore::SizesAttributeParser::SizesAttributeParser):
(WebCore::SizesAttributeParser::mediaConditionMatches):

Gather MediaQueryDynamicResults

  • css/parser/SizesAttributeParser.h:
  • dom/Document.cpp:

(WebCore::Document::updateElementsAffectedByMediaQueries):
(WebCore::Document::addDynamicMediaQueryDependentImage):
(WebCore::Document::removeDynamicMediaQueryDependentImage):

Replace viewport/appearance specific mechanism with a unified one (they were all invoked together anyway).
Make it about HTMLImageElement rather than HTMLPictureElement since that is the only client in this patch.

(WebCore::Document::checkViewportDependentPictures): Deleted.
(WebCore::Document::checkAppearanceDependentPictures): Deleted.
(WebCore::Document::addViewportDependentPicture): Deleted.
(WebCore::Document::removeViewportDependentPicture): Deleted.
(WebCore::Document::addAppearanceDependentPicture): Deleted.
(WebCore::Document::removeAppearanceDependentPicture): Deleted.

  • dom/Document.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::~HTMLImageElement):
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::evaluateDynamicMediaQueryDependencies):
(WebCore::HTMLImageElement::selectImageSource):

Gather MediaQueryDynamicResults from all paths.

(WebCore::HTMLImageElement::didMoveToNewDocument):

  • html/HTMLImageElement.h:
  • html/HTMLPictureElement.cpp:

(WebCore::HTMLPictureElement::~HTMLPictureElement):
(WebCore::HTMLPictureElement::didMoveToNewDocument):
(WebCore::HTMLPictureElement::viewportChangeAffectedPicture const): Deleted.
(WebCore::HTMLPictureElement::appearanceChangeAffectedPicture const): Deleted.

Move the media query dependency code to HTMLImageElement since thats where it is actually needed.

  • html/HTMLPictureElement.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::setImageDevicePixelRatio):

Update rendering also if only the pixel ratio changes.

  • rendering/RenderImage.h:

(WebCore::RenderImage::setImageDevicePixelRatio): Deleted.

LayoutTests:

  • fast/images/sizes-dynamic-001-expected.html: Added.
  • fast/images/sizes-dynamic-001.html: Added.
  • fast/images/sizes-dynamic-002-expected.html: Added.
  • fast/images/sizes-dynamic-002.html: Added.

Copied and modified from imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-*
because we don't support reftest-wait (webkit.org/b/186045).

Nov 22, 2019:

9:37 PM Changeset in webkit [252827] by pvollan@apple.com
  • 3 edits in trunk/Tools

Set 64-bit as default architecture on Windows
https://bugs.webkit.org/show_bug.cgi?id=204477

Reviewed by Ross Kirsling.

This will make 64-bit building and testing the default.

  • Scripts/webkitdirs.pm:

(determineIsWin64):

  • Scripts/webkitpy/port/win.py:

(WinPort):

8:52 PM Changeset in webkit [252826] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Some tests are failing on Win64
https://bugs.webkit.org/show_bug.cgi?id=204545

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:45 PM Changeset in webkit [252825] by sbarati@apple.com
  • 16 edits
    1 add in trunk/Source/JavaScriptCore

Use LLInt profiling to rule out generating an IC for get_by_val
https://bugs.webkit.org/show_bug.cgi?id=204536

Reviewed by Yusuke Suzuki.

When I landed the get_by_val polymorphic inline caching patch, the prepack
benchmark in JetStream2 slowed down by 10%. Through some analysis, I found
out that we were slowing down because of the time we spent in the JITs
actually generating inline caches. This patch skips generating an inline
cache when it seems like it won't be profitable. The heuristic for doing this
is simple:

  • If we see more than 4 identifiers in the LLInt, we won't generate an IC

in the upper tiers.

  • If we see a non-identifier JSString in the LLInt, we won't generate an IC

in the upper tiers.

This patch recovers the regression on prepack.

  • bytecode/BytecodeList.rb:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • generator/main.rb:
  • heap/TinyBloomFilter.h:

(JSC::TinyBloomFilter::bits const):
(JSC::TinyBloomFilter::TinyBloomFilter):

  • jit/JIT.h:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Operations.h:

(JSC::getByValWithIndex):

  • runtime/OptionsList.h:
8:28 PM Changeset in webkit [252824] by rniwa@webkit.org
  • 24 edits in trunk

Use the event loop instead of DocumentEventQueue and WorkerEventQueue
https://bugs.webkit.org/show_bug.cgi?id=204447
<rdar://problem/57420691>

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Updated the expected result. It now fails one step head due to EventLoop getting better integrated with timers.

  • web-platform-tests/requestidlecallback/callback-timeout-when-busy-expected.txt:

Source/WebCore:

This patch replaces every use of DocumentEventQueue and WorkerEventQueue by the integration
with the event loop.

Because this changes the order by which some of the affected events fire and tasks run,
this patch also makes WindowEventLoop::scheduleToRun use a Timer instead of callOnMainThread
in order to avoid introducing new test failures.

In addition, WebSQL needed a code change to scheudle tasks via the event loop after moving
to the event loop as callOnMainThread could run before or after a 0s timer fires depending
on whether it was called during another timer or not; meaning that it could change the order
of operations with respect to other tasks scheduled via event loops in some cases.

Finally, added the links to various specifications where appropriate.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::connectionToServerLost):
(WebCore::IDBDatabase::fireVersionChangeEvent):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::enqueueEvent):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::enqueueEvent):
(WebCore::IDBTransaction::dispatchEvent):

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::scheduleDispatchEvent):

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::scheduleTransactionCallback): Schedule a task on the event loop once
we're in the main thread as the order of operation could change with respect to other tasks
scheduled via the event loop otherwise.

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown): Ditto.

  • dom/Document.cpp:

(WebCore::Document::visibilityStateChanged):
(WebCore::Document::prepareForDestruction):
(WebCore::Document::enqueueWindowEvent): Deleted.
(WebCore::Document::queueTaskToDispatchEvent): Added.
(WebCore::Document::enqueueDocumentEvent): Deleted.
(WebCore::Document::queueTaskToDispatchEventOnWindow): Added.
(WebCore::Document::enqueueOverflowEvent):
(WebCore::Document::enqueueSecurityPolicyViolationEvent):
(WebCore::Document::enqueueHashchangeEvent): Rewritten. Keep the target node alive until
the overflow event fires.
fired on an overflow element

  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • dom/TaskSource.h:
  • dom/WindowEventLoop.cpp:

(WebCore::WindowEventLoop::WindowEventLoop):
(WebCore::WindowEventLoop::scheduleToRun):

  • dom/WindowEventLoop.h:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::languagesChanged):

  • page/PointerCaptureController.cpp:

(WebCore::PointerCaptureController::elementWasRemoved):

  • page/PointerLockController.cpp:

(WebCore::PointerLockController::enqueueEvent):

  • storage/StorageEventDispatcher.cpp:

(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):

  • workers/WorkerGlobalScope.cpp:

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

  • workers/WorkerGlobalScope.h:
  • worklets/WorkletGlobalScope.cpp:

(WebCore::WorkletGlobalScope::WorkletGlobalScope):

  • worklets/WorkletGlobalScope.h:
7:30 PM Changeset in webkit [252823] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r252792?): 6 inspector/canvas tests crashing
https://bugs.webkit.org/show_bug.cgi?id=204542

Reviewed by Devin Rousso.

Copy the list of identifiers to a Vector before iterating over it
since m_identifierToInspectorCanvas could be mutated meanwhile.

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::recordCanvasAction):

6:25 PM Changeset in webkit [252822] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
https://bugs.webkit.org/show_bug.cgi?id=204526

Reviewed by Aakash Jain.

  • Scripts/run-javascriptcore-tests:

(configurationForUpload): Use uname as the default upload configuration

6:14 PM Changeset in webkit [252821] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

http/tests/eventloop/queue-task-across-cross-site-frames.html is flaky failure on iOS
https://bugs.webkit.org/show_bug.cgi?id=204510

Reviewed by Chris Dumez.

There are two issues with this test. First, queue-task-across-cross-site-frames.html wasn't waiting
for the helper file to post logs, and secondly, eventloop-helper.html was relying on setTimeout(~, 0)
to always happen after queued tasks had run, which is not always true if there had already been
another 0s timer scheduled.

  • http/tests/eventloop/queue-task-across-cross-site-frames.html:
  • http/tests/eventloop/resources/eventloop-helper.html:
5:53 PM Changeset in webkit [252820] by rniwa@webkit.org
  • 11 edits
    2 deletes in trunk/Source/WebCore

Associate each microtask with a task group and remove ActiveDOMCallbackMicrotask
https://bugs.webkit.org/show_bug.cgi?id=204491

Reviewed by Antti Koivisto.

This patch associates each microtask with a EventLoopTaskGroup by making MicrotaskQueue
use EventLoopTaskGroup in place of Microtask, eliminating the latter.

This allows microtasks associated with each script execution context's test group to be
suspsned or stopped along with the script execution context without having to wrap each
microtask in ActiveDOMCallbackMicrotask, which is now redundant and therefore deleted.

No new tests since there should be no observable behavioral change here.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::queueMicrotaskToEventLoop):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::queueMicrotaskToEventLoop):

  • dom/ActiveDOMCallbackMicrotask.cpp: Removed.
  • dom/ActiveDOMCallbackMicrotask.h: Removed.
  • dom/EventLoop.cpp:

(WebCore::EventLoop::queueTask):
(WebCore::EventLoop::queueMicrotask):
(WebCore::EventLoopTaskGroup::queueMicrotask):
(WebCore::EventLoopTaskGroup::queueMicrotaskCallback): Deleted.

  • dom/EventLoop.h:
  • dom/Microtasks.cpp:

(WebCore::Microtask::removeSelfFromQueue): Deleted.
(WebCore::MicrotaskQueue::append):
(WebCore::MicrotaskQueue::remove): Deleted.
(WebCore::MicrotaskQueue::performMicrotaskCheckpoint): Like EventLoop::run, skip any task
associated with a stopped group (script execution context) and add back any task associated
with a suspened group; these are tasks which used to return Microtask::Result::KeepInQueue.

  • dom/Microtasks.h:

(WebCore::Microtask): Deleted.
(WebCore::Microtask::~Microtask): Deleted.

  • dom/TaskSource.h:

(WebCore::TaskSource): Added Microtask as a new task source.

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::recordCanvasAction):

  • testing/Internals.cpp:

(WebCore::Internals::queueMicroTask):

5:13 PM Changeset in webkit [252819] by achristensen@apple.com
  • 11 edits in trunk/Source/WebKit

Unreviewed, rolling out r252796.

Turns out my reverting earlier today wasn't so necessary after all.
This is effectively re-landing r250422.

Reverted changeset:

"Revert r250422"
https://bugs.webkit.org/show_bug.cgi?id=202285
https://trac.webkit.org/changeset/252796

5:08 PM Changeset in webkit [252818] by achristensen@apple.com
  • 9 edits in trunk/Source/WebKit

Unreviewed, rolling out r252798.

Turns out my reverting earlier today wasn't so necessary after all.
This is effectively re-landing r250421.

Reverted changeset:

"Revert r250421"
https://bugs.webkit.org/show_bug.cgi?id=202290
https://trac.webkit.org/changeset/252798

4:42 PM Changeset in webkit [252817] by Kate Cheney
  • 3 edits in trunk/Source/WebKit

ITP Database crashes if table schema is not correct
https://bugs.webkit.org/show_bug.cgi?id=204458
<rdar://problem/57399084>

Reviewed by Brent Fulgham.

ITP database was crashing if the table schema wasn't correct. This
should instead be handled by re-opening a new database with a correct
schema to allow for future schema updates.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::isCorrectTableSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::openAndDropOldDatabaseIfNecessary):

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
4:38 PM Changeset in webkit [252816] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

[LFC][IFC] Text content is not exactly rare data.
https://bugs.webkit.org/show_bug.cgi?id=204539
<rdar://problem/57442263>

Reviewed by Antti Koivisto.

If it turns out to be a memory consumption issue, we can always subclass Layout::Box. Let's go with the m_textContext member for now.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::ContinousContent::close):
(WebCore::Layout::Line::appendTextContent):

  • layout/inlineformatting/InlineTextItem.cpp:

(WebCore::Layout::InlineTextItem::createAndAppendTextItems):

  • layout/inlineformatting/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::width):

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::setTextContext): Deleted.
(WebCore::Layout::Box::hasTextContent const): Deleted.
(WebCore::Layout::Box::textContext const): Deleted.

  • layout/layouttree/LayoutBox.h:

(WebCore::Layout::Box::hasTextContent const):
(WebCore::Layout::Box::textContext const):

  • layout/layouttree/LayoutTreeBuilder.cpp:

(WebCore::Layout::outputLayoutBox):

4:15 PM Changeset in webkit [252815] by Jonathan Bedard
  • 5 edits in trunk/Tools

results.webkit.org/api/failures should return an error when no test-run is found for specified criteria
https://bugs.webkit.org/show_bug.cgi?id=204385
<rdar://problem/57334389>

Rubber-stamped by Aakash Jain.

  • resultsdbpy/resultsdbpy/controller/failure_controller.py:

(FailureController.failures): Return a 404 error if no test runs are found.

  • resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py:

(FailureControllerTest):
(FailureControllerTest.test_no_runs):

  • resultsdbpy/resultsdbpy/model/failure_context.py:

(FailureContext._failures): Return 'None' if no test runs are found.

  • resultsdbpy/resultsdbpy/model/failure_context_unittest.py:

(FailureContextTest):
(FailureContextTest.test_no_test_runs):

4:14 PM Changeset in webkit [252814] by Devin Rousso
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'target.PageAgent.getCompositingBordersVisible')
https://bugs.webkit.org/show_bug.cgi?id=204473

Reviewed by Brian Burg.

Change the definition of WI.targetsAvailable and WI.whenTargetsAvailable to instead
resolve based on when a page target is created, not the backend target, as the latter can
be a multiplexing target which only has a Target domain.

  • UserInterface/Controllers/TargetManager.js:

(WI.TargetManager.prototype._initializeBackendTarget):
(WI.TargetManager.prototype._initializePageTarget):

  • UserInterface/Base/Main.js:

(WI.loaded):
(WI.contentLoaded):
(WI.targetsAvailable):
(WI.whenTargetsAvailable):

  • UserInterface/Test/Test.js:

(WI.loaded):
(WI.contentLoaded):
(WI.targetsAvailable):
(WI.whenTargetsAvailable):

  • UserInterface/Views/SearchSidebarPanel.js:

(WI.SearchSidebarPanel.prototype.performSearch):
Only wait for targets if inspecting a web debuggable, as non-web debuggables don't have a
different page target vs the backend target (which is guaranteed to exist anyways).

4:04 PM Changeset in webkit [252813] by Chris Dumez
  • 5 edits
    1 add in trunk

HTTPHeaderMap's operator== is not fully correct
https://bugs.webkit.org/show_bug.cgi?id=204361

Reviewed by Alex Christensen.

Source/WebCore:

If headers are added in a different order, HTTPHeaderMap's operator==() would wrongly
return false because it is using a Vector internally to store the headers. Also, it
would incorrectly return false if the case of the headers did not match.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::get const):
(WebCore::HTTPHeaderMap::getUncommonHeader const):

  • platform/network/HTTPHeaderMap.h:

(WebCore::HTTPHeaderMap::operator==):

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/HTTPHeaderMap.cpp: Added.

(TestWebKitAPI::TEST):

3:52 PM Changeset in webkit [252812] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Simplify VisitedLinkStore process registration logic
https://bugs.webkit.org/show_bug.cgi?id=204472

Reviewed by Geoffrey Garen.

Simplify VisitedLinkStore process registration logic:

  1. WebProcessProxy objects no longer delay their registration with the VisitedLinkStore until after they are done launching. There is no need to do this because AuxiliaxyProcessProxy::send() will correctly queue the IPC message if the process is not done launching when the VisitedLinkStore tries to send its IPC.
  2. Switch VisitedLinkStore to using a WeakHashSet to store the WebProcessProxy object pointers. This is safer and this also makes it so that the WebProcessProxy no longer need to unregister themselves when shutting down. Note that AuxiliaxyProcessProxy::send() properly discards IPC messages to a terminated process anyway.
  • UIProcess/VisitedLinkStore.cpp:

(WebKit::VisitedLinkStore::~VisitedLinkStore):
(WebKit::VisitedLinkStore::addProcess):
(WebKit::VisitedLinkStore::removeProcess):
(WebKit::VisitedLinkStore::removeAll):
(WebKit::VisitedLinkStore::didInvalidateSharedMemory):
(WebKit::VisitedLinkStore::didUpdateSharedStringHashes):

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

(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::addVisitedLinkStoreUser):
(WebKit::WebProcessProxy::didFinishLaunching):

3:50 PM Changeset in webkit [252811] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[iOS] Copy assertions before iterating over them in _notifyAssertionsOfImminentSuspension
https://bugs.webkit.org/show_bug.cgi?id=204524
<rdar://problem/57265830>

Reviewed by Alexey Proskuryakov.

Copy assertions before iterating over them in _notifyAssertionsOfImminentSuspension and use WeakPtr
to make sure the assertions are still alive before calling uiAssertionWillExpireImminently() on
them. It is common for process assertions to get released when uiAssertionWillExpireImminently()
gets called, which would remove them from the _assertionsNeedingBackgroundTask vector we were
iterating on.

  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager _notifyAssertionsOfImminentSuspension]):

3:30 PM Changeset in webkit [252810] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Merge "insert inline runs" and "setup display runs" loops in InlineFormattingContext::setDisplayBoxesForLine
https://bugs.webkit.org/show_bug.cgi?id=204537
<rdar://problem/57440394>

Reviewed by Antti Koivisto.

Let's loop the new Line::Run list only once.

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

3:14 PM Changeset in webkit [252809] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Null check callback in NetworkConnectionToWebProcess::didDeliverMessagePortMessages
https://bugs.webkit.org/show_bug.cgi?id=204460
<rdar://problem/57348618>

Reviewed by Chris Dumez.

When the network process crashes during a message port connection establishment,
a web process may have an identifier that becomes stale. In this case, we should not crash again.
No test because this only happens during a rare race condition after a network process crash, but the radar shows records of this happening.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didDeliverMessagePortMessages):

3:10 PM Changeset in webkit [252808] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

Bindings generator fails to add includes for iterable<> key / value types
https://bugs.webkit.org/show_bug.cgi?id=204530

Reviewed by Ryosuke Niwa.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateIterableDefinition):

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

(WebCore::JSTestInterfacePrototype::finishCreation):
(WebCore::jsTestInterfacePrototypeFunctionEntriesCaller):
(WebCore::jsTestInterfacePrototypeFunctionEntries):
(WebCore::jsTestInterfacePrototypeFunctionKeysCaller):
(WebCore::jsTestInterfacePrototypeFunctionKeys):
(WebCore::jsTestInterfacePrototypeFunctionValuesCaller):
(WebCore::jsTestInterfacePrototypeFunctionValues):
(WebCore::jsTestInterfacePrototypeFunctionForEachCaller):
(WebCore::jsTestInterfacePrototypeFunctionForEach):

  • bindings/scripts/test/JS/JSTestIterable.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/TestInterface.idl:
3:06 PM Changeset in webkit [252807] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Line::Run::expand should take a range of runs to merge
https://bugs.webkit.org/show_bug.cgi?id=204514
<rdar://problem/57428139>

Reviewed by Antti Koivisto.

As part of Line::close, we iterate through the runs and merge them if possible.
e.g [text][ ][content][ ][and][ ][more] -> [text content and ][more] (note the whitespace collapsing)
Instead of taking and expanding the runs one by one, let's collect the continuous neighboring runs first
and expand the current run with the continuous range in one go. This shaves off ~2% on line-layout-simple.html.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::ContinousContent::isEmpty const):
(WebCore::Layout::ContinousContent::length const):
(WebCore::Layout::ContinousContent::width const):
(WebCore::Layout::ContinousContent::hasTrailingExpansionOpportunity const):
(WebCore::Layout::ContinousContent::expansionOpportunityCount const):
(WebCore::Layout::ContinousContent::ContinousContent):
(WebCore::Layout::ContinousContent::append):
(WebCore::Layout::ContinousContent::canMergeRuns):
(WebCore::Layout::Line::Run::expand):
(WebCore::Layout::Line::close):

  • layout/inlineformatting/InlineLine.h:
2:49 PM Changeset in webkit [252806] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

[Cocoa] Rename some internal names for system fonts
https://bugs.webkit.org/show_bug.cgi?id=204486

Reviewed by Simon Fraser.

designSystemUI -> systemDesign (because https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesign?language=objc)
SystemFontDatabaseCoreText::ClientUse -> SystemFontKind
ForSystemUI -> SystemUI (because https://drafts.csswg.org/css-fonts-4/#system-ui-def)
ForSystemUISerif -> UISerif (because https://drafts.csswg.org/css-fonts-4/#ui-serif-def)
ForSystemUIMonospace -> UIMonospace (because https://drafts.csswg.org/css-fonts-4/#ui-monospace-def)
ForSystemUIRounded -> UIRounded (because https://drafts.csswg.org/css-fonts-4/#ui-rounded-def)
ForTextStyle -> TextStyle (because CTFontDescriptorCreateWithTextStyle())

No new tests because there is no behavior change.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::fontWithFamilySpecialCase):

  • platform/graphics/cocoa/FontDescriptionCocoa.cpp:

(WebCore::matchSystemFontUse):
(WebCore::systemFontCascadeList):

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:

(WebCore::SystemFontDatabaseCoreText::createSystemDesignFont):
(WebCore::SystemFontDatabaseCoreText::cascadeList):
(WebCore::SystemFontDatabaseCoreText::systemFontParameters):
(WebCore::SystemFontDatabaseCoreText::createDesignSystemUIFont): Deleted.

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.h:
2:42 PM Changeset in webkit [252805] by sihui_liu@apple.com
  • 36 edits
    2 deletes in trunk

Cross-thread version StorageQuotaManager
https://bugs.webkit.org/show_bug.cgi?id=203971
<rdar://problem/57290349>

Reviewed by Chris Dumez.

Source/WebCore:

Implement a lock-based StorageQuotaManager so that quota check can be done on different threads.
If space request is made on a background thread, it needs to hold a lock until it is finished, so no request
from different threads can be performed at the same time.
If space request is made on the main thread, we will dispatch it to a background thread and schedule a calllback
to the main thread when result is available, so the main thread will not be blocked.

Covered by existing quota related tests.

  • Headers.cmake:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::create):
(WebCore::IDBServer::IDBServer::IDBServer):
(WebCore::IDBServer::IDBServer::didPerformCloseAndDeleteDatabases):
(WebCore::IDBServer::IDBServer::requestSpace):
(WebCore::IDBServer::IDBServer::diskUsage):
(WebCore::IDBServer::IDBServer::QuotaUser::QuotaUser): Deleted.
(WebCore::IDBServer::IDBServer::QuotaUser::~QuotaUser): Deleted.
(WebCore::IDBServer::IDBServer::QuotaUser::resetSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::QuotaUser::computeSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::QuotaUser::increaseSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::QuotaUser::decreaseSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::QuotaUser::whenInitialized): Deleted.
(WebCore::IDBServer::IDBServer::QuotaUser::initializeSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::ensureQuotaUser): Deleted.
(WebCore::IDBServer::IDBServer::startComputingSpaceUsedForOrigin): Deleted.
(WebCore::IDBServer::IDBServer::computeSpaceUsedForOrigin): Deleted.
(WebCore::IDBServer::IDBServer::finishComputingSpaceUsedForOrigin): Deleted.
(WebCore::IDBServer::IDBServer::resetSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::increaseSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::decreaseSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::increasePotentialSpaceUsed): Deleted.
(WebCore::IDBServer::IDBServer::decreasePotentialSpaceUsed): Deleted.

  • Modules/indexeddb/server/IDBServer.h:

(WebCore::IDBServer::IDBServer::initializeQuotaUser): Deleted.
(): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::didOpenBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformRenameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateIndex):
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformRenameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::requestSpace): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::waitForRequestSpaceCompletion): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::startSpaceIncreaseTask): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::finishSpaceIncreaseTask): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStoreAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStoreAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::renameObjectStoreAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStoreAfetQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::createIndexAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndexAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::renameIndexAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::putOrAddAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::getRecordAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::getAllRecordsAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::getCountAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecordAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::openCursorAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursorAfterQuotaCheck): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::commitTransactionAfterQuotaCheck): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):

  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::quotaManager):
(WebCore::storageQuotaManagerSpaceRequester):
(WebCore::InProcessIDBServer::InProcessIDBServer):
(WebCore::storageQuotaManagerGetter): Deleted.

  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • WebCore.xcodeproj/project.pbxproj:
  • storage/StorageQuotaManager.cpp:

(WebCore::StorageQuotaManager::create):
(WebCore::StorageQuotaManager::StorageQuotaManager):
(WebCore::StorageQuotaManager::requestSpaceOnMainThread):
(WebCore::StorageQuotaManager::requestSpaceOnBackgroundThread):
(WebCore::StorageQuotaManager::tryGrantRequest):
(WebCore::StorageQuotaManager::updateQuotaBasedOnUsage):
(WebCore::StorageQuotaManager::resetQuotaUpdatedBasedOnUsageForTesting):
(WebCore::StorageQuotaManager::resetQuotaForTesting):
(WebCore::StorageQuotaManager::~StorageQuotaManager): Deleted.
(WebCore::StorageQuotaManager::spaceUsage const): Deleted.
(WebCore::StorageQuotaManager::updateQuotaBasedOnSpaceUsage): Deleted.
(WebCore::StorageQuotaManager::initializeUsersIfNeeded): Deleted.
(WebCore::StorageQuotaManager::askUserToInitialize): Deleted.
(WebCore::StorageQuotaManager::addUser): Deleted.
(WebCore::StorageQuotaManager::shouldAskForMoreSpace const): Deleted.
(WebCore::StorageQuotaManager::removeUser): Deleted.
(WebCore::StorageQuotaManager::requestSpace): Deleted.
(WebCore::StorageQuotaManager::askForMoreSpace): Deleted.
(WebCore::StorageQuotaManager::processPendingRequests): Deleted.

  • storage/StorageQuotaManager.h:

(WebCore::StorageQuotaManager::defaultThirdPartyQuotaFromPerOriginQuota):
(WebCore::StorageQuotaManager::StorageQuotaManager): Deleted.
(WebCore::StorageQuotaManager::resetQuota): Deleted.
(WebCore::StorageQuotaManager::state const): Deleted.

  • storage/StorageQuotaUser.h: Removed.

Source/WebKit:

  • NetworkProcess/NetworkProcess.cpp: Introduce class SessionStorageQuotaManager to manage all

StorageQuotaManagers of the same session.
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::NetworkProcess::addSessionStorageQuotaManager):
(WebKit::NetworkProcess::removeSessionStorageQuotaManager):
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::createIDBServer):
(WebKit::NetworkProcess::addIndexedDatabaseSession):
(WebKit::NetworkProcess::setSessionStorageQuotaManagerIDBRootPath):
(WebKit::NetworkProcess::updateQuotaBasedOnSpaceUsageForTesting):
(WebKit::NetworkProcess::resetQuota):
(WebKit::NetworkProcess::storageQuotaManager):
(WebKit::NetworkProcess::initializeStorageQuota): Deleted.
(WebKit::NetworkProcess::clearStorageQuota): Deleted.
(): Deleted.
(WebKit::NetworkProcess::initializeQuotaUsers): Deleted.

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::SessionStorageQuotaManager::SessionStorageQuotaManager):
(WebKit::NetworkProcess::SessionStorageQuotaManager::defaultQuota const):
(WebKit::NetworkProcess::SessionStorageQuotaManager::ensureOriginStorageQuotaManager):
(WebKit::NetworkProcess::SessionStorageQuotaManager::existingStorageQuotaManagers):
(WebKit::NetworkProcess::SessionStorageQuotaManager::cacheRootPath const):
(WebKit::NetworkProcess::SessionStorageQuotaManager::setIDBRootPath):
(WebKit::NetworkProcess::SessionStorageQuotaManager::idbRootPath const):
(WebKit::NetworkProcess::StorageQuotaManagers::defaultQuota const): Deleted.
(WebKit::NetworkProcess::StorageQuotaManagers::setDefaultQuotas): Deleted.
(WebKit::NetworkProcess::StorageQuotaManagers::managersPerOrigin): Deleted.

  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::getDirectorySize):
(WebKit::CacheStorage::Engine::diskUsage): static function to get the disk usage of CacheStorage given
CacheStorage root directory.
(WebKit::CacheStorage::Engine::requestSpace):
(WebKit::CacheStorage::Engine::readCachesFromDisk):
(WebKit::CacheStorage::Engine::writeSizeFile):
(WebKit::CacheStorage::Engine::readSizeFile):
(WebKit::CacheStorage::Engine::initializeQuotaUser): Deleted.

  • NetworkProcess/cache/CacheStorageEngine.h:
  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::remove):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::create):
(WebKit::CacheStorage::Caches::Caches):
(WebKit::CacheStorage::Caches::~Caches):
(WebKit::CacheStorage::Caches::updateSizeFile):
(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::clear):
(WebKit::CacheStorage::Caches::requestSpace):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::removeRecord):
(WebKit::CacheStorage::Caches::whenInitialized): Deleted.
(WebKit::CacheStorage::Caches::resetSpaceUsed): Deleted.

  • NetworkProcess/cache/CacheStorageEngineCaches.h:
  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):

  • Shared/WebsiteDataStoreParameters.h: Add a cacheStorageDirectory parameter so we know the direcotry of

CacheStorage when we start using WebsiteDataStore.

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreResetQuota):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h: Add a C API for reseting quota in TestRunner.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::resetQuota):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::parameters):
(WebKit::WebsiteDataStore::resetQuota):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Removed as we have a different StorageQuotaManager

implementation now.

  • WebKitTestRunner/TestController.cpp: reset StorageQuotaManager's quota between tests.

(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::resetQuota):

  • WebKitTestRunner/TestController.h:
2:35 PM Changeset in webkit [252804] by Alan Coon
  • 1 copy in tags/Safari-608.5.3

Tag Safari-608.5.3.

2:34 PM Changeset in webkit [252803] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

2:29 PM Changeset in webkit [252802] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Regression (r252701): imported/w3c/web-platform-tests/css/css-multicol/multicol-rule-shorthand-2.xht and multicol-rule-fraction-003.xht are failing on iOS
https://bugs.webkit.org/show_bug.cgi?id=204505

Unreviewed test gardening.

Two multicol tests still fail on iOS.

  • platform/ios/TestExpectations:
2:21 PM Changeset in webkit [252801] by pvollan@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix compile error in release mode
https://bugs.webkit.org/show_bug.cgi?id=204534

Reviewed by Mark Lam.

A compiler error is thrown in release mode when compiling FullBytecodeLiveness::getLiveness,
since not all paths are returning a value.

  • bytecode/FullBytecodeLiveness.h:

(JSC::FullBytecodeLiveness::getLiveness const):

2:13 PM Changeset in webkit [252800] by Tadeu Zagallo
  • 14 edits
    1 add in trunk

[WebAssembly] Improve Wasm::LLIntGenerator
https://bugs.webkit.org/show_bug.cgi?id=204092

Reviewed by Saam Barati.

JSTests:

  • wasm/stress/set-local-enclosed-stack.js: Added.

(assert.eq.instance.exports.foo):
(assert.eq):

Source/JavaScriptCore:

This improves the Wasm::LLIntGenerator by:

  • Changing LLIntGenerator::ExpressionType from RefPtr<RegisterID> to VirtualRegister: Instead of allocating and retaining RegisterIDs we use VirtualRegisters directly and ensure that they match the WebAssembly stack, i.e. the parser's expression stack should match the virtual registers.
  • Removing redundant moves when materializing constants and performing local.get: instead of creating a new temporary for each constant and local.get, we return the VirtualRegister for the constant/local slot directly. In order for this to work, we still allocate the stack slot for the temporaries, since we have to materialize them before loops and branches.
  • Adding a constructor to ControlType that takes the results ExpressionList as an rvalue instead of copying it
  • Optimizing callInformationFor, which is now split into two functions. The callee does not care about arguments, and should never allocate temporaries, and the caller case was optimized by avoiding unnecessary calls to newTemporary
  • Delay holding the lock in LLintPlan::compileFunction, since we do not need to hold it while compiling the js-to-wasm entrypoint
  • bytecode/BytecodeList.rb:
  • bytecompiler/Label.h:

(JSC::GenericLabel::location const):
(JSC::GenericLabel::unresolvedJumps const):

  • generator/Wasm.rb:
  • llint/WebAssembly.asm:
  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::AirIRGenerator::endTopLevel):
(JSC::Wasm::AirIRGenerator::didPopValueFromStack):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::endTopLevel):
(JSC::Wasm::B3IRGenerator::didPopValueFromStack):

  • wasm/WasmFunctionCodeBlock.cpp:

(JSC::Wasm::FunctionCodeBlock::addJumpTable):

  • wasm/WasmFunctionCodeBlock.h:
  • wasm/WasmFunctionParser.h:

(JSC::Wasm::FunctionParser::expressionStack):
(JSC::Wasm::FunctionParser<Context>::parseBody):
(JSC::Wasm::FunctionParser<Context>::parseExpression):

  • wasm/WasmLLIntGenerator.cpp:

(JSC::Wasm::LLIntGenerator::ControlType::loop):
(JSC::Wasm::LLIntGenerator::ControlType::topLevel):
(JSC::Wasm::LLIntGenerator::ControlType::block):
(JSC::Wasm::LLIntGenerator::ControlType::if_):
(JSC::Wasm::LLIntGenerator::ControlType::targetArity const):
(JSC::Wasm::LLIntGenerator::ControlType::stackSize const):
(JSC::Wasm::LLIntGenerator::ControlType::ControlType):
(JSC::Wasm::LLIntGenerator::unifyValuesWithBlock):
(JSC::Wasm::LLIntGenerator::push):
(JSC::Wasm::LLIntGenerator::didPopValueFromStack):
(JSC::Wasm::LLIntGenerator::emptyExpression):
(JSC::Wasm::LLIntGenerator::addEndToUnreachable):
(JSC::Wasm::LLIntGenerator::dump):
(JSC::Wasm::LLIntGenerator::virtualRegisterForWasmLocal):
(JSC::Wasm::LLIntGenerator::jsNullConstant):
(JSC::Wasm::LLIntGenerator::zeroConstant):
(JSC::Wasm::LLIntGenerator::getDropKeepCount):
(JSC::Wasm::LLIntGenerator::dropKeep):
(JSC::Wasm::LLIntGenerator::walkExpressionStack):
(JSC::Wasm::LLIntGenerator::checkConsistency):
(JSC::Wasm::LLIntGenerator::materializeConstantsAndLocals):
(JSC::Wasm::LLIntGenerator::materializeLocals):
(JSC::Wasm::LLIntGenerator::ConstantMapHashTraits::constructDeletedValue):
(JSC::Wasm::LLIntGenerator::ConstantMapHashTraits::isDeletedValue):
(JSC::Wasm::LLIntGenerator::LLIntGenerator):
(JSC::Wasm::LLIntGenerator::finalize):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::callInformationForCallee):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addLocal):
(JSC::Wasm::LLIntGenerator::didFinishParsingLocals):
(JSC::Wasm::LLIntGenerator::addConstant):
(JSC::Wasm::LLIntGenerator::getLocal):
(JSC::Wasm::LLIntGenerator::setLocal):
(JSC::Wasm::LLIntGenerator::getGlobal):
(JSC::Wasm::LLIntGenerator::addLoop):
(JSC::Wasm::LLIntGenerator::addTopLevel):
(JSC::Wasm::LLIntGenerator::addBlock):
(JSC::Wasm::LLIntGenerator::addIf):
(JSC::Wasm::LLIntGenerator::addElse):
(JSC::Wasm::LLIntGenerator::addElseToUnreachable):
(JSC::Wasm::LLIntGenerator::addReturn):
(JSC::Wasm::LLIntGenerator::addBranch):
(JSC::Wasm::LLIntGenerator::addSwitch):
(JSC::Wasm::LLIntGenerator::endBlock):
(JSC::Wasm::LLIntGenerator::endTopLevel):
(JSC::Wasm::LLIntGenerator::addCall):
(JSC::Wasm::LLIntGenerator::addCallIndirect):
(JSC::Wasm::LLIntGenerator::addRefIsNull):
(JSC::Wasm::LLIntGenerator::addRefFunc):
(JSC::Wasm::LLIntGenerator::addTableGet):
(JSC::Wasm::LLIntGenerator::addTableSize):
(JSC::Wasm::LLIntGenerator::addTableGrow):
(JSC::Wasm::LLIntGenerator::addCurrentMemory):
(JSC::Wasm::LLIntGenerator::addGrowMemory):
(JSC::Wasm::LLIntGenerator::addSelect):
(JSC::Wasm::LLIntGenerator::load):
(JSC::GenericLabel<Wasm::GeneratorTraits>::setLocation):

  • wasm/WasmLLIntPlan.cpp:

(JSC::Wasm::LLIntPlan::compileFunction):

  • wasm/WasmValidate.cpp:

(JSC::Wasm::Validate::endTopLevel):
(JSC::Wasm::Validate::didPopValueFromStack):

1:58 PM Changeset in webkit [252799] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r251227): dashboard no longer shows page weight
https://bugs.webkit.org/show_bug.cgi?id=204528

Reviewed by Brian Burg.

WI.contentLoaded adds the debuggable type as a class to the <body>. In r251227, the
"web" debuggable type was split into "page" and "web-page". Update the few selectors that
used the debuggable type to show/hide parts of the UI.

  • UserInterface/Views/DashboardContainerView.css:

(body:matches(.page, .web-page) .toolbar .dashboard-container): Added.
(body:not(.page, .web-page) .toolbar .dashboard-container): Added.
(body.web .toolbar .dashboard-container): Deleted.
(body:not(.web) .toolbar .dashboard-container): Deleted.

  • UserInterface/Views/DefaultDashboardView.css:

(body:matches(.page, .web-page) .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)): Added.
(body:not(.page, .web-page) .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)): Added.
(body.web .toolbar.collapsed .dashboard.default > :matches(.resourcesSize, .time, .logs)): Deleted.
(body:not(.web) .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)): Deleted.

1:32 PM Changeset in webkit [252798] by achristensen@apple.com
  • 9 edits in trunk/Source/WebKit

Revert r250421
https://bugs.webkit.org/show_bug.cgi?id=202290

This is needed for rdar://problem/56760896
I left the soup parts of the original change untouched, which leaves speculative validation on for soup ports.

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

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

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDiskCacheSpeculativeValidationEnabled):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration diskCacheSpeculativeValidationEnabled]):
(-[_WKProcessPoolConfiguration setDiskCacheSpeculativeValidationEnabled:]):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

1:30 PM Changeset in webkit [252797] by Jonathan Bedard
  • 2 edits in trunk/Tools

Unreviewed, rolling out r252791.

Cannot use key on scalar in some perl versions

Reverted changeset:

"run-javascriptcore-tests: Failure to determine configuration
for reporting is fatal"
https://bugs.webkit.org/show_bug.cgi?id=204526
https://trac.webkit.org/changeset/252791

1:25 PM Changeset in webkit [252796] by achristensen@apple.com
  • 11 edits in trunk/Source/WebKit

Revert r250422
https://bugs.webkit.org/show_bug.cgi?id=202285

This is needed for rdar://problem/56760896

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setCanHandleHTTPSServerTrustEvaluation):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::canHandleHTTPSServerTrustEvaluation const):

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

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

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

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetCanHandleHTTPSServerTrustEvaluation):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setCanHandleHTTPSServerTrustEvaluation:]):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):

  • UIProcess/WebProcessPool.h:
1:21 PM Changeset in webkit [252795] by Alan Coon
  • 1 copy in tags/Safari-608.5.2

Tag Safari-608.5.2.

1:19 PM Changeset in webkit [252794] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

12:40 PM Changeset in webkit [252793] by eric.carlson@apple.com
  • 7 edits in trunk

( r251737 ) media/remoteplayback-prompt.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=204362
<rdar://problem/57327870>

Reviewed by Jer Noble.

Source/WebCore:

No new tests, this fixes a flakey test.

  • platform/mock/MediaPlaybackTargetPickerMock.cpp:

(WebCore::MediaPlaybackTargetPickerMock::MediaPlaybackTargetPickerMock):
(WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
(WebCore::MediaPlaybackTargetPickerMock::startingMonitoringPlaybackTargets):
(WebCore::MediaPlaybackTargetPickerMock::setState):
(WebCore::MediaPlaybackTargetPickerMock::timerFired): Deleted.

  • platform/mock/MediaPlaybackTargetPickerMock.h:

LayoutTests:

  • media/media-source/only-bcp47-language-tags-accepted-as-valid-expected.txt:
  • media/remoteplayback-prompt.html: Update to make debugging timeouts easier.
  • media/video-test.js:

(waitForEventWithTimeout):

12:29 PM Changeset in webkit [252792] by Devin Rousso
  • 3 edits in trunk/Source/WebCore

Web Inspector: Canvas: adjust InspectorCanvasAgent::recordCanvasAction to actually check that the CanvasRenderingContext still exists
https://bugs.webkit.org/show_bug.cgi?id=204395
<rdar://problem/57347504>

Reviewed by Ryosuke Niwa.

The microtask we create to handle marking the end of a frame for a detached canvas doesn't
actually check that the CanvasRenderingContext still exists, such as if it gets GCd during
a recording.

Instead of creating a microtask per-canvas, create a microtask per-InspectorCanvasAgent
and save a list of canvasId that are actively recording, which can then be iterated to
handle marking the end of a frame for each once the microtask fires. If the canvasId can't
be re-found, then the related CanvasRenderingContext must have been removed.

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::recordCanvasAction):
(WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
(WebCore::InspectorCanvasAgent::reset):

12:06 PM Changeset in webkit [252791] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
https://bugs.webkit.org/show_bug.cgi?id=204526

Reviewed by Aakash Jain.

  • Scripts/run-javascriptcore-tests:

(configurationForUpload): Return empty hash if no configuration is available.
(uploadResults): Soft-fail upload if configuration is empty.

12:01 PM Changeset in webkit [252790] by BJ Burg
  • 9 edits
    1 copy
    3 adds in trunk

Web Inspector: add support for new kinds of diagnostic events
https://bugs.webkit.org/show_bug.cgi?id=204430

Reviewed by Devin Rousso.

Source/WebInspectorUI:

This patch restructures the existing DiagnosticController to support multiple
self-contained event recorders. The first such recorder is for the TabActivity
diagnostic event. More will be added later.

Add two engineering settings: one which auto-logs diagnostic events to Inspector2 console,
and another which forces DiagnosticController to be active or inactive regardless of
whether a diagnostic logging delegate is actually installed. This is for manual testing.

This patch does not introduce any functionality changes to diagnostic event collection.
The TabActivityDiagnosticeventRecorder still needs some changes for it to sample correctly.

New Test: inspector/unit-tests/diagnostic-controller.html

  • UserInterface/Base/Main.js:

(WI.contentLoaded):

  • UserInterface/Controllers/DiagnosticController.js:

(WI.DiagnosticController):
(WI.DiagnosticController.prototype.set diagnosticLoggingAvailable):
(WI.DiagnosticController.prototype.addRecorder):
(WI.DiagnosticController.prototype.logDiagnosticEvent):
(WI.DiagnosticController.prototype._debugEnableDiagnosticLoggingSettingDidChange):
(WI.DiagnosticController.prototype._debugAutoLogDiagnosticEventsSettingDidChange):
(WI.DiagnosticController.prototype._updateRecorderStates):
(WI.DiagnosticController.supportsDiagnosticLogging): Deleted.
(WI.DiagnosticController.prototype.logDiagnosticMessage): Deleted.
(WI.DiagnosticController.prototype._didInteractWithTabContent): Deleted.
(WI.DiagnosticController.prototype._clearTabActivityTimeout): Deleted.
(WI.DiagnosticController.prototype._beginTabActivityTimeout): Deleted.
(WI.DiagnosticController.prototype._stopTrackingTabActivity): Deleted.
(WI.DiagnosticController.prototype._handleWindowFocus): Deleted.
(WI.DiagnosticController.prototype._handleWindowBlur): Deleted.
(WI.DiagnosticController.prototype._handleWindowKeyDown): Deleted.
(WI.DiagnosticController.prototype._handleWindowMouseDown): Deleted.
(WI.DiagnosticController.prototype._handleTabBrowserSelectedTabContentViewDidChange): Deleted.
Restructure DiagnosticController to be dumber. It holds on to a list of recorders and
turns them on and off. All event logging goes through one funnel method, which does not
use InspectorFrontendHost at all when running a Web Inspector layout test.

  • UserInterface/Controllers/DiagnosticEventRecorder.js: Added.

(WI.DiagnosticEventRecorder):
(WI.DiagnosticEventRecorder.prototype.get name):
(WI.DiagnosticEventRecorder.prototype.get active):
(WI.DiagnosticEventRecorder.prototype.set active):
(WI.DiagnosticEventRecorder.prototype.setup):
(WI.DiagnosticEventRecorder.prototype.teardown):
Add base class for all individual diagnostic event recorders.

  • UserInterface/Controllers/TabActivityDiagnosticEventRecorder.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DiagnosticController.js.

(WI.TabActivityDiagnosticEventRecorder):
(WI.TabActivityDiagnosticEventRecorder.prototype.setup):
(WI.TabActivityDiagnosticEventRecorder.prototype.teardown):
(WI.TabActivityDiagnosticEventRecorder.prototype.handleEvent):
(WI.TabActivityDiagnosticEventRecorder.prototype._didInteractWithTabContent):
(WI.TabActivityDiagnosticEventRecorder.prototype._clearTabActivityTimeout):
(WI.TabActivityDiagnosticEventRecorder.prototype._beginTabActivityTimeout):
(WI.TabActivityDiagnosticEventRecorder.prototype._stopTrackingTabActivity):
(WI.TabActivityDiagnosticEventRecorder.prototype._handleWindowFocus):
(WI.TabActivityDiagnosticEventRecorder.prototype._handleWindowBlur):
(WI.TabActivityDiagnosticEventRecorder.prototype._handleWindowKeyDown):
(WI.TabActivityDiagnosticEventRecorder.prototype._handleWindowMouseDown):
(WI.TabActivityDiagnosticEventRecorder.prototype._handleTabBrowserSelectedTabContentViewDidChange):
Move all user activity tracking to here. Restructure so that the recorder can be
turned on and off (this adds/removes its listeners and timers).

  • UserInterface/Main.html: Add new files.
  • UserInterface/Protocol/InspectorFrontendAPI.js:

(InspectorFrontendAPI.setDiagnosticLoggingAvailable):
Adjust the name, as WI.diagnosticController is no longer underscore-prefixed.

  • UserInterface/Base/Setting.js:

Add new settings. Add getter 'valueRespectingDebugUIAvailability' which only
returns default values for Debug/Engineering settings if DebugUI is not enabled.

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createDebugSettingsView):
Add new settings to Settings Tab UI.

LayoutTests:

Add new test cases for WI.DiagnosticController.

  • inspector/unit-tests/diagnostic-controller-expected.txt: Added.
  • inspector/unit-tests/diagnostic-controller.html: Added.
11:55 AM Changeset in webkit [252789] by ysuzuki@apple.com
  • 14 edits
    9 adds in trunk

[JSC] DFG terminal's liveness should respect caller's opcodeID
https://bugs.webkit.org/show_bug.cgi?id=204317

Reviewed by Saam Barati.

JSTests:

  • stress/call-var-args-phantom-arguments-handler-strict.js: Added.

(shouldBe):
(inlined):
(test):

  • stress/call-var-args-phantom-arguments-handler.js: Added.

(shouldBe):
(inlined):
(test):

  • stress/call-var-args-phantom-arguments-strict.js: Added.

(shouldBe):
(inlined):
(test):

  • stress/call-var-args-phantom-arguments.js: Added.

(shouldBe):
(inlined):
(test):

  • stress/derived-class-construct-varargs.js: Added.

(shouldThrow):
(B):

  • stress/tail-call-var-args-phantom-arguments-handler-strict.js: Added.

(shouldBe):
(inlined):
(test):

  • stress/tail-call-var-args-phantom-arguments-handler.js: Added.

(shouldBe):
(inlined):
(test):

  • stress/tail-call-var-args-phantom-arguments-strict.js: Added.

(shouldBe):
(inlined):
(test):

  • stress/tail-call-var-args-phantom-arguments.js: Added.

(shouldBe):
(inlined):
(test):

Source/JavaScriptCore:

Let's consider the following example, which is freqneutly seen in Speedometer2/EmberJS-Debug.

"use strict";

function assertImpl(cond)
{

if (!cond)

throw new Error();

}

function assert()
{

assertImpl.apply(undefined, arguments);

}
noInline(assert);

When compiling throw, we emit a terminal node and put Phantom/PhantomLocal based on the bytecode liveness.
When collecting liveness for each frame, we use the liveness information of the bytecode op_call_varargs in assert function.
This means that op_call_varargs's uses are considered as live (like, arguments in this example).
But it is not necessary to mark it "live": if we are in assertImpl, arguments is already loaded into the stack, and we no longer
use arguments when exiting, and the execution after the exit. Marking this arguments live makes this arguments allocated
in DFG, but this is wasteful.

In this patch, we introduce BeforeUse and AfterUse concept into bytecode liveness information. And use AfterUse information when
collecting liveness in the caller's frame in DFG. We only enable this for varargs for now since (1) applying this to the other ones
is not profitable, and (2) we need to be careful to make stack arguments live to allow materialization of arguments objects.
In op_call_varargs / op_tail_call_varargs / op_construct_varargs cases, uses are happen only for |callee|, |this|, and |arguments|.
And these are no longer necessary after calling.

We don't use liveness information in the next bytecode since it misses uses marked by exception handlers.

  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::BytecodeLivenessAnalysis::computeFullLiveness):

  • bytecode/BytecodeLivenessAnalysis.h:

(JSC::BytecodeLivenessAnalysis::graph):

  • bytecode/BytecodeLivenessAnalysisInlines.h:

(JSC::BytecodeLivenessPropagation::stepOverInstructionDef):
(JSC::BytecodeLivenessPropagation::stepOverInstructionUse):
(JSC::BytecodeLivenessPropagation::stepOverInstructionUseInExceptionHandler):
(JSC::BytecodeLivenessPropagation::stepOverInstruction):

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeIndex):
(JSC::computeDefsForBytecodeIndex):

  • bytecode/FullBytecodeLiveness.h:

(JSC::FullBytecodeLiveness::getLiveness const):
(JSC::FullBytecodeLiveness::operandIsLive const):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::ForInContext::finalize):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flushForTerminalImpl):

  • dfg/DFGForAllKills.h:

(JSC::DFG::forAllKilledOperands):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::forAllLocalsLiveInBytecode):
(JSC::DFG::Graph::appropriateLivenessCalculationPoint):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
11:55 AM Changeset in webkit [252788] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Setup EWS queue for JSConly i386
https://bugs.webkit.org/show_bug.cgi?id=204523

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/config.json:
11:14 AM Changeset in webkit [252787] by sihui_liu@apple.com
  • 10 edits in trunk/Source/WebCore

IndexedDB: lock-based implementation of suspension
https://bugs.webkit.org/show_bug.cgi?id=204379

Reviewed by Geoffrey Garen.

Covered by existing API test: IndexedDB.IndexedDBSuspendImminently

  • Modules/indexeddb/server/IDBBackingStore.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::tryStop):
(WebCore::IDBServer::IDBServer::resume):

  • Modules/indexeddb/server/IDBServer.h:

(WebCore::IDBServer::IDBServer::addDatabase):
(WebCore::IDBServer::IDBServer::removeDatabase):

  • Modules/indexeddb/server/MemoryIDBBackingStore.cpp:

(WebCore::IDBServer::MemoryIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::renameObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::createIndex):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteIndex):
(WebCore::IDBServer::MemoryIDBBackingStore::renameIndex):
(WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
(WebCore::IDBServer::MemoryIDBBackingStore::addRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getAllRecords):
(WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getCount):
(WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber):
(WebCore::IDBServer::MemoryIDBBackingStore::revertGeneratedKeyNumber):
(WebCore::IDBServer::MemoryIDBBackingStore::maybeUpdateKeyGeneratorNumber):
(WebCore::IDBServer::MemoryIDBBackingStore::openCursor):
(WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):
(WebCore::IDBServer::MemoryIDBBackingStore::infoForObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::MemoryIDBBackingStore::close):
(WebCore::IDBServer::MemoryIDBBackingStore::databaseSize const): Deleted.

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

(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getAllRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
(WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::revertGeneratedKeyNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::prefetchCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::infoForObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::close):
(WebCore::IDBServer::SQLiteIDBBackingStore::hasTransaction const):
(WebCore::IDBServer::SQLiteIDBBackingStore::databaseSize const): Deleted.

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

(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::performUnconditionalDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::shutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::performStartVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performOpenCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performPrefetchCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::performActivateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransactionOnMainThread):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransactionOnMainThread):
(WebCore::IDBServer::UniqueIDBDatabase::suspend):
(WebCore::IDBServer::UniqueIDBDatabase::resume):
(WebCore::IDBServer::UniqueIDBDatabase::finishActiveTransactions): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
11:08 AM Changeset in webkit [252786] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add KillOldProcesses step before running JSC tests
https://bugs.webkit.org/show_bug.cgi?id=204525

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/factories.py:
11:00 AM Changeset in webkit [252785] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Make CSSValuePool constructable
https://bugs.webkit.org/show_bug.cgi?id=204520

Patch by Chris Lord <Chris Lord> on 2019-11-22
Reviewed by Antti Koivisto.

No new tests, no new functionality.

  • css/CSSInheritedValue.h:
  • css/CSSRevertValue.h:
  • css/CSSUnsetValue.h:
  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::singleton):
(WebCore::CSSValuePool::CSSValuePool):

  • css/CSSValuePool.h:
11:00 AM Changeset in webkit [252784] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix build on an old MacOS version

Unreviewed.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::commitTreeState):

10:57 AM Changeset in webkit [252783] by guijemont@igalia.com
  • 4 edits in trunk/JSTests

Skip tests that fail on arm and mips devices
https://bugs.webkit.org/show_bug.cgi?id=204522

Unreviewed gardening.

  • stress/generator-cell-with-type.js:
  • stress/stack-overflow-in-yarr-byteCompile.js:
  • stress/toctou-having-a-bad-time-new-array.js:
10:41 AM Changeset in webkit [252782] by Conrad Shultz
  • 3 edits in trunk/Source/WebKit

Remove -[_WKThumbnailView usesSnapshot/setUsesSnapshot:]
https://bugs.webkit.org/show_bug.cgi?id=150099

Reviewed by Tim Horton.

Remove some unused, no-op SPI. While we're here, remove a couple unneeded explicit
property syntheses.

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

(-[_WKThumbnailView setUsesSnapshot:]): Deleted.
(-[_WKThumbnailView usesSnapshot]): Deleted.

10:25 AM Changeset in webkit [252781] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-javascriptcore-tests: Hide the output of binaries behind --verbose
https://bugs.webkit.org/show_bug.cgi?id=204386

Reviewed by Aakash Jain.

  • Scripts/run-javascriptcore-tests:

(runTest): Do not log binary output by default, always log test failures.

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

[ews] Add basic commit-queue support in new EWS
https://bugs.webkit.org/show_bug.cgi?id=204517

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/config.json:
  • BuildSlaveSupport/ews-build/factories.py:
  • BuildSlaveSupport/ews-build/loadConfig.py:
9:51 AM Changeset in webkit [252779] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-webkit-tests: Failing to run spindump shouldn't be fatal
https://bugs.webkit.org/show_bug.cgi?id=204518
<rdar://problem/57397417>

Reviewed by Aakash Jain.

  • Scripts/webkitpy/port/darwin.py:

(DarwinPort.sample_process): Catch script error.

9:25 AM Changeset in webkit [252778] by Chris Dumez
  • 11 edits in trunk

Speculative loading sometimes happens too early and is missing login cookies
https://bugs.webkit.org/show_bug.cgi?id=204305
<rdar://problem/57063840>

Reviewed by Antti Koivisto.

Source/WebKit:

Speculative loads were issued before receiving the response from the main resource. However,
the main resource may set important cookies that are thus missing from the speculative requests.

To address the issue we now delay speculative loads for first-party subresources until we've
received the response from the main resource. To avoid regressing PLT, we still warm up the
first-party subresources from disk right away and preconnect to the server.

No new tests, extended existing test.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveMainResourceResponse):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:

(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::didReceiveMainResourceResponse const):
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markMainResourceResponseAsReceived):
(WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::addPostMainResourceResponseTask):
(WebKit::NetworkCache::SpeculativeLoadManager::shouldRegisterLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
(WebKit::NetworkCache::SpeculativeLoadManager::registerMainResourceLoadResponse):
(WebKit::NetworkCache::SpeculativeLoadManager::preconnectForSubresource):
(WebKit::NetworkCache::SpeculativeLoadManager::revalidateSubresource):

  • NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
  • NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:

(WebKit::NetworkCache::SubresourceInfo::isFirstParty const):

  • NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:

LayoutTests:

Extend layout test coverage to make sure that the validation request contains the latest cookies
set by the main resource.

  • http/tests/cache/disk-cache/speculative-validation/resources/validation-request-frame.php:
  • http/tests/cache/disk-cache/speculative-validation/validation-request-expected.txt:
  • http/tests/cache/disk-cache/speculative-validation/validation-request.html:
9:08 AM Changeset in webkit [252777] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

Unreviewed FTW build fix after r252687.

  • wtf/PlatformFTW.cmake:
8:37 AM Changeset in webkit [252776] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Line::inlineItemContentHeight should only call FormattingContext::geometryForBox when needed
https://bugs.webkit.org/show_bug.cgi?id=204516
<rdar://problem/57429153>

Reviewed by Antti Koivisto.

Line::inlineItemContentHeight is hot and geometryForBox() is a hash lookup. Let's not call it unless we need to.

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::inlineItemContentHeight const):

7:28 AM Changeset in webkit [252775] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Remove JSC 32bit ARMv7 and MipsEl old EWS queues
https://bugs.webkit.org/show_bug.cgi?id=204344

Patch by Paulo Matos <Paulo Matos> on 2019-11-22
Reviewed by Aakash Jain.

Remove JSC armv7 and mips from old EWS queue and fix bubbles
by removing them from old ews and adding them to new ews.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer):

  • BuildSlaveSupport/ews-app/ews/views/statusbubble.py:

(StatusBubble):

  • QueueStatusServer/config/queues.py:
7:23 AM Changeset in webkit [252774] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test storage/indexeddb/modern/new-database-after-user-delete.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=204489

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:55 AM Changeset in webkit [252773] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Support JSCOnly platform in test reporting
https://bugs.webkit.org/show_bug.cgi?id=204495

Patch by Paulo Matos <Paulo Matos> on 2019-11-22
Reviewed by Carlos Garcia Campos.

Add JSCOnly to possible platforms.

  • Scripts/run-javascriptcore-tests:

(configurationForUpload):

6:51 AM Changeset in webkit [252772] by Carlos Garcia Campos
  • 4 edits in trunk/Source

Unreviewed. Fix GTK/WPE debug build after r252770

Just remove the ASSERT instead, since it now always receive a newly created Ref.

Source/JavaScriptCore:

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::setupConnection):

Source/WebDriver:

  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::setupConnection):

6:42 AM Changeset in webkit [252771] by Carlos Garcia Campos
  • 4 edits in trunk/Source

Unreviewed. Fix GTK/WPE debug build after r252770

Source/JavaScriptCore:

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::setupConnection):

Source/WebDriver:

  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::setupConnection):

6:22 AM Changeset in webkit [252770] by Carlos Garcia Campos
  • 23 edits
    2 copies
    2 adds
    1 delete in trunk

[GTK][WPE] RemoteInspector: use sockets instead of DBus
https://bugs.webkit.org/show_bug.cgi?id=204503

Reviewed by Žan Doberšek.

Source/JavaScriptCore:

It turns out DBus is event slower than expected. Using GSockets API we can simplify the code and make it a lot
more efficient. This will drastically reduce the time to run WebDriver tests in the bots.

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::setupConnection):
(Inspector::RemoteInspector::pushListingsNow):
(Inspector::RemoteInspector::pushListingsSoon):
(Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage):
(Inspector::RemoteInspector::sendMessageToRemote):

  • inspector/remote/glib/RemoteInspectorServer.cpp:

(Inspector::RemoteInspectorServer::~RemoteInspectorServer):
(Inspector::RemoteInspectorServer::start):
(Inspector::RemoteInspectorServer::incomingConnectionCallback):
(Inspector::RemoteInspectorServer::incomingConnection):
(Inspector::RemoteInspectorServer::setTargetList):
(Inspector::RemoteInspectorServer::setupInspectorClient):
(Inspector::RemoteInspectorServer::setup):
(Inspector::RemoteInspectorServer::close):
(Inspector::RemoteInspectorServer::connectionDidClose):
(Inspector::RemoteInspectorServer::sendMessageToBackend):
(Inspector::RemoteInspectorServer::sendMessageToFrontend):
(Inspector::RemoteInspectorServer::startAutomationSession):

  • inspector/remote/glib/RemoteInspectorServer.h:

(Inspector::RemoteInspectorServer::isRunning const):

Source/WebDriver:

Use GSockets API instead of DBus.

  • SessionHost.cpp:

(WebDriver::SessionHost::sendCommandToBackend):

  • SessionHost.h:
  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::~SessionHost):
(WebDriver::SessionHost::isConnected const):
(WebDriver::ConnectToBrowserAsyncData::ConnectToBrowserAsyncData):
(WebDriver::SessionHost::launchBrowser):
(WebDriver::SessionHost::connectToBrowser):
(WebDriver::SessionHost::connectionDidClose):
(WebDriver::SessionHost::setupConnection):
(WebDriver::SessionHost::startAutomationSession):
(WebDriver::SessionHost::didStartAutomationSession):
(WebDriver::SessionHost::setTargetList):
(WebDriver::SessionHost::sendMessageToBackend):

  • socket/SessionHostSocket.cpp:

(WebDriver::SessionHost::sendMessageToBackend):

Source/WebKit:

Use GSockets API instead of DBus.

  • Platform/IPC/Connection.h:
  • SourcesGTK.txt: Remove GSocketMonitor that has been moved to WTF.
  • SourcesWPE.txt: Ditto.
  • UIProcess/glib/RemoteInspectorClient.cpp:

(WebKit::RemoteInspectorClient::RemoteInspectorClient):
(WebKit::RemoteInspectorClient::~RemoteInspectorClient):
(WebKit::RemoteInspectorClient::setupConnection):
(WebKit::RemoteInspectorClient::connectionDidClose):
(WebKit::RemoteInspectorClient::inspect):
(WebKit::RemoteInspectorClient::sendMessageToBackend):
(WebKit::RemoteInspectorClient::closeFromFrontend):

  • UIProcess/glib/RemoteInspectorClient.h:

Source/WTF:

Add SocketConnection class.

  • wtf/PlatformGTK.cmake:
  • wtf/PlatformWPE.cmake:
  • wtf/glib/GSocketMonitor.cpp: Renamed from Source/WebKit/Platform/IPC/glib/GSocketMonitor.cpp.

(WTF::GSocketMonitor::start):

  • wtf/glib/GSocketMonitor.h: Renamed from Source/WebKit/Platform/IPC/glib/GSocketMonitor.h.

(WTF::GSocketMonitor::isActive const):

  • wtf/glib/GTypedefs.h:
  • wtf/glib/GUniquePtr.h:
  • wtf/glib/SocketConnection.cpp: Added.

(WTF::SocketConnection::SocketConnection):
(WTF::SocketConnection::~SocketConnection):
(WTF::SocketConnection::read):
(WTF::SocketConnection::readMessage):
(WTF::SocketConnection::sendMessage):
(WTF::SocketConnection::write):
(WTF::SocketConnection::waitForSocketWritability):
(WTF::SocketConnection::close):
(WTF::SocketConnection::didClose):

  • wtf/glib/SocketConnection.h: Added.

(WTF::SocketConnection::create):
(WTF::SocketConnection::isClosed const):

Tools:

Update the unit tests to not use DBus.

  • TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
5:28 AM Changeset in webkit [252769] by Chris Dumez
  • 5 edits
    3 moves
    1 add
    1 delete in trunk/LayoutTests

[ iOS Release ]: Layout Test http/tests/navigation/page-cache-domcache-pending-promise.html is a Flaky Timeout
https://bugs.webkit.org/show_bug.cgi?id=203373
<rdar://problem/56590038>

Reviewed by Youenn Fablet.

I am not able to reproduce the flakiness so this includes speculative fixes and better error handling so
that the test would hopefully fail with a message instead of timing out.

Speculative fixes:

  1. If the promise is resolved before we've navigated away, retry it asynchronously.
  2. If the promise is rejected before we've navigated away, retry it asynchronously instead of synchronously. I believe it is possible to prevent the navigation otherwise, in cases where the promise is rejected synchronously.
  • http/tests/navigation/page-cache-domcache-pending-promise-expected.txt:
  • http/tests/navigation/page-cache-domcache-pending-promise.html:
5:09 AM Changeset in webkit [252768] by Carlos Garcia Campos
  • 5 edits
    2 adds in trunk

File input should fire an 'input' event before the 'change' event
https://bugs.webkit.org/show_bug.cgi?id=204292

Reviewed by Wenson Hsieh.

Source/WebCore:

"Queue a task to first update the element's selected files so that it represents the user's selection, then fire
an event named input at the input element, with the bubbles attribute initialized to true, and finally fire an
event named change at the input element, with the bubbles attribute initialized to true."
https://html.spec.whatwg.org/#file-upload-state-(type=file):event-input

This will also fix WebDriver test imported/w3c/webdriver/tests/element_send_keys/events.py::test_file_upload in
safari driver.

Test: fast/forms/file/file-input-user-selection-events.html

  • html/FileInputType.cpp:

(WebCore::FileInputType::setFiles):

LayoutTests:

Add new test to check both events are fired now.

  • fast/forms/file/file-input-user-selection-events-expected.txt: Added.
  • fast/forms/file/file-input-user-selection-events.html: Added.
3:32 AM Changeset in webkit [252767] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix missing exception check in replaceUsingStringSearch().
https://bugs.webkit.org/show_bug.cgi?id=204496

Reviewed by Yusuke Suzuki.

The CachedCall constructor can throw OutOfMemory or StackOverflow errors.
This was caught by existing JSC stress tests when we run with a debug build.

Also placate the exception check validator in $vm's functionCallWithStackSize().

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingStringSearch):

  • tools/JSDollarVM.cpp:

(JSC::functionCallWithStackSize):

1:39 AM Changeset in webkit [252766] by mark.lam@apple.com
  • 4 edits in trunk

replaceUsingStringSearch() should not use CachedCall with host functions.
https://bugs.webkit.org/show_bug.cgi?id=204494
<rdar://problem/57421078>

Reviewed by Ross Kirsling.

JSTests:

  • stress/string-replaceAll-2.js:

Source/JavaScriptCore:

The CachedCall mechanism does not support calling hist functions.

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingStringSearch):

Note: See TracTimeline for information about the timeline view.