Timeline



Mar 11, 2020:

9:57 PM Changeset in webkit [258314] by jer.noble@apple.com
  • 9 edits in trunk/Source

Adopt AVSampleBufferVideoOutput
https://bugs.webkit.org/show_bug.cgi?id=208951

Reviewed by Eric Carlson.

Source/WebCore:

Adopt AVSampleBufferVideoOutput, used for extracting decoded samples from an AVSampleBufferDisplayLayer.

Rather than use a separate decompression session when we need to, e.g., paint samples into WebGL, we will
add a AVSBVO to the AVSBDL and use it to extract CVPixelBuffers when asked.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastPixelBuffer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isVideoOutputAvailable const):

Source/WebCore/PAL:

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

Source/WTF:

  • wtf/PlatformHave.h:
9:25 PM Changeset in webkit [258313] by Andres Gonzalez
  • 5 edits in trunk/Source/WebCore

Removed unused textElements member from AccessibilityText structure.
https://bugs.webkit.org/show_bug.cgi?id=208967

Reviewed by Chris Fleizach.

The textElements member of AccessibilityText is not used by any client
and its computation is causing crashes in IsolatedTree mode. So this
change removes it.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::titleElementText const):
(WebCore::AccessibilityNodeObject::ariaLabeledByText const):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityText::AccessibilityText):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::accessibilityText const):

  • accessibility/isolatedtree/AXIsolatedObject.h:
9:24 PM Changeset in webkit [258312] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GPU Process] encodeNativeImage() should pass imageSize to GraphicsContext::drawNativeImage()
https://bugs.webkit.org/show_bug.cgi?id=208936

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-11
Reviewed by Myles C. Maxfield.

Passing an empty FloatSize makes drawNativeImage() draws nothing to
the ShareableBitmap

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::encodeNativeImage):

9:19 PM Changeset in webkit [258311] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

RemoteImageBuffer::getImageData() has to clear its DisplayList after calling flushDrawingContext()
https://bugs.webkit.org/show_bug.cgi?id=208931

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-11
Reviewed by Myles C. Maxfield.

Instead of letting every caller to flushDrawingContextAndWaitCommit() or
flushDrawingContext() be responsible of clearing the DisplayList, we can
make these functions take this responsibility.

  • WebProcess/GPU/graphics/RemoteImageBuffer.h:
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:

(WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContextAndWaitCommit):

  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:
8:19 PM Changeset in webkit [258310] by don.olmstead@sony.com
  • 9 edits in trunk/Source

Non-unified build fixes early March 2020 edition Take 2
https://bugs.webkit.org/show_bug.cgi?id=208968

Unreviewed build fix.

Source/WebCore:

  • editing/TextIterator.cpp:
  • editing/TextIterator.h:
  • editing/TextManipulationController.cpp:
  • editing/VisibleSelection.cpp:
  • editing/VisibleUnits.cpp:

Source/WebKit:

  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):

7:55 PM Changeset in webkit [258309] by don.olmstead@sony.com
  • 12 edits
    5 adds in trunk/Source/WebKit

[GPUP] Add entry points for non-Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=208965

Reviewed by Michael Catanzaro.

Add a CMake target for the GPU Process that is optionally defined based on
whether the process is enabled.

Add an entry point for the GPU Process for unix and windows ports. Use this
as the source for the GPU Process by specifying it in the Platform CMake file.

Add in hooks for both Windows and GLib to launch the GPU Process if it is
enabled in the port.

  • CMakeLists.txt:
  • GPUProcess/EntryPoint/unix/GPUProcessMain.cpp: Added.

(main):

  • GPUProcess/EntryPoint/win/GPUProcessMain.cpp: Added.

(main):

  • GPUProcess/GPUProcessMain.h: Added.
  • PlatformFTW.cmake:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformPlayStation.cmake:
  • PlatformWPE.cmake:
  • PlatformWin.cmake:
  • Shared/ProcessExecutablePath.h:
  • Shared/glib/ProcessExecutablePathGLib.cpp:

(WebKit::executablePathOfGPUProcess):

  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:

(WebKit::ProcessLauncher::launchProcess):

  • UIProcess/Launcher/win/ProcessLauncherWin.cpp:

(WebKit::processName):

7:48 PM Changeset in webkit [258308] by Wenson Hsieh
  • 4 edits in trunk/Source/WebCore

Large single select elements are incorrectly sized
https://bugs.webkit.org/show_bug.cgi?id=208966

Reviewed by Tim Horton.

Adjusts several size and margin values for menu lists (i.e. the default appearance of non-multiple select
elements) to reflect recent changes in macOS. Additionally, adds a workaround for <rdar://problem/60350699>,
which causes text inside many form controls (including select buttons) to be incorrectly sized.

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::systemFontSizeFor):
(WebCore::ThemeMac::controlFont const):

  • rendering/RenderThemeMac.mm:

Replace calls to +[NSFont systemFontSizeForControlSize:] with ThemeMac::systemFontSizeFor(NSControlSize size)
in order to work around <rdar://problem/60350699>.

(WebCore::RenderThemeMac::updateCachedSystemFontDescription const):
(WebCore::RenderThemeMac::setFontFromControlSize const):
(WebCore::RenderThemeMac::controlSizeForSystemFont const):
(WebCore::RenderThemeMac::popupButtonMargins const):
(WebCore::menuListButtonSizes):

6:50 PM Changeset in webkit [258307] by Russell Epstein
  • 1 copy in tags/Safari-610.1.7

Tag Safari-610.1.7.

6:43 PM Changeset in webkit [258306] by Russell Epstein
  • 2 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258304. rdar://problem/60351239

[macOS] Register with accessibility when the WebContent process starts
https://bugs.webkit.org/show_bug.cgi?id=208960

Reviewed by Brent Fulgham.

When we reenabled CF prefs direct mode in <https://bugs.webkit.org/show_bug.cgi?id=208690>, we started to register
with accessibility when we received a message to do so from the UI process. This would typically happen when the user
enabled accessibility. On macOS, this notification does not work the same way as on iOS, and it is assumed that
accessibility should always be enabled. Therefore we should go back to registering with accessibility on startup of
the WebContent process on macOS.

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeProcess): (WebKit::WebProcess::unblockAccessibilityServer):

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

6:35 PM Changeset in webkit [258305] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WebKit

[GPUP] Add special handling of MediaTime within message generator
https://bugs.webkit.org/show_bug.cgi?id=208958

Reviewed by Eric Carlson.

When compiling the GPU Process sources without unified sources there were
numerous compilation errors around MediaTime. Only GPU Process .messages.in
files reference this type so there was no special handling within messages.py.
Adding explicit references to MediaTime so the proper header is used and all
sources compile.

  • Scripts/webkit/messages.py:
6:22 PM Changeset in webkit [258304] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Register with accessibility when the WebContent process starts
https://bugs.webkit.org/show_bug.cgi?id=208960

Reviewed by Brent Fulgham.

When we reenabled CF prefs direct mode in <https://bugs.webkit.org/show_bug.cgi?id=208690>, we started to register
with accessibility when we received a message to do so from the UI process. This would typically happen when the user
enabled accessibility. On macOS, this notification does not work the same way as on iOS, and it is assumed that
accessibility should always be enabled. Therefore we should go back to registering with accessibility on startup of
the WebContent process on macOS.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::unblockAccessibilityServer):

6:22 PM Changeset in webkit [258303] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

AX: accessibilityReplaceRange:withText: doesn't post an AXValueChanged notification like when typing with kb
https://bugs.webkit.org/show_bug.cgi?id=208332
<rdar://problem/58489685>

Patch by Canhai Chen <canhai_chen@apple.com> on 2020-03-11
Reviewed by Chris Fleizach.

Source/WebCore:

When accessibilityReplaceRange:withText: is called to insert or replace text, there should be a
AXValueChanged notification posted with the correct user info to notify the AX client that the text value
has been changed with detailed info about the change.

Post a notification in Editor::replaceSelectionWithFragment for EditAction::Insert edit type
with replaced text and selection.

Add a new test for text replacement value change notification in editable div, text input, and textarea,
including direct text insertion and replace-and-insert.

Test: accessibility/mac/replace-text-with-range-value-change-notification.html

  • editing/Editor.cpp:

(WebCore::Editor::replaceSelectionWithFragment):

  • editing/ReplaceSelectionCommand.h:

(WebCore::ReplaceSelectionCommand::documentFragmentPlainText const):

LayoutTests:

Test text replacement value change notification in editable div, text input, and textarea,
including direct text insertion and replace-and-insert.

  • accessibility/mac/replace-text-with-range-value-change-notification-expected.txt: Added.
  • accessibility/mac/replace-text-with-range-value-change-notification.html: Added.
6:10 PM Changeset in webkit [258302] by don.olmstead@sony.com
  • 9 edits in trunk/Source/WebKit

[GPUP] RemoteAudioDestination classes should require ENABLE(WEB_AUDIO)
https://bugs.webkit.org/show_bug.cgi?id=208956

Reviewed by Dean Jackson.

RemoteAudioDestinationProxy uses AudioBus directly. For ports that don't
ENABLE(WEB_AUDIO) there is no implementation and linker errors will occur after
building with ENABLE(GPU_PROCESS).

Add guards for ENABLE(WEB_AUDIO) around relevant implementations.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::dispatchMessage):
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/media/RemoteAudioDestinationManager.cpp:
  • GPUProcess/media/RemoteAudioDestinationManager.h:
  • GPUProcess/media/RemoteAudioDestinationManager.messages.in:
  • WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
  • WebProcess/GPU/media/RemoteAudioDestinationProxy.h:
  • WebProcess/GPU/media/RemoteAudioDestinationProxy.messages.in:
5:33 PM Changeset in webkit [258301] by Russell Epstein
  • 3 edits in branches/safari-610.1.7-branch/Source/WebCore

Cherry-pick r258297. rdar://problem/60347323

AX: Isolated tree: enabling secondary thread for the wrong clients
https://bugs.webkit.org/show_bug.cgi?id=208950

Reviewed by Chris Fleizach.

Removed incorrect call to _AXUIElementUseSecondaryAXThread and wrap it
in initializeSecondaryAXThread with the appropriate checks.

  • accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::isolatedTreeFocusedObject): (WebCore::AXObjectCache::initializeSecondaryAXThread): (WebCore::AXObjectCache::isolatedTreeRootObject):
  • accessibility/AXObjectCache.h:

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

5:33 PM Changeset in webkit [258300] by Russell Epstein
  • 6 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258296. rdar://problem/60348995

Add a parameter to allow ignoring app-bound domain categorization
https://bugs.webkit.org/show_bug.cgi?id=208949
<rdar://problem/60239187>

Reviewed by Brent Fulgham.

Introduce a new parameter to ignore app-bound domain categorization
for specific WebViews.

  • UIProcess/API/APIPageConfiguration.h: (API::PageConfiguration::ignoresAppBoundDomains const): (API::PageConfiguration::setIgnoresAppBoundDomains):
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration _ignoresAppBoundDomains]): (-[WKWebViewConfiguration _setIgnoresAppBoundDomains:]):
  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):

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

5:30 PM Changeset in webkit [258299] by Justin Fan
  • 2 edits in trunk/LayoutTests

[WebGL] Additional WebGL bot gardening
https://bugs.webkit.org/show_bug.cgi?id=208961

Unreviewed test gardening.

  • webgl/TestExpectations:
4:58 PM Changeset in webkit [258298] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

Unreviewed, reverting r258294.
https://bugs.webkit.org/show_bug.cgi?id=208957

Introduced API failure (Requested by perarne on #webkit).

Reverted changeset:

"[macOS] _AXSApplicationAccessibilityEnabled should not be
called"
https://bugs.webkit.org/show_bug.cgi?id=208953
https://trac.webkit.org/changeset/258294

Patch by Commit Queue <commit-queue@webkit.org> on 2020-03-11

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

AX: Isolated tree: enabling secondary thread for the wrong clients
https://bugs.webkit.org/show_bug.cgi?id=208950

Reviewed by Chris Fleizach.

Removed incorrect call to _AXUIElementUseSecondaryAXThread and wrap it
in initializeSecondaryAXThread with the appropriate checks.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::isolatedTreeFocusedObject):
(WebCore::AXObjectCache::initializeSecondaryAXThread):
(WebCore::AXObjectCache::isolatedTreeRootObject):

  • accessibility/AXObjectCache.h:
4:53 PM Changeset in webkit [258296] by Kate Cheney
  • 6 edits in trunk/Source/WebKit

Add a parameter to allow ignoring app-bound domain categorization
https://bugs.webkit.org/show_bug.cgi?id=208949
<rdar://problem/60239187>

Reviewed by Brent Fulgham.

Introduce a new parameter to ignore app-bound domain categorization
for specific WebViews.

  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::ignoresAppBoundDomains const):
(API::PageConfiguration::setIgnoresAppBoundDomains):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _ignoresAppBoundDomains]):
(-[WKWebViewConfiguration _setIgnoresAppBoundDomains:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):

4:49 PM Changeset in webkit [258295] by jer.noble@apple.com
  • 26 edits in trunk/Source

[EME] Issue an "encrypted" event when a new encrypted initialization segment is encountered
https://bugs.webkit.org/show_bug.cgi?id=208923

Reviewed by Eric Carlson.

Source/WebCore:

When AVStreamDataParser encounters an initialization segment indicating encrypted content, it
will issue a -streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID: message
to its delegate. If the parser is already associated with an AVContentKeySession, it will instead
allow the session to handle the initialization segment and the delagete method will not be called.

When the latter situation occurs, we can detect that the -didProvideRequest callback did not
occur due to the client calling MediaKeySession.generateRequest() and therefore must have been
due to parsing an encrypted segment. In response, store the request in a list of "unexpected"
requests to be checked the next time a MediaKeySession tries to generateRequest(). Then, we will
pass the initalizationData and type to HTMLMediaElement through a new client interface, where it
will use that initializationData to issue an "encrypted" event. If the client passes that same
initializationData back into MediaKeySession, the "unexpected" request can be found, and re-used.

Drive-by fixes: Added a ton of debug logging messages to the CDMPrivate classes.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::CDM):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMClient.h:
  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::create):
(WebCore::MediaKeySession::MediaKeySession):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeySystemAccess.cpp:

(WebCore::MediaKeySystemAccess::createMediaKeys):

  • Modules/encryptedmedia/MediaKeySystemAccess.h:
  • Modules/encryptedmedia/MediaKeySystemAccess.idl:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::MediaKeys):
(WebCore::MediaKeys::createSession):
(WebCore::MediaKeys::setServerCertificate):
(WebCore::MediaKeys::attachCDMClient):
(WebCore::MediaKeys::detachCDMClient):
(WebCore::MediaKeys::attemptToResumePlaybackOnClients):
(WebCore::MediaKeys::unrequestedInitializationDataReceived):
(WebCore::MediaKeys::nextChildIdentifier const):

  • Modules/encryptedmedia/MediaKeys.h:

(WebCore::MediaKeys::create): Deleted.
(WebCore::MediaKeys::cdmInstance): Deleted.
(WebCore::MediaKeys::cdmInstance const): Deleted.

  • Modules/encryptedmedia/MediaKeys.idl:
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::cdmClientUnrequestedInitializationDataReceived):

  • html/HTMLMediaElement.h:
  • platform/encryptedmedia/CDMFactory.h:
  • platform/encryptedmedia/CDMInstance.h:

(WebCore::CDMInstance::setClient):
(WebCore::CDMInstance::clearClient):
(WebCore::CDMInstance::setLogger):

  • platform/encryptedmedia/CDMInstanceSession.h:

(WebCore::CDMInstanceSession::setLogger):
(WebCore::CDMInstanceSession::setClient):

  • platform/encryptedmedia/CDMPrivate.h:

(WebCore::CDMPrivate::setLogger):

  • platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::logChannel):
(WebCore::CDMPrivateFairPlayStreaming::setLogger):
(WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):

  • platform/graphics/avfoundation/CDMFairPlayStreaming.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::logChannel):
(WebCore::initTypeForRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setLogger):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::takeUnexpectedKeyRequestForInitializationData):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setServerCertificate):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setStorageDirectory):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setClient):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::clearClient):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequests):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRenewingRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvidePersistableRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::shouldRetryRequestForReason):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::groupSessionIdentifierChanged):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionForRequest const):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::setLogger):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::loadSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::closeSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::setClient):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::hasRequest const):

Source/WebCore/PAL:

  • pal/spi/cocoa/AVFoundationSPI.h:

Source/WTF:

  • wtf/LoggerHelper.h:

(WTF::LoggerHelper::childLogIdentifier): Made static.

4:27 PM Changeset in webkit [258294] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] _AXSApplicationAccessibilityEnabled should not be called
https://bugs.webkit.org/show_bug.cgi?id=208953

Reviewed by Brent Fulgham.

This function should only be called on iOS, not on macOS.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

3:42 PM Changeset in webkit [258293] by jiewen_tan@apple.com
  • 30 edits in trunk

[WebAuthn] Formalize the Keychain schema
https://bugs.webkit.org/show_bug.cgi?id=183533
<rdar://problem/43347926>

Reviewed by Brent Fulgham.

Source/WebCore:

Covered by new test contents within existing files.

  • Modules/webauthn/AuthenticatorAssertionResponse.cpp:

(WebCore::AuthenticatorAssertionResponse::create):
(WebCore::AuthenticatorAssertionResponse::AuthenticatorAssertionResponse):

  • Modules/webauthn/AuthenticatorAssertionResponse.h:

Modifies the constructors to accept userEntity.name.

  • Modules/webauthn/cbor/CBORValue.h:

Adds a FIXME.

  • testing/MockWebAuthenticationConfiguration.h:

(WebCore::MockWebAuthenticationConfiguration::LocalConfiguration::encode const):
(WebCore::MockWebAuthenticationConfiguration::LocalConfiguration::decode):

  • testing/MockWebAuthenticationConfiguration.idl:

Modifies the test infra to use Credential ID as the unique identifier for a credential instead of
the original combination of RP ID and user handle.

Source/WebKit:

This patch formalizes the schema for the Keychain as follows:
kSecAttrLabel: RP ID
kSecAttrApplicationLabel: Credential ID (auto-gen by Keychain)
kSecAttrApplicationTag: { "id": UserEntity.id, "name": UserEntity.name } (CBOR encoded)
Noted, the vale of kSecAttrApplicationLabel is automatically generated by the Keychain, which is a SHA-1 hash of
the public key.

According to the Step 7. from https://www.w3.org/TR/webauthn/#op-make-cred, the following fields are mandatory

  1. rpId (rpEntity.id);
  2. userHandle (userEntity.id), this is required for authenticators that support resident keys;
  3. credentialId.

Some other optional fields are:
(from https://www.w3.org/TR/webauthn/#dictdef-publickeycredentialrpentity)

  1. rpEntity.name;
  2. rpEnitty.icon;

(from https://www.w3.org/TR/webauthn/#dictdef-publickeycredentialuserentity)

  1. userEntity.displayName;
  2. userEntity.name;
  3. userEntity.icon;

(from https://www.w3.org/TR/webauthn/#sign-counter)

  1. signature counter.

Among the six possible fields, only 4. is chosen to store. Here is why:
For rpEntity, rpEntity.id which is either the domain or the eTLD + 1 of the website is
sufficient enough to either classify the credential or serving the UI. Also, this is the only
trustworthy information that the UserAgent produce. Others could potentially be used by
malicious websites for attacking the Keychain or spoofing/phishing users when being displayed
in the UI. Also, rpEnitty.icon is a URL to the website's favicon, which if not implemented
correctly can be used for tracking.

For userEntity, userEntity.name is the human readable version of userEntity.id, and therefore
is chosen to store such that later on WebKit can pass it to UI client to help users disambiguate
different credentials. And it is necessary as userEntity.id is not guaranteed to be human
readable. Others are abandoned for the very same reason as above.

We hard code a zero value for 'signature counter'. While this is a theoretically interesting
technique for a RP to detect private key cloning, it is unlikely to be useful in practice.
We store the private keys in our SEP. This counter would only be a meaningful protection if
adversaries were able to extract private key data from the SEP without Apple noticing, but
were not able to manipulate this counter to fool the RP.

In terms of the schema,
1) RP ID is needed to query all credentials related, and therefore it needs a column and kSecAttrLabel
is supposed to be human readable;
2) kSecAttrApplicationLabel is the auto generated programmatical identifier for a SecItem, and
therefore is suitable as the credential ID. Given the input to the SHA-1 is generated by us, and
it is only needed to be powerful enough to be unique across the keychain within a device, and potentially
to be unique across different other credential ID for the same user. The SHA-1 collision attack
doesn't seem valid here.
3) kSecAttrApplicationTag is the only other column Keychain allows applications to modify. Therefore,
UserEntity.id and UserEntity.name is bundled to use this slot. The reason to use CBOR here is that
it is more friendly then JSON to encode binaries, and it is used widely in WebAuthn.

  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
  • UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:

(WebKit::LocalAuthenticatorInternal::toArrayBuffer):
(WebKit::LocalAuthenticatorInternal::getExistingCredentials):
(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::deleteDuplicateCredential const):

  • UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:

(WebKit::MockLocalConnection::filterResponses const):

Tools:

Modifies the test infra to use Credential ID as the unique identifier for a credential instead of
the original combination of RP ID and user handle.

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

(WTR::TestRunner::cleanUpKeychain):
(WTR::TestRunner::keyExistsInKeychain):

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

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

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

LayoutTests:

New tests are added and all tests are modified to use Credential ID to identify a credential instead
of { RP ID, user handle }.

  • http/wpt/webauthn/public-key-credential-create-failure-local-silent.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-failure-local-silent.https.html:
  • http/wpt/webauthn/public-key-credential-create-failure-local.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-failure-local.https.html:
  • http/wpt/webauthn/public-key-credential-create-success-local.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-create-success-local.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-local-silent.https-expected.txt:
  • http/wpt/webauthn/public-key-credential-get-failure-local-silent.https.html:
  • http/wpt/webauthn/public-key-credential-get-failure-local.https.html:
  • http/wpt/webauthn/public-key-credential-get-success-local.https.html:
  • http/wpt/webauthn/resources/util.js:
3:26 PM Changeset in webkit [258292] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258289. rdar://problem/60341123

[macOS] Crash under WebKit::WebProcessPool::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=208945

Unreviewed temporary compile fix.

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

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

3:26 PM Changeset in webkit [258291] by Alan Coon
  • 3 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258288. rdar://problem/60341123

[macOS] Crash under WebKit::WebProcessPool::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=208945

Reviewed by Tim Horton.

Check that accessibility library is present before attempting to call functions in it.

No new tests, since I am not able to reproduce.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess):
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

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

3:22 PM Changeset in webkit [258290] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258225. rdar://problem/60342513

File upload cancels before files can be uploaded.
https://bugs.webkit.org/show_bug.cgi?id=208846
<rdar://problem/60244249>

Reviewed by Tim Horton.

With the new UIContextMenus, we needed to cancel in order for everything to be
reset correctly in WebCore. But this can only be done in the animation completion
handler, but we only want to cancel if we aren't presenting a different picker.

  • UIProcess/ios/forms/WKFileUploadPanel.mm: (-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]): (-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]): (-[WKFileUploadPanel ensureContextMenuInteraction]):

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

3:18 PM Changeset in webkit [258289] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[macOS] Crash under WebKit::WebProcessPool::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=208945

Unreviewed temporary compile fix.

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

3:01 PM Changeset in webkit [258288] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[macOS] Crash under WebKit::WebProcessPool::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=208945

Reviewed by Tim Horton.

Check that accessibility library is present before attempting to call functions in it.

No new tests, since I am not able to reproduce.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):

2:57 PM Changeset in webkit [258287] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r257502): HitTestLocation::HitTestLocation(const FloatPoint&, const FloatQuad&) should set m_isRectBased to true
https://bugs.webkit.org/show_bug.cgi?id=208947

Reviewed by Wenson Hsieh.

Partial revert of r257502. I accidentally removed initialization of m_isRectBased when refactoring
the code in HitTestLocation::HitTestLocation(const FloatPoint&, const FloatQuad&). Revert this to
be faithful to the code before my change.

  • rendering/HitTestLocation.cpp:
2:43 PM Changeset in webkit [258286] by keith_miller@apple.com
  • 6 edits in trunk

Test262-runner should always consider crashes as new failures
https://bugs.webkit.org/show_bug.cgi?id=208943

Reviewed by Yusuke Suzuki.

JSTests:

  • test262/expectations.yaml:

Source/JavaScriptCore:

BigInt.asUintN() / BigInt.asIntN() should not crash when called even if we have
not implemented them yet...

  • runtime/BigIntConstructor.cpp:

(JSC::bigIntConstructorFuncAsUintN):
(JSC::bigIntConstructorFuncAsIntN):

Tools:

Right now the runner will consider crashes with no output as passes, which is obviously bad.
Since we should never crash on a conformance test we should consider a crash as a new failure
100% of the time.

  • Scripts/test262/Runner.pm:

(processFile):
(runTest):
(processResult):

2:32 PM Changeset in webkit [258285] by Alan Coon
  • 4 edits in branches/safari-610.1.7-branch/Source

Cherry-pick r258284. rdar://problem/60341123

[macOS] Crash under WebKit::WebProcessPool::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=208945
Source/WebKit:

<rdar://problem/60330751>

Reviewed by Brent Fulgham.

Check that accessibility library is present before attempting to use constants from it.

No new tests, since I am unable to reproduce.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::registerNotificationObservers): (WebKit::WebProcessPool::unregisterNotificationObservers):

Source/WTF:

Reviewed by Brent Fulgham.

Add macro to optionally soft link library.

  • wtf/cocoa/SoftLinking.h:

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

2:25 PM Changeset in webkit [258284] by pvollan@apple.com
  • 4 edits in trunk/Source

[macOS] Crash under WebKit::WebProcessPool::platformInitialize()
https://bugs.webkit.org/show_bug.cgi?id=208945
Source/WebKit:

<rdar://problem/60330751>

Reviewed by Brent Fulgham.

Check that accessibility library is present before attempting to use constants from it.

No new tests, since I am unable to reproduce.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):

Source/WTF:

Reviewed by Brent Fulgham.

Add macro to optionally soft link library.

  • wtf/cocoa/SoftLinking.h:
2:02 PM Changeset in webkit [258283] by achristensen@apple.com
  • 4 edits in trunk/Source

Enable safe browsing warnings in Mac Catalyst WebKit
https://bugs.webkit.org/show_bug.cgi?id=208944
<rdar://problem/58854302>

Reviewed by Tim Horton.

Source/WebKit:

I manually verified using the steps in the radar that it works as one would hope.

  • Configurations/WebKit.xcconfig:

Source/WTF:

  • wtf/PlatformHave.h:
2:00 PM Changeset in webkit [258282] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

icloud.com Notes text in titles and headings is distorted
https://bugs.webkit.org/show_bug.cgi?id=208908
<rdar://problem/58874371>

Reviewed by Zalan Bujtas.

Source/WebCore:

icloud.com Notes determines if a font has finished loading by measuring it repeatedly.
Depending on the state of the page, we may slice the text differently in different
circumstances. These slices are all supposed to sum together equivalently, but
floating point precision may cause the results to be slightly off.

WidthIterator::applyFontTransforms() was summing a large list of numbers, and then
subtracting the same large list of numbers. A more robust design would be to sum
it twice, and then subtract the two sums.

Test: fast/text/shaping-width-precision.html

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::applyFontTransforms):

LayoutTests:

  • fast/text/shaping-width-precision-expected.txt: Added.
  • fast/text/shaping-width-precision.html: Added.
1:47 PM Changeset in webkit [258281] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208939

Unreviewed gardening.

  • platform/wpe/TestExpectations:
1:32 PM Changeset in webkit [258280] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the macCatalyst build after r258250

  • WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:

(WebKit::TextCheckingControllerProxy::annotatedSubstringBetweenPositions):

1:26 PM Changeset in webkit [258279] by keith_miller@apple.com
  • 5 edits
    5 adds in trunk

Throws incorrectly a syntax error when declaring a top level catch variable the same as a parameter
https://bugs.webkit.org/show_bug.cgi?id=189914

Reviewed by Saam Barati.

JSTests:

  • ChakraCore/test/es6/globalParamCatchNewTargetSyntaxError.baseline-jsc:
  • stress/catch-destructuring-shadow-lexical-const-variable-global.js: Added.

(catch):

  • stress/catch-destructuring-shadow-lexical-variable-class.js: Added.

(Foo):
(Bar):
(Baz):

  • stress/catch-destructuring-shadow-lexical-variable-function.js: Added.

(foo):
(bar):

  • stress/catch-destructuring-shadow-lexical-variable-global.js: Added.

(catch):

  • stress/catch-destructuring-shadow-var-global.js: Added.

(catch):

  • test262/expectations.yaml:

Source/JavaScriptCore:

When we are parsing catch block parameters we should increment the statement depth so we don't think
we are trying to shadow top level lexical variables in the same statement depth.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseTryStatement):

1:22 PM Changeset in webkit [258278] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

SVG filter triggers unstable layout.
https://bugs.webkit.org/show_bug.cgi?id=207444
rdar://problem/59297004

Reviewed by Simon Fraser.

SVG filter code marks DOM nodes dirty and schedules style recalc outside of the SVG root
while in layout. This could lead to unstable layout and cause battery drain.
(See webkit.org/b/208903)

  • rendering/RenderLayer.cpp: Remove filterNeedsRepaint(). It's a dangerously misleading name and should

not be part of RenderLayer.
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerFilters.cpp:

(WebCore::RenderLayerFilters::notifyFinished):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):

1:19 PM Changeset in webkit [258277] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Terminate the Network / Plugin processes when receiving invalid IPC from them
https://bugs.webkit.org/show_bug.cgi?id=208933
<rdar://problem/58026473>

Reviewed by Geoffrey Garen.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveInvalidMessage):

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didReceiveInvalidMessage):

1:09 PM Changeset in webkit [258276] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

[ macOS wk1 ] imported/w3c/web-platform-tests/web-animations/timing-model/animations/pausing-an-animation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207566
<rdar://problem/59355382>

Patch by Antoine Quint <graouts@webkit.org> on 2020-03-11
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

We silence the unhandled Promise warning so that the test output is both cleaner and more stable.

  • web-platform-tests/web-animations/timing-model/animations/pausing-an-animation-expected.txt:
  • web-platform-tests/web-animations/timing-model/animations/pausing-an-animation.html:

LayoutTests:

  • platform/mac-wk1/TestExpectations:
1:06 PM Changeset in webkit [258275] by graouts@webkit.org
  • 5 edits in trunk/LayoutTests

REGRESSION: (r255821) [ iOS Mac wk1 ] imported/w3c/web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html
https://bugs.webkit.org/show_bug.cgi?id=207278
<rdar://problem/59195524>

Patch by Antoine Quint <graouts@webkit.org> on 2020-03-11
Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

We silence the unhandled Promise warning so that the test output is both cleaner and more stable.

  • web-platform-tests/web-animations/timing-model/animations/finishing-an-animation.html:

LayoutTests:

  • platform/ios/TestExpectations:
  • platform/mac-wk1/TestExpectations:
1:04 PM Changeset in webkit [258274] by graouts@webkit.org
  • 4 edits in trunk

[Mac wk2 Release] imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state.html flaky fail
https://bugs.webkit.org/show_bug.cgi?id=206746
<rdar://problem/58867580>

Patch by Antoine Quint <graouts@webkit.org> on 2020-03-11
Reviewed by Dean Jackson.

Source/WebCore:

Because we could end up in situation where localTime was very marginally smaller than endTime inside of WebAnimation::play(), we would end up
with an unresolved hold time and we would return before calling WebAnimation::timingDidChange() and thus scheduling an animation update from
the timeline because we'd assume it was paused. As a result, the animation would never end and the test would wait for a "finish" event which
would never come.

We now account for an epsilon value when comparing times to account for such situations.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::play):

LayoutTests:

  • platform/mac-wk2/TestExpectations:
12:50 PM Changeset in webkit [258273] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the macCatalyst build after r258250

  • WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
12:34 PM Changeset in webkit [258272] by Chris Dumez
  • 4 edits in trunk

Assertion hit under WebPageProxy::suspendCurrentPageIfPossible() when bypassing certificate warning page
https://bugs.webkit.org/show_bug.cgi?id=208927
<rdar://problem/55448331>

Reviewed by Alex Christensen.

Source/WebKit:

When suspending a previous page after a process-swap, we refuse to do the suspension if the currently
committed URL does not match the url of the current back/forward list item. This makes sense since we
will store the suspended page on the back/forward list item and restore that back when navigating back
to that item. I had a debug assertion in there to help me figure out how this could happen. It turns
out that calling loadAlternateHTML on the view will replace the content of the view with the provided
HTML string, update the committed URL but not create a new back/forward list item. This is so that
if you reload or go/back to this back/forward list item, we will attempt to load the original URL
again. This would however trip my assertion. I am therefore removing my debug assertion and adding API
test coverage.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::suspendCurrentPageIfPossible):

Tools:

Add API test coverage.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
11:34 AM Changeset in webkit [258271] by Diego Pino Garcia
  • 5 edits in trunk/Tools

[GTK] Switch EWS api-gtk bot from buildAndTest to testOnly
https://bugs.webkit.org/show_bug.cgi?id=208860

Reviewed by Carlos Alberto Lopez Perez.

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

(StatusBubble): Added 'api-gtk'.

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

(BuildFactory.init): Call InstallGTKDependencies() if platform is
GTK.
(TestFactory.init): Call InstallGTKDependencies() if platform is
GTK.
(GTKBuildFactory):
(GTKBuildFactory.init): Deleted.
(GTKBuildAndTestFactory): Deleted.
(GTKBuildAndTestFactory.init): Deleted.
(GTKAPIBuildAndTestFactory): Deleted.

  • BuildSlaveSupport/ews-build/loadConfig.py:
11:01 AM Changeset in webkit [258270] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: (r257915?) [ Mac ] accessibility/accessibility-node-memory-management.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208930

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:42 AM Changeset in webkit [258269] by commit-queue@webkit.org
  • 9 edits
    1 add in trunk/Source/WebKit

Introduce ResourceLoadStatisticsParameters and move members from NetworkSessionCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=208895

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

No change in behavior yet, but this will help us organize things better.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::NetworkSession):

  • NetworkProcess/NetworkSessionCreationParameters.cpp:

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

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

(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):

  • Shared/ResourceLoadStatisticsParameters.h: Added.

(WebKit::ResourceLoadStatisticsParameters::encode const):
(WebKit::ResourceLoadStatisticsParameters::decode):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • WebKit.xcodeproj/project.pbxproj:
10:30 AM Changeset in webkit [258268] by Chris Dumez
  • 8 edits
    1 copy
    1 add in trunk

Defer async scripts until DOMContentLoaded or first paint, whichever comes first
https://bugs.webkit.org/show_bug.cgi?id=208896

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebbaseline WPT test due to script execution timing change.

  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/085-expected.txt:

Source/WebCore:

Defer async scripts until DOMContentLoaded or first paint, whichever comes first. In
Bug 207698, we deferred them until DOMContentLoaded, as a first-paint optimization.
However, this seems overly aggressive on pages like wikipedia and it is sufficient
to defer those scripts until first-paint to get the performance win.

  • dom/Document.cpp:

(WebCore::Document::shouldDeferAsynchronousScriptsUntilParsingFinishes const):

  • page/Settings.yaml:

Source/WebKit:

Defer async scripts until DOMContentLoaded or first paint, whichever comes first. In
Bug 207698, we deferred them until DOMContentLoaded, as a first-paint optimization.
However, this seems overly aggressive on pages like wikipedia and it is sufficient
to defer those scripts until first-paint to get the performance win.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setupPageConfiguration:]):

10:05 AM Changeset in webkit [258267] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Consolidate detachment of document timeline into Document::commonTeardown.
https://bugs.webkit.org/show_bug.cgi?id=208786
<rdar://problem/59936716>

Patch by Jack Lee <Jack Lee> on 2020-03-11
Reviewed by Ryosuke Niwa.

Move detachment of DocumentTimeline to Document::commonTeardown().

No new tests. Covered by existing document tests.

  • dom/Document.cpp:

(WebCore::Document::removedLastRef):
(WebCore::Document::commonTeardown):
(WebCore::Document::prepareForDestruction):

9:50 AM Changeset in webkit [258266] by commit-queue@webkit.org
  • 18 edits in trunk/Source

Unreviewed, reverting r258263.
https://bugs.webkit.org/show_bug.cgi?id=208922

it is breaking internal builds (Requested by youenn on
#webkit).

Reverted changeset:

"Move AudioSession interruption listener code to AudioSession"
https://bugs.webkit.org/show_bug.cgi?id=208714
https://trac.webkit.org/changeset/258263

9:41 AM Changeset in webkit [258265] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258252. rdar://problem/60310741

[iOS] A syscall is denied by the sandbox
https://bugs.webkit.org/show_bug.cgi?id=208892
<rdar://problem/60294880>

Reviewed by Brent Fulgham.

Add denied syscall to sandbox on iOS.

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

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

9:41 AM Changeset in webkit [258264] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258247. rdar://problem/60305091

Some common domains should always be App-bound domains
https://bugs.webkit.org/show_bug.cgi?id=208893

<rdar://problem/60280943>

Reviewed by Brent Fulgham.

Some domains, like about:blank and pages loaded from files should
always be considered app-bound.

  • UIProcess/WebPageProxy.cpp: (WebKit::shouldBeTreatedAsAppBound): (WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):

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

8:46 AM Changeset in webkit [258263] by youenn@apple.com
  • 18 edits in trunk/Source

Move AudioSession interruption listener code to AudioSession
https://bugs.webkit.org/show_bug.cgi?id=208714

Reviewed by Jer Noble.

Source/WebCore:

Move AudioSession interruption detection code from MediaSessionManagerIOS helper to AudioSessionIOS.
Add interruption observer capabilities to AudioSession and make MediaSessionManagerIOS an observer of it.
Manually tested.

  • platform/audio/AudioSession.cpp:

(WebCore::AudioSession::addInterruptionObserver):
(WebCore::AudioSession::removeInterruptionObserver):
(WebCore::AudioSession::beginInterruption):
(WebCore::AudioSession::endInterruption):

  • platform/audio/AudioSession.h:
  • platform/audio/ios/AudioSessionIOS.mm:

(-[WebInterruptionObserverHelper initWithCallback:]):
(-[WebInterruptionObserverHelper dealloc]):
(-[WebInterruptionObserverHelper clearCallback]):
(-[WebInterruptionObserverHelper interruption:]):
(WebCore::AudioSessionPrivate::AudioSessionPrivate):
(WebCore::AudioSessionPrivate::~AudioSessionPrivate):
(WebCore::AudioSession::addInterruptionObserver):
(WebCore::AudioSession::removeInterruptionObserver):
(WebCore::AudioSession::beginInterruption):
(WebCore::AudioSession::endInterruption):

  • platform/audio/ios/MediaSessionHelperIOS.h:
  • platform/audio/ios/MediaSessionHelperIOS.mm:

(-[WebMediaSessionHelper initWithCallback:]):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::MediaSessionManageriOS):
(WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
(WebCore::MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary):

Source/WebKit:

Make RemoteAudioSessionProxyManager an observer for AudioSession interruptions.
When being interrupted, notify all WebProcesses and trigger begin/end interruption mechanisms.
We only send interruption to sessions that are active in RemoteAudioSessionProxyManager.
Minor refactorting to move manager proxies from a map to a weak hash set.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::audioSessionProxy):

  • GPUProcess/media/RemoteAudioSessionProxy.cpp:

(WebKit::RemoteAudioSessionProxy::setCategory):
(WebKit::RemoteAudioSessionProxy::setPreferredBufferSize):
(WebKit::RemoteAudioSessionProxy::tryToSetActive):

  • GPUProcess/media/RemoteAudioSessionProxyManager.cpp:

(WebKit::RemoteAudioSessionProxyManager::RemoteAudioSessionProxyManager):
(WebKit::RemoteAudioSessionProxyManager::~RemoteAudioSessionProxyManager):
(WebKit::RemoteAudioSessionProxyManager::addProxy):
(WebKit::RemoteAudioSessionProxyManager::removeProxy):
(WebKit::RemoteAudioSessionProxyManager::setCategoryForProcess):
(WebKit::RemoteAudioSessionProxyManager::setPreferredBufferSizeForProcess):
(WebKit::RemoteAudioSessionProxyManager::tryToSetActiveForProcess):
(WebKit::RemoteAudioSessionProxyManager::beginAudioSessionInterruption):
(WebKit::RemoteAudioSessionProxyManager::endAudioSessionInterruption):

  • GPUProcess/media/RemoteAudioSessionProxyManager.h:
  • GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp:
  • GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h:
  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp:
  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h:
  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.messages.in:
7:50 AM Changeset in webkit [258262] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Gardening, update TestExpectations related with WebGL 2.0.0 tests
https://bugs.webkit.org/show_bug.cgi?id=208916

Unreviewed gardening.

  • platform/wpe/TestExpectations:
7:47 AM Changeset in webkit [258261] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add unit test to prevent multiple schedulers for a builder.
https://bugs.webkit.org/show_bug.cgi?id=208917

Reviewed by Carlos Alberto Lopez Perez.

  • BuildSlaveSupport/ews-build/loadConfig_unittest.py:

(ConfigDotJSONTest.test_multiple_scheduers_for_builder): Added unit test.
(TagsForBuilderTest): Fixed a typo.

7:40 AM Changeset in webkit [258260] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash in KeyframeEffect::getAnimatedStyle
https://bugs.webkit.org/show_bug.cgi?id=208318
<rdar://problem/59848234>

Patch by Jack Lee <Jack Lee> on 2020-03-11
Reviewed by Antoine Quint.

Source/WebCore:

Quit getAnimatedStyle if element is rendererless.

Test: fast/animation/keyframe-rendererless-element-crash.html

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::getAnimatedStyle):

LayoutTests:

Quit getAnimatedStyle if element is rendererless.

  • fast/animation/keyframe-rendererless-element-crash-expected.txt: Added.
  • fast/animation/keyframe-rendererless-element-crash.html: Added.
5:44 AM Changeset in webkit [258259] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208912

Unreviewed gardening.

  • platform/wpe/TestExpectations:
3:48 AM Changeset in webkit [258258] by graouts@webkit.org
  • 2 edits
    5 deletes in trunk/LayoutTests

Regression r258148: js/dom/navigator-maxtouchpoints.html is consistently failing on windows
https://bugs.webkit.org/show_bug.cgi?id=208856

Unreviewed test gardening.

Since Pointer Events are now enabled by default everywhere, we can remove platform-specific results
and rely on the generic expectation where the navigator.maxTouchPoints property is 0.

  • js/dom/navigator-maxtouchpoints-expected.txt:
  • platform/gtk/js/dom/navigator-maxtouchpoints-expected.txt: Removed.
  • platform/ios/js/dom/navigator-maxtouchpoints-expected.txt: Removed.
  • platform/mac/js/dom/navigator-maxtouchpoints-expected.txt: Removed.
  • platform/win/js/dom/navigator-maxtouchpoints-expected.txt: Removed.
  • platform/wpe/js/dom/navigator-maxtouchpoints-expected.txt: Removed.
2:53 AM Changeset in webkit [258257] by Diego Pino Garcia
  • 1 edit
    2 deletes in trunk/LayoutTests

[WPE] Gardening, remove WPE specific expected results
https://bugs.webkit.org/show_bug.cgi?id=208909

Unreviewed gardening.

  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-mode.any-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-mode.any.worker-expected.txt: Removed.
2:20 AM Changeset in webkit [258256] by Philippe Normand
  • 2 edits in trunk/Tools

[GTK] Failing API tests under the Flatpak SDK environment
https://bugs.webkit.org/show_bug.cgi?id=208871

Reviewed by Michael Catanzaro.

The load-failed signal callback should return a boolean result,
otherwise we enter in unknown territory depending on how the
toolchain compiles this, possibly triggering bad behavior (with
GCC 9.2 from the Flatpak SDK) or not caring at all (with current
GCC toolchain on buildbots).

Patch suggested by Michael Catanzaro.

  • TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:

(loadFailedCallback):

2:00 AM Changeset in webkit [258255] by youenn@apple.com
  • 9 edits in trunk

[iOS] Unskip fast/mediastream tests
https://bugs.webkit.org/show_bug.cgi?id=208636

Reviewed by Eric Carlson.

Source/WebCore:

Add label to the settings so that we correctly send this information back to WebProcess.
Covered by existing tests.

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::settings):

  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::settings):

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::settings):

LayoutTests:

  • fast/mediastream/MediaStream-video-element-expected.txt:
  • fast/mediastream/MediaStream-video-element.html:

Do not output sourceBuffer which is not supported in all platforms.

  • fast/mediastream/MediaStreamTrack-getSettings-expected.txt:
  • platform/ios/TestExpectations:

Mar 10, 2020:

11:22 PM Changeset in webkit [258254] by commit-queue@webkit.org
  • 6 edits in trunk

[OpenSSL] Implement WebCrypto APIs for AES-CTR and AES-KW
https://bugs.webkit.org/show_bug.cgi?id=208186

Patch by Tomoki Imai <Tomoki Imai> on 2020-03-10
Reviewed by Fujii Hironori.

Source/WebCore:

Added WebCrypto implementations for the following algorithms with OpenSSL.

  • AES-CTR
  • AES-KW

Enabled WebCrypto LayoutTests for AES-CTR and AES-KW.

  • crypto/openssl/CryptoAlgorithmAES_CTROpenSSL.cpp:

(WebCore::aesAlgorithm): Added. Helper function to select which AES-CTR algorithm to be used by checking key size.
(WebCore::crypt): Added. Helper function shared by platformEncrypt/platformDecrypt.
(WebCore::CryptoAlgorithmAES_CTR::platformEncrypt): Implemented.
(WebCore::CryptoAlgorithmAES_CTR::platformDecrypt): Implemented.

  • crypto/openssl/CryptoAlgorithmAES_KWOpenSSL.cpp:

(WebCore::aesAlgorithm): Added. Helper function to select which AES-KW algorithm to be used by checking key size.
(WebCore::cryptWrapKey): Added. Helper function for platformWrapKey.
(WebCore::cryptUnwrapKey): Added. Helper function for platformUnwrapKey.
(WebCore::CryptoAlgorithmAES_KW::platformWrapKey): Implemented.
(WebCore::CryptoAlgorithmAES_KW::platformUnwrapKey): Implemented.

  • crypto/openssl/CryptoAlgorithmRegistryOpenSSL.cpp:

(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Registered CryptoAlgorithmAES_CTR and CryptoAlgorithmAES_KW.

LayoutTests:

Enabled WebCrypto LayoutTests for AES-CTR and AES-KW along with the implementations.

  • platform/wincairo/TestExpectations:
10:44 PM Changeset in webkit [258253] by don.olmstead@sony.com
  • 23 edits in trunk/Source

[GPU Process] Work towards compiling out on non-Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=208899

Reviewed by Darin Adler.

Source/WebCore:

Add in additional headers required for GPU Process build.

  • Headers.cmake:

Source/WebKit:

Work through some compilation issues on non-Cocoa ports when attempting to build
out the GPU Process. Fix platform guards for some methods. Fix compilation issues
for non-unified builds.

Add in CMake listing of messages.in and include directories required for building
with ENABLE_GPU_PROCESS.

  • CMakeLists.txt:
  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::didClose):

  • GPUProcess/GPUConnectionToWebProcess.messages.in:
  • GPUProcess/GPUProcess.cpp:
  • GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:
  • GPUProcess/graphics/RemoteImageBufferProxy.h:

(WebKit::RemoteImageBufferProxy::create):

  • GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
  • GPUProcess/graphics/RemoteRenderingBackendProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::getConfiguration):
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenGravity):
(WebKit::RemoteMediaPlayerProxy::updateVideoFullscreenInlineImage):
(WebKit::RemoteMediaPlayerProxy::setVideoFullscreenMode):
(WebKit::RemoteMediaPlayerProxy::videoFullscreenStandbyChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged):
(WebKit::RemoteMediaPlayerProxy::notifyTrackModeChanged):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • UIProcess/GPU/GPUProcessProxy.h:
  • WebProcess/GPU/GPUProcessConnection.cpp:
  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
  • WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:
  • WebProcess/GPU/graphics/RemoteRenderingBackend.cpp:
  • WebProcess/GPU/media/AudioTrackPrivateRemote.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
  • WebProcess/GPU/media/TextTrackPrivateRemote.h:
9:51 PM Changeset in webkit [258252] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] A syscall is denied by the sandbox
https://bugs.webkit.org/show_bug.cgi?id=208892
<rdar://problem/60294880>

Reviewed by Brent Fulgham.

Add denied syscall to sandbox on iOS.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
9:25 PM Changeset in webkit [258251] by Ross Kirsling
  • 7 edits in trunk/JSTests

Re-import test262 to acquire DST fix
https://bugs.webkit.org/show_bug.cgi?id=208901

Reviewed by Don Olmstead.

  • test262/latest-changes-summary.txt:
  • test262/test/built-ins/AggregateError/newtarget-proto-fallback.js:
  • test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js:
  • test262/test/built-ins/Array/prototype/indexOf/15.4.4.14-4-4.js:
  • test262/test/built-ins/Date/parse/without-utc-offset.js:
  • test262/test262-Revision.txt:
9:07 PM Changeset in webkit [258250] by Darin Adler
  • 18 edits in trunk/Source

Make TextIterator::range return a SimpleRange
https://bugs.webkit.org/show_bug.cgi?id=208797

Reviewed by Don Olmstead.

Source/WebCore:

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::traverseToOffsetInRange): Updated since
TextIterator::range returns a SimpleRange. Also use TextIterator::node where
appropriate instead of repeating the code for it here.
(WebCore::AXObjectCache::lengthForRange): Use TextIterator::node.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::stringForRange const): Use TextIterator::node.
(WebCore::AccessibilityObject::stringForVisiblePositionRange): Ditto.
(WebCore::AccessibilityObject::lengthForVisiblePositionRange const): Ditto.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
Use TextIterator::node and createLiveRange.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Added include

of SimpleRange and removed "using namespace HTMLNames".
(AXAttributeStringSetStyle): Use HTMLNames namespace explicitly.
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:spellCheck:]):
Use TextIterator::node.
(-[WebAccessibilityObjectWrapper subrole]): Use HTMLNames namespace explicitly.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::collectTextRanges): Use createLiveRange
here since we don't want to convert move the class to SimpleRange at this time.

  • dom/Position.cpp: Added include of Range.h.
  • dom/RangeBoundaryPoint.h: Removed a bogus "const" on the return value of

RangeBoundaryPoint::toPosition.

  • editing/TextIterator.cpp:

(WebCore::BitStack::BitStack): Deleted.
(WebCore::BitStack::size const): Deleted.
(WebCore::TextIterator::range const): Return a SimpleRange.
(WebCore::TextIterator::node const): Updated for the above.
(WebCore::CharacterIterator::range const): Use SimpleRange right up until the
return statement, where we do createLiveRange. Will come back and remove that soon.
(WebCore::TextIterator::rangeFromLocationAndLength): Use createLiveRange in
one place, SimpleRange in another.

  • editing/TextIterator.h: Removed include of "Range.h" since we can just use

a forward declaration instead. Removed unneeded forward declarations. Simplified
the BitStack and TextIteratorCopyableText classes by initializing data members
and removing explicit definitions of the constructors and destructors. Took out
a stray "explicit" that wasn't needed. Changed the return value of
TextIterator::range to SimpleRange.

  • editing/TextManipulationController.cpp:

(WebCore::ParagraphContentIterator::ParagraphContentIterator): Call
createLiveRange.
(WebCore::ParagraphContentIterator::advance): Ditto.
(WebCore::ParagraphContentIterator::startPosition): Ditto.
(WebCore::ParagraphContentIterator::endPosition): Ditto.

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange): Use createLiveRange.

  • editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedStringFromRange): Use SimpleRange instead
of a live range.

Source/WebKit:

  • WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:

(-[WKDOMTextIterator currentRange]): Use createLiveRange.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Added includes.

Source/WebKitLegacy/mac:

  • WebView/WebTextIterator.mm:

(-[WebTextIterator currentRange]): Use createLiveRange.

8:26 PM Changeset in webkit [258249] by Simon Fraser
  • 5 edits
    2 adds in trunk

Track "scrolling scope" on RenderLayers
https://bugs.webkit.org/show_bug.cgi?id=208620

Reviewed by Zalan Bujtas.
Source/WebCore:

The scrolling scope code added in r257920 failed to recompute m_contentsScrollingScope
when hasCompositedScrollableOverflow() changed, causing bugs on gmail.

Recompute the m_contentsScrollingScope to match or not match the m_boxScrollingScope
based on whether the layer is composited-scrollable.

Test: fast/scrolling/mac/absolute-in-overflow-scroll-dynamic.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::isScrolledByOverflowScrollLayer):

LayoutTests:

  • fast/scrolling/mac/absolute-in-overflow-scroll-dynamic-expected.html: Added.
  • fast/scrolling/mac/absolute-in-overflow-scroll-dynamic.html: Added.
  • fast/scrolling/mac/absolute-in-overflow-scroll.html: Fix typo.
7:40 PM Changeset in webkit [258248] by don.olmstead@sony.com
  • 9 edits in trunk/Source

Non-unified build fixes early March 2020 edition
https://bugs.webkit.org/show_bug.cgi?id=208897

Unreviewed build fix.

Source/WebCore:

  • Modules/mediacontrols/MediaControlsHost.h:
  • dom/BoundaryPoint.h:
  • dom/StaticRange.cpp:
  • editing/FrameSelection.cpp:
  • loader/cache/CachedResourceRequest.cpp:
  • page/scrolling/ScrollingTreeFrameScrollingNode.h:

Source/WebKit:

  • NetworkProcess/NetworkLoadChecker.h:
7:00 PM Changeset in webkit [258247] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Some common domains should always be App-bound domains
https://bugs.webkit.org/show_bug.cgi?id=208893

<rdar://problem/60280943>

Reviewed by Brent Fulgham.

Some domains, like about:blank and pages loaded from files should
always be considered app-bound.

  • UIProcess/WebPageProxy.cpp:

(WebKit::shouldBeTreatedAsAppBound):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):

6:35 PM Changeset in webkit [258246] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r253759): Web Inspector: Audits: results folder doesn't get selected by pressing Arrow Down key
https://bugs.webkit.org/show_bug.cgi?id=208679
<rdar://problem/60108942>

Reviewed by Timothy Hatcher.

  • UserInterface/Views/AuditNavigationSidebarPanel.js:

(WI.AuditNavigationSidebarPanel.prototype.initialLayout):
(WI.AuditNavigationSidebarPanel.prototype._handleAuditManagerEditingChanged):
We do actually want to prevent repeat selection, as we may end up attempting to select the
same WI.TreeElement twice due to the nature of WI.SelectionController, which would call
through to WI.NavigationSidebarPanel.prototype.showDefaultContentView() which deselects
any selected WI.TreeElement. Reselecting the previously selected WI.TreeElement when
exiting edit mode is much more of a special case than any of the ways for moving selection
to a WI.FolderTreeElement, so add logic just for that case instead of affecting the entire
WI.TreeOutline. When restoring the selection after leaving edit mode, if the currently
selected WI.TreeElement was also the previously selected WI.TreeElement, deselect and
reselect it so we're "reset" back to a fresh state.

6:32 PM Changeset in webkit [258245] by Devin Rousso
  • 3 edits in trunk/Source/WebKit

Web Inspector: make WebKit::WebInspectorProxy::m_isOpening GTK only
https://bugs.webkit.org/show_bug.cgi?id=208831
<rdar://problem/57720692>

Reviewed by Brian Burg.

  • UIProcess/Inspector/WebInspectorProxy.h:
  • UIProcess/Inspector/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::open):

6:24 PM Changeset in webkit [258244] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION(iOS): editing/selection/ios/selection-after-changing-text-with-callout-menu.html intermittently fails
https://bugs.webkit.org/show_bug.cgi?id=208898

Reviewed by Wenson Hsieh.

iOS no longer shows the callout bar upon Cmd+A. Click on the selection to bring up the callout bar manually.

  • editing/selection/ios/selection-after-changing-text-with-callout-menu.html:
5:42 PM Changeset in webkit [258243] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebCore

Cherry-pick r258229. rdar://problem/60299543

REGRESSION (r257920): inbox flickers and disappears when scrolling gmail
https://bugs.webkit.org/show_bug.cgi?id=208883
rdar://problem/60287447

Partially revert r257920 since it caused gmail scrolling flickers.

  • rendering/RenderLayerCompositor.cpp: (WebCore::isScrolledByOverflowScrollLayer):

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

5:42 PM Changeset in webkit [258242] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebCore

Cherry-pick r258226. rdar://problem/60299189

Set important EGL context attributes
https://bugs.webkit.org/show_bug.cgi?id=208724
<rdar://problem/60168306>

Temporarily revert r258025 while investigating a crash.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm: (WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

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

5:28 PM Changeset in webkit [258241] by Alan Coon
  • 8 edits in trunk/Source

Versioning.

5:02 PM Changeset in webkit [258240] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

[CoreIPC] WebPasteboardProxy::SetPasteboardBufferForType uses "0" for both uint64_t and a pointer value
<https://webkit.org/b/208879>
<rdar://problem/60165624>

Reviewed by Wenson Hsieh.

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::setPasteboardBufferForType):

  • Change 0 to nullptr to make code easier to read.
4:41 PM Changeset in webkit [258239] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Nullptr crash in CompositeEditCommand::moveParagraphWithClones when indenting non-enclosed elements.
https://bugs.webkit.org/show_bug.cgi?id=208628
<rdar://problem/52011509>

Patch by Jack Lee <Jack Lee> on 2020-03-10
Reviewed by Ryosuke Niwa.

When indenting a non-enclosed paragraph, quit if start of contents is not a descendant or sibling of outer block.

Source/WebCore:

Test: fast/editing/indent-non-enclosed-element-crash.html

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::indentIntoBlockquote):

LayoutTests:

  • fast/editing/indent-non-enclosed-element-crash-expected.txt: Added.
  • fast/editing/indent-non-enclosed-element-crash.html: Added.
4:36 PM Changeset in webkit [258238] by stephan.szabo@sony.com
  • 2 edits in trunk/Source/WebCore

[PlayStation] incomplete type 'WebCore::ScrollingStateFrameScrollingNode' named in nested name specifier
https://bugs.webkit.org/show_bug.cgi?id=208882

Reviewed by Simon Fraser.

No new tests, build fix.

  • page/scrolling/ScrollingTreeScrollingNode.cpp: Add include of ScrollingStateFrameScrollingNode when ENABLE(SCROLLING_THREAD) is true.
3:57 PM Changeset in webkit [258237] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • platform/audio/ios/MediaSessionHelperIOS.mm:

(MediaSessionHelperiOS::providePresentingApplicationPID):
Fix an unused parameter warning.

3:54 PM Changeset in webkit [258236] by Jacob Uphoff
  • 3 edits in trunk/LayoutTests

[ macOS iOS ] imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208890

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
3:41 PM Changeset in webkit [258235] by Andres Gonzalez
  • 2 edits in trunk/Source/WebKit

Enable accessibility IsolatedTree in WebKit.
https://bugs.webkit.org/show_bug.cgi?id=208881

Reviewed by Chris Fleizach.

Sets the default value of accessibility IsolatedTree support to true.

  • Shared/WebPreferences.yaml:
3:37 PM Changeset in webkit [258234] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: (r257944?) [ Mac wk2 ] fast/images/decode-render-animated-image.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208889

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
3:21 PM Changeset in webkit [258233] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ iOS ] fast/css-custom-paint/image.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=208887

Unreviewed test gardening

  • platform/ios-wk2/TestExpectations:
3:04 PM Changeset in webkit [258232] by Alan Coon
  • 1 copy in tags/Safari-610.1.6.3

Tag Safari-610.1.6.3.

3:02 PM Changeset in webkit [258231] by Alan Coon
  • 8 edits in branches/safari-610.1.6-branch/Source

Versioning.

2:47 PM Changeset in webkit [258230] by Justin Fan
  • 3 edits in trunk/LayoutTests

[WebGL] Additional gardening for webgl bot DEQP expectations
https://bugs.webkit.org/show_bug.cgi?id=208884

Unreviewed test gardening.

  • webgl/2.0.0/deqp/functional/gles3/pixelbufferobject-expected.txt:
  • webgl/TestExpectations:
2:27 PM Changeset in webkit [258229] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

REGRESSION (r257920): inbox flickers and disappears when scrolling gmail
https://bugs.webkit.org/show_bug.cgi?id=208883
rdar://problem/60287447

Partially revert r257920 since it caused gmail scrolling flickers.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::isScrolledByOverflowScrollLayer):

2:21 PM Changeset in webkit [258228] by Alan Coon
  • 1 copy in tags/Safari-610.1.6.2

Tag Safari-610.1.6.2.

2:18 PM Changeset in webkit [258227] by Alan Coon
  • 8 edits in branches/safari-610.1.6-branch/Source

Versioning.

1:09 PM Changeset in webkit [258226] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Set important EGL context attributes
https://bugs.webkit.org/show_bug.cgi?id=208724
<rdar://problem/60168306>

Temporarily revert r258025 while investigating a crash.

  • platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:

(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):

12:16 PM Changeset in webkit [258225] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

File upload cancels before files can be uploaded.
https://bugs.webkit.org/show_bug.cgi?id=208846
<rdar://problem/60244249>

Reviewed by Tim Horton.

With the new UIContextMenus, we needed to cancel in order for everything to be
reset correctly in WebCore. But this can only be done in the animation completion
handler, but we only want to cancel if we aren't presenting a different picker.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
(-[WKFileUploadPanel ensureContextMenuInteraction]):

12:08 PM Changeset in webkit [258224] by ysuzuki@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Fix iso-subspace static_assert for JSJavaScriptCallFramePrototype
https://bugs.webkit.org/show_bug.cgi?id=208874

Reviewed by Saam Barati.

This static_assert should ensure the condition for JSJavaScriptCallFramePrototype, not for JSInjectedScriptHostPrototype.

  • inspector/JSJavaScriptCallFramePrototype.h:
11:46 AM Changeset in webkit [258223] by youenn@apple.com
  • 6 edits in trunk/Source

Make sure that ServiceWorkerFrameLoaderClient lifetime exceeds its frame lifetime
https://bugs.webkit.org/show_bug.cgi?id=208855
<rdar://problem/60187332>

Reviewed by Geoffrey Garen.

Source/WebCore:

Add lifetime management of the loader client to SWContextManager instead of its connection, which has a shorter lifetime.
No JS observable change of behavior.

  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::addServiceWorkerFrameLoaderClient):
(WebCore::SWContextManager::removeServiceWorkerFrameLoaderClient):

  • workers/service/context/SWContextManager.h:

Source/WebKit:

In case connection is destroyed, for instance due to network process crashing,
we destroy all service worker frame loader clients.
This is too soon as service worker thread proxy is refcounted and can last longer.
For that reason, we now let the SWContextManager handle the lifetime of the frame loader clients.
Drive-by fix: generate a new frame identifier instead of using an internal counter which can be wrong in case of new connection
and might clash with other frame identifiers now that service workers can run in process with pages.

  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::ServiceWorkerFrameLoaderClient::create):
(WebKit::ServiceWorkerFrameLoaderClient::ServiceWorkerFrameLoaderClient):
(WebKit::ServiceWorkerFrameLoaderClient::frameLoaderDestroyed):
(WebKit::WebSWContextManagerConnection::installServiceWorker):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
11:30 AM Changeset in webkit [258222] by Diego Pino Garcia
  • 1 edit
    9 adds in trunk/LayoutTests

[WPE] Gardening, emit new baselines of WebGL 1.0.3 conformance tests
https://bugs.webkit.org/show_bug.cgi?id=208854

Unreviewed gardening.

  • platform/wpe/webgl/1.0.3/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt: Added.
  • platform/wpe/webgl/1.0.3/conformance/misc/webgl-specific-expected.txt: Added.
  • platform/wpe/webgl/1.0.3/conformance/rendering/point-no-attributes-expected.txt: Added.
  • platform/wpe/webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt: Added.
11:25 AM Changeset in webkit [258221] by jer.noble@apple.com
  • 9 edits
    2 adds in trunk/Source/WebCore

Add logging for Modern EME methods.
https://bugs.webkit.org/show_bug.cgi?id=205519

Reviewed by Eric Carlson.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::create):
(WebCore::MediaKeySession::MediaKeySession):
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):
(WebCore::MediaKeySession::sessionClosed):
(WebCore::MediaKeySession::logChannel const):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::createSession):
(WebCore::MediaKeys::setServerCertificate):

  • Modules/encryptedmedia/MediaKeys.h:
  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/encryptedmedia/NavigatorEME.cpp:

(WTF::LogArgument<Vector<T>>::toString):
(WTF::LogArgument<Optional<T>>::toString):
(WebCore::NavigatorEME::requestMediaKeySystemAccess):
(WebCore::tryNextSupportedConfiguration):

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/encryptedmedia/CDMLogging.cpp: Added.

(WebCore::toJSONObject):
(WebCore::toJSONString):
(WTF::LogArgument<WebCore::CDMKeySystemConfiguration>::toString):
(WTF::LogArgument<WebCore::CDMMediaCapability>::toString):
(WTF::LogArgument<WebCore::CDMRestrictions>::toString):
(WTF::LogArgument<WebCore::CDMEncryptionScheme>::toString):
(WTF::LogArgument<WebCore::CDMKeyStatus>::toString):
(WTF::LogArgument<WebCore::CDMMessageType>::toString):
(WTF::LogArgument<WebCore::CDMRequirement>::toString):
(WTF::LogArgument<WebCore::CDMSessionType>::toString):

  • platform/encryptedmedia/CDMLogging.h: Added.
  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
11:14 AM Changeset in webkit [258220] by don.olmstead@sony.com
  • 2 edits in trunk/Tools

Sync FeatureList.pm with CMake definitions
https://bugs.webkit.org/show_bug.cgi?id=208866

Reviewed by Michael Catanzaro.

  • Scripts/webkitperl/FeatureList.pm:
10:52 AM Changeset in webkit [258219] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove the special DisplayList handling in CanvasRenderingContext2DBase
https://bugs.webkit.org/show_bug.cgi?id=208828

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-10
Reviewed by Myles C. Maxfield.

Remove DisplayListDrawingContext and use DisplayList::DrawingContext
instead. Remove 'tracksDisplayListReplay' since it is always 'false'.
Remove contextDisplayListMap() since items are added to it only if
'tracksDisplayListReplay' is true which never happens.

  • html/CustomPaintCanvas.cpp:

(WebCore::CustomPaintCanvas::getContext):

  • html/canvas/CanvasRenderingContext2DBase.cpp:

(WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase):
(WebCore::CanvasRenderingContext2DBase::paintRenderingResultsToCanvas):
(WebCore::CanvasRenderingContext2DBase::drawingContext const):
(WebCore::DisplayListDrawingContext::DisplayListDrawingContext): Deleted.
(WebCore::contextDisplayListMap): Deleted.
(WebCore::CanvasRenderingContext2DBase::setTracksDisplayListReplay): Deleted.
(WebCore::CanvasRenderingContext2DBase::displayListAsText const): Deleted.
(WebCore::CanvasRenderingContext2DBase::replayDisplayListAsText const): Deleted.

  • html/canvas/CanvasRenderingContext2DBase.h:

(WebCore::CanvasRenderingContext2DBase::tracksDisplayListReplay const): Deleted.

  • platform/graphics/displaylists/DisplayListDrawingContext.h:
10:47 AM Changeset in webkit [258218] by Alan Coon
  • 1 copy in branches/safari-609.2.1.2-branch

New branch.

10:44 AM Changeset in webkit [258217] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Add unit tests for commit queue factory
https://bugs.webkit.org/show_bug.cgi?id=208862

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/factories_unittest.py:

(TestCommitQueueFactory):
(TestCommitQueueFactory.test_commit_queue_factory): Added unit-test for commit-queue factory.

10:43 AM Changeset in webkit [258216] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews-app] Status bubble should only display important messages in pop-over - part 3
https://bugs.webkit.org/show_bug.cgi?id=208865

Reviewed by Jonathan Bedard.

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

(StatusBubble): Added more strings to STEPS_TO_HIDE.

10:36 AM Changeset in webkit [258215] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

[MSE] Use CMSampleBufferGetOutputPresentationTimeStamp / CMSampleBufferGetOutputDuration for all presentation times and durations
https://bugs.webkit.org/show_bug.cgi?id=208827

Reviewed by Eric Carlson.

CMSampleBufferGetOutputPresentationTimeStamp takes into account pre-roll trim durations and
movie edit lists, and as such, should be used as the "correct" value for "presentation
time".

outputPresentationTime() is inconsistently used, so rather than replacing all references of
outputPresentationTime() with presentationTime(), simply redefine presetationTime() in terms
of CMSampleBufferGetPresentationTimeStamp() and remove outputPresentationTime() entirely.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::updateMinimumUpcomingPresentationTime):

  • platform/MediaSample.h:

(WebCore::MediaSample::outputPresentationTime const): Deleted.
(WebCore::MediaSample::outputDuration const): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::calculateTimelineOffset):

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

(WebCore::MediaSampleAVFObjC::presentationTime const):
(WebCore::MediaSampleAVFObjC::duration const):
(WebCore::MediaSampleAVFObjC::outputDuration const):
(WebCore::MediaSampleAVFObjC::dump const):
(WebCore::MediaSampleAVFObjC::toJSONString const):
(WebCore::MediaSampleAVFObjC::outputPresentationTime const): Deleted.

  • platform/mediastream/RealtimeVideoCaptureSource.cpp:

(WebCore::RealtimeVideoCaptureSource::adaptVideoSample):

10:26 AM Changeset in webkit [258214] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Add release logging for when a navigation by a third-party (or untrusted) iframe is blocked
https://bugs.webkit.org/show_bug.cgi?id=208863

Reviewed by Youenn Fablet.

Add release logging for when a navigation by a third-party (or untrusted) iframe is blocked, to
help identify potential regressions in behavior.

  • dom/Document.cpp:

(WebCore::Document::canNavigate):
(WebCore::Document::frameID const):
(WebCore::Document::isAlwaysOnLoggingAllowed const):

  • dom/Document.h:
9:59 AM WebKitGTK/2.26.x edited by clopez@igalia.com
(diff)
9:27 AM Changeset in webkit [258213] by youenn@apple.com
  • 4 edits in trunk/Source/WebKit

Do not create a service worker connection if service worker is not enabled in network process
https://bugs.webkit.org/show_bug.cgi?id=208851

Reviewed by Simon Fraser.

In case of navigation redirection, we were trying to go to service worker without checking the service worker entitlement.
Instead, we should check the service worker entitlement and return early in that case.

Covered by manually running minibrowser on simulator.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::isServiceWorkerAllowed const):
(WebKit::NetworkConnectionToWebProcess::createFetchTask):
(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):

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

(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::startWithServiceWorker):

9:15 AM Changeset in webkit [258212] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[WPE] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208853

Unreviewed gardening.

  • platform/wpe/TestExpectations:
9:11 AM Changeset in webkit [258211] by Lauro Moura
  • 2 edits in trunk/Tools

[WPE] MiniBrowser: Close child WebViews when exiting
https://bugs.webkit.org/show_bug.cgi?id=208689

Reviewed by Carlos Garcia Campos.

Store created views so we can release them before exiting.

  • MiniBrowser/wpe/main.cpp:

(webViewClose):
(createWebView):
(main):

8:12 AM Changeset in webkit [258210] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

Add ValidateCommiterAndReviewer and ValidateChangeLogAndReviewer build steps in commit-queue
https://bugs.webkit.org/show_bug.cgi?id=208861

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/factories.py:

(Factory.init): Remove verifycqplus parameter.
(CommitQueueFactory): Inherit from factory.BuildFactory base class instead of custom Factory class.
(CommitQueueFactory.init): Add required build steps, especially ValidateCommiterAndReviewer,
UpdateWorkingDirectory and ValidateChangeLogAndReviewer.

7:56 AM Changeset in webkit [258209] by Jacob Uphoff
  • 3 edits in trunk/LayoutTests

Flaky Test: svg/custom/object-sizing-explicit-height.xhtml
https://bugs.webkit.org/show_bug.cgi?id=208592

Unreviewed test gardening

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
7:42 AM Changeset in webkit [258208] by youenn@apple.com
  • 19 edits in trunk/Source

Remove SampleBufferDisplayLayer sync IPC
https://bugs.webkit.org/show_bug.cgi?id=208804

Reviewed by Eric Carlson.

Source/WebCore:

Add an initialize method to initialize the sample buffer display layer.
It takes a completion handler so that the initialization can be asynchronous.
Update the player to, on initialization callback, create the necessary observers and hook the fullscreen manager.

Update MediaPlayerPrivateMediaStreamAVFObjC to no longer expose rootLayer and rootLayerBoundsDidChange.
This was used by the root layer observer.
Instead, pass the root layer to the observer when starting the observer and pass a callback to the observer.
Covered by existing tests.

  • platform/graphics/avfoundation/SampleBufferDisplayLayer.cpp:

(WebCore::SampleBufferDisplayLayer::create):

  • platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
  • platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.h:
  • platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm:

(WebCore::LocalSampleBufferDisplayLayer::create):
(WebCore::LocalSampleBufferDisplayLayer::LocalSampleBufferDisplayLayer):
(WebCore::LocalSampleBufferDisplayLayer::initialize):

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

(-[WebRootSampleBufferBoundsChangeListener initWithCallback:]):
(-[WebRootSampleBufferBoundsChangeListener invalidate]):
(-[WebRootSampleBufferBoundsChangeListener begin:]):
(-[WebRootSampleBufferBoundsChangeListener stop]):
(-[WebRootSampleBufferBoundsChangeListener observeValueForKeyPath:ofObject:change:context:]):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateDisplayLayer):
(-[WebRootSampleBufferBoundsChangeListener initWithParent:]): Deleted.
(-[WebRootSampleBufferBoundsChangeListener begin]): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::rootLayer const): Deleted.

Source/WebKit:

Implement the initialize method as an async IPC.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage):

  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:

(WebKit::RemoteSampleBufferDisplayLayer::RemoteSampleBufferDisplayLayer):

  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp:

(WebKit::RemoteSampleBufferDisplayLayerManager::createLayer):

  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.h:
  • GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.messages.in:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::updatePreferences):

  • WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:

(WebKit::SampleBufferDisplayLayer::create):
(WebKit::SampleBufferDisplayLayer::SampleBufferDisplayLayer):
(WebKit::SampleBufferDisplayLayer::initialize):

  • WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
  • WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.cpp:

(WebKit::SampleBufferDisplayLayerManager::createLayer):

  • WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.h:
7:26 AM Changeset in webkit [258207] by Jacob Uphoff
  • 2 edits in trunk/LayoutTests

[ macOS ] imported/w3c/web-platform-tests/webmessaging/Channel_postMessage_Blob.htm is flaky failing
https://bugs.webkit.org/show_bug.cgi

Unreviewed test gardening

  • platform/mac/TestExpectations:
7:06 AM Changeset in webkit [258206] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[Cairo] Use std::unique_ptr for cairo_path_t
https://bugs.webkit.org/show_bug.cgi?id=208808

Reviewed by Sergio Villar Senin.

  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::clipForPatternFilling):
(WebCore::Cairo::drawPathShadow):

  • platform/graphics/cairo/CairoUniquePtr.h:

(WebCore::CairoPtrDeleter<cairo_path_t>::operator() const):

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::appendPathToCairoContext):

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::Path):
(WebCore::Path::operator=):
(WebCore::Path::addPath):
(WebCore::Path::applySlowCase const):

6:56 AM Changeset in webkit [258205] by eocanha@igalia.com
  • 3 edits in trunk/LayoutTests

REGRESSION(r257977): [GTK] http/tests/media/hls/video-cookie.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=208803

Reviewed by Philippe Normand.

Supply Content-Length, so WebKit GStreamer can actually know when the download has finished
without mistaking EOF with a stall.

  • http/tests/media/resources/video-cookie-check-cookie.php: Supply Content-Length.
  • platform/gtk/TestExpectations: Removed the test as failing.
6:50 AM Changeset in webkit [258204] by Carlos Garcia Campos
  • 7 edits
    2 deletes in trunk/Source/WebCore

[Cairo] Remove PlatformPathCairo
https://bugs.webkit.org/show_bug.cgi?id=208807

Reviewed by Darin Adler.

We have a class CairoPath defined in PlatformPathCairo.h that simply wraps a cairo_t. We can use the cairo_t
directly as PlatformPath and simplify the cairo path implementation.

  • platform/SourcesCairo.txt:
  • platform/graphics/Path.h:

(WebCore::Path::platformPath const):

  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::fillRectWithRoundedHole):
(WebCore::Cairo::fillPath):
(WebCore::Cairo::strokePath):
(WebCore::Cairo::clipPath):

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::appendWebCorePathToCairoContext):

  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::Font::platformPathForGlyph const):

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::Path):
(WebCore::Path::ensurePlatformPath):
(WebCore::Path::operator=):
(WebCore::Path::clear):
(WebCore::Path::isEmptySlowCase const):
(WebCore::Path::currentPointSlowCase const):
(WebCore::Path::translate):
(WebCore::Path::moveToSlowCase):
(WebCore::Path::addLineToSlowCase):
(WebCore::Path::addRect):
(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):
(WebCore::Path::addArcSlowCase):
(WebCore::Path::addArcTo):
(WebCore::Path::addEllipse):
(WebCore::Path::addPath):
(WebCore::Path::closeSubpath):
(WebCore::Path::boundingRectSlowCase const):
(WebCore::Path::strokeBoundingRect const):
(WebCore::Path::contains const):
(WebCore::Path::strokeContains const):
(WebCore::Path::applySlowCase const):
(WebCore::Path::transform):

  • platform/graphics/cairo/PlatformPathCairo.cpp: Removed.
  • platform/graphics/cairo/PlatformPathCairo.h: Removed.
6:21 AM Changeset in webkit [258203] by Philippe Normand
  • 2 edits in trunk/Tools

[GTK] API favicon test flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=208189

Reviewed by Carlos Garcia Campos.

Sometimes the favicon changes already during the load. Keeping
track of it in the WebView favicon property notification handler
gets us rid of the race.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:

(testFaviconDatabaseGetFavicon):

6:02 AM Changeset in webkit [258202] by youenn@apple.com
  • 12 edits in trunk

[iOS] Make sure a MediStreamTrack clone does not interrupt the being cloned track
https://bugs.webkit.org/show_bug.cgi?id=208634

Reviewed by Eric Carlson.

Source/WebCore:

Covered by reenabled tests.

  • platform/mediastream/RealtimeMediaSourceFactory.h:

(WebCore::SingleSourceFactory::activeSource): .

Source/WebKit:

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::VideoFactory::setActiveSource):
Do nothing since GPUProcess will handle the muting itself if it creates multiple sources.

  • WebProcess/cocoa/UserMediaCaptureManager.h:

LayoutTests:

  • fast/mediastream/MediaStream-clone.html:
  • fast/mediastream/MediaStreamTrack-clone.html:
  • fast/mediastream/mediastreamtrack-video-clone.html:
  • platform/ios/TestExpectations:
  • platform/ios/mediastream/getUserMedia-single-capture.html:

muting is now longer synchronous in WebProcess since it relies on GPUProcess factory to mute the remote track.
Update the test to account for this.
Also, make sure to use a different device, so that we do not use a track cloning under the hood.

  • webrtc/multi-video.html:
5:53 AM Changeset in webkit [258201] by youenn@apple.com
  • 12 edits in trunk/Source

Remove sync IPC when creating a remote capture source
https://bugs.webkit.org/show_bug.cgi?id=208816

Reviewed by Eric Carlson.

Source/WebCore:

Add a whenInitialized method to allow for async creation of realtime media source.
Use this method when creating a MediaStream for getUserMedia/getDisplayMedia.
Covered by existing tests.

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::create):

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeMediaSourceCenter.cpp:

(WebCore::RealtimeMediaSourceCenter::createMediaStream):

Source/WebKit:

Use whenInitialized to wait for the async IPC that tells whether the remote source was created successfully.
Use the async response to gather the capabilities so as to remove the corresponding sync IPC.

  • Platform/IPC/Connection.h:

(IPC::AsyncReplyError::create):

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::Source::didFail):
(WebKit::UserMediaCaptureManager::Source::setAsReady):
(WebKit::UserMediaCaptureManager::Source::setCapabilities):
(WebKit::UserMediaCaptureManager::createCaptureSource):
(WebKit::UserMediaCaptureManager::Source::capabilities):

5:49 AM Changeset in webkit [258200] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

Do not process RTC Network messages coming from NetworkProcess if LibWebRTCNetwork is not active
https://bugs.webkit.org/show_bug.cgi?id=207376

Reviewed by Eric Carlson.

In case LibWebRTCNetwork is not active, we do not have instantiated any peer connection.
We do not have started any related RTC thread so we are not expecting any RTC message from Network Process.
Exit early in that case.

  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):

  • WebProcess/Network/webrtc/LibWebRTCNetwork.h:

(WebKit::LibWebRTCNetwork::isActive const):

5:37 AM WebKitGTK/2.28.x edited by Philippe Normand
(diff)
5:33 AM Changeset in webkit [258199] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, !USE(GSTREAMER_GL) build fix after r258197.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::GstVideoFrameHolder::platformLayerBuffer):

5:27 AM Changeset in webkit [258198] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Generate commit-queue status bubble from new EWS
https://bugs.webkit.org/show_bug.cgi?id=208811

Reviewed by Jonathan Bedard.

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

(StatusBubble._build_bubbles_for_patch):

5:10 AM WebKitGTK/2.28.x edited by Philippe Normand
(diff)
5:08 AM Changeset in webkit [258197] by Philippe Normand
  • 10 edits in trunk/Source/WebCore

[GStreamer][GL] External OES textures rendering support
https://bugs.webkit.org/show_bug.cgi?id=208572

Patch by Philippe Normand <philn@igalia.com> on 2020-03-10
Reviewed by Žan Doberšek.

For hardware that contains native YUV samplers, some drivers may
only support external-oes import of YUV textures, so by supporting
this texture target in the MediaPlayer we can avoid some costly
operations in the pipeline.

  • platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:

(webKitGLVideoSinkSetMediaPlayerPrivate):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::GstVideoFrameHolder::GstVideoFrameHolder):
(WebCore::GstVideoFrameHolder::platformLayerBuffer):
(WebCore::MediaPlayerPrivateGStreamer::paint):

  • platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:

(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
(WebCore::TextureMapperGL::drawTextureExternalOES):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.cpp:

(WebCore::TextureMapperPlatformLayerBuffer::clone):
(WebCore::TextureMapperPlatformLayerBuffer::paintToTextureMapper):

  • platform/graphics/texmap/TextureMapperPlatformLayerBuffer.h:
  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore::TextureMapperShaderProgram::create):

  • platform/graphics/texmap/TextureMapperShaderProgram.h:
5:08 AM Changeset in webkit [258196] by graouts@webkit.org
  • 1 edit in trunk/LayoutTests/platform/win/js/dom/navigator-maxtouchpoints-expected.txt

Regression r258148: js/dom/navigator-maxtouchpoints.html is consistently failing on windows
https://bugs.webkit.org/show_bug.cgi?id=208856

Unreviewed test gardening.

Following the removal of ENABLE_POINTER_EVENTS, the feature is on by default everywhere and this test should now return 0 instead of undefined.

  • platform/win/js/dom/navigator-maxtouchpoints-expected.txt:
4:48 AM Changeset in webkit [258195] by Diego Pino Garcia
  • 2 edits in trunk/Source/WebKit

REGRESSION(r258182): [GTK] Remove reference to unrequestedTextCheckingSequence
https://bugs.webkit.org/show_bug.cgi?id=208852

Reviewed by Carlos Garcia Campos.

unrequestedTextCheckingSequence was removed in r258182. This variable
was still used in an assertion, which broke GTK Debug build.

  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::TextChecker::requestCheckingOfString):

4:27 AM Changeset in webkit [258194] by commit-queue@webkit.org
  • 8 edits
    1 move
    3 adds
    4 deletes in trunk

Align with Origin header changes
https://bugs.webkit.org/show_bug.cgi?id=199261

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

LayoutTests/imported/w3c:

Import fetch/origin tests.

  • resources/import-expectations.json:
  • web-platform-tests/fetch/origin/assorted.window-expected.txt: Added.
  • web-platform-tests/fetch/origin/assorted.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/origin/no-cors.any.html.
  • web-platform-tests/fetch/origin/assorted.window.js: Added.

(promise_test.async const):
(promise_test):
(await.new.Promise):
(async const):
(navigationReferrerPolicy):
(fetchReferrerPolicy):
(referrerPolicyTestString):

  • web-platform-tests/fetch/origin/no-cors.any-expected.txt: Removed.
  • web-platform-tests/fetch/origin/no-cors.any.js: Removed.
  • web-platform-tests/fetch/origin/no-cors.any.worker-expected.txt: Removed.
  • web-platform-tests/fetch/origin/no-cors.any.worker.html: Removed.
  • web-platform-tests/fetch/origin/resources/redirect-and-stash.py:

(main):

  • web-platform-tests/fetch/origin/resources/referrer-policy.py: Added.

(main):

  • web-platform-tests/fetch/origin/resources/w3c-import.log:
  • web-platform-tests/fetch/origin/w3c-import.log:

Source/WebCore:

Call generateOriginHeader in more places so that we comply
more with "append a request Origin header" algorithm [1].

Test: imported/w3c/web-platform-tests/fetch/origin/assorted.window.html

[1] https://fetch.spec.whatwg.org/#append-a-request-origin-header

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::submitForm):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::updateReferrerOriginAndUserAgentHeaders):

4:10 AM Changeset in webkit [258193] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.28.0

WebKitGTK 2.28.0

4:09 AM Changeset in webkit [258192] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.28

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.28.0 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.28.0.
2:55 AM Changeset in webkit [258191] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Drop unused DisableICECandidateFiltering / EnableICECandidateFiltering IPC messages
https://bugs.webkit.org/show_bug.cgi?id=208843
<rdar://problem/59683940>

Reviewed by Youenn Fablet.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_processDisplayName):
(WebKit::WebPage::disableICECandidateFiltering): Deleted.
(WebKit::WebPage::enableICECandidateFiltering): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
2:19 AM Changeset in webkit [258190] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/JSTests

JSC 32bits is failing on new test stress/numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js
https://bugs.webkit.org/show_bug.cgi?id=206864

Patch by Paulo Matos <Paulo Matos> on 2020-03-10
Reviewed by Yusuke Suzuki.

Add new test to memory limited devices - behaviour is the same as
numberingSystemsForLocale-cached-strings-should-be-immortal-and-safe-for-concurrent-access.js
but it creates 25 threads instead of 100.

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

(let.theCode):

1:32 AM Changeset in webkit [258189] by ysuzuki@apple.com
  • 4 edits in trunk/Source/WebCore
REGRESSION: (r257905) [ Mac wk2 Debug ] ASSERTION FAILED: !m_isolatedWorld->isNormal()
m_wrapper !m_jsFunction

https://bugs.webkit.org/show_bug.cgi?id=208642

Reviewed by Darin Adler.

This patch fixes stale assertions and comments in JSEventListener.h, which has various problems.

  1. This assertion is saying, "If m_wrapper is dead, m_jsFunction must be dead". This is wrong. Given that we have conservative GC, JSC never guarantees such a condition. Even if m_wrapper is dead, m_jsFunction can be alive by various reasons: conservative GC finds it, user code stores this function somewhere reachable from the root, etc. The reason why this wrong assertion exists here is because the JSEventListener code and assertion assume that m_jsFunction is nullptr when it is not initialized, and once it is initialized, it should be non nullptr. This is wrong because Weak<> can collect it if it is not retained. This !m_jsFunction check mixes "it is not initialized" and "it is already initialized but collected". The correct assertion should be checking m_wrapper and m_jsFunction are alive (not checking deadness, which is not guaranteed) if the event-listener is once initialized. This patch adds m_isInitialized member to track this status separately from m_wrapper and m_jsFunction.
  2. JSEventListener::jsFunction has if (!m_jsFunction) condition. But this is not correct. This can revive JSFunction if it is collected because m_wrapper is gone or some way, but this is not expected behavior. The correct way is checking m_isInitialized. Once the event-listener is initialized, keeping m_wrapper and m_jsFunction alive is the responsibility of JSEventListener's owner.
  3. The comments about "zombie m_jsFunctions" is wrong. We are using JSC::Weak<>. So if the object gets collected, it returns nullptr, not getting a zombie pointer.
  4. We are emitting write-barrier in a wrong order. In the heavily stressed scenario, it is possible that concurrent marking scans JSEventListener just after we emit the write-barrier, and this marking misses the assigned value. We must emit a write-barrier after the assignment. If the write-barrier code is written after the assignment, it correctly offers memory fence to ensure this ordering.
  5. We also remove "world is not normal, anything is allowed" assertion. The assertion is allowing non-normal world to get dead m_wrapper. But skipping event handlers only in non-normal world does not make sense. And it is originally added as a hack to avoid assertions caused by non-normal world.

While we are not sure which test is causing, it seems that we found a real bug by fixing this assertion[1].

[1]: https://bugs.webkit.org/show_bug.cgi?id=208798

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::JSEventListener):
(WebCore::JSEventListener::visitJSFunction):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::wrapper const):
(WebCore::JSEventListener::setWrapperWhenInitializingJSFunction const):
(WebCore::JSEventListener::jsFunction const):
(WebCore::JSEventListener::setWrapper const): Deleted.

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction const):

1:28 AM Changeset in webkit [258188] by Carlos Garcia Campos
  • 3 edits
    1 add in releases/WebKitGTK/webkit-2.28

Merge r258143 - Tail calls are broken on ARM_THUMB2 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=197797

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/tail-call-with-spilled-registers.js: Added.

Source/JavaScriptCore:

prepareForTailCall operation expects that header size + parameters
size is aligned with stack (alignment is 16-bytes for every architecture).
This means that headerSizeInBytes + argumentsIncludingThisInBytes needs
to be multiple of 16. This was not being preserved during getter IC code
for 32-bits. The code generated was taking in account only
headerSizeInRegisters (it is 4 on 32-bits) and argumentsIncludingThis
(that is always 1 for getters) and allocating 32-bytes when applying
operation (headerSize + argumentsIncludingThis) * 8 - sizeof(CallerFrameAndPC).
This results in a stack frame with size of 40 bytes (after we push
lr and sp). Since prepareForTailCall expects frames to be
16-bytes aligned, it will then calculate the top of such frame
considering it is 48 bytes, cloberring values of previous frame and
causing unexpected behavior. This patch is fixing how this IC code
calculates the stack frame using roundArgumentCountToAlignFrame(numberOfParameters)
aligning with what we do on code without IC installed.
This was not a problem for getter and setter IC on 64-bits because
roundArgumentCountToAlignFrame(1) == 1 and roundArgumentCountToAlignFrame(2) == 3
while it is roundArgumentCountToAlignFrame(1) == 2 and
roundArgumentCountToAlignFrame(2) == 2 for MIPS and ARMv7.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

1:28 AM Changeset in webkit [258187] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/bmalloc

Merge r258142 - Build failure on ppc64le if unix is undefined
https://bugs.webkit.org/show_bug.cgi?id=207906

Patch by Mike Gorse <mgorse@suse.com> on 2020-03-09
Reviewed by Yusuke Suzuki.

  • bmalloc/BPlatform.h: Check for unix along with unix.
12:11 AM Changeset in webkit [258186] by yoshiaki.jitsukawa@sony.com
  • 1 edit in trunk/Source/WebKit/Platform/unix/ModuleUnix.cpp

Unreviewed, fix "no return statement".

Mar 9, 2020:

9:26 PM Changeset in webkit [258185] by don.olmstead@sony.com
  • 2 edits in trunk

Add script to search for feature defines
https://bugs.webkit.org/show_bug.cgi?id=208726

Reviewed by Konstantin Tokarev.

Sync feature defines with the FeatureDefines.xcconfig files present in the
repository.

  • Source/cmake/WebKitFeatures.cmake:
9:07 PM Changeset in webkit [258184] by Alan Bujtas
  • 13 edits in trunk

[LayoutTests] Do not expose didAddHorizontal/VerticalScrollbar and willRemoveHorizontal/VerticalScrollbar
https://bugs.webkit.org/show_bug.cgi?id=208833
<rdar://problem/60244801>

Reviewed by Simon Fraser.

Source/WebCore:

didAdd* and willRemove* functions are triggered by layout. Optimal layouts can happen at any point of time.
Tests should not rely on the number/order of layouts unless they are specifically designed
to test e.g. lack of layouts (see internals.layoutCount).
It's sufficient to dump the mouse entered/moved/etc actions only.

  • platform/mock/ScrollAnimatorMock.cpp:

(WebCore::ScrollAnimatorMock::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMock::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMock::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMock::willRemoveHorizontalScrollbar):

LayoutTests:

  • fast/scrolling/scroll-animator-basic-events-expected.txt:
  • fast/scrolling/scroll-animator-basic-events.html:
  • fast/scrolling/scroll-animator-overlay-scrollbars-clicked-expected.txt:
  • fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html:
  • fast/scrolling/scroll-animator-overlay-scrollbars-hovered-expected.txt:
  • fast/scrolling/scroll-animator-select-list-events-expected.txt:
  • fast/scrolling/scroll-animator-select-list-events.html:
  • platform/mac-wk2/TestExpectations:
9:04 PM Changeset in webkit [258183] by Megan Gardner
  • 5 edits in trunk/Source

Build Fix
https://bugs.webkit.org/show_bug.cgi?id=208838

Source/WebKit:

Build fix of older iOS.

Reviewed by Tim Horton.

  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant showDataDetectorsSheet]):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel showDocumentPickerMenu]):

Source/WTF:

Reviewed by Tim Horton.

  • wtf/PlatformHave.h:
7:54 PM Changeset in webkit [258182] by Simon Fraser
  • 12 edits in trunk/Source

ASSERT(!m_textCheckingRequest) on editing/spelling/spellcheck-async-remove-frame.html
https://bugs.webkit.org/show_bug.cgi?id=126606

Reviewed by Wenson Hsieh.

SpellChecker's sequence numbers need to be unique between frames, because they are sent out
Source/WebCore:

to EditorClient which may be one per web view, move from a per-SpellChecker int to
TextCheckingRequestIdentifier.

Change terminology from "sequence" to "identifier" and use Optional in
TextCheckingRequestData to represent the unset state.

Tested by existing tests.

  • editing/SpellChecker.cpp:

(WebCore::SpellCheckRequest::SpellCheckRequest):
(WebCore::SpellCheckRequest::didSucceed):
(WebCore::SpellCheckRequest::didCancel):
(WebCore::SpellCheckRequest::setCheckerAndIdentifier):
(WebCore::SpellChecker::SpellChecker):
(WebCore::SpellChecker::requestCheckingFor):
(WebCore::SpellChecker::didCheck):
(WebCore::SpellChecker::didCheckSucceed):
(WebCore::SpellChecker::didCheckCancel):
(WebCore::SpellCheckRequest::setCheckerAndSequence): Deleted.

  • editing/SpellChecker.h:

(WebCore::SpellChecker::lastRequestIdentifier const):
(WebCore::SpellChecker::lastProcessedIdentifier const):
(WebCore::SpellChecker::lastRequestSequence const): Deleted.
(WebCore::SpellChecker::lastProcessedSequence const): Deleted.

  • platform/text/TextChecking.h:

(WebCore::TextCheckingRequestData::TextCheckingRequestData):
(WebCore::TextCheckingRequestData::identifier const):
(WebCore::TextCheckingRequestData::sequence const): Deleted.

  • testing/Internals.cpp:

(WebCore::Internals::lastSpellCheckRequestSequence):
(WebCore::Internals::lastSpellCheckProcessedSequence):

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

Source/WebKit:

to EditorClient which may be one per web view, so use a static to hold the current
sequence number.

Also convert from int to TextCheckingSequence to make them easier to find, and use
Markable and Optional in TextCheckingRequestData to represent the unset state.

  • Shared/WebCoreArgumentCoders.cpp:

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

Source/WebKitLegacy/mac:

to EditorClient which may be one per web view, so use a static to hold the current
sequence number.

Also convert from int to TextCheckingSequence to make them easier to find, and use
Markable and Optional in TextCheckingRequestData to represent the unset state.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(-[WebEditorSpellCheckResponder initWithClient:identifier:results:]):
(-[WebEditorSpellCheckResponder perform]):
(WebEditorClient::didCheckSucceed):
(WebEditorClient::requestCheckingOfString):
(-[WebEditorSpellCheckResponder initWithClient:sequence:results:]): Deleted.

7:10 PM Changeset in webkit [258181] by don.olmstead@sony.com
  • 27 edits in trunk

Remove obsolete feature flags
https://bugs.webkit.org/show_bug.cgi?id=208830

Reviewed by Alex Christensen.

.:

Remove ENABLE_CSS_IMAGE_ORIENTATION, ENABLE_CUSTOM_SCHEME_HANDLER, ENABLE_FETCH_API,
and ENABLE_WEB_PROCESS_SANDBOX from list of feature definitions since they're unused.
Rename ENABLE_ACCESSIBILITY_STATIC_TREE to ENABLE_ACCESSIBILITY_ISOLATED_TREE.
Sort the declarations within the block and always use Toggle instead of Enable within
the descriptions.

  • Source/cmake/OptionsFTW.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsWin.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
are no longer used.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
are no longer used.

  • Configurations/FeatureDefines.xcconfig:
  • editing/cocoa/AlternativeTextUIController.h: USE(DICTION_ALTERNATIVES) -> USE(DICTION_ALTERNATIVES)
  • html/TextFieldInputType.cpp: ENABLE(DATALIST) -> ENABLE(DATALIST_ELEMENT)

(WebCore::TextFieldInputType::destroyShadowSubtree):

  • platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm: ENABLE(WEBBPU) typo

Source/WebCore/PAL:

Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
are no longer used.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
are no longer used.

  • Configurations/FeatureDefines.xcconfig:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm: ENABLE(WIRELESS_TARGET_PLAYBACK) -> ENABLE(WIRELESS_PLAYBACK_TARGET).

(-[WKWebViewConfiguration copyWithZone:]):

Source/WebKitLegacy/mac:

Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
are no longer used.

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebPreferences.mm: ENABLE(WIRELESS_TARGET_PLAYBACK) -> ENABLE(WIRELESS_PLAYBACK_TARGET)

(+[WebPreferences initialize]):
(-[WebPreferences allowsAirPlayForMediaPlayback]):
(-[WebPreferences setAllowsAirPlayForMediaPlayback:]):

Source/WebKitLegacy/win:

Remove ENABLE(FETCH_API) since its always enabled.

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WTF:

Remove ENABLE_CUSTOM_SCHEME_HANDLER as it is unused in source.

  • wtf/PlatformEnable.h:

Tools:

Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
are no longer used.

Also remove ENABLE_POINTER_EVENTS since the FeaturesDefines.xcconfig was not modified
when the compilation flag was removed in r258148.

Remove ENABLE_ACCELERATED_OVERFLOW_SCROLLING, ENABLE_CSS_IMAGE_ORIENTATION,
ENABLE_CUSTOM_SCHEME_HANDLER, and ENABLE_FETCH_API from FeatureList.pm.

  • Scripts/webkitperl/FeatureList.pm:
  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
6:17 PM Changeset in webkit [258180] by Chris Dumez
  • 13 edits
    1 copy
    5 adds in trunk

[iOS] Replace "unexpectedly resumed" observer with RunningBoard suspendible assertions
https://bugs.webkit.org/show_bug.cgi?id=205687
<rdar://problem/57890246>

Reviewed by Tim Horton.

Adopt new RunningBoard process assertion to indicate that WebContent processes depend on their
UIProcess (and therefore, the UIProcess must be running if the WebContent process is). This
replaces our "Unexpectedly resumed" assertion which was causing unexpected terminations in some
cases.

  • Configurations/WebKit.xcconfig:
  • Platform/spi/ios/RunningBoardServicesSPI.h: Added.
  • Scripts/process-entitlements.sh:
  • Shared/DependencyProcessAssertion.cpp: Added.

(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):
(WebKit::DependencyProcessAssertion::~DependencyProcessAssertion):

  • Shared/DependencyProcessAssertion.h: Added.
  • Shared/ios/DependencyProcessAssertionIOS.mm: Added.

(WebKit::DependencyProcessAssertion::DependencyProcessAssertion):
(WebKit::DependencyProcessAssertion::~DependencyProcessAssertion):

  • Sources.txt:
  • SourcesCocoa.txt:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:
  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:
5:10 PM Changeset in webkit [258179] by Alan Coon
  • 4 edits
    1 add in branches/safari-610.1.7-branch

Cherry-pick r258174. rdar://problem/60250780

[macOS] Notification observer is not removed
https://bugs.webkit.org/show_bug.cgi?id=208834

Reviewed by Tim Horton.

Source/WebKit:

The Accessibility notification observer is not being removed on macOS.

API test: WebKit.EnableAccessibilityCrash

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::unregisterNotificationObservers):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm: Added. (TEST):

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

4:59 PM Changeset in webkit [258178] by Kate Cheney
  • 2 edits in trunk/Tools

WebKitTestRunner bundleID should not be cleared before every test
https://bugs.webkit.org/show_bug.cgi?id=208823
<rdar://problem/60204539>

Reviewed by Per Arne Vollan.

This is causing test failures for layout tests which rely on the Info.plist
bundle identifier (not the one set via the override method).

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:
4:51 PM Changeset in webkit [258177] by Alan Coon
  • 3 edits in branches/safari-610.1.7-branch/Source/WebKit

Cherry-pick r258168. rdar://problem/60249994

[iOS] Only map UTI from tags in Safari
https://bugs.webkit.org/show_bug.cgi?id=208829
<rdar://problem/60234672>

Reviewed by Tim Horton.

Since this mapping caused regressions in other apps, only enable it for Safari as a temporary workaround.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess):
  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):

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

4:49 PM Changeset in webkit [258176] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebCore

Cherry-pick r258172. rdar://problem/60249737

REGRESSION (257846) Crash on maps.google.com under Element::isVisibleWithoutResolvingFullStyle
https://bugs.webkit.org/show_bug.cgi?id=208841
<rdar://problem/60238539>

Reviewed by Simon Fraser.

Resolve the computed style for the composed ancestors when not available.

  • dom/Element.cpp: (WebCore::Element::isVisibleWithoutResolvingFullStyle const):

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

4:48 PM Changeset in webkit [258175] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

REGRESSION: (257072) [ Mac wk2 Release ] fast/harness/uiscriptcontroller/concurrent-ui-side-scripts.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208264

Unreviewed test gardening.

Removing expectations as the test is no longer failing.

  • platform/mac-wk2/TestExpectations:
4:48 PM Changeset in webkit [258174] by pvollan@apple.com
  • 4 edits
    1 add in trunk

[macOS] Notification observer is not removed
https://bugs.webkit.org/show_bug.cgi?id=208834

Reviewed by Tim Horton.

Source/WebKit:

The Accessibility notification observer is not being removed on macOS.

API test: WebKit.EnableAccessibilityCrash

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::unregisterNotificationObservers):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm: Added.

(TEST):

4:47 PM Changeset in webkit [258173] by Alan Coon
  • 2 edits in branches/safari-610.1.7-branch/Source/WebCore

Cherry-pick r258171. rdar://problem/60249680

Remove required setting for libAccessibility.
https://bugs.webkit.org/show_bug.cgi?id=208836
<rdar://problem/60227703>

Reviewed by Chris Fleizach.

Made libAccessibility an optional library for Webcore since
accessibility is soft linking it.

  • WebCore.xcodeproj/project.pbxproj:

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

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

REGRESSION (257846) Crash on maps.google.com under Element::isVisibleWithoutResolvingFullStyle
https://bugs.webkit.org/show_bug.cgi?id=208841
<rdar://problem/60238539>

Reviewed by Simon Fraser.

Resolve the computed style for the composed ancestors when not available.

  • dom/Element.cpp:

(WebCore::Element::isVisibleWithoutResolvingFullStyle const):

4:33 PM Changeset in webkit [258171] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

Remove required setting for libAccessibility.
https://bugs.webkit.org/show_bug.cgi?id=208836
<rdar://problem/60227703>

Reviewed by Chris Fleizach.

Made libAccessibility an optional library for Webcore since
accessibility is soft linking it.

  • WebCore.xcodeproj/project.pbxproj:
4:17 PM Changeset in webkit [258170] by Alexey Shvayka
  • 4 edits in trunk

@putByValDirect does not perform DefineOwnProperty? correctly
https://bugs.webkit.org/show_bug.cgi?id=208708

Reviewed by Yusuke Suzuki.

JSTests:

  • test262/expectations.yaml: Mark 46 test cases as passing.

Source/JavaScriptCore:

This change adds inSparseIndexingMode() check to canDoFastPutDirectIndex(), fixing slow path
of @putByValDirect() to perform DefineOwnProperty? according to spec [1] and aligning JSC
with V8 and SpiderMonkey.

This patch preserves existing behavior for Arguments exotic objects (thus the checks order)
and aligns slow path checks in JSObject::putDirectIndexSlowOrBeyondVectorLength
with JSObject::defineOwnIndexedProperty.

JetStream2 benchmark is neutral.

[1]: https://tc39.es/ecma262/#sec-validateandapplypropertydescriptor

  • runtime/JSObject.cpp:

(JSC::canDoFastPutDirectIndex):

4:15 PM Changeset in webkit [258169] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ iPadOS wk2 ] editing/selection/selection-change-in-mutation-event-by-remove-children.html is timing out.
Nhttps://bugs.webkit.org/show_bug.cgi?id=208840

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
3:35 PM Changeset in webkit [258168] by pvollan@apple.com
  • 3 edits in trunk/Source/WebKit

[iOS] Only map UTI from tags in Safari
https://bugs.webkit.org/show_bug.cgi?id=208829
<rdar://problem/60234672>

Reviewed by Tim Horton.

Since this mapping caused regressions in other apps, only enable it for Safari as a temporary workaround.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

3:27 PM Changeset in webkit [258167] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ iPadOS wk2 Release ] fast/css-custom-paint/constructor.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=208837

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
3:18 PM Changeset in webkit [258166] by Alan Coon
  • 1 edit in branches/safari-609-branch/Source/JavaScriptCore/runtime/JSGlobalObject.cpp

Unreviewed build fix. rdar://problem/60183769

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

Unreviewed, drop forward declaration that is no longer needed after r258159.

  • xml/XMLHttpRequestProgressEventThrottle.h:
2:50 PM Changeset in webkit [258164] by BJ Burg
  • 6 edits in trunk/Tools

upload.py gets confused by git-svn checkouts, unable to upload test results from my desk build
https://bugs.webkit.org/show_bug.cgi?id=208729
<rdar://problem/60105447>

Reviewed by Jonathan Bedard.

Improve upload.py to look for the svn branch and revision for the 'webkit'
project and prefer those to the git equivalents (eg, prefer trunk/rNNNNN to master/<hash>).

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git):
(Git.git_svn_id_regexp):
(Git._field_from_git_svn_id):
(Git.svn_revision):
(Git.svn_branch):
(Git.svn_url):
(Git.native_branch):
Refactor svn revision, branch, url to use the same regexp and helper code.

  • Scripts/webkitpy/common/checkout/scm/stub_repository.py:

(StubRepository.svn_branch):
Expose a stub since this is used unconditionally by Port.commits_for_upload.

  • Scripts/webkitpy/common/checkout/scm/svn.py:

(SVN.svn_branch):
(SVN.native_revision):
(SVN):
(SVN.native_branch):
Refactor so the actual implementation is contained in svn_revision / svn_branch.
The native_* methods call out to the SVN equivalents since this is an SVN repository.

  • Scripts/webkitpy/port/base.py:

(Port.commits_for_upload):
Add special git-svn handling for the WebKit repository so that SVN branch and revision
is preferred over the git equivalents.

2:48 PM Changeset in webkit [258163] by Jason_Lawrence
  • 2 edits in trunk/LayoutTests

[ Mac wk1 Debug ] inspector/script-profiler/event-type-Microtask.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208825

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:46 PM Changeset in webkit [258162] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::decode):

2:14 PM Changeset in webkit [258161] by Alan Coon
  • 8 edits
    1 add in branches/safari-609-branch

Apply patch. rdar://problem/60183769

1:23 PM Changeset in webkit [258160] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402
<rdar://problem/60178488>

Reviewed by Eric Carlson.

Follow-up: adding the RemoteLegacyCDMFactory as a suppliment got dropped from the initial patch by
a merge/rebase mistake.

  • WebProcess/WebProcess.cpp:
1:17 PM Changeset in webkit [258159] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

Align garbage collection for XMLHttpRequest objects with the specification
https://bugs.webkit.org/show_bug.cgi?id=208481

Reviewed by Ryosuke Niwa.

Align garbage collection for XMLHttpRequest objects with the specification:

We now override ActiveDOMObject::hasPendingActivity() to match exactly the text
in the specification:
"""
An XMLHttpRequest object must not be garbage collected if its state is either
opened with the send() flag set, headers received, or loading, and it has one or
more event listeners registered whose type is one of readystatechange, progress,
abort, error, load, timeout, and loadend.
"""

Previously, we were trying to implement this behavior with ActiveDOMObject's
setPendingActivity() / unsetPendingActivity() but this was error and leak prone.
It was also keeping the JS wrapper alive too long in the cases where the JS
does not have any event listeners. If the JS has not event listeners, then we
can collect the JS wrapper, we just need to keep the implementation
XMLHttpRequest object for the duration of the load.

No new tests, covered by existing test such as:
fast/xmlhttprequest/xmlhttprequest-gc.html

  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::removeAllEventListeners):

  • dom/EventTarget.h:

(WebCore::EventTarget::eventListenersDidChange):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::changeState):
(WebCore::XMLHttpRequest::open):
(WebCore::XMLHttpRequest::prepareToSend):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::abort):
(WebCore::XMLHttpRequest::internalAbort):
(WebCore::XMLHttpRequest::networkError):
(WebCore::XMLHttpRequest::didFail):
(WebCore::XMLHttpRequest::didFinishLoading):
(WebCore::XMLHttpRequest::didReachTimeout):
(WebCore::XMLHttpRequest::contextDestroyed):
(WebCore::XMLHttpRequest::eventListenersDidChange):
(WebCore::XMLHttpRequest::hasPendingActivity const):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventWhenPossible):
(WebCore::XMLHttpRequestProgressEventThrottle::suspend):
(WebCore::XMLHttpRequestProgressEventThrottle::resume):

  • xml/XMLHttpRequestProgressEventThrottle.h:
1:10 PM Changeset in webkit [258158] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208810

Unreviewed gardening.

  • platform/gtk/TestExpectations:
1:03 PM Changeset in webkit [258157] by Alan Coon
  • 3 edits
    4 adds in branches/safari-609-branch

Cherry-pick r257605. rdar://problem/59870340

Poly proto should work with property delete transitions
https://bugs.webkit.org/show_bug.cgi?id=208261

Reviewed by Saam Barati.

JSTests:

  • stress/delete-property-poly-proto.js: Added. (A.prototype.set x): (A): (B):

Source/JavaScriptCore:

This patch fixes a bug where the combination of inline caching
and poly proto cause us to cache a setter call along a prototype chain that
is no longer the correct setter to call. This is exposed as a result of
https://bugs.webkit.org/show_bug.cgi?id=206430 since DefineOwnProperty used
to transition to uncacheable dictionary.

The case looks like this:
A - setter for x redefines x
|
B
|
C

We set (new C).x

Right now, we first call A's setter, then we try to figure out what the state of things
were before it was called in order to cache it. We just assume that A's setter still exists, and we cache it
without ever checking, In this patch, we ensure that the property exists and the attributes match in order to prevent crashing.

In the code, A = target, C = base.

Get is correct because it collects caching information before any calls.

The bug https://bugs.webkit.org/show_bug.cgi?id=208337 tracks the remaining semantic bugs around this code.

  • jit/Repatch.cpp: (JSC::tryCachePutByID):

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

1:03 PM Changeset in webkit [258156] by Alan Coon
  • 19 edits in branches/safari-609-branch/Source/JavaScriptCore

Cherry-pick r255542. rdar://problem/59870340

[JSC] Hold StructureID instead of Structure* in PolyProtoAccessChain and DFG::CommonData
https://bugs.webkit.org/show_bug.cgi?id=207086

Reviewed by Mark Lam.

PolyProtoAccessChain and DFG::CommonData are kept alive so long as associated AccessCase / DFG/FTL CodeBlock
is alive. They hold Vector<Structure*> / Vector<WriteBarrier<Structure*>>, but access frequency is low. And
We should hold Vector<StructureID> instead to cut 50% of the size.

  • bytecode/AccessCase.cpp: (JSC::AccessCase::commit): (JSC::AccessCase::forEachDependentCell const): (JSC::AccessCase::doesCalls const): (JSC::AccessCase::visitWeak const): (JSC::AccessCase::propagateTransitions const): (JSC::AccessCase::generateWithGuard):
  • bytecode/AccessCase.h:
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::determineLiveness): (JSC::CodeBlock::stronglyVisitWeakReferences):
  • bytecode/GetByStatus.cpp: (JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
  • bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): (JSC::InByIdStatus::computeForStubInfo): (JSC::InByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
  • bytecode/InByIdStatus.h:
  • bytecode/InstanceOfStatus.cpp: (JSC::InstanceOfStatus::computeFor): (JSC::InstanceOfStatus::computeForStubInfo):
  • bytecode/InstanceOfStatus.h:
  • bytecode/PolyProtoAccessChain.cpp: (JSC::PolyProtoAccessChain::create): (JSC::PolyProtoAccessChain::needImpurePropertyWatchpoint const): (JSC::PolyProtoAccessChain::dump const):
  • bytecode/PolyProtoAccessChain.h: (JSC::PolyProtoAccessChain::chain const): (JSC::PolyProtoAccessChain::forEach const): (JSC::PolyProtoAccessChain::slotBaseStructure const): (JSC::PolyProtoAccessChain:: const): Deleted.
  • bytecode/PolymorphicAccess.cpp: (JSC::PolymorphicAccess::regenerate):
  • bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo):
  • bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::summary const): (JSC::StructureStubInfo::summary):
  • bytecode/StructureStubInfo.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGDesiredWeakReferences.cpp: (JSC::DFG::DesiredWeakReferences::reallyAdd):
  • dfg/DFGPlan.cpp: (JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
  • jit/Repatch.cpp: (JSC::tryCacheGetBy): (JSC::tryCachePutByID): (JSC::tryCacheInByID):

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

1:03 PM Changeset in webkit [258155] by Alan Coon
  • 3 edits in branches/safari-609-branch/Source/WebKit

Cherry-pick r257659. rdar://problem/60183766

macCatalyst: 'Open' context menu item doesn't work
https://bugs.webkit.org/show_bug.cgi?id=208388
<rdar://problem/59820273>

Reviewed by Wenson Hsieh.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView cleanupInteraction]): (-[WKContentView _webTouchEventsRecognized:]): (-[WKContentView _doubleTapRecognizedForDoubleClick:]): (-[WKContentView _singleTapRecognized:]): (-[WKContentView _attemptClickAtLocation:modifierFlags:]): (-[WKContentView _mouseGestureRecognizerChanged:]): In r178980, a mechanism was introduced to ensure that synthetic clicks are only dispatched to the page that the user originally touched.

macCatalyst's WKMouseGestureRecognizer unintentionally entirely bypassed
this mechanism, never setting _layerTreeTransactionIdAtLastTouchStart,
because the touch event gesture recognizer is disabled. This was generally
fine because in this case, we don't need to send synthetic clicks,
instead sending proper mouse events.

However, the "Open" context menu item works by sending a synthetic click
at the original interaction location. Since we did not set
_layerTreeTransactionIdAtLastTouchStart, the Web Content process will
ignore the click, and perform no action.

Fix this by also setting _layerTreeTransactionIdAtLastTouchStart
on mouseDown.

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

1:03 PM Changeset in webkit [258154] by Alan Coon
  • 2 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r257640. rdar://problem/60183771

updateCSSTransitionsForElementAndProperty should clone RenderStyles
https://bugs.webkit.org/show_bug.cgi?id=208356
rdar://59869560

Reviewed by Antti Koivisto.

Make ownership of the local variable clear by cloning the RenderStyles
used in updateCSSTransitionsForElementAndProperty rather than referencing
different versions.

  • animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):

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

1:02 PM Changeset in webkit [258153] by Alan Coon
  • 2 edits in branches/safari-609-branch/Source/WebKit

Cherry-pick r256789. rdar://problem/60183772

macCatalyst: I-beam is still too aggressive in non-editable content, shows up beyond the end of text
https://bugs.webkit.org/show_bug.cgi?id=207867
<rdar://problem/59528927>

Reviewed by Wenson Hsieh.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::populateCaretContext): Only expand the I-beam region to the end of the line in editable text. This better matches the macOS behavior.

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

12:59 PM Changeset in webkit [258152] by Alan Coon
  • 1 copy in branches/safari-610.1.7-branch

New branch.

12:55 PM Changeset in webkit [258151] by Wenson Hsieh
  • 7 edits in trunk/Source/WebCore

Creating paths that are single-segment bezier or quad curves should not require a CGPath allocation
https://bugs.webkit.org/show_bug.cgi?id=208812

Reviewed by Tim Horton.

Extend the inline path data mechanism introduced in r258118 to encompass two more cases of simple path objects:
single-segment quad and bezier curves. In these scenarios, we can simply store the start point, end point, and
one or two control points (respectively). See below for more details; there should be no change in behavior.

  • platform/graphics/InlinePathData.h:

Add the new inline path data types to the variant. Note that does not increase the size of the InlinePathData
variant, nor does it increase the size of Path, since the variant is already 32 bytes large due to ArcData.

(WebCore::QuadCurveData::encode const):
(WebCore::QuadCurveData::decode):
(WebCore::BezierCurveData::encode const):
(WebCore::BezierCurveData::decode):

Add encoders and decoders for QuadCurveData and BezierCurveData.

  • platform/graphics/Path.cpp:

(WebCore::Path::apply const):

In the cases where we have quad and bezier curves, we can apply the path without having to fall back to
allocating a platform path object.

(WebCore::Path::currentPoint const):

Return endPoint in both of the new inline curve cases.

(WebCore::Path::elementCount const):

Return 2 in both of the new cases.

(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):

If the path is null (we haven't modified anything yet) or the path was only moved to some location, stuff
information about the quad or bezier curve into inline data on Path and avoid creating a CGPath on CoreGraphics
platforms (and other types of platform paths elsewhere).

  • platform/graphics/Path.h:
  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::addQuadCurveToSlowCase):
(WebCore::Path::addBezierCurveToSlowCase):
(WebCore::Path::addQuadCurveTo): Deleted.
(WebCore::Path::addBezierCurveTo): Deleted.

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::createCGPath const):
(WebCore::Path::addQuadCurveToSlowCase):
(WebCore::Path::addBezierCurveToSlowCase):

Add -SlowCase suffixes to these methods, and move the main implementation of addQuadCurve and addBezierCurve
into platform-agnostic code in Path.cpp where we update the inline path data and bail early if appropriate, and
otherwise fall back to addQuadCurveToSlowCase or addBezierCurveToSlowCase.

(WebCore::Path::addQuadCurveTo): Deleted.
(WebCore::Path::addBezierCurveTo): Deleted.

  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::addQuadCurveToSlowCase):
(WebCore::Path::addBezierCurveToSlowCase):
(WebCore::Path::addQuadCurveTo): Deleted.
(WebCore::Path::addBezierCurveTo): Deleted.

12:53 PM Changeset in webkit [258150] by graouts@webkit.org
  • 16 edits
    1258 deletes in trunk/LayoutTests

[Web Animations] Remove the legacy-animation-engine tests
https://bugs.webkit.org/show_bug.cgi?id=208815

Reviewed by Alexey Proskuryakov.

  • TestExpectations:
  • gpu-process/TestExpectations:
  • legacy-animation-engine/accessibility/content-changed-notification-causes-crash-expected.txt: Removed.
  • legacy-animation-engine/accessibility/content-changed-notification-causes-crash.html: Removed.
  • legacy-animation-engine/accessibility/transformed-bounds-expected.txt: Removed.
  • legacy-animation-engine/accessibility/transformed-bounds.html: Removed.
  • legacy-animation-engine/animations/3d/change-transform-in-end-event.html: Removed.
  • legacy-animation-engine/animations/3d/matrix-transform-type-animation.html: Removed.
  • legacy-animation-engine/animations/3d/replace-filling-transform-expected.png: Removed.
  • legacy-animation-engine/animations/3d/replace-filling-transform-expected.txt: Removed.
  • legacy-animation-engine/animations/3d/replace-filling-transform.html: Removed.
  • legacy-animation-engine/animations/3d/state-at-end-event-transform.html: Removed.
  • legacy-animation-engine/animations/3d/transform-origin-vs-functions-expected.txt: Removed.
  • legacy-animation-engine/animations/3d/transform-origin-vs-functions.html: Removed.
  • legacy-animation-engine/animations/3d/transform-perspective-expected.txt: Removed.
  • legacy-animation-engine/animations/3d/transform-perspective.html: Removed.
  • legacy-animation-engine/animations/CSSKeyframesRule-name-null-expected.txt: Removed.
  • legacy-animation-engine/animations/CSSKeyframesRule-name-null.html: Removed.
  • legacy-animation-engine/animations/CSSKeyframesRule-parameters-expected.txt: Removed.
  • legacy-animation-engine/animations/CSSKeyframesRule-parameters.html: Removed.
  • legacy-animation-engine/animations/added-while-suspended-expected.txt: Removed.
  • legacy-animation-engine/animations/added-while-suspended.html: Removed.
  • legacy-animation-engine/animations/additive-transform-animations-expected.html: Removed.
  • legacy-animation-engine/animations/additive-transform-animations.html: Removed.
  • legacy-animation-engine/animations/animation-add-events-in-handler-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-add-events-in-handler.html: Removed.
  • legacy-animation-engine/animations/animation-border-overflow-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-border-overflow.html: Removed.
  • legacy-animation-engine/animations/animation-callback-timestamp-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-callback-timestamp.html: Removed.
  • legacy-animation-engine/animations/animation-controller-drt-api-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-controller-drt-api.html: Removed.
  • legacy-animation-engine/animations/animation-css-rule-types-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-css-rule-types.html: Removed.
  • legacy-animation-engine/animations/animation-delay-changed-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-delay-changed.html: Removed.
  • legacy-animation-engine/animations/animation-direction-alternate-reverse-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-alternate-reverse.html: Removed.
  • legacy-animation-engine/animations/animation-direction-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-normal-expected.png: Removed.
  • legacy-animation-engine/animations/animation-direction-normal-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-normal.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-fill-mode-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-fill-mode-hardware-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-fill-mode-hardware.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-fill-mode.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-hardware-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-hardware-opacity-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-hardware-opacity.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-hardware.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-non-hardware-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-non-hardware.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-timing-functions-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-timing-functions-hardware-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-timing-functions-hardware.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse-timing-functions.html: Removed.
  • legacy-animation-engine/animations/animation-direction-reverse.html: Removed.
  • legacy-animation-engine/animations/animation-direction.html: Removed.
  • legacy-animation-engine/animations/animation-end-event-destroy-renderer-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-end-event-destroy-renderer.html: Removed.
  • legacy-animation-engine/animations/animation-end-event-short-iterations-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-end-event-short-iterations.html: Removed.
  • legacy-animation-engine/animations/animation-events-create-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-events-create.html: Removed.
  • legacy-animation-engine/animations/animation-events-not-cancelable-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-events-not-cancelable.html: Removed.
  • legacy-animation-engine/animations/animation-followed-by-transition-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-followed-by-transition.html: Removed.
  • legacy-animation-engine/animations/animation-hit-test-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-hit-test-transform-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-hit-test-transform.html: Removed.
  • legacy-animation-engine/animations/animation-hit-test.html: Removed.
  • legacy-animation-engine/animations/animation-initial-inheritance-expected.html: Removed.
  • legacy-animation-engine/animations/animation-initial-inheritance.html: Removed.
  • legacy-animation-engine/animations/animation-internals-api-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-internals-api-multiple-keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-internals-api-multiple-keyframes.html: Removed.
  • legacy-animation-engine/animations/animation-internals-api.html: Removed.
  • legacy-animation-engine/animations/animation-iteration-event-destroy-renderer-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-iteration-event-destroy-renderer.html: Removed.
  • legacy-animation-engine/animations/animation-matrix-negative-scale-unmatrix-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-matrix-negative-scale-unmatrix.html: Removed.
  • legacy-animation-engine/animations/animation-multiple-callbacks-timestamp-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-multiple-callbacks-timestamp.html: Removed.
  • legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.png: Removed.
  • legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-offscreen-to-onscreen.html: Removed.
  • legacy-animation-engine/animations/animation-on-inline-crash-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-on-inline-crash.html: Removed.
  • legacy-animation-engine/animations/animation-shorthand-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-shorthand-name-order-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-shorthand-name-order.html: Removed.
  • legacy-animation-engine/animations/animation-shorthand-overriding-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-shorthand-overriding.html: Removed.
  • legacy-animation-engine/animations/animation-shorthand-removed-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-shorthand-removed.html: Removed.
  • legacy-animation-engine/animations/animation-shorthand.html: Removed.
  • legacy-animation-engine/animations/animation-start-event-destroy-renderer-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-start-event-destroy-renderer.html: Removed.
  • legacy-animation-engine/animations/animation-welcome-safari-expected.txt: Removed.
  • legacy-animation-engine/animations/animation-welcome-safari.html: Removed.
  • legacy-animation-engine/animations/big-rotation-expected.txt: Removed.
  • legacy-animation-engine/animations/big-rotation.html: Removed.
  • legacy-animation-engine/animations/body-removal-crash-expected.txt: Removed.
  • legacy-animation-engine/animations/body-removal-crash.html: Removed.
  • legacy-animation-engine/animations/change-completed-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/change-completed-animation-transform-expected.html: Removed.
  • legacy-animation-engine/animations/change-completed-animation-transform.html: Removed.
  • legacy-animation-engine/animations/change-completed-animation.html: Removed.
  • legacy-animation-engine/animations/change-keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/change-keyframes-name-expected.txt: Removed.
  • legacy-animation-engine/animations/change-keyframes-name.html: Removed.
  • legacy-animation-engine/animations/change-keyframes.html: Removed.
  • legacy-animation-engine/animations/change-one-anim-expected.txt: Removed.
  • legacy-animation-engine/animations/change-one-anim.html: Removed.
  • legacy-animation-engine/animations/change-transform-style-during-animation-expected.png: Removed.
  • legacy-animation-engine/animations/change-transform-style-during-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/change-transform-style-during-animation.html: Removed.
  • legacy-animation-engine/animations/combo-transform-rotate+scale-expected.txt: Removed.
  • legacy-animation-engine/animations/combo-transform-rotate+scale.html: Removed.
  • legacy-animation-engine/animations/combo-transform-translate+scale-expected.txt: Removed.
  • legacy-animation-engine/animations/combo-transform-translate+scale.html: Removed.
  • legacy-animation-engine/animations/computed-style-expected.txt: Removed.
  • legacy-animation-engine/animations/computed-style.html: Removed.
  • legacy-animation-engine/animations/crash-on-removing-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/crash-on-removing-animation.html: Removed.
  • legacy-animation-engine/animations/cross-fade-background-image-expected.html: Removed.
  • legacy-animation-engine/animations/cross-fade-background-image.html: Removed.
  • legacy-animation-engine/animations/cross-fade-border-image-source.html: Removed.
  • legacy-animation-engine/animations/cross-fade-list-style-image.html: Removed.
  • legacy-animation-engine/animations/cross-fade-webkit-mask-box-image.html: Removed.
  • legacy-animation-engine/animations/cross-fade-webkit-mask-image.html: Removed.
  • legacy-animation-engine/animations/duplicate-keys-expected.html: Removed.
  • legacy-animation-engine/animations/duplicate-keys.html: Removed.
  • legacy-animation-engine/animations/duplicated-keyframes-name-expected.txt: Removed.
  • legacy-animation-engine/animations/duplicated-keyframes-name.html: Removed.
  • legacy-animation-engine/animations/dynamic-stylesheet-loading-expected.txt: Removed.
  • legacy-animation-engine/animations/dynamic-stylesheet-loading.html: Removed.
  • legacy-animation-engine/animations/empty-keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/empty-keyframes.html: Removed.
  • legacy-animation-engine/animations/fill-forwards-auto-height-expected.html: Removed.
  • legacy-animation-engine/animations/fill-forwards-auto-height.html: Removed.
  • legacy-animation-engine/animations/fill-forwards-end-state-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-forwards-end-state.html: Removed.
  • legacy-animation-engine/animations/fill-mode-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-forwards-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-forwards-zero-duration-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-forwards-zero-duration.html: Removed.
  • legacy-animation-engine/animations/fill-mode-forwards.html: Removed.
  • legacy-animation-engine/animations/fill-mode-forwards2-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-forwards2.html: Removed.
  • legacy-animation-engine/animations/fill-mode-iteration-count-non-integer-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-iteration-count-non-integer.html: Removed.
  • legacy-animation-engine/animations/fill-mode-missing-from-to-keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-missing-from-to-keyframes.html: Removed.
  • legacy-animation-engine/animations/fill-mode-multiple-keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-multiple-keyframes.html: Removed.
  • legacy-animation-engine/animations/fill-mode-removed-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-removed.html: Removed.
  • legacy-animation-engine/animations/fill-mode-reverse-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-reverse.html: Removed.
  • legacy-animation-engine/animations/fill-mode-transform-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-mode-transform.html: Removed.
  • legacy-animation-engine/animations/fill-mode.html: Removed.
  • legacy-animation-engine/animations/fill-unset-properties-expected.txt: Removed.
  • legacy-animation-engine/animations/fill-unset-properties.html: Removed.
  • legacy-animation-engine/animations/font-size-using-ems-expected.txt: Removed.
  • legacy-animation-engine/animations/font-size-using-ems.html: Removed.
  • legacy-animation-engine/animations/font-variations/font-stretch-expected.txt: Removed.
  • legacy-animation-engine/animations/font-variations/font-stretch.html: Removed.
  • legacy-animation-engine/animations/font-variations/font-style-expected.txt: Removed.
  • legacy-animation-engine/animations/font-variations/font-style.html: Removed.
  • legacy-animation-engine/animations/font-variations/font-variation-settings-expected.txt: Removed.
  • legacy-animation-engine/animations/font-variations/font-variation-settings-order-expected.txt: Removed.
  • legacy-animation-engine/animations/font-variations/font-variation-settings-order.html: Removed.
  • legacy-animation-engine/animations/font-variations/font-variation-settings-unlike-expected.txt: Removed.
  • legacy-animation-engine/animations/font-variations/font-variation-settings-unlike.html: Removed.
  • legacy-animation-engine/animations/font-variations/font-variation-settings.html: Removed.
  • legacy-animation-engine/animations/font-variations/font-weight-expected.txt: Removed.
  • legacy-animation-engine/animations/font-variations/font-weight.html: Removed.
  • legacy-animation-engine/animations/font-variations/resources/Boxis-VF.ttf: Removed.
  • legacy-animation-engine/animations/generic-from-to-expected.txt: Removed.
  • legacy-animation-engine/animations/generic-from-to.html: Removed.
  • legacy-animation-engine/animations/import-crash-expected.txt: Removed.
  • legacy-animation-engine/animations/import-crash.html: Removed.
  • legacy-animation-engine/animations/import-expected.txt: Removed.
  • legacy-animation-engine/animations/import.html: Removed.
  • legacy-animation-engine/animations/keyframe-autoclose-brace-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframe-autoclose-brace.html: Removed.
  • legacy-animation-engine/animations/keyframe-multiple-timing-functions-transform-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframe-multiple-timing-functions-transform.html: Removed.
  • legacy-animation-engine/animations/keyframe-selector-negative-percentage-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframe-selector-negative-percentage.html: Removed.
  • legacy-animation-engine/animations/keyframe-timing-functions-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframe-timing-functions-transform-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframe-timing-functions-transform.html: Removed.
  • legacy-animation-engine/animations/keyframe-timing-functions.html: Removed.
  • legacy-animation-engine/animations/keyframe-timing-functions2-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframe-timing-functions2.html: Removed.
  • legacy-animation-engine/animations/keyframes-comma-separated-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-comma-separated.html: Removed.
  • legacy-animation-engine/animations/keyframes-dynamic-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-dynamic.html: Removed.
  • legacy-animation-engine/animations/keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-infinite-iterations-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-infinite-iterations.html: Removed.
  • legacy-animation-engine/animations/keyframes-invalid-keys-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-invalid-keys.html: Removed.
  • legacy-animation-engine/animations/keyframes-iteration-count-non-integer-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-iteration-count-non-integer.html: Removed.
  • legacy-animation-engine/animations/keyframes-out-of-order-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-out-of-order.html: Removed.
  • legacy-animation-engine/animations/keyframes-rule-expected.txt: Removed.
  • legacy-animation-engine/animations/keyframes-rule.html: Removed.
  • legacy-animation-engine/animations/keyframes.html: Removed.
  • legacy-animation-engine/animations/large-negative-delay-expected.txt: Removed.
  • legacy-animation-engine/animations/large-negative-delay.html: Removed.
  • legacy-animation-engine/animations/lineheight-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/lineheight-animation.html: Removed.
  • legacy-animation-engine/animations/longhand-timing-function-expected.txt: Removed.
  • legacy-animation-engine/animations/longhand-timing-function.html: Removed.
  • legacy-animation-engine/animations/matrix-anim-expected.txt: Removed.
  • legacy-animation-engine/animations/matrix-anim.html: Removed.
  • legacy-animation-engine/animations/missing-from-to-expected.txt: Removed.
  • legacy-animation-engine/animations/missing-from-to-transforms-expected.txt: Removed.
  • legacy-animation-engine/animations/missing-from-to-transforms.html: Removed.
  • legacy-animation-engine/animations/missing-from-to.html: Removed.
  • legacy-animation-engine/animations/missing-keyframe-properties-expected.txt: Removed.
  • legacy-animation-engine/animations/missing-keyframe-properties-repeating-expected.txt: Removed.
  • legacy-animation-engine/animations/missing-keyframe-properties-repeating.html: Removed.
  • legacy-animation-engine/animations/missing-keyframe-properties-timing-function-expected.txt: Removed.
  • legacy-animation-engine/animations/missing-keyframe-properties-timing-function.html: Removed.
  • legacy-animation-engine/animations/missing-keyframe-properties.html: Removed.
  • legacy-animation-engine/animations/missing-values-first-keyframe-expected.png: Removed.
  • legacy-animation-engine/animations/missing-values-first-keyframe.html: Removed.
  • legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Removed.
  • legacy-animation-engine/animations/missing-values-last-keyframe.html: Removed.
  • legacy-animation-engine/animations/multiple-animations-expected.txt: Removed.
  • legacy-animation-engine/animations/multiple-animations-timing-function-expected.txt: Removed.
  • legacy-animation-engine/animations/multiple-animations-timing-function.html: Removed.
  • legacy-animation-engine/animations/multiple-animations.html: Removed.
  • legacy-animation-engine/animations/multiple-backgrounds-expected.html: Removed.
  • legacy-animation-engine/animations/multiple-backgrounds.html: Removed.
  • legacy-animation-engine/animations/multiple-keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/multiple-keyframes.html: Removed.
  • legacy-animation-engine/animations/needs-layout-expected.html: Removed.
  • legacy-animation-engine/animations/needs-layout.html: Removed.
  • legacy-animation-engine/animations/negative-delay-expected.txt: Removed.
  • legacy-animation-engine/animations/negative-delay.html: Removed.
  • legacy-animation-engine/animations/opacity-transform-animation-expected.png: Removed.
  • legacy-animation-engine/animations/opacity-transform-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/opacity-transform-animation.html: Removed.
  • legacy-animation-engine/animations/pause-crash-expected.txt: Removed.
  • legacy-animation-engine/animations/pause-crash.html: Removed.
  • legacy-animation-engine/animations/play-state-expected.txt: Removed.
  • legacy-animation-engine/animations/play-state-in-shorthand-expected.txt: Removed.
  • legacy-animation-engine/animations/play-state-in-shorthand.html: Removed.
  • legacy-animation-engine/animations/play-state-paused-expected.png: Removed.
  • legacy-animation-engine/animations/play-state-paused-expected.txt: Removed.
  • legacy-animation-engine/animations/play-state-paused.html: Removed.
  • legacy-animation-engine/animations/play-state-start-paused-expected.html: Removed.
  • legacy-animation-engine/animations/play-state-start-paused.html: Removed.
  • legacy-animation-engine/animations/play-state-suspend-expected.txt: Removed.
  • legacy-animation-engine/animations/play-state-suspend.html: Removed.
  • legacy-animation-engine/animations/play-state.html: Removed.
  • legacy-animation-engine/animations/remove-syncing-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/remove-syncing-animation.html: Removed.
  • legacy-animation-engine/animations/resources/anim.html: Removed.
  • legacy-animation-engine/animations/resources/animation-test-helpers.js: Removed.
  • legacy-animation-engine/animations/resources/blue-100.png: Removed.
  • legacy-animation-engine/animations/resources/crash-on-removing-animation-window.html: Removed.
  • legacy-animation-engine/animations/resources/dynamic-stylesheet-insertion-inserted.css: Removed.
  • legacy-animation-engine/animations/resources/dynamic-stylesheet-insertion-main.css: Removed.
  • legacy-animation-engine/animations/resources/green-100.png: Removed.
  • legacy-animation-engine/animations/resources/keyframes.css: Removed.
  • legacy-animation-engine/animations/resources/page-cache-helper.html: Removed.
  • legacy-animation-engine/animations/resources/stop-animation-on-suspend-subframe.html: Removed.
  • legacy-animation-engine/animations/resources/stripes-100.png: Removed.
  • legacy-animation-engine/animations/restart-after-scroll-expected.txt: Removed.
  • legacy-animation-engine/animations/restart-after-scroll-nested-expected.txt: Removed.
  • legacy-animation-engine/animations/restart-after-scroll-nested.html: Removed.
  • legacy-animation-engine/animations/restart-after-scroll.html: Removed.
  • legacy-animation-engine/animations/resume-after-page-cache-expected.txt: Removed.
  • legacy-animation-engine/animations/resume-after-page-cache.html: Removed.
  • legacy-animation-engine/animations/simultaneous-start-left-expected.txt: Removed.
  • legacy-animation-engine/animations/simultaneous-start-left.html: Removed.
  • legacy-animation-engine/animations/simultaneous-start-transform-expected.txt: Removed.
  • legacy-animation-engine/animations/simultaneous-start-transform.html: Removed.
  • legacy-animation-engine/animations/spring-computed-style-expected.txt: Removed.
  • legacy-animation-engine/animations/spring-computed-style.html: Removed.
  • legacy-animation-engine/animations/spring-function-expected.txt: Removed.
  • legacy-animation-engine/animations/spring-function.html: Removed.
  • legacy-animation-engine/animations/spring-parsing-expected.txt: Removed.
  • legacy-animation-engine/animations/spring-parsing.html: Removed.
  • legacy-animation-engine/animations/stacking-context-fill-forwards-expected.html: Removed.
  • legacy-animation-engine/animations/stacking-context-fill-forwards.html: Removed.
  • legacy-animation-engine/animations/stacking-context-not-fill-forwards-expected.html: Removed.
  • legacy-animation-engine/animations/stacking-context-not-fill-forwards.html: Removed.
  • legacy-animation-engine/animations/stacking-context-unchanged-while-running-expected.html: Removed.
  • legacy-animation-engine/animations/stacking-context-unchanged-while-running.html: Removed.
  • legacy-animation-engine/animations/stacking-during-opacity-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/stacking-during-opacity-animation.html: Removed.
  • legacy-animation-engine/animations/state-at-end-event.html: Removed.
  • legacy-animation-engine/animations/stop-animation-on-suspend-expected.txt: Removed.
  • legacy-animation-engine/animations/stop-animation-on-suspend.html: Removed.
  • legacy-animation-engine/animations/suspend-resume-animation-events-expected.txt: Removed.
  • legacy-animation-engine/animations/suspend-resume-animation-events.html: Removed.
  • legacy-animation-engine/animations/suspend-resume-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/suspend-resume-animation.html: Removed.
  • legacy-animation-engine/animations/suspend-transform-animation-expected.png: Removed.
  • legacy-animation-engine/animations/suspend-transform-animation-expected.txt: Removed.
  • legacy-animation-engine/animations/suspend-transform-animation.html: Removed.
  • legacy-animation-engine/animations/timing-functions-expected.txt: Removed.
  • legacy-animation-engine/animations/timing-functions.html: Removed.
  • legacy-animation-engine/animations/transform-non-accelerated-expected.txt: Removed.
  • legacy-animation-engine/animations/transform-non-accelerated.html: Removed.
  • legacy-animation-engine/animations/transition-and-animation-1-expected.txt: Removed.
  • legacy-animation-engine/animations/transition-and-animation-1.html: Removed.
  • legacy-animation-engine/animations/transition-and-animation-2-expected.txt: Removed.
  • legacy-animation-engine/animations/transition-and-animation-2.html: Removed.
  • legacy-animation-engine/animations/transition-and-animation-3-expected.txt: Removed.
  • legacy-animation-engine/animations/transition-and-animation-3.html: Removed.
  • legacy-animation-engine/animations/unanimated-style-expected.txt: Removed.
  • legacy-animation-engine/animations/unanimated-style.html: Removed.
  • legacy-animation-engine/animations/unprefixed-events-expected.txt: Removed.
  • legacy-animation-engine/animations/unprefixed-events-mixed-with-prefixed-expected.txt: Removed.
  • legacy-animation-engine/animations/unprefixed-events-mixed-with-prefixed.html: Removed.
  • legacy-animation-engine/animations/unprefixed-events.html: Removed.
  • legacy-animation-engine/animations/unprefixed-keyframes-expected.txt: Removed.
  • legacy-animation-engine/animations/unprefixed-keyframes-rule-expected.txt: Removed.
  • legacy-animation-engine/animations/unprefixed-keyframes-rule.html: Removed.
  • legacy-animation-engine/animations/unprefixed-keyframes.html: Removed.
  • legacy-animation-engine/animations/unprefixed-properties-expected.txt: Removed.
  • legacy-animation-engine/animations/unprefixed-properties.html: Removed.
  • legacy-animation-engine/animations/unprefixed-shorthand-expected.txt: Removed.
  • legacy-animation-engine/animations/unprefixed-shorthand.html: Removed.
  • legacy-animation-engine/animations/width-using-ems-expected.txt: Removed.
  • legacy-animation-engine/animations/width-using-ems.html: Removed.
  • legacy-animation-engine/compositing/animation/animated-composited-inside-hidden-expected.txt: Removed.
  • legacy-animation-engine/compositing/animation/animated-composited-inside-hidden.html: Removed.
  • legacy-animation-engine/compositing/animation/animation-backing-expected.txt: Removed.
  • legacy-animation-engine/compositing/animation/animation-backing.html: Removed.
  • legacy-animation-engine/compositing/animation/animation-compositing-expected.txt: Removed.
  • legacy-animation-engine/compositing/animation/animation-compositing.html: Removed.
  • legacy-animation-engine/compositing/animation/busy-indicator-expected.txt: Removed.
  • legacy-animation-engine/compositing/animation/busy-indicator-no.png: Removed.
  • legacy-animation-engine/compositing/animation/busy-indicator.html: Removed.
  • legacy-animation-engine/compositing/animation/busy-indicator.png: Removed.
  • legacy-animation-engine/compositing/animation/computed-style-during-delay-expected.txt: Removed.
  • legacy-animation-engine/compositing/animation/computed-style-during-delay.html: Removed.
  • legacy-animation-engine/compositing/animation/keyframe-order-expected.html: Removed.
  • legacy-animation-engine/compositing/animation/keyframe-order.html: Removed.
  • legacy-animation-engine/compositing/animation/layer-for-filling-animation-expected.txt: Removed.
  • legacy-animation-engine/compositing/animation/layer-for-filling-animation.html: Removed.
  • legacy-animation-engine/compositing/animation/matrix-animation-expected.html: Removed.
  • legacy-animation-engine/compositing/animation/matrix-animation.html: Removed.
  • legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer.html: Removed.
  • legacy-animation-engine/compositing/backing/backface-visibility-flip-expected.txt: Removed.
  • legacy-animation-engine/compositing/backing/backface-visibility-flip.html: Removed.
  • legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Removed.
  • legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html: Removed.
  • legacy-animation-engine/compositing/backing/backing-store-attachment-empty-keyframe-expected.txt: Removed.
  • legacy-animation-engine/compositing/backing/backing-store-attachment-empty-keyframe.html: Removed.
  • legacy-animation-engine/compositing/backing/transform-transition-from-outside-view-expected.txt: Removed.
  • legacy-animation-engine/compositing/backing/transform-transition-from-outside-view.html: Removed.
  • legacy-animation-engine/compositing/contents-scale/animating-expected.txt: Removed.
  • legacy-animation-engine/compositing/contents-scale/animating.html: Removed.
  • legacy-animation-engine/compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: Removed.
  • legacy-animation-engine/compositing/geometry/limit-layer-bounds-opacity-transition.html: Removed.
  • legacy-animation-engine/compositing/geometry/partial-layout-update.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/animation-overlap-with-children-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/animation-overlap-with-children.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-animation-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-transition-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/mismatched-rotated-transform-transition-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/mismatched-transform-transition-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/mismatched-transform-transition-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/multiple-keyframes-animation-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/overlap-animation-container.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/overlap-animation-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/overlap-animation.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/scale-rotation-transition-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/scale-rotation-transition-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-animation-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-scale-transition-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-scale-transition-overlap.html: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-transition-overlap-expected.txt: Removed.
  • legacy-animation-engine/compositing/layer-creation/translate-transition-overlap.html: Removed.
  • legacy-animation-engine/compositing/overflow/overflow-positioning.html: Removed.
  • legacy-animation-engine/compositing/reflections/animation-inside-reflection.html: Removed.
  • legacy-animation-engine/compositing/reflections/load-video-in-reflection.html: Removed.
  • legacy-animation-engine/compositing/reflections/nested-reflection-animated.html: Removed.
  • legacy-animation-engine/compositing/reflections/nested-reflection-transition.html: Removed.
  • legacy-animation-engine/compositing/repaint-container-assertion-when-toggling-compositing-expected.txt: Removed.
  • legacy-animation-engine/compositing/repaint-container-assertion-when-toggling-compositing.html: Removed.
  • legacy-animation-engine/compositing/repaint/become-overlay-composited-layer.html: Removed.
  • legacy-animation-engine/compositing/repaint/layer-repaint-rects.html: Removed.
  • legacy-animation-engine/compositing/repaint/opacity-between-absolute.html: Removed.
  • legacy-animation-engine/compositing/repaint/opacity-between-absolute2.html: Removed.
  • legacy-animation-engine/compositing/transitions/add-remove-transition-expected.html: Removed.
  • legacy-animation-engine/compositing/transitions/add-remove-transition.html: Removed.
  • legacy-animation-engine/compositing/transitions/opacity-on-inline-expected.txt: Removed.
  • legacy-animation-engine/compositing/transitions/opacity-on-inline.html: Removed.
  • legacy-animation-engine/compositing/transitions/scale-transition-no-start.html: Removed.
  • legacy-animation-engine/compositing/transitions/singular-scale-transition.html: Removed.
  • legacy-animation-engine/compositing/transitions/transform-on-large-layer-expected.html: Removed.
  • legacy-animation-engine/compositing/transitions/transform-on-large-layer.html: Removed.
  • legacy-animation-engine/compositing/updates/animation-non-composited-expected.txt: Removed.
  • legacy-animation-engine/compositing/updates/animation-non-composited.html: Removed.
  • legacy-animation-engine/compositing/visibility/visibility-composited-animation-expected.png: Removed.
  • legacy-animation-engine/compositing/visibility/visibility-composited-animation-expected.txt: Removed.
  • legacy-animation-engine/compositing/visibility/visibility-composited-animation.html: Removed.
  • legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Removed.
  • legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Removed.
  • legacy-animation-engine/compositing/visible-rect/animated-from-none.html: Removed.
  • legacy-animation-engine/compositing/visible-rect/animated.html: Removed.
  • legacy-animation-engine/css1/units/zero-duration-without-units-expected.txt: Removed.
  • legacy-animation-engine/css1/units/zero-duration-without-units.html: Removed.
  • legacy-animation-engine/css3/calc/cubic-bezier-with-multiple-calcs-crash.html-expected.txt: Removed.
  • legacy-animation-engine/css3/calc/cubic-bezier-with-multiple-calcs-crash.html.html: Removed.
  • legacy-animation-engine/css3/calc/transition-crash-expected.txt: Removed.
  • legacy-animation-engine/css3/calc/transition-crash.html: Removed.
  • legacy-animation-engine/css3/calc/transition-crash2-expected.txt: Removed.
  • legacy-animation-engine/css3/calc/transition-crash2.html: Removed.
  • legacy-animation-engine/css3/calc/transition-crash3-expected.txt: Removed.
  • legacy-animation-engine/css3/calc/transition-crash3.html: Removed.
  • legacy-animation-engine/css3/calc/transition-crash4-expected.txt: Removed.
  • legacy-animation-engine/css3/calc/transition-crash4.html: Removed.
  • legacy-animation-engine/css3/calc/transitions-dependent-expected.txt: Removed.
  • legacy-animation-engine/css3/calc/transitions-dependent.html: Removed.
  • legacy-animation-engine/css3/calc/transitions-expected.txt: Removed.
  • legacy-animation-engine/css3/calc/transitions.html: Removed.
  • legacy-animation-engine/css3/calculated-word-spacing-expected.txt: Removed.
  • legacy-animation-engine/css3/calculated-word-spacing.html: Removed.
  • legacy-animation-engine/css3/filters/animation-from-initial-values-with-color-matrix-expected.html: Removed.
  • legacy-animation-engine/css3/filters/animation-from-initial-values-with-color-matrix.html: Removed.
  • legacy-animation-engine/css3/filters/backdrop/animation-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/backdrop/animation.html: Removed.
  • legacy-animation-engine/css3/filters/composited-during-animation-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/composited-during-animation-layertree.html: Removed.
  • legacy-animation-engine/css3/filters/composited-during-animation.html: Removed.
  • legacy-animation-engine/css3/filters/composited-during-transition-layertree.html: Removed.
  • legacy-animation-engine/css3/filters/crash-filter-animation-invalid-url-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/crash-filter-animation-invalid-url.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none-hw-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none-hw.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none-multi-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none-multi-hw-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none-multi-hw.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none-multi.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-from-none.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-hw-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-hw.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-multi-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-multi-hw-expected.txt: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-multi-hw.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation-multi.html: Removed.
  • legacy-animation-engine/css3/filters/filter-animation.html: Removed.
  • legacy-animation-engine/css3/flexbox/csswg/css-flexbox-height-animation-stretch-expected.html: Removed.
  • legacy-animation-engine/css3/flexbox/csswg/css-flexbox-height-animation-stretch.html: Removed.
  • legacy-animation-engine/css3/infinite-word-spacing-expected.txt: Removed.
  • legacy-animation-engine/css3/infinite-word-spacing.html: Removed.
  • legacy-animation-engine/css3/masking/clip-path-animation-expected.txt: Removed.
  • legacy-animation-engine/css3/masking/clip-path-animation.html: Removed.
  • legacy-animation-engine/css3/supports-crash-expected.txt: Removed.
  • legacy-animation-engine/css3/supports-crash.html: Removed.
  • legacy-animation-engine/css3/supports-cssom-expected.txt: Removed.
  • legacy-animation-engine/css3/supports-cssom.html: Removed.
  • legacy-animation-engine/css3/supports-dom-api-expected.txt: Removed.
  • legacy-animation-engine/css3/supports-dom-api.html: Removed.
  • legacy-animation-engine/css3/supports-expected.txt: Removed.
  • legacy-animation-engine/css3/supports-not-selector-cssom-expected.txt: Removed.
  • legacy-animation-engine/css3/supports-not-selector-cssom.html: Removed.
  • legacy-animation-engine/css3/supports-not-selector-expected.html: Removed.
  • legacy-animation-engine/css3/supports-not-selector.html: Removed.
  • legacy-animation-engine/css3/supports.html: Removed.
  • legacy-animation-engine/cssom/cssvalue-comparison-expected.txt: Removed.
  • legacy-animation-engine/cssom/cssvalue-comparison.html: Removed.
  • legacy-animation-engine/editing/selection/layout-during-move-selection-crash-expected.txt: Removed.
  • legacy-animation-engine/editing/selection/layout-during-move-selection-crash.html: Removed.
  • legacy-animation-engine/fast/animation/animation-element-removal-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/animation-element-removal.html: Removed.
  • legacy-animation-engine/fast/animation/animation-mixed-transform-crash-expected.html: Removed.
  • legacy-animation-engine/fast/animation/animation-mixed-transform-crash.html: Removed.
  • legacy-animation-engine/fast/animation/animation-style-update-size-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/animation-style-update-size.html: Removed.
  • legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change.html: Removed.
  • legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change2-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/css-animation-resuming-when-visible-with-style-change2.html: Removed.
  • legacy-animation-engine/fast/animation/css-animation-resuming-when-visible.html: Removed.
  • legacy-animation-engine/fast/animation/css-animation-throttling-lowPowerMode-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/css-animation-throttling-lowPowerMode.html: Removed.
  • legacy-animation-engine/fast/animation/height-auto-transition-computed-value-expected.html: Removed.
  • legacy-animation-engine/fast/animation/height-auto-transition-computed-value.html: Removed.
  • legacy-animation-engine/fast/animation/keyframe-with-font-size-in-em-units-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/keyframe-with-font-size-in-em-units.html: Removed.
  • legacy-animation-engine/fast/animation/request-animation-frame-iframe-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/request-animation-frame-iframe.html: Removed.
  • legacy-animation-engine/fast/animation/request-animation-frame-iframe2-expected.txt: Removed.
  • legacy-animation-engine/fast/animation/request-animation-frame-iframe2.html: Removed.
  • legacy-animation-engine/fast/css-generated-content/noscript-pseudo-anim-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/css-generated-content/noscript-pseudo-anim-crash.html: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-animation-expected.txt: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-animation.html: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-element-events-expected.txt: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-element-events.html: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-transition-event-expected.txt: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-transition-event.html: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-transition-expected.txt: Removed.
  • legacy-animation-engine/fast/css-generated-content/pseudo-transition.html: Removed.
  • legacy-animation-engine/fast/css/animation-pseudo-style-change-expected.html: Removed.
  • legacy-animation-engine/fast/css/animation-pseudo-style-change.html: Removed.
  • legacy-animation-engine/fast/css/animation-steps-calculated-value-expected.txt: Removed.
  • legacy-animation-engine/fast/css/animation-steps-calculated-value.html: Removed.
  • legacy-animation-engine/fast/css/animation-transition-duration-quirksmode-expected.txt: Removed.
  • legacy-animation-engine/fast/css/animation-transition-duration-quirksmode.html: Removed.
  • legacy-animation-engine/fast/css/calc-mixed-blend-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/css/calc-mixed-blend-crash.html: Removed.
  • legacy-animation-engine/fast/css/calc-with-angle-time-frequency-expected.txt: Removed.
  • legacy-animation-engine/fast/css/calc-with-angle-time-frequency.html: Removed.
  • legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Removed.
  • legacy-animation-engine/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html: Removed.
  • legacy-animation-engine/fast/css/getComputedStyle/resources/property-names.js: Removed.
  • legacy-animation-engine/fast/css/getFloatValueForUnit-expected.txt: Removed.
  • legacy-animation-engine/fast/css/getFloatValueForUnit.html: Removed.
  • legacy-animation-engine/fast/css/image-set-value-not-removed-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/css/image-set-value-not-removed-crash.html: Removed.
  • legacy-animation-engine/fast/css/longhand-overrides-shorthand-prefixing-expected.txt: Removed.
  • legacy-animation-engine/fast/css/longhand-overrides-shorthand-prefixing.html: Removed.
  • legacy-animation-engine/fast/css/number-parsing-crash-2-expected.txt: Removed.
  • legacy-animation-engine/fast/css/number-parsing-crash-2.html: Removed.
  • legacy-animation-engine/fast/css/onanimation-eventhandlers-expected.txt: Removed.
  • legacy-animation-engine/fast/css/onanimation-eventhandlers.html: Removed.
  • legacy-animation-engine/fast/css/ontransitionend-eventhandler-expected.txt: Removed.
  • legacy-animation-engine/fast/css/ontransitionend-eventhandler.html: Removed.
  • legacy-animation-engine/fast/css/parse-timing-function-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/css/parse-timing-function-crash.html: Removed.
  • legacy-animation-engine/fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt: Removed.
  • legacy-animation-engine/fast/css/prefixed-unprefixed-variant-style-declaration.html: Removed.
  • legacy-animation-engine/fast/css/shorthand-omitted-initial-value-overrides-shorthand-expected.txt: Removed.
  • legacy-animation-engine/fast/css/shorthand-omitted-initial-value-overrides-shorthand.html: Removed.
  • legacy-animation-engine/fast/css/transform-inline-style-expected.txt: Removed.
  • legacy-animation-engine/fast/css/transform-inline-style-remove-expected.txt: Removed.
  • legacy-animation-engine/fast/css/transform-inline-style-remove.html: Removed.
  • legacy-animation-engine/fast/css/transform-inline-style.html: Removed.
  • legacy-animation-engine/fast/css/transition-color-unspecified-expected.txt: Removed.
  • legacy-animation-engine/fast/css/transition-color-unspecified.html: Removed.
  • legacy-animation-engine/fast/css/transition-delay-calculated-value-expected.txt: Removed.
  • legacy-animation-engine/fast/css/transition-delay-calculated-value.html: Removed.
  • legacy-animation-engine/fast/css/transition-timing-function-expected.txt: Removed.
  • legacy-animation-engine/fast/css/transition-timing-function.html: Removed.
  • legacy-animation-engine/fast/css/transition_shorthand_parsing-expected.txt: Removed.
  • legacy-animation-engine/fast/css/transition_shorthand_parsing.html: Removed.
  • legacy-animation-engine/fast/dom/event-handler-attributes-expected.txt: Removed.
  • legacy-animation-engine/fast/dom/event-handler-attributes.html: Removed.
  • legacy-animation-engine/fast/events/constructors/webkit-animation-event-constructor-expected.txt: Removed.
  • legacy-animation-engine/fast/events/constructors/webkit-animation-event-constructor.html: Removed.
  • legacy-animation-engine/fast/filter-image/filter-image-animation-expected.txt: Removed.
  • legacy-animation-engine/fast/filter-image/filter-image-animation.html: Removed.
  • legacy-animation-engine/fast/harness/results-expected.txt: Removed.
  • legacy-animation-engine/fast/harness/results.html: Removed.
  • legacy-animation-engine/fast/images/animate-list-item-image-assertion-expected.txt: Removed.
  • legacy-animation-engine/fast/images/animate-list-item-image-assertion.html: Removed.
  • legacy-animation-engine/fast/images/crossfade-client-not-removed-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/images/crossfade-client-not-removed-crash.html: Removed.
  • legacy-animation-engine/fast/images/image-copy-memory-usage-expected.txt: Removed.
  • legacy-animation-engine/fast/images/image-copy-memory-usage.html: Removed.
  • legacy-animation-engine/fast/inline/quotation-text-changes-dynamically-expected.txt: Removed.
  • legacy-animation-engine/fast/inline/quotation-text-changes-dynamically.html: Removed.
  • legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transform-expected.html: Removed.
  • legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transform.html: Removed.
  • legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transition-expected.html: Removed.
  • legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-added-after-transition.html: Removed.
  • legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-hardware-acceleration-expected.html: Removed.
  • legacy-animation-engine/fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html: Removed.
  • legacy-animation-engine/fast/media/matchmedium-query-api-expected.txt: Removed.
  • legacy-animation-engine/fast/media/matchmedium-query-api.html: Removed.
  • legacy-animation-engine/fast/media/media-query-list-01-expected.txt: Removed.
  • legacy-animation-engine/fast/media/media-query-list-01.html: Removed.
  • legacy-animation-engine/fast/media/mq-animation-expected.html: Removed.
  • legacy-animation-engine/fast/media/mq-animation.html: Removed.
  • legacy-animation-engine/fast/media/mq-transition-expected.html: Removed.
  • legacy-animation-engine/fast/media/mq-transition.html: Removed.
  • legacy-animation-engine/fast/multicol/crash-when-spanner-gets-moved-around-expected.txt: Removed.
  • legacy-animation-engine/fast/multicol/crash-when-spanner-gets-moved-around.html: Removed.
  • legacy-animation-engine/fast/multicol/multicol-fieldset-span-changes-expected.txt: Removed.
  • legacy-animation-engine/fast/multicol/multicol-fieldset-span-changes.html: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/crash-when-switching-to-floating-expected.txt: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/crash-when-switching-to-floating.html: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/first-letter-create-expected.html: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/first-letter-create.html: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-with-embedded-columns-expected.txt: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/spanner-crash-with-embedded-columns.html: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/spanner-crash.html: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/table-section-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/multicol/newmulticol/table-section-crash.html: Removed.
  • legacy-animation-engine/fast/multicol/svg-inside-multicolumn-expected.txt: Removed.
  • legacy-animation-engine/fast/multicol/svg-inside-multicolumn.html: Removed.
  • legacy-animation-engine/fast/repaint/list-item-equal-style-change-no-repaint-expected.txt: Removed.
  • legacy-animation-engine/fast/repaint/list-item-equal-style-change-no-repaint.html: Removed.
  • legacy-animation-engine/fast/shadow-dom/shadow-host-animation-expected.html: Removed.
  • legacy-animation-engine/fast/shadow-dom/shadow-host-animation.html: Removed.
  • legacy-animation-engine/fast/shadow-dom/shadow-host-transition-expected.html: Removed.
  • legacy-animation-engine/fast/shadow-dom/shadow-host-transition.html: Removed.
  • legacy-animation-engine/fast/shadow-dom/slot-renderer-teardown-expected.txt: Removed.
  • legacy-animation-engine/fast/shadow-dom/slot-renderer-teardown.html: Removed.
  • legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt: Removed.
  • legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-animation.html: Removed.
  • legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation-expected.txt: Removed.
  • legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html: Removed.
  • legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation-expected.txt: Removed.
  • legacy-animation-engine/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html: Removed.
  • legacy-animation-engine/fast/text/crash-complex-text-surrogate.html: Removed.
  • legacy-animation-engine/fast/text/text-combine-crash-expected.txt: Removed.
  • legacy-animation-engine/fast/text/text-combine-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-01-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-01.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-02-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-02.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-03-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-03.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-04-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-prefixed-04.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-01-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-01.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-02-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-02.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-03-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-03.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-04-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-events-unprefixed-04.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-immediate-start-event-after-ondemand-update-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-immediate-start-event-after-ondemand-update.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-iteration-event-short-iterations-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-iteration-event-short-iterations.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-name-none-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-name-none.html: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-shorthand-unprefixed-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/animation-shorthand-unprefixed.html: Removed.
  • legacy-animation-engine/imported/blink/animations/background-shorthand-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/background-shorthand-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/base-render-style-body-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/base-render-style-body-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/base-render-style-font-selector-version-assert-expected.html: Removed.
  • legacy-animation-engine/imported/blink/animations/base-render-style-font-selector-version-assert.html: Removed.
  • legacy-animation-engine/imported/blink/animations/deleted-image-set-transition-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/deleted-image-set-transition-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/display-none-cancels-nested-animations-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/display-none-cancels-nested-animations.html: Removed.
  • legacy-animation-engine/imported/blink/animations/display-none-terminates-animation-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/display-none-terminates-animation.html: Removed.
  • legacy-animation-engine/imported/blink/animations/empty-keyframe-animation-composited-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/empty-keyframe-animation-composited.html: Removed.
  • legacy-animation-engine/imported/blink/animations/empty-keyframes-composited-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/empty-keyframes-composited.html: Removed.
  • legacy-animation-engine/imported/blink/animations/events-with-short-duration-and-delay-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/events-with-short-duration-and-delay.html: Removed.
  • legacy-animation-engine/imported/blink/animations/inherit-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/inherit-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/keyframe-timing-function-unset-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/keyframe-timing-function-unset-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-color-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-color-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-marker-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-marker-crash.html: Removed.
  • legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-rems-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/pseudo-element-animation-with-rems.html: Removed.
  • legacy-animation-engine/imported/blink/animations/wrong-keyframe-name-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/wrong-keyframe-name.html: Removed.
  • legacy-animation-engine/imported/blink/animations/zero-duration-infinite-iterations-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/zero-duration-infinite-iterations.html: Removed.
  • legacy-animation-engine/imported/blink/animations/zero-duration-large-start-delay-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/animations/zero-duration-large-start-delay.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/animation/hidden-animated-layer-should-not-have-scrollbars-expected.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/animation/hidden-animated-layer-should-not-have-scrollbars.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/layer-creation/incremental-destruction-expected.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/layer-creation/incremental-destruction.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/repaint/end-of-opacity-transition-expected.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/repaint/end-of-opacity-transition.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/squashing/animation-repaint-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/compositing/squashing/animation-repaint-crash.html: Removed.
  • legacy-animation-engine/imported/blink/compositing/squashing/remove-from-grouped-mapping-on-reassignment-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/compositing/squashing/remove-from-grouped-mapping-on-reassignment.html: Removed.
  • legacy-animation-engine/imported/blink/css3/calc/transition-asan-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/css3/calc/transition-asan-crash.html: Removed.
  • legacy-animation-engine/imported/blink/fast/animation/animation-without-parent-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/fast/animation/animation-without-parent-crash.html: Removed.
  • legacy-animation-engine/imported/blink/fast/animation/last-child-assert-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/fast/animation/last-child-assert.html: Removed.
  • legacy-animation-engine/imported/blink/fast/css-generated-content/pseudo-animation-display-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/fast/css-generated-content/pseudo-animation-display.html: Removed.
  • legacy-animation-engine/imported/blink/fast/text/output-isolate-at-end-of-line-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/fast/text/output-isolate-at-end-of-line-crash.html: Removed.
  • legacy-animation-engine/imported/blink/http/tests/webfont/animation-assert-expected.html: Removed.
  • legacy-animation-engine/imported/blink/http/tests/webfont/animation-assert.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/background-webkit-mask-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/background-webkit-mask-crash.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/no-transition-on-implicit-margins-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/no-transition-on-implicit-margins.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/remove-accelerated-transition-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/remove-accelerated-transition.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/resources/opacity-transform-transitions-inside-iframe-inner.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/transition-not-interpolable-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/transition-not-interpolable.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/transition-property-explicit-initial-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/transition-property-explicit-initial.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/transition-shape-outside-crash-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/transition-shape-outside-crash.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/unprefixed-perspective-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/unprefixed-perspective.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/unprefixed-transform-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/unprefixed-transform.html: Removed.
  • legacy-animation-engine/imported/blink/transitions/zero-duration-should-not-cancel-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/transitions/zero-duration-should-not-cancel.html: Removed.
  • legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-prefixed-04-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-prefixed-04.html: Removed.
  • legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-unprefixed-04-expected.txt: Removed.
  • legacy-animation-engine/imported/blink/virtual/stable/animations-unprefixed/animation-events-unprefixed-04.html: Removed.
  • legacy-animation-engine/js/dom/transition-cache-dictionary-crash-expected.txt: Removed.
  • legacy-animation-engine/js/dom/transition-cache-dictionary-crash.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html: Removed.
  • legacy-animation-engine/media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp.html: Removed.
  • legacy-animation-engine/scrollbars/scrollbar-scrollbarparts-repaint-crash-expected.txt: Removed.
  • legacy-animation-engine/scrollbars/scrollbar-scrollbarparts-repaint-crash.html: Removed.
  • legacy-animation-engine/tables/mozilla/bugs/bug113235-1.html: Removed.
  • legacy-animation-engine/tables/table-section-overflow-clip-crash-expected.txt: Removed.
  • legacy-animation-engine/tables/table-section-overflow-clip-crash.html: Removed.
  • legacy-animation-engine/transitions/3d/interrupted-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/3d/interrupted-transition.html: Removed.
  • legacy-animation-engine/transitions/background-position-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/background-position-transitions.html: Removed.
  • legacy-animation-engine/transitions/background-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/background-transitions.html: Removed.
  • legacy-animation-engine/transitions/bad-transition-shorthand-crash-expected.txt: Removed.
  • legacy-animation-engine/transitions/bad-transition-shorthand-crash.html: Removed.
  • legacy-animation-engine/transitions/blendmode-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/blendmode-transitions.html: Removed.
  • legacy-animation-engine/transitions/border-radius-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/border-radius-transition.html: Removed.
  • legacy-animation-engine/transitions/cancel-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/cancel-transition.html: Removed.
  • legacy-animation-engine/transitions/change-values-during-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/change-values-during-transition.html: Removed.
  • legacy-animation-engine/transitions/clip-path-path-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/clip-path-path-transitions.html: Removed.
  • legacy-animation-engine/transitions/clip-path-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/clip-path-transitions.html: Removed.
  • legacy-animation-engine/transitions/clip-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/clip-transition.html: Removed.
  • legacy-animation-engine/transitions/color-transition-all-expected.txt: Removed.
  • legacy-animation-engine/transitions/color-transition-all.html: Removed.
  • legacy-animation-engine/transitions/color-transition-premultiplied-expected.txt: Removed.
  • legacy-animation-engine/transitions/color-transition-premultiplied.html: Removed.
  • legacy-animation-engine/transitions/color-transition-rounding-expected.txt: Removed.
  • legacy-animation-engine/transitions/color-transition-rounding.html: Removed.
  • legacy-animation-engine/transitions/created-while-suspended-expected.txt: Removed.
  • legacy-animation-engine/transitions/created-while-suspended.html: Removed.
  • legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Removed.
  • legacy-animation-engine/transitions/cross-fade-background-image.html: Removed.
  • legacy-animation-engine/transitions/cross-fade-border-image.html: Removed.
  • legacy-animation-engine/transitions/crossfade-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/crossfade-transition.html: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-color-expected.txt: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-color.html: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-length-expected.txt: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-length.html: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-shadow-expected.txt: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-shadow.html: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-svg-length-expected.txt: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-svg-length.html: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-transform-expected.txt: Removed.
  • legacy-animation-engine/transitions/cubic-bezier-overflow-transform.html: Removed.
  • legacy-animation-engine/transitions/default-timing-function.html: Removed.
  • legacy-animation-engine/transitions/delay-expected.txt: Removed.
  • legacy-animation-engine/transitions/delay.html: Removed.
  • legacy-animation-engine/transitions/equivalent-background-image-no-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/equivalent-background-image-no-transition.html: Removed.
  • legacy-animation-engine/transitions/extra-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/extra-transition.html: Removed.
  • legacy-animation-engine/transitions/flex-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/flex-transitions.html: Removed.
  • legacy-animation-engine/transitions/font-family-during-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/font-family-during-transition.html: Removed.
  • legacy-animation-engine/transitions/frames-timing-function-expected.txt: Removed.
  • legacy-animation-engine/transitions/frames-timing-function.html: Removed.
  • legacy-animation-engine/transitions/hang-with-bad-transition-list-expected.txt: Removed.
  • legacy-animation-engine/transitions/hang-with-bad-transition-list.html: Removed.
  • legacy-animation-engine/transitions/inherit-expected.txt: Removed.
  • legacy-animation-engine/transitions/inherit-other-props-expected.txt: Removed.
  • legacy-animation-engine/transitions/inherit-other-props.html: Removed.
  • legacy-animation-engine/transitions/inherit.html: Removed.
  • legacy-animation-engine/transitions/interrupt-transform-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/interrupt-transform-transition.html: Removed.
  • legacy-animation-engine/transitions/interrupt-zero-duration-expected.txt: Removed.
  • legacy-animation-engine/transitions/interrupt-zero-duration.html: Removed.
  • legacy-animation-engine/transitions/interrupted-accelerated-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/interrupted-accelerated-transition.html: Removed.
  • legacy-animation-engine/transitions/interrupted-all-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/interrupted-all-transition.html: Removed.
  • legacy-animation-engine/transitions/lengthsize-transition-to-from-auto-expected.txt: Removed.
  • legacy-animation-engine/transitions/lengthsize-transition-to-from-auto.html: Removed.
  • legacy-animation-engine/transitions/longhand-vs-shorthand-initial-expected.txt: Removed.
  • legacy-animation-engine/transitions/longhand-vs-shorthand-initial.html: Removed.
  • legacy-animation-engine/transitions/mask-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/mask-transitions.html: Removed.
  • legacy-animation-engine/transitions/matched-transform-functions-expected.txt: Removed.
  • legacy-animation-engine/transitions/matched-transform-functions.html: Removed.
  • legacy-animation-engine/transitions/min-max-width-height-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/min-max-width-height-transitions.html: Removed.
  • legacy-animation-engine/transitions/mismatched-shadow-styles-expected.txt: Removed.
  • legacy-animation-engine/transitions/mismatched-shadow-styles.html: Removed.
  • legacy-animation-engine/transitions/mismatched-shadow-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/mismatched-shadow-transitions.html: Removed.
  • legacy-animation-engine/transitions/mixed-type-expected.txt: Removed.
  • legacy-animation-engine/transitions/mixed-type.html: Removed.
  • legacy-animation-engine/transitions/move-after-transition.html: Removed.
  • legacy-animation-engine/transitions/multiple-background-size-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/multiple-background-size-transitions.html: Removed.
  • legacy-animation-engine/transitions/multiple-background-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/multiple-background-transitions.html: Removed.
  • legacy-animation-engine/transitions/multiple-mask-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/multiple-mask-transitions.html: Removed.
  • legacy-animation-engine/transitions/multiple-shadow-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/multiple-shadow-transitions.html: Removed.
  • legacy-animation-engine/transitions/multiple-text-shadow-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/multiple-text-shadow-transition.html: Removed.
  • legacy-animation-engine/transitions/negative-delay-expected.txt: Removed.
  • legacy-animation-engine/transitions/negative-delay.html: Removed.
  • legacy-animation-engine/transitions/opacity-transition-zindex-expected.txt: Removed.
  • legacy-animation-engine/transitions/opacity-transition-zindex.html: Removed.
  • legacy-animation-engine/transitions/override-transition-crash-expected.txt: Removed.
  • legacy-animation-engine/transitions/override-transition-crash.html: Removed.
  • legacy-animation-engine/transitions/remove-transition-style-expected.txt: Removed.
  • legacy-animation-engine/transitions/remove-transition-style.html: Removed.
  • legacy-animation-engine/transitions/repeated-firing-background-color-expected.txt: Removed.
  • legacy-animation-engine/transitions/repeated-firing-background-color.html: Removed.
  • legacy-animation-engine/transitions/resources/Aurora.jpg: Removed.
  • legacy-animation-engine/transitions/resources/interrupted-accelerated-transition-final.html: Removed.
  • legacy-animation-engine/transitions/resources/transition-end-event-destroy-iframe-inner.html: Removed.
  • legacy-animation-engine/transitions/resources/transition-test-helpers.js: Removed.
  • legacy-animation-engine/transitions/retargetted-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/retargetted-transition.html: Removed.
  • legacy-animation-engine/transitions/rounded-rect-becomes-non-renderable-while-transitioning-expected.txt: Removed.
  • legacy-animation-engine/transitions/rounded-rect-becomes-non-renderable-while-transitioning.html: Removed.
  • legacy-animation-engine/transitions/shadow-expected.txt: Removed.
  • legacy-animation-engine/transitions/shadow.html: Removed.
  • legacy-animation-engine/transitions/shape-outside-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/shape-outside-transitions.html: Removed.
  • legacy-animation-engine/transitions/shorthand-border-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/shorthand-border-transitions.html: Removed.
  • legacy-animation-engine/transitions/shorthand-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/shorthand-transitions.html: Removed.
  • legacy-animation-engine/transitions/start-transform-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/start-transform-transition.html: Removed.
  • legacy-animation-engine/transitions/started-while-suspended-expected.txt: Removed.
  • legacy-animation-engine/transitions/started-while-suspended.html: Removed.
  • legacy-animation-engine/transitions/steps-timing-function-expected.txt: Removed.
  • legacy-animation-engine/transitions/steps-timing-function.html: Removed.
  • legacy-animation-engine/transitions/suspend-transform-transition-expected.png: Removed.
  • legacy-animation-engine/transitions/suspend-transform-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/suspend-transform-transition.html: Removed.
  • legacy-animation-engine/transitions/svg-bad-scale-crash-expected.txt: Removed.
  • legacy-animation-engine/transitions/svg-bad-scale-crash.html: Removed.
  • legacy-animation-engine/transitions/svg-layout-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/svg-layout-transition.html: Removed.
  • legacy-animation-engine/transitions/svg-text-shadow-transition.html: Removed.
  • legacy-animation-engine/transitions/svg-transitions-expected.txt: Removed.
  • legacy-animation-engine/transitions/svg-transitions.html: Removed.
  • legacy-animation-engine/transitions/text-indent-transition-expected.txt: Removed.
  • legacy-animation-engine/transitions/text-indent-transition.html: Removed.
  • legacy-animation-engine/transitions/transform-op-list-match-expected.txt: Removed.
  • legacy-animation-engine/transitions/transform-op-list-match.html: Removed.
  • legacy-animation-engine/transitions/transform-op-list-no-match-expected.txt: Removed.
  • legacy-animation-engine/transitions/transform-op-list-no-match.html: Removed.
  • legacy-animation-engine/transitions/transition-display-property-2-expected.html: Removed.
  • legacy-animation-engine/transitions/transition-display-property-2.html: Removed.
  • legacy-animation-engine/transitions/transition-display-property-expected.html: Removed.
  • legacy-animation-engine/transitions/transition-display-property.html: Removed.
  • legacy-animation-engine/transitions/transition-drt-api-delay-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-drt-api-delay.html: Removed.
  • legacy-animation-engine/transitions/transition-drt-api-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-drt-api.html: Removed.
  • legacy-animation-engine/transitions/transition-duration-cleared-in-transitionend-crash-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-duration-cleared-in-transitionend-crash.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-all-properties-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-all-properties.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-attributes-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-attributes.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-container-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-container.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-create-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-create.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-destroy-iframe-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-destroy-iframe.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-destroy-renderer-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-destroy-renderer.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-helpers.js: Removed.
  • legacy-animation-engine/transitions/transition-end-event-left-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-left.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-01-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-01.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-02-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-02.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-03-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-03.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-04-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-multiple-04.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-nested-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-nested.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-prefixed-01-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-prefixed-01.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-prefixed-02-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-prefixed-02.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-prefixed-03-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-prefixed-03.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-rendering-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-rendering.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-set-none-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-set-none.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-transform-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-transform.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-01-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-01.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-02-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-02.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-03-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-03.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-04-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-unprefixed-04.html: Removed.
  • legacy-animation-engine/transitions/transition-end-event-window-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-end-event-window.html: Removed.
  • legacy-animation-engine/transitions/transition-hit-test-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-hit-test-transform-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-hit-test-transform.html: Removed.
  • legacy-animation-engine/transitions/transition-hit-test.html: Removed.
  • legacy-animation-engine/transitions/transition-in-delay-phase-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-in-delay-phase.html: Removed.
  • legacy-animation-engine/transitions/transition-on-element-with-content-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-on-element-with-content.html: Removed.
  • legacy-animation-engine/transitions/transition-shorthand-delay-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-shorthand-delay.html: Removed.
  • legacy-animation-engine/transitions/transition-timing-function-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-timing-function.html: Removed.
  • legacy-animation-engine/transitions/transition-to-from-auto-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-to-from-auto.html: Removed.
  • legacy-animation-engine/transitions/transition-to-from-undefined-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-to-from-undefined.html: Removed.
  • legacy-animation-engine/transitions/transition-transform-translate-calculated-length-crash-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-transform-translate-calculated-length-crash.html: Removed.
  • legacy-animation-engine/transitions/transition-unknown-property-ignore-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-unknown-property-ignore.html: Removed.
  • legacy-animation-engine/transitions/transition-with-calc-spin-expected.txt: Removed.
  • legacy-animation-engine/transitions/transition-with-calc-spin.html: Removed.
  • legacy-animation-engine/transitions/transitions-parsing-expected.txt: Removed.
  • legacy-animation-engine/transitions/transitions-parsing.html: Removed.
  • legacy-animation-engine/transitions/visited-link-color-expected.txt: Removed.
  • legacy-animation-engine/transitions/visited-link-color.html: Removed.
  • legacy-animation-engine/transitions/zero-duration-in-list-expected.txt: Removed.
  • legacy-animation-engine/transitions/zero-duration-in-list.html: Removed.
  • legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-end-expected.txt: Removed.
  • legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-end.html: Removed.
  • legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-start-expected.txt: Removed.
  • legacy-animation-engine/transitions/zero-duration-with-non-zero-delay-start.html: Removed.
  • legacy-animation-engine/transitions/zero-duration-without-units-expected.txt: Removed.
  • legacy-animation-engine/transitions/zero-duration-without-units.html: Removed.
  • platform/gtk/TestExpectations:
  • platform/gtk/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/3d/replace-filling-transform-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-border-image-source-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-list-style-image-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/lineheight-animation-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/missing-values-first-keyframe-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/opacity-transform-animation-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/simultaneous-start-transform-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/state-at-end-event-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/animations/suspend-transform-animation-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/animations/width-using-ems-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/layer-creation/overlap-animation-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/fast/css/transition-color-unspecified-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/transitions/cross-fade-background-image-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/transitions/cross-fade-border-image-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/transitions/default-timing-function-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/transitions/move-after-transition-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/transitions/opacity-transition-zindex-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/transitions/suspend-transform-transition-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.png: Removed.
  • platform/gtk/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
  • platform/gtk/legacy-animation-engine/transitions/transition-end-event-rendering-expected.png: Removed.
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-wk1/TestExpectations:
  • platform/ios-wk1/legacy-animation-engine/animations/trigger-container-scroll-simple-expected.txt: Removed.
  • platform/ios-wk1/legacy-animation-engine/compositing/backing/backface-visibility-flip-expected.txt: Removed.
  • platform/ios-wk1/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
  • platform/ios-wk2/TestExpectations:
  • platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Removed.
  • platform/ios-wk2/legacy-animation-engine/transitions/default-timing-function-expected.png: Removed.
  • platform/ios/TestExpectations:
  • platform/ios/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/3d/replace-filling-transform-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/animation-offscreen-to-onscreen-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/opacity-transform-animation-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/animations/suspend-transform-animation-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/contents-scale/animating-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/layer-creation/overlap-animation-clipping-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.png: Removed.
  • platform/ios/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
  • platform/ios/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-border-image-source-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-list-style-image-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/missing-values-last-keyframe-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/animations/state-at-end-event-expected.png: Removed.
  • platform/mac/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/animation/busy-indicator-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/layer-creation/overlap-animation-container-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/load-video-in-reflection-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.png: Removed.
  • platform/mac/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/visible-rect/animated-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/compositing/visible-rect/animated-from-none-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/fast/css/transition-color-unspecified-expected.png: Removed.
  • platform/mac/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.png: Removed.
  • platform/mac/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/transitions/cross-fade-background-image-expected.png: Removed.
  • platform/mac/legacy-animation-engine/transitions/cross-fade-background-image-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/transitions/cross-fade-border-image-expected.png: Removed.
  • platform/mac/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/transitions/default-timing-function-expected.png: Removed.
  • platform/mac/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/transitions/move-after-transition-expected.png: Removed.
  • platform/mac/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/transitions/opacity-transition-zindex-expected.png: Removed.
  • platform/mac/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.png: Removed.
  • platform/mac/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
  • platform/mac/legacy-animation-engine/transitions/transition-end-event-rendering-expected.png: Removed.
  • platform/win/TestExpectations:
  • platform/win/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
  • platform/win/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
  • platform/win/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
  • platform/win/legacy-animation-engine/fast/css/image-set-value-not-removed-crash-expected.txt: Removed.
  • platform/win/legacy-animation-engine/fast/harness/results-expected.txt: Removed.
  • platform/win/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
  • platform/win/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
  • platform/win/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
  • platform/wincairo-wk1/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wincairo/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/animation/state-at-end-event-transform-layer-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/geometry/partial-layout-update-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/overflow/overflow-positioning-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/reflections/animation-inside-reflection-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/reflections/nested-reflection-animated-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/reflections/nested-reflection-transition-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/repaint/become-overlay-composited-layer-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/repaint/layer-repaint-rects-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/repaint/opacity-between-absolute-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/repaint/opacity-between-absolute2-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/transitions/scale-transition-no-start-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/compositing/transitions/singular-scale-transition-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
  • platform/wincairo/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
  • platform/wk2/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/legacy-animation-engine/animations/3d/change-transform-in-end-event-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/3d/matrix-transform-type-animation-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/3d/state-at-end-event-transform-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/cross-fade-border-image-source-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/cross-fade-list-style-image-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/cross-fade-webkit-mask-box-image-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/cross-fade-webkit-mask-image-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/missing-values-first-keyframe-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/missing-values-last-keyframe-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/animations/state-at-end-event-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/css3/filters/composited-during-animation-layertree-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/css3/filters/composited-during-transition-layertree-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/fast/text/crash-complex-text-surrogate-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/tables/mozilla/bugs/bug113235-1-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/transitions/cross-fade-border-image-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/transitions/default-timing-function-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/transitions/move-after-transition-expected.txt: Removed.
  • platform/wpe/legacy-animation-engine/transitions/svg-text-shadow-transition-expected.txt: Removed.
12:50 PM Changeset in webkit [258149] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit

[IPC] WebPageProxy::dataSelectionForPasteboard should check the result of SharedMemory::map
<https://webkit.org/b/208735>
<rdar://problem/58701732>

Reviewed by Darin Adler.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::dataSelectionForPasteboard): Add null
check.

12:35 PM Changeset in webkit [258148] by graouts@webkit.org
  • 77 edits in trunk

Remove the compile-time flag for Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=208821
<rdar://problem/60223471>

Reviewed by Dean Jackson.

.:

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::touchActionFlagsToCSSValue):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator OptionSet<TouchAction> const):

  • css/CSSProperties.json:
  • css/CSSValueKeywords.in:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeTouchAction):
(WebCore::CSSPropertyParser::parseSingleValue):

  • dom/Document.cpp:

(WebCore::Document::prepareMouseEvent):
(WebCore::Document::invalidateRenderingDependentRegions):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::dispatchPointerEventIfNeeded):
(WebCore::Element::allowsDoubleTapGesture const):
(WebCore::Element::removedFromAncestor):

  • dom/Element.h:
  • dom/Element.idl:
  • dom/EventNames.in:
  • dom/NavigatorMaxTouchPoints.idl:
  • dom/PointerEvent.cpp:
  • dom/PointerEvent.h:
  • dom/PointerEvent.idl:
  • dom/ios/PointerEventIOS.cpp:
  • page/EventHandler.cpp:

(WebCore::EventHandler::pointerCaptureElementDidChange):
(WebCore::EventHandler::prepareMouseEvent):

  • page/EventHandler.h:
  • page/Navigator.h:
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::didChangeMainDocument):

  • page/Page.h:

(WebCore::Page::inspectorController const):
(WebCore::Page::pointerCaptureController const):

  • page/PointerCaptureController.cpp:
  • page/PointerCaptureController.h:
  • page/PointerLockController.cpp:

(WebCore::PointerLockController::requestPointerLock):

  • platform/TouchAction.h:
  • rendering/EventRegion.cpp:

(WebCore::EventRegion::operator== const):
(WebCore::EventRegion::unite):
(WebCore::EventRegion::translate):
(WebCore::operator<<):

  • rendering/EventRegion.h:

(WebCore::EventRegion::encode const):
(WebCore::EventRegion::decode):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateEventRegion):
(WebCore::patternForTouchAction):
(WebCore::RenderLayerBacking::paintDebugOverlays):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::effectiveTouchActions const):
(WebCore::RenderStyle::setEffectiveTouchActions):
(WebCore::RenderStyle::initialTouchActions):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):

  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

  • rendering/style/StyleRareNonInheritedData.h:
  • style/StyleAdjuster.cpp:

(WebCore::Style::isScrollableOverflow):
(WebCore::Style::computeEffectiveTouchActions):
(WebCore::Style::Adjuster::adjust const):

  • style/StyleBuilderConverter.h:

(WebCore::Style::BuilderConverter::convertTouchAction):

  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::resolveElement):

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
(-[WKWebView _scrollView:adjustedOffsetForOffset:translation:startPoint:locationInView:horizontalVelocity:verticalVelocity:]):

  • UIProcess/PageClient.h:
  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:

(WebKit::touchActionsForPoint):

  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:

(-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
(-[WKScrollingNodeScrollViewDelegate cancelPointersForGestureRecognizer:]):
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::cancelPointersForGestureRecognizer):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::touchWithIdentifierWasRemoved):

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

(WebKit::PageClientImpl::activeTouchIdentifierForGestureRecognizer):

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

(-[WKContentView preventsPanningInYAxis]):
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView activeTouchIdentifierForGestureRecognizer:]):
(-[WKContentView _webTouchEventsRecognized:]):
(-[WKContentView _resetPanningPreventionFlags]):
(-[WKContentView _singleTapDidReset:]):
(-[WKContentView _commitPotentialTapFailed]):
(-[WKContentView _didCompleteSyntheticClick]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _didEndScrollingOrZooming]):

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

(-[WKSyntheticTapGestureRecognizer reset]):
(-[WKSyntheticTapGestureRecognizer touchesEnded:withEvent:]):

  • UIProcess/ios/WKTouchActionGestureRecognizer.h:
  • UIProcess/ios/WKTouchActionGestureRecognizer.mm:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::touchWithIdentifierWasRemoved):

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

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:
11:58 AM Changeset in webkit [258147] by Alan Coon
  • 2 edits in branches/safari-609-branch/Source/WebCore

Cherry-pick r257746. rdar://problem/60183767

ScriptController::executeIfJavaScriptURL() uses wrong JSGlobalObject.
https://bugs.webkit.org/show_bug.cgi?id=208290
<rdar://problem/59839476>

Reviewed by Chris Dumez.

The call to executeScriptIgnoringException() may have changed the current global
object of the window. We should be using the original global object that produced
the result string.

Also added a missing exception check needed after a potential rope resolution.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeIfJavaScriptURL):

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

10:30 AM Changeset in webkit [258146] by graouts@webkit.org
  • 2 edits in trunk/Tools

TestWebKitAPI fails to build on watchOS
https://bugs.webkit.org/show_bug.cgi?id=208820

Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
9:22 AM Changeset in webkit [258145] by Jason_Lawrence
  • 3 edits in trunk/LayoutTests

[ iOS and Mac Debug ] fast/canvas/webgl/simulated-vertexAttrib0-invalid-indicies.html is flaky timing out and crashing.
https://bugs.webkit.org/show_bug.cgi?id=208817

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
8:45 AM Changeset in webkit [258144] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests/imported/w3c

Fix WPT test redirect-mode.any.html
https://bugs.webkit.org/show_bug.cgi?id=208801

Patch by Rob Buis <rbuis@igalia.com> on 2020-03-09
Reviewed by Youenn Fablet.

Fix WPT test redirect-mode.any.html by also specifying the server port, this
is needed for WebKit local test runs.

  • web-platform-tests/fetch/api/redirect/redirect-mode.any-expected.txt:
  • web-platform-tests/fetch/api/redirect/redirect-mode.any.js:

(testRedirect):

  • web-platform-tests/fetch/api/redirect/redirect-mode.any.worker-expected.txt:
8:32 AM Changeset in webkit [258143] by Caio Lima
  • 3 edits
    1 add in trunk

Tail calls are broken on ARM_THUMB2 and MIPS
https://bugs.webkit.org/show_bug.cgi?id=197797

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/tail-call-with-spilled-registers.js: Added.

Source/JavaScriptCore:

prepareForTailCall operation expects that header size + parameters
size is aligned with stack (alignment is 16-bytes for every architecture).
This means that headerSizeInBytes + argumentsIncludingThisInBytes needs
to be multiple of 16. This was not being preserved during getter IC code
for 32-bits. The code generated was taking in account only
headerSizeInRegisters (it is 4 on 32-bits) and argumentsIncludingThis
(that is always 1 for getters) and allocating 32-bytes when applying
operation (headerSize + argumentsIncludingThis) * 8 - sizeof(CallerFrameAndPC).
This results in a stack frame with size of 40 bytes (after we push
lr and sp). Since prepareForTailCall expects frames to be
16-bytes aligned, it will then calculate the top of such frame
considering it is 48 bytes, cloberring values of previous frame and
causing unexpected behavior. This patch is fixing how this IC code
calculates the stack frame using roundArgumentCountToAlignFrame(numberOfParameters)
aligning with what we do on code without IC installed.
This was not a problem for getter and setter IC on 64-bits because
roundArgumentCountToAlignFrame(1) == 1 and roundArgumentCountToAlignFrame(2) == 3
while it is roundArgumentCountToAlignFrame(1) == 2 and
roundArgumentCountToAlignFrame(2) == 2 for MIPS and ARMv7.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::generateImpl):

8:25 AM Changeset in webkit [258142] by commit-queue@webkit.org
  • 2 edits in trunk/Source/bmalloc

Build failure on ppc64le if unix is undefined
https://bugs.webkit.org/show_bug.cgi?id=207906

Patch by Mike Gorse <mgorse@suse.com> on 2020-03-09
Reviewed by Yusuke Suzuki.

  • bmalloc/BPlatform.h: Check for unix along with unix.
8:11 AM Changeset in webkit [258141] by Jonathan Bedard
  • 1 edit
    1 add in trunk/Tools

resultsdbpy: Add tool to manage resultsdbpy container
https://bugs.webkit.org/show_bug.cgi?id=208743

Rubber-stamped by Aakash Jain.

Add tool to start, stop and restart the resultsdbpy Docker container.

  • resultsdbpy/resultsdbpy/container: Added.
8:10 AM Changeset in webkit [258140] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Rename urlSelected to changeLocation
https://bugs.webkit.org/show_bug.cgi?id=208529

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

Source/WebCore:

Rename urlSelected to changeLocation and remove the existing
changeLocation. The name changeLocation is more intuitive
than urlSelected.

No new tests -- no new or changed functionality.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::handleClick):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected): Deleted.

  • loader/FrameLoader.h:
  • loader/NavigationScheduler.cpp:
  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::defaultEventHandler):

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler):

Source/WebKit:

Adapt to API change.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::clickedLink):

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::searchWithGoogle):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):

Source/WebKitLegacy/win:

Adapt to API change.

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::searchWithGoogle):

7:52 AM Changeset in webkit [258139] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Log error in clearNowPlayingInfo/setNowPlayingInfo
https://bugs.webkit.org/show_bug.cgi?id=208805

Reviewed by Eric Carlson.

No change of behavior.

  • platform/audio/cocoa/MediaSessionManagerCocoa.mm:

(MediaSessionManagerCocoa::clearNowPlayingInfo):
(MediaSessionManagerCocoa::setNowPlayingInfo):

7:51 AM Changeset in webkit [258138] by Alan Bujtas
  • 5 edits
    2 adds in trunk

[LFC][IFC] Do not floor the computed intrinsic width values
https://bugs.webkit.org/show_bug.cgi?id=208796
<rdar://problem/60209522>

Reviewed by Antti Koivisto.

Source/WebCore:

Floored intrinsic values could lead to unexpected line breaks.
(This happens because IFC uses float currently, while other layout systems use LayoutUnit.)

Test: fast/layoutformattingcontext/absolute-positioned-simple-table3.html

  • layout/LayoutUnits.h:

(WebCore::Layout::ceiledLayoutUnit):

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

  • layout/inlineformatting/InlineFormattingContext.h:

LayoutTests:

  • fast/layoutformattingcontext/absolute-positioned-simple-table3-expected.html: Added.
  • fast/layoutformattingcontext/absolute-positioned-simple-table3.html: Added.
7:36 AM Changeset in webkit [258137] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][TFC] Do no try to distribute extra space in case of shrink to fit (max preferred width).
https://bugs.webkit.org/show_bug.cgi?id=208795
<rdar://problem/60208329>

Reviewed by Antti Koivisto.

When we shrink-to-fit the table and it isn't constrained by the containing block's width, we
should use the maximum width instead of trying to distribute the space.

  • layout/tableformatting/TableFormattingContext.cpp:

(WebCore::Layout::TableFormattingContext::layoutInFlowContent):
(WebCore::Layout::TableFormattingContext::layoutTableCellBox):
(WebCore::Layout::TableFormattingContext::computeAndDistributeExtraHorizontalSpace):

  • layout/tableformatting/TableFormattingContext.h:
7:04 AM Changeset in webkit [258136] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r258129: include WebCore/SimpleRange.h where VisibleSelection is used.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
6:42 AM Changeset in webkit [258135] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit

Merge r258134 - [WPE] AsyncScrolling: scrolling with the mouse wheel over sub-scrollable areas scrolls the main frame
https://bugs.webkit.org/show_bug.cgi?id=208635

Reviewed by Carlos Garcia Campos.

Rework the default values for the async frame and overflow scrolling
so that the latter stays disabled for Nicosia-using ports as it
undergoes bigger changes.

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultAsyncFrameAndOverflowScrollingEnabled):
(WebKit::defaultAsyncFrameScrollingEnabled):

6:08 AM Changeset in webkit [258134] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit

[WPE] AsyncScrolling: scrolling with the mouse wheel over sub-scrollable areas scrolls the main frame
https://bugs.webkit.org/show_bug.cgi?id=208635

Reviewed by Carlos Garcia Campos.

Rework the default values for the async frame and overflow scrolling
so that the latter stays disabled for Nicosia-using ports as it
undergoes bigger changes.

  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultAsyncFrameAndOverflowScrollingEnabled):
(WebKit::defaultAsyncFrameScrollingEnabled):

2:50 AM Changeset in webkit [258133] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.28

Merge r258131 - [GTK][WPE] Surrounding text for input methods should not be limited to the current paragraph
https://bugs.webkit.org/show_bug.cgi?id=208706

Reviewed by Žan Doberšek.

Source/WebKit:

It should include all the text around the cursor position.

  • Shared/EditorState.cpp:

(WebKit::EditorState::PostLayoutData::encode const): Rename paragraphContext* as surroundingContext*.
(WebKit::EditorState::PostLayoutData::decode): Ditto.

  • Shared/EditorState.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseUpdateTextInputState): Ditto.

  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::selectionDidChange): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::deleteSurrounding): Use content editable text as context instead of just paragraph.

  • WebProcess/WebPage/glib/WebPageGLib.cpp:

(WebKit::WebPage::platformEditorState const): Ditto.

Tools:

Add test case to check surrounding text in multiline context.

  • TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:

(testWebKitInputMethodContextSurrounding):

2:50 AM Changeset in webkit [258132] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.28/Source

Merge r258103 - [GTK] Fix compilation with disabled OpenGL
https://bugs.webkit.org/show_bug.cgi?id=208773

Reviewed by Yusuke Suzuki.

Source/WebCore:

  • html/OffscreenCanvas.h:

Source/WebKit:

  • UIProcess/API/glib/WebKitProtocolHandler.cpp:

(WebKit::WebKitProtocolHandler::handleGPU):

1:39 AM Changeset in webkit [258131] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK][WPE] Surrounding text for input methods should not be limited to the current paragraph
https://bugs.webkit.org/show_bug.cgi?id=208706

Reviewed by Žan Doberšek.

Source/WebKit:

It should include all the text around the cursor position.

  • Shared/EditorState.cpp:

(WebKit::EditorState::PostLayoutData::encode const): Rename paragraphContext* as surroundingContext*.
(WebKit::EditorState::PostLayoutData::decode): Ditto.

  • Shared/EditorState.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseUpdateTextInputState): Ditto.

  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::selectionDidChange): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::deleteSurrounding): Use content editable text as context instead of just paragraph.

  • WebProcess/WebPage/glib/WebPageGLib.cpp:

(WebKit::WebPage::platformEditorState const): Ditto.

Tools:

Add test case to check surrounding text in multiline context.

  • TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:

(testWebKitInputMethodContextSurrounding):

Mar 8, 2020:

11:44 PM Changeset in webkit [258130] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[WPE] Mark some tests as crashing

Unreviewed test gardening.

  • platform/wpe/TestExpectations:
9:00 PM Changeset in webkit [258129] by Darin Adler
  • 30 edits
    4 copies in trunk/Source

Begin moving off of live ranges for WebKit internals
https://bugs.webkit.org/show_bug.cgi?id=208432

Reviewed by Daniel Bates.

Source/WebCore:

The DOM Range class is a live range. The live updating feature of these ranges mean
they are expensive to create and destroy and also make all DOM mutation more expensive
while they are alive. We will be able to speed up, likely measurable on Speedometer,
if we can cut down uses of live ranges.

  • Refactored the StaticRange class to create two new structs.
  • The BoundaryPoint struct implements what the DOM standard calls a boundary point: a node and offset. Similar to the RangeBoundaryPoint class, which supports being the boundary point of a live range, but simpler and not live.
  • The SimpleRange struct implements what the DOM standard calls a range (not a live range). Like StaticRange but without reference counting and DOM binding.
  • Since StaticRange is derived publicly from SimpleRange you can pass either to any function that takes a SimpleRange. And since there is a constructor to create a SimpleRange from a Range you can pass a Range to those functions too.
  • Renamed StaticRange::createFromRange to StaticRange::create.
  • Headers.cmake: Added BoundaryPoint.h, SimpleRange.h, and StaticRange.h.
  • Sources.txt: Added BoundaryPoint.cpp and SimpleRange.cpp.
  • WebCore.xcodeproj/project.pbxproj: Added BoundaryPoint.cpp/h and SimpleRange.cpp/h.
  • dom/BoundaryPoint.cpp: Added.
  • dom/BoundaryPoint.h: Added.
  • dom/SimpleRange.cpp: Added.
  • dom/SimpleRange.h: Added.
  • dom/StaticRange.cpp:

(WebCore::StaticRange::StaticRange): Take an rvalue reference to a SimpleRange.
(WebCore::StaticRange::create): Ditto. Changed the other overloads to create
a SimpleRange first then call through to the main one.
(WebCore::isDocumentTypeOrAttr): Wrote a much more efficient version of this.
The old version called the virtual function nodeType twice. This calls it at
most once, and mostly doesn't call it at all.

  • dom/StaticRange.h: Simplified this class, putting most of the actual range

logic into the base class. Note that this change eliminated the peculiar code
that in the == operator that compared nodes using isEqualNode instead of using
node identity. There was no one who needed that other behavior. Also fixed
mistaken use of unsigned long in StaticRange::Init. It's unsigned long in
the IDL file, but confusingly that's just unsigned in .cpp files.

  • dom/StaticRange.idl: Tweaked formatting.
  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::targetRanges const): Updated for rename
of StaticRange::create.

  • editing/ReplaceRangeWithTextCommand.cpp:

(WebCore::ReplaceRangeWithTextCommand::doApply): Updated since VisibleSelection
takes SimpleRange now.
(WebCore::ReplaceRangeWithTextCommand::targetRanges const): Updated for
rename of StaticRange::create.

  • editing/SpellingCorrectionCommand.cpp:

(WebCore::SpellingCorrectionCommand::SpellingCorrectionCommand): Updated
since a selection now takes a SimpleRange&, not a StaticRange.
(WebCore::SpellingCorrectionCommand::targetRanges const): Updated for
rename of StaticRange::create.

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::willAddTypingToOpenCommand): Ditto.

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::VisibleSelection): Use SimpleRange
instead of StaticRange and Range.

  • editing/VisibleSelection.h: Updated for the above.
  • editing/mac/EditorMac.mm: Added include.
  • page/DragController.cpp: Ditto.
  • page/TextIndicator.cpp: Ditto.

(WebCore::TextIndicator::createWithRange): Updated since VisibleSelection
takes SimpleRange now.

  • page/mac/EventHandlerMac.mm:

(WebCore::InlineTextBox::collectMarkedTextsForHighlights): Tweaked coding
style a bit.

Source/WebKit:

  • Shared/EditingRange.cpp:

(WebKit::EditingRange::fromRange): Initialize out arguments.

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: Added include.
  • WebProcess/WebPage/FindController.cpp: Ditto.
  • WebProcess/WebPage/WebPage.cpp: Ditto.
  • WebProcess/WebPage/mac/WebPageMac.mm: Ditto.

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebFrameIOS.mm: Added include.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebContextMenuClient.mm: Added include.
  • WebView/WebFrame.mm: Ditto.

(-[WebFrame _convertToNSRange:]): Initialized out arguments.

8:35 PM Changeset in webkit [258128] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

CAN_SECURELY_ARCHIVE_FILE_WRAPPER incorrectly excludes watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=208791

Reviewed by Tim Horton.

This is one of several places where a IPHONE_OS_VERSION_MIN_REQUIRED check unintentionally caused a compiler
flag to not be defined on watchOS, when it really should apply to all iOS family targets. Now that we don't
care about building for any iOS family targets aligned with iOS 11 or prior, and also don't build for 10.13 and
prior, we can simply remove the !CAN_SECURELY_ARCHIVE_FILE_WRAPPER codepath.

  • UIProcess/API/Cocoa/APIAttachmentCocoa.mm:

(API::Attachment::createSerializedRepresentation const):
(API::Attachment::updateFromSerializedRepresentation):

6:32 PM Changeset in webkit [258127] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, speculative link fix.

  • platform/cocoa/UTTypeRecordSwizzler.mm:
6:25 PM Changeset in webkit [258126] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, speculative link fix.

  • platform/cocoa/UTTypeRecordSwizzler.mm:
6:03 PM Changeset in webkit [258125] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebCore

[CMake] Unreviewed build fix for Mac port

  • PlatformMac.cmake:
5:55 PM Changeset in webkit [258124] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Revise In-App Browser Privacy checks to better reflect the meaning of the flag
https://bugs.webkit.org/show_bug.cgi?id=208793
<rdar://problem/60206256>

Reviewed by John Wilander.

The 'isInAppBrowserPrivacyEnabled' seems like a feature, but it's really an internal debugging flag.

Revise the use of these calls to make it clearer.

Tested by existing test cases.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::sessionWrapperForTask):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):

5:43 PM Changeset in webkit [258123] by beidson@apple.com
  • 9 edits in trunk/Source

Remember completed subranges during incremental PDF loading.
https://bugs.webkit.org/show_bug.cgi?id=208785

Reviewed by Tim Horton.

Source/JavaScriptCore:

Move 'using WTF::Range' from the WTF/Range.h header to these JSC users.

The alternative to making these 3 changes was to make over 20 changes up in the WebCore/WebKits
to resolve the conflict with WebCore::Range.

  • b3/B3HeapRange.h:
  • b3/air/AirAllocateRegistersAndStackByLinearScan.cpp:
  • heap/JITStubRoutineSet.h:

Source/WebKit:

When a range request from a stream loader completes, we will now extend the main resource buffer
to be large enough to hold that range, then we memcpy the data into the main buffer.

We then keep a RangeSet to remember which ranges we've loaded.
Any future range request that comes in we first check against that RangeSet to see if we can handle it from memory.

This is a necessary optimization because PDFKit tends to ask for the same (or overlapping) ranges quite often.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
(WebKit::PDFPlugin::pdfDocumentDidLoad):
(WebKit::PDFPlugin::manualStreamDidReceiveData):

Source/WTF:

  • wtf/Range.h: Don't include the typical 'using WTF::Range' as that makes it almost impossible to use in the stack at WebCore or higher (Because of WebCore::Range)
5:34 PM Changeset in webkit [258122] by jer.noble@apple.com
  • 25 edits
    18 adds in trunk/Source/WebKit

[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402

Reviewed by Eric Carlson.

Add support for RemoteLegacyCDMFactory, RemateLegacyCDM,RemoteLegacyCDMSession, and all
of their associated Proxy objects.

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

(WebKit::GPUConnectionToWebProcess::legacyCdmFactoryProxy):
(WebKit::GPUConnectionToWebProcess::dispatchMessage):
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/media/RemoteLegacyCDMFactoryProxy.cpp: Added.

(WebKit::RemoteLegacyCDMFactoryProxy::RemoteLegacyCDMFactoryProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::createCDM):
(WebKit::RemoteLegacyCDMFactoryProxy::supportsKeySystem):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveCDMMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveCDMSessionMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveSyncCDMMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::didReceiveSyncCDMSessionMessage):
(WebKit::RemoteLegacyCDMFactoryProxy::addProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::removeProxy):
(WebKit::RemoteLegacyCDMFactoryProxy::addSession):
(WebKit::RemoteLegacyCDMFactoryProxy::removeSession):
(WebKit::RemoteLegacyCDMFactoryProxy::getSession const):

  • GPUProcess/media/RemoteLegacyCDMFactoryProxy.h: Added.
  • GPUProcess/media/RemoteLegacyCDMFactoryProxy.messages.in: Added.
  • GPUProcess/media/RemoteLegacyCDMProxy.cpp: Added.

(WebKit::RemoteLegacyCDMProxy::create):
(WebKit::RemoteLegacyCDMProxy::RemoteLegacyCDMProxy):
(WebKit::RemoteLegacyCDMProxy::supportsMIMEType):
(WebKit::RemoteLegacyCDMProxy::createSession):
(WebKit::RemoteLegacyCDMProxy::setPlayerId):
(WebKit::RemoteLegacyCDMProxy::cdmMediaPlayer const):

  • GPUProcess/media/RemoteLegacyCDMProxy.h: Added.

(WebKit::RemoteLegacyCDMProxy::factory const):

  • GPUProcess/media/RemoteLegacyCDMProxy.messages.in: Added.
  • GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp: Added.

(WebKit::RemoteLegacyCDMSessionProxy::create):
(WebKit::RemoteLegacyCDMSessionProxy::RemoteLegacyCDMSessionProxy):
(WebKit::convertToUint8Array):
(WebKit::convertToOptionalDataReference):
(WebKit::RemoteLegacyCDMSessionProxy::generateKeyRequest):
(WebKit::RemoteLegacyCDMSessionProxy::releaseKeys):
(WebKit::RemoteLegacyCDMSessionProxy::update):
(WebKit::RemoteLegacyCDMSessionProxy::getCachedKeyForKeyId):
(WebKit::RemoteLegacyCDMSessionProxy::cachedKeyForKeyID):
(WebKit::RemoteLegacyCDMSessionProxy::sendMessage):
(WebKit::RemoteLegacyCDMSessionProxy::sendError):
(WebKit::RemoteLegacyCDMSessionProxy::mediaKeysStorageDirectory const):

  • GPUProcess/media/RemoteLegacyCDMSessionProxy.h: Added.

(WebKit::RemoteLegacyCDMSessionProxy::factory const):
(WebKit::RemoteLegacyCDMSessionProxy::session const):
(WebKit::RemoteLegacyCDMSessionProxy::setPlayer):

  • GPUProcess/media/RemoteLegacyCDMSessionProxy.messages.in: Added.
  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::getProxy):

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::mediaPlayerCachedKeyForKeyId const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerKeyNeeded):
(WebKit::RemoteMediaPlayerProxy::setLegacyCDMSession):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
  • GPUProcess/media/RemoteTextTrackProxy.cpp:
  • GPUProcess/media/RemoteTextTrackProxy.h:
  • Scripts/webkit/messages.py:
  • Sources.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/GPUProcessConnection.cpp:

(WebKit::GPUProcessConnection::mediaPlayerManager):
(WebKit::GPUProcessConnection::legacyCDMFactory):

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

(WebKit::MediaPlayerPrivateRemote::setCDM):
(WebKit::MediaPlayerPrivateRemote::setCDMSession):
(WebKit::MediaPlayerPrivateRemote::mediaPlayerKeyNeeded):

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

(WebKit::RemoteLegacyCDM::create):
(WebKit::RemoteLegacyCDM::RemoteLegacyCDM):
(WebKit::RemoteLegacyCDM::supportsMIMEType):
(WebKit::RemoteLegacyCDM::createSession):
(WebKit::RemoteLegacyCDM::setPlayerId):

  • WebProcess/GPU/media/RemoteLegacyCDM.h: Added.
  • WebProcess/GPU/media/RemoteLegacyCDMFactory.cpp: Added.

(WebKit::RemoteLegacyCDMFactory::RemoteLegacyCDMFactory):
(WebKit::RemoteLegacyCDMFactory::registerFactory):
(WebKit::RemoteLegacyCDMFactory::supplementName):
(WebKit::RemoteLegacyCDMFactory::gpuProcessConnection):
(WebKit::RemoteLegacyCDMFactory::supportsKeySystem):
(WebKit::RemoteLegacyCDMFactory::supportsKeySystemAndMimeType):
(WebKit::RemoteLegacyCDMFactory::createCDM):
(WebKit::RemoteLegacyCDMFactory::addSession):
(WebKit::RemoteLegacyCDMFactory::removeSession):
(WebKit::RemoteLegacyCDMFactory::findCDM const):
(WebKit::RemoteLegacyCDMFactory::didReceiveSessionMessage):

  • WebProcess/GPU/media/RemoteLegacyCDMFactory.h: Added.
  • WebProcess/GPU/media/RemoteLegacyCDMIdentifier.h: Added.
  • WebProcess/GPU/media/RemoteLegacyCDMSession.cpp: Added.

(WebKit::convertToArrayBuffer):
(WebKit::convertToUint8Array):
(WebKit::convertToOptionalDataReference):
(WebKit::convertToDataReference):
(WebKit::RemoteLegacyCDMSession::create):
(WebKit::RemoteLegacyCDMSession::RemoteLegacyCDMSession):
(WebKit::RemoteLegacyCDMSession::generateKeyRequest):
(WebKit::RemoteLegacyCDMSession::releaseKeys):
(WebKit::RemoteLegacyCDMSession::update):
(WebKit::RemoteLegacyCDMSession::cachedKeyForKeyID const):
(WebKit::RemoteLegacyCDMSession::sendMessage):
(WebKit::RemoteLegacyCDMSession::sendError):

  • WebProcess/GPU/media/RemoteLegacyCDMSession.h: Added.
  • WebProcess/GPU/media/RemoteLegacyCDMSession.messages.in: Added.
  • WebProcess/GPU/media/RemoteLegacyCDMSessionIdentifier.h: Added.
  • WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:

(WebKit::RemoteMediaPlayerManager::findRemotePlayerId):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:
  • WebProcess/GPU/media/WebMediaStrategy.cpp:

(WebKit::WebMediaStrategy::registerLegacyCDMFactories):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebProcess.cpp:
5:27 PM Changeset in webkit [258121] by pvollan@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed build fix.

  • wtf/PlatformUse.h:
4:52 PM Changeset in webkit [258120] by pvollan@apple.com
  • 20 edits
    4 adds in trunk

[iOS] Mapping to UTI from tag and tag class should be performed in the UI process
https://bugs.webkit.org/show_bug.cgi?id=208783

Reviewed by Brent Fulgham.

Source/WebCore:

This mapping should be done in the UI process, since it is using a system service that will no longer be available
in the WebContent process. To achieve this, the method +[UTTypeRecord typeRecordWithTagOverride] is swizzled in
the WebContent process, and is using the cached mapping sent from the UI process.

API test: WebKit.UTIFromTag

  • WebCore.xcodeproj/project.pbxproj:
  • platform/cocoa/UTTypeRecordSwizzler.h: Added.

(WebCore::UTTypeItem::encode const):
(WebCore::UTTypeItem::decode):

  • platform/cocoa/UTTypeRecordSwizzler.mm: Added.

(-[WebUTTypeRecord setIdentifier:]):
(WebCore::vectorOfUTTypeRecords):
(WebCore::typeRecordWithTagOverride):
(WebCore::createVectorOfUTTypeItem):
(WebCore::setVectorOfUTTypeItem):
(WebCore::swizzleUTTypeRecord):

  • platform/network/mac/UTIUtilities.h:
  • platform/network/mac/UTIUtilities.mm:

(WebCore::UTIFromTag):

  • testing/Internals.cpp:

(WebCore::Internals::getUTIFromTag):

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

(WebCore::Internals::getUTIFromTag):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cocoa/NSUTTypeRecordSPI.h: Added.

Source/WebKit:

Send mapping from tag/tag class to UTI from the UI process to the WebContent process as part of the WebProcess
creation parameters. Also, issue some mach-lookup extensions to the WebContent process if Accessibility is
enabled.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • Shared/WebProcessCreationParameters.cpp:

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

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

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Source/WTF:

  • wtf/PlatformUse.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4:23 PM Changeset in webkit [258119] by pvollan@apple.com
  • 4 edits in trunk/Source/WebKit

REGRESSION (r258064): API tests intermittently crashing under WebKit::registerDefaultsOverride
https://bugs.webkit.org/show_bug.cgi?id=208784
<rdar://problem/60201631>

Reviewed by Darin Adler.

Speculative crash fix; swizzle [NSUserDefaults registerDefaults:] on the main thread, instead of on a worker thread.

No new tests, since I have not been able to reproduce this issue.

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

(registerDefaultsOverride):
(+[WKPreferenceObserver swizzleRegisterDefaults]):
(-[WKPreferenceObserver init]):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitialize):

4:13 PM Changeset in webkit [258118] by Wenson Hsieh
  • 15 edits
    1 add in trunk/Source

Lazily generate CGPaths for some simple types of paths, such as arcs and lines
https://bugs.webkit.org/show_bug.cgi?id=208464
<rdar://problem/59963226>

Reviewed by Daniel Bates, Darin Adler and Tim Horton.

Source/WebCore:

When the GPU process is enabled and used to render the canvas element, some canvas-related subtests in
MotionMark see significant performance regressions. One of the reasons for this is that in the process of
decoding display list items that contain WebCore::Paths in the GPU process, we end up allocating a new CGPath
for each WebCore::Path. This dramatically increases page demand and memory usage in the GPU process in contrast
to shipping WebKit, due to the fact that all of these CGPaths allocated up-front, and must all exist somewhere
in the heap upon decoding the display list.

In contrast, in shipping WebKit, each call to stroke the current canvas path (i.e. invoking
GraphicsContext::strokePath) is succeeded by clearing the path, which deallocates the CGPath backing the WebCore
Path. The next time a CGPath needs to be created, CoreGraphics is free to then allocate the new CGPath at the
address of the previous CGPath which was just destroyed, which prevents us from dirtying more pages than
necessary. This phenomenon affects most of the canvas-related MotionMark subtests to some degree, though the
impact is most noticeable with Canvas Lines.

On top of all this, a significant portion of time is also spent calling CGPathApply and converting the resulting
CGPathElements into serializable data when encoding each WebCore Path.

To mitigate these two issues and restore the wins we get from memory locality when drawing paths in large
quantities, we can:

  1. In the case of simple paths, stuff some information about how each path was created as inline data on

WebCore::Path itself, as a new data member. For now, this only encompasses lines, arcs, and moves (Paths
where only Path::moveTo was invoked), but may be expanded in the future to include ellipses and rects.
This allows us to achieve two things: (a) make encoding cheaper by not requiring a walk through all of
CGPath's elements, and (b) make decoding cheaper by just initializing the Path using inline data, rather
than having to create a new CGPath.

  1. When painting the StrokePath display list item, just discard m_path after we're done painting with it.

This, in conjunction with (1), means that the CGPath backing the WebCore::Path in the GPU process is only
created when we're just about to paint (i.e. when calling into strokePath()), and destroyed right after
we're done painting with it.

See below for details. There should be no change in behavior.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/InlinePathData.h: Added.

(WebCore::MoveData::encode const):
(WebCore::MoveData::decode):
(WebCore::LineData::encode const):
(WebCore::LineData::decode):
(WebCore::ArcData::encode const):
(WebCore::ArcData::decode):

Introduce InlinePathData, a Variant of several different inline data types, each of which represents one simple
path type that is stored using only inline data. This includes line segments (a start point and an end point),
as well as arcs (which, in addition to a center and start and end angles) also includes an optional offset,
which represents the current position of the path at the time "addArc" was called.

For instance, in the following scenario, the path would have an arc that is offset by (100, 0); if filled, it
would result in a composite shape resembling a semicircle on top of a triangle:

path.moveTo(100, 0);
path.addArc(100, 100, 50, 0, PI, false);
context.fill(path);

When a Path is initialized (or after it is cleared), it starts off with neither a CGPath nor inline data. Moving
the path causes it to store inline MoveData; calling calling addLineTo or addArc then replaces the inline
data with either LineData or ArcData.

If, at any point, the path changes in a different way (i.e. neither line, arc, nor move), we clear out the
inline data and fall back to just representing the path data using the CGPath (m_path).

  • platform/graphics/Path.cpp:

Refactor the following 10 methods: moveTo, addLineTo, addArc, isEmpty, currentPoint, apply, elementCount,
hasCurrentPoint, fastBoundingRect, and boundingRect such that their implementations are now in platform-agnostic
code in Path.cpp. Logic in this platform-agnostic code will generally attempt to use inline path data to compute
an answer (or apply the requested mutations) without having to initialize the platform path representation.
Failing this, we fall back to calling -SlowCase versions of these methods, which will exercise the appropriate
APIs on each platform.

(WebCore::Path::elementCountSlowCase const):
(WebCore::Path::apply const):
(WebCore::Path::isEmpty const):
(WebCore::Path::hasCurrentPoint const):
(WebCore::Path::currentPoint const):
(WebCore::Path::elementCount const):
(WebCore::Path::addArc):
(WebCore::Path::addLineTo):
(WebCore::Path::moveTo):

In the case of these three methods for mutating a path, if we've either only moved the path or haven't touched
it at all, we can get away with only updating our inline path data, and avoid creating a CGPath.

(WebCore::Path::boundingRect const):
(WebCore::Path::fastBoundingRect const):
(WebCore::Path::boundingRectFromInlineData const):
(WebCore::Path::polygonPathFromPoints):

  • platform/graphics/Path.h:

(WebCore::Path::encode const):
(WebCore::Path::decode):

Teach Path::encode and Path::decode to respectively serialize and deserialize WebCore::Path by consulting only
the inline data, if it is present. For simple types of paths, this decreases the cost of both IPC encoding and
decoding, but adds a negligible amount of overhead in the case where the path is non-inline.

(WebCore::Path::hasInlineData const):
(WebCore::Path::hasAnyInlineData const):
(WebCore::Path::isNull const): Deleted.

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::isEmptySlowCase const):
(WebCore::Path::currentPointSlowCase const):
(WebCore::Path::moveToSlowCase):
(WebCore::Path::addLineToSlowCase):
(WebCore::Path::addArcSlowCase):
(WebCore::Path::boundingRectSlowCase const):
(WebCore::Path::applySlowCase const):
(WebCore::Path::fastBoundingRectSlowCase const):
(WebCore::Path::isNull const):
(WebCore::Path::isEmpty const): Deleted.
(WebCore::Path::hasCurrentPoint const): Deleted.
(WebCore::Path::currentPoint const): Deleted.
(WebCore::Path::moveTo): Deleted.
(WebCore::Path::addLineTo): Deleted.
(WebCore::Path::addArc): Deleted.
(WebCore::Path::boundingRect const): Deleted.
(WebCore::Path::apply const): Deleted.

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::createCGPath const):

Add a helper method that is invoked when the Path is asked for a CGPath. In this case, if there is inline data,
we need to lazily create the path and apply any inline path data we've accumulated. Once we're done applying the
inline data, set a flag (m_needsToApplyInlineData) to false to avoid re-applying inline data to the path.

(WebCore::Path::platformPath const):
(WebCore::Path::ensurePlatformPath):

When ensurePlatformPath is invoked, we are about to mutate our CGPath in such a way that it can't be expressed
in terms of inline data (at least, not with the changes in this patch). Clear out the inline path data in this
case, and apply the CGPath mutations that were previously stashed away in inline path data.

(WebCore::Path::isNull const):

A path is now considered null if it is not only missing a CGPath, but also does not have any inline path data.
This maintains the invariant that isNull() is true iff the platformPath() returns 0x0.

(WebCore::Path::Path):
(WebCore::Path::swap):

Update the constructors and swap helper method (used by assignment operators) to account for the new members.

(WebCore::Path::contains const):
(WebCore::Path::transform):
(WebCore::zeroRectIfNull):
(WebCore::Path::boundingRectSlowCase const):
(WebCore::Path::fastBoundingRectSlowCase const):
(WebCore::Path::moveToSlowCase):
(WebCore::Path::addLineToSlowCase):
(WebCore::Path::addArcSlowCase):
(WebCore::Path::clear):

When clearing Path, instead of setting m_path to a newly allocated CGPath, simply reset it to null. This
ensures that if we then apply some changes that can be expressed using only inline path data, we avoid having to
update the CGPath, and instead just update the inline path data.

(WebCore::Path::isEmptySlowCase const):
(WebCore::Path::currentPointSlowCase const):
(WebCore::Path::applySlowCase const):
(WebCore::Path::elementCountSlowCase const):
(WebCore::Path::boundingRect const): Deleted.
(WebCore::Path::fastBoundingRect const): Deleted.
(WebCore::Path::moveTo): Deleted.
(WebCore::Path::addLineTo): Deleted.
(WebCore::Path::addArc): Deleted.
(WebCore::Path::isEmpty const): Deleted.
(WebCore::Path::hasCurrentPoint const): Deleted.
(WebCore::Path::currentPoint const): Deleted.
(WebCore::Path::apply const): Deleted.
(WebCore::Path::elementCount const): Deleted.

  • platform/graphics/displaylists/DisplayListItems.cpp:

(WebCore::DisplayList::StrokePath::apply const):

Throw out the current WebCore::Path after we're done painting with it (see (2) in the above ChangeLog entry).

  • platform/graphics/displaylists/DisplayListItems.h:
  • platform/graphics/win/PathDirect2D.cpp:

(WebCore::Path::boundingRectSlowCase const):
(WebCore::Path::fastBoundingRectSlowCase const):
(WebCore::Path::moveToSlowCase):
(WebCore::Path::addLineToSlowCase):
(WebCore::Path::addArcSlowCase):
(WebCore::Path::isEmptySlowCase const):
(WebCore::Path::currentPointSlowCase const):
(WebCore::Path::applySlowCase const):
(WebCore::Path::isNull const):
(WebCore::Path::boundingRect const): Deleted.
(WebCore::Path::fastBoundingRect const): Deleted.
(WebCore::Path::moveTo): Deleted.
(WebCore::Path::addLineTo): Deleted.
(WebCore::Path::addArc): Deleted.
(WebCore::Path::isEmpty const): Deleted.
(WebCore::Path::hasCurrentPoint const): Deleted.
(WebCore::Path::currentPoint const): Deleted.
(WebCore::Path::apply const): Deleted.

Source/WebKit:

Add argument coders for WTF::Monostate, so that Variants of the form: Variant<Monostate, Foo, Bar> can be
encoded and decoded over IPC.

  • Platform/IPC/ArgumentCoders.cpp:

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

  • Platform/IPC/ArgumentCoders.h:

Source/WTF:

Add a feature flag for INLINE_PATH_DATA. This feature flag exists to ensure that we can avoid having
m_inlineData on Path in ports that don't implement the necessary facilities for inline path data yet, since it
would just end up being wasted memory.

  • wtf/PlatformEnable.h:
4:04 PM Changeset in webkit [258117] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit

Better stream loader management with incremental PDF loading.
https://bugs.webkit.org/show_bug.cgi?id=208790

Reviewed by Tim Horton.

When a stream loader was completing normally, we were leaking it forever.
This adds much better management of outstanding stream loaders
(and logging to help verify the count is as expected)

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithBytes):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
(WebKit::PDFPlugin::ByteRangeRequest::completeUnconditionally):
(WebKit::PDFPlugin::didReceiveResponse):
(WebKit::PDFPlugin::didFinishLoading):
(WebKit::PDFPlugin::forgetLoader):
(WebKit::PDFPlugin::cancelAndForgetLoader):

3:33 PM Changeset in webkit [258116] by Konstantin Tokarev
  • 8 edits in trunk/Source

[CMake] Some fixes for building Mac port
https://bugs.webkit.org/show_bug.cgi?id=208770

Reviewed by Don Olmstead.

Source/WebCore:

  • PlatformMac.cmake:

Source/WebCore/PAL:

  • pal/PlatformMac.cmake:

Source/WebKit:

  • PlatformMac.cmake:

Source/WebKitLegacy:

  • PlatformMac.cmake:
2:49 PM Changeset in webkit [258115] by Andres Gonzalez
  • 11 edits
    3 adds in trunk/Source

Implementation of AccessibilitySupport AXSIsolatedTreeMode.
https://bugs.webkit.org/show_bug.cgi?id=208691
<rdar://problem/60178602>

Reviewed by Chris Fleizach.

Source/WebCore:

Honors the system AccessibilitySupport IsolatedTreeMode setting. The
system has three modes for IsolatedTree functionality: off, on on main
thread, and on on secondary thread.

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

(WebCore::AXObjectCache::isolatedTreeFocusedObject):
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::isIsolatedTreeEnabled):
(WebCore::AXObjectCache::isolatedTreeRootObject):
(WebCore::AXObjectCache::canUseSecondaryAXThread):

  • accessibility/AXObjectCache.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(-[WebAccessibilityObjectWrapperBase detach]):
(-[WebAccessibilityObjectWrapperBase axBackingObject]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):

Source/WebCore/PAL:

Added softlinking for the AccessibilitySupport library (libAccessibility.tbd).

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/spi/cocoa/AccessibilitySupportSPI.h: Added.
  • pal/spi/cocoa/AccessibilitySupportSoftLink.cpp: Added.
  • pal/spi/cocoa/AccessibilitySupportSoftLink.h: Added.

Source/WebKit:

Honors system AccessibilitySupport IsolatedTreeMode setting.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

2:40 PM Changeset in webkit [258114] by Megan Gardner
  • 3 edits in trunk/Source/WebKit

Build Fix Watch
https://bugs.webkit.org/show_bug.cgi?id=208789

Reviewed by Tim Horton.

  • UIProcess/ios/WKActionSheetAssistant.mm:
  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel showDocumentPickerMenu]):

2:10 PM Changeset in webkit [258113] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed watchOS build fix: add platform guards.

  • platform/audio/ios/MediaSessionHelperIOS.mm:

(MediaSessionHelperiOS::startMonitoringWirelessRoutes):
(MediaSessionHelperiOS::stopMonitoringWirelessRoutes):

1:32 PM Changeset in webkit [258112] by Fujii Hironori
  • 2 edits in trunk/Source/WebCore

generate-bindings-all.pl: "my" variable $fh masks earlier declaration in same scope
https://bugs.webkit.org/show_bug.cgi?id=208757

Reviewed by Yusuke Suzuki.

  • bindings/scripts/generate-bindings-all.pl: Reuse $fh variable instead of defining new one.
1:31 PM Changeset in webkit [258111] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit

Fix the watchOS build

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):

1:03 PM Changeset in webkit [258110] by Megan Gardner
  • 4 edits in trunk/Source/WebKit

Build Fix
https://bugs.webkit.org/show_bug.cgi?id=208787
<rdar://problem/60203011>

Reviewed by Tim Horton.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:
  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel showDocumentPickerMenu]):

12:22 PM Changeset in webkit [258109] by jer.noble@apple.com
  • 17 edits
    1 copy
    9 adds in trunk/Source

[GPUP] Move AVSystemController code into the GPU process
https://bugs.webkit.org/show_bug.cgi?id=208727

Reviewed by Eric Carlson.

Source/WebCore:

Move AVSystemController code out of MediaSessionManageriOS and into a new
class MediaSessionHelper, which is currently iOS only. The abstract base class
will be overriden by WebKit in the WebContent process.

Drive-by fix: Don't call a virtual method (resetRestrictions()) from the constructor of a
virtual base class; the virtual function table hasn't been created yet, and the subclasses'
overridden methods won't be called. Move the call to post-creation.

  • platform/audio/PlatformMediaSessionManager.cpp:

(WebCore::PlatformMediaSessionManager::sharedManager):
(WebCore::PlatformMediaSessionManager::PlatformMediaSessionManager):

  • platform/audio/ios/MediaSessionHelperIOS.h: Added.
  • platform/audio/ios/MediaSessionHelperIOS.mm: Copied from Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm.

(sharedHelperInstance):
(MediaSessionHelper::sharedHelper):
(MediaSessionHelper::resetSharedHelper):
(MediaSessionHelper::setSharedHelper):
(MediaSessionHelper::addClient):
(MediaSessionHelper::removeClient):
(MediaSessionHelperiOS::MediaSessionHelperiOS):
(MediaSessionHelperiOS::~MediaSessionHelperiOS):
(MediaSessionHelperiOS::providePresentingApplicationPID):
(MediaSessionHelperiOS::startMonitoringWirelessRoutes):
(MediaSessionHelperiOS::stopMonitoringWirelessRoutes):
(MediaSessionHelperiOS::carPlayServerDied):
(MediaSessionHelperiOS::updateCarPlayIsConnected):
(MediaSessionHelperiOS::setIsPlayingToAutomotiveHeadUnit):
(MediaSessionHelperiOS::activeAudioRouteDidChange):
(MediaSessionHelperiOS::activeVideoRouteDidChange):
(MediaSessionHelperiOS::receivedInterruption):
(MediaSessionHelperiOS::applicationDidBecomeActive):
(MediaSessionHelperiOS::applicationDidEnterBackground):
(MediaSessionHelperiOS::applicationWillBecomeInactive):
(MediaSessionHelperiOS::applicationWillEnterForeground):
(MediaSessionHelperiOS::externalOutputDeviceAvailableDidChange):
(-[WebMediaSessionHelper initWithCallback:]):
(-[WebMediaSessionHelper dealloc]):
(-[WebMediaSessionHelper clearCallback]):
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper interruption:]):
(-[WebMediaSessionHelper applicationWillEnterForeground:]):
(-[WebMediaSessionHelper applicationDidBecomeActive:]):
(-[WebMediaSessionHelper applicationWillResignActive:]):
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):
(-[WebMediaSessionHelper applicationDidEnterBackground:]):
(-[WebMediaSessionHelper carPlayServerDied:]):
(-[WebMediaSessionHelper carPlayIsConnectedDidChange:]):
(-[WebMediaSessionHelper activeAudioRouteDidChange:]):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::MediaSessionManageriOS):
(WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
(WebCore::MediaSessionManageriOS::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring):
(WebCore::MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary):
(WebCore::MediaSessionManageriOS::providePresentingApplicationPID):
(WebCore::MediaSessionManageriOS::externalOutputDeviceAvailableDidChange):
(WebCore::MediaSessionManageriOS::isPlayingToAutomotiveHeadUnitDidChange):
(WebCore::MediaSessionManageriOS::activeAudioRouteDidChange):
(WebCore::MediaSessionManageriOS::activeVideoRouteDidChange):
(WebCore::MediaSessionManageriOS::receivedInterruption):
(WebCore::MediaSessionManageriOS::applicationWillEnterForeground):
(WebCore::MediaSessionManageriOS::applicationDidBecomeActive):
(WebCore::MediaSessionManageriOS::applicationDidEnterBackground):
(WebCore::MediaSessionManageriOS::applicationWillBecomeInactive):
(WebCore::MediaSessionManageriOS::carPlayServerDied): Deleted.
(WebCore::MediaSessionManageriOS::updateCarPlayIsConnected): Deleted.
(-[WebMediaSessionHelper initWithCallback:]): Deleted.
(-[WebMediaSessionHelper dealloc]): Deleted.
(-[WebMediaSessionHelper clearCallback]): Deleted.
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]): Deleted.
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]): Deleted.
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Deleted.
(-[WebMediaSessionHelper interruption:]): Deleted.
(-[WebMediaSessionHelper applicationWillEnterForeground:]): Deleted.
(-[WebMediaSessionHelper applicationDidBecomeActive:]): Deleted.
(-[WebMediaSessionHelper applicationWillResignActive:]): Deleted.
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]): Deleted.
(-[WebMediaSessionHelper applicationDidEnterBackground:]): Deleted.
(-[WebMediaSessionHelper carPlayServerDied:]): Deleted.
(-[WebMediaSessionHelper carPlayIsConnectedDidChange:]): Deleted.
(-[WebMediaSessionHelper activeAudioRouteDidChange:]): Deleted.

Source/WebKit:

Add a new class pair RemoteMediaSessionHelper/Proxy.

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

(WebKit::GPUConnectionToWebProcess::mediaSessionHelperProxy):
(WebKit::GPUConnectionToWebProcess::ensureMediaSessionHelper):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/GPUConnectionToWebProcess.messages.in:
  • GPUProcess/media/ios/RemoteMediaSessionHelperProxy.cpp: Added.

(WebKit::RemoteMediaSessionHelperProxy::RemoteMediaSessionHelperProxy):
(WebKit::RemoteMediaSessionHelperProxy::~RemoteMediaSessionHelperProxy):
(WebKit::RemoteMediaSessionHelperProxy::startMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelperProxy::stopMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelperProxy::providePresentingApplicationPID):
(WebKit::RemoteMediaSessionHelperProxy::receivedInterruption):
(WebKit::RemoteMediaSessionHelperProxy::applicationWillEnterForeground):
(WebKit::RemoteMediaSessionHelperProxy::applicationDidEnterBackground):
(WebKit::RemoteMediaSessionHelperProxy::applicationWillBecomeInactive):
(WebKit::RemoteMediaSessionHelperProxy::applicationDidBecomeActive):
(WebKit::RemoteMediaSessionHelperProxy::externalOutputDeviceAvailableDidChange):
(WebKit::RemoteMediaSessionHelperProxy::isPlayingToAutomotiveHeadUnitDidChange):
(WebKit::RemoteMediaSessionHelperProxy::activeAudioRouteDidChange):
(WebKit::RemoteMediaSessionHelperProxy::activeVideoRouteDidChange):

  • GPUProcess/media/ios/RemoteMediaSessionHelperProxy.h: Added.
  • GPUProcess/media/ios/RemoteMediaSessionHelperProxy.messages.in: Added.
  • Sources.txt:
  • SourcesCocoa.txt:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.cpp: Added.

(WebKit::RemoteMediaSessionHelper::RemoteMediaSessionHelper):
(WebKit::RemoteMediaSessionHelper::connection):
(WebKit::RemoteMediaSessionHelper::startMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelper::stopMonitoringWirelessRoutes):
(WebKit::RemoteMediaSessionHelper::providePresentingApplicationPID):
(WebKit::RemoteMediaSessionHelper::receivedInterruption):
(WebKit::RemoteMediaSessionHelper::applicationWillEnterForeground):
(WebKit::RemoteMediaSessionHelper::applicationDidEnterBackground):
(WebKit::RemoteMediaSessionHelper::applicationWillBecomeInactive):
(WebKit::RemoteMediaSessionHelper::applicationDidBecomeActive):
(WebKit::RemoteMediaSessionHelper::externalOutputDeviceAvailableDidChange):
(WebKit::RemoteMediaSessionHelper::isPlayingToAutomotiveHeadUnitDidChange):
(WebKit::RemoteMediaSessionHelper::activeAudioRouteDidChange):
(WebKit::RemoteMediaSessionHelper::activeVideoRouteDidChange):

  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.h: Added.
  • WebProcess/GPU/media/ios/RemoteMediaSessionHelper.messages.in: Added.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::setUseGPUProcessForMedia):

12:08 PM Changeset in webkit [258108] by Andres Gonzalez
  • 13 edits in trunk/Source/WebCore

Fix for LayoutTests/accessibility/mac/value-change/value-change-user-info-contenteditable.html in IsolatedTree mode.
https://bugs.webkit.org/show_bug.cgi?id=208462
<rdar://problem/59980673>

Reviewed by Chris Fleizach.

Covered by LayoutTests/accessibility/mac/value-change/value-change-user-info-contenteditable.html.

  • Updates the IsolatedTree on the TextStateChange notification.
  • Renamed isAccessibilityScrollView to isAccessibilityScrollViewInstance

and used isScrollView instead everywhere it's appropriate. This makes
code like AXObjectCache::rootWebArea work for both AXObjects and IsolatedObjects.

  • Moved several utility functions from WebAccessibilityObjectWrapperMac.mm

to AXObjectCacheMac.mm where they belong, so that they can be used by
AXObjectCache implementation in addition to by the wrapper.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::postTextStateChangeNotification):
(WebCore::AXObjectCache::rootWebArea):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isOnScreen const):
(WebCore::AccessibilityObject::scrollToGlobalPoint const):

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

(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable const):

  • accessibility/AccessibilityScrollView.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityContainer]):

  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::isAccessibilityScrollViewInstance const):
(WebCore::AXIsolatedObject::isAccessibilityScrollView const): Renamed.

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

(WebCore::AXObjectCache::postTextStateChangePlatformNotification): Uses
TextMarker utilities instead of calling into the wrapper. This fixes
the crash caused by the wrapper updating the backingObject that in turn
may change the wrapper.
(WebCore::AXTextMarkerRange): Moved from WebAccessibilityObjectWrapperMac.mm.
(WebCore::textMarkerRangeFromMarkers): Moved from WebAccessibilityObjectWrapperMac.mm.
(WebCore::textMarkerForVisiblePosition): Moved from WebAccessibilityObjectWrapperMac.mm.
(WebCore::textMarkerRangeFromVisiblePositions): Moved from WebAccessibilityObjectWrapperMac.mm.

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

(AXTextMarkerRange): Moved.
(textMarkerForVisiblePosition): Moved.
(textMarkerRangeFromMarkers): Moved.
(textMarkerRangeFromVisiblePositions): Moved.

10:41 AM Changeset in webkit [258107] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

[GPUP] Null-dereference crash in GPUProcessProxy::openGPUProcessConnection()
https://bugs.webkit.org/show_bug.cgi?id=208772

Reviewed by Maciej Stachowiak.

AuxiliaryProcessProxy::connection() will return a null-pointer if called before the remote
process has launched and a connection established. Rather than send a message directly to
the proxy's IPC::Connection object (which can be null), just call sendWithAsyncReply()
directly on the proxy inself, which will correctly enqueue the message for sending when the
connection is fully established.

Because this crash occurs whenever the "useGPUProcessForMedia" setting is enabled, this is
covered by existing WP2 tests when those tests are run with that setting enabled.

  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::openGPUProcessConnection):

10:41 AM Changeset in webkit [258106] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.6.1

Tag Safari-610.1.6.1.

10:25 AM Changeset in webkit [258105] by Kocsen Chung
  • 8 edits in branches/safari-610.1.6-branch/Source

Versioning.

5:17 AM Changeset in webkit [258104] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Canvas drawing commands have to be flushed to the GPUProcess in batches
https://bugs.webkit.org/show_bug.cgi?id=208597

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-08
Reviewed by Myles C. Maxfield.

Source/WebCore:

Make DisplayList::ImageBuffer an observer of DisplayList::Recorder.
It can track adding an item to the recoded DisplayList.

  • platform/graphics/displaylists/DisplayListDrawingContext.cpp:

(WebCore::DisplayList::DrawingContext::DrawingContext):

  • platform/graphics/displaylists/DisplayListDrawingContext.h:
  • platform/graphics/displaylists/DisplayListImageBuffer.h:

(WebCore::DisplayList::ImageBuffer::ImageBuffer):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::willAppendItem):

  • platform/graphics/displaylists/DisplayListRecorder.h:

(WebCore::DisplayList::Recorder::Observer::~Observer):
(WebCore::DisplayList::Recorder::Observer::willAppendItem):

Source/WebKit:

RemoteImageBuffer, which is a superclass of DisplayList::ImageBuffer, will
prevent growing its DisplayList more than some limit (512 for now).
When this limit is reached, the recoded DisplayListItems will be flushed to
the GPUProcess in a batch. Flushing this batch would not require GPUProcess
to reply back. RemoteImageBuffer will have to run a full flush anyway
when the pixels are needed because the batch flushing does not include the
current DisplayList::Item.

  • GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:
  • GPUProcess/graphics/RemoteImageBufferProxy.h:
  • GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContext):
(WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContextAndCommit):

  • GPUProcess/graphics/RemoteRenderingBackendProxy.h:
  • GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
  • WebProcess/GPU/graphics/RemoteImageBuffer.h:
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:

(WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContextAndWaitCommit):

3:58 AM Changeset in webkit [258103] by Konstantin Tokarev
  • 4 edits in trunk/Source

[GTK] Fix compilation with disabled OpenGL
https://bugs.webkit.org/show_bug.cgi?id=208773

Reviewed by Yusuke Suzuki.

Source/WebCore:

  • html/OffscreenCanvas.h:

Source/WebKit:

  • UIProcess/API/glib/WebKitProtocolHandler.cpp:

(WebKit::WebKitProtocolHandler::handleGPU):

1:00 AM Changeset in webkit [258102] by Megan Gardner
  • 5 edits in trunk/Source

Adopt Context Menus for Data Detectors
https://bugs.webkit.org/show_bug.cgi?id=208779

Switch to context menus for data detector action sheets.

Reviewed by Tim Horton.

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

(-[WKActionSheetAssistant removeContextMenuInteraction]):
(-[WKActionSheetAssistant ensureContextMenuInteraction]):
(-[WKActionSheetAssistant showDataDetectorsSheet]):
(-[WKActionSheetAssistant contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKActionSheetAssistant contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKActionSheetAssistant _contextMenuInteraction:styleForMenuWithConfiguration:]):
(-[WKActionSheetAssistant contextMenuInteraction:willEndForConfiguration:animator:]):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView contextMenuDisplayLocationForActionSheetAssistant:]):

Mar 7, 2020:

9:39 PM Changeset in webkit [258101] by Brent Fulgham
  • 17 edits in trunk/Source

Create a flag to disable in-app browser quirks
https://bugs.webkit.org/show_bug.cgi?id=208777
<rdar://problem/60062197>

Reviewed by Simon Fraser.

This patch makes the following changes:

  1. Adds a new flag 'NeedsInAppBrowserPrivacyQuirks' to allow quirks to be toggled during testing.
  2. Reclassify this new flag, and the existing 'InAppBrowserPrivacyEnabled' flag from 'settings' to Internal Debug settings

The renamed flags are covered by existing tests.

Source/WebCore:

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setNeedsInAppBrowserPrivacyQuirks):
(WebCore::RuntimeEnabledFeatures::needsInAppBrowserPrivacyQuirks const):

  • page/Settings.yaml:

Source/WebKit:

  • FeatureFlags/WebKit.plist:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultInAppBrowserPrivacy):
(WebKit::defaultNeedsInAppBrowserPrivacyQuirks):

  • Shared/WebPreferencesDefaultValues.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _needsInAppBrowserPrivacyQuirks]):
(-[WKPreferences _setNeedsInAppBrowserPrivacyQuirks:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/WebPageProxy.cpp:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScript):

  • WebProcess/WebPage/WebPage.h:

Source/WebKitLegacy/mac:

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

(+[WebPreferences initialize]): Add new flag.
(-[WebPreferences needsInAppBrowserPrivacyQuirks]): Ditto.
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Ditto.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:
9:13 PM Changeset in webkit [258100] by jer.noble@apple.com
  • 10 edits in trunk/Source/WebCore

[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402

Reviewed by Eric Carlson.

Prepare for running the LegacyCDM et. al. in the GPU process.

Slightly modernize LegacyCDM to allow all methods representaing a LegacyCDMFactory to be WTF::Functions.

Allow the list of registered factories to be cleared and reset at runtime.

Modify WebKitMediaKeys to notify the MediaPlayer when the keys object is added to a HTMLMediaElement.

Expose the pointer to the internal CDMPrivateInterface for use in WebKit.

  • Modules/encryptedmedia/legacy/LegacyCDM.cpp:

(WebCore::LegacyCDM::platformRegisterFactories):
(WebCore::installedCDMFactories):
(WebCore::LegacyCDM::registerCDMFactory):
(WebCore::LegacyCDMFactoryForKeySystem):
(WebCore::LegacyCDM::supportsKeySystem):
(WebCore::LegacyCDM::keySystemSupportsMimeType):
(WebCore::LegacyCDM::LegacyCDM):
(WebCore::LegacyCDM::createSession):

  • Modules/encryptedmedia/legacy/LegacyCDM.h:
  • Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp:

(WebCore::WebKitMediaKeys::setMediaElement):

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

(WebCore::HTMLMediaElement::mediaEngineWasUpdated):

  • platform/graphics/LegacyCDMSession.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setCDM):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setCDM):

8:38 PM Changeset in webkit [258099] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[GPUP] LayoutTest debug assertion crashes: InitDataRegistry::registerInitDataType() called mulitple times with same type
https://bugs.webkit.org/show_bug.cgi?id=208765

Reviewed by Simon Fraser.

Wrap calls to registerInitDataType() in a std::call_once, to ensure it's not called muliple times when
platformRegisterFactories() is called multiple times.

  • platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:

(WebCore::CDMFactory::platformRegisterFactories):

8:35 PM Changeset in webkit [258098] by Simon Fraser
  • 7 edits in trunk/Source

Generalize setSynchronousScrollingReasons() to take a ScrollingNodeID
https://bugs.webkit.org/show_bug.cgi?id=208774

Reviewed by Zalan Bujtas.

Source/WebCore:

We'll be calling setSynchronousScrollingReasons() for overflow nodes at some point,
so change the argument from FrameView to ScrollingNodeID.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):

  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::setSynchronousScrollingReasons):

Source/WebKit:

Whitespace.

  • WebProcess/WebPage/EventDispatcher.h:
8:20 PM Changeset in webkit [258097] by Ross Kirsling
  • 35 edits
    1 move in trunk/Tools

Replace the use of term "rollout" to "revert" in various tools
https://bugs.webkit.org/show_bug.cgi?id=208775

Reviewed by Ryosuke Niwa.

See this webkit-dev thread for the originating discussion:
https://lists.webkit.org/pipermail/webkit-dev/2020-March/031132.html

'rollout' is a confusing term to anyone unacquainted with WebKit;
consensus seems to be that 'revert' would be the best replacement (as opposed to 'rollback').

Given the long legacy of this term within WebKit, it's important to deprecate and not remove 'rollout' commands.
As such, this patch aims to make 'revert' the preferred term everywhere without making 'rollout' fail.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/trac_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions_unittests.js:
  • BuildSlaveSupport/ews-build/steps.py:
  • BuildSlaveSupport/ews-build/steps_unittest.py:
  • Scripts/webkit-tools-completion.sh:
  • Scripts/webkitpy/common/checkout/changelog_unittest.py:
  • Scripts/webkitpy/common/checkout/checkout_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/svn.py:
  • Scripts/webkitpy/common/net/bugzilla/attachment.py:
  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
  • Scripts/webkitpy/tool/bot/commitqueuetask.py:
  • Scripts/webkitpy/tool/bot/feeders.py:
  • Scripts/webkitpy/tool/bot/feeders_unittest.py:
  • Scripts/webkitpy/tool/bot/irc_command.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:
  • Scripts/webkitpy/tool/bot/sheriff.py:
  • Scripts/webkitpy/tool/commands/download.py:
  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/commands/newcommitbot.py:
  • Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
  • Scripts/webkitpy/tool/commands/queues_unittest.py:
  • Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
  • Scripts/webkitpy/tool/steps/init.py:
  • Scripts/webkitpy/tool/steps/postdiffforrevert.py:
  • Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
  • Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
  • Scripts/webkitpy/tool/steps/reopenbugafterrevert.py: Renamed from Tools/Scripts/webkitpy/tool/steps/reopenbugafterrollout.py.
8:19 PM Changeset in webkit [258096] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit

Make PDF range requests to the network.
https://bugs.webkit.org/show_bug.cgi?id=208776

Reviewed by Alex Christensen.

We already handle a set of range requests from our data provider callbacks.
The current strategy is "wait until we've streamed enough of the entire resource,
perform that request's callback"

For linearized PDFs the second request ever made is for the very end of the PDF document,
so we have to wait for the entire document to load (which is what we already do in non-incremental mode)

Now, we'll actually make the requests for missing data chunks from the network by using the document's request
and adding range headers.

While it is now entirely misnamed, NetscapePlugInStreamLoader is a perfect fit for this.

Once the range request completes from the network we can unblock the PDF thread and go to the next request.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::unconditionalCompleteOutstandingRangeRequests):
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::ByteRangeRequest::clearStreamLoader):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithBytes):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
(WebKit::PDFPlugin::ByteRangeRequest::completeUnconditionally):
(WebKit::PDFPlugin::willSendRequest):
(WebKit::PDFPlugin::didReceiveResponse):
(WebKit::PDFPlugin::didReceiveData):
(WebKit::PDFPlugin::didFail):
(WebKit::PDFPlugin::didFinishLoading):
(WebKit::PDFPlugin::byteRangeRequestForLoader):
(WebKit::PDFPlugin::cancelAndForgetLoader):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::unconditionalCompleteRangeRequest): Deleted.

8:01 PM Changeset in webkit [258095] by david_quesada@apple.com
  • 6 edits in trunk

Crash in -[_WKRemoteObjectRegistry _invokeMethod:] block when calling a reply block after the web view has deallocated
https://bugs.webkit.org/show_bug.cgi?id=208781
rdar://problem/60061016

Reviewed by Alex Christensen.

Source/WebKit:

Covered by API tests.

  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:

(-[_WKRemoteObjectRegistry _invokeMethod:]):

When the app calls a reply block for a message from the injected bundle, add a nil
check for the underlying WebKit::RemoteObjectRegistry before attempting to send the
reply details back to the web process. It's possible that before this block is
called, the associated web view could have been deallocated, which would invalidate
this _WKRemoteObjectRegistry.

Tools:

Add a test that recreates the conditions of this crash:

  • Send a message from the injected bundle to the UI process that contains a reply block.
  • Hold a reference to the reply block.
  • Let the web view deallocate.
  • Call the block, and expect not to crash.
  • TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:

(localObjectInterface):

  • TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:

(-[LocalObject doSomethingWithCompletionHandler:]):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:

(-[RemoteObjectRegistryPlugIn callUIProcessMethodWithReplyBlock]):

7:58 PM Changeset in webkit [258094] by Andres Gonzalez
  • 2 edits in trunk/Source/WebCore

REGRESSION: (r257760?) [ Mac wk2 Debug ] ASSERTION FAILED: child->parentObject() == this in WebCore::AccessibilityObject::insertChild
https://bugs.webkit.org/show_bug.cgi?id=208648

Reviewed by Chris Fleizach.

[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions] must
not update the backing store but instead just get the backing object.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):

7:52 PM Changeset in webkit [258093] by rniwa@webkit.org
  • 5 edits in trunk

TextManipulationController should work with ARIA labels
https://bugs.webkit.org/show_bug.cgi?id=208759

Reviewed by Wenson Hsieh.

Source/WebCore:

This patch makes TextManipulationController work with a few ARIA content attributes.

It also makes observeParagraphs observe content across the entire document since canonicalizing
the starting position can end up skipping some content with ARIA.

Tests: TextManipulation.StartTextManipulationFindAttributeContent

TextManipulation.CompleteTextManipulationShouldReplaceAttributeContent

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::startObservingParagraphs): Now takes two Positions instead
of two VisiblePositions.
(WebCore::isAttributeForTextManipulation): Added.
(WebCore::TextManipulationController::observeParagraphs): Added the code to find elements with
ARIA attributes and a few other elements that don't generate RenderObject's.
(WebCore::TextManipulationController::scheduleObservartionUpdate):
(WebCore::TextManipulationController::addItem): Now takes ManipulationItemData instead of indivisual
fields in it.
(WebCore::TextManipulationController::replace): Added the logic to handle ManipulationItemData
that specify element and attributeName.

  • editing/TextManipulationController.h:

(WebCore::TextManipulationController::ManipulationItemData): Added element and attributeName.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(TextManipulation.StartTextManipulationFindAttributeContent): Added.
(TextManipulation.CompleteTextManipulationShouldPreserveOrderOfBlockImage): Updated
the expected number of tokens for the first item as the very first image is correctly
detected per the code change.
(TextManipulation.CompleteTextManipulationShouldReplaceAttributeContent): Added.

7:41 PM Changeset in webkit [258092] by Megan Gardner
  • 5 edits in trunk/Source

Adopt UIContextMenu for WKFileUploadPanel
https://bugs.webkit.org/show_bug.cgi?id=208687

Reviewed by Tim Horton.

Source/WebCore:

New string, no tests needed.

  • en.lproj/Localizable.strings:

Source/WebKit:

Move from the depricated UIDocumentMenuViewController to UIContextMenu.
UI change, not currently testable.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
(-[WKFileUploadPanel dismiss]):
(-[WKFileUploadPanel _browseFilesButtonLabel]):
(-[WKFileUploadPanel contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKFileUploadPanel _contextMenuInteraction:styleForMenuWithConfiguration:]):
(-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
(-[WKFileUploadPanel _removeInteraction]):
(-[WKFileUploadPanel _initInteraction]):
(-[WKFileUploadPanel _showFilePickerMenu]):
(-[WKFileUploadPanel _showDocumentPickerMenu]):
(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
(-[WKFileUploadPanel _presentFullscreenViewController:animated:]):
(photoLibraryIcon): Deleted.
(cameraIcon): Deleted.
(-[WKFileUploadPanel documentMenu:didPickDocumentPicker:]): Deleted.
(-[WKFileUploadPanel documentMenuWasCancelled:]): Deleted.

5:56 PM Changeset in webkit [258091] by achristensen@apple.com
  • 2 edits in trunk/Tools

Regression r258042: Failing API test TestWebKitAPI.URLSchemeHandler.Frames
https://bugs.webkit.org/show_bug.cgi?id=208767

  • TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:

The frameID of the main frame before loading is only 0 on Mac right now.
The test is still good because it validates that execution works in the main frame before loading.

5:20 PM Changeset in webkit [258090] by Peng Liu
  • 2 edits in trunk/Source/WebKit

Use the feature flags mechanism to give default feature preference values
https://bugs.webkit.org/show_bug.cgi?id=208607

Reviewed by Simon Fraser.

Fix a Catalyst build failure (We should not copy the WebKit.plist for the Catalyst build).

  • WebKit.xcodeproj/project.pbxproj:
4:38 PM Changeset in webkit [258089] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Wenson Hsieh.

Part 5

Enable USE_DICTATION_ALTERNATIVES on iOS.

  • wtf/PlatformUse.h:
4:33 PM Changeset in webkit [258088] by dbates@webkit.org
  • 3 edits in trunk/Source/WebKit

[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Brady Eidson.

Part 4

This patch was originally written by Morgan Winer. I just simplified it a bit and fixed some
formatting issues to conform to the code style guidelines.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

  • Platform/spi/ios/UIKitSPI.h: Expose more SPI.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView insertText:alternatives:style:]): Added.

4:30 PM Changeset in webkit [258087] by dbates@webkit.org
  • 11 edits in trunk/Source

[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Brent Fulgham.

Part 3

Source/WebCore:

Separate code that is actually USE(AUTOCORRECTION_PANEL)-specific from code that can also
be used when building with USE(DICTATION_ALTERNATIVES) enabled.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

  • SourcesCocoa.txt: Mark TextAlternativeWithRange.mm as @no-unify to fix build breakage when

a unified source file includes both TextAlternativeWithRange.mm and a file that ultimately
includes LengthBox.h (e.g. WebArchiveResourceFromNSAttributedString.mm). TextAlternativeWithRange.mm
ultimately includes SFNTLayoutTypes.h, which defines a Fixed type that conflicts with enumerator
Fixed (part of the LengthType enumeration) defined in Length.h. Ideally the LengthType enumeration
would be an enum class or scoped to Length to avoid this ambiguity. This would be a big change to do
and so for now I am fixing the build breakage using @no-unify.

  • WebCore.xcodeproj/project.pbxproj: Add TextAlternativeWithRange.mm to the project now that

it is excluded from the unified build.

  • editing/AlternativeTextController.cpp:

(WebCore::markerTypesForAppliedDictationAlternative):
(WebCore::AlternativeTextController::alternativeTextClient):
(WebCore::AlternativeTextController::markerDescriptionForAppliedAlternativeText):
(WebCore::AlternativeTextController::applyAlternativeTextToRange):

  • editing/AlternativeTextController.h:

Source/WebKit:

Move code that was guarded under PLATFORM(MAC) outside of that guard so that we compile it
so long as USE(DICTATION_ALTERNATIVES) is enabled.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

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

Source/WebKitLegacy/mac:

Guard code that requires USE(AUTOCORRECTION_PANEL) to be enabled. Specifically, -_showDictationAlternativeUI
calls -handleAcceptedAlternativeText, but the latter is only compiled in when USE(AUTOCORRECTION_PANEL)
is enabled.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

  • WebView/WebView.mm:
4:27 PM Changeset in webkit [258086] by dbates@webkit.org
  • 12 edits in trunk/Source

[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Wenson Hsieh.

Part 2

Source/WebCore:

Include UIKitSPI.h in TextAlternativeWithRange.mm to get the definition of NSTextAlternatives
when building for iOS. Also while I am here, fix up some code style issues and use uniform
initializer syntax.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

  • editing/mac/TextAlternativeWithRange.mm:

(WebCore::TextAlternativeWithRange::TextAlternativeWithRange):

Source/WebKit:

Move insertDictatedTextAsync() from the Mac-specific implementation files to Cocoa-specific
implementation files as it can be shared by both Mac and iOS. I did very minor C++ modernization:
just more uses of auto and uniform initializer syntax.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::insertDictatedTextAsync):

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::insertDictatedTextAsync): Deleted.

  • WebProcess/WebPage/Cocoa/WebPageCocoa.mm:

(WebKit::WebPage::insertDictatedTextAsync):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::insertDictatedTextAsync): Deleted.

4:26 PM Changeset in webkit [258085] by dbates@webkit.org
  • 13 edits
    1 copy
    2 moves
    1 add in trunk/Source

[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>

Reviewed by Wenson Hsieh.

Part 1

Source/WebCore:

Rename editing/mac/AlternativeTextUIController.{h, mm} to editing/cocoa/AlternativeTextUIController.{h, mm}
as it can be shared by both Mac and iOS. I also took this opportunity to do some very minor modernization
and cleanup to these files: use =default constructors and put the * on the right side for Objective-C types.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/cocoa/AlternativeTextContextController.h:
  • editing/cocoa/AlternativeTextContextController.mm: Added.

(WebCore::AlternativeTextContextController::addAlternatives):
(WebCore::AlternativeTextContextController::alternativesForContext):
(WebCore::AlternativeTextContextController::removeAlternativesForContext):
(WebCore::AlternativeTextContextController::clear):

  • editing/cocoa/AlternativeTextUIController.h: Renamed from Source/WebCore/editing/mac/AlternativeTextUIController.h.
  • editing/cocoa/AlternativeTextUIController.mm: Renamed from Source/WebCore/editing/mac/AlternativeTextUIController.mm.

(WebCore::AlternativeTextUIController::addAlternatives):
(WebCore::AlternativeTextUIController::alternativesForContext):
(WebCore::AlternativeTextUIController::clear):
(WebCore::AlternativeTextUIController::showAlternatives):
(WebCore::AlternativeTextUIController::handleAcceptedAlternative):
(WebCore::AlternativeTextUIController::dismissAlternatives):
(WebCore::AlternativeTextUIController::removeAlternatives):

Source/WebCore/PAL:

Expose some more SPI.

  • pal/spi/ios/UIKitSPI.h:

Source/WebKit:

Move some of the PageClientMac dictation alternatives code to PageClientImplCocoa so that it
can be shared with iOS.

Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.

  • UIProcess/Cocoa/PageClientImplCocoa.h:

(WebKit::PageClientImplCocoa::PageClientImplCocoa): Deleted; moved to be out-of-line to avoid
needing to #include AlternativeTextUIController.h from this file. Declare out-of-line destructor
for the same reason.

  • UIProcess/Cocoa/PageClientImplCocoa.mm:

(WebKit::PageClientImplCocoa::PageClientImplCocoa): Moved from PageClientImplCocoa.h.
(WebKit::PageClientImplCocoa::pageClosed):
(WebKit::PageClientImplCocoa::addDictationAlternatives): Moved from PageClientImplMac.mm.
(WebKit::PageClientImplCocoa::removeDictationAlternatives): Ditto.
(WebKit::PageClientImplCocoa::dictationAlternatives): Ditto.

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

(WebKit::PageClientImpl::showDictationAlternativeUI): Added; stub function.
(WebKit::PageClientImpl::pageClosed): Deleted; now we will use the base class implementation.

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::PageClientImpl): Moved AlternativeTextUIController logic from here to PageClientImplCocoa::PageClientImplCocoa().
(WebKit::PageClientImpl::pageClosed): Moved AlternativeTextUIController logic from here to PageClientImplCocoa::pageClosed()
so it can be shared and modified this function to call the base class implementation.
(WebKit::PageClientImpl::~PageClientImpl): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::addDictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::removeDictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::dictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.

4:14 PM Changeset in webkit [258084] by aakash_jain@apple.com
  • 3 edits in trunk/Tools

[ews] commit queue is not skipping layout tests for rollout patches
https://bugs.webkit.org/show_bug.cgi?id=208716

Unreviewed minor fix.

  • BuildSlaveSupport/ews-build/steps.py:

(RunWebKitTests.doStepIf):
(RunWebKit1Tests.doStepIf): Moved to base class RunWebKitTests.

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
3:20 PM Changeset in webkit [258083] by Fujii Hironori
  • 3 edits in trunk/Source/WebCore

[CMake][Win] GenerateSettings.rb are invoked twice in WebCoreBindings.vcxproj and WebCoreTestSupportBindings.vcxproj
https://bugs.webkit.org/show_bug.cgi?id=208771

Reviewed by Konstantin Tokarev.

CMake Visual Studio generator put a custom command of
GenerateSettings.rb into both WebCoreBindings.vcxproj and
WebCoreTestSupportBindings.vcxproj because both projects are
using the generated files as source files. This causes
unnecessary recompilation.

The fundamental issue of this bug was fixed in CMake 3.12.
<https://gitlab.kitware.com/cmake/cmake/issues/16767>
All Windows ports are using newer CMake for Visual Studio 2019
support.

However, WebCoreTestSupportBindings needs to have a direct or
indirect dependency to WebCoreBindings for CMake Visual Studio
generator to eliminate duplicated custom commands. Otherwise,
GenerateSettings.rb will be triggered in both projects.

  • CMakeLists.txt: Added a explicit dependency to WebCoreBindings

for WebCoreTestSupportBindings.

  • WebCoreMacros.cmake: Removed stale comment.
3:19 PM Changeset in webkit [258082] by eric.carlson@apple.com
  • 24 edits in trunk/Source

Implement setWirelessPlaybackTarget, performTaskAtMediaTime, and wouldTaintOrigin in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208651
<rdar://problem/60088298>

Reviewed by Youenn Fablet.

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Remove unused lambda parameter.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::performTaskAtMediaTime): Make MediaTime parameter const ref
so it isn't copied.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::performTaskAtMediaTime): Ditto.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::performTaskAtMediaTime): Ditto.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::performTaskAtMediaTime): Ditto.

  • platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:

(WebCore::VideoLayerManagerObjC::setVideoFullscreenLayer): Don't set inline image
contents if image is NULL.

Source/WebKit:

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage): Dispatch player manager messages.

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::didReceiveSyncPlayerMessage): Dispatch player messages.

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy): Clear the completion handler
do its destructor doesn't assert.
(WebKit::RemoteMediaPlayerProxy::setWirelessPlaybackTarget): Implement.
(WebKit::RemoteMediaPlayerProxy::performTaskAtMediaTime): Ditto.
(WebKit::RemoteMediaPlayerProxy::wouldTaintOrigin): Ditto.

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

(WebKit::MediaPlayerPrivateRemote::updateCachedState): Update wireless playback target name.
(WebKit::MediaPlayerPrivateRemote::load): Don't log as unimplemented.
(WebKit::MediaPlayerPrivateRemote::wirelessPlaybackTargetName const): Return cached name.
(WebKit::MediaPlayerPrivateRemote::setWirelessPlaybackTarget): Implement.
(WebKit::MediaPlayerPrivateRemote::wouldTaintOrigin const): Ditto.
(WebKit::MediaPlayerPrivateRemote::performTaskAtMediaTime): Ditto.
(WebKit::MediaPlayerPrivateRemote::setClosedCaptionsVisible): Deleted, not needed.
(WebKit::MediaPlayerPrivateRemote::simulateAudioInterruption): Ditto.

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

(WebKit::RemoteMediaPlayerConfiguration::decode): Decode supportsFullscreen too.

2:53 PM Changeset in webkit [258081] by Alexey Shvayka
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r258049): Unchecked JS exception in jsc::Stringifier::toJSON
https://bugs.webkit.org/show_bug.cgi?id=208766

Reviewed by Yusuke Suzuki.

  • runtime/JSONObject.cpp:

(JSC::Stringifier::toJSON): Add missing RELEASE_AND_RETURN.

2:13 PM Changeset in webkit [258080] by beidson@apple.com
  • 8 edits in trunk/Source

Add runtime flag for incremental PDF loading.
https://bugs.webkit.org/show_bug.cgi?id=208763

Reviewed by Tim Horton.

Source/WebCore:

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setIncrementalPDFLoadingEnabled):
(WebCore::RuntimeEnabledFeatures::incrementalPDFLoadingEnabled const):

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.cpp:

(WebKit::defaultIncrementalPDFEnabled):

  • Shared/WebPreferencesDefaultValues.h:
  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::pdfDocumentDidLoad):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::manualStreamDidFail):

2:05 PM Changeset in webkit [258079] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][Verification] Use the table wrapper box's offset when matching out-of-flow tables
https://bugs.webkit.org/show_bug.cgi?id=208769
<rdar://problem/60191322>

Reviewed by Antti Koivisto.

Source/WebCore:

In LFC, an out-of-flow table initiates a wrapper table box (out-of-flow) and a child table box (in-flow).
Apply the wrapper table box's offset, when matching the display and the render tree.

Test: fast/layoutformattingcontext/absolute-positioned-simple-table2.html

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):

LayoutTests:

  • fast/layoutformattingcontext/absolute-positioned-simple-table2-expected.html: Added.
  • fast/layoutformattingcontext/absolute-positioned-simple-table2.html: Added.
1:56 PM Changeset in webkit [258078] by mark.lam@apple.com
  • 3 edits
    2 adds in trunk

Remove bad assertion in FTLLowerDFGToB3's compileDelBy().
https://bugs.webkit.org/show_bug.cgi?id=208764
<rdar://problem/59940095>

Reviewed by Keith Miller.

JSTests:

  • stress/delete-by-val-with-base-and-subscript-using-same-cell.js: Added.
  • stress/delete-by-val-with-base-and-subscript-using-same-non-cell.js: Added.

Source/JavaScriptCore:

The assertion ASSERT(base.gpr() != params[2].gpr()) is wrong because it is legal
JS to pass in the same value as the base and subscript. The runtime will handle
it properly.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):

1:46 PM Changeset in webkit [258077] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Make Editor::applyEditingStyleToBodyElement do things in a straightforward manner
https://bugs.webkit.org/show_bug.cgi?id=208177

Reviewed by Wenson Hsieh.

  • editing/Editor.cpp:

(WebCore::Editor::applyEditingStyleToBodyElement const): Use Document::body and
StyledElement::setInlineStyleProperty to apply styles to the body. The older code
was looping over all body elements in the document, for no good reason, and using
the CSS object model wrapper object for the styles, also for no good reason.

11:35 AM Changeset in webkit [258076] by weinig@apple.com
  • 15 edits in trunk

Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=207436
<rdar://problem/59296762>

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Remove JSC related defines.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Remove JSC related defines.

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Remove JSC related defines.

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Remove JSC related defines.

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Remove JSC related defines.

Source/WTF:

  • wtf/PlatformEnable.h:

Add default values for ENABLE_FAST_JIT_PERMISSIONS and ENABLE_SEPARATED_WX_HEAP.

  • wtf/PlatformEnableCocoa.h:

Added ENABLE_FAST_JIT_PERMISSIONS and ENABLE_INTL (from FeatureDefines.xcconfig), ENABLE_SEPARATED_WX_HEAP
(from PlatformEnable.h) and ENABLE_FTL_JIT (from both FeatureDefines.xcconfig and PlatformEnable.h).

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

Remove JSC related defines.

10:34 AM Changeset in webkit [258075] by Chris Fleizach
  • 15 edits in trunk

AX: Provide a way to run tests in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=208629
<rdar://problem/60075583>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Now that we have a way to run this with tests, we don't need to allow usage for an unknown client.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::clientSupportsIsolatedTree):

Tools:

Provide the ability to run tests for accessibility in the isolated tree mode.
This sends a flag over to the injected bundle which calls the right HIServices override so that
the system thinks it is in isolated mode.

  • Scripts/compare-webkit-configurations:

(flag_for_comparison):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(parse_args):

  • Scripts/webkitpy/port/driver.py:

(Driver.cmd_line):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AccessibilityController::AccessibilityController):
(WTR::AccessibilityController::setAccessibilityIsolatedTreeMode):
(WTR::AccessibilityController::updateIsolatedTreeMode):
(WTR::AccessibilityController::executeOnAXThreadIfPossible):

  • WebKitTestRunner/InjectedBundle/AccessibilityController.h:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/Options.cpp:

(WTR::handleOptionAccessibilityIsolatedTreeMode):
(WTR::OptionsHandler::OptionsHandler):

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

(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):

  • WebKitTestRunner/TestController.h:

(WTR::TestController::accessibilityIsolatedTreeMode const):

10:26 AM Changeset in webkit [258074] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Unreviewed test gardening.

Land results with new console log line numbers.

  • http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:
  • http/tests/security/anchor-download-block-crossorigin-expected.txt:
9:52 AM Changeset in webkit [258073] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Use start-aligned horizontal adjustment when justify is not eligible.
https://bugs.webkit.org/show_bug.cgi?id=208762
<rdar://problem/60188433>

Reviewed by Antti Koivisto.

Make sure we apply "text-align: start" when "text-align: justify" is not eligible.
Currently "text-align: start" is a no-op, so no chnange in functionality (this might change in the future).

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::alignHorizontally):
(WebCore::Layout::LineBuilder::removeTrailingTrimmableContent):

  • layout/inlineformatting/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::isTextAlignJustify const): Deleted.
(WebCore::Layout::LineBuilder::isTextAlignRight const): Deleted.

9:26 AM Changeset in webkit [258072] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed unified build fix; forward declare referenced types. In this case, WebCore::ImageData.

  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:
8:09 AM Changeset in webkit [258071] by ysuzuki@apple.com
  • 22 edits in trunk

[JSC] Enable public class fields
https://bugs.webkit.org/show_bug.cgi?id=208756

Reviewed by Mark Lam.

JSTests:

Rename useClassFields to usePublicClassFields to keep separate from usePrivateClassFields once
it is implemented.

  • stress/big-int-as-property-name.js:
  • stress/class-fields-bytecode-cache.js:
  • stress/class-fields-computed-to-property-key.js:
  • stress/class-fields-function-name.js:
  • stress/class-fields-harmony.js:
  • stress/class-fields-proxy-define-property.js:
  • stress/class-fields-stress-instance.js:
  • stress/class-fields-to-property-key-const-string-ftl.js:
  • stress/class-fields-to-property-key-const-symbol-ftl.js:
  • stress/class-fields-to-property-key-slow-object-tostring-ftl.js:
  • stress/class-fields-to-property-key-slow-object-valueof-ftl.js:
  • stress/class-fields-to-property-key-string-object-ftl.js:
  • stress/class-fields-to-property-key-string-or-string-object-ftl.js:
  • stress/generator-syntax.js:
  • stress/method-name.js:
  • test262/config.yaml:

Source/JavaScriptCore:

This patch turns public-class-fields feature on, implemented in r254653.
To separate from private-class-fields, this patch renames the flag from useClassFields to usePublicClassFields,
and first enable public-class-fields feature.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionCallValueNode::emitBytecode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):

  • runtime/OptionsList.h:
8:06 AM Changeset in webkit [258070] by Alan Bujtas
  • 3 edits
    2 adds in trunk

[LFC][IFC] Do not text-align: justify the runs on the current line if they are followed by a forced break
https://bugs.webkit.org/show_bug.cgi?id=208761
<rdar://problem/59825136>

Reviewed by Antti Koivisto.

Source/WebCore:

https://www.w3.org/TR/css-text-3/#text-align-property
"Text is justified according to the method specified by the text-justify property,
in order to exactly fill the line box. Unless otherwise specified by text-align-last,
the last line before a forced break or the end of the block is start-aligned."

Test: fast/text/text-align-justify-and-forced-line-break.html

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::alignHorizontally):

LayoutTests:

  • fast/text/text-align-justify-and-forced-line-break-expected.html: Added.
  • fast/text/text-align-justify-and-forced-line-break.html: Added.
1:28 AM Changeset in webkit [258069] by mmaxfield@apple.com
  • 13 edits
    1 add in trunk/Source/WebKit

[GPU Process] Implement CanvasRenderingContext2D.getImageData()
https://bugs.webkit.org/show_bug.cgi?id=208560
<rdar://problem/60060618>

Reviewed by Said Abou-Hallawa.

Adds a new synchronous message between the Web Process and the GPU Process.
Unfortunately, getImageData() synchronously returns results, and we don't
have the infrastructure to make JavaScript interruptible, so this means that
the message has to be synchronous, at least until we add that infrastructure.

When the RemoteImageBuffer receives the getImageData() call, it first
asynchronously flushes the pending display list, doesn't wait for a response,
and then sends the synchronous getImageData() message. Because the GPU Process
receives messages in-order, the Web Process doesn't have to wait for the
response from the flush message.

After this patch, there are a few optimization opportunities we can exploit
where we use SharedBuffer directly instead of copying into and out of the
ImageData.

No new tests because there is no behavior change. We're just using the GPU
process now, instead of implementing the command locally in the Web Process.

  • GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:
  • GPUProcess/graphics/RemoteImageBufferProxy.h:
  • GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::getImageData):

  • GPUProcess/graphics/RemoteRenderingBackendProxy.h:
  • GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
  • Platform/IPC/ImageDataReference.h: Added.

(IPC::ImageDataReference::ImageDataReference):
(IPC::ImageDataReference::buffer):
(IPC::ImageDataReference::buffer const):
(IPC::ImageDataReference::encode const):
(IPC::ImageDataReference::decode):

  • Platform/IPC/MessageSender.h:

(IPC::MessageSender::sendSync):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<RefPtr<WebCore::ImageData>>::encode):
(IPC::ArgumentCoder<RefPtr<WebCore::ImageData>>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/RemoteImageBuffer.h:
  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:

(WebKit::RemoteImageBufferMessageHandler::getImageData const):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContextAndWaitCommit):

  • WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:
1:17 AM Changeset in webkit [258068] by Konstantin Tokarev
  • 4 edits in trunk/Source/WebCore

REGRESSION(r257975): [GTK][WPE] Build failure after a clean build
https://bugs.webkit.org/show_bug.cgi?id=208711

Reviewed by Yusuke Suzuki.

Make sure that InternalSettingsGenerated,idl is generated before bindings
generation starts.

Also, make IDL preprocessor die if specified IDL file is missing, instead
of going on silently.

  • CMakeLists.txt:
  • WebCoreMacros.cmake:
  • bindings/scripts/preprocess-idls.pl:

(getFileContents):

1:13 AM Changeset in webkit [258067] by Andres Gonzalez
  • 10 edits in trunk/Source/WebCore

AXIsolatedObject support for documentLinks.
https://bugs.webkit.org/show_bug.cgi?id=208734

Reviewed by Chris Fleizach.

  • Expose documentLinks through the AXCoreObject interface, so that

wrapper code works for both AXObject and AXIsolatedObjects.

  • Struct NodeChange now retains wrapper which was causing crash as the

wrapper was destroyed before it was attached to the IsolatedObject.

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

(WebCore::AccessibilityRenderObject::documentLinks):
(WebCore::AccessibilityRenderObject::getDocumentLinks): Deleted.

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

(WebCore::AXIsolatedObject::initializeAttributeData):

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

(WebCore::AXIsolatedTree::setFocusedNode):
(WebCore::AXIsolatedTree::applyPendingChanges):

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

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

12:17 AM Changeset in webkit [258066] by Chris Fleizach
  • 11 edits
    1 delete in trunk/Source

Unreviewed, rolling out r258047.

Referenced SPI not yet available for Safari builders.

Reverted changeset:

"Implementation of AccessibilitySupport AXSIsolatedTreeMode."
https://bugs.webkit.org/show_bug.cgi?id=208691
https://trac.webkit.org/changeset/258047

Note: See TracTimeline for information about the timeline view.