Timeline



Oct 4, 2019:

8:15 PM Changeset in webkit [250765] by rniwa@webkit.org
  • 2 edits in trunk/Source/WTF

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

Broke JSC tests by breaking refCount check in
DropAllLocks::DropAllLocks (Requested by rniwa on #webkit).

Reverted changeset:

"Make a ThreadSafeRefCounted object safe to ref & deref inside
its destructor"
https://bugs.webkit.org/show_bug.cgi?id=201576
https://trac.webkit.org/changeset/250762

Patch by Commit Queue <commit-queue@webkit.org> on 2019-10-04

8:02 PM Changeset in webkit [250764] by rniwa@webkit.org
  • 5 edits in trunk

Change "InvalidStateError" to "NotSupportedError" for attachShadow()
https://bugs.webkit.org/show_bug.cgi?id=197948

Reviewed by Wenson Hsieh.

LayoutTests/imported/w3c:

Rebaselined the tests.

  • web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element-expected.txt:
  • web-platform-tests/shadow-dom/Element-interface-attachShadow-expected.txt:

Source/WebCore:

Match the latest spec. See https://github.com/whatwg/dom/pull/761

  • dom/Element.cpp:

(WebCore::Element::attachShadow): Throw NotSupportedError when there is already a shadow tree.

7:52 PM Changeset in webkit [250763] by rniwa@webkit.org
  • 2 edits in trunk/Source/WTF

Build fix for macOS Catalina.

  • wtf/spi/darwin/SandboxSPI.h:
6:59 PM Changeset in webkit [250762] by rniwa@webkit.org
  • 2 edits in trunk/Source/WTF

Make a ThreadSafeRefCounted object safe to ref & deref inside its destructor
https://bugs.webkit.org/show_bug.cgi?id=201576

Reviewed by Geoffrey Garen.

This patch leaves m_refCount 1 inside the last deref call to ThreadSafeRefCounted
such that ref'ing and deref'ing it again inside its destructor would never try
to double delete the object.

Also added m_deletionHasBegun like RefCounted.

  • wtf/ThreadSafeRefCounted.h:

(WTF::ThreadSafeRefCountedBase::ref const):
(WTF::ThreadSafeRefCountedBase::hasOneRef const):
(WTF::ThreadSafeRefCountedBase::derefBase const):

6:38 PM Changeset in webkit [250761] by Chris Dumez
  • 4 edits
    5 adds in trunk

Allow pages using EventSource to enter the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=202370
<rdar://problem/55853142>

Reviewed by Geoffrey Garen.

Source/WebCore:

Allow pages using EventSource to enter the back/forward cache. If the EventSource is
connecting at the time it enters PageCache, it will resume connecting after restoring
from PageCache (by making m_connectTimer a SuspendableTimer, which is PageCache-aware).
If the EventSource is was open upon navigating, it gets closed upon navigating (since
all pending loads get cancelled on navigation). To help the page recover, we fire an
error event and attempt to reconnect automatically when restoring the page from page
cache. It is allowed by the specification to attempt reconnection in case of non-fatal
network errors.

Tests: http/tests/eventsource/eventsource-page-cache-connected.html

http/tests/eventsource/eventsource-page-cache-connecting.html

  • page/EventSource.cpp:

(WebCore::EventSource::EventSource):
(WebCore::EventSource::scheduleReconnect):
(WebCore::EventSource::close):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::dispatchErrorEvent):
(WebCore::EventSource::didReceiveData):
(WebCore::EventSource::didFinishLoading):
(WebCore::EventSource::didFail):
(WebCore::EventSource::abortConnectionAttempt):
(WebCore::EventSource::doExplicitLoadCancellation):
(WebCore::EventSource::canSuspendForDocumentSuspension const):
(WebCore::EventSource::suspend):
(WebCore::EventSource::resume):
(WebCore::EventSource::dispatchMessageEvent):

  • page/EventSource.h:

LayoutTests:

Add layout test coverage.

  • http/tests/eventsource/eventsource-page-cache-connected-expected.txt: Added.
  • http/tests/eventsource/eventsource-page-cache-connected.html: Added.
  • http/tests/eventsource/eventsource-page-cache-connecting-expected.txt: Added.
  • http/tests/eventsource/eventsource-page-cache-connecting.html: Added.
  • http/tests/eventsource/resources/infinite-event-stream.php: Added.
6:16 PM Changeset in webkit [250760] by zhifei_fang@apple.com
  • 2 edits in trunk/Websites/perf.webkit.org

[perf dashboard] Test fressness popover sometimes point to wrong place
https://bugs.webkit.org/show_bug.cgi?id=202606

Reviewed by Ryosuke Niwa.

  • public/v3/pages/test-freshness-page.js: Use a invisable tooltip anchor to cacluate tooltip position. It also helps to get rid of caculation for determine the tooltip table position.

(TestFreshnessPage.prototype._renderTooltip):
(TestFreshnessPage.cssTemplate):

5:53 PM Changeset in webkit [250759] by Alan Coon
  • 7 edits in branches/safari-608.3-branch/Source

Versioning.

5:40 PM Changeset in webkit [250758] by Chris Dumez
  • 5 edits
    2 adds in trunk

ServiceWorkerContainer should never prevent a page from entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=202603

Reviewed by Geoff Garen.

Source/WebCore:

Make it so that ServiceWorkerContainer can suspend, even if they have pending promises.
We now queue all promise resolutions to a SuspendableTaskQueue to make sure that those
promises do not get resolved while in the page cache.

Test: http/tests/workers/service/page-cache-service-worker-pending-promise.https.html

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
(WebCore::ServiceWorkerContainer::ready):
(WebCore::ServiceWorkerContainer::getRegistration):
(WebCore::ServiceWorkerContainer::getRegistrations):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::canSuspendForDocumentSuspension const):

  • workers/service/ServiceWorkerContainer.h:

LayoutTests:

Add layout test coverage.

  • http/tests/workers/service/page-cache-service-worker-pending-promise.https-expected.txt: Added.
  • http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: Added.
4:43 PM Changeset in webkit [250757] by Alan Coon
  • 2 edits in branches/safari-608.3-branch/Source/WebKit

Cherry-pick r250438. rdar://problem/55984974

Unreviewed build-fix: wrap the AssertionServicesSPI.h in an IOS_FAMILY check.

  • WebProcess/cocoa/WebProcessCocoa.mm:

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

4:43 PM Changeset in webkit [250756] by Alan Coon
  • 2 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r250438. rdar://problem/55984974

Unreviewed build-fix: wrap the AssertionServicesSPI.h in an IOS_FAMILY check.

  • WebProcess/cocoa/WebProcessCocoa.mm:

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

4:18 PM Changeset in webkit [250755] by dino@apple.com
  • 6 edits in trunk/Source/WebKit

Use a better name than allowFastClicksEverywhere
https://bugs.webkit.org/show_bug.cgi?id=202607
<rdar://problem/55997133>

Reviewed by Tim Horton.

This preference name is quite confusing. Change it to
PreferFasterClickOverDoubleTap.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::preferFasterClickOverDoubleTap const):
(WebKit::WebPageProxy::allowsFastClicksEverywhere const): Deleted.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies):

4:12 PM Changeset in webkit [250754] by Chris Dumez
  • 5 edits in trunk

Allow pages using IDBIndex to enter the PageCache
https://bugs.webkit.org/show_bug.cgi?id=202430
<rdar://problem/55887918>

Reviewed by Geoffrey Garen.

Source/WebCore:

There is no reason to prevent PageCaching when an IDBIndex object is alive.
No events are fired by IDBIndex and its API returns IDBRequest objects, which
are already PageCache-aware.

I have seen Yahoo.com failing to enter the back/forward cache because of this.

No new tests, updated existing test.

  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::canSuspendForDocumentSuspension const):

LayoutTests:

Extend layout test coverage.

  • storage/indexeddb/IDBTransaction-page-cache-expected.txt:
  • storage/indexeddb/IDBTransaction-page-cache.html:
3:34 PM Changeset in webkit [250753] by Alan Coon
  • 1 copy in tags/Safari-608.3.10

Tag Safari-608.3.10.

3:23 PM Changeset in webkit [250752] by Ross Kirsling
  • 4 edits in trunk/Source

Socket-based RWI should base64-encode backend commands on client, not server
https://bugs.webkit.org/show_bug.cgi?id=202605

Reviewed by Don Olmstead.

Source/JavaScriptCore:

  • inspector/remote/socket/RemoteInspectorServer.cpp:

(Inspector::RemoteInspectorServer::setupInspectorClient):

Source/WebKit:

  • UIProcess/socket/RemoteInspectorClient.cpp:

(WebKit::RemoteInspectorClient::setBackendCommands):

3:22 PM Changeset in webkit [250751] by jiewen_tan@apple.com
  • 3 edits in trunk/Source/WebKit

Unreviewed, build fix after r250729

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanelInternal.h:
3:20 PM Changeset in webkit [250750] by sbarati@apple.com
  • 20 edits
    2 adds
    2 deletes in trunk

Allow OSR exit to the LLInt
https://bugs.webkit.org/show_bug.cgi?id=197993

Reviewed by Tadeu Zagallo.

JSTests:

  • stress/exit-from-getter-by-val.js: Added.
  • stress/exit-from-setter-by-val.js: Added.

Source/JavaScriptCore:

This patch makes it so we can OSR exit to the LLInt.
Here are the interesting implementation details:

  1. We no longer baseline compile everything in the inline stack.
  1. When the top frame is a LLInt frame, we exit to the corresponding

LLInt bytecode. However, we need to materialize the LLInt registers
for PC, PB, and metadata.

  1. When dealing with inline call frames where the caller is LLInt, we

need to return to the appropriate place. Let's consider we're exiting
at a place A->B (A calls B), where A is LLInt. If A is a normal call,
we place the return PC in the frame we materialize to B to be right
after the LLInt's inline cache for calls. If A is a varargs call, we place
it at the return location for vararg calls. The interesting scenario here
is where A is a getter/setter. This means that A might be get_by_id,
get_by_val, put_by_id, or put_by_val. Since the LLInt does not have any
form of IC for getters/setters, we make this work by creating new LLInt
"return location" stubs for these opcodes.

  1. We need to update what callee saves we store in the callee if the caller frame

is a LLInt frame. Let's consider an inline stack A->B->C, where A is a LLInt frame.
When we materialize the stack frame for B, we need to ensure that the LLInt callee
saves that A uses is stored into B's preserved callee saves. Specifically, this
is just the PB/metadata registers.

This patch also fixes offlineasm's macro expansion to allow us to
use computed label names for global labels.

In a future bug, I'm going to investigate some kind of control system for
throwing away baseline code when we tier up:
https://bugs.webkit.org/show_bug.cgi?id=202503

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/CodeBlock.h:

(JSC::CodeBlock::metadataTable):
(JSC::CodeBlock::instructionsRawPointer):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::executeOSRExit):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):
(JSC::DFG::OSRExit::compileOSRExit):

  • dfg/DFGOSRExit.h:

(JSC::DFG::OSRExitState::OSRExitState):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::callerReturnPC):
(JSC::DFG::calleeSaveSlot):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):

  • dfg/DFGOSRExitCompilerCommon.h:
  • dfg/DFGOSRExitPreparation.cpp:

(JSC::DFG::prepareCodeOriginForOSRExit): Deleted.

  • dfg/DFGOSRExitPreparation.h:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileFTLOSRExit):

  • llint/LLIntData.h:

(JSC::LLInt::getCodePtr):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/asm.rb:
  • offlineasm/transform.rb:
  • runtime/OptionsList.h:

Tools:

  • Scripts/run-jsc-stress-tests:
3:07 PM Changeset in webkit [250749] by zhifei_fang@apple.com
  • 3 edits in trunk/Websites/perf.webkit.org

[perf dashboard] Make test fressness head and indicator perfect centered
https://bugs.webkit.org/show_bug.cgi?id=202602

Reviewed by Ryosuke Niwa.

  • public/v3/components/freshness-indicator.js: make indicator margin auto, it will then horizontally centered in the container

(FreshnessIndicator.cssTemplate):
(FreshnessIndicator):

  • public/v3/pages/test-freshness-page.js: make the table head transform based on the center left

(TestFreshnessPage.cssTemplate):

3:00 PM Changeset in webkit [250748] by Alan Coon
  • 1 copy in tags/Safari-608.4.1

Tag Safari-608.4.1.

2:51 PM Changeset in webkit [250747] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Fix build with icu 65.1
https://bugs.webkit.org/show_bug.cgi?id=202600

Patch by Heiko Becker <heirecka@exherbo.org> on 2019-10-04
Reviewed by Konstantin Tokarev.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::isValidNameNonASCII):
(WebCore::Document::parseQualifiedName):

Source/WTF:

  • wtf/URLHelpers.cpp:

(WTF::URLHelpers::allCharactersInIDNScriptWhiteList):

2:35 PM Changeset in webkit [250746] by Matt Lewis
  • 5 edits in trunk/Tools

Fix iPad testers platform for downloading build product and fixing tests to run
https://bugs.webkit.org/show_bug.cgi?id=202365

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Added device_model.
  • BuildSlaveSupport/build.webkit.org-config/factories.py: Added device_model property.

(Factory.init):
(BuildFactory.init):
(TestFactory.init):
(BuildAndTestFactory.init):
(BuildAndTestLLINTCLoopFactory.init):
(BuildAndTest32bitJSCFactory.init):
(BuildAndRemoteJSCTestsFactory.init):
(TestWebKit1LeaksFactory.init):
(TestJSCFactory.init):
(Test262Factory.init):
(BuildAndPerfTestFactory.init):
(DownloadAndPerfTestFactory.init):

  • BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Added device_model to loaded properties.

(loadBuilderConfig):

  • BuildSlaveSupport/build.webkit.org-config/steps.py: Added ability to run based on device_model to

WebKit Tests and API tests for iPad and iPhone simulators.
(ConfigureBuild.init):
(ConfigureBuild.start):
(appendCustomTestingFlags):
(RunWebKitTests.start):
(RunAPITests.start):

2:17 PM Changeset in webkit [250745] by Keith Rollin
  • 4 edits in trunk/Source/WebKit

Fix determination of the top-level resource
https://bugs.webkit.org/show_bug.cgi?id=202491
<rdar://problem/50780648>

Reviewed by Youenn Fablet.

When loading the resources associated with a page, the Networking
process needs to know the main resource for the main frame. It uses
this information to keep track of page loads and the resources that
are loaded in those pages. By keeping track of this information,
WebKit can track and report difficult (slow or incomplete) resource
loads and their impact on the overall page.

The initial determination of the top resource only looked at whether
the resource was the "main" resource of a frame or not. However, this
determination was insufficient, and would confuse the tracking
mechanism when sub-frames also had main frames. Therefore, augment the
test by also looking to see if the hosting frame is the main frame.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::startTrackingResourceLoad):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

1:58 PM Changeset in webkit [250744] by jbedard@apple.com
  • 2 edits in trunk/Tools

results.webkit.org: Remove percentages from bubbles
https://bugs.webkit.org/show_bug.cgi?id=202591

Rubber-stamped by Aakash Jain.

  • resultsdbpy/resultsdbpy/view/static/js/timeline.js:

(inPlaceCombine): Add 'worst' key to combined results.
(TimelineFromEndpoint.constructor): Use the 'worst' key to populate the tag
instead of a percentage.

1:25 PM Changeset in webkit [250743] by Ross Kirsling
  • 2 edits in trunk/Source/WebKit

Unreviewed WinCairo build fix for r250717.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:

(WebKit::LayerTreeHost::invalidate): Deleted.

1:22 PM Changeset in webkit [250742] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[EWS] Assign webkit-misc to various queues
https://bugs.webkit.org/show_bug.cgi?id=202584

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/config.json:
1:02 PM Changeset in webkit [250741] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/2dcontext/line-styles/2d.line.cap.round.html is failing
https://bugs.webkit.org/show_bug.cgi?id=202598

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:57 PM Changeset in webkit [250740] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Allow using WebGL 2 when USE_ANGLE=1
https://bugs.webkit.org/show_bug.cgi?id=202593

Patch by James Darpinian <jdarpinian@chromium.org> on 2019-10-04
Reviewed by Alex Christensen.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):

Disable irrelevant extension check.

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

Use ES3 ANGLE context when WebGL 2 is requested.

12:33 PM Changeset in webkit [250739] by achristensen@apple.com
  • 11 edits in trunk/Source

Stop sending list of display-isolated schemes to NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=202557

Reviewed by Youenn Fablet.

Source/WebCore:

They are only ever used in the WebProcess in SecurityOrigin::canDisplay.
If someone adds code that uses them in the NetworkProcess, they will hit my new assertion.

No change in behavior.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::canDisplay const):

  • platform/RuntimeApplicationChecks.h:

(WebCore::isInNetworkProcess):

  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::isInNetworkProcess):

Source/WebKit:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::registerURLSchemeAsDisplayIsolated const): Deleted.

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

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

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::registerURLSchemeAsDisplayIsolated):

12:30 PM Changeset in webkit [250738] by achristensen@apple.com
  • 40 edits
    2 moves in trunk/Source

Rename SchemeRegistry to LegacySchemeRegistry
https://bugs.webkit.org/show_bug.cgi?id=202586

Reviewed by Tim Horton.

Source/WebCore:

SchemeRegistry is process-global. We need to replace it with a non-process-global registry, but Rome wasn't built in a day.
This rename allows me to call the replacement object that will have ownership and configuration "SchemeRegistry"
and it also indicates that new development should use the owned object instead of the global object.

  • Headers.cmake:
  • Modules/mediastream/UserMediaController.cpp:

(WebCore::isSecure):

  • Modules/mediastream/UserMediaRequest.cpp:
  • Modules/webauthn/AuthenticatorCoordinator.cpp:

(WebCore::AuthenticatorCoordinatorInternal::processAppIdExtension):

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::allowDatabaseAccess const):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::setDomain):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::hasServiceWorkerScheme const):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isValidCrossOriginRedirectionURL):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::matchRegistration):
(WebCore::DocumentLoader::disallowWebArchive const):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::maybeLoadEmpty):

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::checkURLSchemeAsCORSEnabled):

  • loader/archive/mhtml/MHTMLArchive.cpp:

(WebCore::MHTMLArchive::create):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::freshnessLifetime const):

  • page/Page.cpp:

(WebCore::Page::userStyleSheetLocationChanged):

  • page/SecurityOrigin.cpp:

(WebCore::shouldTreatAsUniqueOrigin):
(WebCore::shouldTreatAsPotentiallyTrustworthy):
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isSecure):
(WebCore::SecurityOrigin::canDisplay const):
(WebCore::SecurityOrigin::domainForCachePartition const):

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::allowObjectFromSource const):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource const):
(WebCore::ContentSecurityPolicy::allowResourceFromSource const):
(WebCore::ContentSecurityPolicy::allowConnectToSource const):
(WebCore::ContentSecurityPolicy::allowBaseURI const):

  • platform/LegacySchemeRegistry.cpp: Copied from Source/WebCore/platform/SchemeRegistry.cpp.

(WebCore::allBuiltinSchemes):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsLocal):
(WebCore::LegacySchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsLocal):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsNoAccess):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsNoAccess):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsDisplayIsolated):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsSecure):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsSecure):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsEmptyDocument):
(WebCore::LegacySchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
(WebCore::LegacySchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
(WebCore::LegacySchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
(WebCore::LegacySchemeRegistry::canDisplayOnlyIfCanRequest):
(WebCore::LegacySchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsNotAllowingJavascriptURLs):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
(WebCore::LegacySchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsCORSEnabled):
(WebCore::LegacySchemeRegistry::shouldTreatURLSchemeAsCORSEnabled):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::LegacySchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):
(WebCore::LegacySchemeRegistry::schemeShouldBypassContentSecurityPolicy):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsAlwaysRevalidated):
(WebCore::LegacySchemeRegistry::shouldAlwaysRevalidateURLScheme):
(WebCore::LegacySchemeRegistry::registerURLSchemeAsCachePartitioned):
(WebCore::LegacySchemeRegistry::shouldPartitionCacheForURLScheme):
(WebCore::LegacySchemeRegistry::registerURLSchemeServiceWorkersCanHandle):
(WebCore::LegacySchemeRegistry::canServiceWorkersHandleURLScheme):
(WebCore::LegacySchemeRegistry::isServiceWorkerContainerCustomScheme):
(WebCore::LegacySchemeRegistry::isUserExtensionScheme):
(WebCore::LegacySchemeRegistry::isBuiltinScheme):
(WebCore::SchemeRegistry::registerURLSchemeAsLocal): Deleted.
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal): Deleted.
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsNoAccess): Deleted.
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated): Deleted.
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsSecure): Deleted.
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsEmptyDocument): Deleted.
(WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument): Deleted.
(WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme): Deleted.
(WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme): Deleted.
(WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest): Deleted.
(WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs): Deleted.
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsNotAllowingJavascriptURLs): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing): Deleted.
(WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsCORSEnabled): Deleted.
(WebCore::SchemeRegistry::shouldTreatURLSchemeAsCORSEnabled): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsBypassingContentSecurityPolicy): Deleted.
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy): Deleted.
(WebCore::SchemeRegistry::schemeShouldBypassContentSecurityPolicy): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsAlwaysRevalidated): Deleted.
(WebCore::SchemeRegistry::shouldAlwaysRevalidateURLScheme): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned): Deleted.
(WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme): Deleted.
(WebCore::SchemeRegistry::registerURLSchemeServiceWorkersCanHandle): Deleted.
(WebCore::SchemeRegistry::canServiceWorkersHandleURLScheme): Deleted.
(WebCore::SchemeRegistry::isServiceWorkerContainerCustomScheme): Deleted.
(WebCore::SchemeRegistry::isUserExtensionScheme): Deleted.
(WebCore::SchemeRegistry::isBuiltinScheme): Deleted.

  • platform/LegacySchemeRegistry.h: Copied from Source/WebCore/platform/SchemeRegistry.h.
  • platform/SchemeRegistry.cpp: Removed.
  • platform/SchemeRegistry.h: Removed.
  • platform/ios/QuickLook.mm:
  • storage/Storage.cpp:
  • testing/Internals.cpp:

(WebCore::Internals::registerURLSchemeAsBypassingContentSecurityPolicy):
(WebCore::Internals::removeURLSchemeRegisteredAsBypassingContentSecurityPolicy):

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):

  • workers/service/ServiceWorkerProvider.cpp:

(WebCore::ServiceWorkerProvider::registerServiceWorkerClients):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::runRegisterJob):

Source/WebKit:

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::doesNotNeedCORSCheck const):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::registerURLSchemeAsSecure const):
(WebKit::NetworkProcess::registerURLSchemeAsBypassingContentSecurityPolicy const):
(WebKit::NetworkProcess::registerURLSchemeAsLocal const):
(WebKit::NetworkProcess::registerURLSchemeAsNoAccess const):
(WebKit::NetworkProcess::registerURLSchemeAsDisplayIsolated const):
(WebKit::NetworkProcess::registerURLSchemeAsCORSEnabled const):
(WebKit::NetworkProcess::registerURLSchemeAsCanDisplayOnlyIfCanRequest const):

  • Shared/AuxiliaryProcess.cpp:

(WebKit::AuxiliaryProcess::registerURLSchemeServiceWorkersCanHandle const):

  • UIProcess/API/Cocoa/WKWebView.mm:

(+[WKWebView handlesURLScheme:]):

  • UIProcess/API/glib/WebKitSecurityManager.cpp:

(registerSecurityPolicyForURIScheme):
(checkSecurityPolicyForURIScheme):

  • WebProcess/Plugins/WebPluginInfoProvider.cpp:

(WebKit::WebPluginInfoProvider::webVisiblePluginInfo):

  • WebProcess/Storage/WebServiceWorkerProvider.cpp:

(WebKit::WebServiceWorkerProvider::handleFetch):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::canHandleRequest):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
(WebKit::WebProcess::registerURLSchemeAsSecure const):
(WebKit::WebProcess::registerURLSchemeAsBypassingContentSecurityPolicy const):
(WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme const):
(WebKit::WebProcess::registerURLSchemeAsLocal const):
(WebKit::WebProcess::registerURLSchemeAsNoAccess const):
(WebKit::WebProcess::registerURLSchemeAsDisplayIsolated const):
(WebKit::WebProcess::registerURLSchemeAsCORSEnabled const):
(WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated const):
(WebKit::WebProcess::registerURLSchemeAsCachePartitioned const):
(WebKit::WebProcess::registerURLSchemeAsCanDisplayOnlyIfCanRequest const):

  • WebProcess/WebStorage/StorageAreaImpl.cpp:

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
(+[WebView _registerURLSchemeAsSecure:]):
(+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]):
(+[WebView registerURLSchemeAsLocal:]):

Source/WebKitLegacy/win:

  • WebView.cpp:

(WebView::registerURLSchemeAsLocal):
(WebView::setDomainRelaxationForbiddenForURLScheme):
(WebView::registerURLSchemeAsSecure):
(WebView::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):

12:29 PM Changeset in webkit [250737] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Crash in debug build with imported/w3c/web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement.html
https://bugs.webkit.org/show_bug.cgi?id=202583

Patch by Antoine Quint <Antoine Quint> on 2019-10-04
Reviewed by Dean Jackson.

Ensure we remove the animation from the timeline it's currently associated with since it may have changed since its creation. This caused
a crash because we have an assertion in AnimationTimeline::removeAnimation() to check that the animation belonged to the timeline it's called on.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::removeReplacedAnimations):

12:28 PM Changeset in webkit [250736] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] wincairo queue should use del instead of rm command (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=202477

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(CleanUpGitIndexLock.start): Use regular 'rm' command on windows as it use cygwin.

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(TestCleanUpGitIndexLock.test_success_windows): Added unit-test for windows.

12:07 PM Changeset in webkit [250735] by timothy_horton@apple.com
  • 105 edits
    1 add in trunk/Source/WebCore

Clean up some includes to make the build a bit faster: DOMPromise
https://bugs.webkit.org/show_bug.cgi?id=202570

Reviewed by Chris Dumez.

No new tests, just reorganizing.

Apply some profile-guided optimizations to our headers.

Get JSDOMPromiseDeferred.h and DOMPromiseProxy.h out of WebCore headers.
One remains (FetchBodyConsumer.h); I leave it as an exercise to the reader.
In my testing, this is worth a reliable 5-6% on the WebCore Build Benchmark.

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
  • Modules/encryptedmedia/MediaKeySession.cpp:
  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeySystemAccess.cpp:
  • Modules/encryptedmedia/MediaKeySystemAccess.h:
  • Modules/encryptedmedia/MediaKeys.cpp:
  • Modules/encryptedmedia/MediaKeys.h:
  • Modules/encryptedmedia/NavigatorEME.cpp:
  • Modules/encryptedmedia/NavigatorEME.h:
  • Modules/fetch/DOMWindowFetch.cpp:
  • Modules/fetch/DOMWindowFetch.h:
  • Modules/fetch/FetchBody.cpp:
  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchLoader.cpp:
  • Modules/fetch/FetchLoader.h:
  • Modules/fetch/WorkerGlobalScopeFetch.cpp:
  • Modules/fetch/WorkerGlobalScopeFetch.h:
  • Modules/mediacapabilities/MediaCapabilities.cpp:
  • Modules/mediacapabilities/MediaCapabilities.h:
  • Modules/mediastream/MediaDevices.cpp:
  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/MediaStreamTrack.cpp:
  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/PeerConnectionBackend.cpp:
  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCPeerConnection.cpp:
  • Modules/mediastream/RTCRtpReceiver.h:
  • Modules/mediastream/RTCRtpSenderBackend.h:
  • Modules/mediastream/UserMediaRequest.cpp:
  • Modules/mediastream/UserMediaRequest.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp:
  • Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp:
  • Modules/paymentrequest/PaymentRequest.cpp:
  • Modules/paymentrequest/PaymentRequest.h:
  • Modules/paymentrequest/PaymentResponse.cpp:
  • Modules/paymentrequest/PaymentResponse.h:
  • Modules/streams/ReadableStreamSource.h:
  • Modules/webaudio/AudioContext.h:
  • Modules/webauthn/AuthenticatorCoordinator.cpp:
  • Modules/webauthn/AuthenticatorCoordinator.h:
  • Modules/webauthn/PublicKeyCredential.h:
  • Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp:
  • Modules/webgpu/WHLSL/WHLSLStandardLibraryUtilities.cpp:
  • Modules/webgpu/WebGPU.cpp:
  • Modules/webgpu/WebGPU.h:
  • Modules/webgpu/WebGPUAdapter.cpp:
  • Modules/webgpu/WebGPUAdapter.h:
  • Modules/webgpu/WebGPUBuffer.cpp:
  • Modules/webgpu/WebGPUBuffer.h:
  • Modules/webgpu/WebGPUDevice.cpp:
  • Modules/webgpu/WebGPUDevice.h:
  • Modules/webvr/NavigatorWebVR.cpp:
  • Modules/webvr/NavigatorWebVR.h:
  • Modules/webvr/VRDisplay.cpp:
  • Modules/webvr/VRDisplay.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • animation/KeyframeEffect.cpp:
  • animation/WebAnimation.cpp:
  • animation/WebAnimation.h:
  • bindings/js/CachedModuleScriptLoader.cpp:
  • bindings/js/CachedModuleScriptLoaderClient.h:
  • bindings/js/JSDOMPromiseDeferred.h:
  • bindings/js/JSHTMLTemplateElementCustom.cpp:
  • bindings/js/JSImageDataCustom.cpp:
  • bindings/js/JSReadableStreamSourceCustom.cpp:
  • bindings/js/JSWebAnimationCustom.cpp:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:
  • bindings/js/JSWorkerGlobalScopeCustom.cpp:
  • bindings/js/JSWorkletGlobalScopeBase.cpp:
  • bindings/js/ScriptModuleLoader.cpp:
  • css/FontFace.cpp:
  • css/FontFace.h:
  • css/FontFaceSet.cpp:
  • css/FontFaceSet.h:
  • dom/CustomElementRegistry.cpp:
  • dom/DeviceOrientationOrMotionEvent.cpp:
  • dom/DeviceOrientationOrMotionEvent.h:
  • dom/MouseEvent.cpp:
  • dom/MouseEvent.h:
  • html/CustomPaintCanvas.h:
  • html/ImageBitmap.cpp:
  • html/ImageBitmap.h:
  • html/OffscreenCanvas.cpp:
  • html/OffscreenCanvas.h:
  • loader/ImageLoader.cpp:
  • loader/ImageLoader.h:
  • page/DOMWindow.cpp:
  • page/Navigator.h:
  • platform/graphics/CustomPaintImage.cpp:
  • testing/Internals.cpp:
  • testing/Internals.h:
  • testing/ServiceWorkerInternals.h:
  • testing/ServiceWorkerInternals.mm:
  • workers/service/ServiceWorkerContainer.cpp:
  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerJob.h:
  • workers/service/ServiceWorkerRegistration.cpp:
  • workers/service/ServiceWorkerRegistration.h:
  • worklets/PaintWorkletGlobalScope.cpp:
11:43 AM Changeset in webkit [250734] by Alan Coon
  • 4 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r249600. rdar://problem/55989214

[WebAuthn] Make WebAuthn default off and let clients turn it on at will
https://bugs.webkit.org/show_bug.cgi?id=201439
<rdar://problem/54998154>

Reviewed by Youenn Fablet.

This patch makes WebAuthn default off such that clients that have the right entitlements
could turn it on and we don't risk at turning on a Web API that does nothing by default.

This patch doesn't add any SPI to turn the feature on as it is currently doable via

  • [WKPreferencesPrivate _setEnabled:forExperimentalFeature:].
  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultWebAuthenticationEnabled): Deleted.
  • Shared/WebPreferencesDefaultValues.h:

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

11:43 AM Changeset in webkit [250733] by Alan Coon
  • 9 edits in branches/safari-608-branch

Cherry-pick r249436. rdar://problem/55989217

[WebAuthn] Enable WebAuthn by default for MobileSafari and SafariViewService
https://bugs.webkit.org/show_bug.cgi?id=201369
<rdar://problem/54903724>

Reviewed by Brent Fulgham.

Source/WebCore:

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm: (WebCore::IOSApplication::isSafariViewService): Adds a way to detect SafariViewService.

Source/WebKit:

Communications to security keys require entitlements, which are not guaranteed to be present in third party
WKWebView clients. Therefore, only enable WebAuthn by default for MobileSafari and SafariViewService.

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

LayoutTests:

  • http/wpt/webauthn/public-key-credential-get-success-nfc.https.html: Imporves the test a bit.

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

11:26 AM Changeset in webkit [250732] by sihui_liu@apple.com
  • 3 edits in trunk/Source/WebCore

Layout Test imported/w3c/web-platform-tests/IndexedDB/fire-error-event-exception.html is a Flaky Failure
https://bugs.webkit.org/show_bug.cgi?id=201481
<rdar://problem/55046055>

Reviewed by Alex Christensen.

We should not schedule timer if we know the timer function will be no-op.

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::removeRequest):
(WebCore::IDBTransaction::scheduleOperation):
(WebCore::IDBTransaction::trySchedulePendingOperationTimer):
(WebCore::IDBTransaction::pendingOperationTimerFired):
(WebCore::IDBTransaction::didStart):
(WebCore::IDBTransaction::operationCompletedOnClient):
(WebCore::IDBTransaction::deactivate):
(WebCore::IDBTransaction::schedulePendingOperationTimer): Deleted.

  • Modules/indexeddb/IDBTransaction.h:
11:16 AM Changeset in webkit [250731] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Unreviewed follow-up fix for r250693 to address assertion hits in debug.

  • css/FontFaceSet.cpp:

(WebCore::FontFaceSet::didFirstLayout):
(WebCore::FontFaceSet::completedLoading):
Make sure the ready promise is not already resolved before resolving it.

  • platform/SuspendableTaskQueue.cpp:

(WebCore::SuspendableTaskQueue::SuspendableTaskQueue):

  • platform/SuspendableTaskQueue.h:

(WebCore::SuspendableTaskQueue::create):
Add a new constructor that takes in a Document since the ActiveDOMObject's
constructor taking a Document has some useful logic.

10:30 AM Changeset in webkit [250730] by jh718.park@samsung.com
  • 4 edits
    9 adds in trunk

Negative radii in radial gradients should be rejected.
https://bugs.webkit.org/show_bug.cgi?id=202412

Per the spec, https://drafts.csswg.org/css-images-3/#radial-gradients
"Negative values are invalid.",
we reject negative radii values in radial-gradient.

This patch rejects negative radii during radial-gradient parsing
for both webkit prefixed and non-prefixed ones.

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/compat/webkit-radial-gradient-radii-expected.txt: Added.
  • web-platform-tests/compat/webkit-radial-gradient-radii.html: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-image-invalid-expected.txt: Added.
  • web-platform-tests/css/css-backgrounds/parsing/background-image-invalid.html: Added.

Source/WebCore:

Tests: imported/blink/css-parser/webkit-gradient.html

imported/w3c/web-platform-tests/compat/webkit-radial-gradient-radii.html
imported/w3c/web-platform-tests/css/css-backgrounds/parsing/background-image-invalid.html

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradient):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):

LayoutTests:

  • imported/blink/css-parser/webkit-gradient-expected.txt: Added.
  • imported/blink/css-parser/webkit-gradient.html: Added.
9:50 AM Changeset in webkit [250729] by jiewen_tan@apple.com
  • 24 edits
    6 copies
    2 adds in trunk

[WebAuthn] Implement _WKWebAuthenticationPanel SPI
https://bugs.webkit.org/show_bug.cgi?id=202559
<rdar://problem/55932094>

Reviewed by Brent Fulgham.

Source/WebKit:

This patch implements _WKWebAuthenticationPanel SPI. Here is the structure:
1) API::WebAuthenticationPanel is the APIObject of _WKWebAuthenticationPanel. It is owned by AuthenticatorManager.
The lifetime of _WKWebAuthenticationPanel on the other hand is managed by clients. This binding is the surface
where clients could interact with WebKit's WebAuthentication implementation.
2) API::WebAuthenticationPanelClient is a base class representing _WKWebAuthenticationPanelDelegate. Its subclass
WebKit::WebAuthenticationPanelClient implements bridges to _WKWebAuthenticationPanelDelegate methods. It is owned by
API::WebAuthenticationPanel. A weak pointer of WebKit::WebAuthenticationPanelClient is kept in _WKWebAuthenticationPanel
to get the _WKWebAuthenticationPanelDelegate set by clients or nil otherwise. This binding is the surface where WebKit
interacts with clients.
3) WebAuthenticationPanelFlags is the mirror of enums within _WKWebAuthenticationPanel.

Implementation wise, this patch implements:
1) -[WKUIDelegatePrivate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:], this is bridged from
the regular UIDelegate route. Noted, WKFrameInfo is nil for now, a follow up on Bug 202563 will take care of it. This
will be called from AuthenticatorManager::runPanel() which gates the start of discovery on the callback. For clients
that don't implement the delegate, the callback will always be called with _WKWebAuthenticationPanelResultUnavailable
to allow WebKit run on non-UI mode. A specific C API hack is added to always return _WKWebAuthenticationPanelResultPresented
in WebKitTestRunner for layout tests.
2) -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] will be implemented in Bug 200932.
3) -[_WKWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:], this is bridged from
API::WebAuthenticationPanel/API::WebAuthenticationPanelClient. This will be called whenever AuthenticatorManager::m_pendingCompletionHandler
is invoked. Depending on the respond, _WKWebAuthenticationResult will be returned accordingly. To facilitate that,
invokePendingCompletionHandler is crafted to bundle those two operations.
4) -[_WKWebAuthenticationPanel cancel] will be implemented in Bug 191523.

Besides the above, this patch also silents the NFC action sheet.

  • Platform/spi/Cocoa/NearFieldSPI.h:
  • Shared/API/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/API/APIUIClient.h:

(API::UIClient::runWebAuthenticationPanel):

  • UIProcess/API/APIWebAuthenticationPanel.cpp: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm.

(API::WebAuthenticationPanel::create):
(API::WebAuthenticationPanel::WebAuthenticationPanel):
(API::WebAuthenticationPanel::setClient):

  • UIProcess/API/APIWebAuthenticationPanel.h: Copied from Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationRequestData.h.
  • UIProcess/API/APIWebAuthenticationPanelClient.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanelInternal.h.

(API::WebAuthenticationPanelClient::dismissPanel const):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:

(-[_WKWebAuthenticationPanel dealloc]):
(-[_WKWebAuthenticationPanel relyingPartyID]):
(-[_WKWebAuthenticationPanel delegate]):
(-[_WKWebAuthenticationPanel setDelegate:]):
(-[_WKWebAuthenticationPanel _apiObject]):
(-[_WKWebAuthenticationPanel _initWithRelayingPartyID:]): Deleted.

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanelInternal.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::webAuthenticationPanelResult):
(WebKit::UIDelegate::UIClient::runWebAuthenticationPanel):

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::WebCore::isFeatureEnabled):
(WebKit::WebCore::getRpId):
(WebKit::AuthenticatorManager::handleRequest):
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::startDiscovery):
(WebKit::AuthenticatorManager::initTimeOutTimer):
(WebKit::AuthenticatorManager::timeOutTimerFired):
(WebKit::AuthenticatorManager::runPanel):
(WebKit::AuthenticatorManager::startRequest):
(WebKit::AuthenticatorManager::invokePendingCompletionHandler):
(WebKit::AuthenticatorManagerInternal::collectTransports): Deleted.
(WebKit::AuthenticatorManagerInternal::processGoogleLegacyAppIdSupportExtension): Deleted.

  • UIProcess/WebAuthentication/AuthenticatorManager.h:

(WebKit::AuthenticatorManager::pendingCompletionHandler): Deleted.

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm:

(WebKit::NfcConnection::NfcConnection):

  • UIProcess/WebAuthentication/Cocoa/NfcService.mm:

(WebKit::NfcService::platformStartDiscovery):

  • UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h: Copied from Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationRequestData.h.
  • UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm: Copied from Source/WebKit/UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp.

(WebKit::WebAuthenticationPanelClient::WebAuthenticationPanelClient):
(WebKit::wkWebAuthenticationResult):
(WebKit::WebAuthenticationPanelClient::dismissPanel const):

  • UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp:

(WebKit::MockAuthenticatorManager::respondReceivedInternal):

  • UIProcess/WebAuthentication/WebAuthenticationPanelFlags.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanelInternal.h.
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h:
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:

(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):

  • WebKit.xcodeproj/project.pbxproj:

Tools:

This patch adds a very limited test case to _WKWebAuthenticationPanel.
Bug 202560 and Bug 202565 will follow up to write more tests.

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

(-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]):
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html: Added.
  • WebKitTestRunner/TestController.cpp:

(WTR::runWebAuthenticationPanel):
(WTR::TestController::createWebViewWithOptions):

9:43 AM Changeset in webkit [250728] by achristensen@apple.com
  • 25 edits in trunk

Move WKProcessPool._registerURLSchemeServiceWorkersCanHandle to _WKWebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=202553

Reviewed by Youenn Fablet.

Source/WebCore:

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::SWServer):

  • workers/service/server/SWServer.h:

(WebCore::SWServer::registeredSchemes const):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::runRegisterJob):

Source/WebKit:

It was only used for testing, and all the tests that use it still pass with the new SPI.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::addWebsiteDataStore):
(WebKit::NetworkProcess::swServerForSession):
(WebKit::NetworkProcess::addServiceWorkerSession):

  • NetworkProcess/NetworkProcess.h:
  • Shared/AuxiliaryProcess.cpp:

(WebKit::AuxiliaryProcess::registerURLSchemeServiceWorkersCanHandle const): Deleted.

  • Shared/AuxiliaryProcess.h:
  • Shared/AuxiliaryProcess.messages.in:
  • Shared/WebsiteDataStoreParameters.cpp:

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

  • Shared/WebsiteDataStoreParameters.h:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _registerURLSchemeServiceWorkersCanHandle:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration registerURLSchemeServiceWorkersCanHandleForTesting:]):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::initializeNewWebProcess):
(WebKit::WebProcessPool::registerURLSchemeServiceWorkersCanHandle): Deleted.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::serviceWorkerRegisteredSchemes const):
(WebKit::WebsiteDataStoreConfiguration::registerServiceWorkerScheme):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
9:31 AM Changeset in webkit [250727] by youenn@apple.com
  • 9 edits
    4 adds in trunk

AbortSignal does not always emit the abort signal
https://bugs.webkit.org/show_bug.cgi?id=201871
<rdar://problem/55451712>

Reviewed by Chris Dumez.

Source/WebCore:

Make sure a JSAbortSignal is not GCed until objects that can abort it are gone.
This includes a followed signal and an AbortController.
Current WebKit implementation only uses following of one signal at a time.

Test: http/tests/fetch/abort-signal-gc.html

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

(WebCore::JSAbortController::visitAdditionalChildren):

  • bindings/js/JSAbortSignalCustom.cpp: Added.

(WebCore::JSAbortSignalOwner::isReachableFromOpaqueRoots):

  • bindings/js/JSTypedOMCSSStyleValueCustom.cpp:
  • dom/AbortController.idl:
  • dom/AbortSignal.cpp:

(WebCore::AbortSignal::follow):

  • dom/AbortSignal.h:
  • dom/AbortSignal.idl:

LayoutTests:

  • http/tests/fetch/abort-signal-gc-expected.txt: Added.
  • http/tests/fetch/abort-signal-gc.html: Added.
9:30 AM Changeset in webkit [250726] by youenn@apple.com
  • 20 edits
    4 adds in trunk

Allow to suspend RTCPeerConnection when not connected
https://bugs.webkit.org/show_bug.cgi?id=202403

Reviewed by Chris Dumez.

Source/ThirdParty/libwebrtc:

Export rtc::TimeMillis()

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:

Source/WebCore:

Implement suspend/resume in RTCPeerConnection by sending suspend/resume to the libwebrtc media endpoint,
which suspends/resumes its socket factory.

We allow suspension when the connection is not connected.
Pages with connected connections will not go in page cache yet.

Tests: webrtc/datachannel/datachannel-page-cache-send.html

webrtc/datachannel/datachannel-page-cache.html

  • Modules/mediastream/PeerConnectionBackend.h:

(WebCore::PeerConnectionBackend::suspend):
(WebCore::PeerConnectionBackend::resume):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::canSuspendForDocumentSuspension const):
(WebCore::RTCPeerConnection::suspend):
(WebCore::RTCPeerConnection::resume):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::suspend):
(WebCore::LibWebRTCMediaEndpoint::resume):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::suspend):
(WebCore::LibWebRTCPeerConnectionBackend::resume):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:

Source/WebKit:

Implement suspend/resume of sockets by doing the following:

  • For UDP sockets, we simulate as if being sent data is queued when being suspended.

the webrtc backend will then stop sending packets until the queue is emptied.
At resume time, we do as if the queue is emptied and packets sent (even though packets are not sent).
For incoming traffic, we ignore it when being suspended.

  • For TCP sockets, we close them at suspend time. We then notify at resume time that an error happeneded

for these sockets to the webrtc backend. We cannot simulate packet dropping like in the UDP case.

To manage resume/suspend, each socket now has a isSuspended state and a socket group.
The socket group is per peer connection.
A peer connection will notify the factory that it is suspended/resumed.
The factory will iterate through all sockets and will suspend/resume each socket of the socket group.

  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp:

(WebKit::RTCSocketFactory::RTCSocketFactory):
(WebKit::RTCSocketFactory::CreateUdpSocket):
(WebKit::RTCSocketFactory::CreateServerTcpSocket):
(WebKit::RTCSocketFactory::CreateClientTcpSocket):
(WebKit::RTCSocketFactory::CreateAsyncResolver):
(WebKit::RTCSocketFactory::suspend):
(WebKit::RTCSocketFactory::resume):
(WebKit::LibWebRTCProvider::createSocketFactory):

  • WebProcess/Network/webrtc/LibWebRTCProvider.h:
  • WebProcess/Network/webrtc/LibWebRTCSocket.cpp:

(WebKit::LibWebRTCSocket::LibWebRTCSocket):
(WebKit::LibWebRTCSocket::~LibWebRTCSocket):
(WebKit::LibWebRTCSocket::signalReadPacket):
(WebKit::LibWebRTCSocket::signalSentPacket):
(WebKit::LibWebRTCSocket::SendTo):
(WebKit::LibWebRTCSocket::Close):
(WebKit::LibWebRTCSocket::SetOption):
(WebKit::LibWebRTCSocket::resume):
(WebKit::LibWebRTCSocket::suspend):

  • WebProcess/Network/webrtc/LibWebRTCSocket.h:
  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:

(WebKit::LibWebRTCSocketFactory::createServerTcpSocket):
(WebKit::LibWebRTCSocketFactory::createUdpSocket):
(WebKit::LibWebRTCSocketFactory::createClientTcpSocket):
(WebKit::LibWebRTCSocketFactory::createNewConnectionSocket):
(WebKit::LibWebRTCSocketFactory::addSocket):
(WebKit::LibWebRTCSocketFactory::removeSocket):
(WebKit::LibWebRTCSocketFactory::forSocketInGroup):

  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:

LayoutTests:

  • webrtc/datachannel/datachannel-page-cache-expected.txt: Added.
  • webrtc/datachannel/datachannel-page-cache-send-expected.txt: Added.
  • webrtc/datachannel/datachannel-page-cache-send.html: Added.
  • webrtc/datachannel/datachannel-page-cache.html: Added.
8:35 AM Changeset in webkit [250725] by Truitt Savell
  • 13 edits in trunk/Source

Unreviewed, rolling out r250583.

Broke multiple internal API tests

Reverted changeset:

"[JSC] Place VM* in TLS"
https://bugs.webkit.org/show_bug.cgi?id=202391
https://trac.webkit.org/changeset/250583

8:34 AM Changeset in webkit [250724] by Truitt Savell
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r250594.

Broke multiple internal API tests

Reverted changeset:

"Unreviewed, fix incorrect assertion"
https://bugs.webkit.org/show_bug.cgi?id=202391
https://trac.webkit.org/changeset/250594

8:33 AM Changeset in webkit [250723] by achristensen@apple.com
  • 16 edits in trunk

Simplify sandbox enabling macros
https://bugs.webkit.org/show_bug.cgi?id=202536

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

ENABLE_WEB_PROCESS_SANDBOX was always on for Cocoa platforms and only used in WebProcessCocoa.mm, so it did nothing.

ENABLE_MANUAL_SANDBOXING was on for sdk=macosx* which I made more explicit in the code by using PLATFORM(MAC)
PLATFORM(MAACCATALYST)

ENABLE_MANUAL_NETWORK_SANDBOXING was always off and hiding dead code we do not intend to use because iOS sandboxes are always on and never manual.

  • Configurations/FeatureDefines.xcconfig:
  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::initializeSandbox):

  • Shared/ios/AuxiliaryProcessIOS.mm:

(WebKit::AuxiliaryProcess::initializeSandbox):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::initializeSandbox):

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
8:23 AM Changeset in webkit [250722] by clopez@igalia.com
  • 3 edits in trunk/Tools

[GTK][WPE] Print the revision number on command "--version" of the MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=202581

Reviewed by Carlos Garcia Campos.

When WebKit its build from source repository instead of a tarball
we can print the SVN revision to be more precise about the version
of WebKit when the option --version is passed to the MiniBrowser.

  • MiniBrowser/gtk/main.c:

(main):

  • MiniBrowser/wpe/main.cpp:

(main):

7:53 AM Changeset in webkit [250721] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

ImageBitmap should be serializable
https://bugs.webkit.org/show_bug.cgi?id=202394

Patch by Chris Lord <clord@igalia.com> on 2019-10-04
Reviewed by Žan Doberšek.

LayoutTests/imported/w3c:

Import from upstream issue #19439

  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable-expected.txt: Added.
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html: Added.
  • web-platform-tests/workers/semantics/structured-clone/dedicated-expected.txt:

Source/WebCore:

Test: imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-serializable.html

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpImageBitmap):
(WebCore::CloneDeserializer::readTransferredImageBitmap):
(WebCore::CloneDeserializer::readImageBitmap):
(WebCore::CloneDeserializer::readTerminal):

7:41 AM Changeset in webkit [250720] by commit-queue@webkit.org
  • 2 edits in trunk/JSTests

Revert regexp test skip on armv7l and mips
https://bugs.webkit.org/show_bug.cgi?id=202310

Patch by Paulo Matos <Paulo Matos> on 2019-10-04
Reviewed by Žan Doberšek.

Test was skipped in bug 202113 on armv7l and mips due to bug 202041.
Bug 202041 is fixed and change of bug 202113 can be reverted.

  • stress/regexp-unicode-surrogate-pair-increment-should-involve-length-check.js:
7:16 AM Changeset in webkit [250719] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.27.1

WebKitGTK 2.27.1

7:13 AM Changeset in webkit [250718] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.27.1 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.27.1.
6:39 AM Changeset in webkit [250717] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebKit

[GTK] Crash in WebChromeClient::createDisplayRefreshMonitor
https://bugs.webkit.org/show_bug.cgi?id=202551

Reviewed by Žan Doberšek.

The crash happens when the drawing area is destroyed due to a page close. The layer tree host is invalidated
causing a layer flush that ends up trying to create a display refresh monitor, which requires the drawing
area. We need to null-check the drawing area in WebChromeClient::createDisplayRefreshMonitor() but we should
also ensure that layer flush is not performed after layer tree host is destroyed.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createDisplayRefreshMonitor const): Null-check drawing area before using it.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::CompositingCoordinator): Receive a WebPage instead of a WebCore::Page and
create the root layer here.
(WebKit::CompositingCoordinator::~CompositingCoordinator): Do not purge backing stores again, invalidate should
always be called right before the object is destroyed.
(WebKit::CompositingCoordinator::flushPendingLayerChanges): Get WebCore::Page from WebPage.
(WebKit::CompositingCoordinator::timestamp const): Ditto.
(WebKit::CompositingCoordinator::syncDisplayState): Ditto.
(WebKit::CompositingCoordinator::notifyFlushRequired): Do not continue if m_rootLayer is nullptr.
(WebKit::CompositingCoordinator::deviceScaleFactor const): Get WebCore::Page from WebPage.
(WebKit::CompositingCoordinator::pageScaleFactor const): Ditto.
(WebKit::CompositingCoordinator::createGraphicsLayer): Call attachLayer() instead of duplicating the code.
(WebKit::CompositingCoordinator::setVisibleContentsRect): Get WebCore::Page from WebPage.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::discardPreviousLayerTreeHost): Do not call LayerTreeHost::invalidate()
that has been removed.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::LayerTreeHost): Construct the coordinator after the sceneIntegration.
(WebKit::LayerTreeHost::~LayerTreeHost): Invalidate everything here now. We don't really need invalidate()
method since LayerTreeHost is not refcounted and we always called invalidate right before deleting the object.
(WebKit::LayerTreeHost::layerFlushTimerFired): This can't happen on invalid state anymore.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
3:57 AM Changeset in webkit [250716] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

AppleTV named as XSS-payloads trigger when AirPlay is used
https://bugs.webkit.org/show_bug.cgi?id=202534
<rdar://55931262>

Reviewed by Eric Carlson.

Ensure we escape an AirPlay's device name before inserting its name into the DOM.

  • Modules/modern-media-controls/media/placard-support.js:

(PlacardSupport.prototype._updateAirPlayPlacard):
(PlacardSupport):
(escapeHTML):

3:06 AM Changeset in webkit [250715] by Oriol Brufau
  • 5 edits
    8 adds in trunk

[css-grid] Preserve auto repeat() in getComputedStyle() for non-grids
https://bugs.webkit.org/show_bug.cgi?id=202258

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

Import WPT tests.
There are some test failures because integer repeat() is still expanded
at computed-value time (https://webkit.org/b/202259).

  • resources/import-expectations.json:
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-columns-computed.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-nogrid-expected.txt: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-nogrid.html: Added.
  • web-platform-tests/css/css-grid/parsing/grid-template-rows-computed.html: Added.
  • web-platform-tests/css/css-grid/parsing/w3c-import.log:

Source/WebCore:

Tests: imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html

imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed.html
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed-nogrid.html
imported/w3c/web-platform-tests/css/css-grid/parsing/grid-template-rows-computed.html

Usually, the resolved value of grid-template-rows/columns is the used
value, expanding the repeat() notation. But for elements with a non-grid
display, the resolved value is just the computed value, with repeat(),
since the used value doesn't exist.
Before this patch, the repeat() was dropped, and line names after it
appeared at the wrong position or were also dropped. There was also an
assert failure in debug. This patch fixes the serialization for auto
repeat(). Integer repeat() is still expanded at computed-value time, so
it's not preserved in getComputedStyle().

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::OrderedNamedLinesCollector::OrderedNamedLinesCollector):
(WebCore::OrderedNamedLinesCollectorInsideRepeat::OrderedNamedLinesCollectorInsideRepeat):
(WebCore::OrderedNamedLinesCollectorInGridLayout::OrderedNamedLinesCollectorInGridLayout):
(WebCore::OrderedNamedLinesCollector::collectLineNamesForIndex const):
(WebCore::OrderedNamedLinesCollectorInsideRepeat::collectLineNamesForIndex const):
(WebCore::OrderedNamedLinesCollectorInGridLayout::collectLineNamesForIndex const):
(WebCore::populateGridTrackList):
(WebCore::valueForGridTrackList):

2:51 AM Changeset in webkit [250714] by commit-queue@webkit.org
  • 12 edits
    6 copies
    1840 adds in trunk/LayoutTests

Import 2dcontext Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=179191
<rdar://problem/35320416>

Patch by Chris Lord <clord@igalia.com> on 2019-10-04
Reviewed by Žan Doberšek.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/2dcontext/2x2.png: Added.
  • web-platform-tests/2dcontext/2x4.png: Added.
  • web-platform-tests/2dcontext/4x2.png: Added.
  • web-platform-tests/2dcontext/META.yml: Added.
  • web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001-expected.htm: Added.
  • web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001.htm: Added.
  • web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-expected.htm: Added.
  • web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001.htm: Added.
  • web-platform-tests/2dcontext/building-paths/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/transformations/w3c-import.log.
  • web-platform-tests/2dcontext/clear-100x50.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.lighter-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.lighter.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.source-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.xor-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.clip.xor.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvas-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvas.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvascopy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvascopy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvaspattern-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvaspattern.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.default-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.default.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.fill-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.fill.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.image-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.image.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.imagepattern-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.imagepattern.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.invalid.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.range-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.range.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.lighter-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.xor-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.xor.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.image.xor.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.casesensitive-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.casesensitive.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.clear-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.clear.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.darker-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.darker.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.default-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.default.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.get-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.get.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.highlight-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.highlight.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.nullsuffix-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.nullsuffix.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.unrecognised-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.operation.unrecognised.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.xor-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.png: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out-expected.txt: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.html: Added.
  • web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.png: Added.
  • web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001-expected.htm: Added.
  • web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001.htm: Added.
  • web-platform-tests/2dcontext/compositing/w3c-import.log: Added.
  • web-platform-tests/2dcontext/conformance-requirements/2d.coordinatespace.png: Added.
  • web-platform-tests/2dcontext/conformance-requirements/2d.missingargs-expected.txt: Added.
  • web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html: Added.
  • web-platform-tests/2dcontext/conformance-requirements/2d.type.delete-expected.txt: Added.
  • web-platform-tests/2dcontext/conformance-requirements/2d.type.delete.html: Added.
  • web-platform-tests/2dcontext/conformance-requirements/2d.voidreturn-expected.txt: Added.
  • web-platform-tests/2dcontext/conformance-requirements/2d.voidreturn.html: Added.
  • web-platform-tests/2dcontext/conformance-requirements/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/transformations/w3c-import.log.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.3arg-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.3arg.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.5arg-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.5arg.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.basic.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destpos-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destpos.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destsize-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destsize.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcepos-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcepos.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcesize-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcesize.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.alpha.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.apng-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.gif-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.gif.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.poster-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.broken-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.broken.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.clip-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.clip.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.composite-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.composite.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.floatsource-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.floatsource.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.emptysrc-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.emptysrc.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.immediate-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.immediate.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.nosrc-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.nosrc.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.reload-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.reload.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.removedsrc-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.removedsrc.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nonfinite.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nowrap-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nowrap.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.path-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.path.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.svg-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.svg.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.transform-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.transform.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_canvas-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_canvas.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self-expected.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self_ref.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_html_image-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_html_image.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_svg_image_1-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_svg_image_1.html: Added.
  • web-platform-tests/2dcontext/drawing-images-to-the-canvas/w3c-import.log: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_complexshapes_ispointInpath_001-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_complexshapes_ispointInpath_001.htm: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_001-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_001.html: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_002-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_002.html: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_003-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_003.html: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_004-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_004.html: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_005-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_005.html: Added.
  • web-platform-tests/2dcontext/drawing-paths-to-the-canvas/w3c-import.log: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.basic.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.clip-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.clip.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalalpha-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalalpha.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalcomposite-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalcomposite.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.negative.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.path-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.path.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.shadow-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.shadow.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.transform-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.transform.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.zero.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.basic.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.clip-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.clip.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.negative.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.path-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.path.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.transform-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.transform.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.zero.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.basic.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.clip-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.clip.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalalpha-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalalpha.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.negative.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.path-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.path.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.shadow-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.shadow.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.transform-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.transform.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.1-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.1.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.2-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.2.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.3-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.3.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.4-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.4.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.5-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.5.html: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/clear-100x50.png: Added.
  • web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/w3c-import.log: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.center-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.center.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.ltr-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.ltr.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.rtl-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.rtl.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.left-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.left.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.right-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.right.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.ltr-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.ltr.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.rtl-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.rtl.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.NaN-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.NaN.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.bound-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.bound.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.fontface-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.fontface.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.negative.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.small-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.small.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.zero.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.unaffected-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.unaffected.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.basic.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.collapse.nonspace-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.collapse.nonspace.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.unaffected-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.unaffected.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.actualBoundingBox-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.actualBoundingBox.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.advances-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.advances.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.baselines-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.baselines.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.emHeights-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.emHeights.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.fontBoundingBox-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.fontBoundingBox.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.basic.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.empty.html: Added.
  • web-platform-tests/2dcontext/drawing-text-to-the-canvas/w3c-import.log: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.default-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.default.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.semitransparent-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.semitransparent.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.solid-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.solid.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.transparent-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.transparent.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidstring-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidstring.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidtype-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidtype.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-5.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-6.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-7-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-7.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-7.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-8-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-8.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-8.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-9-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-9.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsl-9.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-5.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-6.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-7-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-7.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-7.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-8-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-8.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-8.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-9-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-9.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-hsla-9.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-5.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgb-6.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-5.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.css-color-4-rgba-6.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.basic.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.changed-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.changed.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.notrendered-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.notrendered.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex8.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsl-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-hsla-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgb-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.css-color-4-rgba-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex7-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex7.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex8-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex8.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-6-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-6.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.system-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.system.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.empty.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.outside.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.solid-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.solid.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fill-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fill.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillText-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillText.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.stroke-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.stroke.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeRect-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeRect.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeText-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeText.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.compare-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.compare.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.crosscanvas-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.crosscanvas.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.png: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.return-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.return.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.type-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.type.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.update-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.update.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.bottom-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.bottom.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.front-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.front.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.top-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.top.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.equal-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.equal.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.canvas-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.canvas.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.image-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.image.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.nocontext-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.nocontext.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.type-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.type.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.crosscanvas-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.crosscanvas.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.emptysrc-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.emptysrc.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.immediate-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.immediate.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.nosrc-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.nosrc.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.reload-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.reload.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.removedsrc-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.removedsrc.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.basic.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.outside.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.image-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.image.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.basic.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord2-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord2.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord3-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord3.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.outside.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.basic.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.coord1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.coord1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.outside.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.basic.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.coord1-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.coord1.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.outside.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.empty.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.null-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.null.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.strokeStyle.default-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/2d.strokeStyle.default.html: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/canvas_colorsandstyles_createlineargradient_001-expected.txt: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/canvas_colorsandstyles_createlineargradient_001.htm: Added.
  • web-platform-tests/2dcontext/fill-and-stroke-styles/w3c-import.log: Added.
  • web-platform-tests/2dcontext/green-100x50.png: Added.
  • web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01-expected.txt: Added.
  • web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html: Added.
  • web-platform-tests/2dcontext/hit-regions/hitregions-members-exist-expected.txt: Added.
  • web-platform-tests/2dcontext/hit-regions/hitregions-members-exist.html: Added.
  • web-platform-tests/2dcontext/hit-regions/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/transformations/w3c-import.log.
  • web-platform-tests/2dcontext/image-smoothing/imagesmoothing-expected.txt: Added.
  • web-platform-tests/2dcontext/image-smoothing/imagesmoothing.html: Added.
  • web-platform-tests/2dcontext/image-smoothing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/transformations/w3c-import.log.
  • web-platform-tests/2dcontext/imagebitmap/canvas-createImageBitmap-resize-expected.txt: Added.
  • web-platform-tests/2dcontext/imagebitmap/canvas-createImageBitmap-resize.html: Added.
  • web-platform-tests/2dcontext/imagebitmap/canvas-createImageBitmap-video-resize-expected.txt: Added.
  • web-platform-tests/2dcontext/imagebitmap/canvas-createImageBitmap-video-resize.html: Added.
  • web-platform-tests/2dcontext/imagebitmap/w3c-import.log:
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.butt-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.butt.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.closed-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.closed.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.invalid.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.open-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.open.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.round-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.round.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.square-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.square.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cap.valid.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cross-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.cross.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.defaults-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.defaults.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.bevel-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.bevel.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.closed-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.closed.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.invalid.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.miter-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.miter.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.open-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.open.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.parallel-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.parallel.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.round-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.round.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.join.valid.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.acute-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.acute.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.exceeded-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.exceeded.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.invalid.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.lineedge-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.lineedge.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.obtuse-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.obtuse.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.rightangle-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.rightangle.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.valid.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.within-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.miter.within.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.union-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.union.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.basic.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.invalid.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.scaledefault-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.scaledefault.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.transformed-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.transformed.html: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/2d.line.width.valid.html: Added.
  • web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001-expected.htm: Added.
  • web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001.htm: Added.
  • web-platform-tests/2dcontext/line-styles/lineto_a-expected.html: Added.
  • web-platform-tests/2dcontext/line-styles/lineto_a.html: Added.
  • web-platform-tests/2dcontext/line-styles/lineto_ref.html: Added.
  • web-platform-tests/2dcontext/line-styles/setLineDash-expected.txt: Added.
  • web-platform-tests/2dcontext/line-styles/setLineDash.html: Added.
  • web-platform-tests/2dcontext/line-styles/w3c-import.log: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.3-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.3.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.4-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.4.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.5-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.5.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.6-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.6.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.default-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.default.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.empty.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.end-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.end.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.nonempty-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.nonempty.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.3-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.3.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.4-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.4.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.5-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.5.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.3-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.3.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.4-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.4.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.zeroradius-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arc.zeroradius.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.3-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.3.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.scale-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.scale.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.end-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.end.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.start-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.start.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.transformation-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.transformation.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.beginPath-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.beginPath.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.basic.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.scaled-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.scaled.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.shape-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.shape.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.empty.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.intersect-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.intersect.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.unaffected-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.unaffected.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.closePath.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.closePath.empty.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.closePath.newline-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.closePath.newline.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.closePath.nextpoint-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.closePath.nextpoint.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.basic.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.unaffected-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.unaffected.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.png: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.add-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.add.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.3-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.3.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.initial-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.initial.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.arc-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.arc.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bezier-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bezier.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bigarc-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.edge-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.edge.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.empty.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.outside.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.subpath-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.subpath.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.3-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.4-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.4.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.unclosed-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.winding-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.winding.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.basic.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nextpoint-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nextpoint.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nonfinite.details-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nonfinite.details.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.basic.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.multiple-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.multiple.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.newsubpath-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.newsubpath.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.moveTo.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.basic.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.shape-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.shape.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.basic.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.closed-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.closed.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.end.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.end.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.end.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.end.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.negative.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.newsubpath-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.newsubpath.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.nonfinite.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.selfintersect-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.selfintersect.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.winding-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.winding.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.3-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.3.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.4-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.4.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.5-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.5.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.6-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.6.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.empty-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.empty.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.png: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.arc-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.arc.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.closed-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.closed.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.corner-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.corner.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.curve-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.curve.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.line-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.line.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.rect-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.rect.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale1-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale1.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale2-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale2.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.skew-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.skew.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.unaffected-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.unaffected.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.union-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.stroke.union.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.transformation.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.transformation.basic.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.transformation.changing-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.transformation.changing.html: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.transformation.multiple-expected.txt: Added.
  • web-platform-tests/2dcontext/path-objects/2d.path.transformation.multiple.html: Added.
  • web-platform-tests/2dcontext/path-objects/w3c-import.log: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.basic.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.initial-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.initial.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.type-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.type.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.basic.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.double-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.double.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.initial-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.initial.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.large-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.large.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.negative.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.type-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.type.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.basic.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.clamp-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.clamp.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.double-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.double.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.length-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.length.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonpremul-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonpremul.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.alpha.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.cols-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.cols.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rgb-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rgb.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rows-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rows.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.range-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.range.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.negative.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.outside.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.size-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.size.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.type-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.type.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.unaffected-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.unaffected.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.clamp-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.clamp.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.bounds.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.array.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.bounds.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.size.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.nan-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.nan.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.properties-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.properties.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.readonly-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.readonly.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.round-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.round.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.set-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.set.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.string-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.string.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.undefined-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.undefined.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.png: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.basic.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.clip-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.clip.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.created-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.created.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.cross-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.cross.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.negative.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.outside.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect1-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect1.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect2-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect2.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.zero.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.modified-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.modified.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.path-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.path.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unaffected-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unaffected.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unchanged-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unchanged.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype-expected.txt: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html: Added.
  • web-platform-tests/2dcontext/pixel-manipulation/w3c-import.log: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.basic.html: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.path-expected.txt: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.path.html: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.verticalLR-expected.txt: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.verticalLR.html: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.verticalRL-expected.txt: Added.
  • web-platform-tests/2dcontext/scroll/2d.scrollPathIntoView.verticalRL.html: Added.
  • web-platform-tests/2dcontext/scroll/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/transformations/w3c-import.log.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.initial-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.initial.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.invalid.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.valid.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.initial-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.initial.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.invalid.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.valid.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.initial-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.initial.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.invalid.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.valid.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.blur.high.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.blur.low.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.basic.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.clip.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.clip.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.clip.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.clip.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.clip.3-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.clip.3.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.composite.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.composite.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.composite.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.composite.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.composite.3-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.composite.3.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.blur-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.blur.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.x-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.x.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.y-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.enable.y.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.basic.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.basic.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.scale-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.scale.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.section-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.section.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeX-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeX.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeY-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeY.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveX-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveX.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveY-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveY.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.outside-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.outside.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.png: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.basic.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.basic.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.2.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.3-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.3.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.transform.1-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.transform.1.html: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.transform.2-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/2d.shadow.transform.2.html: Added.
  • web-platform-tests/2dcontext/shadows/canvas_shadows_001-expected.txt: Added.
  • web-platform-tests/2dcontext/shadows/canvas_shadows_001.htm: Added.
  • web-platform-tests/2dcontext/shadows/canvas_shadows_002-expected.htm: Added.
  • web-platform-tests/2dcontext/shadows/canvas_shadows_002.htm: Added.
  • web-platform-tests/2dcontext/shadows/w3c-import.log: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.align.default-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.align.default.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.align.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.align.invalid.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.align.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.align.valid.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.baseline.default-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.baseline.default.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.baseline.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.baseline.invalid.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.baseline.valid-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.baseline.valid.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.alphabetic-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.alphabetic.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.bottom-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.bottom.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.hanging-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.hanging.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.ideographic.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.middle-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.middle.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.top-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.top.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.end-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.end.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.other-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.other.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.space-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.space.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.start-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.start.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.default-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.default.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.basic.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.complex-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.complex.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.invalid-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.invalid.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.default-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.default.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.system-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.system.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.tiny-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.font.parse.tiny.html: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.measure.width.space-expected.txt: Added.
  • web-platform-tests/2dcontext/text-styles/2d.text.measure.width.space.html: Added.
  • web-platform-tests/2dcontext/text-styles/canvas_text_font_001-expected.htm: Added.
  • web-platform-tests/2dcontext/text-styles/canvas_text_font_001.htm: Added.
  • web-platform-tests/2dcontext/text-styles/w3c-import.log: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.bitmap-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.bitmap.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.clip-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.clip.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.fillStyle-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.fillStyle.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.font-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.font.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalAlpha-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalAlpha.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalCompositeOperation-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalCompositeOperation.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.imageSmoothingEnabled-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.imageSmoothingEnabled.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineCap-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineCap.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineJoin-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineJoin.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineWidth-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineWidth.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.miterLimit-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.miterLimit.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.path-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.path.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowBlur-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowBlur.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowColor-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowColor.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetX-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetX.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetY-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetY.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stack-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stack.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stackdepth-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stackdepth.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.strokeStyle-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.strokeStyle.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textAlign-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textAlign.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textBaseline-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textBaseline.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.transformation-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.transformation.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.underflow-expected.txt: Added.
  • web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.underflow.html: Added.
  • web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001-expected.htm: Added.
  • web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001.htm: Added.
  • web-platform-tests/2dcontext/the-canvas-state/w3c-import.log: Added.
  • web-platform-tests/2dcontext/tools/LICENSE.txt: Added.
  • web-platform-tests/2dcontext/tools/META.yml: Added.
  • web-platform-tests/2dcontext/tools/build.sh: Added.
  • web-platform-tests/2dcontext/tools/current-work-canvas.xhtml: Added.
  • web-platform-tests/2dcontext/tools/gentest.py: Added.
  • web-platform-tests/2dcontext/tools/gentestutils.py: Added.

(genTestUtils):
(genTestUtils.simpleEscapeJS):
(genTestUtils.escapeJS):
(genTestUtils.escapeHTML):
(genTestUtils.expand_nonfinite):
(genTestUtils.expand_nonfinite.f):
(genTestUtils.backref_html):
(genTestUtils.make_flat_image):
(genTestUtils.map_name):
(genTestUtils.expand_test_code):
(genTestUtils.getNodeText):
(genTestUtils.htmlSerializer):
(genTestUtils.htmlSerializer.serializeElement):
(genTestUtils.write_annotated_spec):
(genTestUtils.write_annotated_spec.process_element):

  • web-platform-tests/2dcontext/tools/name2dir.yaml: Added.
  • web-platform-tests/2dcontext/tools/spec.yaml: Added.
  • web-platform-tests/2dcontext/tools/specextract.py: Added.

(extract):
(extract.make_absolute):

  • web-platform-tests/2dcontext/tools/templates.yaml: Added.
  • web-platform-tests/2dcontext/tools/tests.yaml: Added.
  • web-platform-tests/2dcontext/tools/tests2d.yaml: Added.
  • web-platform-tests/2dcontext/tools/tests2dtext.yaml: Added.
  • web-platform-tests/2dcontext/tools/w3c-import.log: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.order-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.order.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.direction-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.direction.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.nonfinite.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.radians-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.radians.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrap-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrap.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrapnegative-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrapnegative.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.rotate.zero.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.basic.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.large-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.large.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.multiple-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.multiple.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.negative-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.negative.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.nonfinite.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.zero-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.scale.zero.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.multiple-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.multiple.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.nonfinite.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.skewed-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.skewed.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.identity-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.identity.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.multiply-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.multiply.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.nonfinite.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.skewed-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.transform.skewed.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.translate.basic-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.translate.basic.html: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.translate.nonfinite-expected.txt: Added.
  • web-platform-tests/2dcontext/transformations/2d.transformation.translate.nonfinite.html: Added.
  • web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001-expected.htm: Added.
  • web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001.htm: Added.
  • web-platform-tests/2dcontext/transformations/transform_a-expected.html: Added.
  • web-platform-tests/2dcontext/transformations/transform_a.html: Added.
  • web-platform-tests/2dcontext/transformations/transform_ref.html: Added.
  • web-platform-tests/2dcontext/transformations/w3c-import.log:
  • web-platform-tests/2dcontext/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/2dcontext/transformations/w3c-import.log.

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/ios/imported/w3c/web-platform-tests/2dcontext/drawing-images-to-the-canvas/drawimage_html_image-expected.txt: Added.
  • platform/mac/TestExpectations:
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.bottom-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.front-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape1-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.top-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside1-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside2-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside1-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside3-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/2dcontext/line-styles/2d.line.cap.round-expected.txt: Added.
  • platform/win/TestExpectations:
  • platform/wpe/TestExpectations:
2:42 AM Changeset in webkit [250713] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

[GTK][WPE] REGRESSION(r250673): connection to network process is broken after r250673
https://bugs.webkit.org/show_bug.cgi?id=202575

Reviewed by Carlos Alberto Lopez Perez.

The file descriptor is now closed when the IPC::Attachment is destroyed in NetworkProcessConnectionInfo
destructor. In case of unix domain sockets we need to transfer the ownership of the fd to
NetworkProcessConnection, but NetworkProcessConnectionInfo is ow keeping the ownership.

  • WebProcess/Network/NetworkProcessConnectionInfo.h:

(WebKit::NetworkProcessConnectionInfo::releaseIdentifier): Use IPC::Attachment::releaseFileDescriptor() in case
of unix domain sockets.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureNetworkProcessConnection): Use NetworkProcessConnectionInfo::releaseIdentifier() when
passing the identifier to NetworkProcessConnection.

1:33 AM Changeset in webkit [250712] by Antti Koivisto
  • 17 edits in trunk

[CSS Shadow Parts] Support 'exportparts' attribute
https://bugs.webkit.org/show_bug.cgi?id=202520

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-shadow-parts/double-forward-expected.txt:
  • web-platform-tests/css/css-shadow-parts/invalidation-change-exportparts-forward-expected.txt:
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-forward-expected.txt:
  • web-platform-tests/css/css-shadow-parts/invalidation-complex-selector-forward-expected.txt:
  • web-platform-tests/css/css-shadow-parts/precedence-part-vs-part-expected.txt:
  • web-platform-tests/css/css-shadow-parts/simple-forward-expected.txt:
  • web-platform-tests/css/css-shadow-parts/simple-forward-shorthand-expected.txt:

Source/WebCore:

Support 'exportparts' attribute for exporting part mappings from subcomponents.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchPartPseudoElementRules):

Recurse to containing scopes to collect part rules if there are exported mappings.

(WebCore::ElementRuleCollector::ruleMatches):

  • css/ElementRuleCollector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchRecursively const):

Make ShadowDescendant fake combinator skip directly to the scope where the part rules are coming from.

(WebCore::SelectorChecker::checkOne const):

Resolve names via mappings if needed.

  • css/SelectorChecker.h:
  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

Invalidate mappings as needed.

  • dom/ShadowRoot.cpp:

(WebCore::parsePartMappings):

Parse the mappings microsyntax.

(WebCore::ShadowRoot::partMappings const):
(WebCore::ShadowRoot::invalidatePartMappings):

  • dom/ShadowRoot.h:
  • html/HTMLAttributeNames.in:
1:14 AM Changeset in webkit [250711] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

Unreviewed. Fix GTK distcheck

  • webkitglib-symbols.map: Remove symbols that are no longer in lib.
12:42 AM Changeset in webkit [250710] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK distcheck

  • gtk/manifest.txt.in: Add Source/WebKit/Resources/gtk to the tarball.
12:37 AM Changeset in webkit [250709] by rniwa@webkit.org
  • 3 edits
    6 adds in trunk

A newly inserted element doesn't get assigned to a named slot if slot assignments had already happened
https://bugs.webkit.org/show_bug.cgi?id=199733

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by addSlotElementByName not invalidating slot assignments when a new slot element
is inserted after corresponding elements with the slot content attribute had already been inserted.

Fixed the bug by always invalidating the slot assignment when a new slot element is inserted.

Tests: fast/shadow-dom/add-slotted-element-after-assignment-1.html

fast/shadow-dom/add-slotted-element-after-assignment-2.html
fast/shadow-dom/add-slotted-element-after-assignment-3.html

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::addSlotElementByName):

LayoutTests:

Added ref tests.

  • fast/shadow-dom/add-slotted-element-after-assignment-1-expected.html: Added.
  • fast/shadow-dom/add-slotted-element-after-assignment-1.html: Added.
  • fast/shadow-dom/add-slotted-element-after-assignment-2-expected.html: Added.
  • fast/shadow-dom/add-slotted-element-after-assignment-2.html: Added.
  • fast/shadow-dom/add-slotted-element-after-assignment-3-expected.html: Added.
  • fast/shadow-dom/add-slotted-element-after-assignment-3.html: Added.
12:34 AM Changeset in webkit [250708] by rniwa@webkit.org
  • 8 edits in trunk

Radio button groups are not scoped by shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=199568

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Rebaselined a test now that it passes.

  • web-platform-tests/shadow-dom/input-type-radio-expected.txt:

Source/WebCore:

Fixed the bug that radio button groups are not scoped to each shadow tree by moving
RadioButtonGroups from FormController, which is a per-document object, to TreeScope.

Test: imported/w3c/web-platform-tests/shadow-dom/input-type-radio.html

  • dom/RadioButtonGroups.h:

(WebCore::RadioButtonGroups): Made this bmalloc'ed now that it's allocated standalone.

  • dom/TreeScope.cpp:

(WebCore::TreeScope::radioButtonGroups): Added.

  • dom/TreeScope.h:
  • html/FormController.h:

(WebCore::FormController::radioButtonGroups): Deleted.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::HTMLInputElement::removedFromAncestor): Update the radio button group here.
(WebCore::HTMLInputElement::didMoveToNewDocument): Removed the code to update radio
button group here since it's done in removedFromAncestor now. Note that insertion case
is alrady taken care of by HTMLInputElement::didFinishInsertingNode.
(WebCore::HTMLInputElement::radioButtonGroups const): Ditto.

Oct 3, 2019:

11:15 PM Changeset in webkit [250707] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] WebAutomation: make setWindowRect synchronous
https://bugs.webkit.org/show_bug.cgi?id=202530

Reviewed by Carlos Alberto Lopez Perez.

Move/resize window is asynchronous in GTK, but automation expects it to be synchronous so that get window rect
after setting it always returns the value set. Use a nested run loop to wait for the configure events after the
move/resize.

  • UIProcess/API/glib/WebKitUIClient.cpp:

(UIClient::windowConfigureEventCallback):
(UIClient::setWindowFrameTimerFired):

11:04 PM Changeset in webkit [250706] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

Unreviewed. Address review comments after r250646.

I forgot to include the documentation improvements suggested.

  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkit_web_context_class_init):

10:52 PM Changeset in webkit [250705] by Alan Coon
  • 7 edits in branches/safari-608.3-branch/Source

Versioning.

10:50 PM Changeset in webkit [250704] by Alan Coon
  • 5 edits
    1 add in branches/safari-608.3-branch

Cherry-pick r249538. rdar://problem/55911485

LazyClassStructure::setConstructor should not store the constructor to the global object
https://bugs.webkit.org/show_bug.cgi?id=201484
<rdar://problem/50400451>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/web-assembly-constructors-should-not-override-global-object-property.js: Added.

Source/JavaScriptCore:

LazyClassStructure::setConstructor sets the constructor as a property of the global object.
This became a problem when it started being used for WebAssembly constructors, such as Module
and Instance, since they are properties of the WebAssembly object, not the global object. That
resulted in properties of the global object replaced whenever a lazy WebAssembly constructor
was first accessed. e.g.

globalThis.Module = x;
WebAssembly.Module;
globalThis.Module === WebAssembly.Module;

  • runtime/LazyClassStructure.cpp: (JSC::LazyClassStructure::Initializer::setConstructor):
  • runtime/LazyClassStructure.h:
  • runtime/Lookup.h: (JSC::reifyStaticProperty):

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

10:36 PM Changeset in webkit [250703] by Alan Coon
  • 1 copy in tags/Safari-608.2.40.1.2

Tag Safari-608.2.40.1.2.

10:32 PM Changeset in webkit [250702] by Alan Coon
  • 7 edits in branches/safari-608.2.40.1-branch/Source

Versioning.

10:22 PM Changeset in webkit [250701] by Antti Koivisto
  • 5 edits in trunk

[CSS Shadow Parts] Correct interaction with other pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=202526

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-shadow-parts/interaction-with-pseudo-elements-expected.txt:

Source/WebCore:

Cases like foo::part(bar)::before should work.

This patch doesn't cover ::placeholder which is implemented as PseudoElementWebKitCustom (like internal -webkit-* properties).

  • css/CSSSelector.h:

(WebCore::isTreeStructuralPseudoClass):

Add a helper.

  • css/parser/CSSSelectorParser.cpp:

Allow non-structural pseudo classes after ::part().
Allow other pseudo elements after ::part().

(WebCore::CSSSelectorParser::consumePseudo):

No need for DisallowPseudoElementsScope, we are just parsing identifiers.

10:05 PM Changeset in webkit [250700] by chris.reid@sony.com
  • 3 edits in trunk/Source/WebKit

[WinCairo] Remote inspector client target list is racy
https://bugs.webkit.org/show_bug.cgi?id=202169

Reviewed by Ross Kirsling.

Original patch by Basuke Suzuki.

Use LoaderClient to defer javascript target update calls to until after the page finished load.

  • UIProcess/socket/RemoteInspectorProtocolHandler.cpp:
  • UIProcess/socket/RemoteInspectorProtocolHandler.h:
10:05 PM Changeset in webkit [250699] by chris.reid@sony.com
  • 3 edits in trunk/Source/JavaScriptCore

[WinCairo] Remote Inspector doesn't gracefully shutdown
https://bugs.webkit.org/show_bug.cgi?id=202546

Reviewed by Ross Kirsling.

Call shutdown before closesocket in windows to close the connection gracefully.

This also fixes some potential threading issues where m_clientConnection
is set on a worker thread but cleared on the main thread.
Remove callOnMainThread in the server too since execution gets paused during JS breakpoints.

  • inspector/remote/socket/RemoteInspectorServer.cpp:
  • inspector/remote/socket/win/RemoteInspectorSocketWin.cpp:
8:49 PM Changeset in webkit [250698] by Keith Rollin
  • 2 edits in trunk/Source/WTF

Remove some support for < iOS 13
https://bugs.webkit.org/show_bug.cgi?id=202549
<rdar://problem/55967232>

Reviewed by Alex Christensen.

Remove some support for iOS versions less than 13.0.

Update conditionals that reference IPHONE_OS_VERSION_MIN_REQUIRED
and
IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
values >= 130000. This means that expressions like
"IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
"
IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.

This removal is part of a series of patches effecting the removal of
dead code for old versions of iOS. This particular pass involves
changes in which Michael Saboff was involved. These changes are
isolated from other similar changes in order to facilitate the
reviewing process.

  • wtf/spi/darwin/ProcessMemoryFootprint.h:
8:48 PM Changeset in webkit [250697] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Fix WebGL 1 conformance regressions when USE_ANGLE=1
https://bugs.webkit.org/show_bug.cgi?id=202545

Prevent ANGLE from automatically using ES3 when ES2 is requested.

WEBGL_debug_shaders extension should not accept or return null.

Enable ANGLE's new support for emulating RGB on RGBA IOSurfaces.

Patch by James Darpinian <jdarpinian@chromium.org> on 2019-10-03
Reviewed by Alex Christensen.

  • html/canvas/WebGLDebugShaders.cpp:

(WebCore::WebGLDebugShaders::getTranslatedShaderSource):

  • html/canvas/WebGLDebugShaders.h:
  • html/canvas/WebGLDebugShaders.idl:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::validateVertexAttributes):

  • platform/graphics/angle/Extensions3DANGLE.cpp:

(WebCore::Extensions3DANGLE::getTranslatedShaderSourceANGLE):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

  • platform/graphics/cocoa/WebGLLayer.mm:

(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]):

7:00 PM Changeset in webkit [250696] by rniwa@webkit.org
  • 14 edits
    37 adds in trunk/LayoutTests

Resync WPT shadow DOM tests
https://bugs.webkit.org/show_bug.cgi?id=202497

Rubber-stamped by Sam Weinig.

LayoutTests/imported/w3c:

Sync shadow DOM tests as of e33c216e635b4615e4332953fcb758f698ecd510. Also added enough support for
sending key events so that sequential focusing tests would work.

  • web-platform-tests/resources/testdriver-vendor.js:
  • web-platform-tests/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint-expected.txt:
  • web-platform-tests/shadow-dom/DocumentOrShadowRoot-prototype-elementFromPoint.html:
  • web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element.html:
  • web-platform-tests/shadow-dom/Element-interface-attachShadow-expected.txt:
  • web-platform-tests/shadow-dom/Element-interface-attachShadow.html:
  • web-platform-tests/shadow-dom/META.yml: Added.
  • web-platform-tests/shadow-dom/capturing-and-bubbling-event-listeners-across-shadow-trees-expected.txt: Added.
  • web-platform-tests/shadow-dom/capturing-and-bubbling-event-listeners-across-shadow-trees.html: Added.
  • web-platform-tests/shadow-dom/directionality-002.tentative-expected.html: Added.
  • web-platform-tests/shadow-dom/directionality-002.tentative.html: Added.
  • web-platform-tests/shadow-dom/focus/DocumentOrShadowRoot-activeElement-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/DocumentOrShadowRoot-activeElement.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-selector-delegatesFocus-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-selector-delegatesFocus.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-negative-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-negative.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-slot-one-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-slot-one.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-host-negative-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-host-negative.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-host-not-set-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-host-not-set.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-host-one-expected.txt: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero-host-one.html: Added.
  • web-platform-tests/shadow-dom/focus/focus-tabindex-order-shadow-zero.html: Added.
  • web-platform-tests/shadow-dom/focus/resources/shadow-utils.js: Added.

(prepareDOM):
(setTabIndex):
(removeTabIndex):
(resetFocus):
(navigateFocusForward):
(async.assertFocusOrder):

  • web-platform-tests/shadow-dom/focus/resources/w3c-import.log: Added.
  • web-platform-tests/shadow-dom/focus/w3c-import.log: Added.
  • web-platform-tests/shadow-dom/offsetParent-across-shadow-boundaries-expected.txt: Added.
  • web-platform-tests/shadow-dom/offsetParent-across-shadow-boundaries.html: Added.
  • web-platform-tests/shadow-dom/resources/shadow-dom.js:

(createTestTree):

  • web-platform-tests/shadow-dom/scroll-to-the-fragment-in-shadow-tree.html:
  • web-platform-tests/shadow-dom/w3c-import.log:

LayoutTests:

Added a failing expectation. Also skipped focus tests on iOS for now since sending tab key via UIController
doesn't seem to move the focus on iOS somehow even though manual testing seems to work.

  • TestExpectations:
  • platform/ios/TestExpectations:
  • /platform/mac-highsierra-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/tabindex-002-expected.txt: Added.
6:26 PM Changeset in webkit [250695] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix testmasm failure on ASan builds.
https://bugs.webkit.org/show_bug.cgi?id=202554

Reviewed by Yusuke Suzuki.

Gigacage is disabled on ASan builds. So testmasm is sad. Make the relevant test
bail gracefully if Gigacage should be disabled.

Also converted some ASSERTs into RELEASE_ASSERTs. This is a test. No reason to
not assert always.

  • assembler/testmasm.cpp:

(JSC::testCagePreservesPACFailureBit):

6:09 PM Changeset in webkit [250694] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[iOS] WebContent process can be interrupted during suspension; loses "Now Playing" status
https://bugs.webkit.org/show_bug.cgi?id=202537
<rdar://problem/55952707>

Reviewed by Eric Carlson.

Always deactivate the AVAudioSession when the last playing PlatformAudioSession ends playback and the application is in the background.

  • platform/audio/PlatformMediaSessionManager.cpp: (WebCore::PlatformMediaSessionManager::removeSession): (WebCore::PlatformMediaSessionManager::processWillSuspend): (WebCore::PlatformMediaSessionManager::maybeDeactivateAudioSession):
  • platform/audio/PlatformMediaSessionManager.h: (WebCore::PlatformMediaSessionManager::isApplicationInBackground const):
  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm: (WebCore::MediaSessionManageriOS::sessionWillEndPlayback):
5:37 PM Changeset in webkit [250693] by Chris Dumez
  • 7 edits
    5 adds in trunk

Allow pages using FontFaceSet to enter the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=202476

Reviewed by Myles C. Maxfield.

Source/WebCore:

Allow pages using FontFaceSet to enter the back/forward cache by updating its
implementation to queue all its tasks that run script to a SuspendableTaskQueue.
The SuspendableTaskQueue makes sure to properly suspend while in PageCache and
run the tasks when resuming from PageCache.

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

  • PlatformWin.cmake:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFace.cpp:

(WebCore::CSSFontFace::fontLoadEventOccurred):

  • css/FontFaceSet.cpp:

(WebCore::FontFaceSet::FontFaceSet):
(WebCore::FontFaceSet::canSuspendForDocumentSuspension const):
(WebCore::FontFaceSet::didFirstLayout):
(WebCore::FontFaceSet::completedLoading):
(WebCore::FontFaceSet::faceFinished):

  • css/FontFaceSet.h:
  • platform/SuspendableTaskQueue.cpp: Added.

(WebCore::SuspendableTaskQueue::SuspendableTaskQueue):
(WebCore::SuspendableTaskQueue::close):
(WebCore::SuspendableTaskQueue::cancelAllTasks):
(WebCore::SuspendableTaskQueue::enqueueTask):
(WebCore::SuspendableTaskQueue::runOneTask):
(WebCore::SuspendableTaskQueue::activeDOMObjectName const):
(WebCore::SuspendableTaskQueue::canSuspendForDocumentSuspension const):
(WebCore::SuspendableTaskQueue::stop):
(WebCore::SuspendableTaskQueue::suspend):
(WebCore::SuspendableTaskQueue::resume):

  • platform/SuspendableTaskQueue.h: Added.

(WebCore::SuspendableTaskQueue::create):
(WebCore::SuspendableTaskQueue::isClosed const):
(WebCore::SuspendableTaskQueue::hasPendingTasks const):
Add a SuspendableTaskQueue class which is Page-Cache aware and can be used to queue
generic tasks as WTF::Function<void<>> lambdas.

LayoutTests:

Add layout test coverage.

  • http/tests/navigation/page-cache-fontfaceset-expected.txt: Added.
  • http/tests/navigation/page-cache-fontfaceset.html: Added.
  • http/tests/navigation/resources/page-cache-fontfaceset-iframe.html: Added.
4:08 PM Changeset in webkit [250692] by Alan Coon
  • 18 edits in branches/safari-608-branch

Cherry-pick r250659. rdar://problem/55954229

Support googleLegacyAppidSupport extension
https://bugs.webkit.org/show_bug.cgi?id=202427
<rdar://problem/55887473>

Reviewed by Brent Fulgham.

Source/WebCore:

This patch adds support for googleLegacyAppidSupport extension, when set:
1) user agent should only use the U2F transport protocol,
2) should only communicate with roaming authenticators, and
3) should use a hard-coded appID of https://www.gstatic.com/securitykey/origins.json.
To be noticed as the name implies, this extension is exclusively for RP ID = google.com.

Implementation wise, all operations are captured in methods with name processGoogleLegacyAppIdSupportExtension.
1) AuthenticatorCoordinator takes care of setting the value.
2) U2fCommandConstructor takes care of hard coding the AppID.
3) AuthenticatorManager takes care of removing AuthenticatorTransport::Internal from TransportSet, so startDiscovery
will not poke platform authenticators.
4) CtapAuthenticator takes care of downgrading to U2fAuthenticator.
5) U2fAuthenticator takes care of setting the AppID in the response.

Partially covered by new test cases in existing tests, and remaining will be covered by manual tests.

  • Modules/webauthn/AuthenticationExtensionsClientInputs.h: (WebCore::AuthenticationExtensionsClientInputs::encode const): (WebCore::AuthenticationExtensionsClientInputs::decode):
  • Modules/webauthn/AuthenticationExtensionsClientInputs.idl:
  • Modules/webauthn/AuthenticatorCoordinator.cpp: (WebCore::AuthenticatorCoordinatorInternal::processGoogleLegacyAppIdSupportExtension): (WebCore::AuthenticatorCoordinator::create const):
  • Modules/webauthn/PublicKeyCredentialCreationOptions.h: (WebCore::PublicKeyCredentialCreationOptions::encode const): (WebCore::PublicKeyCredentialCreationOptions::decode):
  • Modules/webauthn/fido/U2fCommandConstructor.cpp: (fido::convertToU2fRegisterCommand): (fido::processGoogleLegacyAppIdSupportExtension):
  • Modules/webauthn/fido/U2fCommandConstructor.h:

Source/WebKit:

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManagerInternal::collectTransports): (WebKit::AuthenticatorManagerInternal::processGoogleLegacyAppIdSupportExtension): (WebKit::AuthenticatorManager::handleRequest):
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: (WebKit::CtapAuthenticator::makeCredential): (WebKit::CtapAuthenticator::processGoogleLegacyAppIdSupportExtension):
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.h:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: (WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived):

Tools:

Adds an API test for googleLegacyAppidSupport extension.

  • TestWebKitAPI/Tests/WebCore/FidoTestData.h:
  • TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: (TestWebKitAPI::constructMakeCredentialRequest): (TestWebKitAPI::constructMakeCredentialRequestWithGoogleLegacyAppidSupport): (TestWebKitAPI::TEST):

LayoutTests:

Add tests to confirm the googleLegacyAppidSupport extension is ignored for RP ID != google.com.

  • http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:

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

4:08 PM Changeset in webkit [250691] by Alan Coon
  • 13 edits in branches/safari-608-branch/Source

Cherry-pick r249949. rdar://problem/55964883

[WebAuthn] Use WebPreferences instead of RuntimeEnabledFeatures in UIProcess
https://bugs.webkit.org/show_bug.cgi?id=198176
<rdar://problem/55285709>

Reviewed by Youenn Fablet.

Source/WebCore:

No changes of behavior.

  • Modules/webauthn/PublicKeyCredential.cpp: (WebCore::PublicKeyCredential::isUserVerifyingPlatformAuthenticatorAvailable): Resolves the promise with false immediately when the feature flag is false.

Source/WebKit:

This patch does the following two things:
1) It merges WebAuthenticationRequestData::creationOptions and requestOptions into a variant, and therefore
merges code paths that involve WebAuthenticationRequestData.
2) It teaches WebAuthenticationRequestData to store a WebPreferences such that AuthenticatorManager could utilize
runtime feature flags to turn features on or off.

  • UIProcess/WebAuthentication/Authenticator.cpp: (WebKit::Authenticator::handleRequest):
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManager::handleRequest): (WebKit::AuthenticatorManager::clearState): (WebKit::AuthenticatorManager::authenticatorAdded): (WebKit::AuthenticatorManager::startDiscovery): (WebKit::AuthenticatorManager::makeCredential): Deleted. (WebKit::AuthenticatorManager::getAssertion): Deleted.
  • UIProcess/WebAuthentication/AuthenticatorManager.h:
  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm: (WebKit::LocalAuthenticator::makeCredential): (WebKit::LocalAuthenticator::continueMakeCredentialAfterUserConsented): (WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested): (WebKit::LocalAuthenticator::getAssertion): (WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented):
  • UIProcess/WebAuthentication/Cocoa/LocalService.mm: (WebKit::LocalService::isAvailable): Don't check RuntimeEnabledFeatures given it is for WebCore.
  • UIProcess/WebAuthentication/WebAuthenticationRequestData.h: (): Deleted.
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp: (WebKit::WebAuthenticatorCoordinatorProxy::makeCredential): (WebKit::WebAuthenticatorCoordinatorProxy::getAssertion): (WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
  • UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: (WebKit::CtapAuthenticator::makeCredential): (WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived const): (WebKit::CtapAuthenticator::getAssertion):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: (WebKit::U2fAuthenticator::makeCredential): (WebKit::U2fAuthenticator::checkExcludeList): (WebKit::U2fAuthenticator::issueRegisterCommand): (WebKit::U2fAuthenticator::getAssertion): (WebKit::U2fAuthenticator::issueSignCommand): (WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived): (WebKit::U2fAuthenticator::continueSignCommandAfterResponseReceived):

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

4:07 PM Changeset in webkit [250690] by Alan Coon
  • 2 edits in branches/safari-608-branch/Tools

Cherry-pick r248325. rdar://problem/55964805

Unreviewed, a build fix after r248308

Don't use WK_ENGINEERING_CODE_SIGN_IDENTITY for Production build.

  • WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:

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

4:07 PM Changeset in webkit [250689] by Alan Coon
  • 4 edits in branches/safari-608-branch

Unreviewed, a build fix after r248319.

Use HAVE(DATA_PROTECTION_KEYCHAIN) instead of HAVE_DATA_PROTECTION_KEYCHAIN.

Source/WebKit:

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserConsented):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented):

Tools:

  • WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::keyExistsInKeychain):

4:07 PM Changeset in webkit [250688] by Alan Coon
  • 6 edits in branches/safari-608-branch

Cherry-pick r248319. rdar://problem/55964805

Unreviewed, a build fix after r248308

Use kSecUseDataProtectionKeychain for iOS 13 and macOS Catalina or newer.

Source/WebKit:

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm: (WebKit::LocalAuthenticator::makeCredential): (WebKit::LocalAuthenticator::continueMakeCredentialAfterUserConsented): (WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested): (WebKit::LocalAuthenticator::getAssertion): (WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented):

Source/WTF:

  • wtf/Platform.h:

Tools:

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::addTestKeyToKeychain): (WTR::TestController::cleanUpKeychain): (WTR::TestController::keyExistsInKeychain):

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

4:07 PM Changeset in webkit [250687] by Alan Coon
  • 16 edits
    1 add in branches/safari-608-branch

Cherry-pick r248308. rdar://problem/55964805

[WebAuthN] Enable LocalAuthenticator for macOS
https://bugs.webkit.org/show_bug.cgi?id=182772
<rdar://problem/43347920>

Reviewed by Brent Fulgham.

Source/WebKit:

This patch enables LocalAuthenticator for macOS. The majority
of this patch is to tweak macOS keychain to use the modern one.

  • Configurations/WebKit.xcconfig:
  • Platform/spi/Cocoa/DeviceIdentitySPI.h:
  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm: (WebKit::LocalAuthenticatorInternal::toVector): (WebKit::LocalAuthenticator::makeCredential): (WebKit::LocalAuthenticator::continueMakeCredentialAfterUserConsented): (WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested): (WebKit::LocalAuthenticator::getAssertion): (WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented):
  • UIProcess/WebAuthentication/Cocoa/LocalConnection.mm: (WebKit::LocalConnection::getUserConsent const): (WebKit::LocalConnection::getAttestation const):
  • UIProcess/WebAuthentication/Cocoa/LocalService.mm: (WebKit::LocalService::isAvailable):
  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm: (WebKit::MockLocalConnection::getAttestation const):
  • config.h:

Source/WTF:

  • wtf/Platform.h: Adds HAVE_DEVICE_IDENTITY.
  • wtf/spi/cocoa/SecuritySPI.h: Adds a SPI for telling macOS keychain to use the modern one.

Tools:

Add an entitlement file to WebKitTestRunner such that it can access
the modern macOS keychain.

  • WebKitTestRunner/Configurations/WebKitTestRunner.entitlements: Added.
  • WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::addTestKeyToKeychain): (WTR::TestController::cleanUpKeychain): (WTR::TestController::keyExistsInKeychain):

LayoutTests:

Enable existing local authenticator tests for macOS. Since OpenSource bots
don't have the internal setting to include restricted entitlements, tests
will fail on OpenSource bots.

  • platform/mac-wk2/TestExpectations:

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

3:16 PM Changeset in webkit [250686] by Chris Dumez
  • 5 edits
    2 adds in trunk

Provisional / scheduled loads in subframes should not prevent a page from entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=202474

Reviewed by Alex Christensen.

Source/WebCore:

Provisional / scheduled loads in subframes should not prevent a page from entering the back/forward cache.
To address the issue, we now make sure to stop all loads before checking for PageCache eligibility.

Test: fast/history/page-cache-quick-redirect-iframe.html

  • history/PageCache.cpp:

(WebCore::PageCache::addIfCacheable):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopForPageCache):

  • loader/FrameLoader.h:

LayoutTests:

Add layout test coverage.

  • fast/history/page-cache-subframes-with-provisional-load-expected.txt: Added.
  • fast/history/page-cache-subframes-with-provisional-load.html: Added.
2:41 PM Changeset in webkit [250685] by Alan Coon
  • 18 edits in branches/safari-608-branch

Cherry-pick r249108. rdar://problem/55927253

[WebAuthn] Support HID authenticators on iOS
https://bugs.webkit.org/show_bug.cgi?id=201084
<rdar://problem/51908390>

Reviewed by Youenn Fablet.

Source/WebCore/PAL:

  • pal/spi/cocoa/IOKitSPI.h: Move IOHIDDevice.h and IOHIDManager.h to IOKitSPI.h given they are in iOS.

Source/WebKit:

This patch makes the macOS HID implementation available in iOS as well.
Mostly, it removes the PLATFORM(MAC) compile time flag.

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManagerInternal::collectTransports):
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp: (WebKit::AuthenticatorTransportService::create): (WebKit::AuthenticatorTransportService::createMock):
  • UIProcess/WebAuthentication/Cocoa/HidConnection.h:
  • UIProcess/WebAuthentication/Cocoa/HidConnection.mm:
  • UIProcess/WebAuthentication/Cocoa/HidService.h:
  • UIProcess/WebAuthentication/Cocoa/HidService.mm:
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm: (WebKit::NfcConnection::NfcConnection): A tentative solution before there is an official UI.
  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp:
  • UIProcess/WebAuthentication/Mock/MockHidConnection.h:
  • UIProcess/WebAuthentication/Mock/MockHidService.cpp:
  • UIProcess/WebAuthentication/Mock/MockHidService.h:
  • UIProcess/WebAuthentication/fido/CtapHidDriver.cpp:
  • UIProcess/WebAuthentication/fido/CtapHidDriver.h:

LayoutTests:

  • platform/ios-wk2/TestExpectations: Unskips HID tests for iOS.

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

2:41 PM Changeset in webkit [250684] by Alan Coon
  • 4 edits in branches/safari-608-branch/Source

Cherry-pick r249068. rdar://problem/55927255

Unreviewed, build fix after r249059

Source/WebKit:

  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm: (WebKit::NfcConnection::NfcConnection): Remove the HAVE() macro.

Source/WTF:

  • wtf/Platform.h: Make HAVE_NEAR_FIELD available only on iOS 13+ and macOS Catalina+.

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

2:41 PM Changeset in webkit [250683] by Alan Coon
  • 31 edits
    9 copies
    16 adds in branches/safari-608-branch

Cherry-pick r249059. rdar://problem/55927255

[WebAuthn] Support NFC authenticators for iOS
https://bugs.webkit.org/show_bug.cgi?id=188624
<rdar://problem/43354214>

Reviewed by Chris Dumez.

Source/WebCore:

Tests: http/wpt/webauthn/ctap-nfc-failure.https.html

http/wpt/webauthn/public-key-credential-create-failure-nfc.https.html
http/wpt/webauthn/public-key-credential-create-success-nfc.https.html
http/wpt/webauthn/public-key-credential-get-failure-nfc.https.html
http/wpt/webauthn/public-key-credential-get-success-nfc.https.html

  • Modules/webauthn/apdu/ApduResponse.h: Adds a new method to support moving m_data.
  • Modules/webauthn/fido/FidoConstants.h: Adds constants for NFC applet selection.

Source/WebKit:

This patch implements support for NFC authenticators including both FIDO2 and U2F ones. It utilizes a private
framework called NearField instead of CoreNFC to be able to supply a custom UI later if necessary.

The patch follows almost the same flow as previous HID and Local authenticator support.
1) Discovery is via NfcService which will invoke NFHardwareManager to start a generic NFC reader session.
2) Once a reader session is established, a NfcConnection is created to start the polling and register the WKNFReaderSessionDelegate
to wait for 'didDetectTags'.
3) When tags are detected, NfcConnection will determine if it meets our requriements: { type, connectability, fido applet availability }.
The first tag that meets all requirement will then be returned for WebAuthn operations.
4) The first WebAuthn operation is to send authenticatorGetInfo command to determine the supported protocol, and then initialize corresponding
authenticators. Noted, the sending/receiving of this command is now abstracted into FidoService which will be shared across HidService and NfcService.
5) From then, the actual WebAuthn request, either makeCredential or getAssertion will be sent.

For testing, this patch follows the same flow as well.
1) MockNfcService overrides NfcService to mock the behavior of NFC Tags discovery.
2) The same class also swizzles methods from NFReaderSession to mock tag connection and communication.

  • Platform/spi/Cocoa/NearFieldSPI.h: Added.
  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp: (WKWebsiteDataStoreSetWebAuthenticationMockConfiguration):
  • UIProcess/WebAuthentication/AuthenticatorManager.cpp: (WebKit::AuthenticatorManagerInternal::collectTransports):
  • UIProcess/WebAuthentication/AuthenticatorTransportService.cpp: (WebKit::AuthenticatorTransportService::create): (WebKit::AuthenticatorTransportService::createMock):
  • UIProcess/WebAuthentication/Cocoa/HidService.h:
  • UIProcess/WebAuthentication/Cocoa/HidService.mm: (WebKit::HidService::HidService): (WebKit::HidService::deviceAdded): (WebKit::HidService::continueAddDeviceAfterGetInfo): Deleted.
  • UIProcess/WebAuthentication/Cocoa/NearFieldSoftLink.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/Cocoa/NearFieldSoftLink.mm: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/Cocoa/NfcConnection.mm: Added. (WebKit::fido::compareVersion): (WebKit::NfcConnection::NfcConnection): (WebKit::NfcConnection::~NfcConnection): (WebKit::NfcConnection::transact const): (WebKit::NfcConnection::didDetectTags const):
  • UIProcess/WebAuthentication/Cocoa/NfcService.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/Cocoa/NfcService.mm: Added. (WebKit::NfcService::NfcService): (WebKit::NfcService::~NfcService): (WebKit::NfcService::didConnectTag): (WebKit::NfcService::startDiscoveryInternal): (WebKit::NfcService::platformStartDiscovery):
  • UIProcess/WebAuthentication/Cocoa/WKNFReaderSessionDelegate.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/Cocoa/WKNFReaderSessionDelegate.mm: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h. (-[WKNFReaderSessionDelegate initWithConnection:]): (-[WKNFReaderSessionDelegate readerSession:didDetectTags:]):
  • UIProcess/WebAuthentication/Mock/MockHidConnection.cpp: (WebKit::MockHidConnection::send): (WebKit::MockHidConnection::registerDataReceivedCallbackInternal): (WebKit::MockHidConnection::parseRequest): (WebKit::MockHidConnection::feedReports): (WebKit::MockHidConnection::shouldContinueFeedReports):
  • UIProcess/WebAuthentication/Mock/MockNfcService.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/Mock/MockNfcService.mm: Added. (-[WKMockNFTag type]): (-[WKMockNFTag initWithNFTag:]): (-[WKMockNFTag description]): (-[WKMockNFTag isEqualToNFTag:]): (-[WKMockNFTag initWithType:]): (WebKit::MockNfcService::MockNfcService): (WebKit::MockNfcService::transceive): (WebKit::MockNfcService::platformStartDiscovery): (WebKit::MockNfcService::detectTags const):
  • UIProcess/WebAuthentication/Mock/MockWebAuthenticationConfiguration.h:
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.h:
  • UIProcess/WebAuthentication/fido/CtapNfcDriver.cpp: Added. (WebKit::CtapNfcDriver::CtapNfcDriver): (WebKit::CtapNfcDriver::transact): (WebKit::CtapNfcDriver::respondAsync const):
  • UIProcess/WebAuthentication/fido/CtapNfcDriver.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/fido/FidoService.cpp: Added. (WebKit::FidoService::FidoService): (WebKit::FidoService::getInfo): (WebKit::FidoService::continueAfterGetInfo):
  • UIProcess/WebAuthentication/fido/FidoService.h: Copied from Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h.
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.h:
  • UIProcess/ios/WebPageProxyIOS.mm:
  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

  • wtf/Platform.h: Add a feature flag for NearField.

Tools:

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebAuthenticationMockConfiguration): Setup NFC mock testing configuration.

LayoutTests:

  • http/wpt/webauthn/ctap-nfc-failure.https-expected.txt: Added.
  • http/wpt/webauthn/ctap-nfc-failure.https.html: Added.
  • http/wpt/webauthn/public-key-credential-create-failure-nfc.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-create-failure-nfc.https.html: Added.
  • http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html: This patch replaces the "local" keyword with "hid".
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-create-success-nfc.https.html: Added.
  • http/wpt/webauthn/public-key-credential-get-failure-nfc.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-get-failure-nfc.https.html: Added.
  • http/wpt/webauthn/public-key-credential-get-success-nfc.https-expected.txt: Added.
  • http/wpt/webauthn/public-key-credential-get-success-nfc.https.html: Added.
  • http/wpt/webauthn/resources/util.js:
  • platform/ios-simulator-wk2/TestExpectations: Skip NFC tests for simulators.

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

2:41 PM Changeset in webkit [250682] by Alan Coon
  • 6 edits
    1 copy
    4 moves in branches/safari-608-branch/Source/WebKit

Cherry-pick r248631. rdar://problem/55934340

[WebAuthn] Make CtapHidAuthenticator/U2fHidAuthenticator to CtapAuthenticator/U2fAuthenticator
https://bugs.webkit.org/show_bug.cgi?id=191527
<rdar://problem/54237146>

Reviewed by Chris Dumez.

This patch makes an ABC CtapDriver, which services as an abstract interface for CtapAuthenticator/U2fAuthenticator to talk to
the actual object that implement the specific CTAP protocol that mananges communications over different transports, for example,
CtapHidDriver, such that CtapAuthenticator/U2fAuthenticator can be shared across different transports.

This patch also renames CtapHidAuthenticator/U2fHidAuthenticator to CtapAuthenticator/U2fAuthenticator correspondingly.

  • Sources.txt:
  • UIProcess/WebAuthentication/Cocoa/HidService.mm: (WebKit::HidService::continueAddDeviceAfterGetInfo):
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidAuthenticator.cpp. (WebKit::CtapAuthenticator::CtapAuthenticator): (WebKit::CtapAuthenticator::makeCredential): (WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived const): (WebKit::CtapAuthenticator::getAssertion): (WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived): (WebKit::CtapAuthenticator::tryDowngrade):
  • UIProcess/WebAuthentication/fido/CtapAuthenticator.h: Copied from Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidAuthenticator.h.
  • UIProcess/WebAuthentication/fido/CtapDriver.h: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidAuthenticator.h.
  • UIProcess/WebAuthentication/fido/CtapHidDriver.h: (WebKit::CtapHidDriver::setProtocol):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/U2fHidAuthenticator.cpp. (WebKit::U2fAuthenticator::U2fAuthenticator): (WebKit::U2fAuthenticator::makeCredential): (WebKit::U2fAuthenticator::checkExcludeList): (WebKit::U2fAuthenticator::issueRegisterCommand): (WebKit::U2fAuthenticator::getAssertion): (WebKit::U2fAuthenticator::issueSignCommand): (WebKit::U2fAuthenticator::issueNewCommand): (WebKit::U2fAuthenticator::issueCommand): (WebKit::U2fAuthenticator::responseReceived): (WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived): (WebKit::U2fAuthenticator::continueCheckOnlyCommandAfterResponseReceived): (WebKit::U2fAuthenticator::continueBogusCommandAfterResponseReceived): (WebKit::U2fAuthenticator::continueSignCommandAfterResponseReceived):
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.h: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/U2fHidAuthenticator.h.
  • WebKit.xcodeproj/project.pbxproj:

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

2:40 PM Changeset in webkit [250681] by Alan Coon
  • 2 edits in branches/safari-608-branch/LayoutTests

Cherry-pick r249107. rdar://problem/55927255

Unreviewed, test gardening

  • platform/mac-wk2/TestExpectations: Skip WebAuthn tests for HighSierra and Mojave.

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

2:40 PM Changeset in webkit [250680] by Alan Coon
  • 4 edits
    3 adds in branches/safari-608-branch/Source/WebKit

Cherry-pick r250658. rdar://problem/55954221

[WebAuthn] Implement dummy _WKWebAuthenticationPanel SPI
https://bugs.webkit.org/show_bug.cgi?id=202507
<rdar://problem/55918793>

Reviewed by Brent Fulgham.

This patch implements dummy _WKWebAuthenticationPanel SPI to unblock Safari.

Here are the illustrations for each SPI:
1) -[WKUIDelegatePrivate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:] is used at the beginning of
any WebAuthn ceremonies. A WKFrameInfo is provided for more info of the initiating frame so clients could decide either show
the RP ID or the origin of the frame which may or may not be the RP ID. A callback of _WKWebAuthenticationPanelResult is
provided such that clients could inform WebKit to continue the ceremony or not. Case like rate limiting of a modular dialog
could result in _WKWebAuthenticationPanelResultDidNotPresent. Then WebKit will abort the operation.
_WKWebAuthenticationPanelResultUnavailable tells WebKit the client has no UI implemented and therefore WebKit will operate
in a non UI mode which basically will only enable HID authenticators, and is the current behavior of macOS Safari.
2) -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] is primarily to instruct users to do some
actionable thing to recover from some error state. However, it could be used for pure info as well. For
_WKWebAuthenticationPanelInfoMultipleNFCTagPresents, users can be instructed to only hold one NFC tag to the scanner. For
_WKWebAuthenticationPanelInfoNoCredentialsFound, users can potentially switch to another security key that could hit a match.
3) -[_WKWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:] is to dismiss UI.
_WKWebAuthenticationResult is provided such that client could show different animations as a hint to the user. The reasons for
failure could either be timeout or InvalidStateError which will be reported to the page as well. InvalidStateError signals a
credential matching an entry of the exclude list (excludeCredentials) is found on the authenticator.
4) -[_WKWebAuthenticationPanel cancel] is the way clients tell WebKit a user cancel.

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h: Added.
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: Added. (-[_WKWebAuthenticationPanel _initWithRelayingPartyID:]): (-[_WKWebAuthenticationPanel relyingPartyID]): (-[_WKWebAuthenticationPanel cancel]):
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanelInternal.h: Added.
  • WebKit.xcodeproj/project.pbxproj:

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

2:37 PM Changeset in webkit [250679] by Ross Kirsling
  • 7 edits in trunk/Source

Socket RWI client should acquire backend commands from server
https://bugs.webkit.org/show_bug.cgi?id=202421

Reviewed by Devin Rousso.

Source/JavaScriptCore:

  • inspector/remote/socket/RemoteInspectorServer.cpp:

(Inspector::RemoteInspectorServer::setupInspectorClient):
(Inspector::RemoteInspectorServer::backendCommands const):

  • inspector/remote/socket/RemoteInspectorServer.h:

(Inspector::RemoteInspectorServer::setBackendCommandsPath):
Assuming a path to InspectorBackendCommands.js has been provided,
read the file and send off its base64-encoded contents in a "BackendCommands" message when setting up a client.

Source/WebKit:

  • UIProcess/socket/RemoteInspectorClient.cpp:

(WebKit::RemoteInspectorClient::dispatchMap):
(WebKit::RemoteInspectorClient::setBackendCommands):

  • UIProcess/socket/RemoteInspectorClient.h:

Receive "BackendCommands" message from server (which is already base64-encoded) and hand it over to RWIProxy.

  • UIProcess/win/WebProcessPoolWin.cpp:

(WebKit::backendCommandsPath):
(WebKit::initializeRemoteInspectorServer):
On Windows, initialize server with the path to InspectorBackendCommands.js from the CFBundle.

2:29 PM Changeset in webkit [250678] by Chris Dumez
  • 3 edits
    3 adds in trunk

XMLHttpRequest sometimes prevents pages from entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=202434
<rdar://problem/55890340>

Reviewed by Geoffrey Garen.

Source/WebCore:

XMLHttpRequest::canSuspendForDocumentSuspension() was returning false if the document has not fired
the window's load event, with a comment explaining that cancelling the XHR in the upon suspension
may cause the load event to get fired and thus run script when forbidden. However, we should only
return false if the XMLHttpRequest is actually loading (m_loader is not null). XHRs that are not
loading should never prevent page caching.

I saw failures to enter the back/forward cache on yandex.ru and taobao.com because of this.

Test: http/tests/navigation/page-cache-failed-xhr.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::canSuspendForDocumentSuspension const):

LayoutTests:

Add layout test coverage.

  • http/tests/navigation/page-cache-failed-xhr-expected.txt: Added.
  • http/tests/navigation/page-cache-failed-xhr.html: Added.
  • http/tests/navigation/resources/page-cache-failed-xhr-frame.html: Added.
2:16 PM Changeset in webkit [250677] by achristensen@apple.com
  • 10 edits in trunk/Source/WebKit

Replace _WKProcessPoolConfiguration.suppressesConnectionTerminationOnSystemChange with SPI on _WKWebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=202544

Reviewed by Tim Horton.

The _WKProcessPoolConfiguration SPI was originally introduced in rdar://problem/40650244
Keep both working during the transition period, but we need it to not be on the process pool.

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

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

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

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:

(-[_WKWebsiteDataStoreConfiguration suppressesConnectionTerminationOnSystemChange]):
(-[_WKWebsiteDataStoreConfiguration setSuppressesConnectionTerminationOnSystemChange:]):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::suppressesConnectionTerminationOnSystemChange const):
(WebKit::WebsiteDataStoreConfiguration::setSuppressesConnectionTerminationOnSystemChange):

1:50 PM Changeset in webkit [250676] by wilander@apple.com
  • 53 edits
    8 adds in trunk

Resource Load Statistics: Downgrade document.referrer for all third-party iframes
https://bugs.webkit.org/show_bug.cgi?id=202506
<rdar://problem/55786397>

Reviewed by Brent Fulgham.

Source/WebCore:

This change downgrades document.referrer for all third-party iframes if ITP/Resource Load Statistics
is enabled. The behavior matches the downgrade of all HTTP referrers for third-party resources
which landed in https://trac.webkit.org/changeset/250413/webkit.

Tests: http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html

http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html
http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html

  • dom/Document.cpp:

(WebCore::Document::referrer):
(WebCore::Document::referrer const): Deleted.

Can no longer be const since it lazily downgrades and saves the referrer on read.

  • dom/Document.h:

LayoutTests:

The tests that are not new rely on document.referrer and so they are made to turn off
ITP before they run to maintain a full referrer.

  • http/tests/media/media-stream/enumerate-devices-source-id.html:
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin.html:
  • http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/no-referrer/same-origin.html:
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin.html:
  • http/tests/referrer-policy-iframe/origin/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/origin/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/origin/same-origin.html:
  • http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/same-origin/same-origin.html:
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin.html:
  • http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/strict-origin/same-origin.html:
  • http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html:
  • http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https.html:
  • http/tests/referrer-policy-iframe/unsafe-url/same-origin.html:
  • http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http-http.html:
  • http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http.https.html:
  • http/tests/referrer-policy/no-referrer-when-downgrade/same-origin.html:
  • http/tests/referrer-policy/no-referrer/cross-origin-http-http.html:
  • http/tests/referrer-policy/no-referrer/cross-origin-http.https.html:
  • http/tests/referrer-policy/no-referrer/same-origin.html:
  • http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy/origin-when-cross-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy/origin-when-cross-origin/same-origin.html:
  • http/tests/referrer-policy/origin/cross-origin-http-http.html:
  • http/tests/referrer-policy/origin/cross-origin-http.https.html:
  • http/tests/referrer-policy/origin/same-origin.html:
  • http/tests/referrer-policy/same-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy/same-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy/same-origin/same-origin.html:
  • http/tests/referrer-policy/strict-origin-when-cross-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy/strict-origin-when-cross-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy/strict-origin-when-cross-origin/same-origin.html:
  • http/tests/referrer-policy/strict-origin/cross-origin-http-http.html:
  • http/tests/referrer-policy/strict-origin/cross-origin-http.https.html:
  • http/tests/referrer-policy/strict-origin/same-origin.html:
  • http/tests/referrer-policy/unsafe-url/cross-origin-http-http.html:
  • http/tests/referrer-policy/unsafe-url/cross-origin-http.https.html:
  • http/tests/referrer-policy/unsafe-url/same-origin.html:
  • http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe-expected.txt: Added.
  • http/tests/resourceLoadStatistics/downgrade-document-referrer-nested-third-party-iframe.html: Added.
  • http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe-expected.txt: Added.
  • http/tests/resourceLoadStatistics/downgrade-document-referrer-third-party-iframe.html: Added.
  • http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe-expected.txt: Added.
  • http/tests/resourceLoadStatistics/leave-empty-document-referrer-alone-third-party-iframe.html: Added.
  • http/tests/resourceLoadStatistics/resources/nest-iframe-report-document-referrer.html: Added.
  • http/tests/resourceLoadStatistics/resources/report-document-referrer.html: Added.
1:49 PM Changeset in webkit [250675] by Alan Coon
  • 1 copy in tags/Safari-608.3.9

Tag Safari-608.3.9.

1:41 PM Changeset in webkit [250674] by dino@apple.com
  • 3 edits in branches/safari-608-branch/Source

Build fixes for r249855. rdar://problem/55927247

FrameIdentifier isn't a type on this branch yet, so just use uint64_t where necessary.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • testing/Internals.cpp:

(WebCore::Internals::frameIdentifier const):

Source/WebKit:

  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
1:08 PM Changeset in webkit [250673] by pvollan@apple.com
  • 17 edits
    1 add in trunk

REGRESSION(249649): Unable to open local files in MiniBrowser on macOS
https://bugs.webkit.org/show_bug.cgi?id=201798

Reviewed by Brent Fulgham.

Source/WebKit:

The commit <https://trac.webkit.org/changeset/249649> introduced a MiniBrowser regression on macOS where MiniBrowser
is not able to open local files. The change set r249649 fixed a problem where the WebContent process PID was not ready
to be used when creating a sandbox extension. This happened in the cases where the WebContent process had not finished
launching when the load started. The WebContent process is also creating sandbox extensions for the Networking process
for the files being loaded, and also needs to be passing the audit token of the Networking process when creating these.
This patch implements getting the audit token for the Networking process when the WebProcess is sending a message to
the UI process to establish the Networking process connection. The audit token is stored in the NetworkProcessConnection
object, and passed to the NetworkLoadParameters object when the load is started. Finally, when encoding the Network
resources load parameters, the audit token is used to create an extension for the Networking process.

API test: WKWebView.LoadFileWithLoadRequest

  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<audit_token_t>::encode):
(IPC::ArgumentCoder<audit_token_t>::decode):

  • Platform/IPC/ArgumentCoders.h:
  • Shared/Cocoa/SandboxExtensionCocoa.mm:

(WebKit::SandboxExtensionImpl::create):
(WebKit::SandboxExtensionImpl::sandboxExtensionForType):
(WebKit::SandboxExtensionImpl::SandboxExtensionImpl):
(WebKit::SandboxExtension::createHandleForMachLookupByPid):
(WebKit::SandboxExtension::createHandleForReadByPid):
(WebKit::SandboxExtension::createHandleForReadByAuditToken):

  • Shared/SandboxExtension.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::openNetworkProcessConnection):

  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/Network/NetworkProcessConnection.h:

(WebKit::NetworkProcessConnection::setNetworkProcessAuditToken):
(WebKit::NetworkProcessConnection::networkProcessAuditToken const):

  • WebProcess/Network/NetworkProcessConnectionInfo.h: Added.

(WebKit::NetworkProcessConnectionInfo::identifier):
(WebKit::NetworkProcessConnectionInfo::encode const):
(WebKit::NetworkProcessConnectionInfo::decode):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::WebLoaderStrategy::preconnectTo):

  • WebProcess/WebProcess.cpp:

(WebKit::getNetworkProcessConnection):
(WebKit::WebProcess::ensureNetworkProcessConnection):

Source/WTF:

Add HAVE_AUDIT_TOKEN and SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN defines.

  • wtf/Platform.h:

Tools:

Added API test WKWebView.LoadFileWithLoadRequest.

  • TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
12:38 PM Changeset in webkit [250672] by Devin Rousso
  • 24 edits
    2 deletes in trunk/Source/WebCore

Web Inspector: remove InspectorInstrumentationCookie
https://bugs.webkit.org/show_bug.cgi?id=202487

Reviewed by Matt Baker.

All it does is create a shallow-copy of the InstrumentingAgents (it copies a pointer to
the InstrumentingAgents object, so any of the pointers to the InspectorAgent that are
contained therein are shared between each instance) and save the tracking
InspectorTimelineAgent's id (monotonically increasing integer).

All uses of InspectorInstrumentationCookie are local values, so there's no way that the
InspectorTimelineAgent (or the id) could change in between an
InspectorInstrumentation::will* and an InspectorInstrumentation::did*, as both the
tracking state and id are controlled by the frontend and cannot "interrupt".

Removing InspectorInstrumentationCookie _can_ cause issues is in situations where the
ScriptExecutionContext (or Page) changes between the InspectorInstrumentation::will*
and the InspectorInstrumentation::did*, but this can be avoided so long as a pointer to
the "context" used for InspectorInstrumentation::will* is saved.

Covered by existing tests: inspector/timeline/*

  • inspector/InspectorInstrumentationCookie.h: Removed.
  • inspector/InspectorInstrumentationCookie.cpp: Removed.
  • inspector/agents/InspectorTimelineAgent.h:
  • inspector/agents/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didPaint):
(WebCore::InspectorTimelineAgent::clearRecordStack): Deleted.

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
(WebCore::JSCustomElementInterface::invokeCallback):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSExecState.h:
  • bindings/js/JSExecStateInstrumentation.h:

(WebCore::JSExecState::instrumentFunctionInternal):
(WebCore::JSExecState::instrumentFunctionCall):
(WebCore::JSExecState::instrumentFunctionConstruct):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::evaluateModule):

  • dom/Document.cpp:

(WebCore::Document::resolveStyle):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::innerInvokeEventListeners):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::deliver):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::fired):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchEvent):

  • page/FrameViewLayoutContext.cpp:

(WebCore::FrameViewLayoutContext::layout):

  • page/IntersectionObserver.cpp:

(WebCore::IntersectionObserver::notify):

  • page/PerformanceObserver.cpp:

(WebCore::PerformanceObserver::deliver):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willCallFunction):
(WebCore::InspectorInstrumentation::didCallFunction):
(WebCore::InspectorInstrumentation::willDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
(WebCore::InspectorInstrumentation::willEvaluateScript):
(WebCore::InspectorInstrumentation::didEvaluateScript):
(WebCore::InspectorInstrumentation::willFireTimer):
(WebCore::InspectorInstrumentation::didFireTimer):
(WebCore::InspectorInstrumentation::willLayout):
(WebCore::InspectorInstrumentation::didLayout):
(WebCore::InspectorInstrumentation::willRecalculateStyle):
(WebCore::InspectorInstrumentation::didRecalculateStyle):
(WebCore::InspectorInstrumentation::willFireAnimationFrame):
(WebCore::InspectorInstrumentation::didFireAnimationFrame):
(WebCore::InspectorInstrumentation::willFireObserverCallback):
(WebCore::InspectorInstrumentation::didFireObserverCallback):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willCallFunctionImpl):
(WebCore::InspectorInstrumentation::didCallFunctionImpl):
(WebCore::InspectorInstrumentation::willDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::didFireTimerImpl):
(WebCore::InspectorInstrumentation::willLayoutImpl):
(WebCore::InspectorInstrumentation::didLayoutImpl):
(WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
(WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
(WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
(WebCore::InspectorInstrumentation::didFireAnimationFrameImpl):
(WebCore::InspectorInstrumentation::willFireObserverCallbackImpl):
(WebCore::InspectorInstrumentation::didFireObserverCallbackImpl):
(WebCore::InspectorInstrumentation::retrieveTimelineAgent): Deleted.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
12:34 PM Changeset in webkit [250671] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebCore/dom/Document.h

Unreviewed build fix. rdar://problem/55927247

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

Cherry-pick r250619. rdar://problem/55927263

Provide originating website URL to AR QuickLook
https://bugs.webkit.org/show_bug.cgi?id=202451

Reviewed by Antoine Quint.

Declare the setAdditionalParameters method and
call it with the originating page URL if available.

  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:

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

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

Cherry-pick r250238. rdar://problem/55927247

REGRESSION (r249855): Remove debug logging from WebCore::RenderImage::paintIntoRect()
<https://webkit.org/b/202103>

Reviewed by Zalan Bujtas.

  • rendering/RenderImage.cpp: (WebCore::RenderImage::paintIntoRect): Remove debug logging statements.

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

12:34 PM Changeset in webkit [250668] by Alan Coon
  • 29 edits
    2 adds in branches/safari-608-branch

Cherry-pick r249855. rdar://problem/55927247

Provide a prototype for AR QuickLook to trigger processing in the originating page
https://bugs.webkit.org/show_bug.cgi?id=201371
<rdar://54904781>

Reviewed by Simon Fraser.

Source/WebCore:

  • dom/Document.cpp: (WebCore::Document::dispatchSystemPreviewActionEvent): Create and dispatch a MessageEvent.
  • dom/Document.h:
  • html/HTMLAnchorElement.cpp: Send along the page and frame identifiers for this object to ensure that any reply goes to the correct place. (WebCore::HTMLAnchorElement::handleClick):
  • loader/FrameLoadRequest.h: Use the new SystemPreviewInfo type. (WebCore::FrameLoadRequest::isSystemPreview const): (WebCore::FrameLoadRequest::systemPreviewInfo const): (WebCore::FrameLoadRequest::systemPreviewRect const): Deleted.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL):
  • loader/FrameLoaderTypes.h: Provide encoders for the type. (WebCore::SystemPreviewInfo::encode const): (WebCore::SystemPreviewInfo::decode):
  • platform/network/ResourceRequestBase.cpp: Use the new type. (WebCore::ResourceRequestBase::isSystemPreview const): (WebCore::ResourceRequestBase::systemPreviewInfo const): (WebCore::ResourceRequestBase::setSystemPreviewInfo): (WebCore::ResourceRequestBase::setSystemPreview): Deleted. (WebCore::ResourceRequestBase::systemPreviewRect const): Deleted. (WebCore::ResourceRequestBase::setSystemPreviewRect): Deleted.
  • platform/network/ResourceRequestBase.h:
  • testing/Internals.cpp: Expose the frame and page identifiers to testing. (WebCore::Internals::frameIdentifier const): (WebCore::Internals::pageIdentifier const):
  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

Provide a way for a Web page to know if an action in the AR scene
was performed, if and only if the system AR library calls a delegate with
particular parameters. Post a message to the originating frame so
the page can detect the action.

  • Scripts/webkit/messages.py: Include the right header for SystemPreviewInfo.
  • Shared/WebCoreArgumentCoders.cpp: Use SystemPreviewInfo. (IPC::ArgumentCoder<ResourceRequest>::encode): (IPC::ArgumentCoder<ResourceRequest>::decode):
  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _triggerSystemPreviewActionOnFrame:page:]): New helper/test function to trigger the system preview action.
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/DownloadClient.mm: Use new type. (WebKit::DownloadClient::didStart):
  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: Implement the delegate so that we can detect an action. When it happens, tell the WebPageProxy to send a message.
  • UIProcess/Downloads/DownloadProxy.h: Use SystemPreviewInfo type. (WebKit::DownloadProxy::systemPreviewDownloadInfo const): (WebKit::DownloadProxy::systemPreviewDownloadRect const): Deleted.
  • UIProcess/SystemPreviewController.h: (WebKit::SystemPreviewController::previewInfo const):
  • UIProcess/WebPageProxy.cpp: Send it over to the Web Process. (WebKit::WebPageProxy::systemPreviewActionTriggered const):
  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp: Check the destination still exists, and then talk to the Document. (WebKit::WebPage::systemPreviewActionTriggered):
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

  • TestWebKitAPI/Tools/TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html: Added.

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

12:25 PM Changeset in webkit [250667] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

REGRESSION: touchend doesn't trigger on element when touch is released outside of its bounds
https://bugs.webkit.org/show_bug.cgi?id=202527
<rdar://55883213>

Patch by Antoine Quint <Antoine Quint> on 2019-10-03
Reviewed by Dean Jackson.

Add a test that checks a scenario where an element that listens to "touchstart", "touchmove" and "touchend" events
is only the target of move-phase touches but neither start and end phases. The code change that fixes the reported
issue where the "touchend" wouldn't be dispatched is done in Internal.

  • pointerevents/utils.js:

(EventTracker.prototype.handleEvent):
(EventTracker.prototype._handleTouchEvent):

12:03 PM Changeset in webkit [250666] by sihui_liu@apple.com
  • 2 edits in trunk/Source/WebCore

IndexedDB: add size estimate for key path when estimate task size
https://bugs.webkit.org/show_bug.cgi?id=202480

Reviewed by Geoffrey Garen.

No observable behavior change.

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::estimateSize):

11:32 AM Changeset in webkit [250665] by jbedard@apple.com
  • 2 edits in trunk/Tools

Add myself to various tools watchlists
https://bugs.webkit.org/show_bug.cgi?id=202532

Reviewed by Aakash Jain.

  • Scripts/webkitpy/common/config/watchlist: Add myself to the watchlist of

PerformanceTests, SVNScripts, webkitperl and webkitpy.

11:15 AM Changeset in webkit [250664] by Konstantin Tokarev
  • 3 edits in trunk/Source/WebKit

CMake-built WebKit.framework should launch XPC services successfully
https://bugs.webkit.org/show_bug.cgi?id=202490

Reviewed by Carlos Alberto Lopez Perez.

target_link_options() requires CMake 3.10, however we can avoid
raising required CMake version by moving it to PlatformMac.cmake,
also avoid introduction of new CMake variable.

  • CMakeLists.txt:
  • PlatformMac.cmake:
11:09 AM Changeset in webkit [250663] by youenn@apple.com
  • 7 edits
    2 adds in trunk

Regression: iOS 13.1 MediaStreamTrack.enabled = false kills audio track
https://bugs.webkit.org/show_bug.cgi?id=202405
<rdar://problem/55922616>

Reviewed by Eric Carlson.

Source/WebCore:

When the web page is setting enabled to false, media session might change from PlayRecord to None.
This might trigger CoreAudio to no longer output audio samples, thus triggering our audio capture failure timer.
This would end the track after 2 seconds.
Given audio tracks can be reenabled by a web page, we should not change the Media Session setup based on that.
This patch updates MediaStream::mediaType to return independently of the enabled state.

Add internals API to write a cross platform test.

Test: fast/mediastream/audio-track-enabled.html
Manually tested as well.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::mediaType const):

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::hasCaptureAudioSource const):

  • testing/Internals.cpp:

(WebCore::Internals::supportsAudioSession const):
(WebCore::Internals::audioSessionCategory const):

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

LayoutTests:

  • fast/mediastream/audio-track-enabled-expected.txt: Added.
  • fast/mediastream/audio-track-enabled.html: Added.
11:07 AM Changeset in webkit [250662] by youenn@apple.com
  • 7 edits in trunk

http/tests/security/navigate-when-restoring-cached-page.html should not use RTCPeerConnection to not enter in page cache
https://bugs.webkit.org/show_bug.cgi?id=202521

Reviewed by Chris Dumez.

Source/WebCore:

Introduce a dummy ActiveDOMObject which can never be suspended for document suspension.
Allow a page to create this dummy ActiveDOMObject through internals.
Covered by updated test.

  • dom/ActiveDOMObject.h:
  • testing/Internals.cpp:

(WebCore::Internals::preventDocumentForEnteringPageCache):

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

LayoutTests:

Make use of new internals API to prevent the page to go in page cache.

  • http/tests/security/navigate-when-restoring-cached-page.html:
10:49 AM Changeset in webkit [250661] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebCore

WebKit doesn't build with trunk clang
https://bugs.webkit.org/show_bug.cgi?id=202511

Reviewed by Anders Carlsson.

  • Modules/fetch/FetchLoader.h:
  • Modules/geolocation/Geolocation.h:
  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:
  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • Modules/notifications/Notification.cpp:
  • Modules/notifications/Notification.h:
  • platform/graphics/ca/TileController.h:
  • workers/service/context/ServiceWorkerThreadProxy.h:

Fix the build by exporting destructors and custom delete operators.
I don't know why this changed, but trunk clang insists.
There are also some new warnings; this only fixes the hard errors.

10:45 AM Changeset in webkit [250660] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Yet another build fix

  • css/typedom/TypedOMCSSImageValue.h:

Forward declare Document.

10:39 AM Changeset in webkit [250659] by jiewen_tan@apple.com
  • 18 edits in trunk

Support googleLegacyAppidSupport extension
https://bugs.webkit.org/show_bug.cgi?id=202427
<rdar://problem/55887473>

Reviewed by Brent Fulgham.

Source/WebCore:

This patch adds support for googleLegacyAppidSupport extension, when set:
1) user agent should only use the U2F transport protocol,
2) should only communicate with roaming authenticators, and
3) should use a hard-coded appID of https://www.gstatic.com/securitykey/origins.json.
To be noticed as the name implies, this extension is exclusively for RP ID = google.com.

Implementation wise, all operations are captured in methods with name processGoogleLegacyAppIdSupportExtension.
1) AuthenticatorCoordinator takes care of setting the value.
2) U2fCommandConstructor takes care of hard coding the AppID.
3) AuthenticatorManager takes care of removing AuthenticatorTransport::Internal from TransportSet, so startDiscovery
will not poke platform authenticators.
4) CtapAuthenticator takes care of downgrading to U2fAuthenticator.
5) U2fAuthenticator takes care of setting the AppID in the response.

Partially covered by new test cases in existing tests, and remaining will be covered by manual tests.

  • Modules/webauthn/AuthenticationExtensionsClientInputs.h:

(WebCore::AuthenticationExtensionsClientInputs::encode const):
(WebCore::AuthenticationExtensionsClientInputs::decode):

  • Modules/webauthn/AuthenticationExtensionsClientInputs.idl:
  • Modules/webauthn/AuthenticatorCoordinator.cpp:

(WebCore::AuthenticatorCoordinatorInternal::processGoogleLegacyAppIdSupportExtension):
(WebCore::AuthenticatorCoordinator::create const):

  • Modules/webauthn/PublicKeyCredentialCreationOptions.h:

(WebCore::PublicKeyCredentialCreationOptions::encode const):
(WebCore::PublicKeyCredentialCreationOptions::decode):

  • Modules/webauthn/fido/U2fCommandConstructor.cpp:

(fido::convertToU2fRegisterCommand):
(fido::processGoogleLegacyAppIdSupportExtension):

  • Modules/webauthn/fido/U2fCommandConstructor.h:

Source/WebKit:

  • UIProcess/WebAuthentication/AuthenticatorManager.cpp:

(WebKit::AuthenticatorManagerInternal::collectTransports):
(WebKit::AuthenticatorManagerInternal::processGoogleLegacyAppIdSupportExtension):
(WebKit::AuthenticatorManager::handleRequest):

  • UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:

(WebKit::CtapAuthenticator::makeCredential):
(WebKit::CtapAuthenticator::processGoogleLegacyAppIdSupportExtension):

  • UIProcess/WebAuthentication/fido/CtapAuthenticator.h:
  • UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:

(WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived):

Tools:

Adds an API test for googleLegacyAppidSupport extension.

  • TestWebKitAPI/Tests/WebCore/FidoTestData.h:
  • TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp:

(TestWebKitAPI::constructMakeCredentialRequest):
(TestWebKitAPI::constructMakeCredentialRequestWithGoogleLegacyAppidSupport):
(TestWebKitAPI::TEST):

LayoutTests:

Add tests to confirm the googleLegacyAppidSupport extension is ignored for RP ID != google.com.

  • http/wpt/webauthn/public-key-credential-create-success-hid.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-hid.https.html:
9:48 AM Changeset in webkit [250658] by jiewen_tan@apple.com
  • 4 edits
    3 adds in trunk/Source/WebKit

[WebAuthn] Implement dummy _WKWebAuthenticationPanel SPI
https://bugs.webkit.org/show_bug.cgi?id=202507
<rdar://problem/55918793>

Reviewed by Brent Fulgham.

This patch implements dummy _WKWebAuthenticationPanel SPI to unblock Safari.

Here are the illustrations for each SPI:
1) -[WKUIDelegatePrivate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:] is used at the beginning of
any WebAuthn ceremonies. A WKFrameInfo is provided for more info of the initiating frame so clients could decide either show
the RP ID or the origin of the frame which may or may not be the RP ID. A callback of _WKWebAuthenticationPanelResult is
provided such that clients could inform WebKit to continue the ceremony or not. Case like rate limiting of a modular dialog
could result in _WKWebAuthenticationPanelResultDidNotPresent. Then WebKit will abort the operation.
_WKWebAuthenticationPanelResultUnavailable tells WebKit the client has no UI implemented and therefore WebKit will operate
in a non UI mode which basically will only enable HID authenticators, and is the current behavior of macOS Safari.
2) -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:] is primarily to instruct users to do some
actionable thing to recover from some error state. However, it could be used for pure info as well. For
_WKWebAuthenticationPanelInfoMultipleNFCTagPresents, users can be instructed to only hold one NFC tag to the scanner. For
_WKWebAuthenticationPanelInfoNoCredentialsFound, users can potentially switch to another security key that could hit a match.
3) -[_WKWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:] is to dismiss UI.
_WKWebAuthenticationResult is provided such that client could show different animations as a hint to the user. The reasons for
failure could either be timeout or InvalidStateError which will be reported to the page as well. InvalidStateError signals a
credential matching an entry of the exclude list (excludeCredentials) is found on the authenticator.
4) -[_WKWebAuthenticationPanel cancel] is the way clients tell WebKit a user cancel.

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h: Added.
  • UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm: Added.

(-[_WKWebAuthenticationPanel _initWithRelayingPartyID:]):
(-[_WKWebAuthenticationPanel relyingPartyID]):
(-[_WKWebAuthenticationPanel cancel]):

  • UIProcess/API/Cocoa/_WKWebAuthenticationPanelInternal.h: Added.
  • WebKit.xcodeproj/project.pbxproj:
9:46 AM Changeset in webkit [250657] by kocsen_chung@apple.com
  • 5 edits in branches/safari-608.3-branch/Source

Cherry-pick r250642. rdar://problem/55947639

[iOS] When hit testing for a context menu interaction, do not consider whether the element is contenteditable
https://bugs.webkit.org/show_bug.cgi?id=202498
<rdar://problem/54723131>

Reviewed by Tim Horton.

Source/WebCore:

When the user selects a context menu action, WebKit performs a hit test in order to find the
acted-on element on the page. This is separate from the hit test performed to generate the
context menu's targeted preview. Since an arbitrary amount of time can elapse between
preview generation and action selection, this second hit-tests might return a different
element.

One case where we know a different element can be returned is in apps that dynamically
enable and disable editing. If editing is disabled when the first hit test occurs but is
enabled when the second one occurs, different elements will be returned due to
Frame::qualifyingNodeAtViewportLocation preferring to return the root editable element when
the approximate node is contenteditable.

While the appropriate long-term fix is to only hit-test once and use that element for both
preview generation and action selection, this patch implements a short-term fix to address
the specific problem in rdar://problem/54723131 by disabling the contenteditable behavior
described above for context menu interaction hit testing.

The long-term fix is tracked by <https://webkit.org/b/202499>.

  • page/Frame.h:
  • page/ios/FrameIOS.mm: (WebCore::Frame::qualifyingNodeAtViewportLocation): (WebCore::Frame::approximateNodeAtViewportLocationLegacy): (WebCore::ancestorRespondingToClickEventsNodeQualifier): (WebCore::Frame::nodeRespondingToClickEvents): (WebCore::Frame::nodeRespondingToDoubleClickEvent): (WebCore::Frame::nodeRespondingToInteraction): (WebCore::Frame::nodeRespondingToScrollWheelEvents):

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::startInteractionWithElementAtPosition): Changed to call WebCore::Frame::nodeRespondingToInteraction.

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

9:11 AM Changeset in webkit [250656] by jh718.park@samsung.com
  • 5 edits
    2 moves
    4 deletes in trunk/LayoutTests/imported/w3c

Unreviewed. Move below's shape-outside-foo wpt tests to its proper place.
https://bugs.webkit.org/show_bug.cgi?id=202529

  • web-platform-tests/css/css-masking/parsing/shape-outside-invalid-expected.txt: Removed.
  • web-platform-tests/css/css-masking/parsing/shape-outside-invalid.html: Removed.
  • web-platform-tests/css/css-masking/parsing/shape-outside-valid-expected.txt: Removed.
  • web-platform-tests/css/css-masking/parsing/shape-outside-valid.html: Removed.
  • web-platform-tests/css/css-shapes/parsing/shape-outside-computed-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/shape-outside-computed-expected.txt.
  • web-platform-tests/css/css-shapes/parsing/shape-outside-computed.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/shape-outside-computed.html.
  • web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-expected.txt:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-invalid.html:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-valid-expected.txt:
  • web-platform-tests/css/css-shapes/parsing/shape-outside-valid.html:
8:46 AM Changeset in webkit [250655] by commit-queue@webkit.org
  • 14 edits in trunk

Web Inspector: tests under LayoutTests/inspector/debugger are flaky
https://bugs.webkit.org/show_bug.cgi?id=137131
<rdar://problem/18461335>

Patch by Yury Semikhatsky <yurys@chromium.org> on 2019-10-03
Reviewed by Devin Rousso.

Source/JavaScriptCore:

Changed breakpoint resolution logic to make it consistent across platforms and
better handle the case when there are several DebuggerPausePositions at the same
offset (but with different types).

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::hasOpDebugForLineAndColumn):

  • bytecode/CodeBlock.h:
  • debugger/Breakpoint.h: Removed Breakpoint::unspecifiedColumn, Optional<unsigned>

is used instead where needed. It allows to avoid code that relies on (int)UINT_MAX => -1
conversion.

  • debugger/Debugger.cpp:

(JSC::Debugger::resolveBreakpoint): clarified that in the map columns are 0-based.

  • debugger/DebuggerParseData.cpp:

(JSC::DebuggerPausePositions::breakpointLocationForLineColumn): replaced custom
binary search with std::lower_bound. If there are several pause positions at the
same offset they will be sorted by the type and the algorithm is guaranteed to see
leftmost one first.

(JSC::DebuggerPausePositions::sort): use type as secondary ordering component.

  • debugger/DebuggerParseData.h: Rearranged type constants so that Enter < Pause < Leave

this change along with sorting by type should guarantee that in case of several pause
positions at the same line Enter goes before Pause before Leave and the breakpoint
resolution will yield result similar to that when each pause locations has different
position.

  • inspector/protocol/Debugger.json: clarified that positions are 0-based.
  • parser/ParserTokens.h:

(JSC::JSTextPosition::column const): added helper method for computing column.

Source/WebCore:

Fix debugger tests on GTK. All tests that pause on breakpoint didn't work because
in layout tests InspectorFrontendClientLocal was using Timer to dispatch commands
sent from the local front-end page to the inspected one. When paused inside a script
triggered by the front-end nested timer event would be scheduled but never fired
because in glib implementation of RunLoop::TimerBase uses event source which doesn't
allow recursion (g_source_set_can_recurse is not called on the source), so dispatching
Debugger.resume command didn't work when paused inside another inspector command (e.g.
eval). RunLoop itself uses event source which does allow recursion. So instead of using
a timer for asynchronous command dispatching with delay=0 we now schedule a task in
RunLoop's queue.

  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorBackendDispatchTask::dispatch):
(WebCore::InspectorBackendDispatchTask::reset):
(WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
(WebCore::InspectorBackendDispatchTask::scheduleOneShot): ensures that there is one inspector
dispatch task in the queue.
(WebCore::InspectorBackendDispatchTask::dispatchOneMessage): this is mostly the same behavior
as was with timerFired, we should be able to dispatch all accumulated messages from the queue
in one batch but for now I'd like to keep it one per iteration.

LayoutTests:

Enable inspector/debugger tests on GTK.

  • inspector/debugger/breakpoints/resolved-dump-all-pause-locations-expected.txt: Rebaselined the test

after changes in the breakpoint resolution code. Now the output on GTK is the same as on Mac.

  • platform/gtk/TestExpectations:
8:07 AM Changeset in webkit [250654] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix assembler on ARM64E
https://bugs.webkit.org/show_bug.cgi?id=202528

Reviewed by Michael Saboff.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::callOperation):

  • assembler/MacroAssemblerARM64E.h:

(JSC::MacroAssemblerARM64E::callOperation):

7:03 AM Changeset in webkit [250653] by commit-queue@webkit.org
  • 17 edits
    1 copy
    13 adds
    12 deletes in trunk

CSS ellipse() doesn't accept single <shape-radius>
https://bugs.webkit.org/show_bug.cgi?id=181745

CSS ellipse() should only accept 0 or 2 radii.
The corresponding csswg discussion is
https://github.com/w3c/csswg-drafts/issues/2175.
LayoutTests/imported/w3c:

Patch by Joonghun Park <pjh0718@gmail.com> on 2019-10-03
Reviewed by Antti Koivisto.

  • web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt: Added.
  • web-platform-tests/css/css-masking/parsing/clip-path-computed.html: Added.
  • web-platform-tests/css/css-masking/parsing/clip-path-invalid-expected.txt: Added.
  • web-platform-tests/css/css-masking/parsing/clip-path-invalid.html: Added.
  • web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt: Added.
  • web-platform-tests/css/css-masking/parsing/clip-path-valid.html: Added.
  • web-platform-tests/css/css-masking/parsing/shape-outside-computed-expected.txt: Added.
  • web-platform-tests/css/css-masking/parsing/shape-outside-computed.html: Added.
  • web-platform-tests/css/css-masking/parsing/shape-outside-invalid-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-expected.txt.
  • web-platform-tests/css/css-masking/parsing/shape-outside-invalid.html: Added.
  • web-platform-tests/css/css-masking/parsing/shape-outside-valid-expected.txt: Added.
  • web-platform-tests/css/css-masking/parsing/shape-outside-valid.html: Added.
  • web-platform-tests/css/css-shapes/parsing/shape-outside-invalid-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-001-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-005-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-010.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-011.html:
  • web-platform-tests/css/css-shapes/shape-outside/values/support/parsing-utils.js:

Source/WebCore:

Patch by Joonghun Park <pjh0718@gmail.com> on 2019-10-03
Reviewed by Antti Koivisto.

Tests: imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed.html

imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-invalid.html
imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid.html
imported/w3c/web-platform-tests/css/css-masking/parsing/shape-outside-computed.html
imported/w3c/web-platform-tests/css/css-masking/parsing/shape-outside-invalid.html
imported/w3c/web-platform-tests/css/css-masking/parsing/shape-outside-valid.html

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeEllipse::cssText const):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeBasicShapeEllipse):

LayoutTests:

Remove the layout tests duplicated with the wpt ported version ones.

Patch by Joonghun Park <pjh0718@gmail.com> on 2019-10-03
Reviewed by Antti Koivisto.

  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015-expected.html: Removed.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html: Removed.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017-expected.html: Removed.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-001-expected.txt: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-001.html: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-005-expected.txt: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-005.html: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-010.html: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt: Removed.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-011.html: Removed.
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
7:00 AM Changeset in webkit [250652] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

REGRESSION(r249428): [GStreamer] VP9 video rendered green
https://bugs.webkit.org/show_bug.cgi?id=201422

Adding patches in -base to fix the issue.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2019-10-03
Reviewed by Philippe Normand.

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/base-0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch: Added.
2:52 AM Changeset in webkit [250651] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebKit

[GTK][WPE] Enable async scrolling
https://bugs.webkit.org/show_bug.cgi?id=202449

Reviewed by Carlos Garcia Campos.

For WPE, explicitly enable the threaded scrolling preference on the
WebPreferences object. For GTK, the same preference is enabled in
parallel with the forced-compositing preference, as the async scrolling
feature depends on always-on AC mode.

To help with quick evaluation of potential issues around async scrolling
the feature can still be disabled via the WEBKIT_DISABLE_ASYNC_SCROLLING
environment variable, though this only works in DEVELOPER_MODE builds.

  • Shared/WebPreferencesDefaultValues.h: Default-enable async frame and

overflow scrolling on Nicosia-using ports.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webkit_settings_set_hardware_acceleration_policy):

  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::m_backend):

  • UIProcess/gtk/WebPreferencesGtk.cpp:

(WebKit::WebPreferences::platformInitializeStore):

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::DrawingAreaCoordinatedGraphics):
(WebKit::DrawingAreaCoordinatedGraphics::updatePreferences):
(WebKit::DrawingAreaCoordinatedGraphics::supportsAsyncScrolling):

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
2:47 AM Changeset in webkit [250650] by zandobersek@gmail.com
  • 5 edits in trunk/Source

[Nicosia] Enable runtime checks and triggers for async non-main-frame scrolling
https://bugs.webkit.org/show_bug.cgi?id=202509

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Add build guards that would enable runtime checks of the asynchronous
frame scrolling setting in the ScrollingCoordinator and
RenderLayerCompositor classes for the Nicosia-using ports.

The check in ScrollingCoordinator avoids bailing on coordinating
scrolling for non-main frames when the setting is enabled. The check in
RenderLayerCompositor avoids imposing a requirement for a composition
layer for any non-main frame when the setting is disabled.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView const):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame const):

Source/WebKit:

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Allow the non-main-frame compositing trigger for the Nicosia-using ports
as well. This will enable non-main-frame compositing if the related
setting is also enabled.

2:20 AM Changeset in webkit [250649] by magomez@igalia.com
  • 9 edits
    1 copy
    205 adds in trunk/LayoutTests

[WPE] Unreviewed WPE gardening after r250642
https://bugs.webkit.org/show_bug.cgi?id=202515

Unreviewed WPE gardening after r250642. Adding some missing results and updating
some expectations.

  • platform/wpe/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-grad-24-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-grad-stops-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-03-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-04-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-05-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-06-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-07-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-08-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/pservers-pattern-09-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-elems-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-elems-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-elems-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-elems-06-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-elems-07-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-elems-08-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-groups-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/render-groups-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/script-handle-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/script-handle-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/script-handle-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/script-handle-04-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/script-specify-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/script-specify-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-circle-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-03-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-grammar-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-intro-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-line-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-line-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-polygon-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-polygon-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-polygon-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-polyline-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-polyline-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-04-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-05-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-06-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-07-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-cond-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-cond-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-cond-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-cond-overview-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-cond-overview-03-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-cond-overview-04-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-cond-overview-05-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-defs-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-04-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-05-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-06-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-07-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-08-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-11-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-12-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-13-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-14-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-15-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-16-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-17-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-18-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-19-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-dom-20-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-frag-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-frag-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-frag-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-frag-04-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-frag-05-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-frag-06-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-group-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-group-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-group-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-04-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-05-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-06-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-07-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-08-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-09-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-10-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-11-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-12-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-13-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-14-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-15-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-16-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-17-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-18-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-image-19-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-svg-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-svg-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-svg-03-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-symbol-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-04-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-05-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-06-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-07-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-08-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-09-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-10-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-11-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-12-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-13-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-14-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/struct-use-15-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-class-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-04-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-05-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-06-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-07-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-08-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-09-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-css-10-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-elem-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-inherit-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-pres-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-pres-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-pres-03-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-pres-04-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/styling-pres-05-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/svgdom-over-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-04-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-05-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-06-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-07-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-align-08-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-altglyph-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-altglyph-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-altglyph-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-bidi-01-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-deco-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-dom-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-dom-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-dom-03-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-dom-04-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-dom-05-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-fonts-02-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-fonts-03-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-fonts-04-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-fonts-05-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-fonts-202-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-fonts-203-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-fonts-204-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-04-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-05-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-06-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-07-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-09-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-10-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-11-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-intro-12-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-path-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-path-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-spacing-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-04-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-05-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-06-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-07-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-08-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-09-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-10-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-11-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-text-12-t-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tref-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tref-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tref-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tselect-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tselect-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tselect-03-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tspan-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/text-tspan-02-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-basic-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-basic-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-01-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-02-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-03-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-04-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-05-b-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-06-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-07-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-08-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-svgfittoviewbox-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-svglengthlist-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-svgnumberlist-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-svgstringlist-01-f-manual-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/types-dom-svgtransformable-01-f-manual-expected.txt: Added.
  • platform/wpe/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt:
  • platform/wpe/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
  • platform/wpe/svg/custom/viewbox-syntax-expected.txt:
  • platform/wpe/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt:
  • platform/wpe/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt:
1:54 AM Changeset in webkit [250648] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Source/WebKit

[GTK] Don't hardcode swipe navigation gesture style
https://bugs.webkit.org/show_bug.cgi?id=202447

Patch by Alexander Mikhaylenko <alexm@gnome.org> on 2019-10-03
Reviewed by Carlos Garcia Campos.

Use GTK foreign drawing to draw swipe gesture dimming and shadow instead of
hardcoded opacity and gradient values.

Have separate elements for dimming and shadow. Additionally, add border
and outline. Dimming layer opacity always matches progress, shadow opacity
is 1 except when the page is almost completely retracted. Border and outline
opacity is always 1. Outline is drawn above the top page. For determining
shadow, border and outline width, 'min-width' property is used.

Each element also has .right or .left style class depending on text direction.

Creating patterns is relatively expensive, so do it once a gesture
starts and clear them once it ends. Style changes are currently not
handled, since it's unlikely anything would change while the gesture
is done. Dimming layer is created with the same width as webview and is
clipped when drawing.

Translate existing dimming and shadow into css as is, add subtle border and
outline. Since it's controlled via css, downstreams can override the style.

Set WebKitWebView css name to 'webkitwebview', and only apply styles for
elements directly preceded by it, otherwise the selectors are too generic.

  • PlatformGTK.cmake: Add gtk.css to gresource bundle.
  • Resources/gtk/gtk-theme.css: Added.

(webkitwebview > dimming):
(webkitwebview > shadow):
(webkitwebview > shadow.right):
(webkitwebview > shadow.left):
(webkitwebview > border):
(webkitwebview > outline):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkit_web_view_base_class_init): Set css name to 'webkitwebview'.

  • UIProcess/ViewGestureController.h:
  • UIProcess/gtk/ViewGestureControllerGtk.cpp:

(WebKit::ViewGestureController::createStyleContext):
(WebKit::createElementPattern):
(WebKit::elementWidth):
(WebKit::ViewGestureController::beginSwipeGesture): Create helper patterns.
(WebKit::ViewGestureController::draw): Rework drawing to use the patterns.
(WebKit::ViewGestureController::removeSwipeSnapshot): Clear the patterns.

1:39 AM Changeset in webkit [250647] by Dewei Zhu
  • 4 edits in trunk/Websites/perf.webkit.org

Fix a bug that warning icon causes infinite rendering when it has warning message.
https://bugs.webkit.org/show_bug.cgi?id=202502

Reviewed by Ryosuke Niwa.

Fix the problem that a warning icon with a warning message will result in infinite rendering.

  • public/v3/components/button-base.js:

(ButtonBase):
(ButtonBase.prototype.setButtonTitle): Fixed a typo in function name and moved the title update to
render function.
(ButtonBase.prototype.render): Added the logic to render title.

  • public/v3/components/test-group-revision-table.js: Set warning message by invoking setButtonTitle.
  • public/v3/components/warning-icon.js: Removed the warning messge related code and leave the responsibility

to ButtonBase.
(WarningIcon):
(WarningIcon.prototype.render):

1:25 AM Changeset in webkit [250646] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Make PSON optional
https://bugs.webkit.org/show_bug.cgi?id=200967

Reviewed by Michael Catanzaro.

Source/WebKit:

It's not possible to enable PSON by default and keep backwards compatibility, applications might need to use new
API to monitor the page ID changes in the Web view. So, this patch adds a construct only property to
WebKitWebContext to enable PSON.

  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkitWebContextGetProperty):
(webkitWebContextSetProperty):
(webkitWebContextConstructed):
(webkit_web_context_class_init):

Tools:

Enable PSON in MiniBrowser and unit tests. Also add more tests to page-id to check that we can still talk to the
right web process after cross-site history navigation.

  • MiniBrowser/gtk/main.c:

(main):

  • TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:

(testWebExtensionPageID):

  • TestWebKitAPI/glib/WebKitGLib/TestMain.h:

(Test::Test):

1:24 AM Changeset in webkit [250645] by Carlos Garcia Campos
  • 15 edits in trunk

[GTK][WPE] Add WebKitWebView:page-id property
https://bugs.webkit.org/show_bug.cgi?id=201642

Reviewed by Michael Catanzaro.

Source/WebKit:

The page ID of a WebKitWebView can now change, so we need a way to get notified when it changes.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewGetProperty): Add getter for page-id.
(webkit_web_view_class_init): Add page-id property
(webkitWebViewDidChangePageID): Emit notify::page-id.

  • UIProcess/API/glib/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didChangeWebPageID const): Call webkitWebViewDidChangePageID().

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
  • UIProcess/API/wpe/APIViewClient.h:

(API::ViewClient::didChangePageID): Added virtual method.

  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::didChangeWebPageID const): Call WKWPE::View::didChangePageID().

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::didChangePageID): Call API::ViewClient::didChangePageID().

  • UIProcess/API/wpe/WPEView.h:
  • UIProcess/PageClient.h:

(WebKit::PageClient::didChangeWebPageID const): Added virtual method.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::swapToWebProcess): Call PageClient::didChangeWebPageID().

Tools:

Add a test case to check the new property.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:

(checkTitle):
(testWebExtensionGetTitle):
(webViewPageIDChanged):
(testWebExtensionPageID):
(beforeAll):

Oct 2, 2019:

11:59 PM Changeset in webkit [250644] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/mac

Provide TAPI the full target triple instead of just the arch
https://bugs.webkit.org/show_bug.cgi?id=202486

Reviewed by Simon Fraser.

  • MigrateHeaders.make:

For accuracy and consistency's sake, pass the whole target identifier
instead of just one piece.

10:22 PM Changeset in webkit [250643] by Antti Koivisto
  • 10 edits in trunk

[CSS Shadow Parts] Support multiple arguments for ::part()
https://bugs.webkit.org/show_bug.cgi?id=202482

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt:

Source/WebCore:

Support ::part(foo bar).

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText const):
(WebCore::CSSSelector::setArgumentList):
(WebCore::CSSSelector::setLangArgumentList): Deleted.

Give this a more generic name and use it for ::part() too.

  • css/CSSSelector.h:

(WebCore::CSSSelector::argumentList const):
(WebCore::CSSSelector::langArgumentList const): Deleted.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne const):

Match only if all parts are found from the element 'part' attribute.

  • css/parser/CSSParserSelector.cpp:

(WebCore::CSSParserSelector::setArgumentList):
(WebCore::CSSParserSelector::setLangArgumentList): Deleted.

  • css/parser/CSSParserSelector.h:
  • css/parser/CSSSelectorParser.cpp:

(WebCore::CSSSelectorParser::consumePseudo):

Parse the list.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

9:53 PM Changeset in webkit [250642] by aestes@apple.com
  • 5 edits in trunk/Source

[iOS] When hit testing for a context menu interaction, do not consider whether the element is contenteditable
https://bugs.webkit.org/show_bug.cgi?id=202498
<rdar://problem/54723131>

Reviewed by Tim Horton.

Source/WebCore:

When the user selects a context menu action, WebKit performs a hit test in order to find the
acted-on element on the page. This is separate from the hit test performed to generate the
context menu's targeted preview. Since an arbitrary amount of time can elapse between
preview generation and action selection, this second hit-tests might return a different
element.

One case where we know a different element can be returned is in apps that dynamically
enable and disable editing. If editing is disabled when the first hit test occurs but is
enabled when the second one occurs, different elements will be returned due to
Frame::qualifyingNodeAtViewportLocation preferring to return the root editable element when
the approximate node is contenteditable.

While the appropriate long-term fix is to only hit-test once and use that element for both
preview generation and action selection, this patch implements a short-term fix to address
the specific problem in rdar://problem/54723131 by disabling the contenteditable behavior
described above for context menu interaction hit testing.

The long-term fix is tracked by <https://webkit.org/b/202499>.

  • page/Frame.h:
  • page/ios/FrameIOS.mm:

(WebCore::Frame::qualifyingNodeAtViewportLocation):
(WebCore::Frame::approximateNodeAtViewportLocationLegacy):
(WebCore::ancestorRespondingToClickEventsNodeQualifier):
(WebCore::Frame::nodeRespondingToClickEvents):
(WebCore::Frame::nodeRespondingToDoubleClickEvent):
(WebCore::Frame::nodeRespondingToInteraction):
(WebCore::Frame::nodeRespondingToScrollWheelEvents):

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::startInteractionWithElementAtPosition): Changed to call
WebCore::Frame::nodeRespondingToInteraction.

7:47 PM Changeset in webkit [250641] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview/Safari Technology Preview 93

Added a tag for Safari Technology Preview release 93.

5:53 PM Changeset in webkit [250640] by mmaxfield@apple.com
  • 5 edits
    2 adds in trunk

REGRESSION (r245672): <select> dropdown with text-rendering: optimizeLegibility freezes Safari
https://bugs.webkit.org/show_bug.cgi?id=202198

Reviewed by Tim Horton.

Source/WebKit:

NSFont has a bug where passing "auto" to kCTFontOpticalSizeAttribute
causes an exception to be thrown. We don't catch the exception, so we
pop up back to the runloop, which confuses the UI process.

The solution is twofold: 1) Workaround the bug by passing the font size
to kCTFontOpticalSizeAttribute instead, and 2) catch any exceptions that
this part of the code might throw.

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • fast/forms/select-font-optical-size-expected.txt: Added.
  • fast/forms/select-font-optical-size.html: Added.
5:19 PM Changeset in webkit [250639] by jbedard@apple.com
  • 2 edits in trunk/Tools

results.webkit.org: Only automatically search when multiple lines are pasted
https://bugs.webkit.org/show_bug.cgi?id=202496

Rubber-stamped by Aakash Jain.

  • resultsdbpy/resultsdbpy/view/static/js/search.js:

(SearchBar): If only a single line has been pasted, do not automatically dispatch
the search.

4:41 PM Changeset in webkit [250638] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

[CMake] Don't link WebKit.framework with SecItemShim
https://bugs.webkit.org/show_bug.cgi?id=202490

  • PlatformMac.cmake:

Otherwise everything that uses the Security framework crashes immediately.
We only need it in the NetworkProcess.

4:30 PM Changeset in webkit [250637] by Alan Coon
  • 7 edits in branches/safari-608.3-branch/Source

Versioning.

4:20 PM Changeset in webkit [250636] by mark.lam@apple.com
  • 4 edits
    1 add in trunk

DoubleToStringConverter::ToExponential() should null terminate its string.
https://bugs.webkit.org/show_bug.cgi?id=202492
<rdar://problem/55907708>

Reviewed by Filip Pizlo.

JSTests:

  • stress/dtoa-AddSubstring-should-uses-strnlen-in-assertion.js: Added.

Source/WTF:

  • wtf/dtoa/double-conversion.cc:
  • DoubleToStringConverter::DoubleToAscii() always produces a null terminated string. Fixed the padding loop in DoubleToStringConverter::ToExponential() that follows it to also keep the null terminator.
  • wtf/dtoa/utils.h:

(WTF::double_conversion::StringBuilder::AddSubstring):

  • An assertion in here was using strlen() which indicates that it expects a null terminator in the incoming string. However, this requirement is too restrictive. The code does not actually depend on the string having a null terminator, only that a null terminator does not manifest before the nth character. Changed the assertion to use strnlen() instead to reflect this.
3:41 PM Changeset in webkit [250635] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

3:37 PM Changeset in webkit [250634] by Alan Coon
  • 1 copy in branches/safari-608.3-branch

New branch.

2:54 PM Changeset in webkit [250633] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles: for rules that don't match selected node, property values always show as invalid
https://bugs.webkit.org/show_bug.cgi?id=201571

Reviewed by Matt Baker.

The gist of the bug:

  • WI.CSSProperty is instantiated with valid false.
  • CSSAgent.getMatchedStylesForNode never updates WI.CSSProperty instances because the edited style does not in fact match the selected DOM node. A valid CSS property is shown as invalid.

To resolve this, WI.CSSProperty instances are now updated after editing
in the callback of CSSAgent.setStyleText.

  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles.prototype.changeStyleText):
(WI.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
Don't store style in this._stylesMap of WI.DOMNodeStyles when the style doesn't match the selected node.

2:50 PM Changeset in webkit [250632] by Alan Coon
  • 1 copy in tags/Safari-608.3.8

Tag Safari-608.3.8.

2:45 PM Changeset in webkit [250631] by jbedard@apple.com
  • 2 edits in trunk/Tools

Python 3: Add test-webkitpy for Python 3 (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=201954

Unreviewed follow-up fix.

  • Scripts/test-webkitpy-python3: Add copyright.
2:23 PM Changeset in webkit [250630] by ysuzuki@apple.com
  • 49 edits
    2 copies
    4 adds in trunk

[JSC] AsyncGenerator should have internal fields
https://bugs.webkit.org/show_bug.cgi?id=201498

Reviewed by Saam Barati.

JSTests:

  • stress/async-generator-construct-failure.js: Added.

(shouldThrow):
(async.gen):
(TypeError):

  • stress/async-generator-prototype-change.js: Added.

(shouldBe):
(async.gen):

  • stress/async-generator-prototype-closure.js: Added.

(shouldBe):
(test.async.gen):
(test):

  • stress/create-async-generator.js: Added.

(shouldBe):
(test.async.generator):
(test):

Source/JavaScriptCore:

This patch introduces JSAsyncGenerator. We did this already for JSGenerator. This patch does the same thing for JSAsyncGenerator
This patch cleans up JSGenerator's code to share it with JSAsyncGenerator, e.g. JSGenerator::initialValues etc.
It improves JetStream2/async-fs by ~10%.

We also fixed the pre-existing bug. We are using OpcodeID for the key of hashmap. And using op_add code as a part of key.
By adding a new bytecode, it suddenly becomes 0. And 0 is not valid key in WTF::HashMap. This patch adds 1 to opcodeID when using
for HashMap's key to fix this issue.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • builtins/AsyncGeneratorPrototype.js:

(globalPrivate.asyncGeneratorQueueIsEmpty):
(globalPrivate.asyncGeneratorQueueEnqueue):
(globalPrivate.asyncGeneratorQueueDequeue):
(globalPrivate.isExecutionState):
(globalPrivate.isSuspendYieldState):
(globalPrivate.asyncGeneratorReject):
(globalPrivate.asyncGeneratorResolve):
(asyncGeneratorYieldAwaited):
(globalPrivate.asyncGeneratorYield):
(globalPrivate.doAsyncGeneratorBodyCall):
(globalPrivate.asyncGeneratorResumeNext):
(globalPrivate.asyncGeneratorEnqueue):

  • builtins/BuiltinNames.h:
  • bytecode/BytecodeIntrinsicRegistry.cpp:

(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):

  • bytecode/BytecodeIntrinsicRegistry.h:
  • bytecode/BytecodeList.rb:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeLLIntInlineCaches):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitPutAsyncGeneratorFields):
(JSC::BytecodeGenerator::emitCreateAsyncGenerator):
(JSC::BytecodeGenerator::emitYieldPoint):
(JSC::BytecodeGenerator::emitYield):
(JSC::BytecodeGenerator::emitAwait):
(JSC::BytecodeGenerator::emitDelegateYield):
(JSC::BytecodeGenerator::emitGeneratorStateChange):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitIsAsyncGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::asyncGeneratorInternalFieldIndex):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_getAsyncGeneratorInternalField):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putAsyncGeneratorInternalField):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isAsyncGenerator):
(JSC::YieldExprNode::emitBytecode):
(JSC::AwaitExprNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGClobbersExitState.cpp:

(JSC::DFG::clobbersExitState):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToNewInternalFieldObject):
(JSC::DFG::Node::hasStructure):
(JSC::DFG::Node::convertToNewGenerator): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject):
(JSC::DFG::SpeculativeJIT::compileCreateGenerator):
(JSC::DFG::SpeculativeJIT::compileCreateAsyncGenerator):
(JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject):
(JSC::DFG::SpeculativeJIT::compileNewGenerator):
(JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStoreBarrierInsertionPhase.cpp:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject):
(JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator):
(JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateGenerator):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateAsyncGenerator):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JITInlines.h:

(JSC::JIT::copiedArithProfile):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::createInternalFieldObject):
(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/JSAsyncGenerator.cpp: Copied from Source/JavaScriptCore/runtime/JSGenerator.cpp.

(JSC::JSAsyncGenerator::create):
(JSC::JSAsyncGenerator::createStructure):
(JSC::JSAsyncGenerator::JSAsyncGenerator):
(JSC::JSAsyncGenerator::finishCreation):
(JSC::JSAsyncGenerator::visitChildren):

  • runtime/JSAsyncGenerator.h: Copied from Source/JavaScriptCore/runtime/JSGenerator.h.
  • runtime/JSAsyncGeneratorFunction.h:
  • runtime/JSGenerator.cpp:

(JSC::JSGenerator::finishCreation):

  • runtime/JSGenerator.h:
  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::asyncGeneratorStructure const):

  • runtime/JSType.cpp:

(WTF::printInternal):

  • runtime/JSType.h:
2:19 PM Changeset in webkit [250629] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL OSR exit shouldn't bother updating get_by_id array profiles that have changed modes
https://bugs.webkit.org/show_bug.cgi?id=202493

Reviewed by Saam Barati.

I added this optimization for DFG but forgot to do it for the FTL
at the same time. This patch rectifies that.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

2:15 PM Changeset in webkit [250628] by Antti Koivisto
  • 23 edits in trunk

[CSS Shadow Parts] Basic ::part() pseudo element support
https://bugs.webkit.org/show_bug.cgi?id=202456

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-shadow-parts/all-hosts-expected.txt:
  • web-platform-tests/css/css-shadow-parts/complex-matching-expected.txt:
  • web-platform-tests/css/css-shadow-parts/inner-host-expected.txt:
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-expected.txt:
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist-expected.txt:
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-setter-expected.txt:
  • web-platform-tests/css/css-shadow-parts/invalidation-complex-selector-expected.txt:
  • web-platform-tests/css/css-shadow-parts/precedence-part-vs-part-expected.txt:
  • web-platform-tests/css/css-shadow-parts/simple-expected.txt:

Source/WebCore:

Implement basic parsing and selector matching for ::part() pseudo element.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::pseudoId):
(WebCore::CSSSelector::parsePseudoElementType):
(WebCore::CSSSelector::selectorText const):

  • css/CSSSelector.h:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchPartPseudoElementRules):

  • css/ElementRuleCollector.h:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addRule):

  • css/RuleSet.h:

(WebCore::RuleSet::partPseudoElementRules const):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne const):

  • css/SelectorPseudoElementTypeMap.in:
  • css/parser/CSSParserSelector.cpp:

(WebCore::CSSParserSelector::parsePseudoElementSelector):

Also added ::slotted to SelectorPseudoElementTypeMap.in to resolve a FIXME here.

  • css/parser/CSSParserSelector.h:

(WebCore::CSSParserSelector::needsImplicitShadowCombinatorForMatching const):

  • css/parser/CSSSelectorParser.cpp:

(WebCore::isOnlyPseudoElementFunction):
(WebCore::CSSSelectorParser::consumePseudo):

Parse single values only, multipart ::part(foo bar) case is not yet handled.

  • dom/Element.cpp:

(WebCore::Element::partNames const):

1:50 PM November 2019 Meeting edited by Jon Davis
Added WebKit Goals for 2020 to 11 AM timeslot (diff)
1:49 PM Changeset in webkit [250627] by Alan Coon
  • 5 edits
    1 delete in branches/safari-608-branch

Revert "Cherry-pick r249538. rdar://problem/55911485"

This reverts commit r250612.

1:48 PM Changeset in webkit [250626] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Adopt copyToVector() in AnimationTimeline::animationsForElement()
https://bugs.webkit.org/show_bug.cgi?id=202488

Patch by Antoine Quint <Antoine Quint> on 2019-10-02
Reviewed by Wenson Hsieh.

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::animationsForElement const):

1:35 PM Changeset in webkit [250625] by achristensen@apple.com
  • 5 edits in trunk

CMake-built WebKit.framework should launch XPC services successfully
https://bugs.webkit.org/show_bug.cgi?id=202490

Rubber-stamped by Tim Horton.

.:

  • Source/cmake/OptionsMac.cmake:

Source/WebKit:

  • CMakeLists.txt:
  • PlatformMac.cmake:
1:11 PM Changeset in webkit [250624] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Source/WebCore:
[GStreamer] Let playbin handle redirects for us when appropriate
https://bugs.webkit.org/show_bug.cgi?id=195326

A simplified mechanism has been added in GStreamer to handle corner cases.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2019-10-02
Reviewed by Xabier Rodriguez-Calvar.

Not easily testable at our level

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):

Tools:
[GSTreamer] Let playbin handle redirects for us when appropriate
https://bugs.webkit.org/show_bug.cgi?id=195326

Added required patche in GStreamer

Patch by Thibault Saunier <tsaunier@igalia.com> on 2019-10-02
Reviewed by Xabier Rodriguez-Calvar.

  • gstreamer/patches/base-0001-playbin-Handle-error-message-with-redirection-indica.patch: Added.
  • gstreamer/patches/good-0001-qtdemux-Specify-REDIRECT-information-in-error-messag.patch: Added.
1:07 PM Changeset in webkit [250623] by aakash_jain@apple.com
  • 3 edits
    2 adds in trunk/Tools

[ews] Add API endpoint to retry failed builds for a patch
https://bugs.webkit.org/show_bug.cgi?id=202424

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-app/ews/urls.py: Added url mapping for /retry.
  • BuildSlaveSupport/ews-app/ews/views/retrypatch.py: Added.

(RetryPatch.get): Display the web-form to retry the patch. Retry button which will be added soon will
use this form.
(RetryPatch.post): Handle the post request and retry the patch.

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

(StatusBubble.find_failed_builds_for_patch): Method to find failed builds for a patch.

  • BuildSlaveSupport/ews-app/ews/templates/retry.html: Added, similar to submittoews.html. This

allows to retry a patch through a web-form as well.

12:36 PM Changeset in webkit [250622] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Another build fix

  • css/typedom/TypedOMCSSImageValue.cpp:

(WebCore::TypedOMCSSImageValue::TypedOMCSSImageValue):

  • css/typedom/TypedOMCSSImageValue.h:

I feel like I am actively being thwarted.

12:21 PM Changeset in webkit [250621] by commit-queue@webkit.org
  • 27 edits
    6 adds in trunk

Updated resource load statistics are never merged into the SQLite Database backend (202372).
https://bugs.webkit.org/show_bug.cgi?id=202372
<rdar://problem/55854542>

Patch by Kate Cheney <katherine_cheney@apple.com> on 2019-10-02
Reviewed by Brent Fulgham.

Source/WebKit:

This patch has a lot of changes to the test infrastructure to be able
to test the mergeStatistics function. Merging functionality mimics
that of the ResourceLoadStatisticsMemoryStore and the merge() function in
ResourceLoadStatistics.cpp.

  • NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:

(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
Added new SQLite queries that are needed to merge new statistics.

(WebKit::ResourceLoadStatisticsDatabaseStore::prepareStatements):
Added new prepare statements for new SQLite queries.

(WebKit::ResourceLoadStatisticsDatabaseStore::insertObservedDomain):
Updated to use domainID() instead of confirmDomainDoesNotExist which
was deleted. Changed the insert bind parameters
to utilize new enum of Observed Domain table indices which will help
reduce errors in the future if the database schema changes.

(WebKit::ResourceLoadStatisticsDatabaseStore::relationshipExists const):
Changed {public} to {private} in logging statement to avoid leaking
sensitive information when logging the query error.

(WebKit::ResourceLoadStatisticsDatabaseStore::confirmDomainDoesNotExist const): Deleted.
This function essentially does the exact same thing as domainID and
we can reduce code duplication by deleting it and transitioning all
other functions to use domainID instead.

(WebKit::ResourceLoadStatisticsDatabaseStore::domainID const):
Changed {public} to {private} in logging statement to avoid leaking
sensitive information when logging the query error.

(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationships):
In order to reuse this code for the merge statistics function, I added
a check before each insert call to ensure the relationship does not
already exist in the database. This was not needed before because it
was only called on an empty database.

(WebKit::ResourceLoadStatisticsDatabaseStore::merge):
(WebKit::ResourceLoadStatisticsDatabaseStore::mergeStatistic):
(WebKit::ResourceLoadStatisticsDatabaseStore::mergeStatistics):
Merges new statistic.

(WebKit::ResourceLoadStatisticsDatabaseStore::incrementRecordsDeletedCountForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::recursivelyFindNonPrevalentDomainsThatRedirectedToThisDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAsPrevalentIfHasRedirectedToPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccessUnderOpener):
(WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::ensurePrevalentResourcesForDebugMode):
(WebKit::ResourceLoadStatisticsDatabaseStore::setUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasHadUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::setPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::setDomainsAsPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::predicateValueForDomain const):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearPrevalentResource):
Changed {public} to {private} in logging statement to avoid leaking
sensitive information when logging the query error.

(WebKit::ResourceLoadStatisticsDatabaseStore::setGrandfathered):
Fix a bug uncovered by the new test cases.

(WebKit::ResourceLoadStatisticsDatabaseStore::ensureResourceStatisticsForRegistrableDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearDatabaseContents):
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieTreatmentForOrigin const):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearExpiredUserInteractions):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearGrandfathering):
(WebKit::ResourceLoadStatisticsDatabaseStore::pruneStatisticsIfNeeded):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateLastSeen):
Changed {public} to {private} in logging statement to avoid leaking
sensitive information when logging the query error.

(WebKit::ResourceLoadStatisticsDatabaseStore::updateDataRecordsRemoved):
A new function that utilizes a query needed for the merging of two
statistics.

(WebKit::ResourceLoadStatisticsDatabaseStore::confirmDomainDoesNotExist const): Deleted.

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

(WebKit::ResourceLoadStatisticsMemoryStore::mergeStatistics):
(WebKit::ResourceLoadStatisticsMemoryStore::wasAccessedAsFirstPartyDueToUserInteraction const): Deleted.
Removed the check for updating times accessed due to first party
interaction, which is data no longer needed in updated ITP.

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

Added the mergeStatistics function (previously only in the memory
store) to the parent class now that it is used by both stores.

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
This function now calls mergeStatistics on the database store if
enabled.

(WebKit::WebResourceLoadStatisticsStore::mergeStatisticForTesting):
This function builds a vector from the sample data to test the
mergeStatistics() function of the database store.

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

(WebKit::NetworkProcess::mergeStatisticForTesting):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcess.messages.in:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreSetStatisticsMergeStatistic):
Fixed bug where isGrandfathered function in WKWebsiteDataStoreRef
was calling hasHadUserInteraction by mistake.

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

(WebKit::NetworkProcessProxy::mergeStatisticForTesting):

  • UIProcess/Network/NetworkProcessProxy.h:

This code is for testing the mergeStatistics() function.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::isGrandfathered):
(WebKit::WebsiteDataStore::mergeStatisticForTesting):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Added this function which contacts the networkProcess to retrieve the
grandfathered value for a domain. This was not included before because
of a bug in WKWebsiteDataStoreRef.

Tools:

Added testing functionality to the mergeStatistics() function of the
SQLite backend.

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

(WTR::InjectedBundle::didReceiveMessageToPage):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setStatisticsMergeStatistic):
(WTR::TestRunner::statisticsCallDidSetMergeStatisticCallback):

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

(WTR::TestController::setStatisticsMergeStatistic):

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

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didMergeStatistic):

  • WebKitTestRunner/TestInvocation.h:

LayoutTests:

Added layout tests to test succesful merging of resource load
statistics into SQLite backend.

  • http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database-expected.txt: Added.
  • http/tests/resourceLoadStatistics/merge-statistic-does-not-overwrite-database.html: Added.
  • http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database-expected.txt: Added.
  • http/tests/resourceLoadStatistics/merge-statistic-does-overwrite-database.html: Added.
  • http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database-expected.txt: Added.
  • http/tests/resourceLoadStatistics/merge-statistic-does-partially-overwrite-database.html: Added.
12:10 PM Changeset in webkit [250620] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Another build fix

  • css/typedom/TypedOMCSSImageValue.h:
11:53 AM Changeset in webkit [250619] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Provide originating website URL to AR QuickLook
https://bugs.webkit.org/show_bug.cgi?id=202451

Reviewed by Antoine Quint.

Declare the setAdditionalParameters method and
call it with the originating page URL if available.

  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
11:49 AM Changeset in webkit [250618] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r250149): changing CSS via the Styles details sidebar panel doesn't update the associated resource
https://bugs.webkit.org/show_bug.cgi?id=202446

Reviewed by Joseph Pecoraro.

When updating the text of a WI.CSSProperty (or the selector of a WI.CSSRule) is updated,
Web Inspector will update the backend style sheet, which will notify the WI.CSSManager of
the change, without ever going through the associated WI.SourceCode. WI.CSSManager then
updates the content of the WI.SourceCode to reflect these changes, but at that point the
WI.SourceCode hadn't yet "moved" it's currentRevision forward of it's originalRevision
which means it would get overridden the first time the WI.SourceCode updates itself.

Modify WI.SourceCode such that every path to get the currentRevision ensures that it is
"moved" forward before the WI.SourceCodeRevision value is returned.

  • UserInterface/Models/SourceCode.js:

(WI.SourceCode.prototype.get currentRevision):
(WI.SourceCode.prototype.get content):
(WI.SourceCode.prototype.revisionContentDidChange):
(WI.SourceCode.prototype._initializeCurrentRevisionIfNeeded): Added.
(WI.SourceCode.prototype._processContent):

11:30 AM Changeset in webkit [250617] by graouts@webkit.org
  • 17 edits in trunk

LayoutTests/imported/w3c:
[Web Animations] Implement replaced animations
https://bugs.webkit.org/show_bug.cgi?id=202190
<rdar://55697719>

Reviewed by Dean Jackson.

Mark WPT progressions.

  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-replaced-animations-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animatable/getAnimations-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animation/commitStyles-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animation/persist-expected.txt:
  • web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt:

Source/WebCore:
Try to fix the Windows build

Patch by Tim Horton <timothy_horton@apple.com> on 2019-10-02

  • css/typedom/TypedOMCSSImageValue.cpp:

(WebCore::TypedOMCSSImageValue::document const):

  • css/typedom/TypedOMCSSImageValue.h:

Out-of-line this instead of including Document.h in TypedOMCSSImageValue,
which was an earlier build fix from r250610.

  • platform/graphics/cg/GradientCG.cpp:
  • platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
  • platform/graphics/win/GraphicsContextCGWin.cpp:

Try to fix the build.

11:29 AM Changeset in webkit [250616] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] windows or wincairo queue should use del instead of rm command
https://bugs.webkit.org/show_bug.cgi?id=202477

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(CleanUpGitIndexLock.start): Use 'del' command instead of rm for windows and wincairo.

  • BuildSlaveSupport/ews-build/steps_unittest.py:

(TestCleanUpGitIndexLock.test_success_wincairo): Added unit-test.

11:19 AM Changeset in webkit [250615] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebCore

Try to fix the Windows build

  • css/typedom/TypedOMCSSImageValue.cpp:

(WebCore::TypedOMCSSImageValue::document const):

  • css/typedom/TypedOMCSSImageValue.h:

Out-of-line this instead of including Document.h in TypedOMCSSImageValue,
which was an earlier build fix from r250610.

  • platform/graphics/cg/GradientCG.cpp:
  • platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
  • platform/graphics/win/GraphicsContextCGWin.cpp:

Try to fix the build.

10:43 AM Changeset in webkit [250614] by Keith Rollin
  • 5 edits in trunk/Source/WebKit

Properly mark canceled resources in NetworkActivityTracker
https://bugs.webkit.org/show_bug.cgi?id=202440
<rdar://problem/55843651>

Reviewed by Brent Fulgham.

The nw_activity facility tracking resource loads did not originally
have support for reporting resources that were canceled. It now has
that support (since late MacOS 14-aligned SDKs), so add support for it
in NetworkActivityTracker and use it in places where we were
previously reporting the status of canceled resources as "None".

  • NetworkProcess/NetworkActivityTracker.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTracking):
(WebKit::NetworkConnectionToWebProcess::stopAllNetworkActivityTrackingForPage):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::cleanup):

  • NetworkProcess/cocoa/NetworkActivityTrackerCocoa.mm:

(WebKit::NetworkActivityTracker::complete):

10:31 AM Changeset in webkit [250613] by youenn@apple.com
  • 2 edits in trunk/Tools

Add a test to check the case of launching two service worker processes shortly one after the other
https://bugs.webkit.org/show_bug.cgi?id=202450

Reviewed by Chris Dumez.

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
10:23 AM Changeset in webkit [250612] by Alan Coon
  • 5 edits
    1 add in branches/safari-608-branch

Cherry-pick r249538. rdar://problem/55911485

LazyClassStructure::setConstructor should not store the constructor to the global object
https://bugs.webkit.org/show_bug.cgi?id=201484
<rdar://problem/50400451>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/web-assembly-constructors-should-not-override-global-object-property.js: Added.

Source/JavaScriptCore:

LazyClassStructure::setConstructor sets the constructor as a property of the global object.
This became a problem when it started being used for WebAssembly constructors, such as Module
and Instance, since they are properties of the WebAssembly object, not the global object. That
resulted in properties of the global object replaced whenever a lazy WebAssembly constructor
was first accessed. e.g.

globalThis.Module = x;
WebAssembly.Module;
globalThis.Module === WebAssembly.Module;

  • runtime/LazyClassStructure.cpp: (JSC::LazyClassStructure::Initializer::setConstructor):
  • runtime/LazyClassStructure.h:
  • runtime/Lookup.h: (JSC::reifyStaticProperty):

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

10:07 AM Changeset in webkit [250611] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

9:34 AM Changeset in webkit [250610] by Keith Rollin
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r250595.

macCatalyst appears to have triggered the the problem where the build
can sometimes fail if the unified sources mechanism doesn't group
together the right set of files.

  • css/typedom/TypedOMCSSImageValue.h:
9:26 AM Changeset in webkit [250609] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Dedicate a bot for macOS-High-Sierra-Debug-Build-EWS queue
https://bugs.webkit.org/show_bug.cgi?id=202469

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/config.json: Dedicate ews112 to macOS debug builder queue.
9:21 AM Changeset in webkit [250608] by jbedard@apple.com
  • 1 edit
    1 add in trunk/Tools

Python 3: Add test-webkitpy for Python 3
https://bugs.webkit.org/show_bug.cgi?id=201954

Reviewed by Aakash Jain.

  • Scripts/test-webkitpy-python3: Added.
8:58 AM Changeset in webkit [250607] by Truitt Savell
  • 17 edits in trunk

Unreviewed, rolling out r250603.

Caused testing to exit early with crashes on Mac

Reverted changeset:

"[Web Animations] Implement replaced animations"
https://bugs.webkit.org/show_bug.cgi?id=202190
https://trac.webkit.org/changeset/250603

8:51 AM Changeset in webkit [250606] by magomez@igalia.com
  • 1 edit
    433 adds in trunk/LayoutTests

[WPE] Unreviewed gardening: add new expectations after r250602
https://bugs.webkit.org/show_bug.cgi?id=202461

Unreviewed WPE gardening. Add missing results after r250276.

  • platform/wpe/imported/w3c/web-platform-tests/svg/: Added.
8:33 AM Changeset in webkit [250605] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Web Inspector: Debugger: support emulateUserGesture parameter in Debugger.evaluateOnCallFrame
https://bugs.webkit.org/show_bug.cgi?id=200272
<rdar://problem/53797509>

Patch by Yury Semikhatsky <yurys@chromium.org> on 2019-10-02
Reviewed by Devin Rousso.

User interaction inspector tests were accidentally disabled on both WebKit1 and WebKit2.
Marking them as passing on WebKit2.

  • platform/wk2/TestExpectations:
6:51 AM Changeset in webkit [250604] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Gardening build fix: Hide store64/load64 functions from 32bit
https://bugs.webkit.org/show_bug.cgi?id=202453

Unreviewed.

Prior patch for bug 202250 breaks 32bit builds because functions
store64 and load64 do not exist. ifdef these functions away from 32bits since
they are not used in 32bit code path.

Patch by Paulo Matos <Paulo Matos> on 2019-10-02

  • jit/AssemblyHelpers.h:
4:47 AM Changeset in webkit [250603] by graouts@webkit.org
  • 17 edits in trunk

[Web Animations] Implement replaced animations
https://bugs.webkit.org/show_bug.cgi?id=202190
<rdar://55697719>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark WPT progressions.

  • web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-replaced-animations-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animatable/getAnimations-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animation/commitStyles-expected.txt:
  • web-platform-tests/web-animations/interfaces/Animation/persist-expected.txt:
  • web-platform-tests/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt:

Source/WebCore:

Implementing section "5.5 Replacing Animations" (https://drafts.csswg.org/web-animations/#replacing-animations) of the Web Animations
specification which allows for Web Animations to be destroyed when they are superseded by another animation and the developer doesn't
explicitly opt into persisting them using the persist() method.

An animation is marked as replaceable (to sum up) when it's finished and another animation for the same property takes precedence.
As part of DocumentTimeline::internalUpdateAnimationsAndSendEvents(), we'll go through all replaceable animations, dispatch a "remove"
DOM event, and remove them from our list of animations.

We also make a couple of fixes in this patch that were uncovered while working on the WPT tests for replaced animations:

  • we would incorrectly parse single values for a property that allows lists (change in KeyframeEffect's processKeyframeLikeObject())
  • we didn't account for the position in the global animation list when sorted animations by composite order (AnimationTimeline::animationsForElement())

Finally, to get more readable results, we implement a stub of commitStyles(). Its full implementation is tracked by http://wkb.ug/202193.

  • animation/AnimationTimeline.cpp:

(WebCore::AnimationTimeline::animationTimingDidChange): Mark the position of the animation in the global animation list, to which it may only be added once.
(WebCore::AnimationTimeline::animationsForElement const): Account for the animation's position in the global animation when sorting.

  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::bindingsReplaceState const): Flush pending styles when querying the ready state for a declarative animation.

  • animation/DeclarativeAnimation.h:
  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::internalUpdateAnimationsAndSendEvents): Run the "remove replaced animations" procedure as the second step in the "update animations
and send events" procedure.
(WebCore::DocumentTimeline::animationCanBeRemoved): Determine whether a given animation may be removed based on its finished state, replace state and whether
it is fully superseded by another animation targeting the same property on the same target element.
(WebCore::DocumentTimeline::removeReplacedAnimations): Remove any removable animation and dispatch a "remove" DOM event for each removed animation.

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

(WebCore::processKeyframeLikeObject): Fix an issue found in a replaced animations WPT test that showed that we didn't record the value of an animation that allows lists.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::isReplaceable const):
(WebCore::WebAnimation::persist): Mark the replace state as "persisted" and ensure the animation is set on the animation list for its target element in case it had already
been removed based on its persisted state.
(WebCore::WebAnimation::commitStyles): Stub for a new function.

  • animation/WebAnimation.h:

(WebCore::WebAnimation::replaceState const):
(WebCore::WebAnimation::setReplaceState):
(WebCore::WebAnimation::bindingsReplaceState const):
(WebCore::WebAnimation::globalPosition const):
(WebCore::WebAnimation::setGlobalPosition):

  • animation/WebAnimation.idl:
  • dom/EventNames.h: Add the new "remove" event so that the "onremove" DOM property is available on Animation objects.
4:26 AM Changeset in webkit [250602] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for non-Mac ports after r250600.

  • UIProcess/WebProcessPool.cpp:

Make the CoreGraphicsSPI.h header include exclusive to the Mac port.

4:10 AM Changeset in webkit [250601] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix in Nicosia's ScrollingTreePositionedNode class.

  • page/scrolling/nicosia/ScrollingTreePositionedNode.cpp:

(WebCore::ScrollingTreePositionedNode::applyLayerPositions):
Fix the name of the variable included in the log call.

4:04 AM Changeset in webkit [250600] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for macOS, broken by r250595.

  • UIProcess/WebProcessPool.cpp:
2:41 AM Changeset in webkit [250599] by youenn@apple.com
  • 21 edits
    1 copy in trunk/Source

Use strongly typed identifiers for webrtc sockets
https://bugs.webkit.org/show_bug.cgi?id=202400

Reviewed by Chris Dumez.

Source/WebCore:

No observable change of behavior.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/libwebrtc/LibWebRTCSocketIdentifier.h: Copied from Source/WebKit/NetworkProcess/webrtc/NetworkRTCSocket.h.

Source/WebKit:

Refactoring to use LibWebRTCSocketIdentifier instead of uint64_t.

  • NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:

(WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):

  • NetworkProcess/webrtc/LibWebRTCSocketClient.h:
  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::createSocket):
(WebKit::NetworkRTCProvider::createUDPSocket):
(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
(WebKit::NetworkRTCProvider::wrapNewTCPConnection):
(WebKit::NetworkRTCProvider::addSocket):
(WebKit::NetworkRTCProvider::takeSocket):
(WebKit::NetworkRTCProvider::newConnection):
(WebKit::NetworkRTCProvider::didReceiveNetworkRTCSocketMessage):
(WebKit::NetworkRTCProvider::closeListeningSockets):
(WebKit::NetworkRTCProvider::callSocket):

  • NetworkProcess/webrtc/NetworkRTCProvider.h:
  • NetworkProcess/webrtc/NetworkRTCProvider.messages.in:
  • NetworkProcess/webrtc/NetworkRTCSocket.cpp:

(WebKit::NetworkRTCSocket::NetworkRTCSocket):

  • NetworkProcess/webrtc/NetworkRTCSocket.h:
  • Scripts/webkit/messages.py:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):

  • WebProcess/Network/webrtc/LibWebRTCNetwork.h:

(WebKit::LibWebRTCNetwork::socket):

  • WebProcess/Network/webrtc/LibWebRTCSocket.cpp:

(WebKit::LibWebRTCSocket::LibWebRTCSocket):

  • WebProcess/Network/webrtc/LibWebRTCSocket.h:
  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:

(WebKit::LibWebRTCSocketFactory::createServerTcpSocket):
(WebKit::LibWebRTCSocketFactory::createUdpSocket):
(WebKit::LibWebRTCSocketFactory::createClientTcpSocket):
(WebKit::LibWebRTCSocketFactory::createNewConnectionSocket):

  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:

(WebKit::LibWebRTCSocketFactory::socket):
(WebKit::LibWebRTCSocketFactory::resolver):
(WebKit::LibWebRTCSocketFactory::takeResolver):
(WebKit::LibWebRTCSocketFactory::disableNonLocalhostConnections):

  • WebProcess/Network/webrtc/WebRTCSocket.cpp:

(WebKit::WebRTCSocket::signalOnNetworkThread):
(WebKit::WebRTCSocket::WebRTCSocket):
(WebKit::WebRTCSocket::signalSentPacket):
(WebKit::WebRTCSocket::signalConnect):
(WebKit::WebRTCSocket::signalClose):
(WebKit::WebRTCSocket::signalNewConnection):

  • WebProcess/Network/webrtc/WebRTCSocket.h:
  • WebProcess/Network/webrtc/WebRTCSocket.messages.in:
1:29 AM Changeset in webkit [250598] by Carlos Garcia Campos
  • 1 edit
    623 adds in trunk/LayoutTests

Unreviewed GTK gardening. Add missing results after r250276.

  • platform/gtk/imported/w3c/web-platform-tests/svg/: Added.
1:00 AM Changeset in webkit [250597] by Carlos Garcia Campos
  • 22 edits
    5 deletes in trunk

[GTK][WPE] Stop using legacy custom protocol implementation
https://bugs.webkit.org/show_bug.cgi?id=202407

Reviewed by Žan Doberšek.

.:

Make LEGACY_CUSTOM_PROTOCOL_MANAGER disabled by default.

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsPlayStation.cmake:
  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

Remove the code to setup custom protocols in soup session.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession):

  • platform/network/soup/SoupNetworkSession.h:

Source/WebKit:

Use the new approach, which is simpler and doesn't require to go to the network process to load custom
protocols.

  • NetworkProcess/CustomProtocols/soup/LegacyCustomProtocolManagerSoup.cpp: Removed.
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::m_messagePortChannelRegistry):

  • NetworkProcess/soup/WebKitSoupRequestInputStream.cpp: Removed.
  • NetworkProcess/soup/WebKitSoupRequestInputStream.h: Removed.
  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • UIProcess/API/glib/WebKitCustomProtocolManagerClient.cpp: Removed.
  • UIProcess/API/glib/WebKitCustomProtocolManagerClient.h: Removed.
  • UIProcess/API/glib/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestCreate):
(webkit_uri_scheme_request_get_scheme):
(webkit_uri_scheme_request_get_uri):
(webkit_uri_scheme_request_get_path):
(webkit_uri_scheme_request_get_web_view):
(webkitURISchemeRequestReadCallback):
(webkit_uri_scheme_request_finish_error):

  • UIProcess/API/glib/WebKitURISchemeRequestPrivate.h:
  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkitWebContextConstructed):
(webkitWebContextDispose):
(webkit_web_context_register_uri_scheme):
(webkitWebContextCreatePageForWebView):

  • UIProcess/API/glib/WebKitWebContextPrivate.h:
  • UIProcess/WebURLSchemeTask.h:

(WebKit::WebURLSchemeTask::request const):

  • UIProcess/soup/WebProcessPoolSoup.cpp:

Tools:

Remove the tests to check failure after committed, because it's not possible to test it with current code.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:

(testWebContextURIScheme):

12:45 AM Changeset in webkit [250596] by zandobersek@gmail.com
  • 11 edits in trunk

[Nicosia] Enable async scrolling at build-time for Nicosia-using ports
https://bugs.webkit.org/show_bug.cgi?id=202397

Reviewed by Carlos Garcia Campos.

.:

Enable ASYNC_SCROLLING code for ports leveraging the Nicosia layering
system. This still has to be runtime-enabled in the DrawingArea
implementation.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsPlayStation.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

  • PlatformPlayStation.cmake: Add missing build targets.
  • SourcesGTK.txt: Ditto.

Source/WebKit:

  • Shared/WebEvent.h:

Enable WebWheelEvent phasing for WPE, as required by the
ASYNC_SCROLLING code.

Source/WTF:

  • wtf/Platform.h:

Flip ENABLE_KINETIC_SCROLLING to 1 also for PlayStation and WPE ports
when ASYNC_SCROLLING is enabled.

Oct 1, 2019:

11:58 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
11:39 PM Changeset in webkit [250595] by timothy_horton@apple.com
  • 19 edits in trunk/Source

Clean up some includes to make the build a bit faster
https://bugs.webkit.org/show_bug.cgi?id=202444

Reviewed by Geoff Garen.

No new tests, just reorganizing.

Apply some profile-guided optimizations to our headers.

  • bindings/js/CallTracerTypes.h:
  • css/typedom/TypedOMCSSImageValue.h:
  • html/canvas/WebGLObject.h:
  • html/canvas/WebGLVertexArrayObjectBase.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::instrumentingAgentsForWebGPUDevice):
(WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
(WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
(WebCore::InspectorInstrumentation::instrumentingAgentsForContext):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didCreateWebGPUDevice):
(WebCore::InspectorInstrumentation::willDestroyWebGPUDevice):
(WebCore::InspectorInstrumentation::didCreateWebGPUPipeline):

  • platform/graphics/BitmapImage.cpp:
  • platform/graphics/Font.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::getUserToBaseCTM):

  • platform/graphics/cg/GraphicsContextCG.h:

(WebCore::getUserToBaseCTM): Deleted.

  • platform/graphics/cg/ImageBufferCG.cpp:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/mac/PDFDocumentImageMac.mm:

InspectorInstrumentation.h is one of the most expensive headers in the entire project.
While not included in many places (70), it is fairly straightforward to reduce
its per-inclusion cost by rougly 80%.

  • UIProcess/API/Cocoa/_WKThumbnailView.mm:
  • WebView/WebFrame.mm:
  • WebView/WebView.mm:
8:48 PM Changeset in webkit [250594] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix incorrect assertion
https://bugs.webkit.org/show_bug.cgi?id=202391

  • runtime/JSLock.cpp:

(JSC::JSLock::DropAllLocks::~DropAllLocks):

8:45 PM Changeset in webkit [250593] by commit-queue@webkit.org
  • 5 edits in trunk

[win-ews] No such file or directory: u'/cygdrive/C/cygwin/home/buildbot/WebKit/WebKitBuild/Release/bin32/layout-test-results/pywebsocket.ws.log-out.txt'
https://bugs.webkit.org/show_bug.cgi?id=188640

Patch by Alexey Shvayka <shvaikalesh@gmail.com> on 2019-10-01
Reviewed by Alex Christensen.

Tools:

  1. Properly shutdown WebSocket server so that port 8880 is released.
  2. Prevent failure of WebSocket tests when launched in freshly cloned repository.
  • Scripts/new-run-webkit-websocketserver:

(main): Tweak import and use class constants of PyWebSocket directly.

  • Scripts/webkitpy/layout_tests/servers/websocket_server.py:

(PyWebSocket._prepare_config): Create test output directory if it doesn't exist.

LayoutTests:

WebSocket server is now fixed, tests should pass.

Reverted changeset:

"Unreviewed test gardening"
https://bugs.webkit.org/show_bug.cgi?id=188640
https://trac.webkit.org/changeset/234933

8:40 PM Changeset in webkit [250592] by Fujii Hironori
  • 4 edits in trunk/Source/ThirdParty/ANGLE

[WinCairo][Clang][ANGLE] global_state.cpp(39,1): error: static_assert failed due to requirement 'std::is_trivially_constructible<std::atomic<std::mutex *>>::value' "global mutex is not trivially constructible"
https://bugs.webkit.org/show_bug.cgi?id=201751

Reviewed by Alex Christensen.

Clang-cl couldn't compile the latest ANGLE with MS STL owing to a
static_assert failure.

Fix it by cherri-picking the upstream fix.
<https://chromium.googlesource.com/angle/angle/+/755417dd79071d6149c81418e1404b0c61d19672>

  • AUTHORS:
  • src/common/angleutils.h:
  • src/libGLESv2/global_state.cpp:
8:12 PM Changeset in webkit [250591] by achristensen@apple.com
  • 14 edits in trunk

Progress towards a functioning CMake build on Mac
https://bugs.webkit.org/show_bug.cgi?id=202443

Rubber-stamped by Tim Horton.

Source/WebCore:

  • testing/Internals.mm:

Source/WebCore/PAL:

  • pal/PlatformMac.cmake:

Source/WebKit:

  • CMakeLists.txt:
  • PlatformMac.cmake:

Tools:

  • DumpRenderTree/PlatformMac.cmake:
  • MiniBrowser/mac/CMakeLists.txt:
  • TestRunnerShared/cocoa/ClassMethodSwizzler.mm:
  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformMac.cmake:
  • WebKitTestRunner/PlatformMac.cmake:
7:28 PM BuildingCairoOnWindows edited by Fujii Hironori
(diff)
6:50 PM Changeset in webkit [250590] by jbedard@apple.com
  • 2 edits in trunk/Source/WTF

WebKitTestRunner: Many tests timeout on macOS Catalina
https://bugs.webkit.org/show_bug.cgi?id=201616
<rdar://problem/55200897>

Reviewed by Alexey Proskuryakov.

  • wtf/Platform.h: USE_SOURCE_APPLICATION_AUDIT_DATA should only be enabled on

builds which allow restricted entitlements.

6:18 PM Changeset in webkit [250589] by wilander@apple.com
  • 16 edits
    2 copies
    1 move
    3 adds in trunk

Storage Access API: document.hasStorageAccess() should return true when the cookie policy allows access
https://bugs.webkit.org/show_bug.cgi?id=202435
<rdar://problem/55718526>

Reviewed by Brent Fulgham.

Source/WebCore:

WebKit's Storage Access API implementation has so far only looked at whether ITP is
blocking cookie access or not. However, the default cookie policy is still in
effect underneath ITP. document.hasStorageAccess() should return true if the
third-party:
a) is not classified by ITP, and
b) has cookies which implies it can use cookies as third-party according to the
default cookie policy.

Tests: http/tests/storageAccess/has-storage-access-false-by-default-ephemeral.html

http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html
http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies.html

  • platform/network/NetworkStorageSession.h:
  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::NetworkStorageSession::hasCookies const):

  • platform/network/curl/NetworkStorageSessionCurl.cpp:

(WebCore::NetworkStorageSession::hasCookies const):

Not yet implemented. Always says false.

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::hasCookies const):

Not yet implemented. Always says false.

Source/WebKit:

WebKit's Storage Access API implementation has so far only looked at whether ITP is
blocking cookie access or not. However, the default cookie policy is still in
effect underneath ITP. document.hasStorageAccess() should return true if the
third-party:
a) is not classified by ITP, and
b) has cookies which implies it can use cookies as third-party according to the
default cookie policy.

  • NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::hasStorageAccess):

  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::hasCookies):

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

(WebKit::NetworkConnectionToWebProcess::hasStorageAccess):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):

Tools:

This change makes sure topPrivatelyControlledDomain() correctly handles domains
with leading dots, as often used in cookie domains.

  • TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:

(TestWebKitAPI::TEST_F):

LayoutTests:

WebKit's Storage Access API implementation has so far only looked at whether ITP is
blocking cookie access or not. However, the default cookie policy is still in
effect underneath ITP. document.hasStorageAccess() should return true if the
third-party:
a) is not classified by ITP, and
b) has cookies which implies it can use cookies as third-party according to the
default cookie policy.

  • http/tests/storageAccess/has-storage-access-false-by-default-ephemeral-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-false-by-default-ephemeral.html: Copied from LayoutTests/http/tests/storageAccess/has-storage-access-true-if-feature-off.html.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html: Copied from LayoutTests/http/tests/storageAccess/has-storage-access-true-if-feature-off.html.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-expected.txt: Added.
  • http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies.html: Renamed from LayoutTests/http/tests/storageAccess/has-storage-access-true-if-feature-off.html.
  • platform/ios/TestExpectations:
  • platform/mac-wk2/TestExpectations:
5:06 PM Changeset in webkit [250588] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebCore

Clean up some includes to make the build a bit faster
https://bugs.webkit.org/show_bug.cgi?id=202437

Reviewed by Jer Noble.

  • Modules/webaudio/PannerNode.h:
  • Modules/webaudio/RealtimeAnalyser.h:
  • platform/audio/HRTFPanner.h:

FFTFrame includes Accelerate.h, which is quite expensive.

4:46 PM Changeset in webkit [250587] by jbedard@apple.com
  • 7 edits in trunk/Tools

results.webkit.org: Standardize styles in the drawer
https://bugs.webkit.org/show_bug.cgi?id=202428

Rubber-stamped by Aakash Jain.

  • resultsdbpy/resultsdbpy/view/static/css/search.css: Rename boldInverseColor.
  • resultsdbpy/resultsdbpy/view/static/css/tooltip.css: Ditto.
  • resultsdbpy/resultsdbpy/view/static/js/drawer.js: Move style specifications into webkit.css.
  • resultsdbpy/resultsdbpy/view/static/js/timeline.js: Ditto.
  • resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:

(.input>label): Use the boldInverseColor instead of grey.
(.input>input[type="text"][required], .input>input[type="number"][required],): Darken the border,
decrease the font weight.
(.input>input[type="text"][required]~label, .input>input[type="number"][required]~label,): Use the inverseColor instead of grey.

3:55 PM Changeset in webkit [250586] by Alan Coon
  • 1 copy in tags/Safari-608.3.7

Tag Safari-608.3.7.

3:55 PM Changeset in webkit [250585] by sbarati@apple.com
  • 4 edits
    2 adds in trunk

ObjectAllocationSinkingPhase shouldn't insert hints for allocations which are no longer valid
https://bugs.webkit.org/show_bug.cgi?id=199361
<rdar://problem/52454940>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/allocation-sinking-hints-are-valid-ssa-2.js: Added.

(main.fn):
(main.executor):
(main):

  • stress/allocation-sinking-hints-are-valid-ssa.js: Added.

(main.fn):
(main.executor):
(main):

Source/JavaScriptCore:

In a prior fix to the object allocation sinking phase, I added code where we
made sure to insert PutHints over Phis for fields of an object at control flow
merge points. However, that code didn't consider that the base of the PutHint
may no longer be a valid heap location. This could cause us to emit invalid
SSA code by referring to a node which does not dominate the PutHint location.
This patch fixes the bug to only emit the PutHints when valid.

This patch also makes it so that DFGValidate actually validates that the graph
is in valid SSA form. E.g, any use of a node N must be dominated by N.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
  • dfg/DFGValidate.cpp:
3:47 PM Changeset in webkit [250584] by Antti Koivisto
  • 22 edits in trunk

[CSS Shadow Parts] Parse 'part' attribute
https://bugs.webkit.org/show_bug.cgi?id=202409

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist-expected.txt:
  • web-platform-tests/css/css-shadow-parts/part-name-idl-expected.txt:

Source/WebCore:

Add parsing for Element 'part' attribute and the IDL interface.
Also add a feature flag for CSS Shadow Parts.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):
(WebCore::isNonEmptyTokenList):
(WebCore::Element::classAttributeChanged):
(WebCore::Element::partAttributeChanged):
(WebCore::Element::partNames const):
(WebCore::Element::part):
(WebCore::classStringHasClassName): Deleted.

  • dom/Element.h:
  • dom/Element.idl:
  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::partList const):
(WebCore::ElementRareData::setPartList):
(WebCore::ElementRareData::partNames const):
(WebCore::ElementRareData::setPartNames):

  • html/HTMLAttributeNames.in:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setCSSShadowPartsEnabled):
(WebCore::RuntimeEnabledFeatures::cssShadowPartsEnabled const):

Source/WebKit:

  • Shared/WebPreferences.yaml:

Add experimental feature, default to disabled for now.

Source/WebKitLegacy/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences cssShadowPartsEnabled]):
(-[WebPreferences setCSSShadowPartsEnabled:]):

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

(-[WebView _preferencesChanged:]):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

3:21 PM Changeset in webkit [250583] by ysuzuki@apple.com
  • 13 edits in trunk/Source

[JSC] Place VM* in TLS
https://bugs.webkit.org/show_bug.cgi?id=202391

Reviewed by Mark Lam.

Source/JavaScriptCore:

This patch puts VM* in TLS mainly for debugging purpose. In JSLockHolder, we put VM* and save the old VM* in TLS.
And JSLockHolder's destructor restores it. It is possible that we have two VMs A and B. After locking A, we enter

  1. In this case, when B's lock is released, we should restore TLS to A. We put the old VM* in JSLockHolder::m_previousVMInTLS

so that we can restore it in JSLockHolder's destructor.

This patch also cleans up Lock<JSLock> / std::lock_guard<JSLock> usage in JSRunLoopTimer and JSManagedValue by introducing
JSLockHolder with LockIfVMIsLive tag. Previously, we are intentionally use std::lock_guard<JSLock> since VM* can be dead
at these places. JSLockHolder with LockIfVMIsLive handles this case carefully: it locks JSLock when VM* is live.

  • API/JSManagedValue.mm:

(-[JSManagedValue value]):

  • API/glib/JSCWeakValue.cpp:

(jsc_weak_value_get_value):

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

  • runtime/JSLock.cpp:

(JSC::JSLockHolder::JSLockHolder):
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC::JSLockHolder::vm):

  • runtime/JSRunLoopTimer.cpp:

(JSC::JSRunLoopTimer::timerDidFire):

  • runtime/VM.cpp:

(JSC::VM::initializeTLS):

  • runtime/VM.h:

(JSC::VM::exchange):
(JSC::VM::current):

Source/WebCore:

Use JSLockHolder instead. It automatically puts VM* in TLS.

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::toJS):
(WebCore::deserializeIDBValueToJSValue):

Source/WTF:

Changed FastTLS's key name from WTF_GC_TLC_KEY to WTF_VM_KEY.

  • wtf/FastTLS.h:
2:35 PM Changeset in webkit [250582] by youenn@apple.com
  • 5 edits in trunk/Source/WebCore

Queue events and promise resolution in RTCPeerConnection when suspended for page cache
https://bugs.webkit.org/show_bug.cgi?id=202396

Reviewed by Chris Dumez.

This patch prepares RTCPeerConnection to be suspendable to enter page cache.
For that purpose, we queue events and promise resolution/rejection tasks if the RTCPeerConnection m_shouldDelayTasks is set to true.
This queueing is enabled when RTCPeerConnection is asked to suspend itself.
The queued tasks are then executed at resume time.
Renamed fireEvent to dispatchEventWhenFeasible.
No change of behavior for now.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::doClose):
(WebCore::RTCPeerConnection::suspend):
(WebCore::RTCPeerConnection::resume):
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::RTCPeerConnection::scheduleNegotiationNeededEvent):
(WebCore::RTCPeerConnection::doTask):
(WebCore::RTCPeerConnection::fireEvent):

  • Modules/mediastream/RTCPeerConnection.h:
2:26 PM Changeset in webkit [250581] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[FTW] Correct additional canvas test failures
https://bugs.webkit.org/show_bug.cgi?id=202388

Reviewed by Fujii Hironori.

This patch corrects a handful of errors in Direct2D's drawing code.

  • platform/graphics/win/Direct2DOperations.cpp:

(WebCore::Direct2D::clearRect): Use the transformed dimensions of
rects to determine whether they intersect with the render target.

  • platform/graphics/win/ImageBufferDataDirect2D.cpp:

(WebCore::ImageBufferData::copyRectFromData const):
(WebCore::ImageBufferData::loadDataToBitmapIfNeeded): It is not
necessary (or correct) to 'endDraw' when loading image data to the
Bitmap target.

  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::strokeBoundingRect const): Provide an implementation.

1:41 PM Changeset in webkit [250580] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Sources: clicking on a breakpoint changes the path components to not match the script's path
https://bugs.webkit.org/show_bug.cgi?id=196450
<rdar://problem/49488100>

Reviewed by Matt Baker.

When selecting any tree element that isn't in the resources tree outline, attempt to find
the corresponding tree element in the resources tree outline and silently select that as
well so that the hierarchical path component shows the right breadcrumb trail.

If the tree element is for a WI.Script which has a corresponding WI.Resource, use the
WI.Resource instead.

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel.prototype._handleTreeSelectionDidChange):

1:35 PM Changeset in webkit [250579] by achristensen@apple.com
  • 30 edits in trunk/Source

Progress towards successful CMake build on Mac
https://bugs.webkit.org/show_bug.cgi?id=202426

Rubber-stamped by Tim Horton.

Source/WebCore:

  • PlatformMac.cmake:

Source/WebCore/PAL:

  • pal/PlatformMac.cmake:

Source/WebKit:

  • Platform/cocoa/PaymentAuthorizationPresenter.h:
  • Platform/cocoa/PaymentAuthorizationPresenter.mm:
  • Platform/cocoa/PaymentAuthorizationViewController.h:
  • Platform/cocoa/PaymentAuthorizationViewController.mm:
  • Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
  • PlatformMac.cmake:
  • Shared/SandboxExtension.h:

(WebKit::SandboxExtension::createHandleForReadByPid):

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _hasRegisteredServiceWorker]):

  • UIProcess/API/mac/WKView.mm:
  • UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.mm:
  • UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
  • UIProcess/Cocoa/WKFullKeyboardAccessWatcher.mm:
  • UIProcess/Cocoa/WKShareSheet.mm:

(-[WKShareSheet delegate]):
(-[WKShareSheet setDelegate:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:
  • UIProcess/Cocoa/WebViewImpl.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
  • WebProcess/WebCoreSupport/ios/WebPreviewLoaderClient.h:
  • WebProcess/WebPage/Cocoa/WebRemoteObjectRegistry.cpp:

Source/WebKitLegacy:

  • PlatformMac.cmake:

Source/WebKitLegacy/mac:

  • WebView/WebDataSource.mm:
1:22 PM Changeset in webkit [250578] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebCore/loader/cache/CachedResourceLoader.cpp

Unreviewed build fix. rdar://problem/55876838

1:21 PM Changeset in webkit [250577] by keith_miller@apple.com
  • 2 edits in trunk/JSTests

skip test until we figure out why it's timing out
https://bugs.webkit.org/show_bug.cgi?id=202423

Reviewed by Mark Lam.

new_array_with_spread-should-cap-array-size-to-MIN_ARRAY_STORAGE_CONSTRUCTION_LENGTH.js consistently times out on the bots.
Let's skip it until we figure out what's going on.

  • stress/new_array_with_spread-should-cap-array-size-to-MIN_ARRAY_STORAGE_CONSTRUCTION_LENGTH.js:
1:15 PM Changeset in webkit [250576] by timothy_horton@apple.com
  • 13 edits in trunk/Source

Clean up some includes to make the build a bit faster
https://bugs.webkit.org/show_bug.cgi?id=202417

Reviewed by Jer Noble.

Source/WebCore:

No new tests, just reorganizing.

Apply some profile-guided optimizations to our headers.

  • Modules/mediasource/SourceBuffer.cpp:
  • WebCorePrefix.h:

Add HashMap, which ends up included in all source files.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::selectImageSource):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::insertedIntoAncestor):
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
(WebCore::HTMLImageElement::naturalWidth const):
(WebCore::HTMLImageElement::naturalHeight const):
(WebCore::HTMLImageElement::complete const):
(WebCore::HTMLImageElement::decode):
(WebCore::HTMLImageElement::didMoveToNewDocument):
(WebCore::HTMLImageElement::cachedImage const):
(WebCore::HTMLImageElement::setLoadManually):
(WebCore::HTMLImageElement::hasPendingActivity const):
(WebCore::HTMLImageElement::pendingDecodePromisesCountForTesting const):

  • html/HTMLImageElement.h:

(WebCore::HTMLImageElement::cachedImage const): Deleted.
(WebCore::HTMLImageElement::setLoadManually): Deleted.
(WebCore::HTMLImageElement::hasPendingActivity const): Deleted.
(WebCore::HTMLImageElement::pendingDecodePromisesCountForTesting const): Deleted.
HTMLImageLoader brings in JSDOMPromiseDeferred, which is known to be horribly expensive.
Out-of-line m_imageLoader.

  • platform/graphics/GraphicsLayer.h:

Swap Animation for TimingFunction, which is much smaller.

  • platform/graphics/MediaPlayer.h:

InbandTextTrackPrivate brings in SerializedPlatformRepresentation.h,
which is very expensive. MediaPlayer.h is included in many places.
Break the link.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:

Source/WebKit:

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Plugin.h:

Fix the build.

12:44 PM Changeset in webkit [250575] by keith_miller@apple.com
  • 2 edits in trunk/JSTests

Mark toctou test as skipped on debug builds
https://bugs.webkit.org/show_bug.cgi?id=202420

Reviewed by Saam Barati.

Keeps timing out... Let's just skip it.

  • stress/toctou-having-a-bad-time-new-array.js:
12:23 PM Changeset in webkit [250574] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Follow-up fix to r250572 to fix a typo.
[ews] Add method to retry a build using Buildbot API
https://bugs.webkit.org/show_bug.cgi?id=202408

Unreviewed follow-up fix.

  • BuildSlaveSupport/ews-app/ews/common/buildbot.py:
12:21 PM Changeset in webkit [250573] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

RTCDataChannel should not prevent entering page cache except if in open state
https://bugs.webkit.org/show_bug.cgi?id=202395

Reviewed by Chris Dumez.

Only prevent entering page cache in open state.
Enqueue message through the document event queue to handle suspension properly.

We cannot yet write page cache tests as a data channel requires a peer connection which
currently forbids entering page cache.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::RTCDataChannel):
(WebCore::RTCDataChannel::didReceiveStringData):
(WebCore::RTCDataChannel::didReceiveRawData):
(WebCore::RTCDataChannel::didDetectError):
(WebCore::RTCDataChannel::bufferedAmountIsDecreasing):
(WebCore::RTCDataChannel::scheduleDispatchEvent):
(WebCore::RTCDataChannel::scheduledEventTimerFired): Deleted.

  • Modules/mediastream/RTCDataChannel.h:
12:06 PM Changeset in webkit [250572] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add method to retry a build using Buildbot API
https://bugs.webkit.org/show_bug.cgi?id=202408

Reviewed by Jonathan Bedard.

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

(Buildbot.retry_build): Method to retry given build using Buildbot API.

12:01 PM Changeset in webkit [250571] by keith_miller@apple.com
  • 9652 edits
    1065 adds in trunk/JSTests

2019-10-01 Keith Miller <keith_miller@apple.com>

Test262 update

Rubber-stamped by Michael Saboff.

Note, this was too big to effectivetly put on bugzilla as it's a 10MB patch...

  • test262/*:
11:51 AM Changeset in webkit [250570] by commit-queue@webkit.org
  • 8 edits
    4 deletes in trunk

[Mac] Layout Test imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.any.html fails
https://bugs.webkit.org/show_bug.cgi?id=202350

Patch by Rob Buis <rbuis@igalia.com> on 2019-10-01
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Update improved test results.

  • web-platform-tests/fetch/api/redirect/redirect-empty-location.any-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-empty-location.any.worker-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location-expected.txt: Removed.
  • web-platform-tests/fetch/api/redirect/redirect-location.any-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-location.any.worker-expected.txt:

Source/WebCore:

In some cases didReceiveResponse will deliver redirects (normally willSendRequestInternal will be used for redirects).
When this is done in manual redirect mode make sure the response type is opaque redirect.

Test: imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location.any.html

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

LayoutTests:

Remove expectation for non-existing tests.

  • platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt: Removed.
11:24 AM Changeset in webkit [250569] by Alan Coon
  • 3 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r250528. rdar://problem/55876838

Refine restrictions for X-Temp-Tablet HTTP header experiment
https://bugs.webkit.org/show_bug.cgi?id=202367
<rdar://problem/55849139>

Reviewed by Geoffrey Garen.

Refine restrictions for X-Temp-Tablet HTTP header experiment:

  1. Only send the header if the embedding application is MobileSafari.
  2. Only send the header if the first party is google.com
  3. Only send the header if the current date is before 2/1/2020
  4. Send the header even if using an ephemeral session
  • loader/cache/CachedResourceLoader.cpp: (WebCore::isXTempTabletHeaderExperimentOver): (WebCore::CachedResourceLoader::CachedResourceLoader): (WebCore::isGoogleSearch): (WebCore::CachedResourceLoader::shouldSendXTempTabletHeader const): (WebCore::CachedResourceLoader::requestResource):
  • loader/cache/CachedResourceLoader.h:

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

11:23 AM Changeset in webkit [250568] by msaboff@apple.com
  • 4 edits in trunk

[YARR] Properly handle surrogates when matching back references
https://bugs.webkit.org/show_bug.cgi?id=202041

Patch by Michael Saboff <msaboff@apple.com> and Paulo Matos <Paulo Matos> on 2019-10-01
Reviewed by Keith Miller.

JSTests:

Unchanged from the workin progress patch posted by Paulo Matos <Paulo Matos>.

Updated test.

  • stress/regexp-unicode-surrogate-pair-increment-should-involve-length-check.js:

(testRegExpNotMatch):

Source/JavaScriptCore:

This patch is based on a work in progress patch by Paulo Matos <Paulo Matos>.

When handling back references in Unicode patterns, we can't match un-decoded surrogate characters,
instead we need to read and process surrogate pairs. Changed matchBackreference() to do this,
including properly incrementing the back reference pattern and search indexes.

In support of this change, on X86_64 we needed to free up r10 to be used exclusively for
"patternIndex". It was also used as a temp in tryReadUnicodeCharImpl(). Made a new named
temp register, called unicodeTemp, to take the place of regT2(r10) in tryReadUnicodeCharImpl.
This new temp is r14 on X86_64 and X5 on ARM64. To free up r14 on X86_64, changed the
old leadingSurrogateTag to be a literal.

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::tryReadUnicodeCharImpl):
(JSC::Yarr::YarrGenerator::matchBackreference):
(JSC::Yarr::YarrGenerator::generateEnter):
(JSC::Yarr::YarrGenerator::readCharacterDontDecodeSurrogates): Deleted.

11:15 AM Changeset in webkit [250567] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix GTK build after r250558
https://bugs.webkit.org/show_bug.cgi?id=202390

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:

(webkit_dom_dom_window_confirm):

11:12 AM Changeset in webkit [250566] by Keith Rollin
  • 7 edits in trunk/Source

Remove some support for < iOS 13
https://bugs.webkit.org/show_bug.cgi?id=202386
<rdar://problem/55863017>

Reviewed by Eric Carlson.

Remove some support for iOS versions less than 13.0.

Update conditionals that reference IPHONE_OS_VERSION_MIN_REQUIRED
and
IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
values >= 130000. This means that expressions like
"IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
"
IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.

This removal is part of a series of patches effecting the removal of
dead code for old versions of iOS. This particular pass involves
changes in which Jer Noble was involved. These changes are isolated
from other similar changes in order to facilitate the reviewing
process.

Source/WebCore:

No new tests -- no new or changed functionality.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval const):

Source/WebCore/PAL:

  • pal/spi/cocoa/AVKitSPI.h:
  • pal/spi/mac/AVFoundationSPI.h:

Source/WTF:

  • wtf/Platform.h:
10:36 AM Changeset in webkit [250565] by achristensen@apple.com
  • 12 edits in trunk/Source/WebKitLegacy

Unify more WebKitLegacy sources
https://bugs.webkit.org/show_bug.cgi?id=202410

Reviewed by Tim Horton.

Source/WebKitLegacy:

  • SourcesCocoa.txt:
  • UnifiedSources-output.xcfilelist:
  • WebKitLegacy.xcodeproj/project.pbxproj:
  • scripts/generate-unified-sources.sh:

Source/WebKitLegacy/mac:

  • DOM/DOMHTML.mm:

(-[DOMHTMLElement scrollXOffset]):
(-[DOMHTMLElement scrollYOffset]):
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
(-[DOMHTMLElement absolutePosition::::]):
(-[DOMHTMLInputElement setValueWithChangeEvent:]):
(-[DOMHTMLInputElement setValueAsNumberWithChangeEvent:]):

  • DOM/DOMHTMLTextAreaElement.mm:

(unwrap):
(core):
(kit):
(-[DOMHTMLTextAreaElement autofocus]):
(-[DOMHTMLTextAreaElement setAutofocus:]):
(-[DOMHTMLTextAreaElement dirName]):
(-[DOMHTMLTextAreaElement setDirName:]):
(-[DOMHTMLTextAreaElement disabled]):
(-[DOMHTMLTextAreaElement setDisabled:]):
(-[DOMHTMLTextAreaElement form]):
(-[DOMHTMLTextAreaElement maxLength]):
(-[DOMHTMLTextAreaElement setMaxLength:]):
(-[DOMHTMLTextAreaElement name]):
(-[DOMHTMLTextAreaElement setName:]):
(-[DOMHTMLTextAreaElement placeholder]):
(-[DOMHTMLTextAreaElement setPlaceholder:]):
(-[DOMHTMLTextAreaElement readOnly]):
(-[DOMHTMLTextAreaElement setReadOnly:]):
(-[DOMHTMLTextAreaElement required]):
(-[DOMHTMLTextAreaElement setRequired:]):
(-[DOMHTMLTextAreaElement rows]):
(-[DOMHTMLTextAreaElement setRows:]):
(-[DOMHTMLTextAreaElement cols]):
(-[DOMHTMLTextAreaElement setCols:]):
(-[DOMHTMLTextAreaElement wrap]):
(-[DOMHTMLTextAreaElement setWrap:]):
(-[DOMHTMLTextAreaElement type]):
(-[DOMHTMLTextAreaElement defaultValue]):
(-[DOMHTMLTextAreaElement setDefaultValue:]):
(-[DOMHTMLTextAreaElement value]):
(-[DOMHTMLTextAreaElement setValue:]):
(-[DOMHTMLTextAreaElement textLength]):
(-[DOMHTMLTextAreaElement willValidate]):
(-[DOMHTMLTextAreaElement labels]):
(-[DOMHTMLTextAreaElement selectionStart]):
(-[DOMHTMLTextAreaElement setSelectionStart:]):
(-[DOMHTMLTextAreaElement selectionEnd]):
(-[DOMHTMLTextAreaElement setSelectionEnd:]):
(-[DOMHTMLTextAreaElement selectionDirection]):
(-[DOMHTMLTextAreaElement setSelectionDirection:]):
(-[DOMHTMLTextAreaElement accessKey]):
(-[DOMHTMLTextAreaElement setAccessKey:]):
(-[DOMHTMLTextAreaElement autocomplete]):
(-[DOMHTMLTextAreaElement setAutocomplete:]):
(-[DOMHTMLTextAreaElement select]):
(-[DOMHTMLTextAreaElement setRangeText:]):
(-[DOMHTMLTextAreaElement setRangeText:start:end:selectionMode:]):
(-[DOMHTMLTextAreaElement setSelectionRange:end:]):

  • DOM/DOMUIKitExtensions.mm:

(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):
(-[DOMNode borderRadii]):
(-[DOMNode isSelectableBlock]):
(-[DOMNode findExplodedTextNodeAtPoint:]):
(-[DOMHTMLElement structuralComplexityContribution]):

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

(dataSource):

  • WebView/WebDataSource.mm:

(addTypesFromClass):

10:34 AM Changeset in webkit [250564] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Support accessibility for <figure> element on iOS.
https://bugs.webkit.org/show_bug.cgi?id=202272

Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-10-01
Reviewed by Aakash Jain.

Fix for WK1 test, rebasing.

  • platform/mac/accessibility/roles-exposed-expected.txt:
10:27 AM Changeset in webkit [250563] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix an internal build.

Ignore some deprecation warnings. We'll adopt new SPI soon.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):

10:10 AM Changeset in webkit [250562] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

clang-tidy: Fix unnecessary copying/ref churn of for loop variables in Tools
<https://webkit.org/b/202387>

Reviewed by Darin Adler.

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::setAllowedMenuActions): Make loop variable
a reference to fix unnecessary copying/ref churn.

9:51 AM Changeset in webkit [250561] by Nikolas Zimmermann
  • 2 edits in trunk/Tools

Update my affiliation - since today I work for Igalia.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
9:48 AM Changeset in webkit [250560] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Unreviewed attempt to fix Windows build after r250527.

  • dom/GenericEventQueue.cpp:

(WebCore::TaskQueueConstructor::construct):
(WebCore::TaskQueueConstructor<Timer>::construct):
(WebCore::GenericEventQueueBase<T>::enqueueEvent):
(WebCore::GenericEventQueueBase<T>::close):
(WebCore::GenericEventQueueBase<T>::cancelAllEvents):
(WebCore::GenericEventQueueBase<T>::setPaused):
(WebCore::GenericEventQueueBase<T>::suspend):
(WebCore::GenericEventQueueBase<T>::rescheduleAllEventsIfNeeded):

  • dom/GenericEventQueue.h:
  • platform/GenericTaskQueue.h:
9:38 AM Changeset in webkit [250559] by keith_miller@apple.com
  • 67 edits
    13 adds in trunk

Add support for the Wasm multi-value proposal
https://bugs.webkit.org/show_bug.cgi?id=202250

Reviewed by Saam Barati.

JSTests:

This patch adds a new way to run stress tests via the .wat text
format. By attaching an asm.js compiled version of the wabt tool
we can easily create wat files programatically and convert them
into a wasm blob to compile. To make this easy there is a
wabt-wrapper.js module file that exports two useful functions that
correspond to WebAssembly.compile and WebAssembly.instantiate.

  • wasm.yaml:
  • wasm/function-tests/if-no-else-non-void.js:
  • wasm/js-api/web-assembly-instantiate.js:

(assert.asyncTest.async.test):
(assert.asyncTest):

  • wasm/libwabt.js: Added.

(WabtModule):
(set get if):

  • wasm/references/func_ref.js:
  • wasm/references/validation.js:

(assert.throws):

  • wasm/spec-harness/index.js:
  • wasm/spec-tests/block.wast.js:
  • wasm/spec-tests/br.wast.js:
  • wasm/spec-tests/br_if.wast.js:
  • wasm/spec-tests/call.wast.js:
  • wasm/spec-tests/call_indirect.wast.js:
  • wasm/spec-tests/func.wast.js:
  • wasm/spec-tests/if.wast.js:
  • wasm/spec-tests/loop.wast.js:
  • wasm/spec-tests/type.wast.js:
  • wasm/stress/js-wasm-call-many-return-types-on-stack-no-args.js: Added.

(buildWat):

  • wasm/stress/js-wasm-js-varying-arities.js: Added.

(paramForwarder):

  • wasm/stress/wasm-js-call-many-return-types-on-stack-no-args.js: Added.

(buildWat):

  • wasm/stress/wasm-js-multi-value-exception-in-iterator.js: Added.

(buildWat.throwError):
(buildWat.throwErrorInIterator):
(buildWat.tooManyValues):
(buildWat.tooFewValues):
(buildWat):

  • wasm/stress/wasm-wasm-call-indirect-many-return-types-on-stack.js: Added.

(buildWat):

  • wasm/stress/wasm-wasm-call-many-return-types-on-stack-no-args.js: Added.

(buildWat):

  • wasm/wabt-wrapper.js: Added.

(export.compile):

  • wasm/wast-tests/br-if-at-end-of-block.wasm: Added.
  • wasm/wast-tests/br-if-at-end-of-block.wast: Added.
  • wasm/wast-tests/harness.js:

(async.runWasmFile):

  • wasm/wast-tests/single-param-loop-signature.wasm: Added.
  • wasm/wast-tests/single-param-loop-signature.wast: Added.

Source/JavaScriptCore:

The wasm multi-value proposal makes two major changes to the
spec. The first is that functions may now return more than one
value across calls. When calling to/from JS, if there is more than
one return type we return/receive a JSArray/Iterable,
respectively. In the Wasm calls JS case, if the iteratable object
does not vend the exact number of objects expected by the
signature an error is thrown.

The second major change in the multi-value proposal allows blocks
to have any signature type. This works in a backwards compatible
way by exploiting the fact that the old value-type thunk signatures
(where the block takes no arguments and returns just the value
type i.e. [] -> [type]) were always encoded as a negative
number. If a block has a function signature, it is encoded as a
positive index into the type section. When a block has a function
signature type then the values from the enclosing stack are popped
off that stack and added to the new block's stack. In the case of
a br/br_if to a Loop block the "argument" values should be on the
brancher's stack.

The biggest change in this patch is stripping down the
WasmCallingConventions file into one simpler API that just tells
you where the each argument should be located. It also now handles
adding or subtracting sizeof(CallerFrameAndPC) depending on
whether you are caller or callee. Additionally, when computing
locations for the callee it returns a B3::ValueRep that has the
offsetFromFP rather than offsetFromSP. Since the code has been
cleaned up I tried to also reduce code duplication in the various
stubs for wasm code. This patch also removes the Air specific
calling convention code and moves that logic into the Air IR
generator.

Since blocks can now have arbitrary signatures the control entries
now use a const signature* rather than just the return
type. Additionally, what used to be the result phi is now the phis
for all the results for non-loop blocks and the arguments for a
loop block. Due to the control flow restrictions of wasm
conveniently we don't have to worry about generating non-optimal
SSA, thus we can just use phis directly rather than using a
variable.

Lastly, to help clean up some code in the IR generators new helper
methods were added to create call Patchpoints. These helpers do
most of the boiler-plate initialization.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::ImplicitAddress::ImplicitAddress):

  • assembler/LinkBuffer.cpp:

(JSC::shouldDumpDisassemblyFor):

  • assembler/LinkBuffer.h:
  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::callOperation):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::callOperation):

  • b3/B3LowerToAir.cpp:
  • b3/B3PatchpointSpecial.cpp:

(JSC::B3::PatchpointSpecial::forEachArg):
(JSC::B3::PatchpointSpecial::isValid):
(JSC::B3::PatchpointSpecial::admitsStack):
(JSC::B3::PatchpointSpecial::generate):

  • b3/B3Procedure.h:

(JSC::B3::Procedure::resultCount const):
(JSC::B3::Procedure::typeAtOffset const):
(JSC::B3::Procedure::returnCount const): Deleted.

  • b3/B3StackmapGenerationParams.cpp:

(JSC::B3::StackmapGenerationParams::code const):

  • b3/B3StackmapGenerationParams.h:
  • b3/B3ValueRep.h:
  • b3/air/AirHelpers.h: Added.

(JSC::B3::Air::moveForType):
(JSC::B3::Air::relaxedMoveForType):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::store64FromReg):
(JSC::AssemblyHelpers::store32FromReg):
(JSC::AssemblyHelpers::load64ToReg):
(JSC::AssemblyHelpers::load32ToReg):

  • runtime/JSCConfig.h:
  • runtime/OptionsList.h:
  • tools/JSDollarVM.cpp:
  • tools/VMInspector.cpp:

(JSC::VMInspector::dumpValue):

  • wasm/WasmAirIRGenerator.cpp:

(JSC::Wasm::ConstrainedTmp::operator bool const):
(JSC::Wasm::TypedTmp::dump const):
(JSC::Wasm::AirIRGenerator::ControlData::ControlData):
(JSC::Wasm::AirIRGenerator::ControlData::dump const):
(JSC::Wasm::AirIRGenerator::ControlData::blockType const):
(JSC::Wasm::AirIRGenerator::ControlData::signature const):
(JSC::Wasm::AirIRGenerator::ControlData::targetBlockForBranch):
(JSC::Wasm::AirIRGenerator::ControlData::convertIfToBlock):
(JSC::Wasm::AirIRGenerator::addEndToUnreachable):
(JSC::Wasm::AirIRGenerator::emitCallPatchpoint):
(JSC::Wasm::AirIRGenerator::validateInst):
(JSC::Wasm::AirIRGenerator::tmpsForSignature):
(JSC::Wasm::AirIRGenerator::emitPatchpoint):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::toB3ResultType):
(JSC::Wasm::AirIRGenerator::addBottom):
(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::AirIRGenerator::addTopLevel):
(JSC::Wasm::AirIRGenerator::addLoop):
(JSC::Wasm::AirIRGenerator::addBlock):
(JSC::Wasm::AirIRGenerator::addIf):
(JSC::Wasm::AirIRGenerator::addElse):
(JSC::Wasm::AirIRGenerator::addElseToUnreachable):
(JSC::Wasm::AirIRGenerator::addReturn):
(JSC::Wasm::AirIRGenerator::addBranch):
(JSC::Wasm::AirIRGenerator::addSwitch):
(JSC::Wasm::AirIRGenerator::endBlock):
(JSC::Wasm::AirIRGenerator::addCall):
(JSC::Wasm::AirIRGenerator::addCallIndirect):
(JSC::Wasm::dumpExpressionStack):
(JSC::Wasm::AirIRGenerator::dump):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncUF64>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncUF32>):
(JSC::Wasm::AirIRGenerator::ControlData::type const): Deleted.
(JSC::Wasm::AirIRGenerator::ControlData::hasNonVoidSignature const): Deleted.
(JSC::Wasm::AirIRGenerator::ControlData::resultForBranch const): Deleted.

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::ControlData::ControlData):
(JSC::Wasm::B3IRGenerator::ControlData::dump const):
(JSC::Wasm::B3IRGenerator::ControlData::blockType const):
(JSC::Wasm::B3IRGenerator::ControlData::hasNonVoidresult const):
(JSC::Wasm::B3IRGenerator::ControlData::targetBlockForBranch):
(JSC::Wasm::B3IRGenerator::ControlData::convertIfToBlock):
(JSC::Wasm::B3IRGenerator::addEndToUnreachable):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::framePointer):
(JSC::Wasm::B3IRGenerator::toB3ResultType):
(JSC::Wasm::B3IRGenerator::addArguments):
(JSC::Wasm::B3IRGenerator::addGrowMemory):
(JSC::Wasm::B3IRGenerator::addLoop):
(JSC::Wasm::B3IRGenerator::addTopLevel):
(JSC::Wasm::B3IRGenerator::addBlock):
(JSC::Wasm::B3IRGenerator::addIf):
(JSC::Wasm::B3IRGenerator::addElse):
(JSC::Wasm::B3IRGenerator::addElseToUnreachable):
(JSC::Wasm::B3IRGenerator::addReturn):
(JSC::Wasm::B3IRGenerator::addBranch):
(JSC::Wasm::B3IRGenerator::addSwitch):
(JSC::Wasm::B3IRGenerator::endBlock):
(JSC::Wasm::B3IRGenerator::createCallPatchpoint):
(JSC::Wasm::B3IRGenerator::addCall):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
(JSC::Wasm::B3IRGenerator::ControlData::type const): Deleted.
(JSC::Wasm::B3IRGenerator::ControlData::hasNonVoidSignature const): Deleted.
(JSC::Wasm::B3IRGenerator::ControlData::resultForBranch const): Deleted.
(JSC::Wasm::B3IRGenerator::createStack): Deleted.

  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::didReceiveFunctionData):
(JSC::Wasm::BBQPlan::parseAndValidateModule):
(JSC::Wasm::BBQPlan::complete):

  • wasm/WasmBBQPlan.h:
  • wasm/WasmBinding.cpp:

(JSC::Wasm::wasmToWasm):

  • wasm/WasmCallingConvention.cpp:

(JSC::Wasm::jsCallingConvention):
(JSC::Wasm::wasmCallingConvention):
(JSC::Wasm::jscCallingConvention): Deleted.
(JSC::Wasm::jscCallingConventionAir): Deleted.
(JSC::Wasm::wasmCallingConventionAir): Deleted.

  • wasm/WasmCallingConvention.h:

(JSC::Wasm::CallInformation::CallInformation):
(JSC::Wasm::CallInformation::computeResultsOffsetList):
(JSC::Wasm::WasmCallingConvention::WasmCallingConvention):
(JSC::Wasm::WasmCallingConvention::marshallLocationImpl const):
(JSC::Wasm::WasmCallingConvention::marshallLocation const):
(JSC::Wasm::WasmCallingConvention::callInformationFor const):
(JSC::Wasm::JSCallingConvention::JSCallingConvention):
(JSC::Wasm::JSCallingConvention::marshallLocationImpl const):
(JSC::Wasm::JSCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::callInformationFor const):
(JSC::Wasm::CallingConvention::CallingConvention): Deleted.
(JSC::Wasm::CallingConvention::marshallArgumentImpl const): Deleted.
(JSC::Wasm::CallingConvention::marshallArgument const): Deleted.
(JSC::Wasm::CallingConvention::headerSizeInBytes): Deleted.
(JSC::Wasm::CallingConvention::setupFrameInPrologue const): Deleted.
(JSC::Wasm::CallingConvention::loadArguments const): Deleted.
(JSC::Wasm::CallingConvention::setupCall const): Deleted.
(JSC::Wasm::CallingConventionAir::CallingConventionAir): Deleted.
(JSC::Wasm::CallingConventionAir::prologueScratch const): Deleted.
(JSC::Wasm::CallingConventionAir::marshallArgumentImpl const): Deleted.
(JSC::Wasm::CallingConventionAir::marshallArgument const): Deleted.
(JSC::Wasm::CallingConventionAir::headerSizeInBytes): Deleted.
(JSC::Wasm::CallingConventionAir::loadArguments const): Deleted.
(JSC::Wasm::CallingConventionAir::setupCall const): Deleted.
(JSC::Wasm::nextJSCOffset): Deleted.

  • wasm/WasmFormat.h:
  • wasm/WasmFunctionParser.h:

(JSC::Wasm::splitStack):
(JSC::Wasm::FunctionParser::signature const):
(JSC::Wasm::FunctionParser<Context>::FunctionParser):
(JSC::Wasm::FunctionParser<Context>::parseBody):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):

  • wasm/WasmInstance.h:
  • wasm/WasmMemoryInformation.cpp:

(JSC::Wasm::getPinnedRegisters):

  • wasm/WasmOMGForOSREntryPlan.cpp:

(JSC::Wasm::OMGForOSREntryPlan::work):

  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

  • wasm/WasmParser.h:

(JSC::Wasm::FailureHelper::makeString):
(JSC::Wasm::Parser<SuccessType>::Parser):
(JSC::Wasm::Parser<SuccessType>::peekInt7):
(JSC::Wasm::Parser<SuccessType>::parseBlockSignature):
(JSC::Wasm::Parser<SuccessType>::parseValueType):
(JSC::Wasm::Parser<SuccessType>::parseResultType): Deleted.

  • wasm/WasmSectionParser.cpp:

(JSC::Wasm::SectionParser::parseType):
(JSC::Wasm::SectionParser::parseStart):

  • wasm/WasmSectionParser.h:
  • wasm/WasmSignature.cpp:

(JSC::Wasm::Signature::toString const):
(JSC::Wasm::Signature::dump const):
(JSC::Wasm::computeHash):
(JSC::Wasm::Signature::hash const):
(JSC::Wasm::Signature::tryCreate):
(JSC::Wasm::SignatureInformation::SignatureInformation):
(JSC::Wasm::ParameterTypes::hash):
(JSC::Wasm::ParameterTypes::equal):
(JSC::Wasm::ParameterTypes::translate):
(JSC::Wasm::SignatureInformation::signatureFor):
(JSC::Wasm::SignatureInformation::adopt): Deleted.

  • wasm/WasmSignature.h:

(JSC::Wasm::Signature::Signature):
(JSC::Wasm::Signature::allocatedSize):
(JSC::Wasm::Signature::returnCount const):
(JSC::Wasm::Signature::returnType const):
(JSC::Wasm::Signature::returnsVoid const):
(JSC::Wasm::Signature::argument const):
(JSC::Wasm::Signature::operator== const):
(JSC::Wasm::Signature::getReturnType):
(JSC::Wasm::Signature::getArgument):
(JSC::Wasm::SignatureHash::SignatureHash):
(JSC::Wasm::SignatureHash::equal):
(JSC::Wasm::SignatureInformation::thunkFor const):
(JSC::Wasm::Signature::returnType): Deleted.
(JSC::Wasm::Signature::argument): Deleted.

  • wasm/WasmStreamingParser.cpp:

(JSC::Wasm::StreamingParser::parseCodeSectionSize):
(JSC::Wasm::StreamingParser::parseFunctionPayload):
(JSC::Wasm::StreamingParser::parseSectionPayload):

  • wasm/WasmStreamingParser.h:

(JSC::Wasm::StreamingParserClient::didReceiveSectionData):
(JSC::Wasm::StreamingParser::reportError):
(JSC::Wasm::StreamingParserClient::didReceiveFunctionData): Deleted.

  • wasm/WasmThunks.cpp:

(JSC::Wasm::throwExceptionFromWasmThunkGenerator):
(JSC::Wasm::throwStackOverflowFromWasmThunkGenerator):
(JSC::Wasm::triggerOMGEntryTierUpThunkGenerator):

  • wasm/WasmValidate.cpp:

(JSC::Wasm::Validate::ControlData::ControlData):
(JSC::Wasm::Validate::ControlData::dump const):
(JSC::Wasm::Validate::ControlData::blockType const):
(JSC::Wasm::Validate::ControlData::signature const):
(JSC::Wasm::Validate::ControlData::branchTargetArity const):
(JSC::Wasm::Validate::ControlData::branchTargetType const):
(JSC::Wasm::Validate::fail const):
(JSC::Wasm::Validate::addTableGet):
(JSC::Wasm::Validate::addTableGrow):
(JSC::Wasm::Validate::addTableFill):
(JSC::Wasm::Validate::addRefIsNull):
(JSC::Wasm::Validate::addTopLevel):
(JSC::Wasm::splitStack):
(JSC::Wasm::Validate::addBlock):
(JSC::Wasm::Validate::addLoop):
(JSC::Wasm::Validate::addIf):
(JSC::Wasm::Validate::addElseToUnreachable):
(JSC::Wasm::Validate::addReturn):
(JSC::Wasm::Validate::checkBranchTarget):
(JSC::Wasm::Validate::addSwitch):
(JSC::Wasm::Validate::addGrowMemory):
(JSC::Wasm::Validate::addEndToUnreachable):
(JSC::Wasm::Validate::addCall):
(JSC::Wasm::Validate::addCallIndirect):
(JSC::Wasm::Validate::unify):
(JSC::Wasm::Validate::ControlData::hasNonVoidSignature const): Deleted.
(JSC::Wasm::Validate::ControlData::type const): Deleted.
(JSC::Wasm::Validate::ControlData::branchTargetSignature const): Deleted.

  • wasm/generateWasmOpsHeader.py:
  • wasm/js/JSToWasm.cpp:

(JSC::Wasm::boxWasmResult):
(JSC::Wasm::allocateResultsArray):
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):

  • wasm/js/JSToWasm.h:
  • wasm/js/JSWebAssemblyCodeBlock.cpp:

(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJS):

  • wasm/js/WasmToJS.h:
  • wasm/js/WebAssemblyFunction.cpp:

(JSC::callWebAssemblyFunction):
(JSC::WebAssemblyFunction::useTagRegisters const):
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):

  • wasm/js/WebAssemblyModuleRecord.cpp:

(JSC::WebAssemblyModuleRecord::link):

Tools:

  • Scripts/run-jsc-stress-tests:
9:37 AM Changeset in webkit [250558] by achristensen@apple.com
  • 4 edits in trunk/Source/WebCore

Fix internal build after r250549
https://bugs.webkit.org/show_bug.cgi?id=202390

There is an internal #define confirm on some systems, so rename DOMWindow::confirm to DOMWindow::confirmForBindings.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::confirmForBindings):
(WebCore::DOMWindow::confirm): Deleted.

  • page/DOMWindow.h:
  • page/DOMWindow.idl:
9:18 AM Changeset in webkit [250557] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed attempt to fix Windows build after r250527.

  • platform/GenericTaskQueue.h:
8:59 AM Changeset in webkit [250556] by achristensen@apple.com
  • 9 edits in trunk/Source/WebKitLegacy/mac

Fix internal build after r250549
https://bugs.webkit.org/show_bug.cgi?id=202390

Remove some more "using namespace WebCore"

  • History/WebBackForwardList.mm:

(-[WebBackForwardList dictionaryRepresentation]):
(vectorToNSArray):
(-[WebBackForwardList backListWithLimit:]):
(-[WebBackForwardList forwardListWithLimit:]):
(-[WebBackForwardList description]):
(-[WebBackForwardList pageCacheSize]):

  • Misc/WebSharingServicePickerController.mm:

(WebSharingServicePickerClient::pageForSharingServicePicker):
(WebSharingServicePickerClient::screenRectForCurrentSharingServicePickerItem):
(-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):
(-[WebSharingServicePickerController sharingService:didShareItems:]):

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage pluginInfo]):

  • Plugins/WebPluginContainerCheck.mm:

(-[WebPluginContainerCheck _continueWithPolicy:]):
(-[WebPluginContainerCheck _isForbiddenFileLoad]):

  • Plugins/WebPluginController.mm:

(initializeAudioSession):
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController superlayerForPluginView:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController stopOnePluginForPageCache:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
(-[WebPluginController processingUserGesture]):
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
(-[WebPluginController webPlugInContainerSelectionColor]):

  • Plugins/WebPluginDatabase.mm:

(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):

  • WebCoreSupport/WebApplicationCache.mm:

(+[WebApplicationCache initializeWithBundleIdentifier:]):
(webApplicationCacheStorage):

  • WebCoreSupport/WebApplicationCacheQuotaManager.mm:
8:24 AM Changeset in webkit [250555] by Antti Koivisto
  • 4 edits
    52 adds in trunk/LayoutTests

Import WPT tests for CSS Shadow Parts
https://bugs.webkit.org/show_bug.cgi?id=202393

Reviewed by Antoine Quint.

LayoutTests/imported/w3c:

From https://github.com/web-platform-tests/wpt/tree/master/css/css-shadow-parts

  • resources/import-expectations.json:
  • web-platform-tests/css/css-shadow-parts/META.yml: Added.
  • web-platform-tests/css/css-shadow-parts/all-hosts-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/all-hosts.html: Added.
  • web-platform-tests/css/css-shadow-parts/chaining-invalid-selector-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/chaining-invalid-selector.html: Added.
  • web-platform-tests/css/css-shadow-parts/complex-matching-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/complex-matching.html: Added.
  • web-platform-tests/css/css-shadow-parts/complex-non-matching-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/complex-non-matching.html: Added.
  • web-platform-tests/css/css-shadow-parts/different-host-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/different-host.html: Added.
  • web-platform-tests/css/css-shadow-parts/double-forward-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/double-forward.html: Added.
  • web-platform-tests/css/css-shadow-parts/host-stylesheet-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/host-stylesheet.html: Added.
  • web-platform-tests/css/css-shadow-parts/inner-host-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/inner-host.html: Added.
  • web-platform-tests/css/css-shadow-parts/interaction-with-placeholder-expected.html: Added.
  • web-platform-tests/css/css-shadow-parts/interaction-with-placeholder.html: Added.
  • web-platform-tests/css/css-shadow-parts/interaction-with-pseudo-elements-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/interaction-with-pseudo-elements.html: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-exportparts-forward-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-exportparts-forward.html: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-forward-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-forward.html: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-domtokenlist.html: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-setter-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name-idl-setter.html: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-complex-selector-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-complex-selector-forward-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-complex-selector-forward.html: Added.
  • web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html: Added.
  • web-platform-tests/css/css-shadow-parts/multiple-parts-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/multiple-parts.html: Added.
  • web-platform-tests/css/css-shadow-parts/part-name-idl-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/part-name-idl.html: Added.
  • web-platform-tests/css/css-shadow-parts/precedence-part-vs-part-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/precedence-part-vs-part.html: Added.
  • web-platform-tests/css/css-shadow-parts/simple-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/simple-forward-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/simple-forward-shorthand-expected.txt: Added.
  • web-platform-tests/css/css-shadow-parts/simple-forward-shorthand.html: Added.
  • web-platform-tests/css/css-shadow-parts/simple-forward.html: Added.
  • web-platform-tests/css/css-shadow-parts/simple.html: Added.
  • web-platform-tests/css/css-shadow-parts/support/shadow-helper.js: Added.

(getElementByShadowIds):
(ceClass.):
(installCustomElement):

  • web-platform-tests/css/css-shadow-parts/support/w3c-import.log: Added.
  • web-platform-tests/css/css-shadow-parts/w3c-import.log: Added.

LayoutTests:

8:16 AM Changeset in webkit [250554] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[CoordGraphics] Implement sync methods for position, bounds origin
https://bugs.webkit.org/show_bug.cgi?id=202398

Reviewed by Carlos Garcia Campos.

Add the CoordinatedGraphicsLayer::syncPosition() and
CoordinatedGraphicsLayer::syncBoundsOrigin() method overrides, both
performing a synchronization of the given GraphicsLayer attribute.

These methods are used by the scrolling code to reflect changes in these
attributes without causing a layer flush (which is not necessary since
the changes have already been applied in an equivalent way).

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::didChangeGeometry):
(WebCore::CoordinatedGraphicsLayer::syncPosition):
(WebCore::CoordinatedGraphicsLayer::syncBoundsOrigin):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
8:08 AM Changeset in webkit [250553] by jh718.park@samsung.com
  • 5 edits
    8 adds in trunk

Make table's clientWidth/Height include its border sizes.
https://bugs.webkit.org/show_bug.cgi?id=200974

WebKit doesn't have table wrapper box currently
while Gecko has it,
so this CL tries to mimic the behavior that
clientWidth/Height refers to table wrapper box
which doesn't have borders applied to itself
and table grid box has the borders.

This CL adds table's border sizes
to clientWidth/Height
at |LayoutBox::PixelSnappedClientWidth/Height|.

As a result of this CL, table's clientWidth/Height
and offsetWidth/Height are equal now, respectively.

The corresponding csswg discussion is
https://github.com/w3c/csswg-drafts/issues/4245.

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/table-border-collapse-client-width-height-expected.txt: Added.
  • web-platform-tests/css/cssom-view/table-border-collapse-client-width-height.html: Added.
  • web-platform-tests/css/cssom-view/table-border-separate-client-width-height-expected.txt: Added.
  • web-platform-tests/css/cssom-view/table-border-separate-client-width-height.html: Added.
  • web-platform-tests/css/cssom-view/table-client-props-expected.txt:
  • web-platform-tests/css/cssom-view/table-with-border-client-width-height-expected.txt: Added.
  • web-platform-tests/css/cssom-view/table-with-border-client-width-height.html: Added.

Source/WebCore:

Tests: fast/table/border-collapsing/bug236727.html

imported/w3c/web-platform-tests/css/cssom-view/table-border-collapse-client-width-height.html
imported/w3c/web-platform-tests/css/cssom-view/table-border-separate-client-width-height.html
imported/w3c/web-platform-tests/css/cssom-view/table-with-border-client-width-height.html

  • dom/Element.cpp:

(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):

LayoutTests:

  • fast/table/border-collapsing/bug236727-expected.txt: Added.
  • fast/table/border-collapsing/bug236727.html: Added.
6:43 AM Changeset in webkit [250552] by youenn@apple.com
  • 6 edits in trunk

Remove races condition when validating capture sandbox extension revocation
https://bugs.webkit.org/show_bug.cgi?id=202133
<rdar://problem/55660905>

Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing tests.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::endCapture):
Synchronously update document media state when capture is ended.
This allows to validate the fact that no document is capturing while we revoke sandbox extensions.

Source/WebKit:

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy):
Explicitly ask the page to stop capture.
This will make sure capture is stopped when revoking sandbox extensions.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

Updated test to not use page cache so that on going back, the page is reloaded and will call getUserMedia again.

2:41 AM Changeset in webkit [250551] by youenn@apple.com
  • 3 edits in trunk/Source/WebCore

MediaDevices should be SecureContext
https://bugs.webkit.org/show_bug.cgi?id=202267

Reviewed by Eric Carlson.

Manually tested since 127.0.0.1/localhost are secure contexts.

  • Modules/mediastream/MediaDevices.idl:
  • bindings/js/WebCoreBuiltinNames.h:

Sep 30, 2019:

11:29 PM Changeset in webkit [250550] by achristensen@apple.com
  • 24 edits in trunk

Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=202384

Rubber-stamped by Tim Horton.

.:

  • Source/cmake/OptionsMac.cmake:

Source/JavaScriptCore:

  • PlatformMac.cmake:

Source/WebCore:

  • PlatformMac.cmake:

Source/WebCore/PAL:

  • pal/PlatformMac.cmake:

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:
  • PlatformMac.cmake:
  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
  • WebKit2Prefix.h:

Source/WebKitLegacy:

  • PlatformMac.cmake:

Source/WebKitLegacy/mac:

  • DefaultDelegates/WebDefaultPolicyDelegate.m:

(-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):

Source/WTF:

  • wtf/PlatformMac.cmake:

Tools:

  • DumpRenderTree/PlatformMac.cmake:
  • TestWebKitAPI/PlatformMac.cmake:
11:17 PM Changeset in webkit [250549] by achristensen@apple.com
  • 22 edits in trunk/Source

Unify more WebKitLegacy sources
https://bugs.webkit.org/show_bug.cgi?id=202390

Reviewed by Tim Horton.

Source/WebCore/PAL:

  • pal/spi/mac/QuickLookMacSPI.h:

Source/WebKitLegacy:

These files were causing problems with the CMake build, but only if not unified.
So I unified them and sped up the build too, without changing any behavior.

  • SourcesCocoa.txt:
  • UnifiedSources-output.xcfilelist:
  • WebKitLegacy.xcodeproj/project.pbxproj:
  • scripts/generate-unified-sources.sh:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm:

(dataSource):
(WebFrameLoaderClient::pageID const):
(WebFrameLoaderClient::frameID const):
(WebFrameLoaderClient::makeRepresentation):
(WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::shouldUseCredentialStorage):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebFrameLoaderClient::connectionProperties):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse const):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):
(WebFrameLoaderClient::dispatchDidReceiveTitle):
(WebFrameLoaderClient::dispatchDidCommitLoad):
(WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebFrameLoaderClient::dispatchDidFailLoad):
(WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
(WebFrameLoaderClient::dispatchCreatePage):
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(shouldTryAppLink):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchUnableToImplementPolicy):
(makeFormFieldValuesDictionary):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::revertToProvisionalState):
(WebFrameLoaderClient::setMainDocumentError):
(WebFrameLoaderClient::startDownload):
(WebFrameLoaderClient::willChangeTitle):
(WebFrameLoaderClient::didChangeTitle):
(WebFrameLoaderClient::didReplaceMultipartContent):
(WebFrameLoaderClient::committedLoad):
(WebFrameLoaderClient::finishedLoading):
(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebFrameLoaderClient::shouldGoToHistoryItem const):
(WebFrameLoaderClient::didDisplayInsecureContent):
(WebFrameLoaderClient::didRunInsecureContent):
(WebFrameLoaderClient::cancelledError):
(WebFrameLoaderClient::blockedError):
(WebFrameLoaderClient::blockedByContentBlockerError):
(WebFrameLoaderClient::cannotShowURLError):
(WebFrameLoaderClient::interruptedForPolicyChangeError):
(WebFrameLoaderClient::blockedByContentFilterError):
(WebFrameLoaderClient::cannotShowMIMETypeError):
(WebFrameLoaderClient::fileDoesNotExistError):
(WebFrameLoaderClient::pluginWillHandleLoadError):
(WebFrameLoaderClient::shouldFallBack):
(WebFrameLoaderClient::canHandleRequest const):
(WebFrameLoaderClient::saveViewStateToItem):
(WebFrameLoaderClient::restoreViewState):
(WebFrameLoaderClient::createDocumentLoader):
(WebFrameLoaderClient::setTitle):
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
(WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::setUpPolicyListener):
(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::canCachePage const):
(WebFrameLoaderClient::createFrame):
(WebFrameLoaderClient::objectContentType):
(PluginWidget::PluginWidget):
(PluginWidget::invalidateRect):
(NetscapePluginWidget::handleEvent):
(NetscapePluginWidget::notifyWidget):
(shouldBlockPlugin):
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::redirectDataToPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):
(shouldBlockWebGL):
(WebFrameLoaderClient::webGLPolicyForURL const):
(WebFrameLoaderClient::resolveWebGLPolicyForURL const):
(WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
(WebFrameLoaderClient::createNetworkingContext):
(WebFrameLoaderClient::createPreviewLoaderClient):
(WebFrameLoaderClient::getLoadDecisionForIcons):
(webGetNSImage):
(WebFrameLoaderClient::finishedLoadingIcon):
(-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:]):
(-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:appLinkURL:]):
(-[WebFramePolicyListener invalidate]):
(-[WebFramePolicyListener receivedPolicyDecision:]):
(-[WebFramePolicyListener ignore]):
(-[WebFramePolicyListener download]):
(-[WebFramePolicyListener use]):
(-[WebFramePolicyListener continue]):

  • WebInspector/WebInspector.mm:

(-showWindow):
(-evaluateInFrontend:script:):

  • WebView/WebClipView.mm:

(-[WebClipView visibleRect]):
(-[WebClipView _immediateScrollToPoint:]):

  • WebView/WebDataSource.mm:

(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource _documentLoader]):
(-[WebDataSource initWithRequest:]):
(-[WebDataSource dealloc]):
(-[WebDataSource data]):
(-[WebDataSource webFrame]):
(-[WebDataSource initialRequest]):
(-[WebDataSource request]):
(-[WebDataSource webArchive]):

  • WebView/WebFrame.mm:

(core):
(kit):
(getWebView):
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
(+[WebFrame _createSubframeWithOwnerElement:frameName:frameView:]):
(+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
(-[WebFrame _attachScriptDebugger]):
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
(-[WebFrame _unmarkAllBadGrammar]):
(-[WebFrame _unmarkAllMisspellings]):
(-[WebFrame _hasSelection]):
(-[WebFrame _atMostOneFrameHasSelection]):
(-[WebFrame _findFrameWithSelection]):
(-[WebFrame _nodesFromList:]):
(-[WebFrame _stringForRange:]):
(-[WebFrame _paintBehaviorForDestinationContext:]):
(-[WebFrame _drawRect:contentsOnly:]):
(-[WebFrame _getVisibleRect:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _caretRectAtPosition:affinity:]):
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
(-[WebFrame _rangeByAlteringCurrentSelection:direction:granularity:]):
(-[WebFrame _selectionGranularity]):
(-[WebFrame _convertToNSRange:]):
(-[WebFrame _convertToDOMRange:]):
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]):
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
(-[WebFrame _visiblePositionForPoint:]):
(-[WebFrame _characterRangeAtPoint:]):
(-[WebFrame _typingStyle]):
(-[WebFrame _setTypingStyle:withUndoAction:]):
(-[WebFrame _dragSourceEndedAt:operation:]):
(-[WebFrame _canProvideDocumentSource]):
(-[WebFrame _commitData:]):
(-[WebFrame _isDescendantOfFrame:]):
(-[WebFrame _bodyBackgroundColor]):
(-[WebFrame _isFrameSet]):
(-[WebFrame _isVisuallyNonEmpty]):
(toWebFrameLoadType):
(-[WebFrame _rectsForRange:]):
(-[WebFrame _selectionRangeForFirstPoint:secondPoint:]):
(-[WebFrame _selectionRangeForPoint:]):
(-[WebFrame _selectNSRange:]):
(-[WebFrame _isDisplayingStandaloneImage]):
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
(-[WebFrame setTimeoutsPaused:]):
(-[WebFrame prepareForPause]):
(-[WebFrame resumeFromPause]):
(-[WebFrame selectWithoutClosingTypingNSRange:]):
(-[WebFrame _saveViewState]):
(-[WebFrame deviceOrientationChanged]):
(-[WebFrame renderedSizeOfNode:constrainedToWidth:]):
(-[WebFrame deepestNodeAtViewportLocation:]):
(-[WebFrame scrollableNodeAtViewportLocation:]):
(-[WebFrame approximateNodeAtViewportLocation:]):
(-[WebFrame revealSelectionAtExtent:]):
(-[WebFrame setCaretColor:]):
(-[WebFrame isTelephoneNumberParsingAllowed]):
(-[WebFrame isTelephoneNumberParsingEnabled]):
(-[WebFrame setSelectedDOMRange:affinity:closeTyping:]):
(-[WebFrame selectNSRange:onElement:]):
(-[WebFrame setMarkedText:selectedRange:]):
(-[WebFrame setMarkedText:forCandidates:]):
(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame dictationResultMetadataForRange:]):
(+[WebFrame stringWithData:textEncodingName:]):
(-[WebFrame fontForSelection:]):
(-[WebFrame _userScrolled]):
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:matchStyle:]):
(-[WebFrame resetTextAutosizingBeforeLayout]):
(-[WebFrame _setTextAutosizingWidth:]):
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]):
(-[WebFrame _cacheabilityDictionary]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
(-[WebFrame _globalContextForScriptWorld:]):
(-[WebFrame setAccessibleName:]):
(-[WebFrame enhancedAccessibilityEnabled]):
(-[WebFrame setEnhancedAccessibility:]):
(-[WebFrame _layerTreeAsText]):
(-[WebFrame accessibilityRoot]):
(-[WebFrame _clearOpener]):
(-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
(-[WebFrame focusedNodeHasContent]):
(-[WebFrame _dispatchDidReceiveTitle:]):
(-[WebFrame jsWrapperForNode:inScriptWorld:]):
(-[WebFrame elementAtPoint:]):
(-[WebFrame name]):
(needsMicrosoftMessengerDOMDocumentWorkaround):
(-[WebFrame DOMDocument]):
(-[WebFrame frameElement]):
(-[WebFrame provisionalDataSource]):
(-[WebFrame dataSource]):
(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
(-[WebFrame findFrameNamed:]):
(-[WebFrame parentFrame]):
(-[WebFrame childFrames]):
(-[WebFrame windowObject]):
(-[WebFrame globalContext]):
(-[WebFrame javaScriptContext]):
(dataSource): Deleted.

  • WebView/WebFrameView.mm:

(-[WebFrameView _web_frame]):
(-[WebFrameView _setDocumentView:]):
(-[WebFrameView _verticalPageScrollDistance]):
(-[WebFrameView _install]):
(-[WebFrameView _frameSizeChanged]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView drawRect:]):
(-[WebFrameView _scrollOverflowInDirection:granularity:]):
(-[WebFrameView _isVerticalDocument]):
(-[WebFrameView _isFlippedDocument]):
(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):
(-[WebFrameView _horizontalPageScrollDistance]):
(-[WebFrameView _pageVertically:]):
(-[WebFrameView _pageHorizontally:]):
(-[WebFrameView _scrollLineVertically:]):
(-[WebFrameView _scrollLineHorizontally:]):
(-[WebFrameView keyDown:keyDown:]):
(addTypesFromClass): Deleted.

  • WebView/WebFullScreenController.mm:

(screenRectOfContents):
(-[WebFullScreenController element]):
(-[WebFullScreenController setElement:]):
(-[WebFullScreenController _document]):
(-[WebFullScreenController _manager]):

  • WebView/WebHTMLView.mm:

(toAction):
(toTag):
(-[NSView _web_setNeedsDisplayInRect:]):
(promisedDataClient):
(+[WebHTMLView _excludedElementsForAttributedStringConversion]):
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(-[WebHTMLView _plainTextFromPasteboard:]):
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
(-[WebHTMLView readSelectionFromPasteboard:]):
(-[WebHTMLView _selectedRange]):
(-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
(-[WebHTMLView _frameOrBoundsChanged]):
(-[WebHTMLView _updateMouseoverWithEvent:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(+[WebHTMLView _selectionPasteboardTypes]):
(-[WebHTMLView pasteboard:provideDataForType:]):
(-[WebHTMLView setScale:]):
(-[WebHTMLView _canEdit]):
(-[WebHTMLView _canEditRichly]):
(-[WebHTMLView _hasSelection]):
(-[WebHTMLView _hasSelectionOrInsertionPoint]):
(-[WebHTMLView _hasInsertionPoint]):
(-[WebHTMLView _isEditable]):
(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView _insertOrderedList]):
(-[WebHTMLView _insertUnorderedList]):
(-[WebHTMLView _canIncreaseSelectionListLevel]):
(-[WebHTMLView _canDecreaseSelectionListLevel]):
(-[WebHTMLView _increaseSelectionListLevel]):
(-[WebHTMLView _increaseSelectionListLevelOrdered]):
(-[WebHTMLView _increaseSelectionListLevelUnordered]):
(-[WebHTMLView _decreaseSelectionListLevel]):
(-[WebHTMLView _writeSelectionToPasteboard:]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
(-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]):
(-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
(-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
(-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
(-[WebHTMLView coreCommandBySelector:]):
(-[WebHTMLView coreCommandByName:]):
(-[WebHTMLView validRequestorForSendType:returnType:]):
(-[WebHTMLView jumpToSelection:]):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView maintainsInactiveSelection]):
(-[WebHTMLView reapplyStyles]):
(-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]):
(-[WebHTMLView rightMouseUp:]):
(fixMenusReceivedFromOldClients):
(createShareMenuItem):
(createMenuItem):
(createMenuItems):
(customMenuFromDefaultItems):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView clearFocus]):
(-[WebHTMLView setLayer:]):
(-[WebHTMLView setNeedsLayout:]):
(-[WebHTMLView setNeedsToApplyStyles:]):
(-[WebHTMLView _invalidateGStatesForTree]):
(-[WebHTMLView scrollWheel:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView touch:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView draggingSourceOperationMaskForLocal:]):
(-[WebHTMLView draggedImage:endedAt:operation:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
(-[WebHTMLView draggingSession:sourceOperationMaskForDraggingContext:]):
(-[WebHTMLView draggingSession:endedAtPoint:operation:]):
(-[WebHTMLView mouseUp:]):
(-[WebHTMLView pressureChangeWithEvent:]):
(isTextInput):
(isInPasswordField):
(currentKeyboardEvent):
(-[WebHTMLView becomeFirstResponder]):
(-[WebHTMLView resignFirstResponder]):
(-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
(-[WebHTMLView _scaleFactorForPrintOperation:]):
(-[WebHTMLView keyDown:]):
(-[WebHTMLView keyUp:]):
(-[WebHTMLView flagsChanged:]):
(-[WebHTMLView centerSelectionInVisibleArea:]):
(-[WebHTMLView _selectionStartFontAttributesAsRTF]):
(-[WebHTMLView _fontAttributesFromFontPasteboard]):
(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _applyEditingStyleToSelection:withUndoAction:]):
(-[WebHTMLView performKeyEquivalent:]):
(-[WebHTMLView copyFont:]):
(-[WebHTMLView pasteFont:]):
(-[WebHTMLView changeFont:]):
(-[WebHTMLView changeAttributes:]):
(-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
(-[WebHTMLView changeColor:]):
(-[WebHTMLView checkSpelling:]):
(-[WebHTMLView showGuessPanel:]):
(-[WebHTMLView toggleBaseWritingDirection:]):
(-[WebHTMLView changeBaseWritingDirection:]):
(-[WebHTMLView _changeBaseWritingDirectionTo:]):
(-[WebHTMLView _updateControlTints]):
(-[WebHTMLView _selectionChanged]):
(-[WebHTMLView _updateFontPanel]):
(-[WebHTMLView _canSmartCopyOrDelete]):
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView quickLookWithEvent:]):
(-[WebHTMLView _executeSavedKeypressCommands]):
(-[WebHTMLView _interpretKeyEvent:savingCommands:]):
(-[WebHTMLView _handleEditingKeyEvent:]):
(-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
(-[WebHTMLView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebHTMLView attributedSubstringFromRange:]):
(-[WebHTMLView hasMarkedText]):
(extractUnderlines):
(-[WebHTMLView setMarkedText:selectedRange:]):
(-[WebHTMLView doCommandBySelector:]):
(-[WebHTMLView insertText:]):
(-[WebHTMLView _updateSecureInputState]):
(-[WebHTMLView _updateSelectionForInputManager]):
(-[WebHTMLView selectionTextRects]):
(imageFromRect):
(selectionImage):
(-[WebHTMLView selectionImageForcingBlackText:selectionImageForcingBlackText:]):
(-[WebHTMLView selectAll]):
(-[WebHTMLView deselectAll]):
(-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
(-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]):
(-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
(-[WebHTMLView markedTextMatchesAreHighlighted]):
(-[WebHTMLView unmarkAllTextMatches]):
(-[WebHTMLView rectsForTextMatches]):
(-[WebHTMLView _findString:options:]):

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController webView:didHandleScrollWheel:]):
(-[WebImmediateActionController _cancelImmediateAction]):
(-[WebImmediateActionController performHitTestAtPoint:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController menuItemDidClose:]):
(elementBoundingBoxInWindowCoordinatesFromNode):
(-[WebImmediateActionController menuItem:itemFrameForPoint:]):
(-[WebImmediateActionController menuItem:maxSizeForPoint:]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
(-[WebImmediateActionController _animationControllerForText]):

  • WebView/WebPDFView.mm:

(isFrameInRange):
(-[WebPDFView pasteboardTypesForSelection]):
(-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFrame _convertValueToObjcValue:]):

  • WebView/WebScriptDebugger.mm:

(toNSString):
(toWebFrame):
(WebScriptDebugger::WebScriptDebugger):
(WebScriptDebugger::sourceParsed):
(WebScriptDebugger::handlePause):

  • WebView/WebScriptWorld.mm:

(-[WebScriptWorld initWithWorld:]):
(-[WebScriptWorld init]):
(+[WebScriptWorld standardWorld]):
(+[WebScriptWorld scriptWorldForGlobalContext:]):
(core):
(+[WebScriptWorld findOrCreateWorld:]):

  • WebView/WebView.mm:

(coreOptions):
(coreLayoutMilestones):
(kitLayoutMilestones):
(kit):
(WebKit::DeferredPageDestructor::createDeferredPageDestructor):
(WebKit::DeferredPageDestructor::DeferredPageDestructor):
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
(+[WebView _standardUserAgentWithApplicationName:]):
(+[WebView _reportException:inContext:]):
(shouldEnableLoadDeferring):
(shouldRestrictWindowFocus):
(needsOutlookQuirksScript):
(-[WebView _injectOutlookQuirksScript]):
(shouldUseLegacyBackgroundSizeShorthandBehavior):
(shouldAllowWindowOpenWithoutUserGesture):
(WebKitInitializeGamepadProviderIfNecessary):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _replaceCurrentHistoryItem:]):
(-[WebView updateLayoutIgnorePendingStyleSheets]):
(-[WebView _requestStartDataInteraction:globalPosition:]):
(-[WebView _startDrag:]):
(-[WebView dragDataForSession:client:global:operation:]):
(-[WebView _didConcludeEditDrag]):
(+[WebView _setAlwaysUsesComplexTextCodePath:]):
(+[WebView canCloseAllWebViews]):
(+[WebView closeAllWebViews]):
(-[WebView _dispatchUnloadEvent]):
(-[WebView styleAtSelectionStart]):
(-[WebView _didFinishScrollingOrZooming]):
(-[WebView _close]):
(-[WebView _isProcessingUserGesture]):
(+[WebView _enableRemoteInspector]):
(+[WebView _disableRemoteInspector]):
(+[WebView _disableAutoStartRemoteInspector]):
(+[WebView _isRemoteInspectorEnabled]):
(+[WebView _hasRemoteInspectorSession]):
(-[WebView _setHostApplicationProcessIdentifier:auditToken:]):
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView _needsKeyboardEventDisambiguationQuirks]):
(needsSelfRetainWhileLoadingQuirk):
(-[WebView _needsPreHTML5ParserQuirks]):
(-[WebView _preferencesChanged:]):
(-[WebView _cacheFrameLoadDelegateImplementations]):
(+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
(+[WebView _registerViewClass:representationClass:forURLScheme:]):
(+[WebView _decodeData:]):
(-[WebView _didStartProvisionalLoadForFrame:]):
(-[WebView _checkDidPerformFirstNavigation]):
(-[WebView _cachedResponseForURL:]):
(+[WebView _setShouldUseFontSmoothing:]):
(+[WebView _shouldUseFontSmoothing]):
(+[WebView _setUsesTestModeFocusRingColor:]):
(+[WebView _usesTestModeFocusRingColor]):
(-[WebView setAlwaysShowVerticalScroller:]):
(-[WebView alwaysShowVerticalScroller]):
(-[WebView setAlwaysShowHorizontalScroller:]):
(-[WebView setProhibitsMainFrameScrolling:]):
(-[WebView alwaysShowHorizontalScroller]):
(-[WebView _setMediaLayer:forPluginView:]):
(-[WebView _attachScriptDebuggerToAllFrames]):
(-[WebView _detachScriptDebuggerFromAllFrames]):
(+[WebView _productivityDocumentMIMETypes]):
(-[WebView _setFixedLayoutSize:]):
(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _viewGeometryDidChange]):
(-[WebView _overflowScrollPositionChangedTo:forNode:isUserScroll:]):
(+[WebView _doNotStartObservingNetworkReachability]):
(-[WebView _touchEventRegions]):
(-[WebView textIteratorForRect:]):
(-[WebView _executeCoreCommandByName:value:]):
(-[WebView _isUsingAcceleratedCompositing]):
(-[WebView _isSoftwareRenderable]):
(-[WebView setTracksRepaints:]):
(-[WebView isTrackingRepaints]):
(-[WebView resetTrackedRepaints]):
(-[WebView trackedRepaintRects]):
(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _resetOriginAccessWhitelists]):
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
(-[WebView allowsNewCSSAnimationsWhileSuspended]):
(-[WebView setAllowsNewCSSAnimationsWhileSuspended:]):
(-[WebView cssAnimationsSuspended]):
(-[WebView setCSSAnimationsSuspended:]):
(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
(+[WebView _registerURLSchemeAsSecure:]):
(+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]):
(-[WebView _scaleWebView:atOrigin:]):
(-[WebView _setUseFixedLayout:]):
(-[WebView _useFixedLayout]):
(-[WebView _fixedLayoutSize]):
(-[WebView _setPaginationMode:]):
(-[WebView _paginationMode]):
(-[WebView _listenForLayoutMilestones:]):
(-[WebView _layoutMilestones]):
(-[WebView _setPaginationBehavesLikeColumns:]):
(-[WebView _paginationBehavesLikeColumns]):
(-[WebView _setPageLength:]):
(-[WebView _pageLength]):
(-[WebView _setGapBetweenPages:]):
(-[WebView _gapBetweenPages]):
(-[WebView _setPaginationLineGridEnabled:]):
(-[WebView _paginationLineGridEnabled]):
(-[WebView _pageCount]):
(+[WebView _HTTPPipeliningEnabled]):
(+[WebView _setHTTPPipeliningEnabled:]):
(-[WebView shouldRequestCandidates]):
(-[WebView removePluginInstanceViewsFor:]):
(+[WebView registerURLSchemeAsLocal:]):
(-[WebView doWindowDidChangeScreen]):
(-[WebView _updateScreenScaleFromWindow]):
(-[WebView goToBackForwardItem:]):
(-[WebView _setZoomMultiplier:isTextOnly:]):
(-[WebView setCustomTextEncodingName:]):
(-[WebView windowScriptObject]):
(-[WebView setHostWindow:]):
(-[WebView applicationFlags:]):
(-[WebView actionMaskForDraggingInfo:]):
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):
(-[WebView draggingExited:]):
(-[WebView performDragOperation:]):
(incrementFrame):
(+[WebView registerViewClass:representationClass:forMIMEType:]):
(-[WebView moveDragCaretToPoint:]):
(-[WebView removeDragCaret]):
(-[WebView mainFrameIconURL]):
(coreTextCheckingType):
(textCheckingResultFromNSTextCheckingResult):
(-[WebView candidateListTouchBarItem:endSelectingCandidateAtIndex:]):
(-[WebView candidateListTouchBarItem:changedCandidateListVisibility:]):
(-[WebView shouldClose]):
(aeDescFromJSValue):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView editableDOMRangeForPoint:]):
(-[WebView setSelectedDOMRange:affinity:]):
(-[WebView selectedDOMRange]):
(-[WebView selectionAffinity]):
(-[WebView setEditable:]):
(-[WebView setTypingStyle:]):
(-[WebView deleteSelection]):
(-[WebView applyStyle:]):
(-[WebView insertDictationPhrases:metadata:]):
(-[WebView _selectionIsCaret]):
(-[WebView _selectionIsAll]):
(-[WebView _simplifyMarkup:endNode:]):
(+[WebView _setCacheModel:]):
(-[WebView _searchWithGoogleFromMenu:]):
(-[WebView _retrieveKeyboardUIModeFromPreferences:]):
(-[WebView _keyboardUIMode]):
(-[WebView _mainCoreFrame]):
(-[WebView _clearCredentials]):
(-[WebView _flushCompositingChanges]):
(-[WebView _scheduleLayerFlushForPendingTileCacheRepaint]):
(-[WebView _hasActiveVideoForControlsInterface]):
(-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
(-[WebView handleAcceptedAlternativeText:]):
(-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]):
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:]):
(-[WebView _setTextIndicator:withLifetime:]):
(-[WebView _clearTextIndicatorWithAnimation:]):
(-[WebView _showDictionaryLookupPopup:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
(-[WebView showFormValidationMessage:withAnchorRect:]):
(-[WebView textTouchBar]):
(nsTextAlignmentFromRenderStyle):
(-[WebView updateTextTouchBar]):
(-[WebView updateTouchBar]):
(-[WebView candidateList]):
(-[WebView _geolocationDidFailWithMessage:]):
(-[WebView _resetAllGeolocationPermission]):
(-[WebView _notificationIDForTesting:]):

11:14 PM Changeset in webkit [250548] by achristensen@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Rename JSTokenType::EXPORT to EXPORT_ to avoid naming conflict with internal header
https://bugs.webkit.org/show_bug.cgi?id=202385

  • parser/Keywords.table:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseModuleSourceElements):
(JSC::Parser<LexerType>::parseExportDeclaration):

  • parser/ParserTokens.h:
10:34 PM Changeset in webkit [250547] by Alan Coon
  • 1 edit
    1 copy in branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa

Disabling tests until dino@apple.com can fix. rdar://problem/55825353

10:34 PM Changeset in webkit [250546] by Alan Coon
  • 1 edit in branches/safari-608-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm

Unreviewed build fix from thorton@apple.com. rdar://problem/55825353

10:34 PM Changeset in webkit [250545] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

Unreviewed build fix. rdar://problem/55825353

9:57 PM Changeset in webkit [250544] by Devin Rousso
  • 5 edits in trunk

Web Inspector: JS Formatter: unexpected newlines added inside template string expression
https://bugs.webkit.org/show_bug.cgi?id=202374

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Wrap every "add newline" with a check to see if the current node is inside a template
literal node. If so (and we aren't forcibly adding a newline), prevent the newline from
being added.

  • UserInterface/Workers/Formatter/JSFormatter.js:

(JSFormatter.prototype._appendNewline): Added.
(JSFormatter.prototype._insertNewlinesBeforeToken):
(JSFormatter.prototype._insertComment):
(JSFormatter.prototype._insertSameLineTrailingComments):
(JSFormatter.prototype._insertCommentsAndNewlines):
(JSFormatter.prototype._before):
(JSFormatter.prototype._after):
(JSFormatter.prototype._handleTokenAtNode):
(JSFormatter.prototype._exitNode):
(JSFormatter.prototype._afterProgram):

LayoutTests:

  • inspector/formatting/resources/javascript-tests/template-strings.js:
  • inspector/formatting/resources/javascript-tests/template-strings-expected.js:
9:06 PM Changeset in webkit [250543] by Tadeu Zagallo
  • 4 edits
    1 add in trunk

Make assertion in JSObject::putOwnDataProperty more precise
https://bugs.webkit.org/show_bug.cgi?id=202379
<rdar://problem/49515980>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/object-assign-target-proto-setter.js: Added.

(get Object):

Source/JavaScriptCore:

Currently, we assert that the structure has no accessors/custom accessors, but that assertion is
too conservative. All we need to prove is that the property being inserted either does not exist
in the target object or is neither an accessor nor read-only.

  • runtime/JSObject.h:

(JSC::JSObject::putOwnDataProperty): Deleted.
(JSC::JSObject::putOwnDataPropertyMayBeIndex): Deleted.

  • runtime/JSObjectInlines.h:

(JSC::JSObject::validatePutOwnDataProperty):
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putOwnDataPropertyMayBeIndex):

8:36 PM Changeset in webkit [250542] by Chris Dumez
  • 27 edits in trunk/Source/WebCore

Make GenericEventQueue an ActiveDOMObject
https://bugs.webkit.org/show_bug.cgi?id=202373

Reviewed by Eric Carlson.

Make GenericEventQueue an ActiveDOMObject so that it is guaranteed to never fire any events while
suspended without requiring the client to explicitly suspend/resume the event queue.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::MediaKeySession):
(WebCore::MediaKeySession::enqueueMessage):
(WebCore::MediaKeySession::updateKeyStatuses):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:

(WebCore::WebKitMediaKeySession::WebKitMediaKeySession):
(WebCore::WebKitMediaKeySession::~WebKitMediaKeySession):
(WebCore::WebKitMediaKeySession::addKeyTimerFired):
(WebCore::WebKitMediaKeySession::sendMessage):
(WebCore::WebKitMediaKeySession::sendError):
(WebCore::WebKitMediaKeySession::hasPendingActivity const):
(WebCore::WebKitMediaKeySession::stop):

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::MediaSource):
(WebCore::MediaSource::hasPendingActivity const):
(WebCore::MediaSource::stop):
(WebCore::MediaSource::canSuspendForDocumentSuspension const):
(WebCore::MediaSource::scheduleEvent):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::hasPendingActivity const):
(WebCore::SourceBuffer::stop):
(WebCore::SourceBuffer::scheduleEvent):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediasource/SourceBufferList.cpp:

(WebCore::SourceBufferList::SourceBufferList):
(WebCore::SourceBufferList::scheduleEvent):
(WebCore::SourceBufferList::canSuspendForDocumentSuspension const):

  • Modules/mediasource/SourceBufferList.h:
  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::stop):

  • Modules/webaudio/AudioContext.h:
  • animation/DeclarativeAnimation.cpp:

(WebCore::DeclarativeAnimation::DeclarativeAnimation):
(WebCore::DeclarativeAnimation::tick):
(WebCore::DeclarativeAnimation::needsTick const):
(WebCore::DeclarativeAnimation::remove):
(WebCore::DeclarativeAnimation::enqueueDOMEvent):
(WebCore::DeclarativeAnimation::stop):
(WebCore::DeclarativeAnimation::suspend):
(WebCore::DeclarativeAnimation::resume):

  • animation/DeclarativeAnimation.h:
  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueueBase<T>::GenericEventQueueBase):
(WebCore::GenericEventQueueBase<T>::setPaused):
(WebCore::GenericEventQueueBase<T>::canSuspendForDocumentSuspension const):
(WebCore::GenericEventQueueBase<T>::suspend):
(WebCore::GenericEventQueueBase<T>::resume):
(WebCore::GenericEventQueueBase<T>::rescheduleAllEventsIfNeeded):
(WebCore::GenericEventQueueBase<T>::stop):
(WebCore::GenericEventQueueBase<T>::activeDOMObjectName const):
(WebCore::GenericEventQueue::create):
(WebCore::MainThreadGenericEventQueue::create):

  • dom/GenericEventQueue.h:
  • dom/MessagePort.cpp:

(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::close):
(WebCore::MessagePort::dispatchMessages):

  • dom/MessagePort.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::scheduleEvent):
(WebCore::HTMLMediaElement::updateActiveTextTrackCues):
(WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
(WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
(WebCore::HTMLMediaElement::mediaPlayerInitializationDataEncountered):
(WebCore::HTMLMediaElement::closeTaskQueues):
(WebCore::HTMLMediaElement::suspend):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::hasPendingActivity const):
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent):

  • html/HTMLMediaElement.h:
  • html/track/TrackListBase.cpp:

(WebCore::TrackListBase::TrackListBase):
(WebCore::TrackListBase::scheduleTrackEvent):
(WebCore::TrackListBase::scheduleChangeEvent):
(WebCore::TrackListBase::isChangeEventScheduled const):
(WebCore::TrackListBase::canSuspendForDocumentSuspension const):

  • html/track/TrackListBase.h:
  • workers/Worker.cpp:

(WebCore::Worker::Worker):
(WebCore::Worker::terminate):
(WebCore::Worker::stop):
(WebCore::Worker::hasPendingActivity const):
(WebCore::Worker::enqueueEvent):
(WebCore::Worker::dispatchEvent):

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

(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
(WebCore::ServiceWorkerContainer::startMessages):
(WebCore::ServiceWorkerContainer::postMessage):
(WebCore::ServiceWorkerContainer::stop):

  • workers/service/ServiceWorkerContainer.h:
8:23 PM Changeset in webkit [250541] by ysuzuki@apple.com
  • 3 edits
    1 add in trunk

[JSC] HeapSnapshotBuilder m_rootData should be protected with a lock too
https://bugs.webkit.org/show_bug.cgi?id=202389
<rdar://problem/50717564>

Reviewed by Mark Lam.

JSTests:

  • stress/heap-analyzer-taking-lock.js: Added.

Source/JavaScriptCore:

While we are protecting HeapSnapshotBuilder::m_edges with a lock, we are not protecting m_rootData, which is also concurrently modified.
This patch protects it.

  • heap/HeapSnapshotBuilder.cpp:

(JSC::HeapSnapshotBuilder::setOpaqueRootReachabilityReasonForCell):

5:50 PM Changeset in webkit [250540] by sbarati@apple.com
  • 25 edits
    13 adds in trunk

Inline caching is wrong for custom accessors and custom values
https://bugs.webkit.org/show_bug.cgi?id=201994
<rdar://problem/50850326>

Reviewed by Yusuke Suzuki.

JSTests:

  • microbenchmarks/custom-accessor-materialized.js: Added.

(assert):
(test4.get const):

  • microbenchmarks/custom-accessor-thin-air.js: Added.

(assert):
(test5.get const):
(test5.get proto):

  • microbenchmarks/custom-accessor.js: Added.

(assert):
(test3.get const):

  • microbenchmarks/custom-value-2.js: Added.

(assert):
(test1.getMultiline):
(test1):

  • microbenchmarks/custom-value.js: Added.

(assert):
(test1.getMultiline):
(test1):

  • stress/custom-accessor-delete-1.js: Added.

(assert):
(test3.get const):

  • stress/custom-accessor-delete-2.js: Added.

(assert):
(test4.get const):

  • stress/custom-accessor-delete-3.js: Added.

(assert):
(test5.get const):
(test5.get proto):

  • stress/custom-value-delete-property-1.js: Added.

(assert):
(test1.getMultiline):
(test1):

  • stress/custom-value-delete-property-2.js: Added.

(test2.foo):
(test2):

  • stress/custom-value-delete-property-3.js: Added.

(test6.foo):
(test6):

Source/JavaScriptCore:

There was an oversight in our inline caching code for custom accessors and
custom values. We used to assume that if an object O had a custom function for
property P, then O will forever respond to the same custom function for
property P.

This assumption was very wrong. These custom accessors/values might be
properties in JS which are configurable, so they can be rewritten to be
other properties. Our inline caching code would be wrong in the scenarios
where these property descriptors got redefined.

This patch makes it so that we now properly watchpoint for custom functions
being changed. If the custom accessor has been materialized, we place an
Equivalence watchpoint on the custom accessor. This patch also teaches
StructureStubInfo how to watchpoint on property value equivalence. Before,
we just watchpointed on structure transitions.

This patch also adds a new property condition kind for when the custom function
exists inside the static property table. This case is really easy to test for
because we just need to see if the structure still has static properties and
the static property table has the entry for a particular property. This
property condition kind just needs to watch for structure transitions because
an entry in the static property table can't be mutated.

This patch is neutral on the microbenchmarks I've added.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::AccessCase):
(JSC::AccessCase::couldStillSucceed const):
(JSC::AccessCase::generateImpl):

  • bytecode/AdaptiveInferredPropertyValueWatchpointBase.h:
  • bytecode/ObjectPropertyCondition.cpp:

(JSC::ObjectPropertyCondition::structureEnsuresValidityAssumingImpurePropertyWatchpoint const):

  • bytecode/ObjectPropertyCondition.h:

(JSC::ObjectPropertyCondition::customFunctionEquivalence):

  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::ObjectPropertyConditionSet::hasOneSlotBaseCondition const):
(JSC::ObjectPropertyConditionSet::slotBaseCondition const):
(JSC::generateConditionsForPrototypePropertyHitCustom):

  • bytecode/ObjectPropertyConditionSet.h:
  • bytecode/PolyProtoAccessChain.cpp:

(JSC::PolyProtoAccessChain::create):

  • bytecode/PolymorphicAccess.cpp:

(JSC::AccessGenerationState::installWatchpoint):
(JSC::PolymorphicAccess::commit):
(JSC::AccessGenerationState::addWatchpoint): Deleted.

  • bytecode/PolymorphicAccess.h:
  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::dumpInContext const):
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):
(JSC::PropertyCondition::validityRequiresImpurePropertyWatchpoint const):
(JSC::PropertyCondition::isStillValid const):
(JSC::PropertyCondition::isWatchableWhenValid const):
(WTF::printInternal):

  • bytecode/PropertyCondition.h:

(JSC::PropertyCondition::customFunctionEquivalence):
(JSC::PropertyCondition::hash const):
(JSC::PropertyCondition::operator== const):

  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::StructureTransitionStructureStubClearingWatchpoint::fireInternal):
(JSC::WatchpointsOnStructureStubInfo::addWatchpoint):
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndInstallWatchpoint):
(JSC::WatchpointsOnStructureStubInfo::ensureReferenceAndAddWatchpoint):
(JSC::AdaptiveValueStructureStubClearingWatchpoint::handleFire):
(JSC::StructureStubClearingWatchpoint::fireInternal): Deleted.

  • bytecode/StructureStubClearingWatchpoint.h:
  • bytecode/Watchpoint.h:
  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):
(JSC::tryCachePutByID):

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

(JSC::JSObject::findPropertyHashEntry const):

  • runtime/JSObject.h:
  • runtime/ObjectPropertyChangeAdaptiveWatchpoint.h:
  • runtime/Structure.cpp:

(JSC::Structure::findPropertyHashEntry const):

  • runtime/Structure.h:
  • tools/JSDollarVM.cpp:

(JSC::testStaticAccessorGetter):
(JSC::testStaticAccessorPutter):
(JSC::StaticCustomAccessor::StaticCustomAccessor):
(JSC::StaticCustomAccessor::createStructure):
(JSC::StaticCustomAccessor::create):
(JSC::StaticCustomAccessor::getOwnPropertySlot):
(JSC::functionCreateStaticCustomAccessor):
(JSC::JSDollarVM::finishCreation):

LayoutTests:

  • js/dom/custom-accessor-redefine-expected.txt: Added.
  • js/dom/custom-accessor-redefine.html: Added.
5:47 PM Changeset in webkit [250539] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

5:23 PM Changeset in webkit [250538] by Alan Coon
  • 1 copy in tags/Safari-608.3.6

Tag Safari-608.3.6.

5:10 PM Changeset in webkit [250537] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

5:00 PM Changeset in webkit [250536] by ysuzuki@apple.com
  • 3 edits
    1 add in trunk

[JSC] AI folds CompareEq wrongly when it sees proven Boolean and Number
https://bugs.webkit.org/show_bug.cgi?id=202382
<rdar://problem/52669112>

Reviewed by Saam Barati.

JSTests:

  • stress/compare-eq-bool-number-folding.js: Added.

(test):

Source/JavaScriptCore:

If CompareEq(Untyped, Untyped) finds that it gets proven Boolean and Number types on its arguments,
we fold it to constant False. But this is wrong since false == 0 is true in JS.
This patch adds leastUpperBoundOfEquivalentSpeculations, which merges Number, BigInt, and Boolean types
if one of them are seen.

  • bytecode/SpeculatedType.cpp:

(JSC::leastUpperBoundOfEquivalentSpeculations):
(JSC::valuesCouldBeEqual):

4:56 PM Changeset in webkit [250535] by Alan Coon
  • 1 copy in tags/Safari-608.3.5

Tag Safari-608.3.5.

4:47 PM Changeset in webkit [250534] by chris.reid@sony.com
  • 3 edits in trunk/Source/WebKit

[WinCairo] Move Remote Inspector Server initialization out of WebView
https://bugs.webkit.org/show_bug.cgi?id=202369

Reviewed by Ross Kirsling.

Move Remote Inspector Server initialization to Windows WebProcessPool initialization.

  • UIProcess/win/WebProcessPoolWin.cpp:
  • UIProcess/win/WebView.cpp:
4:32 PM Changeset in webkit [250533] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: shader type header is white in dark mode
https://bugs.webkit.org/show_bug.cgi?id=202253

Reviewed by Matt Baker.

  • UserInterface/Views/ShaderProgramContentView.css:

(.content-view.shader-program > .shader > header > .shader-type):
(@media (prefers-color-scheme: dark) .content-view.shader-program > .shader > header > .shader-type): Added.
(@media (prefers-color-scheme: dark) .content-view.shader-program > .shader > header): Deleted.
(.content-view.shader-program > .shader > header > *): Deleted.

3:52 PM Changeset in webkit [250532] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

Unreviewed build fix. rdar://problem/55825353

3:33 PM Changeset in webkit [250531] by Chris Dumez
  • 6 edits
    2 adds in trunk

IDBTransaction / IDBObjectStore should not prevent a page from entering the back / forward cache
https://bugs.webkit.org/show_bug.cgi?id=202291
<rdar://problem/55760106>

Reviewed by Geoffrey Garen.

Source/WebCore:

IDBObjectStore does not fire any events and should therefore not cause any problem while in PageCache.
IDBTransaction can only fire abort/complete/error events, all of which are being enqueued to the
DocumentEventQueue. The DocumentEventQueue subclasses SuspendableTimer which will correctly suspend
while the document is in page cache. IDBTransaction will therefore not cause events to fire (and JS
to run) while in page cache.

Test: storage/indexeddb/IDBTransaction-page-cache.html

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::canSuspendForDocumentSuspension const):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::canSuspendForDocumentSuspension const):

LayoutTests:

Add layout test coverage.

  • storage/indexeddb/IDBTransaction-page-cache.html: Added.
2:09 PM Changeset in webkit [250530] by Alan Coon
  • 9 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r250428. rdar://problem/55825357

[iOS] Lock screen controls can fail to play web content
https://bugs.webkit.org/show_bug.cgi?id=202279

Reviewed by Chris Dumez.

When playback is paused from the lock screen via Now Playing controls, the WebProcess,
UIProcess, and Network Process will all be suspended. MediaRemote will take an assertion
and wake up the WebProcess when a remote control command to "play" is sent via the Now
Playing controls. However, if a synchronous message to the (suspended) Network or UIProcess
is issued before the notification that the process was unexpectedly unsuspended can be
issued (which will subsequently unsuspend the UIProcess and Network process), we can get
into a deadlocked state where the main thread is blocked on the sync message to a suspended
process.

To work around this problem, move all the processing from ProcessTaskStateObserver to a
WorkQueue / background thread. This requires making the ProcessTaskStateObserver thread-safe,
though its only current client is a Singleton (the WebProcess class), and so the risk of
thread safety issues is currently minimal. Regardless, access to the Client pointer must be
guarded by a Lock, and the Client itself must become ref-counted, so that the
ProcessTaskStateObserver can ref its Client (the WebProcess) during callback processing.

Unfortunately, sendWithAsyncReply() is not thread safe, nor is ProcessAssertion, so instead
just use send() and set a 5-second timeout before expiring the assertion, and just use
BKSProcessStateAssertion directly.

  • Shared/Cocoa/ProcessTaskStateObserver.h: (WebKit::ProcessTaskStateObserver::Client::ref): (WebKit::ProcessTaskStateObserver::Client::deref): (WebKit::ProcessTaskStateObserver::setClient): Deleted. (WebKit::ProcessTaskStateObserver::client): Deleted.
  • Shared/Cocoa/ProcessTaskStateObserver.mm: (-[WKProcessTaskStateObserverDelegate process:taskStateDidChange:]): (WebKit::ProcessTaskStateObserver::create): (WebKit::ProcessTaskStateObserver::ProcessTaskStateObserver): (WebKit::ProcessTaskStateObserver::~ProcessTaskStateObserver): (WebKit::ProcessTaskStateObserver::invalidate): (WebKit::ProcessTaskStateObserver::client): (WebKit::ProcessTaskStateObserver::setTaskState):
  • WebProcess/WebProcess.cpp: (WebKit::m_taskStateObserver):
  • WebProcess/WebProcess.h:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::processWasUnexpectedlyUnsuspended):
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange):

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

2:08 PM Changeset in webkit [250529] by Alan Coon
  • 3 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r250483. rdar://problem/55825351

[Experiment][iOS] Add temporary HTTP header to distinguish iPads for requests to Google
https://bugs.webkit.org/show_bug.cgi?id=202335
<rdar://problem/55790994>

Reviewed by Maciej Stachowiak.

  • loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::requestResource):
  • platform/network/HTTPHeaderNames.in:

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

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

Refine restrictions for X-Temp-Tablet HTTP header experiment
https://bugs.webkit.org/show_bug.cgi?id=202367
<rdar://problem/55849139>

Reviewed by Geoffrey Garen.

Refine restrictions for X-Temp-Tablet HTTP header experiment:

  1. Only send the header if the embedding application is MobileSafari.
  2. Only send the header if the first party is google.com
  3. Only send the header if the current date is before 2/1/2020
  4. Send the header even if using an ephemeral session
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::isXTempTabletHeaderExperimentOver):
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::isGoogleSearch):
(WebCore::CachedResourceLoader::shouldSendXTempTabletHeader const):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceLoader.h:
2:00 PM Changeset in webkit [250527] by Chris Dumez
  • 19 edits
    2 adds in trunk

Pages with Web Workers cannot enter the back / forward cache
https://bugs.webkit.org/show_bug.cgi?id=202296
<rdar://problem/55764073>

Reviewed by Jer Noble.

Source/WebCore:

Allow pages that use Web Workers to enter the back / forward cache.
This involves adding an EventQueue for all event firing on Woker
objects and suspending this EventQueue while in the page cache.

This was preventing some of the pages on weather.com to enter the
back / forward cache.

Test: fast/workers/worker-page-cache.html

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediasource/SourceBufferList.h:
  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):

  • Modules/webaudio/AudioContext.h:
  • animation/DeclarativeAnimation.h:
  • dom/GenericEventQueue.cpp:

(WebCore::TaskQueueConstructor::construct):
(WebCore::TaskQueueConstructor<Timer>::construct):
(WebCore::GenericEventQueueBase<T>::GenericEventQueueBase):
(WebCore::GenericEventQueueBase<T>::enqueueEvent):
(WebCore::GenericEventQueueBase<T>::dispatchOneEvent):
(WebCore::GenericEventQueueBase<T>::close):
(WebCore::GenericEventQueueBase<T>::cancelAllEvents):
(WebCore::GenericEventQueueBase<T>::hasPendingEvents const):
(WebCore::GenericEventQueueBase<T>::hasPendingEventsOfType const):
(WebCore::GenericEventQueueBase<T>::suspend):
(WebCore::GenericEventQueueBase<T>::resume):

  • dom/GenericEventQueue.h:

(WebCore::GenericEventQueueBase::isSuspended const):
(WebCore::MainThreadGenericEventQueue::MainThreadGenericEventQueue):
(WebCore::GenericEventQueue::GenericEventQueue):
Rename GenericEventQueue to MainThreadGenericEventQueue since its implementation relies
on a global shared Timer to fire events. Introduce a new GenericEventQueue which can
actually be used from any thread. This is useful for MessagePort, which is used both
on the main thread and on worker threads.

  • dom/MessagePort.cpp:

(WebCore::MessagePort::MessagePort):
(WebCore::MessagePort::close):
(WebCore::MessagePort::suspend):
(WebCore::MessagePort::resume):
(WebCore::MessagePort::dispatchMessages):

  • dom/MessagePort.h:

Use an GenericEventQueue in MessagePort for consistency with Worker.
MessagePort is an ActiveDOMobject which returns true in canSuspend(),
we therefore need to make sure it suspends event firing while
suspended.

  • html/HTMLMediaElement.h:
  • html/track/TrackListBase.h:
  • workers/Worker.cpp:

(WebCore::Worker::Worker):
(WebCore::Worker::terminate):
(WebCore::Worker::canSuspendForDocumentSuspension const):
(WebCore::Worker::suspend):
(WebCore::Worker::resume):
(WebCore::Worker::stop):
(WebCore::Worker::hasPendingActivity const):
(WebCore::Worker::notifyFinished):
(WebCore::Worker::enqueueEvent):
(WebCore::Worker::dispatchEvent):

  • workers/Worker.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):

LayoutTests:

Add layout test coverage.

  • fast/workers/worker-page-cache-expected.txt: Added.
  • fast/workers/worker-page-cache.html: Added.
1:27 PM Changeset in webkit [250526] by Alan Coon
  • 3 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r250405. rdar://problem/55825353

Add some logging to help diagnose blank or stuck WKWebViews
https://bugs.webkit.org/show_bug.cgi?id=202297
<rdar://problem/55763610>

Reviewed by Wenson Hsieh.

Our current logging is insufficient to rule out some of the potential
causes of stuck/blank WKWebViews in <rdar://problem/53399054>. Add
some new logging, and improve some existing logging, to aid in diagnosis.

  • UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _willInvokeUIScrollViewDelegateCallback]): (-[WKWebView _didInvokeUIScrollViewDelegateCallback]): Rename _delayUpdateVisibleContentRects to be more specific that it was due to us being underneath a UIScrollView delegate callback.

(-[WKWebView _processWillSwapOrDidExit]):
(-[WKWebView _didCommitLayerTree:]):
Add a log when we receive an incoming commit while visible content rect
updates are being deferred. Also, include the current transaction ID
and the transaction ID that _needsResetViewState... is waiting for, to
help rule out a class of potential problems.

Add a log when we receive an incoming commit more than 5 seconds after
a visible content rect update.

(-[WKWebView _updateVisibleContentRects]):
Keep track of when we defer visual content rect updates for any reason,
and log the first time we do an update after deferring them. This will make
it MUCH easier at-a-glance to tell if one of the "bailing" messages
represents a long-term state (a problem), or is expected.

Keep track of how long it's been since we sent a visible content rect update
and didn't get a commit back from the Web Content process; if it's been
more than 5 seconds, start logging.

(-[WKWebView _cancelAnimatedResize]):
(-[WKWebView _didCompleteAnimatedResize]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):
Turn animated resize logging into release logging. It is a common culprit
for many kinds of bugs, while also not being high volume, so this is well worth it.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): Show the current value of m_layerTreeFreezeReasons in addition to the old value and delta, so you don't have to manually compute the current value when reading logs.

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

1:16 PM Changeset in webkit [250525] by Alan Coon
  • 22 edits
    2 adds in branches/safari-608-branch

Cherry-pick r250488. rdar://problem/55826334

Crash when removing the target element while animating its attributes
https://bugs.webkit.org/show_bug.cgi?id=202247

Reviewed by Darin Adler.

Source/WebCore:

If SMIL is animating a CSS attribute, there is a chance the animation is
ended while it is being started or progressed. For that reason, the member
SVGAnimateElementBase::m_animator has to be made RefPtr and it has to be
be protected in resetAnimatedType() and calculateAnimatedValue().

While SMILTimeContainer::updateAnimations() is calling progress() for the
scheduled animation elements, SMILTimeContainer::unschedule() might get
called if processing an animation causes events to be dispatched. For that
reason we need to copy the scheduled animations Vector before processing
them so we avoid changing the Vector while looping through its items.

Remove the guard SMILTimeContainer::m_preventScheduledAnimationsChanges
which was added in r129670 for debugging purposes. In some situations,
the scheduled animations map could be modified out from under some of the
functions of SMILTimeContainer.

Test: svg/animations/animate-and-remove-target-element.html

  • svg/SVGAnimateElementBase.cpp: (WebCore::SVGAnimateElementBase::resetAnimatedType): (WebCore::SVGAnimateElementBase::calculateAnimatedValue):
  • svg/SVGAnimateElementBase.h:
  • svg/SVGElement.cpp: (WebCore::SVGElement::createAnimator):
  • svg/SVGElement.h:
  • svg/animation/SMILTimeContainer.cpp: (WebCore::SMILTimeContainer::schedule): (WebCore::SMILTimeContainer::unschedule): (WebCore::SMILTimeContainer::setElapsed): (WebCore::SMILTimeContainer::sortByPriority): (WebCore::SMILTimeContainer::processAnimations): (WebCore::SMILTimeContainer::processScheduledAnimations): (WebCore::SMILTimeContainer::updateAnimations): (WebCore::SMILTimeContainer::~SMILTimeContainer): Deleted.
  • svg/animation/SMILTimeContainer.h:
  • svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::calculateNextProgressTime const):
  • svg/properties/SVGAnimatedPropertyAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
  • svg/properties/SVGAnimatedPropertyPairAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyPairAnimator.h:
  • svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h:
  • svg/properties/SVGAttributeAnimator.h:
  • svg/properties/SVGMemberAccessor.h: (WebCore::SVGMemberAccessor::createAnimator const):
  • svg/properties/SVGPrimitivePropertyAnimator.h: (WebCore::SVGPrimitivePropertyAnimator::create):
  • svg/properties/SVGPropertyAnimatorFactory.h: (WebCore::SVGPropertyAnimatorFactory::createAnimator):
  • svg/properties/SVGPropertyOwnerRegistry.h:
  • svg/properties/SVGPropertyRegistry.h:
  • svg/properties/SVGValuePropertyAnimatorImpl.h:
  • svg/properties/SVGValuePropertyListAnimatorImpl.h:

LayoutTests:

  • svg/animations/animate-and-remove-target-element-expected.txt: Added.
  • svg/animations/animate-and-remove-target-element.html: Added.

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

1:15 PM Changeset in webkit [250524] by Alan Coon
  • 61 edits
    1 delete in branches/safari-608-branch/Source/WebCore

Cherry-pick r249822. rdar://problem/55826334

SVGLengthValue should use two enums for 'type' and 'mode' instead of one unsigned for 'units'
https://bugs.webkit.org/show_bug.cgi?id=201663

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-09-12
Reviewed by Simon Fraser, Nikolas Zimmermann.

SVGLengthValue had one unsigned to store SVGLengthMode and SVGLengthType.
It used to allocate the least significant 4 bits of this unsigned to the
SVGLengthMode while it leaves the rest for SVGLengthType.

This will not be needed if SVGLengthMode and SVGLengthType are made of
size uint_8.

Also in this patch:

-- SVGLengthNegativeValuesMode is made enum class.

-- SVGLengthValue::blend() is moved to SVGLengthValue.cpp so we do not

need to include SVGLengthContext.h in SVGLengthValue.h.

-- SVGLengthType and SVGLengthMode are moved to SVGLengthValue.h. Instead

of having SVGLengthValue.h includes SVGLengthConttext.h, the opposite
will happen.

-- SVGAnimatedPropertyDescription.h is deleted. It should have been deleted

with the SVG tear off objects removal.

-- SVGPropertyTraits<SVGAngleValue> and SVGPropertyTraits<SVGLengthValue>

are deleted. They should have been deleted with SVGAnimatedType removal.

-- SVGLengthValue::lengthModeForAnimatedLengthAttribute() is deleted. It

was only called from SVGPropertyTraits<SVGLengthValue>.

  • WebCore.xcodeproj/project.pbxproj:
  • css/StyleResolver.h:
  • page/animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc):
  • rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialBaselineShiftValue): (WebCore::SVGRenderStyle::initialKerning):
  • rendering/svg/RenderSVGEllipse.cpp: (WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
  • rendering/svg/RenderSVGRect.cpp: (WebCore::RenderSVGRect::updateShapeFromElement):
  • rendering/svg/SVGPathData.cpp: (WebCore::pathFromCircleElement): (WebCore::pathFromEllipseElement): (WebCore::pathFromRectElement):
  • rendering/svg/SVGTextLayoutEngineBaseline.cpp: (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift const):
  • rendering/svg/SVGTextLayoutEngineSpacing.cpp: (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
  • svg/LinearGradientAttributes.h: (WebCore::LinearGradientAttributes::LinearGradientAttributes):
  • svg/RadialGradientAttributes.h: (WebCore::RadialGradientAttributes::RadialGradientAttributes):
  • svg/SVGAngleValue.h: (WebCore::SVGPropertyTraits<SVGAngleValue>::initialValue): Deleted. (WebCore::SVGPropertyTraits<SVGAngleValue>::toString): Deleted.
  • svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::parseAttribute):
  • svg/SVGCircleElement.h:
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::parseAttribute):
  • svg/SVGCursorElement.h:
  • svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::parseAttribute):
  • svg/SVGEllipseElement.h:
  • svg/SVGFilterElement.cpp: (WebCore::SVGFilterElement::parseAttribute):
  • svg/SVGFilterElement.h:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp: (WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::parseAttribute):
  • svg/SVGForeignObjectElement.h:
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::parseAttribute):
  • svg/SVGImageElement.h:
  • svg/SVGLength.h: (WebCore::SVGLength::unitType const): (WebCore::SVGLength::setValueForBindings): (WebCore::SVGLength::newValueSpecifiedUnits): (WebCore::SVGLength::convertToSpecifiedUnits): (WebCore::SVGLength::unitType): Deleted.
  • svg/SVGLengthContext.cpp: (WebCore::SVGLengthContext::valueForLength): (WebCore::SVGLengthContext::convertValueToUserUnits const): (WebCore::SVGLengthContext::convertValueFromUserUnits const): (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage const): (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits const):
  • svg/SVGLengthContext.h: (): Deleted.
  • svg/SVGLengthList.h: (WebCore::SVGLengthList::create):
  • svg/SVGLengthValue.cpp: (WebCore::lengthTypeToString): (WebCore::parseLengthType): (WebCore::primitiveTypeToLengthType): (WebCore::lengthTypeToPrimitiveType): (WebCore::SVGLengthValue::SVGLengthValue): (WebCore::SVGLengthValue::construct): (WebCore::SVGLengthValue::blend): (WebCore::SVGLengthValue::fromCSSPrimitiveValue): (WebCore::SVGLengthValue::toCSSPrimitiveValue): (WebCore::SVGLengthValue::setValueAsString): (WebCore::SVGLengthValue::valueAsString const): (WebCore::SVGLengthValue::valueForBindings const): (WebCore::SVGLengthValue::setValue): (WebCore::SVGLengthValue::convertToSpecifiedUnits): (WebCore::storeUnit): Deleted. (WebCore::extractMode): Deleted. (WebCore::extractType): Deleted. (WebCore::SVGLengthValue::operator== const): Deleted. (WebCore::SVGLengthValue::operator!= const): Deleted. (WebCore::SVGLengthValue::unitType const): Deleted. (WebCore::SVGLengthValue::unitMode const): Deleted. (WebCore::SVGLengthValue::valueAsPercentage const): Deleted. (WebCore::SVGLengthValue::newValueSpecifiedUnits): Deleted. (WebCore::SVGLengthValue::lengthModeForAnimatedLengthAttribute): Deleted.
  • svg/SVGLengthValue.h: (WebCore::SVGLengthValue::lengthType const): (WebCore::SVGLengthValue::lengthMode const): (WebCore::SVGLengthValue::isZero const): (WebCore::SVGLengthValue::isRelative const): (WebCore::SVGLengthValue::valueAsPercentage const): (WebCore::SVGLengthValue::valueInSpecifiedUnits const): (WebCore::operator==): (WebCore::operator!=): (WebCore::SVGLengthValue::blend const): Deleted. (WebCore::SVGPropertyTraits<SVGLengthValue>::initialValue): Deleted. (WebCore::SVGPropertyTraits<SVGLengthValue>::parse): Deleted. (WebCore::SVGPropertyTraits<SVGLengthValue>::toString): Deleted.
  • svg/SVGLineElement.cpp: (WebCore::SVGLineElement::parseAttribute):
  • svg/SVGLineElement.h:
  • svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::parseAttribute):
  • svg/SVGLinearGradientElement.h:
  • svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::parseAttribute):
  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::parseAttribute):
  • svg/SVGMaskElement.h:
  • svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::parseAttribute):
  • svg/SVGPatternElement.h:
  • svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::parseAttribute):
  • svg/SVGRadialGradientElement.h:
  • svg/SVGRectElement.cpp: (WebCore::SVGRectElement::parseAttribute):
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::parseAttribute): (WebCore::SVGSVGElement::hasIntrinsicWidth const): (WebCore::SVGSVGElement::hasIntrinsicHeight const): (WebCore::SVGSVGElement::intrinsicWidth const): (WebCore::SVGSVGElement::intrinsicHeight const):
  • svg/SVGSVGElement.h:
  • svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::parseAttribute): (WebCore::SVGTextContentElement::textLengthAnimated):
  • svg/SVGTextContentElement.h:
  • svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::parseAttribute):
  • svg/SVGTextPathElement.h:
  • svg/SVGTextPositioningElement.h:
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::parseAttribute):
  • svg/SVGUseElement.h:
  • svg/properties/SVGAnimatedPropertyAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyDescription.h: Removed.
  • svg/properties/SVGAnimationAdditiveListFunctionImpl.h: (WebCore::SVGAnimationLengthListFunction::animate):
  • svg/properties/SVGAnimationAdditiveValueFunctionImpl.h: (WebCore::SVGAnimationLengthFunction::animate):
  • svg/properties/SVGValuePropertyAnimatorImpl.h:
  • svg/properties/SVGValuePropertyListAnimatorImpl.h:

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

12:36 PM Changeset in webkit [250523] by zhifei_fang@apple.com
  • 2 edits in trunk/Tools

[results.webkit.org Timeline] New axis style
https://bugs.webkit.org/show_bug.cgi?id=202292

Reviewed by Jonathan Bedard.

  • resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
12:10 PM Changeset in webkit [250522] by Keith Rollin
  • 6 edits in trunk/Source/WebCore
Coalesce or remove PLATFORM(MAC)
PLATFORM(IOS_FAMILY)

https://bugs.webkit.org/show_bug.cgi?id=202119
<rdar://problem/55638792>

Unreviewed, address post landing review comments for r248533 from
Darin Adler.

Source/WebCore:

No new tests -- no new or changed functionality.

  • Modules/applepay/cocoa/PaymentContactCocoa.mm:

(WebCore::convert):
(WebCore::subLocality): Deleted.
(WebCore::setSubLocality): Deleted.
(WebCore::subAdministrativeArea): Deleted.
(WebCore::setSubAdministrativeArea): Deleted.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:
  • pal/spi/cocoa/NEFilterSourceSPI.h:
  • pal/spi/mac/AVFoundationSPI.h:
11:49 AM Changeset in webkit [250521] by achristensen@apple.com
  • 30 edits in trunk

Move DownloadMonitor test speed multiplier from WebProcessPool to WebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=202339

Reviewed by Youenn Fablet.

Source/WebKit:

This was only used for some unit tests, which still are accelerated so they pass in the same amount of time as before.
I need this value to not be process-global in the NetworkProcess.

  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::Download):

  • NetworkProcess/Downloads/Download.h:

(WebKit::Download::Download):
(WebKit::Download::testSpeedMultiplier const):

  • NetworkProcess/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::resumeDownload):

  • NetworkProcess/Downloads/DownloadManager.h:
  • NetworkProcess/Downloads/DownloadMonitor.cpp:

(WebKit::DownloadMonitor::applicationDidEnterBackground):
(WebKit::DownloadMonitor::testSpeedMultiplier const):
(WebKit::DownloadMonitor::timerFired):
(WebKit::DownloadMonitor::speedMultiplier const): Deleted.

  • NetworkProcess/Downloads/DownloadMonitor.h:
  • NetworkProcess/NetworkDataTaskBlob.cpp:

(WebKit::NetworkDataTaskBlob::download):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

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

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

(WebKit::NetworkSession::NetworkSession):

  • NetworkProcess/NetworkSession.h:

(WebKit::NetworkSession::testSpeedMultiplier const):

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

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

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

(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:

(-[_WKProcessPoolConfiguration downloadMonitorSpeedMultiplierForTesting]): Deleted.
(-[_WKProcessPoolConfiguration setDownloadMonitorSpeedMultiplierForTesting:]): Deleted.

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

(-[_WKWebsiteDataStoreConfiguration testSpeedMultiplier]):
(-[_WKWebsiteDataStoreConfiguration setTestSpeedMultiplier:]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp:

(WebKit::WebsiteDataStoreConfiguration::copy):

  • UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h:

(WebKit::WebsiteDataStoreConfiguration::testSpeedMultiplier const):
(WebKit::WebsiteDataStoreConfiguration::setTestSpeedMultiplier):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier):

11:15 AM Changeset in webkit [250520] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Add some assertions to convertUTF8ToUTF16().
https://bugs.webkit.org/show_bug.cgi?id=202356
<rdar://problem/52846813>

Reviewed by Filip Pizlo.

  • wtf/unicode/UTF8Conversion.cpp:

(WTF::Unicode::convertUTF8ToUTF16):

8:55 AM Changeset in webkit [250519] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

RenderLineBreak should use LineLayoutTraversal
https://bugs.webkit.org/show_bug.cgi?id=202316

Reviewed by Zalan Bujtas.

Replace more path specific code with LineLayoutTraversal.

  • Headers.cmake:
  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::linesBoundingBox const):
(WebCore::RenderLineBreak::absoluteRects const):
(WebCore::RenderLineBreak::absoluteQuads const):
(WebCore::simpleLineLayout): Deleted.

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::writeTextBox):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::computeBoundingBox): Deleted.
(WebCore::SimpleLineLayout::collectAbsoluteRects): Deleted.
(WebCore::SimpleLineLayout::rendererForPosition): Deleted.

  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/line/LineLayoutTraversal.cpp:

(WebCore::LineLayoutTraversal::ElementBoxIterator::ElementBoxIterator):
(WebCore::LineLayoutTraversal::ElementBoxIterator::atEnd const):
(WebCore::LineLayoutTraversal::elementBoxFor):
(WebCore::LineLayoutTraversal::TextBox::rect const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::logicalRect const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::hasHyphen const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::isLeftToRightDirection const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::dirOverride const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::text const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::isLineBreak const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::localStartOffset const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::localEndOffset const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::length const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::isLastOnLine const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::isLast const): Deleted.
(WebCore::LineLayoutTraversal::TextBox::iterator const): Deleted.

Move to header as templates.

  • rendering/line/LineLayoutTraversal.h:

(WebCore::LineLayoutTraversal::ElementBoxIterator::ElementBoxIterator):
(WebCore::LineLayoutTraversal::ElementBoxIterator::operator bool const):
(WebCore::LineLayoutTraversal::ElementBoxIterator::operator* const):
(WebCore::LineLayoutTraversal::ElementBoxIterator::operator-> const):

Add a new iterator type for element boxes.
It doesn't currently really iterate, is just allows testing for end.

(WebCore::LineLayoutTraversal::Box<Iterator>::rect const):
(WebCore::LineLayoutTraversal::Box<Iterator>::logicalRect const):
(WebCore::LineLayoutTraversal::Box<Iterator>::isLeftToRightDirection const):
(WebCore::LineLayoutTraversal::Box<Iterator>::dirOverride const):
(WebCore::LineLayoutTraversal::Box<Iterator>::isLineBreak const):
(WebCore::LineLayoutTraversal::Box<Iterator>::iterator const):

Split properties that all inline boxes have out from TextBox.
Make it a template class.

(WebCore::LineLayoutTraversal::TextBox<Iterator>::hasHyphen const):
(WebCore::LineLayoutTraversal::TextBox<Iterator>::text const):
(WebCore::LineLayoutTraversal::TextBox<Iterator>::localStartOffset const):
(WebCore::LineLayoutTraversal::TextBox<Iterator>::localEndOffset const):
(WebCore::LineLayoutTraversal::TextBox<Iterator>::length const):
(WebCore::LineLayoutTraversal::TextBox<Iterator>::isLastOnLine const):
(WebCore::LineLayoutTraversal::TextBox<Iterator>::isLast const):

Make a template class.

(WebCore::LineLayoutTraversal::hasTextBoxes): Deleted.

5:38 AM Changeset in webkit [250518] by Carlos Garcia Campos
  • 12 edits in trunk

[GTK] IconDatabase is not thread-safe
https://bugs.webkit.org/show_bug.cgi?id=201303

Reviewed by Žan Doberšek.

Source/WebKit:

Rewrite the IconDatabase implementation. Now that we are the only users of this code, we can simply it a lot and
design it specifically for our API, which implementation has been simplified a lot too. There's no change in
the database schema nor in behavior from the API point of view.

  • UIProcess/API/glib/IconDatabase.cpp:

(WebKit::IconDatabase::IconDatabase):
(WebKit::IconDatabase::~IconDatabase):
(WebKit::IconDatabase::createTablesIfNeeded):
(WebKit::IconDatabase::populatePageURLToIconURLMap):
(WebKit::IconDatabase::clearStatements):
(WebKit::IconDatabase::pruneTimerFired):
(WebKit::IconDatabase::startPruneTimer):
(WebKit::IconDatabase::clearLoadedIconsTimerFired):
(WebKit::IconDatabase::startClearLoadedIconsTimer):
(WebKit::IconDatabase::iconIDForIconURL):
(WebKit::IconDatabase::setIconIDForPageURL):
(WebKit::IconDatabase::iconData):
(WebKit::IconDatabase::addIcon):
(WebKit::IconDatabase::updateIconTimestamp):
(WebKit::IconDatabase::deleteIcon):
(WebKit::IconDatabase::checkIconURLAndSetPageURLIfNeeded):
(WebKit::IconDatabase::loadIconForPageURL):
(WebKit::IconDatabase::iconURLForPageURL):
(WebKit::IconDatabase::setIconForPageURL):
(WebKit::IconDatabase::clear):

  • UIProcess/API/glib/IconDatabase.h:

(WebKit::IconDatabase::create):

  • UIProcess/API/glib/WebKitFaviconDatabase.cpp:

(webkitFaviconDatabaseCreate):
(webkitFaviconDatabaseIsOpen):
(webkitFaviconDatabaseOpen):
(webkitFaviconDatabaseClose):
(webkitFaviconDatabaseGetLoadDecisionForIcon):
(webkitFaviconDatabaseSetIconForPageURL):
(webkitFaviconDatabaseGetFaviconInternal):
(webkit_favicon_database_get_favicon):
(webkit_favicon_database_get_favicon_finish):
(webkit_favicon_database_get_favicon_uri):
(webkit_favicon_database_clear):

  • UIProcess/API/glib/WebKitFaviconDatabasePrivate.h:
  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkitWebContextDispose):
(webkit_web_context_set_favicon_database_directory):
(webkitWebContextCreatePageForWebView):
(webkitWebContextWebViewDestroyed):

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewRequestFavicon):
(webkitWebViewGetLoadDecisionForIcon):
(webkitWebViewSetIcon):

Tools:

Rewrite the WebKitFaviconDatabase tests, splitting tests cases again and making them independent to each other.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:

(testFaviconDatabaseInitialization):
(testFaviconDatabaseGetFavicon):
(ephemeralViewFaviconChanged):
(testFaviconDatabaseEphemeral):
(testFaviconDatabaseClear):
(beforeAll):
(afterAll):

  • TestWebKitAPI/glib/TestExpectations.json: TestWebKitFaviconDatabase shouls always pass now.
5:06 AM Changeset in webkit [250517] by Carlos Garcia Campos
  • 11 edits
    3 adds in trunk

[GTK][WPE] Add about:gpu
https://bugs.webkit.org/show_bug.cgi?id=202305

Reviewed by Žan Doberšek.

.:

Add SVN_REVISION definition to the build.

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

Source/WebKit:

A builtin protocol handler to show information about hardware acceleration. This is useful information we need
from people reporting issues in accelerated compositing mode.

  • SourcesGTK.txt:
  • SourcesWPE.txt:
  • UIProcess/API/glib/WebKitProtocolHandler.cpp: Added.

(WebKit::WebKitProtocolHandler::WebKitProtocolHandler):
(WebKit::WebKitProtocolHandler::handleRequest):
(WebKit::webkitPortName):
(WebKit::hardwareAccelerationPolicy):
(WebKit::webGLEnabled):
(WebKit::openGLAPI):
(WebKit::nativeInterface):
(WebKit::WebKitProtocolHandler::handleGPU):

  • UIProcess/API/glib/WebKitProtocolHandler.h: Added.
  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkitWebContextConstructed):

Tools:

Allow to use about:gpu in MiniBrowser. Add a script to get the current svn revision.

  • MiniBrowser/gtk/BrowserTab.c:

(getInternalURI):

  • MiniBrowser/gtk/main.c:

(argumentToURL):

  • MiniBrowser/wpe/main.cpp:

(main):

  • glib/svn-revision: Added.
4:18 AM Changeset in webkit [250516] by guijemont@igalia.com
  • 2 edits in trunk/Source/WTF

Don't try to use backtrace() on MIPS
https://bugs.webkit.org/show_bug.cgi?id=202196

Reviewed by Carlos Garcia Campos.

backtrace() on mips seems to always return 1 on mips/glibc (I tried
with buildroot, debian stable and debian testing, with and without
libunwind), which renders it useless and breaks a RELEASE_ASSERT in
StackTrace::captureStackTrace().

  • wtf/Platform.h:
3:40 AM Changeset in webkit [250515] by commit-queue@webkit.org
  • 6 edits
    1 delete in trunk

No-Cors check should take into account same-origin
https://bugs.webkit.org/show_bug.cgi?id=202353

Patch by Rob Buis <rbuis@igalia.com> on 2019-09-30
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/redirect/redirect-mode-expected.txt: Removed.
  • web-platform-tests/fetch/api/redirect/redirect-mode.any-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-mode.any.worker-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-redirect.https-expected.txt:

Source/WebCore:

No-Cors check should take into account same-origin, in that case the
check should bail out, since same-origin is already handled in
the first step of [1].

Test: imported/web-platform-tests/fetch/api/redirect/redirect-mode.any.html

[1] https://fetch.spec.whatwg.org/#main-fetch Step 5

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

2:06 AM Changeset in webkit [250514] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[Nicosia] Complete ScrollingTreeNicosia::createScrollingTreeNode()
https://bugs.webkit.org/show_bug.cgi?id=202358

Reviewed by Carlos Garcia Campos.

  • page/scrolling/nicosia/ScrollingTreeNicosia.cpp:

(WebCore::ScrollingTreeNicosia::createScrollingTreeNode):
Return appropriate objects for the remaining node types.

1:50 AM Changeset in webkit [250513] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

[Nicosia] Add missing conversion casts for LayerRepresentation objects
https://bugs.webkit.org/show_bug.cgi?id=202357

Reviewed by Carlos Garcia Campos.

After r250491, we have to request explicit conversion of
LayerRepresentation objects to Nicosia::PlatformLayer pointers.

  • page/scrolling/nicosia/ScrollingTreeFixedNode.cpp:

(WebCore::ScrollingTreeFixedNode::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeFrameScrollingNodeNicosia::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::repositionScrollingLayers):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollProxyNode.cpp:

(WebCore::ScrollingTreeOverflowScrollProxyNode::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:

(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::repositionScrollingLayers):
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::handleWheelEvent):

  • page/scrolling/nicosia/ScrollingTreePositionedNode.cpp:

(WebCore::ScrollingTreePositionedNode::commitStateBeforeChildren):

  • page/scrolling/nicosia/ScrollingTreeStickyNode.cpp:

(WebCore::ScrollingTreeStickyNode::commitStateBeforeChildren):

1:50 AM Changeset in webkit [250512] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

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

it is failing
TestWebKitAPI.ProcessSwap.GetUserMediaCaptureState (Requested
by youenn on #webkit).

Reverted changeset:

"Delay capture sandbox extension revocation to after the page
close message is sent"
https://bugs.webkit.org/show_bug.cgi?id=202133
https://trac.webkit.org/changeset/250291

1:30 AM Changeset in webkit [250511] by bshafiei@apple.com
  • 2 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r250394. rdar://problem/55826250

Crash under WebPage::beginPrinting when m_printContext becomes null due to synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=202171
<rdar://problem/49731211>

Reviewed by Tim Horton.

Speculatively fix a null pointer dereference crash in WebPage::beginPrinting.

WebPage::beginPrinting creates a PrintContext, stores it in m_printContext, then calls
PrintContext::begin which forces a synchronous, paginated layout. If a post-layout task
executes script, that might result in the WebPage being closed and m_printContext being set
to nullptr.

Guard against this in WebPage::beginPrinting by adding a null check before calling
PrintContext::computePageRects.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::beginPrinting):

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

1:30 AM Changeset in webkit [250510] by bshafiei@apple.com
  • 3 edits
    1 add in branches/safari-608-branch

Cherry-pick r250058. rdar://problem/55826329

Phantom insertion phase may disagree with arguments forwarding about live ranges
https://bugs.webkit.org/show_bug.cgi?id=200715
<rdar://problem/54301717>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/phantom-insertion-live-range-should-agree-with-arguments-forwarding.js: Added. (main.v23): (main.try.v43): (main.): (main):

Source/JavaScriptCore:

The issue is that Phantom insertion phase was disagreeing about live ranges
from the arguments forwarding phase. The effect is that Phantom insertion
would insert a Phantom creating a longer live range than what arguments
forwarding was analyzing. Arguments forwarding will look for the last DFG
use or the last bytecode use of a variable it wants to eliminate. It then
does an interference analysis to ensure that nothing clobbers other variables
it needs to recover the sunken allocation during OSR exit.

Phantom insertion works by ordering the program into OSR exit epochs. If a value was used
in the current epoch, there is no need to insert a phantom for it. We
determine where we might need a Phantom by looking at bytecode kills. In this
analysis, we have a mapping from bytecode local to DFG node. However, we
sometimes forgot to remove the entry when a local is killed. So, if the first
kill of a variable is in the same OSR exit epoch, we won't insert a Phantom by design.
However, if the variable gets killed again, we might errantly insert a Phantom
for the prior variable which should've already been killed. The solution is to
clear the entry in our mapping when a variable is killed.

The program in question was like this:

1: DirectArguments
...
2: MovHint(@1, loc1) arguments forwarding treats this as the final kill for @1
...
clobber things needed for recovery
...

Arguments elimination would transform the program since between @1 and
@2, nothing clobbers values needed for exit and nothing escapes @1. The
program becomes:

1: PhantomDirectArguments
...
2: MovHint(@1, loc1) arguments forwarding treats this as the final kill for @1
...
clobber things needed for recovery of @1
...

Phantom insertion would then transform the program into:

1: PhantomDirectArguments
...
2: MovHint(@1, loc1) arguments forwarding treats this as the final kill for @1
...
clobber things needed for recovery of @1
...
3: Phantom(@1)
...

This is wrong because Phantom insertion and arguments forwarding must agree on live
ranges, otherwise the interference analysis performed by arguments forwarding will
not correctly analyze up until where the value might be recovered.

  • dfg/DFGPhantomInsertionPhase.cpp:

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

1:30 AM Changeset in webkit [250509] by bshafiei@apple.com
  • 2 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r249930. rdar://problem/55826316

AX: USER: VO: Messages > Message > Shift-VO-M doesn't reveal correct actions
https://bugs.webkit.org/show_bug.cgi?id=201840

Patch by Eric Liang <ericliang@apple.com> on 2019-09-16
Reviewed by Chris Fleizach.

menuForEvent: expects event-position in window's space, but we pass the position in Core's space. In this case, we need to convert core's space to window's space.
Tested that existing tests passed with WK1 and WK2

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):

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

1:30 AM Changeset in webkit [250508] by bshafiei@apple.com
  • 5 edits
    1 add in branches/safari-608-branch

Cherry-pick r249926. rdar://problem/55826870

[JSC] Perform check again when we found non-BMP characters
https://bugs.webkit.org/show_bug.cgi?id=201647

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/regexp-unicode-surrogate-pair-increment-should-involve-length-check.js: Added.
  • stress/regexp-unicode-within-string.js: Updated test to eliminate the bogus print(). (testRegExpInbounds):

Source/JavaScriptCore:

We need to check for end of input for non-BMP characters when matching a character class that contains
both BMP and non-BMP characters. In advanceIndexAfterCharacterClassTermMatch() we were checking for
end of input for both BMP and non-BMP characters. For BMP characters, this check is redundant.
After moving the check to after the "is BMP check", we need to decrement index after reaching the failure
label to back out the index++ for the first surrogate of the non-BMP character.

Added the same kind of check in generateCharacterClassOnce(). In that case, we have pre-checked the
first character (surrogate) for a non-BMP codepoint, so we just need to check for end of input before
we increment for the second surrogate.

While writing tests, I found an off by one error in backtrackCharacterClassGreedy() and changed the
loop to check the count at loop top instead of loop bottom.

  • yarr/YarrJIT.cpp: (JSC::Yarr::YarrGenerator::advanceIndexAfterCharacterClassTermMatch): (JSC::Yarr::YarrGenerator::generateCharacterClassOnce): (JSC::Yarr::YarrGenerator::generateCharacterClassGreedy): (JSC::Yarr::YarrGenerator::backtrackCharacterClassGreedy): (JSC::Yarr::YarrGenerator::backtrackCharacterClassNonGreedy):

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

1:30 AM Changeset in webkit [250507] by bshafiei@apple.com
  • 3 edits
    1 add in branches/safari-608-branch

Cherry-pick r249777. rdar://problem/55826876

JSC crashes due to stack overflow while building RegExp
https://bugs.webkit.org/show_bug.cgi?id=201649

Reviewed by Yusuke Suzuki.

JSTests:

New regression test.

  • stress/regexp-bol-optimize-out-of-stack.js: Added. (test): (catch):

Source/JavaScriptCore:

Check for running out of stack when we are optimizing RegExp containing BOL terms or
other deep copying of disjunctions.

  • yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::copyDisjunction): (JSC::Yarr::YarrPatternConstructor::copyTerm): (JSC::Yarr::YarrPatternConstructor::error): (JSC::Yarr::YarrPattern::compile):

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

1:30 AM Changeset in webkit [250506] by bshafiei@apple.com
  • 2 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r249077. rdar://problem/55826882

Crash under TimerBase::setNextFireTime() in the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=201097
<rdar://problem/54658339>

Reviewed by Ryosuke Niwa.

NetworkStateNotifier is a WebCore/platform class used by both WebKitLegacy and WebKit2 in the NetworkProcess.
On iOS, the lambda in the implementation of NetworkStateNotifier::startObserving() may get called by the
underlying framework on a non-main thread and we therefore want to go back to the main thread before calling
NetworkStateNotifier::singleton().updateStateSoon(). This is important because updateStateSoon() will schedule
a WebCore::Timer. The issue is that the code was using WebThreadRun() to go back the the main thread. While
this works fine in iOS WK1, it does not do what we want in WebKit2 in the network process. Indeed, before there
is no WebThread in the network process, WebThreadRun() will simply run the block on whatever thread we're one.
This would lead to crashes when trying to schedule the Timer in updateStateSoon(). To address the issue, we now
use callOnMainThread().

  • platform/network/ios/NetworkStateNotifierIOS.mm: (WebCore::NetworkStateNotifier::startObserving):

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

1:30 AM Changeset in webkit [250505] by bshafiei@apple.com
  • 5 edits
    1 add in branches/safari-608-branch

Cherry-pick r248951. rdar://problem/55826863

[JSC] incorrent JIT lead to StackOverflow
https://bugs.webkit.org/show_bug.cgi?id=197823

Reviewed by Tadeu Zagallo.

JSTests:

New test.

  • stress/bound-function-stack-overflow.js: Added. (foo): (catch):

Source/JavaScriptCore:

Added stack overflow check to the bound function thunk generator. Added a new C++ operation
throwStackOverflowErrorFromThunk() to throw the error.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/ThunkGenerators.cpp: (JSC::boundThisNoArgsFunctionCallGenerator):

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

1:30 AM Changeset in webkit [250504] by bshafiei@apple.com
  • 4 edits
    1 add in branches/safari-608-branch

Cherry-pick r248796. rdar://problem/55826874

[Re-land] ProxyObject should not be allow to access its target's private properties.
https://bugs.webkit.org/show_bug.cgi?id=200739
<rdar://problem/53972768>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/proxy-should-not-be-allowed-to-access-private-properties-of-target.js: Copied from JSTests/stress/proxy-should-not-be-allowed-to-access-private-properties-of-target.js.
  • stress/proxy-with-private-symbols.js:

Source/JavaScriptCore:

Re-landing this after r200829 which resolves the test262 failure uncovered by this patch.

  • runtime/ProxyObject.cpp: (JSC::performProxyGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::performPut): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::performDefineOwnProperty):

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

1:30 AM Changeset in webkit [250503] by bshafiei@apple.com
  • 7 edits
    2 adds in branches/safari-608-branch

Cherry-pick r248591. rdar://problem/55826878

FrameLoader::open can execute scritps via style recalc in Frame::setDocument
https://bugs.webkit.org/show_bug.cgi?id=200377

Reviewed by Antti Koivisto.

Source/WebCore:

Fixed the bug that FrameLoader::open can execute arbitrary author scripts via post style update callbacks
by adding PostResolutionCallbackDisabler, WidgetHierarchyUpdatesSuspensionScope, and NavigationDisabler
to CachedFrameBase::restore and FrameLoader::open.

This ensures all frames are restored from the page cache before any of them would start running scripts.

Test: fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html

  • history/CachedFrame.cpp: (WebCore::CachedFrameBase::restore):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::open):
  • page/FrameViewLayoutContext.cpp: (WebCore::FrameViewLayoutContext::layout): Fixed the debug assertion. The layout of a document may be updated while we're preparing to put a page into the page cache.
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): Ditto.

LayoutTests:

Added a regression test.

  • fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update-expected.txt: Added.
  • fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: Added.
  • platform/win/TestExpectations: Skip the newly added test.

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

1:30 AM Changeset in webkit [250502] by bshafiei@apple.com
  • 3 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r248173. rdar://problem/55826879

Harden NodeRareData::m_connectedFrameCount
https://bugs.webkit.org/show_bug.cgi?id=200300

Reviewed by Geoffrey Garen.

Use unsinged integer type in NodeRareData::m_connectedFrameCount since it's padded anyway.

  • dom/Node.cpp: (WebCore::Node::decrementConnectedSubframeCount): Check that hasRareNode() is true in release builds.
  • dom/NodeRareData.h:

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

1:30 AM Changeset in webkit [250501] by bshafiei@apple.com
  • 5 edits
    2 adds in branches/safari-608-branch

Cherry-pick r248172. rdar://problem/55826873

Document::resume should delay resetting of form control elements.
https://bugs.webkit.org/show_bug.cgi?id=200376

Reviewed by Geoffrey Garen.

Source/WebCore:

Delay the execution of form control element resets until the next task
to avoid synchronously mutating DOM during page cache restoration.

Test: fast/frames/restoring-page-cache-should-not-run-scripts.html

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::resumeFromDocumentSuspension):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::resumeFromDocumentSuspension):

LayoutTests:

Added a regression test.

  • fast/frames/restoring-page-cache-should-not-run-scripts-expected.txt: Added.
  • fast/frames/restoring-page-cache-should-not-run-scripts.html: Added.
  • platform/win/TestExpectations: Skip this test on Windows since navigating to blob fails on Windows.

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

1:30 AM Changeset in webkit [250500] by bshafiei@apple.com
  • 4 edits in branches/safari-608-branch/Source/JavaScriptCore

Cherry-pick r247799. rdar://problem/55826880

performJITMemcpy should be PACed with a non-zero diversifier when passed and called via a pointer.
https://bugs.webkit.org/show_bug.cgi?id=200100
<rdar://problem/53474939>

Reviewed by Yusuke Suzuki.

  • assembler/ARM64Assembler.h: (JSC::ARM64Assembler::CopyFunction::CopyFunction): (JSC::ARM64Assembler::CopyFunction::operator()):
  • I choose to use ptrauth_auth_function() here instead of retagCodePtr() because retagCodePtr() would auth, assert, and re-pac the pointer. This is needed in general because retagCodePtr() doesn't know that you will consume the pointer immediately (and therefore crash imminently if a failed auth is encountered). Since we know here that we will call with the auth'ed pointer immediately, we can skip the assert.

This also has the benefit of letting Clang do a peephole optimization to emit
a blrab instruction with the intended diversifier, instead of emitting multiple
instructions to auth the pointer into a C function, and then using a blraaz to
do a C function call.

(JSC::ARM64Assembler::linkJumpOrCall):
(JSC::ARM64Assembler::linkCompareAndBranch):
(JSC::ARM64Assembler::linkConditionalBranch):
(JSC::ARM64Assembler::linkTestAndBranch):

  • assembler/LinkBuffer.cpp: (JSC::LinkBuffer::copyCompactAndLinkCode):
  • runtime/JSCPtrTag.h:

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

12:55 AM Changeset in webkit [250499] by bshafiei@apple.com
  • 3 edits in branches/safari-608-branch/Source/WebCore

Revert r250483. rdar://problem/55825351

Note: See TracTimeline for information about the timeline view.