Timeline



Dec 18, 2019:

11:47 PM Changeset in webkit [253740] by sihui_liu@apple.com
  • 33 edits in trunk/Source

IndexedDB: perform IDBServer work only on background thread
https://bugs.webkit.org/show_bug.cgi?id=203690
<rdar://problem/56908496>

Reviewed by Alex Christensen.

Source/WebCore:

The basic workflow of IDB server side was:

  1. IPC thread dispatches IDB messages to main thread
  2. main thread handles messages and dispatches database tasks to IDB thread
  3. IDB thread finishes work and dispatches task result to main thread
  4. main thread sends IPC messages with task results

For better performance, this patch changes the workflow to:

  1. IPC thread dispatches IDB messages to IDB thread
  2. IDB thread handles messages, perform tasks and sends IPC messages with task results

In this way, we can avoid the cost of thread hopping to main thread.

Previously IDBServer and UniqueIDBDatabase were created on the main thread and may be accessed from IDB
thread, and now they are created on the IDB thread only. Therefore, we don't need all those variables
used to sync the database status between main thread and background thread, and the logic becomes simpler.

This patch also removes timer in UniqueIDBDatabase for better performance.

Covered by existing tests.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::didCloseFromServer): IDBClient no longer needs to confirm connection close initiated by
IDBServer. When IDBServer closes the connection, it would remove the connection from the open connection set
right away.

  • Modules/indexeddb/client/IDBConnectionProxy.cpp:

(WebCore::IDBClient::IDBConnectionProxy::didCloseFromServer):
(WebCore::IDBClient::IDBConnectionProxy::confirmDidCloseFromServer): Deleted.

  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::confirmDidCloseFromServer): Deleted.

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/server/IDBConnectionToClient.cpp:

(WebCore::IDBServer::IDBConnectionToClient::IDBConnectionToClient):

  • Modules/indexeddb/server/IDBConnectionToClient.h:

(WebCore::IDBServer::IDBConnectionToClient::clearDelegate):

  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp: Add threading assertions everywhere for safety. Also, as IDBServer

may be accessed on main thread for process suspension, we need to assert lock of IDBServer is held everywhere.
(WebCore::IDBServer::IDBServer::IDBServer):
(WebCore::IDBServer::IDBServer::~IDBServer):
(WebCore::IDBServer::IDBServer::registerConnection):
(WebCore::IDBServer::IDBServer::unregisterConnection):
(WebCore::IDBServer::IDBServer::registerTransaction):
(WebCore::IDBServer::IDBServer::unregisterTransaction):
(WebCore::IDBServer::IDBServer::getOrCreateUniqueIDBDatabase):
(WebCore::IDBServer::IDBServer::openDatabase):
(WebCore::IDBServer::IDBServer::deleteDatabase):
(WebCore::IDBServer::IDBServer::abortTransaction):
(WebCore::IDBServer::IDBServer::createObjectStore):
(WebCore::IDBServer::IDBServer::deleteObjectStore):
(WebCore::IDBServer::IDBServer::renameObjectStore):
(WebCore::IDBServer::IDBServer::clearObjectStore):
(WebCore::IDBServer::IDBServer::createIndex):
(WebCore::IDBServer::IDBServer::deleteIndex):
(WebCore::IDBServer::IDBServer::renameIndex):
(WebCore::IDBServer::IDBServer::putOrAdd):
(WebCore::IDBServer::IDBServer::getRecord):
(WebCore::IDBServer::IDBServer::getAllRecords):
(WebCore::IDBServer::IDBServer::getCount):
(WebCore::IDBServer::IDBServer::deleteRecord):
(WebCore::IDBServer::IDBServer::openCursor):
(WebCore::IDBServer::IDBServer::iterateCursor):
(WebCore::IDBServer::IDBServer::establishTransaction):
(WebCore::IDBServer::IDBServer::commitTransaction):
(WebCore::IDBServer::IDBServer::didFinishHandlingVersionChangeTransaction):
(WebCore::IDBServer::IDBServer::databaseConnectionPendingClose):
(WebCore::IDBServer::IDBServer::databaseConnectionClosed):
(WebCore::IDBServer::IDBServer::abortOpenAndUpgradeNeeded):
(WebCore::IDBServer::IDBServer::didFireVersionChangeEvent):
(WebCore::IDBServer::IDBServer::openDBRequestCancelled):
(WebCore::IDBServer::IDBServer::getAllDatabaseNames):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
(WebCore::IDBServer::IDBServer::removeDatabasesWithOriginsForVersion):
(WebCore::IDBServer::IDBServer::requestSpace):
(WebCore::IDBServer::IDBServer::stopDatabaseActivitiesOnMainThread):
(WebCore::IDBServer::IDBServer::create): Deleted.
(WebCore::IDBServer::IDBServer::confirmDidCloseFromServer): Deleted.
(WebCore::IDBServer::IDBServer::performGetAllDatabaseNames): Deleted.
(WebCore::IDBServer::IDBServer::didGetAllDatabaseNames): Deleted.
(WebCore::IDBServer::IDBServer::postDatabaseTask): Deleted. IDBServer is on the background thread only. This
functionality is moved to its parent (WebIDBServer/InProcessIDBServer).
(WebCore::IDBServer::IDBServer::postDatabaseTaskReply): Deleted.
(WebCore::IDBServer::generateDeleteCallbackID): Deleted.
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesModifiedSince): Deleted. Merged to
closeAndDeleteDatabasesModifiedSince.
(WebCore::IDBServer::IDBServer::performCloseAndDeleteDatabasesForOrigins): Deleted. Merged to
closeAndDeleteDatabasesForOrigins.
(WebCore::IDBServer::IDBServer::didPerformCloseAndDeleteDatabases): Deleted.
(WebCore::IDBServer::IDBServer::tryStop): Deleted.
(WebCore::IDBServer::IDBServer::resume): Deleted.

  • Modules/indexeddb/server/IDBServer.h:

(WebCore::IDBServer::IDBServer::lock):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp: Biggest changes are:
  1. merge all perform[Task] and didPerform[Task] functions into [Task] functions.
  2. remove all database members used to track state between main thread and database thread, because the tasks

are executed in order on one background thread.

  1. m_operationAndTransactionTimer is removed. operationAndTransactionTimerFired is replaced by two functions:

handleDatabaseOperations and handleTransactions. And these functions are placed at places where we schedule the
timer.

  1. lock is moved to IDBServer because UniqueIDBDatabase will never be accessed from different threads.

(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentOpenOperation):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::handleCurrentOperation):
(WebCore::IDBServer::UniqueIDBDatabase::handleDelete):
(WebCore::IDBServer::UniqueIDBDatabase::startVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::maybeNotifyConnectionsOfVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::notifyCurrentRequestConnectionClosedOrFiredVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::prefetchCursor):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromServer):
(WebCore::IDBServer::UniqueIDBDatabase::enqueueTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::handleTransactions):
(WebCore::IDBServer::UniqueIDBDatabase::activateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::transactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):
(WebCore::IDBServer::UniqueIDBDatabase::abortActiveTransactions):
(WebCore::IDBServer::UniqueIDBDatabase::close):
(WebCore::IDBServer::UniqueIDBDatabase::takeNextRunnableRequest):
(WebCore::IDBServer::UniqueIDBDatabase::hasAnyPendingCallbacks const): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::isVersionChangeInProgress): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performUnconditionalDeleteBackingStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::shutdownForClose): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didShutdownForClose): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::generateUniqueCallbackIdentifier): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::storeCallbackOrFireError): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performStartVersionChangeTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformStartVersionChangeTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didOpenBackingStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performRenameObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformRenameObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformClearObjectStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateIndex): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteIndex): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteIndex): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performRenameIndex): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformRenameIndex): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformPutOrAdd): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformGetRecord): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performGetAllRecords): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformGetAllRecords): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performGetCount): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformGetCount): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteRecord): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performOpenCursor): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformOpenCursor): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performPrefetchCursor): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformIterateCursor): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::prepareToFinishTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::transactionDestroyed): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::confirmDidCloseFromServer): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::isCurrentlyInUse const): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::hasUnfinishedTransactions const): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::operationAndTransactionTimerFired): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performActivateTransactionInBackingStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformActivateTransactionInBackingStore): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTask): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTaskReply): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTaskReply): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::maybeFinishHardClose): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::isDoneWithHardClose): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performErrorCallback): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performKeyDataCallback): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performGetResultCallback): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performGetAllResultsCallback): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::performCountCallback): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::forgetErrorCallback): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::abortTransactionOnMainThread): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::commitTransactionOnMainThread): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::suspend): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::resume): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabase.h:

(WebCore::IDBServer::UniqueIDBDatabase::server):
(WebCore::IDBServer::UniqueIDBDatabase::hardClosedForUserDelete const): Deleted.
(): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp: The callbacks will be called right away, so there

is no need to keep weak pointers.
(WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFireVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::establishTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::confirmDidCloseFromServer): Deleted.

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::database):
(WebCore::IDBServer::UniqueIDBDatabaseConnection::server):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::~UniqueIDBDatabaseTransaction):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abort):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::commit):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::openCursor):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::iterateCursor):

  • Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:

(WebCore::IDBServer::UniqueIDBDatabaseTransaction::databaseConnection):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::setMainThreadAbortResult):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::mainThreadAbortResult const):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::setState): Deleted.
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::state const): Deleted.
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::setResult): Deleted.
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::result const): Deleted.
(): Deleted.

  • Modules/indexeddb/shared/IDBResourceIdentifier.cpp:

(WebCore::nextServerResourceNumber):

  • loader/EmptyClients.cpp:

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::~WebIDBConnectionToClient):

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::WebIDBServer::create):
(WebKit::WebIDBServer::WebIDBServer):
(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::suspend):
(WebKit::WebIDBServer::resume):
(WebKit::WebIDBServer::openDatabase):
(WebKit::WebIDBServer::deleteDatabase):
(WebKit::WebIDBServer::abortTransaction):
(WebKit::WebIDBServer::commitTransaction):
(WebKit::WebIDBServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBServer::createObjectStore):
(WebKit::WebIDBServer::deleteObjectStore):
(WebKit::WebIDBServer::renameObjectStore):
(WebKit::WebIDBServer::clearObjectStore):
(WebKit::WebIDBServer::createIndex):
(WebKit::WebIDBServer::deleteIndex):
(WebKit::WebIDBServer::renameIndex):
(WebKit::WebIDBServer::putOrAdd):
(WebKit::WebIDBServer::getRecord):
(WebKit::WebIDBServer::getAllRecords):
(WebKit::WebIDBServer::getCount):
(WebKit::WebIDBServer::deleteRecord):
(WebKit::WebIDBServer::openCursor):
(WebKit::WebIDBServer::iterateCursor):
(WebKit::WebIDBServer::establishTransaction):
(WebKit::WebIDBServer::databaseConnectionPendingClose):
(WebKit::WebIDBServer::databaseConnectionClosed):
(WebKit::WebIDBServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBServer::didFireVersionChangeEvent):
(WebKit::WebIDBServer::openDBRequestCancelled):
(WebKit::WebIDBServer::getAllDatabaseNames):
(WebKit::WebIDBServer::addConnection):
(WebKit::WebIDBServer::removeConnection):
(WebKit::WebIDBServer::postTask):
(WebKit::WebIDBServer::dispatchToThread):
(WebKit::WebIDBServer::registerConnection): Deleted.
(WebKit::WebIDBServer::unregisterConnection): Deleted.
(WebKit::WebIDBServer::confirmDidCloseFromServer): Deleted.

  • NetworkProcess/IndexedDB/WebIDBServer.h:
  • NetworkProcess/IndexedDB/WebIDBServer.messages.in:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::prepareToSuspend):

  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

(WebKit::WebIDBConnectionToServer::confirmDidCloseFromServer): Deleted.

  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:

Source/WebKitLegacy:

Make class InProcessIDBServer ThreadSafeRefCounted. It now has a background thread which IDBServer runs on.
InProcessIDBServer knows to dispatch tasks to database thread and dispatch task replies to main thread.

  • Storage/InProcessIDBServer.cpp:

(InProcessIDBServer::create):
(InProcessIDBServer::~InProcessIDBServer):
(InProcessIDBServer::InProcessIDBServer):
(InProcessIDBServer::deleteDatabase):
(InProcessIDBServer::didDeleteDatabase):
(InProcessIDBServer::openDatabase):
(InProcessIDBServer::didOpenDatabase):
(InProcessIDBServer::didAbortTransaction):
(InProcessIDBServer::didCommitTransaction):
(InProcessIDBServer::didCreateObjectStore):
(InProcessIDBServer::didDeleteObjectStore):
(InProcessIDBServer::didRenameObjectStore):
(InProcessIDBServer::didClearObjectStore):
(InProcessIDBServer::didCreateIndex):
(InProcessIDBServer::didDeleteIndex):
(InProcessIDBServer::didRenameIndex):
(InProcessIDBServer::didPutOrAdd):
(InProcessIDBServer::didGetRecord):
(InProcessIDBServer::didGetAllRecords):
(InProcessIDBServer::didGetCount):
(InProcessIDBServer::didDeleteRecord):
(InProcessIDBServer::didOpenCursor):
(InProcessIDBServer::didIterateCursor):
(InProcessIDBServer::abortTransaction):
(InProcessIDBServer::commitTransaction):
(InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(InProcessIDBServer::createObjectStore):
(InProcessIDBServer::deleteObjectStore):
(InProcessIDBServer::renameObjectStore):
(InProcessIDBServer::clearObjectStore):
(InProcessIDBServer::createIndex):
(InProcessIDBServer::deleteIndex):
(InProcessIDBServer::renameIndex):
(InProcessIDBServer::putOrAdd):
(InProcessIDBServer::getRecord):
(InProcessIDBServer::getAllRecords):
(InProcessIDBServer::getCount):
(InProcessIDBServer::deleteRecord):
(InProcessIDBServer::openCursor):
(InProcessIDBServer::iterateCursor):
(InProcessIDBServer::establishTransaction):
(InProcessIDBServer::fireVersionChangeEvent):
(InProcessIDBServer::didStartTransaction):
(InProcessIDBServer::didCloseFromServer):
(InProcessIDBServer::notifyOpenDBRequestBlocked):
(InProcessIDBServer::databaseConnectionPendingClose):
(InProcessIDBServer::databaseConnectionClosed):
(InProcessIDBServer::abortOpenAndUpgradeNeeded):
(InProcessIDBServer::didFireVersionChangeEvent):
(InProcessIDBServer::openDBRequestCancelled):
(InProcessIDBServer::getAllDatabaseNames):
(InProcessIDBServer::didGetAllDatabaseNames):
(InProcessIDBServer::closeAndDeleteDatabasesModifiedSince):
(InProcessIDBServer::dispatchTask):
(InProcessIDBServer::dispatchTaskReply):
(InProcessIDBServer::confirmDidCloseFromServer): Deleted.

  • Storage/InProcessIDBServer.h:
  • Storage/WebDatabaseProvider.cpp:

(WebDatabaseProvider::deleteAllDatabases):

11:35 PM Changeset in webkit [253739] by Devin Rousso
  • 12 edits in trunk/Source

Web Inspector: Elements: restrict showing paint flashing and compositing borders to the Web Inspector session
https://bugs.webkit.org/show_bug.cgi?id=205201

Reviewed by Timothy Hatcher.

We often get bugs from users who turn on paint flashing or compositing borders, close Web
Inspector, reopen Web Inspector, and are then surprised when the page flashes red or these
borders exist all over the page.

Given that the dark mode and print styles toggles are limited to the Web Inspector session,
we should make these have the same behavior.

Source/JavaScriptCore:

  • inspector/protocol/Page.json:

Allow Web Inspector to override the showDebugBorders and showRepaintCounter settings via
the inspectorOverride key, rather than setting them manually via a special Page command.

Source/WebCore:

  • page/Settings.yaml:
  • inspector/agents/InspectorPageAgent.h:
  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::getCompositingBordersVisible): Deleted.
(WebCore::InspectorPageAgent::setCompositingBordersVisible): Deleted.
Allow Web Inspector to override the showDebugBorders and showRepaintCounter settings via
the inspectorOverride key, rather than setting them manually via a special Page command.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

(WI.initializeTarget):

  • UserInterface/Base/Setting.js:
  • UserInterface/Controllers/LayerTreeManager.js:

(WI.LayerTreeManager): Added.
(WI.LayerTreeManager.prototype.initializeTarget):
(WI.LayerTreeManager.supportsShowingPaintRects): Added.
(WI.LayerTreeManager.supportsVisibleCompositingBorders): Added.
(WI.LayerTreeManager.prototype.get showPaintRects): Added.
(WI.LayerTreeManager.prototype.set showPaintRects): Added.
(WI.LayerTreeManager.prototype.get compositingBordersVisible): Added.
(WI.LayerTreeManager.prototype.set compositingBordersVisible): Added.
(WI.LayerTreeManager.prototype.updateCompositingBordersVisibleFromPageIfNeeded): Added.
Use WI.LayerTreeManager to control the state of paint flashing and compositing borders, as
they're both related to the concept of layers.

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype.shown):
(WI.DOMTreeContentView.prototype.closed):
(WI.DOMTreeContentView.prototype.attached): Added.
(WI.DOMTreeContentView.prototype.detached): Added.
(WI.DOMTreeContentView.prototype._handleCompositingBordersVisibleChanged): Added.
(WI.DOMTreeContentView.prototype._handleCompositingBordersButtonClicked): Added.
(WI.DOMTreeContentView.prototype._handleShowPaintRectsChanged): Added.
(WI.DOMTreeContentView.prototype._handlePaingFlashingButtonClicked): Added.
(WI.DOMTreeContentView.prototype._toggleCompositingBorders): Deleted.
(WI.DOMTreeContentView.prototype._togglePaintFlashing): Deleted.
(WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings): Deleted.
(WI.DOMTreeContentView.prototype._showPaintRectsSettingChanged): Deleted.

  • UserInterface/Views/Layers3DContentView.js:

(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.shown):
(WI.Layers3DContentView.prototype.hidden):
(WI.Layers3DContentView.prototype.attached): Added.
(WI.Layers3DContentView.prototype.detached): Added.
(WI.Layers3DContentView.prototype._handleCompositingBordersVisibleChanged): Added.
(WI.Layers3DContentView.prototype._handleCompositingBordersButtonClicked): Added.
(WI.Layers3DContentView.prototype._handleShowPaintRectsChanged): Added.
(WI.Layers3DContentView.prototype._handlePaingFlashingButtonClicked): Added.
(WI.Layers3DContentView.prototype.closed): Deleted.
(WI.Layers3DContentView.prototype._showPaintRectsSettingChanged): Deleted.
(WI.Layers3DContentView.prototype._togglePaintFlashing): Deleted.
(WI.Layers3DContentView.prototype._updateCompositingBordersButtonState): Deleted.
(WI.Layers3DContentView.prototype._toggleCompositingBorders): Deleted.

10:35 PM Changeset in webkit [253738] by Chris Dumez
  • 12 edits
    1 move
    39 adds
    1 delete in trunk/LayoutTests

Resync web-platform-tests/dom tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=205420

Reviewed by Ryosuke Niwa.

Resync web-platform-tests/dom tests from upstream b5b7813e9ce247495b0df.

  • resources/resource-files.json:
  • web-platform-tests/dom/*: Updated.
10:18 PM Changeset in webkit [253737] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview/Safari Technology Preview 97

Added a tag for Safari Technology Preview release 97.

9:27 PM Changeset in webkit [253736] by commit-queue@webkit.org
  • 6 edits in trunk

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

"We think this may have caused a membuster regression, so
rolling it out." (Requested by nham on #webkit).

Reverted changeset:

"Navigation from empty page doesn't use cached web process"
https://bugs.webkit.org/show_bug.cgi?id=205015
https://trac.webkit.org/changeset/253646

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

REGRESSION: [ Mac wk2 ] tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205364
<rdar://problem/58025862>

Reviewed by Simon Fraser.

Fix the test by waiting for rAF and avoid running checkForScroll more than once.

  • platform/mac-wk2/TestExpectations: Removed the flaky expectation.
  • tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html:
7:12 PM Changeset in webkit [253734] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205363
<rdar://problem/58025488>

Reviewed by Wenson Hsieh.

Fix the test by waiting for rAF and avoid running checkForScroll more than once.

  • platform/mac-wk2/TestExpectations:
  • tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html:
6:38 PM Changeset in webkit [253733] by commit-queue@webkit.org
  • 5 edits in trunk

Add SPI WKWebView._updateWebpagePreferences to replace _updateWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=205427

Patch by Alex Christensen <achristensen@webkit.org> on 2019-12-18
Reviewed by Wenson Hsieh.

Source/WebKit:

This blocks the removal of _WKWebsitePolicies.
This change is verified by an API test.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateWebsitePolicies:]):
(-[WKWebView _updateWebpagePreferences:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(TEST):

6:38 PM Changeset in webkit [253732] by ysuzuki@apple.com
  • 2 edits in trunk/Source/WTF

Unreviewed, build fix after r253730
https://bugs.webkit.org/show_bug.cgi?id=204398

Thread::destructTLS is always required in POSIX environments

  • wtf/Threading.h:
6:21 PM Changeset in webkit [253731] by timothy_horton@apple.com
  • 6 edits in trunk/Source

macCatalyst: Cursor should update when the platform deems it necessary
https://bugs.webkit.org/show_bug.cgi?id=205429
<rdar://problem/57983076>

Reviewed by Wenson Hsieh.

  • Shared/ios/InteractionInformationAtPosition.h:
  • Shared/ios/InteractionInformationAtPosition.mm:

(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::positionInformation):
Expose the current cursor and caret size on position information so
that macCatalyst UIKit can retrieve it out-of-band (in addition to
setting it when we do a hit-test, like in r253636).

  • page/EventHandler.h:

Expose selectCursor for WebKit's use.

6:01 PM Changeset in webkit [253730] by Fujii Hironori
  • 5 edits in trunk/Source/WTF

[Win] Use thread_local to hold Ref<WTF::Thread> in the thread rather than using FLS
https://bugs.webkit.org/show_bug.cgi?id=204398

Reviewed by Yusuke Suzuki.

Use thread_local which is faster than FLS.

  • wtf/Threading.cpp:

(WTF::initializeThreading):

  • wtf/Threading.h:

(WTF::Thread::current):

  • wtf/ThreadingPrimitives.h: Deleted threadSpecificKeyCreate and

related functions which aren't used now in Windows port. Deleted
THREAD_SPECIFIC_CALL macro which isn't used now.

  • wtf/win/ThreadingWin.cpp: Added a thread_local variable s_threadHolder.

(WTF::Thread::ThreadHolder::~ThreadHolder): Added.
(WTF::Thread::currentMayBeNull):
(WTF::Thread::initializeTLS): Store a reference of Thread into s_threadHolder.
(WTF::Thread::initializeTLSKey): Deleted.
(WTF::Thread::destructTLS): Deleted.

4:35 PM Changeset in webkit [253729] by Jonathan Bedard
  • 2 edits in trunk/Tools

test-lldb-webkit: Run in CI (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=205315

Unreviewed follow-up fix.

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

(RunWebKitPyTests.start): Call method of parent class to avoid infinite recursion.

4:30 PM Changeset in webkit [253728] by commit-queue@webkit.org
  • 4 edits
    2 adds
    1 delete in trunk

Animations stop if new tab opened (and closed)
https://bugs.webkit.org/show_bug.cgi?id=202360
<rdar://problem/55923261>

Patch by Antoine Quint <Antoine Quint> on 2019-12-18
Reviewed by Dean Jackson.

Source/WebCore:

In the case where we would have a fill-forwards software animation when an animation that could be
accelerated started, we would fail to start an accelerated animation because we had no composited
renderer. However, we would still advertise a state of "running accelerated" and the DocumentTimeline
would not schedule ticks to run the animation in software.

We now only schedule accelerated animations once their delay phase is over and the animation is in its
"active" phase, which helps to only schedule accelerated animations once they actually have an effect
that is worth accelerating, and reset pending accelerated actions in case we try to start an accelerated
animation but fail to because we don't have a composited renderer.

Test: webanimations/animation-of-accelerated-property-after-non-accelerated-property.html

  • animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::apply):
(WebCore::KeyframeEffect::updateAcceleratedAnimationState):
(WebCore::KeyframeEffect::applyPendingAcceleratedActions):

  • animation/KeyframeEffect.h:

LayoutTests:

Add a ref test that checks that an element with a software animation followed by an animation of a property
that can be accelerated yields animations in both cases.

Also, somehow, the WPT test dom/events/Event-dispatch-on-disabled-elements.html seems to now pass an extra
test that would fail on iOS and now behaves like macOS, so we remove that platform-specific expectation.

  • platform/ios/imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements-expected.txt
  • webanimations/animation-of-accelerated-property-after-non-accelerated-property-expected.html: Added.
  • webanimations/animation-of-accelerated-property-after-non-accelerated-property.html: Added.
3:57 PM Changeset in webkit [253727] by Alan Coon
  • 1 edit in branches/safari-608-branch/Source/WebCore/loader/FrameLoader.cpp

Fix merge conflict resolution. rdar://problem/58049166

3:47 PM Changeset in webkit [253726] by Alan Coon
  • 10 edits in branches/safari-609.1.13-branch

Revert r253493. rdar://problem/58028534

3:21 PM Changeset in webkit [253725] by Alan Coon
  • 8 edits in tags/Safari-609.1.12.3/Source

Versioning.

3:17 PM Changeset in webkit [253724] by Alan Coon
  • 1 copy in tags/Safari-609.1.12.3

New tag.

2:52 PM Changeset in webkit [253723] by achristensen@apple.com
  • 8 edits in trunk

Add ObjC version of WKBundleFrameIsMainFrame
https://bugs.webkit.org/show_bug.cgi?id=205415

Reviewed by Brian Weinstein.

Source/WebKit:

I need this for rdar://problem/57132290
Covered by API tests.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:

(-[WKWebProcessPlugInFrame isMainFrame]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:

(-[UserContentWorldRemoteObject didObserveMainFrame]):
(-[UserContentWorldRemoteObject didObserveSubframe]):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentWorldPlugIn.mm:

(-[UserContentWorldPlugIn webProcessPlugInBrowserContextController:globalObjectIsAvailableForFrame:inScriptWorld:]):

  • TestWebKitAPI/Tests/WebKitCocoa/UserContentWorldProtocol.h:
2:29 PM Changeset in webkit [253722] by eric.carlson@apple.com
  • 11 edits in trunk/Source

Remove more unused MediaPlayer methods
https://bugs.webkit.org/show_bug.cgi?id=205405
<rdar://problem/58049744>

Reviewed by Jer Noble.

Source/WebCore:

No new tests, this just removes unused code.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerIsInMediaDocument const): Deleted.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::inMediaDocument const): Deleted.
(WebCore::MediaPlayer::handlePlaybackCommand): Deleted.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerPlatformVolumeConfigurationRequired const):
(WebCore::MediaPlayerClient::mediaPlayerHandlePlaybackCommand): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerIsInMediaDocument const): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::requestedRate const): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::metaDataAvailable const):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformPlay):

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::mediaPlayerHandlePlaybackCommand): Deleted.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsInMediaDocument const): Deleted.

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
2:22 PM Changeset in webkit [253721] by Jonathan Bedard
  • 6 edits
    3 adds in trunk/Tools

results.webkit.org: Serve files in uploaded archive
https://bugs.webkit.org/show_bug.cgi?id=201654

Reviewed by Stephanie Lewis.

  • resultsdbpy/resultsdbpy/controller/configuration.py:

(Configuration.to_query): Conver a configuration object to a query string.

  • resultsdbpy/resultsdbpy/controller/configuration_unittest.py:

(ConfigurationUnittest):
(ConfigurationUnittest.test_to_query):

  • resultsdbpy/resultsdbpy/flask_support/util.py:

(query_as_string): Convert the current query to a string.

  • resultsdbpy/resultsdbpy/model/archive_context.py:

(ArchiveContext._files_for_archive): Python's shutil creates archives which
don't have have a root directory.
(ArchiveContext.file): We need to add query parameters to relative links
In the returned file.

  • resultsdbpy/resultsdbpy/view/archive_view.py: Added.

(ArchiveView):
(ArchiveView.init):
(ArchiveView.list): Return html which lists and links to the provided paths.
(ArchiveView.extract): Endpoint which extracts a file from an archive matching
the provided arguments.

  • resultsdbpy/resultsdbpy/view/archive_view_unittest.py: Added.

(ArchiveViewUnittest):
(ArchiveViewUnittest.register_archive):
(ArchiveViewUnittest.test_directory):
(ArchiveViewUnittest.test_file):

  • resultsdbpy/resultsdbpy/view/templates/archive_list.html: Added.
  • resultsdbpy/resultsdbpy/view/view_routes.py:

(ViewRoutes.init): Add archive endpoints.

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

Cherry-pick r253654. rdar://problem/58049166

executeIfJavaScriptURL should check requester's security origin
https://bugs.webkit.org/show_bug.cgi?id=205324

Reviewed by Brent Fulgham.

Don't execute the JavaScript in ScriptController::executeIfJavaScriptURL if the security origin
of the current document is no longer accessible from the request originator's security origin.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeIfJavaScriptURL): Added a check.
  • bindings/js/ScriptController.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::urlSelected): Pass around the security origin of the requester. (WebCore::FrameLoader::submitForm):

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

2:05 PM Changeset in webkit [253719] by Matt Lewis
  • 2 edits in trunk/Tools

Update WebGL bot hostname
https://bugs.webkit.org/show_bug.cgi?id=205349

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Changed hostname

to bring it in line with non standard testers.

2:05 PM Changeset in webkit [253718] by yurys@chromium.org
  • 7 edits
    3 adds in trunk

Web Inspector: Runtime.enable reports duplicates (non existent) contexts
https://bugs.webkit.org/show_bug.cgi?id=204859

Reviewed by Devin Rousso.

Source/WebCore:

Do not report main world context as non-main world one when Runtime.enable is called.

Test: inspector/runtime/executionContextCreated-onEnable.html

  • inspector/agents/page/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::enable):
(WebCore::PageRuntimeAgent::reportExecutionContextCreation):

Source/WebInspectorUI:

Assert that all contexts added to the list are unique.

  • UserInterface/Models/ExecutionContextList.js:

(WI.ExecutionContextList.prototype.add):

LayoutTests:

Test that only existing contexts are reported.

  • http/tests/inspector/resources/stable-id-map.js: Added.

(TestPage.registerInitializer.window.StableIdMap):
(TestPage.registerInitializer.window.StableIdMap.prototype.get size):
(TestPage.registerInitializer.window.StableIdMap.prototype.get let):
(TestPage.registerInitializer):

  • http/tests/inspector/target/provisional-load-cancels-previous-load.html:
  • inspector/runtime/executionContextCreated-onEnable-expected.txt: Added.
  • inspector/runtime/executionContextCreated-onEnable.html: Added.
2:03 PM Changeset in webkit [253717] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Optimize Style::Invalidator for multiple RuleSet case
https://bugs.webkit.org/show_bug.cgi?id=205406

Reviewed by Zalan Bujtas.

  • style/StyleInvalidator.cpp:

(WebCore::Style::m_dirtiesAllStyle):
(WebCore::Style::Invalidator::Invalidator):
(WebCore::Style::Invalidator::collectRuleInformation):

Collect bunch of bits so we don't need to traverse again.

(WebCore::Style::Invalidator::invalidateIfNeeded):

Bail out when we find a reson to invalidate.

(WebCore::Style::Invalidator::invalidateStyle):
(WebCore::Style::Invalidator::invalidateInShadowTreeIfNeeded):

  • style/StyleInvalidator.h:
1:47 PM Changeset in webkit [253716] by Andres Gonzalez
  • 7 edits in trunk/Source/WebCore

AXIsolatedObject support for spin button increment/decrementButton.
https://bugs.webkit.org/show_bug.cgi?id=205356

Reviewed by Chris Fleizach.

Several LayoutTests exercise this functionality.

  • Exposed increment/decrementButton in AXCoreObject in order to

properly support it in AXIsolatedObject.

  • Used AXCoreObject::increment/decrementButton in the wrapper instead

of downcasting to an implementation class, which does not work for an
isolated object.

  • Implemented AXIsolatedObject::isDetachedFromParent.
  • Fixed initialization of AXIsolatedObject::m_parent and m_id.
  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/AccessibilitySpinButton.h:
  • accessibility/isolatedtree/AXIsolatedTreeNode.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData):
(WebCore::AXIsolatedObject::isDetachedFromParent):
(WebCore::AXIsolatedObject::isAccessibilityScrollView const):

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

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

1:44 PM Changeset in webkit [253715] by Alan Coon
  • 2 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r253662. rdar://problem/58049156

Limit URL to reasonable size
https://bugs.webkit.org/show_bug.cgi?id=203825
<rdar://problem/56878680>

Reviewed by Ryosuke Niwa.

  • page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::canDisplay const): Place an upper bound on the amount of memory a URL may consume.

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

1:43 PM Changeset in webkit [253714] by Alan Coon
  • 2 edits in branches/safari-608-branch/Source/WebCore

Cherry-pick r253653. rdar://problem/58049166

Document::setFocusedElement should not set m_focusedElement to an element in another document
https://bugs.webkit.org/show_bug.cgi?id=205325

Reviewed by Wenson Hsieh.

Added an early exit for when the newly focused element had moved
while blurring the previously focused element.

  • dom/Document.cpp: (WebCore::Document::setFocusedElement):

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

1:43 PM Changeset in webkit [253713] by Alan Coon
  • 6 edits
    4 adds in branches/safari-608-branch

Cherry-pick r253563. rdar://problem/58049160

Consider top-level context whose origin is unique as insecure
https://bugs.webkit.org/show_bug.cgi?id=205111
Source/WebCore:

Reviewed by Brent Fulgham.

Tests: http/tests/security/top-level-unique-origin.https.html

http/tests/security/top-level-unique-origin2.https.html

  • dom/Document.cpp: (WebCore::Document::isSecureContext const): There is no guarantee that top level unique origin contexts like data URL are SecureContext. This patch makes them no longer SecureContext. This helps getting closer to https://w3c.github.io/webappsec-secure-contexts/#is-url-trustworthy which identifies all unique origins as "Not Trustworthy". Child unique origin contexts will stay SecureContext if their parents are.

Tools:

<rdar://problem/57834967>

Reviewed by Brent Fulgham.

  • TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm: (TEST): Disable secure context checks so that loading directly about:blank from the API test can call DeviceOrientationEvent.requestPermission() successfully.

LayoutTests:

Reviewed by Brent Fulgham.

  • http/tests/security/top-level-unique-origin.https-expected.txt: Added.
  • http/tests/security/top-level-unique-origin.https.html: Added.
  • http/tests/security/top-level-unique-origin2.https-expected.txt: Added.
  • http/tests/security/top-level-unique-origin2.https.html: Added.
  • platform/win/TestExpectations: Skipping second test as timing out in windows.

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

1:43 PM Changeset in webkit [253712] by Alan Coon
  • 4 edits
    2 adds in branches/safari-608-branch

Cherry-pick r253544. rdar://problem/58049164

SecurityOrigin should be unique for null blob URLs that have been unregistered
https://bugs.webkit.org/show_bug.cgi?id=205169

Reviewed by Darin Adler.

Source/WebCore:

In case we cannot retrieve a cached origin for a null origin, just create a unique one.
This is better than having an origin with an empty host and empty scheme.

Test: http/tests/security/blob-null-url-location-origin.html

  • fileapi/ThreadableBlobRegistry.cpp: (WebCore::ThreadableBlobRegistry::unregisterBlobURL): (WebCore::ThreadableBlobRegistry::getCachedOrigin):

LayoutTests:

  • http/tests/security/blob-null-url-location-origin-expected.txt: Added.
  • http/tests/security/blob-null-url-location-origin.html: Added.
  • platform/win/TestExpectations: Skipping test as timing out in windows.

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

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

[LFC][IFC] LineLayoutContext::m_uncommittedList is not always a continuous list of runs
https://bugs.webkit.org/show_bug.cgi?id=205404
<rdar://problem/58049699>

Reviewed by Antti Koivisto.

Since LineLayoutContext's m_uncommittedList is not necessarily continuous set of runs (continuous in the content of not having a soft wrap opportunity)
we can't use LineBreaker's Content struct anymore to store the uncommitted content.
Let's use a dedicated UncommittedContent struct instead. It also enables us to pass in a const RunList& to the ContinousContent. ContinousContent should never mutate this list.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::shouldKeepEndOfLineWhitespace):
(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
(WebCore::Layout::LineBreaker::ContinousContent::ContinousContent):
(WebCore::Layout::LineBreaker::ContinousContent::hasTextContentOnly const):
(WebCore::Layout::LineBreaker::ContinousContent::isVisuallyEmptyWhitespaceContentOnly const):
(WebCore::Layout::LineBreaker::ContinousContent::firstTextRunIndex const):
(WebCore::Layout::LineBreaker::ContinousContent::hasNonContentRunsOnly const):
(WebCore::Layout::LineBreaker::ContinousContent::TrailingCollapsibleContent::reset):
(WebCore::Layout::LineBreaker::Content::append): Deleted.
(WebCore::Layout::LineBreaker::Content::reset): Deleted.
(WebCore::Layout::LineBreaker::Content::shrink): Deleted.
(WebCore::Layout::LineBreaker::Content::hasTextContentOnly const): Deleted.
(WebCore::Layout::LineBreaker::Content::isVisuallyEmptyWhitespaceContentOnly const): Deleted.
(WebCore::Layout::LineBreaker::Content::firstTextRunIndex const): Deleted.
(WebCore::Layout::LineBreaker::Content::hasNonContentRunsOnly const): Deleted.
(WebCore::Layout::LineBreaker::Content::TrailingCollapsibleContent::reset): Deleted.

  • layout/inlineformatting/InlineLineBreaker.h:

(WebCore::Layout::LineBreaker::ContinousContent::runs const):
(WebCore::Layout::LineBreaker::ContinousContent::isEmpty const):
(WebCore::Layout::LineBreaker::ContinousContent::size const):
(WebCore::Layout::LineBreaker::Content::runs): Deleted.
(WebCore::Layout::LineBreaker::Content::runs const): Deleted.
(WebCore::Layout::LineBreaker::Content::isEmpty const): Deleted.
(WebCore::Layout::LineBreaker::Content::size const): Deleted.
(WebCore::Layout::LineBreaker::Content::width const): Deleted.
(WebCore::Layout::LineBreaker::Content::nonCollapsibleWidth const): Deleted.
(WebCore::Layout::LineBreaker::Content::hasTrailingCollapsibleContent const): Deleted.
(WebCore::Layout::LineBreaker::Content::isTrailingContentFullyCollapsible const): Deleted.

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::processUncommittedContent):
(WebCore::Layout::LineLayoutContext::UncommittedContent::append):
(WebCore::Layout::LineLayoutContext::UncommittedContent::reset):
(WebCore::Layout::LineLayoutContext::UncommittedContent::shrink):

  • layout/inlineformatting/LineLayoutContext.h:

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

12:44 PM Changeset in webkit [253710] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

Protect ServiceWorker::postMessage from a null execState
https://bugs.webkit.org/show_bug.cgi?id=205394
<rdar://problem/57392221>

Reviewed by Chris Dumez.

Crash logs indicate null pointer crashes.
We should return early in that case.

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::postMessage):

12:32 PM Changeset in webkit [253709] by Jonathan Bedard
  • 3 edits in trunk/Tools

GPU-Process: Bring up automated tester
https://bugs.webkit.org/show_bug.cgi?id=205229

Reviewed by Stephanie Lewis.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Add GPU Process tester,

derived from debug testing queue.

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

[LFC][IFC] LineBreaker::lastSoftWrapOpportunity should take a list of runs
https://bugs.webkit.org/show_bug.cgi?id=205402
<rdar://problem/58048310>

Reviewed by Antti Koivisto.

LineBreaker::Content is supposed to hold a continuous set of runs and the input to lastSoftWrapOpportunity is not
necessarily continuous (most of the time it is though).

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::isContentSplitAllowed):
(WebCore::Layout::LineBreaker::wrapTextContent const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::LineBreaker::lastSoftWrapOpportunity):
(WebCore::Layout::LineBreaker::Content::lastSoftWrapOpportunity): Deleted.

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

(WebCore::Layout::LineLayoutContext::placeInlineItem):

12:17 PM Changeset in webkit [253707] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

AppCache should request certificate info when loading resources
https://bugs.webkit.org/show_bug.cgi?id=205393

Reviewed by Anders Carlsson.

Covered by existing tests not crashing in Debug with newly added ASSERT.

  • Modules/mediastream/UserMediaController.cpp:

(WebCore::isSecure):
ASSERT that certificate info is there.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
ASSERT that certificate info is there.

  • loader/appcache/ApplicationCacheResourceLoader.cpp:

(WebCore::ApplicationCacheResourceLoader::create):
Request certificate info for all app cache resources.

12:06 PM Changeset in webkit [253706] by Devin Rousso
  • 7 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: Elements: remove the "Show/Hide Shadow DOM" navigation item
https://bugs.webkit.org/show_bug.cgi?id=205199

Reviewed by Timothy Hatcher.

There's really no good reason to hide shadow DOM, especially for non-user-agent shadow trees.
The user has full control over whether to expand/collapse shadow trees (and their hosts), so
having a setting that entirely removes the shadow trees from view throughout Web Inspector
seems overkill.

  • UserInterface/Base/Setting.js:
  • UserInterface/Models/DOMNode.js:

(WI.DOMNode):
(WI.DOMNode.prototype.get nextSibling):
(WI.DOMNode.prototype.get previousSibling):
(WI.DOMNode.prototype.get children):
(WI.DOMNode.prototype.get childNodeCount):

  • UserInterface/Views/DOMTreeContentView.js:

(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype.get navigationItems):
(WI.DOMTreeContentView.prototype.closed):
(WI.DOMTreeContentView.prototype._showShadowDOMSettingChanged): Deleted.
(WI.DOMTreeContentView.prototype._toggleShowsShadowDOMSetting): Deleted.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype.close):
(WI.DOMTreeOutline.prototype._revealAndSelectNode):
(WI.DOMTreeOutline.prototype._showShadowDOMSettingChanged): Deleted.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.js:

(WI.LayerTreeDetailsSidebarPanel.prototype.initialLayout):
(WI.LayerTreeDetailsSidebarPanel.prototype._updateDisplayWithLayers):
(WI.LayerTreeDetailsSidebarPanel.prototype._showShadowDOMSettingChanged): Deleted.

  • UserInterface/Images/ShadowDOM.svg: Removed.
  • Localizations/en.lproj/localizedStrings.js:
11:40 AM Changeset in webkit [253705] by youenn@apple.com
  • 21 edits in trunk

Add support for Audio Capture in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205056

Reviewed by Eric Carlson.

Source/WebCore:

Export some WebCore headers.
Allow disabling the audio session debug assert in the GPU process.
No change of behavior.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/mac/BaseAudioSharedUnit.cpp:

(WebCore::BaseAudioSharedUnit::startUnit):

  • platform/mediastream/mac/BaseAudioSharedUnit.h:

(WebCore::BaseAudioSharedUnit::setDisableAudioSessionCheck):

  • platform/mediastream/mac/MockAudioSharedUnit.h:

Source/WebKit:

Make UserMediaCaptureManager and Proxy able to work with GPU process.
Add support for capturing audio in the GPU process, this is limited to mock audio sources for now
as we do not support AudioSession in the GPU process.
Covered by rebased test.

  • GPUProcess/GPUConnectionToWebProcess.cpp:

(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
(WebKit::GPUConnectionToWebProcess::didReceiveMessage):
(WebKit::GPUConnectionToWebProcess::didReceiveSyncMessage):

  • GPUProcess/GPUConnectionToWebProcess.h:
  • GPUProcess/GPUProcess.cpp:

(WebKit::GPUProcess::setMockCaptureDevicesEnabled):

  • GPUProcess/GPUProcess.h:
  • GPUProcess/GPUProcess.messages.in:
  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:

(WebKit::UserMediaCaptureManagerProxy::UserMediaCaptureManagerProxy):
(WebKit::UserMediaCaptureManagerProxy::~UserMediaCaptureManagerProxy):
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
(WebKit::UserMediaCaptureManagerProxy::applyConstraints):
(WebKit::UserMediaCaptureManagerProxy::clone):

  • UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:

(WebKit::UserMediaCaptureManagerProxy::didReceiveMessageFromGPUProcess):
(WebKit::UserMediaCaptureManagerProxy::didReceiveSyncMessageFromGPUProcess):

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs const):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:
  • WebProcess/GPU/GPUProcessConnection.cpp:

(WebKit::GPUProcessConnection::didReceiveMessage):

  • WebProcess/GPU/GPUProcessConnection.h:
  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::Source::setShouldCaptureInGPUProcess):
(WebKit::UserMediaCaptureManager::Source::shouldCaptureInGPUProcess const):
(WebKit::UserMediaCaptureManager::Source::requestToEnd):
(WebKit::UserMediaCaptureManager::createCaptureSource):
(WebKit::UserMediaCaptureManager::sourceStopped):
(WebKit::UserMediaCaptureManager::captureFailed):
(WebKit::UserMediaCaptureManager::Source::connection):
(WebKit::UserMediaCaptureManager::Source::startProducingData):
(WebKit::UserMediaCaptureManager::Source::stopProducingData):
(WebKit::UserMediaCaptureManager::Source::capabilities):
(WebKit::UserMediaCaptureManager::Source::applyConstraints):
(WebKit::UserMediaCaptureManager::sourceEnded):
(WebKit::UserMediaCaptureManager::Source::hasEnded):
(WebKit::UserMediaCaptureManager::Source::stopBeingObserved):
(WebKit::UserMediaCaptureManager::AudioFactory::createAudioCaptureSource):

  • WebProcess/cocoa/UserMediaCaptureManager.h:

(WebKit::UserMediaCaptureManager::didReceiveMessageFromGPUProcess):

LayoutTests:

  • fast/mediastream/captureAudioInGPUProcess-expected.txt:
11:39 AM Changeset in webkit [253704] by Chris Dumez
  • 17 edits in trunk/LayoutTests

Unreviewed, rebaseline all service workers tests and unskip 2 that no longer time out.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/client-navigate.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-include-uncontrolled.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/dedicated-worker-service-worker-interception.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video-cache.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-video.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/multipart-image.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/performance-timeline.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/sandboxed-iframe-fetch-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-installed.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/update-not-allowed.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/update.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/worker-client-id.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/worker-in-sandboxed-iframe-by-csp-fetch-event.https-expected.txt:

LayoutTests:

11:31 AM Changeset in webkit [253703] by Alan Coon
  • 2 edits in tags/Safari-609.1.12.2/Source/WebKit

Cherry-pick r253696. rdar://problem/58046272

Add syscall to GPU Process sandbox
https://bugs.webkit.org/show_bug.cgi?id=205400
<rdar://problem/58046272>

Reviewed by Simon Fraser.

This patch temporarily adds a syscall to the sandbox to work around a bug in the
system Sandbox framework. We will remove this in Bug 205400 once that issue is
resolved.

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

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

11:28 AM Changeset in webkit [253702] by commit-queue@webkit.org
  • 8 edits
    1 add in trunk/Source

Add network loading signposts
https://bugs.webkit.org/show_bug.cgi?id=204822
<rdar://problem/57608824>

Patch by Ben Nham <Ben Nham> on 2019-12-18
Reviewed by Alex Christensen.

This adds os_signposts related to network loads to aid in debugging networking performance
issues. Since URLs are logged in the signposts, this capability is only enabled on Apple
internal builds when an environment variable is set.

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/spi/cocoa/OSVariantSPI.h: Added.

Source/WebKit:

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::signpostLogHandle):
(WebKit::signpostsEnabled):
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::didSendData):
(WebKit::NetworkDataTaskCocoa::didReceiveChallenge):
(WebKit::NetworkDataTaskCocoa::didCompleteWithError):
(WebKit::NetworkDataTaskCocoa::didReceiveData):
(WebKit::NetworkDataTaskCocoa::didReceiveResponse):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCocoa::cancel):
(WebKit::NetworkDataTaskCocoa::resume):

Source/WTF:

  • wtf/Platform.h:

Add HAVE_OS_SIGNPOST.

11:27 AM Changeset in webkit [253701] by Alan Coon
  • 8 edits in tags/Safari-609.1.12.2/Source

Versioning.

11:25 AM Changeset in webkit [253700] by Alan Coon
  • 1 copy in tags/Safari-609.1.12.2

New tag.

11:23 AM Changeset in webkit [253699] by youenn@apple.com
  • 5 edits in trunk/Source/WebKit

Refine RTCMonitor logging
https://bugs.webkit.org/show_bug.cgi?id=205384

Reviewed by Eric Carlson.

Catch the case where the rtc thread is blocked in WebProcess and NetworkProcess.
Add logging of 'this' so as to disambiguate the case of several pages doing RTC in parallel.
No change of behavior.

  • NetworkProcess/webrtc/NetworkRTCMonitor.cpp:

(WebKit::NetworkRTCMonitor::startUpdatingIfNeeded):
(WebKit::NetworkRTCMonitor::stopUpdating):
(WebKit::NetworkRTCMonitor::onNetworksChanged):

  • NetworkProcess/webrtc/NetworkRTCProvider.cpp:

(WebKit::NetworkRTCProvider::NetworkRTCProvider):
(WebKit::NetworkRTCProvider::close):
(WebKit::NetworkRTCProvider::createSocket):

  • NetworkProcess/webrtc/NetworkRTCProvider.h:

(WebKit::NetworkRTCProvider::canLog const):

  • WebProcess/Network/webrtc/WebRTCMonitor.cpp:

(WebKit::WebRTCMonitor::StartUpdating):
(WebKit::WebRTCMonitor::StopUpdating):
(WebKit::WebRTCMonitor::networksChanged):

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

REGRESSION: [ Mac ] accessibility/presentation-role-iframe.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205403

Unreviewed test gardening.

  • platform/mac/TestExpectations:
11:02 AM Changeset in webkit [253697] by Kate Cheney
  • 20 edits in trunk

Only report prevalent domains in the ResourceLoadStatistics data summary API
https://bugs.webkit.org/show_bug.cgi?id=205281
<rdar://problem/57975017>

Reviewed by Brent Fulgham.

Source/WebKit:

ResourceLoadStatisticsStore::aggregatedThirdPartyData() should only
return prevalent third party domains.

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

Tools:

Update the GetResourceLoadStatisticsDataSummary to set third parties
as prevalent to maintain test functionality.

  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:

(TEST):

LayoutTests:

The tests for the ITP data summary had to be updated to set their
third party domains to be prevalent to maintain test functionality.

All http/tests/resourceLoadStatistics/(dont-)count* tests should
no longer output the ITP data summary because the domains are not
set as prevalent.

  • http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database-expected.txt:
  • http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-database.html:
  • http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access-expected.txt:
  • http/tests/resourceLoadStatistics/aggregate-sorted-data-no-storage-access.html:
  • http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-database-expected.txt:
  • http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker-expected.txt:
  • http/tests/resourceLoadStatistics/count-third-party-script-loads-database-expected.txt:
  • http/tests/resourceLoadStatistics/count-third-party-script-loads-expected.txt:
  • http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-database-expected.txt:
  • http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script-expected.txt:
  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database-expected.txt:
  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access-database.html:
  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access-expected.txt:
  • http/tests/storageAccess/aggregate-sorted-data-with-storage-access.html:
10:54 AM Changeset in webkit [253696] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Add syscall to GPU Process sandbox
https://bugs.webkit.org/show_bug.cgi?id=205400
<rdar://problem/58046272>

Reviewed by Simon Fraser.

This patch temporarily adds a syscall to the sandbox to work around a bug in the
system Sandbox framework. We will remove this in Bug 205400 once that issue is
resolved.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
10:51 AM Changeset in webkit [253695] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit

Enable generic cue API
https://bugs.webkit.org/show_bug.cgi?id=205398
<rdar://problem/58044492>

Reviewed by Jon Lee.

No new tests, covered by existing tests.

  • Shared/WebPreferences.yaml:
10:47 AM Changeset in webkit [253694] by Alan Coon
  • 6 edits in branches/safari-609.1.13-branch/Source/JavaScriptCore

Cherry-pick r253608. rdar://problem/57978411

ASSERTION FAILED: length <= maximumLength in js-fixed-array-out-of-memory.js
https://bugs.webkit.org/show_bug.cgi?id=205259
<rdar://problem/57978411>

Reviewed by Mark Lam.

JSImmutableButterfly has moderate size limit on its length, while JSFixedArray does not.
We should check this maximumLength when creating it in Spread. And if it exceeds, we should
throw OOM error.

  • dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileSpread):
  • ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileSpread):
  • runtime/ArrayConventions.h:
  • runtime/IndexingHeader.h:
  • runtime/JSImmutableButterfly.h: (JSC::JSImmutableButterfly::tryCreate): (JSC::JSImmutableButterfly::allocationSize):

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

10:28 AM Changeset in webkit [253693] by eric.carlson@apple.com
  • 22 edits in trunk/Source

Remove unused MediaPlayer methods
https://bugs.webkit.org/show_bug.cgi?id=205341
<rdar://problem/58006776>

Reviewed by Jer Noble.

Source/WebCore:

No new tests, this just removes unused code.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaLoadingFailedFatally):
(WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerSetSize): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerIsPaused const): Deleted.

  • html/HTMLMediaElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::setDisplayMode):

  • html/MediaDocument.cpp:

(WebCore::MediaDocument::MediaDocument):
(WebCore::MediaDocument::~MediaDocument):
(WebCore::MediaDocument::mediaElementSawUnsupportedTracks): Deleted.

  • html/MediaDocument.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::canLoadPoster const): Deleted.
(WebCore::MediaPlayer::setPoster): Deleted.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerContentsScale const):
(WebCore::MediaPlayerClient::mediaPlayerPlatformVolumeConfigurationRequired const):
(WebCore::MediaPlayerClient::mediaPlayerSawUnsupportedTracks): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerSetSize): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerIsPaused const): Deleted.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setSize):
(WebCore::MediaPlayerPrivateInterface::canLoadPoster const): Deleted.
(WebCore::MediaPlayerPrivateInterface::setPoster): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::setSize): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::repaint): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible): Deleted.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize): Deleted.

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

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::mediaPlayerSawUnsupportedTracks): Deleted.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRepaint): Deleted.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerAcceleratedCompositingEnabled): Deleted.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerSetSize): Deleted.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsPaused const): Deleted.
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsLooping const): Deleted.

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::canLoadPoster const): Deleted.
(WebKit::MediaPlayerPrivateRemote::setPoster): Deleted.

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
9:58 AM Changeset in webkit [253692] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Ensure transparency layers are properly ended when only painting root background
https://bugs.webkit.org/show_bug.cgi?id=205285

Patch by Doug Kelly <Doug Kelly> on 2019-12-18
Reviewed by Simon Fraser.

Ensure that if we are in a transparency layer and returning early from paintLayerContents() because of PaintLayerPaintingRootBackgroundOnly, we properly
reset the transparency state before returning.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextStateStackChecker::~GraphicsContextStateStackChecker):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):

9:38 AM Changeset in webkit [253691] by ChangSeok Oh
  • 3 edits in trunk/Source/WebCore

[GTK] WebGL backed by ANGLE flickers when USE_OPENGL_ES is enabled.
https://bugs.webkit.org/show_bug.cgi?id=202508

Reviewed by Žan Doberšek.

The color format and internal one of BitmapTextureGL cannot be matched
where USE_ANGLE_WEBGL and USE_OPENGL_ES are enabled simultaneously.
This causes the flickering issue on WebGL scene since it prevents TextureMapper
from recycling available layer buffers due to mismatched color format.
When ANGLE_WEBGL is enabled, the internal color format is set GL_RGBA8.
However, that is not compatible to GLES textures. To address this,
We always make the color format of BitmapTextureGL GL_RGBA,
and only set its internal color format with a given value.

No new tests since no functionality changed.

  • platform/graphics/nicosia/texmap/NicosiaGC3DLayer.cpp:

(Nicosia::GC3DLayer::swapBuffersIfNeeded):

  • platform/graphics/texmap/BitmapTextureGL.cpp:

(WebCore::BitmapTextureGL::BitmapTextureGL):

9:22 AM Changeset in webkit [253690] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Style::Invalidator should be able to invalidate using multiple RuleSets in one pass
https://bugs.webkit.org/show_bug.cgi?id=205391

Reviewed by Zalan Bujtas.

It is inefficient to do multiple passes over DOM if there are multiple RuleSets to invalidate with.

  • style/AttributeChangeInvalidation.cpp:

(WebCore::Style::AttributeChangeInvalidation::invalidateStyle):

Collect to a HashMap per MatchElement.

(WebCore::Style::AttributeChangeInvalidation::invalidateStyleWithRuleSets):

Call to common invalidation function in Style::Invalidator.

  • style/AttributeChangeInvalidation.h:
  • style/ClassChangeInvalidation.cpp:

(WebCore::Style::ClassChangeInvalidation::computeInvalidation):
(WebCore::Style::ClassChangeInvalidation::invalidateStyleWithRuleSets):

Same for classes.

  • style/ClassChangeInvalidation.h:
  • style/StyleInvalidator.cpp:

(WebCore::Style::Invalidator::Invalidator):

Take a Vector of RuleSets.

(WebCore::Style::Invalidator::invalidateIfNeeded):

Loop as needed.

(WebCore::Style::Invalidator::invalidateStyle):
(WebCore::Style::Invalidator::invalidateInShadowTreeIfNeeded):
(WebCore::Style::Invalidator::invalidateWithMatchElementRuleSets):

Factor the invalidation loop and HashMap to Invalidator.

  • style/StyleInvalidator.h:
9:01 AM Changeset in webkit [253689] by Simon Fraser
  • 10 edits in trunk/Source

Move m_exposedContentRect into the DelegatedScrollingGeometry optional
https://bugs.webkit.org/show_bug.cgi?id=205377

Reviewed by Tim Horton.
Source/WebCore:

ScrollView's m_exposedContentRect is only set for delegated scrolling, so move it into
DelegatedScrollingGeometry and remove the iOS #ifdefs around it. Move the WAK/NSView-related
code into platformExposedContentRect() for iOS WK1. Stub out exposedContentRect() functions
on TiledCoreAnimationDrawingArea.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::exposedContentRect const):
(WebCore::ScrollView::setExposedContentRect):
(WebCore::ScrollView::platformExposedContentRect const):

  • platform/ScrollView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::platformExposedContentRect const):
(WebCore::ScrollView::exposedContentRect const): Deleted.
(WebCore::ScrollView::setExposedContentRect): Deleted.

Source/WebKit:

ScrollView's m_exposedContentRect is only set for delegated scrolling, so move it into
DelegatedScrollingGeometry and remove the iOS #ifdefs around it. Move the WAK/NSView-related
code into platformExposedContentRect() for iOS WK1. Stub out exposedContentRect() functions
on TiledCoreAnimationDrawingArea.

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):
(WebKit::TiledCoreAnimationDrawingArea::setViewExposedRect):
(WebKit::TiledCoreAnimationDrawingArea::exposedContentRect const):
(WebKit::TiledCoreAnimationDrawingArea::setExposedContentRect):
(WebKit::TiledCoreAnimationDrawingArea::adjustLayerFlushThrottling):

8:46 AM Changeset in webkit [253688] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

REGRESSION: 32 Tests Crashing on Mac Debug wk2 with ASSERTION FAILED: m_pendingActivityForEventDispatch
https://bugs.webkit.org/show_bug.cgi?id=205397
<rdar://problem/58043626>

Unreviewed, fix debug assertion after r253667. The debug assertion is confused because we now use
the HTML5 event loop, which takes care of taking an ActiveDOMObject PendingActivity whenever we
queue an event.

  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::getNewestWorker const):
(WebCore::ServiceWorkerRegistration::updateStateFromServer):
(WebCore::ServiceWorkerRegistration::queueTaskToFireUpdateFoundEvent):
(WebCore::ServiceWorkerRegistration::stop):
(WebCore::ServiceWorkerRegistration::hasPendingActivity const):
(WebCore::ServiceWorkerRegistration::getNewestWorker): Deleted.
(WebCore::ServiceWorkerRegistration::updatePendingActivityForEventDispatch): Deleted.

  • workers/service/ServiceWorkerRegistration.h:
8:40 AM Changeset in webkit [253687] by Wenson Hsieh
  • 3 edits in trunk/Source/WebKit

Enable the async clipboard API by default on macOS and iOS
https://bugs.webkit.org/show_bug.cgi?id=205322
<rdar://problem/55861627>

Reviewed by Tim Horton.

Enables the asynchronous clipboard API by default on Cocoa platforms.

  • Shared/WebPreferences.yaml:
  • Shared/WebPreferencesDefaultValues.h:
8:23 AM Changeset in webkit [253686] by dino@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Reverting libANGLE.a -> libANGLE-shared.dylib.

Follow-up to remove the build phase that was trying
to fool Apple's build system.

  • ANGLE.xcodeproj/project.pbxproj:
8:23 AM Changeset in webkit [253685] by Diego Pino Garcia
  • 8 edits
    2 adds in trunk

[GTK][WPE] Renderization of Conic gradients
https://bugs.webkit.org/show_bug.cgi?id=202739

Reviewed by Carlos Alberto Lopez Perez.

.:

  • Source/cmake/OptionsGTK.cmake: Enable CSS Conic Gradients.

Source/WebCore:

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::Gradient::createPlatformGradient): Add support for conic gradient.
(WebCore::addColorStopRGBA): Refactored code to a function.
(WebCore::createConic): Creates a conic gradient.
(WebCore::addConicSector): Adds a sector to a conic gradient.
(WebCore::setCornerColorRGBA): Sets a RGBA color to mesh patch.
(WebCore::interpolateColorStop): Offset and RGBA color interpolation.

LayoutTests:

  • platform/gtk/fast/gradients/conic-gradient-alpha-expected.html: Added.
8:08 AM Changeset in webkit [253684] by youenn@apple.com
  • 3 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=176929

Unreviewed.

Mark it as flaky in all platforms.

7:48 AM Changeset in webkit [253683] by Chris Dumez
  • 29 edits
    1 move
    6 adds
    16 deletes in trunk/LayoutTests

Re-sync web-platform-tests/common from upstream
https://bugs.webkit.org/show_bug.cgi?id=205342

Reviewed by Frédéric Wang.

Re-sync web-platform-tests/common from upstream e9d489f3377139a1d54b.

LayoutTests/imported/w3c:

  • web-platform-tests/common/*: Updated.

LayoutTests:

  • canvas/philip/tests/2d.drawImage.incomplete.emptysrc-expected.txt:
  • canvas/philip/tests/2d.drawImage.incomplete.emptysrc.html:
  • canvas/philip/tests/2d.drawImage.incomplete.nosrc-expected.txt:
  • canvas/philip/tests/2d.drawImage.incomplete.nosrc.html:
  • canvas/philip/tests/2d.drawImage.incomplete.removedsrc-expected.txt:
  • canvas/philip/tests/2d.drawImage.incomplete.removedsrc.html:
  • canvas/philip/tests/2d.pattern.image.incomplete.emptysrc-expected.txt:
  • canvas/philip/tests/2d.pattern.image.incomplete.emptysrc.html:
  • canvas/philip/tests/2d.pattern.image.incomplete.removedsrc-expected.txt:
  • canvas/philip/tests/2d.pattern.image.incomplete.removedsrc.html:
  • http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing.html:
  • http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap.html:
7:39 AM Changeset in webkit [253682] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] LineBreaker::isAtSoftWrapOpportunity should return the wrap position
https://bugs.webkit.org/show_bug.cgi?id=205371
<rdar://problem/58029811>

Reviewed by Antti Koivisto.

Rename isAtSoftWrapOpportunity to lastSoftWrapOpportunity to reflect that it returns the last soft wrap
opportunity index.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::LineBreaker::Content::lastSoftWrapOpportunity):
(WebCore::Layout::LineBreaker::Content::append):
(WebCore::Layout::LineBreaker::Content::isAtSoftWrapOpportunity): Deleted.

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

(WebCore::Layout::LineLayoutContext::placeInlineItem):

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

[LFC][IFC] Add lastInlineItemWithContent to LineBreaker::Content::isAtSoftWrapOpportunity
https://bugs.webkit.org/show_bug.cgi?id=205362
<rdar://problem/58025349>

Reviewed by Antti Koivisto.

This is in preparation for being able to return a previous run index as the soft wrapping opportunity.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::endsWithSoftWrapOpportunity):
(WebCore::Layout::LineBreaker::Content::isAtSoftWrapOpportunity):

7:27 AM Changeset in webkit [253680] by dino@apple.com
  • 18 edits in trunk/Source

Reverting libANGLE.a -> libANGLE-shared.dylib.

The internal Apple build systems are still unhappy with
this change, so I'm reverting it until I can be sure
they'll accept it.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj:
  • Configurations/ANGLE.xcconfig:
  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • include/CMakeLists.txt:
  • include/GLSLANG/ShaderLang.h:
  • include/GLSLANG/ShaderVars.h:
  • src/libANGLE/renderer/gl/cgl/DisplayCGL.mm:

(rx::DisplayCGL::isValidNativeWindow const):

  • src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm:

(rx::WindowSurfaceCGL::WindowSurfaceCGL):
(rx::WindowSurfaceCGL::~WindowSurfaceCGL):

  • src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm:

(rx::DisplayEAGL::terminate):
(rx::DisplayEAGL::isValidNativeWindow const):
(rx::WorkerContextEAGL::~WorkerContextEAGL):

  • src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm:

(rx::WindowSurfaceEAGL::WindowSurfaceEAGL):
(rx::WindowSurfaceEAGL::~WindowSurfaceEAGL):

Source/WebCore:

  • Configurations/WebCore.xcconfig:
  • Configurations/WebCoreTestSupport.xcconfig:
  • platform/graphics/ANGLEWebKitBridge.cpp:

(WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
(WebCore::ANGLEWebKitBridge::cleanupCompilers):
(WebCore::ANGLEWebKitBridge::compileShaderSource):
(WebCore::ANGLEWebKitBridge::angleAvailable): Deleted.

  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

6:57 AM Changeset in webkit [253679] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

REGRESSION: animations/leak-document-with-css-animation.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=205299

While this test has proven to be solid running in isolation, it appears that the difference of live documents
before and after the iframe has been destroyed may be more than one. In fact, in reported failures, there always
seems to be 2 live documents fewer after than before, instead of the expected single document.

Since internals.numberOfLiveDocuments() returns the number of live documents throughout the life of the
Web process, we now force garbage collection every time we query internals.numberOfLiveDocuments(). This
should ensure that documents pending destruction due to garbage collection to be destroyed before we take
a snapshort of the number of live documents.

Patch by Antoine Quint <Antoine Quint> on 2019-12-18
Reviewed by Antti Koivisto.

4:48 AM Changeset in webkit [253678] by Philippe Normand
  • 3 edits in trunk/Source/WebKit

[GTK][WebInspector] Support for saving remote data
https://bugs.webkit.org/show_bug.cgi?id=204618

Reviewed by Carlos Garcia Campos.

Similarly to what landed already in r251069, the Remote
WebInspector GTK client can now save data coming from the
inspector server.

  • UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp:

(WebKit::RemoteWebInspectorProxy::platformSave):

4:07 AM Changeset in webkit [253677] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Missing headers in worker files cause random build failures when adding new files
https://bugs.webkit.org/show_bug.cgi?id=205385

Patch by Chris Lord <Chris Lord> on 2019-12-18
Reviewed by Youenn Fablet.

No new tests, no behavioral changes.

  • workers/service/context/ServiceWorkerThreadProxy.cpp:
  • workers/service/server/SWServerRegistration.cpp:
2:41 AM Changeset in webkit [253676] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[macOS/iOS Debug] Layout Test webanimations/animation-opacity-animation-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=181612

This test is no longer flaky, removing any specific expectations.

Patch by Antoine Quint <Antoine Quint> on 2019-12-18
Reviewed by Dean Jackson.

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
1:02 AM Changeset in webkit [253675] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK][WPE] OffscreenCanvas worker tests that call drawImage crash in debug builds
https://bugs.webkit.org/show_bug.cgi?id=205339

Patch by Chris Lord <Chris Lord> on 2019-12-18
Reviewed by Carlos Garcia Campos.

Don't unnecessarily create an Image object in the Cairo graphics
backend when using drawImage/drawPattern. Doing so calls code that
isn't safe to use off-main-thread and causes OffscreenCanvas worker
tests to crash in debug builds.

No new tests, no behavioral changes.

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::cairoSurfaceCopy):
(WebCore::cairoSurfaceCoerceToImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):

12:38 AM Changeset in webkit [253674] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK gardening. Update expectations of unit tests

Add two flaky failures and mark /jsc/vm as slow alos in release builds.

  • TestWebKitAPI/glib/TestExpectations.json:

Dec 17, 2019:

11:00 PM Changeset in webkit [253673] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Remove iOS #ifdefs around unobscuredContentSize
https://bugs.webkit.org/show_bug.cgi?id=205372

Reviewed by Tim Horton.

Long-term, all of the ScrollView geometry data related to delegated scrolling
will move to Optional<DelegatedScrollingGeometry> m_delegatedScrollingGeometry
and not be wrapped in platform #ifdefs.

Take the first step of moving unobscuredContentSize into that struct.

I added platformUnobscuredContentRect() to handle the iOS WK1 case, called
when there is a platform widget.

m_fixedVisibleContentRect is only used by coördinated graphics.

  • page/FrameView.cpp:

(WebCore::FrameView::unobscuredContentSizeChanged):

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::unobscuredContentSize const):
(WebCore::ScrollView::setUnobscuredContentSize):
(WebCore::ScrollView::unobscuredContentRect const):
(WebCore::ScrollView::platformVisibleContentRect const):
(WebCore::ScrollView::platformVisibleContentSize const):
(WebCore::ScrollView::platformVisibleContentRectIncludingObscuredArea const):
(WebCore::ScrollView::platformVisibleContentSizeIncludingObscuredArea const):
(WebCore::ScrollView::platformUnobscuredContentRect const):

  • platform/ScrollView.h:

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

  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::platformUnobscuredContentRect const):
(WebCore::ScrollView::unobscuredContentRect const): Deleted.
(WebCore::ScrollView::setUnobscuredContentSize): Deleted.

  • platform/mac/ScrollViewMac.mm:

(WebCore::ScrollView::platformUnobscuredContentRect const):

9:42 PM Changeset in webkit [253672] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebKit

Unreviewed. Remove the build warning below since r253452.
warning: unused variable ‘isNewEntry’ [-Wunused-variable]

No new tests, no new behavioral changes.

Patch by Joonghun Park <jh718.park@samsung.com> on 2019-12-17

  • NetworkProcess/IndexedDB/WebIDBServer.cpp:

(WebKit::WebIDBServer::addConnection):

8:16 PM Changeset in webkit [253671] by Fujii Hironori
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed build fix for WinCairo port
https://bugs.webkit.org/show_bug.cgi?id=204914
<rdar://problem/58023118>

  • include/CMakeLists.txt: Replaced '$libangle_includes' with '${libangle_includes}".
7:21 PM Changeset in webkit [253670] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WTF

[iOS] Update to use CTFontCreateForCharactersWithLanguageAndOption()
https://bugs.webkit.org/show_bug.cgi?id=205310

Reviewed by Simon Fraser.

All our bots are on the appropriate OS version.

  • wtf/Platform.h:
6:46 PM Changeset in webkit [253669] by Fujii Hironori
  • 4 edits in trunk/LayoutTests

[iOS] Arabic text on Wikipedia is shown as boxes
https://bugs.webkit.org/show_bug.cgi?id=155129
<rdar://problem/24919902>

Unreviewed typo correction.

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

Renamed arabic-blacklisted-expected.html to arabic-blacklisted.html.

6:35 PM Changeset in webkit [253668] by Chris Dumez
  • 3 edits
    1 add in trunk/LayoutTests/imported/w3c

Re-sync html/the-xhtml-syntax/parsing-xhtml-documents WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=205354

Reviewed by Ryosuke Niwa.

Re-sync html/the-xhtml-syntax/parsing-xhtml-documents WPT tests from upstream 33de70caf7f076ebe3aaec.

  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/support/entities.json: Added.
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/support/w3c-import.log:
  • web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/support/xhtml-mathml-dtd-entity.htm:
6:34 PM Changeset in webkit [253667] by Chris Dumez
  • 18 edits in trunk

Port service worker code to the HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=205359

Reviewed by Ryosuke Niwa.

Source/WebCore:

Port service worker code to the HTML5 event loop. We were mixing using the HTML5 event loop and ScriptExecutionContext::postTask().
This would cause test flakiness because tasks posted via thsse 2 mechanisms could get processed out of order, even though the
service worker specification guarantees a specific ordering.

The new pattern is that we only use WorkerRunLoop::postTask() to hop to the worker thread from the main thread, and not for any work
specified in the service workers specification. Whenever the service workers specifications to "queue a task", we now queue a task
on the ScriptExecutionContext's event loop, with the specified TaskSource.

No new tests, updated existing test.

  • dom/ScriptExecutionContext.cpp:
  • dom/ScriptExecutionContext.h:
  • workers/service/SWClientConnection.cpp:

(WebCore::dispatchToContextThreadIfNecessary):
(WebCore::SWClientConnection::postTaskForJob):
(WebCore::SWClientConnection::updateRegistrationState):
(WebCore::SWClientConnection::updateWorkerState):
(WebCore::SWClientConnection::fireUpdateFoundEvent):
(WebCore::SWClientConnection::notifyClientsOfControllerChange):
(WebCore::SWClientConnection::clearPendingJobs):

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::updateState):

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

(WebCore::ServiceWorkerContainer::updateRegistrationState):
(WebCore::ServiceWorkerContainer::updateWorkerState):
(WebCore::ServiceWorkerContainer::queueTaskToFireUpdateFoundEvent):
(WebCore::ServiceWorkerContainer::queueTaskToDispatchControllerChangeEvent):

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

(WebCore::ServiceWorkerRegistration::queueTaskToFireUpdateFoundEvent):

  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::postMessageToServiceWorker):
(WebCore::SWContextManager::fireInstallEvent):
(WebCore::SWContextManager::fireActivateEvent):

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::queueTaskToFireFetchEvent):
(WebCore::ServiceWorkerThread::queueTaskToPostMessage):
(WebCore::ServiceWorkerThread::queueTaskToFireInstallEvent):
(WebCore::ServiceWorkerThread::queueTaskToFireActivateEvent):

  • workers/service/context/ServiceWorkerThread.h:
  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::notifyNetworkStateChange):
(WebCore::ServiceWorkerThreadProxy::startFetch):

LayoutTests:

  • http/wpt/service-workers/online-worker.js:

Drop process name check as it causes flakiness depending on whether or not the service worker runs in process.

  • http/wpt/service-workers/ready.https.window-expected.txt:
  • http/wpt/service-workers/ready.https.window.js:

Include all subtests from https://github.com/web-platform-tests/wpt/pull/20655 now that they are no longer
flaky.

6:32 PM Changeset in webkit [253666] by Chris Dumez
  • 10 edits in trunk

Unreviewed, revert r253493 because it broke an Apple internal site

LayoutTests/imported/w3c:

  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3-expected.txt:
  • web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-expected.txt:

Source/WebCore:

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submit):

  • html/HTMLFormElement.h:
  • loader/FormSubmission.h:

(WebCore::FormSubmission::cancel): Deleted.
(WebCore::FormSubmission::wasCancelled const): Deleted.

  • loader/NavigationScheduler.cpp:

LayoutTests:

  • platform/mac/TestExpectations:
6:21 PM Changeset in webkit [253665] by Chris Dumez
  • 118 edits in trunk/LayoutTests/imported/w3c

Re-sync html/semantics/embedded-content/the-canvas-element from upstream
https://bugs.webkit.org/show_bug.cgi?id=205352

Reviewed by Ryosuke Niwa.

Re-sync html/semantics/embedded-content/the-canvas-element from upstream 33de70caf7f076ebe3aaec.

  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/*: Updated.
6:17 PM Changeset in webkit [253664] by Fujii Hironori
  • 9 edits
    2 adds in trunk

[cairo] text-align:justify wrongly expands CJK ideograph characters
https://bugs.webkit.org/show_bug.cgi?id=205321

Patch by Fujii Hironori <fujii.hironori@gmail.com> on 2019-12-17
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Even though canExpandAroundIdeographsInComplexText of
FontCairoHarfbuzzNG.cpp returns false, ComplexTextController
doesn't take it account. It ends up to expanding all ideographs
with a undesired expansion width.

WidthIterator properly checks canExpandAroundIdeographsInComplexText.
ComplexTextController also should do so.

  • platform/graphics/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check canExpandAroundIdeographsInComplexText.

  • platform/graphics/FontCascade.h: Friend with ComplexTextController to allow calling canExpandAroundIdeographsInComplexText.

LayoutTests:

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/text/justify-ideograph-complex-expected.png:
  • platform/gtk/fast/text/justify-ideograph-complex-expected.txt: Added.
  • platform/gtk/fast/text/justify-ideograph-leading-expansion-expected.png:
  • platform/gtk/fast/text/justify-ideograph-simple-expected.png:
  • platform/gtk/fast/text/justify-ideograph-simple-expected.txt: Added.
  • platform/gtk/fast/text/justify-ideograph-vertical-expected.png:
5:54 PM Changeset in webkit [253663] by pvollan@apple.com
  • 2 edits
    2 adds in trunk/Source/WebKit

Unreviewed build fix after r253661.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:
5:36 PM Changeset in webkit [253662] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Limit URL to reasonable size
https://bugs.webkit.org/show_bug.cgi?id=203825
<rdar://problem/56878680>

Reviewed by Ryosuke Niwa.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::canDisplay const): Place an upper bound on the amount of
memory a URL may consume.

5:32 PM Changeset in webkit [253661] by pvollan@apple.com
  • 16 edits
    2 adds in trunk/Source/WebKit

[iOS] The WebContent process should not use API to get the user interface idiom
https://bugs.webkit.org/show_bug.cgi?id=205236

Reviewed by Brent Fulgham.

This should be done in the UI process, since using the API in the WebContent process will connect to daemons
we intend to block access to. Add a flag to the process creation parameters which indicates whether the user
interface idiom is iPad or not. This flag will be set on the UI process side, and on the WebContent process
side, this flag will be read and cached for later use.

No new tests, covered by existing tests.

  • Platform/spi/ios/UIKitSPI.h:

(currentUserInterfaceIdiomIsPad): Deleted.

  • Shared/UserInterfaceIdiom.h: Added.
  • Shared/UserInterfaceIdiom.mm: Added.

(WebKit::userInterfaceIdiomIsPad):
(WebKit::currentUserInterfaceIdiomIsPad):
(WebKit::setCurrentUserInterfaceIdiomIsPad):

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • Shared/ios/WebPreferencesDefaultValuesIOS.mm:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

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

(-[WKFormInputSession setAccessoryViewCustomButtonTitle:]):
(-[WKContentView endEditingAndUpdateFocusAppearanceWithReason:]):
(-[WKContentView _shouldShowAutomaticKeyboardUIIgnoringInputMode]):
(-[WKContentView _zoomToRevealFocusedElement]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView _updateAccessory]):
(shouldShowKeyboardForElement):
(-[WKContentView _shouldUseLegacySelectPopoverDismissalBehavior]):

  • UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
  • UIProcess/ios/WebPageProxyIOS.mm:
  • UIProcess/ios/forms/WKFormColorControl.mm:

(-[WKFormColorControl initWithView:]):

  • UIProcess/ios/forms/WKFormColorPicker.mm:
  • UIProcess/ios/forms/WKFormInputControl.mm:
  • UIProcess/ios/forms/WKFormSelectControl.mm:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

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

REGRESSION: [ Mojave+ Debug ] fast/mediastream/captureStream/canvas2d-heavy-drawing.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205365

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:24 PM Changeset in webkit [253659] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205364

Unreviewed test gardening

  • platform/mac-wk2/TestExpectations:
4:12 PM Changeset in webkit [253658] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Mac wk2 ] tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205363

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:02 PM Changeset in webkit [253657] by eric.carlson@apple.com
  • 14 edits in trunk/Source

Add remote media player methods for prepareToPlay, preload, private browsing mode, preserves pitch, and failed to load
https://bugs.webkit.org/show_bug.cgi?id=205351
<rdar://problem/58018451>

Reviewed by Jer Noble.

Source/WebCore:

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::remoteEngineFailedToLoad):

  • platform/graphics/MediaPlayer.h:

Source/WebKit:

  • GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:

(WebKit::RemoteMediaPlayerManagerProxy::prepareToPlay):
(WebKit::RemoteMediaPlayerManagerProxy::setPreload):
(WebKit::RemoteMediaPlayerManagerProxy::setPrivateBrowsingMode):
(WebKit::RemoteMediaPlayerManagerProxy::setPreservesPitch):

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

(WebKit::RemoteMediaPlayerProxy::prepareToPlay):
(WebKit::RemoteMediaPlayerProxy::setPreload):
(WebKit::RemoteMediaPlayerProxy::setPrivateBrowsingMode):
(WebKit::RemoteMediaPlayerProxy::setPreservesPitch):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::prepareToPlay):
(WebKit::MediaPlayerPrivateRemote::setPreservesPitch):
(WebKit::MediaPlayerPrivateRemote::setPreload):
(WebKit::MediaPlayerPrivateRemote::setPrivateBrowsingMode):
(WebKit::MediaPlayerPrivateRemote::engineFailedToLoad):
(WebKit::MediaPlayerPrivateRemote::platformErrorCode const): Deleted.
(WebKit::MediaPlayerPrivateRemote::requiresImmediateCompositing const): Deleted.

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

(WebKit::RemoteMediaPlayerManager::engineFailedToLoad):

  • WebProcess/GPU/media/RemoteMediaPlayerManager.h:
  • WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in:
4:00 PM Changeset in webkit [253656] by Truitt Savell
  • 3 edits in trunk/LayoutTests

REGRESSION: [ Mac Release ] crypto/workers/subtle/aes-indexeddb.html is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=205361

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
3:40 PM Changeset in webkit [253655] by Kate Cheney
  • 10 edits in trunk/Source

Add run-time flag for in-app browser privacy
https://bugs.webkit.org/show_bug.cgi?id=205288
<rdar://problem/57569206>

Reviewed by John Wilander.

Source/WebCore:

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setInAppBrowserPrivacyEnabled):
(WebCore::RuntimeEnabledFeatures::isInAppBrowserPrivacyEnabled const):

  • page/Settings.yaml:

Source/WebKit:

  • Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences isInAppBrowserPrivacyEnabled]):
(-[WebPreferences setInAppBrowserPrivacyEnabled:]):

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

(-[WebView _preferencesChanged:]):

3:35 PM Changeset in webkit [253654] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

executeIfJavaScriptURL should check requester's security origin
https://bugs.webkit.org/show_bug.cgi?id=205324

Reviewed by Brent Fulgham.

Don't execute the JavaScript in ScriptController::executeIfJavaScriptURL if the security origin
of the current document is no longer accessible from the request originator's security origin.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::executeIfJavaScriptURL): Added a check.

  • bindings/js/ScriptController.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected): Pass around the security origin of the requester.
(WebCore::FrameLoader::submitForm):

3:30 PM Changeset in webkit [253653] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Document::setFocusedElement should not set m_focusedElement to an element in another document
https://bugs.webkit.org/show_bug.cgi?id=205325

Reviewed by Wenson Hsieh.

Added an early exit for when the newly focused element had moved
while blurring the previously focused element.

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

3:17 PM Changeset in webkit [253652] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix WebGL conformance test build_177_to_178.html with USE_ANGLE
https://bugs.webkit.org/show_bug.cgi?id=204927

Disable ANGLE_texture_rectangle when compiling user shaders.
This mirrors a change I made to Chromium here:
https://chromium-review.googlesource.com/c/chromium/src/+/1842223

Patch by James Darpinian <James Darpinian> on 2019-12-17
Reviewed by Dean Jackson.

  • platform/graphics/angle/GraphicsContext3DANGLE.cpp:

(WebCore::GraphicsContext3D::compileShader):

3:15 PM Changeset in webkit [253651] by Alan Coon
  • 1 edit in branches/safari-609.1.13-branch/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig

Unreviewed fix. rdar://problem/57990824

3:02 PM Changeset in webkit [253650] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk/Source/ThirdParty/ANGLE

Improve update-angle.sh and add gni-to-cmake.py
https://bugs.webkit.org/show_bug.cgi?id=204914

update-angle.sh now performs a git rebase. This automatically merges
upstream changes with WebKit's local changes where possible and
highlights any conflicts for manual resolution.

Also, it runs a new script gni-to-cmake.py to automatically update the
CMake files with upstream changes to the gni files. Along with the
changes to include/CMakeLists.txt, this should prevent build breaks
like the recently fixed WinCairo one. Additionally, diffing the CMake
files provides a concise list of build changes that can be referenced
when manually updating the XCode project file.

Patch by James Darpinian <James Darpinian> on 2019-12-17
Reviewed by Dean Jackson.

  • CMakeLists.txt:
  • Compiler.cmake:
  • GLESv2.cmake:
  • gni-to-cmake.py: Added.
  • include/CMakeLists.txt:
  • update-angle.sh:
2:26 PM Changeset in webkit [253649] by Jonathan Bedard
  • 2 edits in trunk/Tools

run-javascriptcore-tests: Fix upload details
https://bugs.webkit.org/show_bug.cgi?id=205347

Rubber-stamped by Alexey Proskuryakov.

  • Scripts/run-javascriptcore-tests:

(uploadResults): Make upload details compliant with results database.

2:12 PM Changeset in webkit [253648] by ysuzuki@apple.com
  • 7 edits
    1 add in trunk

[JSC] 8Bit JSRopeString can contain 16Bit string in its rope
https://bugs.webkit.org/show_bug.cgi?id=205323

Reviewed by Mark Lam.

JSTests:

  • stress/8bit-resolve-can-encounter-16bit-string.js: Added.

(foo):

Source/JavaScriptCore:

When resolving JSRopeString, it is possible that 8Bit JSRopeString becomes 16Bit resolved JSString.
This happens when we attempt to resolve it to produce AtomicStringImpl, and 16Bit version of the
resolved content is already in AtomicStringTable. This means that 16Bit flag never changes after resolving
JSString, but that of JSRopeString is some sort of hint, which can be changed.

This means that 8Bit JSRopeString can include 16Bit JSString, since some of children can be changed from
8Bit JSRopeString to resolved 16Bit JSString. Even in that case, we can still ensure that resolved string
can be represented as 8Bit. Let's see the example.

A => B + C, 8Bit Rope
B => D + E, 8Bit Rope
C => 8Bit String

And when we convert B to 16Bit String since content of D + E is already registered as 16Bit String in AtomicStringTable.

A => B + C, 8Bit Rope
B => 16Bit String
C => 8Bit String

When resolving A, creating 8Bit string buffer is totally OK since we know that whole A string can be represented in 8Bit.
When copying the content of B into 8Bit buffer, we should ignore upper 8Bit since they must be zero.

In this patch, we completely share the implementation of resolveRopeInternalNoSubstring and resolveRopeSlowCase in 8Bit and
16Bit case: we take result buffer CharacterType, but the underlying code must check is8Bit() for each fiber.

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::dumpInContextAssumingStructure const):

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeInternal8 const):
(JSC::JSRopeString::resolveRopeInternal16 const):
(JSC::JSRopeString::resolveRopeInternalNoSubstring const):
(JSC::JSRopeString::resolveRopeWithFunction const):
(JSC::JSRopeString::resolveRopeSlowCase const):
(JSC::JSRopeString::resolveRopeInternal8NoSubstring const): Deleted.
(JSC::JSRopeString::resolveRopeInternal16NoSubstring const): Deleted.
(JSC::JSRopeString::resolveRopeSlowCase8 const): Deleted.

  • runtime/JSString.h:

Source/WTF:

  • wtf/text/StringImpl.h:

(WTF::StringImpl::copyCharacters):

1:47 PM Changeset in webkit [253647] by Simon Fraser
  • 2 edits in trunk/LayoutTests

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

Unreviewed test gardening. Mark the test as an image failure on WK1.
The test fails with a few different pixels in the video frames.

  • platform/mac-wk1/TestExpectations:
1:42 PM Changeset in webkit [253646] by commit-queue@webkit.org
  • 6 edits in trunk

Navigation from empty page doesn't use cached web process
https://bugs.webkit.org/show_bug.cgi?id=205015
<rdar://problem/57703742>

Patch by Ben Nham <Ben Nham> on 2019-12-17
Reviewed by Chris Dumez.

When navigating from an empty page to another domain foo.com, we always use the source
WebProcess (which is basically uninitialized) rather than using an already-initialized
cached WebProcess that has navigated to foo.com. The cached WebProcess should probably be
preferred since it has more relevant cached resources available to it (e.g. memory cache, JS
bytecode cache, prewarmed fonts, ...).

Source/WebKit:

Added an API test.

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

(-[WKWebView _ensureRunningProcessForTesting]):
Allows tests to force WebProcess to launch to an empty document for testing purposes. This
matches the behavior of how Safari uses WKWebView.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processForNavigationInternal): Prefer cached web process over
source process if the source process hasn't committed any loads.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

Verify that a load from an empty document uses the process cache. To actually force the
WebProcess to launch with an empty document loaded, we use the private API
_ensureRunningProcessForTesting.

1:36 PM Changeset in webkit [253645] by Alan Coon
  • 8 edits in tags/Safari-609.1.12.1/Source

Versioning.

1:34 PM Changeset in webkit [253644] by Alan Coon
  • 1 copy in tags/Safari-609.1.12.1

New tag.

1:25 PM Changeset in webkit [253643] by ChangSeok Oh
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed build fix for USE_ANGLE_WEBGL after r252994

  • CMakeLists.txt: Add a missing directory separator.
1:22 PM Changeset in webkit [253642] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Drop support for NSURLCache callbacks in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=203344

Patch by Benjamin Nham <Ben Nham> on 2019-12-17
Reviewed by Alex Christensen.

Remove the NSURLSession caching policy callback in NetworkProcess. It's no longer necessary since
we don't use NSURLCache in NetworkProcess (https://bugs.webkit.org/show_bug.cgi?id=185990).

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]): Deleted.

1:07 PM Changeset in webkit [253641] by Megan Gardner
  • 3 edits in trunk/Tools

Update Check webkit style to allow for auto with pairs in c++
https://bugs.webkit.org/show_bug.cgi?id=205320

Reviewed by Jonathan Bedard.

Allow for spaces between auto and brakets when using auto with pairs.

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

(check_spacing):

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

(CppStyleTest):

12:52 PM Changeset in webkit [253640] by ddkilzer@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebKit

Remove SafeBrowsingResult
<https://webkit.org/b/205296>

Reviewed by Anders Carlsson.

  • UIProcess/Cocoa/SafeBrowsingResultCocoa.mm: Remove.
  • UIProcess/SafeBrowsingResult.h: Remove.
12:34 PM Changeset in webkit [253639] by youenn@apple.com
  • 10 edits in trunk

WebKitTestRunner should report GPU process crashes
https://bugs.webkit.org/show_bug.cgi?id=205338

Reviewed by Tim Horton.

Source/WebKit:

Expose a callback to notify of GPU process crash.
No change of behavior.

  • UIProcess/API/C/WKContext.h:
  • UIProcess/GPU/GPUProcessProxy.cpp:

(WebKit::GPUProcessProxy::gpuProcessCrashed):

  • UIProcess/WebContextClient.cpp:

(WebKit::WebContextClient::gpuProcessDidCrash):

  • UIProcess/WebContextClient.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::gpuProcessCrashed):

  • UIProcess/WebProcessPool.h:

Tools:

Report GPU process crashes.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::generatePageConfiguration):
(WTR::TestController::gpuProcessDidCrash):

  • WebKitTestRunner/TestController.h:
12:19 PM Changeset in webkit [253638] by Chris Dumez
  • 814 edits
    3 copies
    117 adds
    2 deletes in trunk/LayoutTests

Re-sync web-platform-tests/2dcontext from upstream
https://bugs.webkit.org/show_bug.cgi?id=205343

Reviewed by Frédéric Wang.

Re-sync web-platform-tests/2dcontext from upstream 33de70caf7f076ebe3aa.

  • web-platform-tests/2dcontext/*: Updated.
12:05 PM Changeset in webkit [253637] by Chris Dumez
  • 60 edits
    1 move
    1 add in trunk/LayoutTests/imported/w3c

Re-sync web-platform-tests/tools from upstream
https://bugs.webkit.org/show_bug.cgi?id=205340

Reviewed by Frédéric Wang.

Re-sync web-platform-tests/tools from upstream 33de70caf7f076ebe3aa.

  • web-platform-tests/tools/*: Updated.
11:57 AM Changeset in webkit [253636] by timothy_horton@apple.com
  • 25 edits
    1 delete in trunk/Source

macCatalyst: Cursor should update on mouse movement and style change
https://bugs.webkit.org/show_bug.cgi?id=205317
<rdar://problem/46793696>

Reviewed by Anders Carlsson.

Source/WebCore:

  • Configurations/WebCore.xcconfig:

Link AppKit for NSCursor.

  • SourcesCocoa.txt:

Remove CursorIOS.cpp.
De-unify CursorMac; because it imports AppKit headers, we have to
take care to make sure it doesn't also get WAK (which it does if you
leave it unified).

  • WebCore.xcodeproj/project.pbxproj:

Remove CursorIOS.cpp and de-unify CursorMac (by adding it to the target)

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

(WebCore::Chrome::setCursor):
(WebCore::Chrome::setCursorHiddenUntilMouseMoves):
Unifdef many things.

  • page/ChromeClient.h:

(WebCore::ChromeClient::supportsSettingCursor):
Add a ChromeClient bit, supportsSettingCursor, which can be used
to guard work that shouldn't happen if a platform doesn't support
pushing cursor updates out from WebCore. This will be true everywhere
except iOS, and does the work of the old platform ifdefs.

  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::updateCursor):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::scheduleCursorUpdate):

  • page/EventHandler.h:
  • platform/Cursor.cpp:
  • platform/Cursor.h:

Unifdef, and use supportsSettingCursor to avoid some unnecessary work.

  • platform/ios/CursorIOS.cpp: Removed.
  • platform/ios/WidgetIOS.mm:

(WebCore::Widget::setCursor):
Propagate cursor changes upwards.

  • platform/mac/CursorMac.mm:

(WebCore::cursor):
(WebCore::Cursor::ensurePlatformCursor const):
CursorMac is now built in macCatalyst. However, parts that depend
on HIServices or NSImage are #ifdeffed out, and fall back to an arrow.

Source/WebKit:

  • Configurations/WebKit.xcconfig:

Link AppKit for NSCursor.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Cursor>::decode):
Enable Cursor encoders.

  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::setCursor):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:

Unifdef various things.
Implement setCursor().

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebChromeClientIOS.h:

Provide a stub implementation of cursor-related ChromeClient methods.

Source/WTF:

  • wtf/FeatureDefines.h:

Make ENABLE_CURSOR_SUPPORT true on iOS, for macCatalyst. This results
in it being true everywhere, so remove it.

Add a new ENABLE_CUSTOM_CURSOR_SUPPORT, indicating whether we support
custom bitmap cursors. It covers the subset of ENABLE_CURSOR_SUPPORT
code that we still don't support in macCatalyst.

  • wtf/Platform.h:

Add HAVE_HISERVICES (true on macOS but not macCatalyst) and
HAVE_NSCURSOR (true on macOS and macCatalyst but not e.g. iOS).

11:50 AM Changeset in webkit [253635] by Chris Dumez
  • 103 edits
    1 move
    8 adds
    11 deletes in trunk/LayoutTests

Re-sync web-platform-tests/interfaces from upstream
https://bugs.webkit.org/show_bug.cgi?id=205344

Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

Re-sync web-platform-tests/interfaces from upstream 33de70caf7f076ebe3aaec4.

  • web-platform-tests/css/css-properties-values-api/idlharness-expected.txt:
  • web-platform-tests/dom/idlharness.window-expected.txt:
  • web-platform-tests/domparsing/interfaces.any.worker-expected.txt:
  • web-platform-tests/fetch/api/idl.any-expected.txt:
  • web-platform-tests/fetch/api/idl.any.worker-expected.txt:
  • web-platform-tests/html/dom/idlharness.worker-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-body-window-expected.txt:
  • web-platform-tests/html/webappapis/scripting/events/event-handler-attributes-windowless-body-expected.txt:
  • web-platform-tests/interfaces/*: Updated.
  • web-platform-tests/mathml/relations/html5-tree/math-global-event-handlers.tentative-expected.txt:
  • web-platform-tests/web-animations/idlharness.window-expected.txt: Added.
  • web-platform-tests/web-animations/idlharness.window.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/idlharness.window.html.
  • web-platform-tests/web-animations/idlharness.window.js: Added.
  • web-platform-tests/web-animations/interfaces/Animation/idlharness.window-expected.txt: Removed.
  • web-platform-tests/web-animations/interfaces/Animation/idlharness.window.js: Removed.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness.window-expected.txt: Removed.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness.window.html: Removed.
  • web-platform-tests/web-animations/interfaces/AnimationPlaybackEvent/idlharness.window.js: Removed.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness.window-expected.txt: Removed.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness.window.html: Removed.
  • web-platform-tests/web-animations/interfaces/DocumentTimeline/idlharness.window.js: Removed.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness.window-expected.txt: Removed.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness.window.html: Removed.
  • web-platform-tests/web-animations/interfaces/KeyframeEffect/idlharness.window.js: Removed.
  • web-platform-tests/webrtc/idlharness.https.window-expected.txt:

LayoutTests:

  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
11:25 AM Changeset in webkit [253634] by Simon Fraser
  • 18 edits in trunk/Source

Change 'delegatesPageScaling' from a Setting to a flag on ScrollView
https://bugs.webkit.org/show_bug.cgi?id=205319

Reviewed by Tim Horton.

delegatesPageScaling() is never toggled at runtime (even by tests), and it should
be a flag on FrameView just like delegatesScrolling (maybe in future the flags can merge).

So remove the Setting, and have DrawingArea control whether page scaling is delegated.

In WebKit1, WebFrameLoaderClient::transitionToCommittedForNewPage() turns on delegated
page scaling for iOS.

Source/WebCore:

  • page/Frame.cpp:

(WebCore::Frame::frameScaleFactor const):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

  • page/FrameView.cpp:

(WebCore::FrameView::visibleContentScaleFactor const):

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

  • page/Settings.yaml:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setDelegatesPageScaling):

  • platform/ScrollView.h:

(WebCore::ScrollView::delegatesPageScaling const):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap const):

Source/WebKit:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::usesDelegatedPageScaling const):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindIndicatorOverlayClientIOS::drawRect):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::transitionToCommittedForNewPage):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

11:19 AM Changeset in webkit [253633] by Antti Koivisto
  • 5 edits
    2 adds in trunk

REGRESSION: ASSERTION FAILED: FontCache::singleton().generation() == m_generation
https://bugs.webkit.org/show_bug.cgi?id=204933
<rdar://problem/57458432>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/shadow-dom/font-cache-invalidation.html

When font cache version number is bumped we need to invalidate matches declarations caches because
they may now contain stale font references. The code to do this failed to look into shadow trees.

  • dom/Document.cpp:

(WebCore::Document::invalidateMatchedPropertiesCacheAndForceStyleRecalc):

  • style/StyleScope.cpp:

(WebCore::Style::Scope::invalidateMatchedDeclarationsCache):

Also invalidate the shadow trees.

  • style/StyleScope.h:

LayoutTests:

  • fast/shadow-dom/font-cache-invalidation-expected.txt: Added.
  • fast/shadow-dom/font-cache-invalidation.html: Added.
10:58 AM Changeset in webkit [253632] by ChangSeok Oh
  • 2 edits in trunk

[GTK] Suppress undefined USE_OPENGL warnings when USE_ANGLE_WEBGL and USE_OPENGL_ES are enabled.
https://bugs.webkit.org/show_bug.cgi?id=204634

Reviewed by Žan Doberšek.

When USE_ANGLE_WEBGL and USE_OPENGL_ES are enabled, many compiler warnings occur.
This is because USE_OPENGL is defined nowhere if they are enabled.
To fix this, USE_OPENGL is explicitly defined when USE_OPENGL_ES is enabled.

  • Source/cmake/OptionsGTK.cmake:
10:31 AM Changeset in webkit [253631] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][Painting] Add basic support for z-index based painting
https://bugs.webkit.org/show_bug.cgi?id=205345
<rdar://problem/58010942>

Reviewed by Antti Koivisto.

This is just a very simple z-index based painting to be able to run WPT where
z-index is heavily used to hide/reveal red/green boxes.

  • layout/displaytree/DisplayPainter.cpp:

(WebCore::Display::absoluteDisplayBox):
(WebCore::Display::isPaintRootCandidate):
(WebCore::Display::paintSubtree):
(WebCore::Display::collectPaintRootsAndContentRect):
(WebCore::Display::Painter::paint):
(WebCore::Display::paintBoxDecorationAndChildren): Deleted.

8:17 AM Changeset in webkit [253630] by Chris Dumez
  • 326 edits
    11 copies
    4 moves
    128 adds
    15 deletes in trunk/LayoutTests

Re-sync web-platform-tests/resources from upstream
https://bugs.webkit.org/show_bug.cgi?id=205307

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Re-sync web-platform-tests/resources from upstream e9d489f3377139a1d54b436f.
A lot of tests had to be rebased. Some tests also had to be re-sync'd from
upstream to keep them running.

  • web-platform-tests/FileAPI/idlharness-expected.txt:
  • web-platform-tests/FileAPI/idlharness.worker-expected.txt:
  • web-platform-tests/FileAPI/url/multi-global-origin-serialization.sub-expected.txt:
  • web-platform-tests/IndexedDB/bigint_value-expected.txt:
  • web-platform-tests/IndexedDB/idlharness.any-expected.txt:
  • web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt:
  • web-platform-tests/IndexedDB/structured-clone.any-expected.txt:
  • web-platform-tests/IndexedDB/structured-clone.any.worker-expected.txt:
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.worker.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.js:

(define_tests.):

  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.js: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.worker-expected.txt: Added.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.worker.html.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.worker-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.worker.js: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.js:

(define_tests.):

  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https-expected.txt: Removed.
  • web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html: Removed.
  • web-platform-tests/clipboard-apis/async-interfaces.https-expected.txt:
  • web-platform-tests/content-security-policy/inside-worker/shared-inheritance-expected.txt:
  • web-platform-tests/content-security-policy/inside-worker/shared-script-expected.txt:
  • web-platform-tests/content-security-policy/nonce-hiding/svgscript-nonces-hidden-meta.tentative.sub-expected.txt:
  • web-platform-tests/content-security-policy/nonce-hiding/svgscript-nonces-hidden.tentative-expected.txt:
  • web-platform-tests/content-security-policy/script-src/scripthash-default-src.sub.html:
  • web-platform-tests/content-security-policy/securitypolicyviolation/idlharness.window-expected.txt:
  • web-platform-tests/content-security-policy/style-src/stylehash-default-src.sub.html:
  • web-platform-tests/credential-management/idlharness.https.window-expected.txt:
  • web-platform-tests/css/css-animations/idlharness-expected.txt:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-content-alignment-001-expected.txt:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-content-alignment-rtl-001-expected.txt:
  • web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-001-expected.txt:
  • web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-002-expected.txt:
  • web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-003-expected.txt:
  • web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-004-expected.txt:
  • web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-005-expected.txt:
  • web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-007-expected.txt:
  • web-platform-tests/css/css-grid/abspos/orthogonal-positioned-grid-descendants-016-expected.txt:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-007-expected.txt:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-012-expected.txt:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-014-expected.txt:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-descendants-016-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-001-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-002-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-003-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-004-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-005-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-006-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-007-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-008-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-009-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-010-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-011-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-012-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-013-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-014-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-015-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-016-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-017-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-018-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-019-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-020-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-021-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-022-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-023-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-024-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-025-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-026-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-027-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-028-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-029-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-030-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-031-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-032-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-033-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-034-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-035-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-implies-size-change-036-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-001-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-002-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-003-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-004-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-005-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-006-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-007-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-container-baseline-001-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-self-alignment-non-static-positioned-items-009-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-self-alignment-non-static-positioned-items-010-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-self-alignment-non-static-positioned-items-011-expected.txt:
  • web-platform-tests/css/css-grid/alignment/grid-self-alignment-non-static-positioned-items-012-expected.txt:
  • web-platform-tests/css/css-grid/grid-definition/grid-change-auto-repeat-tracks-expected.txt:
  • web-platform-tests/css/css-grid/grid-definition/grid-change-fit-content-argument-001-expected.txt:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002-expected.txt:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002-expected.txt:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-002-expected.txt:
  • web-platform-tests/css/css-grid/grid-model/grid-box-sizing-001-expected.txt:
  • web-platform-tests/css/css-images/idlharness-expected.txt:
  • web-platform-tests/css/css-logical/logicalprops-block-size-expected.txt:
  • web-platform-tests/css/css-logical/logicalprops-block-size-vlr-expected.txt:
  • web-platform-tests/css/css-logical/logicalprops-inline-size-expected.txt:
  • web-platform-tests/css/css-logical/logicalprops-inline-size-vlr-expected.txt:
  • web-platform-tests/css/css-properties-values-api/idlharness-expected.txt:
  • web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt:
  • web-platform-tests/css/css-properties-values-api/url-resolution-expected.txt:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html:
  • web-platform-tests/css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html:
  • web-platform-tests/css/css-shapes/shape-outside/supported-shapes/support/test-utils.js:

(verifyTextPoints):

  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-010.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-011.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-012.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-013.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-014.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-015.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-016.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-017.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-018-expected.txt:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-018.html:
  • web-platform-tests/css/css-shapes/spec-examples/shape-outside-019.html:
  • web-platform-tests/css/css-transitions/CSSPseudoElement-getAnimations.tentative-expected.txt:
  • web-platform-tests/css/css-transitions/idlharness-expected.txt:
  • web-platform-tests/css/cssom-view/interfaces-expected.txt:
  • web-platform-tests/css/cssom/interfaces-expected.txt:
  • web-platform-tests/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt:
  • web-platform-tests/dom/idlharness.any.worker-expected.txt:
  • web-platform-tests/dom/idlharness.window-expected.txt:
  • web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes-expected.txt:
  • web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html:
  • web-platform-tests/domparsing/interfaces.any-expected.txt:
  • web-platform-tests/domparsing/interfaces.any.worker-expected.txt:
  • web-platform-tests/encoding/idlharness-expected.txt:
  • web-platform-tests/fetch/api/idl.any-expected.txt:
  • web-platform-tests/fetch/api/idl.any.worker-expected.txt:
  • web-platform-tests/fetch/api/response/response-stream-with-broken-then.any-expected.txt:
  • web-platform-tests/fetch/content-length/content-length.html:
  • web-platform-tests/fetch/content-length/content-length.html.headers:
  • web-platform-tests/fetch/cors-rfc1918/idlharness.tentative.any-expected.txt:
  • web-platform-tests/fetch/cors-rfc1918/idlharness.tentative.any.worker-expected.txt:
  • web-platform-tests/fetch/images/canvas-remote-read-remote-image-redirect.html:
  • web-platform-tests/hr-time/idlharness-expected.txt:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-function-parent.html:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/source/navigate-child-src-about-blank.html:
  • web-platform-tests/html/browsers/origin/origin-of-data-document-expected.txt:
  • web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/window-open-noopener-expected.txt:
  • web-platform-tests/html/dom/idlharness.worker-expected.txt:
  • web-platform-tests/html/dom/reflection-embedded-expected.txt:
  • web-platform-tests/html/infrastructure/safe-passing-of-structured-data/structured_clone_bigint-expected.txt:
  • web-platform-tests/html/interaction/focus/the-autofocus-attribute/not-on-first-task.html:
  • web-platform-tests/html/rendering/non-replaced-elements/flow-content-0/dialog-display-expected.txt:
  • web-platform-tests/html/rendering/non-replaced-elements/margin-collapsing-quirks/compare-computed-style.js:

(test):

  • web-platform-tests/html/rendering/non-replaced-elements/tables/table-vspace-hspace-expected.txt:
  • web-platform-tests/html/rendering/non-replaced-elements/tables/table-vspace-hspace-s-expected.txt:
  • web-platform-tests/html/rendering/non-replaced-elements/the-page/iframe-marginwidth-marginheight-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/dynamic-append.html:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/not-in-shadow-tree-expected.txt:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/remove-from-document-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/srclang-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/language-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_02.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_04.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_030-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/data-url.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/avoid-reload-on-resize.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-src-complete.html:
  • web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin-expected.txt:
  • web-platform-tests/html/semantics/forms/autofocus/not-on-first-task.html:
  • web-platform-tests/html/semantics/interfaces-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/084-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/module/charset-02-expected.txt:
  • web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-expected.txt:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw-expected.txt:
  • web-platform-tests/html/webappapis/timers/negative-setinterval.html:
  • web-platform-tests/html/webappapis/timers/type-long-setinterval.html:
  • web-platform-tests/html/webappapis/timers/type-long-settimeout.html:
  • web-platform-tests/intersection-observer/idlharness.window-expected.txt:
  • web-platform-tests/media-source/interfaces-expected.txt:
  • web-platform-tests/mediacapture-record/idlharness.window-expected.txt:
  • web-platform-tests/mediacapture-streams/idlharness.https.window-expected.txt:
  • web-platform-tests/mst-content-hint/idlharness.window-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_document_open-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_document_replaced-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_navigate_within_document-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_navigation_type_backforward-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_navigation_type_reload-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_redirect_chain_xserver_partial_opt_in-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_redirect_server-expected.txt:
  • web-platform-tests/navigation-timing/nav2_test_redirect_xserver-expected.txt:
  • web-platform-tests/payment-request/idlharness.https.window-expected.txt:
  • web-platform-tests/preload/link-header-preload-imagesrcset.html:
  • web-platform-tests/preload/link-header-preload-nonce-expected.txt:
  • web-platform-tests/preload/link-header-preload.html:
  • web-platform-tests/preload/onload-event.html:
  • web-platform-tests/preload/preload-csp.sub.html:
  • web-platform-tests/preload/preload-default-csp.sub.html:
  • web-platform-tests/preload/preload-with-type.html:
  • web-platform-tests/preload/single-download-late-used-preload.html:
  • web-platform-tests/remote-playback/idlharness.window-expected.txt:
  • web-platform-tests/requestidlecallback/idlharness.window-expected.txt:
  • web-platform-tests/resize-observer/idlharness.window-expected.txt:
  • web-platform-tests/resource-timing/idlharness.any-expected.txt:
  • web-platform-tests/resource-timing/idlharness.any.worker-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_match_origin-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_match_wildcard-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_multi-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_multi_wildcard-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_null-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_origin_uppercase-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_space-expected.txt:
  • web-platform-tests/resource-timing/resource_TAO_wildcard-expected.txt:
  • web-platform-tests/resources/META.yml: Added.
  • web-platform-tests/resources/OWNERS: Removed.
  • web-platform-tests/resources/check-layout-th.js:

(window.checkLayout):

  • web-platform-tests/resources/chromium/big_buffer.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(BigBufferSharedMemoryRegion):
(BigBufferSharedMemoryRegion.prototype.initDefaults_):
(BigBufferSharedMemoryRegion.prototype.initFields_):
(BigBufferSharedMemoryRegion.validate):
(BigBufferSharedMemoryRegion.decode):
(BigBufferSharedMemoryRegion.encode):
(BigBuffer):
(BigBuffer.prototype.initDefault_):
(BigBuffer.prototype.initValue_):
(get if):
(BigBuffer.encode):
(BigBuffer.decode):
(BigBuffer.validate):

  • web-platform-tests/resources/chromium/big_buffer.mojom.js.headers: Added.
  • web-platform-tests/resources/chromium/chooser_service.mojom.js: Removed.
  • web-platform-tests/resources/chromium/contacts_manager_mock.js: Added.

(const.WebContactsTest):
(const.WebContactsTest.prototype.formatAddress_):
(const.WebContactsTest.async if):
(const.WebContactsTest.prototype.async select):
(const.WebContactsTest.prototype.setSelectedContacts):
(const.WebContactsTest.prototype.reset):
(const.WebContactsTest.ContactsTestChromium):
(const.WebContactsTest.ContactsTestChromium.prototype.setSelectedContacts):

  • web-platform-tests/resources/chromium/device.mojom.js:

(UsbSynchronizationType.isKnownEnumValue):
(UsbSynchronizationType.validate):
(UsbUsageType.isKnownEnumValue):
(UsbUsageType.validate):
(UsbEndpointInfo.prototype.initDefaults_):
(UsbEndpointInfo.validate):
(UsbEndpointInfo.decode):
(UsbEndpointInfo.encode):
(UsbAlternateInterfaceInfo.prototype.initDefaults_):
(UsbAlternateInterfaceInfo.validate):
(UsbAlternateInterfaceInfo.decode):
(UsbAlternateInterfaceInfo.encode):
(UsbInterfaceInfo.validate):
(UsbConfigurationInfo.prototype.initDefaults_):
(UsbConfigurationInfo.validate):
(UsbConfigurationInfo.decode):
(UsbConfigurationInfo.encode):
(UsbDeviceInfo.prototype.initDefaults_):
(UsbDeviceInfo.validate):
(UsbDeviceInfo.decode):
(UsbDeviceInfo.encode):
(UsbControlTransferParams.validate):
(UsbIsochronousPacket.validate):
(UsbDevice_Open_ResponseParams.validate):
(UsbDevice_ControlTransferIn_Params.validate):
(UsbDevice_ControlTransferIn_ResponseParams.validate):
(UsbDevice_ControlTransferOut_Params.validate):
(UsbDevice_ControlTransferOut_ResponseParams.validate):
(UsbDevice_GenericTransferIn_ResponseParams.validate):
(UsbDevice_GenericTransferOut_Params.validate):
(UsbDevice_GenericTransferOut_ResponseParams.validate):
(UsbDevice_IsochronousTransferIn_Params.validate):
(UsbDevice_IsochronousTransferIn_ResponseParams.validate):
(UsbDevice_IsochronousTransferOut_Params.validate):
(UsbDevice_IsochronousTransferOut_ResponseParams.validate):
(UsbDeviceClient_OnDeviceOpened_Params):
(UsbDeviceClient_OnDeviceOpened_Params.prototype.initDefaults_):
(UsbDeviceClient_OnDeviceOpened_Params.prototype.initFields_):
(UsbDeviceClient_OnDeviceOpened_Params.validate):
(UsbDeviceClient_OnDeviceOpened_Params.decode):
(UsbDeviceClient_OnDeviceOpened_Params.encode):
(UsbDeviceClient_OnDeviceClosed_Params):
(UsbDeviceClient_OnDeviceClosed_Params.prototype.initDefaults_):
(UsbDeviceClient_OnDeviceClosed_Params.prototype.initFields_):
(UsbDeviceClient_OnDeviceClosed_Params.validate):
(UsbDeviceClient_OnDeviceClosed_Params.decode):
(UsbDeviceClient_OnDeviceClosed_Params.encode):
(UsbDeviceProxy.prototype.open):
(UsbDeviceProxy.prototype.close):
(UsbDeviceProxy.prototype.setConfiguration):
(UsbDeviceProxy.prototype.claimInterface):
(UsbDeviceProxy.prototype.releaseInterface):
(UsbDeviceProxy.prototype.setInterfaceAlternateSetting):
(UsbDeviceProxy.prototype.reset):
(UsbDeviceProxy.prototype.clearHalt):
(UsbDeviceProxy.prototype.controlTransferIn):
(UsbDeviceProxy.prototype.controlTransferOut):
(UsbDeviceProxy.prototype.genericTransferIn):
(UsbDeviceProxy.prototype.genericTransferOut):
(UsbDeviceProxy.prototype.isochronousTransferIn):
(UsbDeviceProxy.prototype.isochronousTransferOut):
(UsbDeviceClientPtr):
(UsbDeviceClientAssociatedPtr):
(UsbDeviceClientProxy):
(UsbDeviceClientPtr.prototype.onDeviceOpened):
(UsbDeviceClientProxy.prototype.onDeviceOpened):
(UsbDeviceClientPtr.prototype.onDeviceClosed):
(UsbDeviceClientProxy.prototype.onDeviceClosed):
(UsbDeviceClientStub):
(UsbDeviceClientStub.prototype.onDeviceOpened):
(UsbDeviceClientStub.prototype.onDeviceClosed):
(UsbDeviceClientStub.prototype.accept):
(UsbDeviceClientStub.prototype.acceptWithResponder):
(validateUsbDeviceClientRequest):
(validateUsbDeviceClientResponse):

  • web-platform-tests/resources/chromium/device_enumeration_options.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(UsbDeviceFilter):
(UsbDeviceFilter.prototype.initDefaults_):
(UsbDeviceFilter.prototype.initFields_):
(UsbDeviceFilter.validate):
(UsbDeviceFilter.decode):
(UsbDeviceFilter.encode):
(UsbEnumerationOptions):
(UsbEnumerationOptions.prototype.initDefaults_):
(UsbEnumerationOptions.prototype.initFields_):
(UsbEnumerationOptions.validate):
(UsbEnumerationOptions.decode):
(UsbEnumerationOptions.encode):

  • web-platform-tests/resources/chromium/device_enumeration_options.mojom.js.headers: Added.
  • web-platform-tests/resources/chromium/device_manager.mojom.js: Removed.
  • web-platform-tests/resources/chromium/device_manager_client.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(UsbDeviceManagerClient_OnDeviceAdded_Params):
(UsbDeviceManagerClient_OnDeviceAdded_Params.prototype.initDefaults_):
(UsbDeviceManagerClient_OnDeviceAdded_Params.prototype.initFields_):
(UsbDeviceManagerClient_OnDeviceAdded_Params.validate):
(UsbDeviceManagerClient_OnDeviceAdded_Params.decode):
(UsbDeviceManagerClient_OnDeviceAdded_Params.encode):
(UsbDeviceManagerClient_OnDeviceRemoved_Params):
(UsbDeviceManagerClient_OnDeviceRemoved_Params.prototype.initDefaults_):
(UsbDeviceManagerClient_OnDeviceRemoved_Params.prototype.initFields_):
(UsbDeviceManagerClient_OnDeviceRemoved_Params.validate):
(UsbDeviceManagerClient_OnDeviceRemoved_Params.decode):
(UsbDeviceManagerClient_OnDeviceRemoved_Params.encode):
(UsbDeviceManagerClientPtr):
(UsbDeviceManagerClientAssociatedPtr):
(UsbDeviceManagerClientProxy):
(UsbDeviceManagerClientPtr.prototype.onDeviceAdded):
(UsbDeviceManagerClientProxy.prototype.onDeviceAdded):
(UsbDeviceManagerClientPtr.prototype.onDeviceRemoved):
(UsbDeviceManagerClientProxy.prototype.onDeviceRemoved):
(UsbDeviceManagerClientStub):
(UsbDeviceManagerClientStub.prototype.onDeviceAdded):
(UsbDeviceManagerClientStub.prototype.onDeviceRemoved):
(UsbDeviceManagerClientStub.prototype.accept):
(UsbDeviceManagerClientStub.prototype.acceptWithResponder):
(validateUsbDeviceManagerClientRequest):
(validateUsbDeviceManagerClientResponse):

  • web-platform-tests/resources/chromium/device_manager_client.mojom.js.headers: Added.
  • web-platform-tests/resources/chromium/generic_sensor_mocks.js: Added.

(GenericSensorTest.MockSensor):
(GenericSensorTest.MockSensor.prototype.async getDefaultConfiguration):
(GenericSensorTest.MockSensor.prototype.async addConfiguration):
(GenericSensorTest.MockSensor.prototype.removeConfiguration):
(GenericSensorTest.MockSensor.prototype.reset):
(GenericSensorTest.MockSensor.prototype.async setSensorReading):
(GenericSensorTest.MockSensor.prototype.setStartShouldFail):
(GenericSensorTest.MockSensor.prototype.startReading):
(GenericSensorTest.MockSensor.prototype.stopReading):
(GenericSensorTest.MockSensor.prototype.getSamplingFrequency):
(GenericSensorTest.MockSensorProvider):
(GenericSensorTest.MockSensorProvider.prototype.async getSensor):
(GenericSensorTest.MockSensorProvider.prototype.bindToPipe):
(GenericSensorTest.MockSensorProvider.prototype.reset):
(GenericSensorTest.MockSensorProvider.prototype.setGetSensorShouldFail):
(GenericSensorTest.MockSensorProvider.prototype.setPermissionsDenied):
(GenericSensorTest.MockSensorProvider.prototype.getCreatedSensor):
(GenericSensorTest.MockSensorProvider.prototype.setMaximumSupportedFrequency):
(GenericSensorTest.MockSensorProvider.prototype.setMinimumSupportedFrequency):
(GenericSensorTest.GenericSensorTestChromium):
(GenericSensorTest.GenericSensorTestChromium.prototype.initialize):
(GenericSensorTest.GenericSensorTestChromium.prototype.async reset):
(GenericSensorTest.GenericSensorTestChromium.prototype.getSensorProvider):
(GenericSensorTest):

  • web-platform-tests/resources/chromium/generic_sensor_mocks.js.headers: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/chromium/chooser_service.mojom.js.headers.
  • web-platform-tests/resources/chromium/image_capture-mojom.js.headers: Added.
  • web-platform-tests/resources/chromium/image_capture.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(MeteringMode.isKnownEnumValue):
(MeteringMode.validate):
(RedEyeReduction.isKnownEnumValue):
(RedEyeReduction.validate):
(FillLightMode.isKnownEnumValue):
(FillLightMode.validate):
(Range):
(Range.prototype.initDefaults_):
(Range.prototype.initFields_):
(Range.validate):
(Range.decode):
(Range.encode):
(PhotoState):
(PhotoState.prototype.initDefaults_):
(PhotoState.prototype.initFields_):
(PhotoState.validate):
(PhotoState.decode):
(PhotoState.encode):
(Point2D):
(Point2D.prototype.initDefaults_):
(Point2D.prototype.initFields_):
(Point2D.validate):
(Point2D.decode):
(Point2D.encode):
(PhotoSettings):
(PhotoSettings.prototype.initDefaults_):
(PhotoSettings.prototype.initFields_):
(PhotoSettings.validate):
(PhotoSettings.decode):
(PhotoSettings.encode):
(Blob):
(Blob.prototype.initDefaults_):
(Blob.prototype.initFields_):
(Blob.validate):
(Blob.decode):
(Blob.encode):
(ImageCapture_GetPhotoState_Params):
(ImageCapture_GetPhotoState_Params.prototype.initDefaults_):
(ImageCapture_GetPhotoState_Params.prototype.initFields_):
(ImageCapture_GetPhotoState_Params.validate):
(ImageCapture_GetPhotoState_Params.decode):
(ImageCapture_GetPhotoState_Params.encode):
(ImageCapture_GetPhotoState_ResponseParams):
(ImageCapture_GetPhotoState_ResponseParams.prototype.initDefaults_):
(ImageCapture_GetPhotoState_ResponseParams.prototype.initFields_):
(ImageCapture_GetPhotoState_ResponseParams.validate):
(ImageCapture_GetPhotoState_ResponseParams.decode):
(ImageCapture_GetPhotoState_ResponseParams.encode):
(ImageCapture_SetOptions_Params):
(ImageCapture_SetOptions_Params.prototype.initDefaults_):
(ImageCapture_SetOptions_Params.prototype.initFields_):
(ImageCapture_SetOptions_Params.validate):
(ImageCapture_SetOptions_Params.decode):
(ImageCapture_SetOptions_Params.encode):
(ImageCapture_SetOptions_ResponseParams):
(ImageCapture_SetOptions_ResponseParams.prototype.initDefaults_):
(ImageCapture_SetOptions_ResponseParams.prototype.initFields_):
(ImageCapture_SetOptions_ResponseParams.validate):
(ImageCapture_SetOptions_ResponseParams.decode):
(ImageCapture_SetOptions_ResponseParams.encode):
(ImageCapture_TakePhoto_Params):
(ImageCapture_TakePhoto_Params.prototype.initDefaults_):
(ImageCapture_TakePhoto_Params.prototype.initFields_):
(ImageCapture_TakePhoto_Params.validate):
(ImageCapture_TakePhoto_Params.decode):
(ImageCapture_TakePhoto_Params.encode):
(ImageCapture_TakePhoto_ResponseParams):
(ImageCapture_TakePhoto_ResponseParams.prototype.initDefaults_):
(ImageCapture_TakePhoto_ResponseParams.prototype.initFields_):
(ImageCapture_TakePhoto_ResponseParams.validate):
(ImageCapture_TakePhoto_ResponseParams.decode):
(ImageCapture_TakePhoto_ResponseParams.encode):
(ImageCapturePtr):
(ImageCaptureAssociatedPtr):
(ImageCaptureProxy):
(ImageCapturePtr.prototype.getPhotoState):
(ImageCaptureProxy.prototype.getPhotoState):
(ImageCapturePtr.prototype.setOptions):
(ImageCaptureProxy.prototype.setOptions):
(ImageCapturePtr.prototype.takePhoto):
(ImageCaptureProxy.prototype.takePhoto):
(ImageCaptureStub.prototype.getPhotoState):
(ImageCaptureStub.prototype.setOptions):
(ImageCaptureStub.prototype.takePhoto):
(ImageCaptureStub.prototype.accept):
(ImageCaptureStub.prototype.acceptWithResponder):
(validateImageCaptureRequest):
(validateImageCaptureResponse):

  • web-platform-tests/resources/chromium/mock-barcodedetection.js: Added.

(BarcodeDetectionTest):
(BarcodeDetectionTest.prototype.createBarcodeDetection):
(BarcodeDetectionTest.prototype.enumerateSupportedFormats):
(BarcodeDetectionTest.prototype.getFrameData):
(BarcodeDetectionTest.prototype.getFormats):
(BarcodeDetectionTest.prototype.reset):
(BarcodeDetectionTest.MockBarcodeDetection):
(BarcodeDetectionTest.MockBarcodeDetection.prototype.detect):
(BarcodeDetectionTest.BarcodeDetectionTestChromium):
(BarcodeDetectionTest.BarcodeDetectionTestChromium.prototype.initialize):
(BarcodeDetectionTest.BarcodeDetectionTestChromium.prototype.async reset):
(BarcodeDetectionTest.BarcodeDetectionTestChromium.prototype.MockBarcodeDetectionProvider):

  • web-platform-tests/resources/chromium/mock-barcodedetection.js.headers: Added.
  • web-platform-tests/resources/chromium/mock-facedetection.js: Added.

(FaceDetectionTest):
(FaceDetectionTest.prototype.createFaceDetection):
(FaceDetectionTest.prototype.getFrameData):
(FaceDetectionTest.prototype.getMaxDetectedFaces):
(FaceDetectionTest.prototype.getFastMode):
(FaceDetectionTest.prototype.reset):
(FaceDetectionTest.MockFaceDetection):
(FaceDetectionTest.MockFaceDetection.prototype.detect):
(FaceDetectionTest.FaceDetectionTestChromium):
(FaceDetectionTest.FaceDetectionTestChromium.prototype.initialize):
(FaceDetectionTest.FaceDetectionTestChromium.prototype.async reset):
(FaceDetectionTest.FaceDetectionTestChromium.prototype.MockFaceDetectionProvider):

  • web-platform-tests/resources/chromium/mock-facedetection.js.headers: Added.
  • web-platform-tests/resources/chromium/mock-imagecapture.js: Added.

(ImageCaptureTest):
(ImageCaptureTest.prototype.reset):
(ImageCaptureTest.prototype.getPhotoState):
(ImageCaptureTest.prototype.setOptions):
(ImageCaptureTest.prototype.takePhoto):
(ImageCaptureTest.prototype.state):
(ImageCaptureTest.prototype.options):
(ImageCaptureTest.ImageCaptureTestChromium):
(ImageCaptureTest.ImageCaptureTestChromium.prototype.initialize):
(ImageCaptureTest.ImageCaptureTestChromium.prototype.async reset):
(ImageCaptureTest.ImageCaptureTestChromium.prototype.mockImageCapture):

  • web-platform-tests/resources/chromium/mojo_bindings.js:

(exposeNamespace):
(loadMojomIfNecessary):
(InterfacePtrInfo):
(InterfacePtrInfo.prototype.isValid):
(InterfacePtrInfo.prototype.close):
(AssociatedInterfacePtrInfo):
(AssociatedInterfacePtrInfo.prototype.isValid):
(InterfaceRequest):
(InterfaceRequest.prototype.isValid):
(InterfaceRequest.prototype.close):
(AssociatedInterfaceRequest):
(AssociatedInterfaceRequest.prototype.isValid):
(AssociatedInterfaceRequest.prototype.resetWithReason):
(isMasterInterfaceId):
(isValidInterfaceId):
(hasInterfaceIdNamespaceBitSet):
(Connector.prototype.readMore_):
(validateControlRequestWithResponse):
(validateControlRequestWithoutResponse):
(runOrClosePipe):
(run):
(isInterfaceControlMessage):
(constructRunOrClosePipeMessage):
(validateControlResponse):
(acceptRunResponse):
(sendRunMessage):
(ControlMessageProxy.prototype.queryVersion):
(ControlMessageProxy.prototype.requireVersion):
(PipeControlMessageProxy.prototype.constructPeerEndpointClosedMessage):
(Router.prototype.createLocalEndpointHandle):
(Router.prototype.onPeerAssociatedEndpointClosed):
(decodeUtf8String):
(encodeUtf8String):
(utf8Length):
(RunInput.prototype.initValue_):
(RunInput.encode):
(RunInput.decode):
(RunInput.validate):
(RunOutput.prototype.initValue_):
(RunOutput.encode):
(RunOutput.decode):
(RunOutput.validate):
(RunOrClosePipeInput.prototype.initValue_):
(RunOrClosePipeInput.encode):
(RunOrClosePipeInput.decode):
(RunOrClosePipeInput.validate):
(DisconnectReason.validate):
(PeerAssociatedEndpointClosedEvent.validate):

  • web-platform-tests/resources/chromium/mojo_web_test_helper_test.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(MojoWebTestHelper_Reverse_Params):
(MojoWebTestHelper_Reverse_Params.prototype.initDefaults_):
(MojoWebTestHelper_Reverse_Params.prototype.initFields_):
(MojoWebTestHelper_Reverse_Params.validate):
(MojoWebTestHelper_Reverse_Params.decode):
(MojoWebTestHelper_Reverse_Params.encode):
(MojoWebTestHelper_Reverse_ResponseParams):
(MojoWebTestHelper_Reverse_ResponseParams.prototype.initDefaults_):
(MojoWebTestHelper_Reverse_ResponseParams.prototype.initFields_):
(MojoWebTestHelper_Reverse_ResponseParams.validate):
(MojoWebTestHelper_Reverse_ResponseParams.decode):
(MojoWebTestHelper_Reverse_ResponseParams.encode):
(MojoWebTestHelperPtr):
(MojoWebTestHelperAssociatedPtr):
(MojoWebTestHelperProxy):
(MojoWebTestHelperPtr.prototype.reverse):
(MojoWebTestHelperProxy.prototype.reverse):
(MojoWebTestHelperStub.prototype.reverse):
(MojoWebTestHelperStub.prototype.accept):
(MojoWebTestHelperStub.prototype.acceptWithResponder):
(validateMojoWebTestHelperRequest):
(validateMojoWebTestHelperResponse):

  • web-platform-tests/resources/chromium/mojo_web_test_helper_test.mojom.js.headers: Renamed from LayoutTests/imported/w3c/web-platform-tests/resources/chromium/device_manager.mojom.js.headers.
  • web-platform-tests/resources/chromium/nfc-mock.js: Added.

(toMojoNDEFPushTarget):
(toMojoNDEFMessage):
(toMojoNDEFRecord):
(toByteArray):
(compareNDEFRecords):
(assertNDEFPushOptionsEqual):
(assertNDEFReaderOptionsEqual):
(matchesWatchOptions):
(createNDEFError):
(WebNFCTest):
(WebNFCTest.prototype.async push):
(WebNFCTest.prototype.async cancelPush):
(WebNFCTest.prototype.setClient):
(WebNFCTest.prototype.async watch):
(WebNFCTest.prototype.async cancelWatch):
(WebNFCTest.prototype.async cancelAllWatches):
(WebNFCTest.prototype.getHWError):
(WebNFCTest.prototype.setHWStatus):
(WebNFCTest.prototype.pushedMessage):
(WebNFCTest.prototype.pushOptions):
(WebNFCTest.prototype.watchOptions):
(WebNFCTest.prototype.setPendingPushCompleted):
(WebNFCTest.prototype.reset):
(WebNFCTest.prototype.cancelPendingPushOperation):
(WebNFCTest.prototype.setReadingMessage):
(WebNFCTest.prototype.suspendNFCOperations):
(WebNFCTest.prototype.resumeNFCOperations):
(WebNFCTest.prototype.setIsNDEFTech):
(WebNFCTest.prototype.setIsFormattedTag):
(WebNFCTest.NFCTestChromium):
(WebNFCTest.NFCTestChromium.prototype.initialize):
(WebNFCTest.NFCTestChromium.prototype.async reset):
(WebNFCTest.NFCTestChromium.prototype.getMockNFC):

  • web-platform-tests/resources/chromium/sensor.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(SensorType.isKnownEnumValue):
(SensorType.validate):
(ReportingMode.isKnownEnumValue):
(ReportingMode.validate):
(SensorConfiguration):
(SensorConfiguration.prototype.initDefaults_):
(SensorConfiguration.prototype.initFields_):
(SensorConfiguration.validate):
(SensorConfiguration.decode):
(SensorConfiguration.encode):
(Sensor_GetDefaultConfiguration_Params):
(Sensor_GetDefaultConfiguration_Params.prototype.initDefaults_):
(Sensor_GetDefaultConfiguration_Params.prototype.initFields_):
(Sensor_GetDefaultConfiguration_Params.validate):
(Sensor_GetDefaultConfiguration_Params.decode):
(Sensor_GetDefaultConfiguration_Params.encode):
(Sensor_GetDefaultConfiguration_ResponseParams):
(Sensor_GetDefaultConfiguration_ResponseParams.prototype.initDefaults_):
(Sensor_GetDefaultConfiguration_ResponseParams.prototype.initFields_):
(Sensor_GetDefaultConfiguration_ResponseParams.validate):
(Sensor_GetDefaultConfiguration_ResponseParams.decode):
(Sensor_GetDefaultConfiguration_ResponseParams.encode):
(Sensor_AddConfiguration_Params):
(Sensor_AddConfiguration_Params.prototype.initDefaults_):
(Sensor_AddConfiguration_Params.prototype.initFields_):
(Sensor_AddConfiguration_Params.validate):
(Sensor_AddConfiguration_Params.decode):
(Sensor_AddConfiguration_Params.encode):
(Sensor_AddConfiguration_ResponseParams):
(Sensor_AddConfiguration_ResponseParams.prototype.initDefaults_):
(Sensor_AddConfiguration_ResponseParams.prototype.initFields_):
(Sensor_AddConfiguration_ResponseParams.validate):
(Sensor_AddConfiguration_ResponseParams.decode):
(Sensor_AddConfiguration_ResponseParams.encode):
(Sensor_RemoveConfiguration_Params):
(Sensor_RemoveConfiguration_Params.prototype.initDefaults_):
(Sensor_RemoveConfiguration_Params.prototype.initFields_):
(Sensor_RemoveConfiguration_Params.validate):
(Sensor_RemoveConfiguration_Params.decode):
(Sensor_RemoveConfiguration_Params.encode):
(Sensor_Suspend_Params):
(Sensor_Suspend_Params.prototype.initDefaults_):
(Sensor_Suspend_Params.prototype.initFields_):
(Sensor_Suspend_Params.validate):
(Sensor_Suspend_Params.decode):
(Sensor_Suspend_Params.encode):
(Sensor_Resume_Params):
(Sensor_Resume_Params.prototype.initDefaults_):
(Sensor_Resume_Params.prototype.initFields_):
(Sensor_Resume_Params.validate):
(Sensor_Resume_Params.decode):
(Sensor_Resume_Params.encode):
(Sensor_ConfigureReadingChangeNotifications_Params):
(Sensor_ConfigureReadingChangeNotifications_Params.prototype.initDefaults_):
(Sensor_ConfigureReadingChangeNotifications_Params.prototype.initFields_):
(Sensor_ConfigureReadingChangeNotifications_Params.validate):
(Sensor_ConfigureReadingChangeNotifications_Params.decode):
(Sensor_ConfigureReadingChangeNotifications_Params.encode):
(SensorClient_RaiseError_Params):
(SensorClient_RaiseError_Params.prototype.initDefaults_):
(SensorClient_RaiseError_Params.prototype.initFields_):
(SensorClient_RaiseError_Params.validate):
(SensorClient_RaiseError_Params.decode):
(SensorClient_RaiseError_Params.encode):
(SensorClient_SensorReadingChanged_Params):
(SensorClient_SensorReadingChanged_Params.prototype.initDefaults_):
(SensorClient_SensorReadingChanged_Params.prototype.initFields_):
(SensorClient_SensorReadingChanged_Params.validate):
(SensorClient_SensorReadingChanged_Params.decode):
(SensorClient_SensorReadingChanged_Params.encode):
(SensorPtr):
(SensorAssociatedPtr):
(SensorProxy):
(SensorPtr.prototype.getDefaultConfiguration):
(SensorProxy.prototype.getDefaultConfiguration):
(SensorPtr.prototype.addConfiguration):
(SensorProxy.prototype.addConfiguration):
(SensorPtr.prototype.removeConfiguration):
(SensorProxy.prototype.removeConfiguration):
(SensorPtr.prototype.suspend):
(SensorProxy.prototype.suspend):
(SensorPtr.prototype.resume):
(SensorProxy.prototype.resume):
(SensorPtr.prototype.configureReadingChangeNotifications):
(SensorProxy.prototype.configureReadingChangeNotifications):
(SensorStub):
(SensorStub.prototype.getDefaultConfiguration):
(SensorStub.prototype.addConfiguration):
(SensorStub.prototype.removeConfiguration):
(SensorStub.prototype.suspend):
(SensorStub.prototype.resume):
(SensorStub.prototype.configureReadingChangeNotifications):
(SensorStub.prototype.accept):
(SensorStub.prototype.acceptWithResponder):
(validateSensorRequest):
(validateSensorResponse):
(SensorClientPtr):
(SensorClientAssociatedPtr):
(SensorClientProxy):
(SensorClientPtr.prototype.raiseError):
(SensorClientProxy.prototype.raiseError):
(SensorClientPtr.prototype.sensorReadingChanged):
(SensorClientProxy.prototype.sensorReadingChanged):
(SensorClientStub):
(SensorClientStub.prototype.raiseError):
(SensorClientStub.prototype.sensorReadingChanged):
(SensorClientStub.prototype.accept):
(SensorClientStub.prototype.acceptWithResponder):
(validateSensorClientRequest):
(validateSensorClientResponse):

  • web-platform-tests/resources/chromium/sensor_provider.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(SensorCreationResult.isKnownEnumValue):
(SensorCreationResult.validate):
(SensorInitParams):
(SensorInitParams.prototype.initDefaults_):
(SensorInitParams.prototype.initFields_):
(SensorInitParams.validate):
(SensorInitParams.decode):
(SensorInitParams.encode):
(SensorProvider_GetSensor_Params):
(SensorProvider_GetSensor_Params.prototype.initDefaults_):
(SensorProvider_GetSensor_Params.prototype.initFields_):
(SensorProvider_GetSensor_Params.validate):
(SensorProvider_GetSensor_Params.decode):
(SensorProvider_GetSensor_Params.encode):
(SensorProvider_GetSensor_ResponseParams):
(SensorProvider_GetSensor_ResponseParams.prototype.initDefaults_):
(SensorProvider_GetSensor_ResponseParams.prototype.initFields_):
(SensorProvider_GetSensor_ResponseParams.validate):
(SensorProvider_GetSensor_ResponseParams.decode):
(SensorProvider_GetSensor_ResponseParams.encode):
(SensorProviderPtr):
(SensorProviderAssociatedPtr):
(SensorProviderProxy):
(SensorProviderPtr.prototype.getSensor):
(SensorProviderProxy.prototype.getSensor):
(SensorProviderStub.prototype.getSensor):
(SensorProviderStub.prototype.accept):
(SensorProviderStub.prototype.acceptWithResponder):
(validateSensorProviderRequest):
(validateSensorProviderResponse):

  • web-platform-tests/resources/chromium/sms_mock.js: Added.

(const.SmsProvider):
(const.SmsProvider.prototype.async receive):
(const.SmsProvider.prototype.async abort):
(const.SmsProvider.prototype.pushReturnValuesForTesting):
(const.SmsProvider.SmsProviderChromium):
(const.SmsProvider.SmsProviderChromium.prototype.pushReturnValuesForTesting):

  • web-platform-tests/resources/chromium/string16.mojom.js:

(String16.validate):
(BigString16):
(BigString16.prototype.initDefaults_):
(BigString16.prototype.initFields_):
(BigString16.validate):
(BigString16.decode):
(BigString16.encode):

  • web-platform-tests/resources/chromium/url.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(Url):
(Url.prototype.initDefaults_):
(Url.prototype.initFields_):
(Url.validate):
(Url.decode):
(Url.encode):

  • web-platform-tests/resources/chromium/w3c-import.log:
  • web-platform-tests/resources/chromium/web-bluetooth-test.js: Added.

(toMojoCentralState):
(canonicalizeAndConvertToMojoUUID):
(convertToMojoMap):
(const.MOJO_CHOOSER_EVENT_TYPE_MAP):
(ArrayToMojoCharacteristicProperties):
(FakeBluetooth):
(FakeBluetooth.prototype.async setLESupported):
(FakeBluetooth.prototype.async simulateCentral):
(FakeBluetooth.prototype.async allResponsesConsumed):
(FakeBluetooth.prototype.async getManualChooser):
(FakeCentral):
(FakeCentral.prototype.async simulatePreconnectedPeripheral):
(FakeCentral.prototype.async simulateAdvertisementReceived):
(FakeCentral.prototype.async setState):
(FakeCentral.prototype.fetchOrCreatePeripheral_):
(FakePeripheral):
(FakePeripheral.prototype.async addFakeService):
(FakePeripheral.prototype.async setNextGATTConnectionResponse):
(FakePeripheral.prototype.async setNextGATTDiscoveryResponse):
(FakePeripheral.prototype.async simulateGATTDisconnection):
(FakePeripheral.prototype.async simulateGATTServicesChanged):
(FakeRemoteGATTService):
(FakeRemoteGATTService.prototype.async addFakeCharacteristic):
(FakeRemoteGATTService.prototype.async remove):
(FakeRemoteGATTCharacteristic):
(FakeRemoteGATTCharacteristic.prototype.async addFakeDescriptor):
(FakeRemoteGATTCharacteristic.prototype.async setNextReadResponse):
(FakeRemoteGATTCharacteristic.prototype.async setNextWriteResponse):
(FakeRemoteGATTCharacteristic.prototype.async setNextSubscribeToNotificationsResponse):
(FakeRemoteGATTCharacteristic.prototype.async setNextUnsubscribeFromNotificationsResponse):
(FakeRemoteGATTCharacteristic.prototype.async isNotifying):
(FakeRemoteGATTCharacteristic.prototype.async getLastWrittenValue):
(FakeRemoteGATTCharacteristic.prototype.async remove):
(FakeRemoteGATTDescriptor):
(FakeRemoteGATTDescriptor.prototype.async setNextReadResponse):
(FakeRemoteGATTDescriptor.prototype.async setNextWriteResponse):
(FakeRemoteGATTDescriptor.prototype.async getLastWrittenValue):
(FakeRemoteGATTDescriptor.prototype.async remove):
(FakeChooser):
(FakeChooser.prototype.async waitForEvents):
(FakeChooser.prototype.async selectPeripheral):
(FakeChooser.prototype.async cancel):
(FakeChooser.prototype.async rescan):
(FakeChooser.prototype.onEvent):

  • web-platform-tests/resources/chromium/web-bluetooth-test.js.headers: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/chromium/chooser_service.mojom.js.headers.
  • web-platform-tests/resources/chromium/web_usb_service.mojom.js: Added.

(mojo.internal.isMojomLoaded):
(WebUsbService_GetDevices_Params):
(WebUsbService_GetDevices_Params.prototype.initDefaults_):
(WebUsbService_GetDevices_Params.prototype.initFields_):
(WebUsbService_GetDevices_Params.validate):
(WebUsbService_GetDevices_Params.decode):
(WebUsbService_GetDevices_Params.encode):
(WebUsbService_GetDevices_ResponseParams):
(WebUsbService_GetDevices_ResponseParams.prototype.initDefaults_):
(WebUsbService_GetDevices_ResponseParams.prototype.initFields_):
(WebUsbService_GetDevices_ResponseParams.validate):
(WebUsbService_GetDevices_ResponseParams.decode):
(WebUsbService_GetDevices_ResponseParams.encode):
(WebUsbService_GetDevice_Params):
(WebUsbService_GetDevice_Params.prototype.initDefaults_):
(WebUsbService_GetDevice_Params.prototype.initFields_):
(WebUsbService_GetDevice_Params.validate):
(WebUsbService_GetDevice_Params.decode):
(WebUsbService_GetDevice_Params.encode):
(WebUsbService_GetPermission_Params):
(WebUsbService_GetPermission_Params.prototype.initDefaults_):
(WebUsbService_GetPermission_Params.prototype.initFields_):
(WebUsbService_GetPermission_Params.validate):
(WebUsbService_GetPermission_Params.decode):
(WebUsbService_GetPermission_Params.encode):
(WebUsbService_GetPermission_ResponseParams):
(WebUsbService_GetPermission_ResponseParams.prototype.initDefaults_):
(WebUsbService_GetPermission_ResponseParams.prototype.initFields_):
(WebUsbService_GetPermission_ResponseParams.validate):
(WebUsbService_GetPermission_ResponseParams.decode):
(WebUsbService_GetPermission_ResponseParams.encode):
(WebUsbService_SetClient_Params):
(WebUsbService_SetClient_Params.prototype.initDefaults_):
(WebUsbService_SetClient_Params.prototype.initFields_):
(WebUsbService_SetClient_Params.validate):
(WebUsbService_SetClient_Params.decode):
(WebUsbService_SetClient_Params.encode):
(WebUsbServicePtr):
(WebUsbServiceAssociatedPtr):
(WebUsbServiceProxy):
(WebUsbServicePtr.prototype.getDevices):
(WebUsbServiceProxy.prototype.getDevices):
(WebUsbServicePtr.prototype.getDevice):
(WebUsbServiceProxy.prototype.getDevice):
(WebUsbServicePtr.prototype.getPermission):
(WebUsbServiceProxy.prototype.getPermission):
(WebUsbServicePtr.prototype.setClient):
(WebUsbServiceProxy.prototype.setClient):
(WebUsbServiceStub):
(WebUsbServiceStub.prototype.getDevices):
(WebUsbServiceStub.prototype.getDevice):
(WebUsbServiceStub.prototype.getPermission):
(WebUsbServiceStub.prototype.setClient):
(WebUsbServiceStub.prototype.accept):
(WebUsbServiceStub.prototype.acceptWithResponder):
(validateWebUsbServiceRequest):
(validateWebUsbServiceResponse):

  • web-platform-tests/resources/chromium/web_usb_service.mojom.js.headers: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/chromium/chooser_service.mojom.js.headers.
  • web-platform-tests/resources/chromium/webusb-child-test.js: Added.

(this.name.string_appeared_here.this.window.top.messageChannel.port1.onmessage.async if):

  • web-platform-tests/resources/chromium/webusb-child-test.js.headers: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/chromium/chooser_service.mojom.js.headers.
  • web-platform-tests/resources/chromium/webusb-test.js:

(getMessagePort):
(fakeDeviceInitToDeviceInfo):
(FakeDevice.prototype.async controlTransferIn):
(FakeDevice.prototype.async controlTransferOut):
(prototype.getDevices):
(prototype.getDevice):
(prototype.getPermission):
(prototype.setClient):
(USBDeviceRequestEvent.prototype.respondWith):
(USBDeviceRequestEvent):
(prototype.disconnect):
(prototype.async initialize):
(prototype.attachToContext):
(prototype.addFakeDevice):
(prototype.reset):

  • web-platform-tests/resources/chromium/webxr-test.js: Added.

(getMatrixFromTransform):
(composeGFXTransform):
(ChromeXRTest):
(ChromeXRTest.prototype.simulateDeviceConnection):
(ChromeXRTest.prototype.disconnectAllDevices):
(ChromeXRTest.prototype.simulateUserActivation):
(MockVRService):
(MockVRService.prototype.addRuntime):
(MockVRService.prototype.removeAllRuntimes):
(MockVRService.prototype.removeRuntime):
(MockVRService.prototype.setClient):
(MockVRService.prototype.requestSession):
(MockVRService.prototype.exitPresent):
(MockVRService.prototype.supportsSession):
(prototype.disconnect):
(prototype.setViews):
(prototype.setViewerOrigin):
(prototype.clearViewerOrigin):
(prototype.simulateVisibilityChange):
(prototype.setBoundsGeometry):
(prototype.setFloorOrigin):
(prototype.clearFloorOrigin):
(prototype.simulateResetPose):
(prototype.simulateInputSourceConnection):
(prototype.getNonImmersiveDisplayInfo):
(prototype.getImmersiveDisplayInfo):
(prototype.getEye.else.toDegrees):
(prototype.getEye):
(prototype.setFeatures.convertFeatureToMojom):
(prototype.setFeatures):
(prototype.addInputSource):
(prototype.removeInputSource):
(prototype.getFrameData):
(prototype.getEnvironmentIntegrationProvider):
(prototype.closeEnvironmentIntegrationProvider):
(prototype.closeDataProvider):
(prototype.updateSessionGeometry):
(prototype.requestRuntimeSession):
(prototype.runtimeSupportsSession):
(prototype.reportFeatureUsed):
(MockXRInputSource):
(MockXRInputSource.prototype.setHandedness):
(MockXRInputSource.prototype.setTargetRayMode):
(MockXRInputSource.prototype.setProfiles):
(MockXRInputSource.prototype.setGripOrigin):
(MockXRInputSource.prototype.clearGripOrigin):
(MockXRInputSource.prototype.setPointerOrigin):
(MockXRInputSource.prototype.disconnect):
(MockXRInputSource.prototype.reconnect):
(MockXRInputSource.prototype.startSelection):
(MockXRInputSource.prototype.endSelection):
(MockXRInputSource.prototype.simulateSelect):
(MockXRInputSource.prototype.setSupportedButtons):
(MockXRInputSource.prototype.updateButtonState):
(MockXRInputSource.prototype.getInputSourceState):
(MockXRInputSource.prototype.getEmptyGamepad):
(MockXRInputSource.prototype.addGamepadButton):
(MockXRInputSource.prototype.getButtonIndex):
(MockXRInputSource.prototype.getAxesStartIndex):
(MockXRPresentationProvider):
(MockXRPresentationProvider.prototype.bindProvider):
(MockXRPresentationProvider.prototype.getClientReceiver):
(MockXRPresentationProvider.prototype.submitFrameMissing):
(MockXRPresentationProvider.prototype.submitFrame):
(MockXRPresentationProvider.prototype.Close):

  • web-platform-tests/resources/chromium/webxr-test.js.headers: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/chromium/chooser_service.mojom.js.headers.
  • web-platform-tests/resources/idlharness.js:

(IdlArray.prototype.add_dependency_idls):
(IdlArray.prototype.test):
(IdlArray.prototype.are_duplicate_members):
(idl_test):
(fetch_spec):

  • web-platform-tests/resources/readme.md:
  • web-platform-tests/resources/sriharness.js:

(set_extra_attributes):
(buildElementFromDestination):
(const.SRIPreloadTest):
(SRIStyleTest.prototype.execute):

  • web-platform-tests/resources/test/README.md:
  • web-platform-tests/resources/test/config.test.json: Removed.
  • web-platform-tests/resources/test/conftest.py:

(pytest_addoption):
(pytest_collect_file):
(pytest_configure):
(resolve_uri):
(HTMLItem.init):
(HTMLItem.reportinfo):
(HTMLItem.runtest):
(HTMLItem):
(HTMLItem._run_unit_test):
(HTMLItem._run_functional_test):
(HTMLItem._run_functional_test_variant):
(HTMLItem._summarize):
(HTMLItem._assert_sequence):
(HTMLItem._scrub_stack):

  • web-platform-tests/resources/test/idl-helper.js: Added.

(interfaceFrom):
(memberFrom):
(typeFrom):

  • web-platform-tests/resources/test/nested-testharness.js: Added.

(makeTest.return.new.Promise):
(makeTest):

  • web-platform-tests/resources/test/tests/functional/add_cleanup.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_async.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_async_bad_return.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_async_rejection.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_async_rejection_after_load.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_async_timeout.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_bad_return.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_count.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_err.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_err_multi.html: Added.
  • web-platform-tests/resources/test/tests/functional/add_cleanup_sync_queue.html: Added.
  • web-platform-tests/resources/test/tests/functional/api-tests-1.html: Added.
  • web-platform-tests/resources/test/tests/functional/api-tests-2.html: Added.
  • web-platform-tests/resources/test/tests/functional/api-tests-3.html: Added.
  • web-platform-tests/resources/test/tests/functional/force_timeout.html: Added.
  • web-platform-tests/resources/test/tests/functional/generate-callback.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlDictionary/test_partial_interface_of.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlDictionary/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/lib/w3c-import.log.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlInterface/test_immutable_prototype.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlInterface/test_interface_mixin.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlInterface/test_partial_interface_of.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlInterface/test_primary_interface_of.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlInterface/test_to_json_operation.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlInterface/w3c-import.log: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlNamespace/test_attribute.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlNamespace/test_operation.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlNamespace/test_partial_namespace.html: Added.
  • web-platform-tests/resources/test/tests/functional/idlharness/IdlNamespace/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/lib/w3c-import.log.
  • web-platform-tests/resources/test/tests/functional/iframe-callback.html: Added.
  • web-platform-tests/resources/test/tests/functional/iframe-consolidate-errors.html: Added.
  • web-platform-tests/resources/test/tests/functional/iframe-consolidate-tests.html: Added.
  • web-platform-tests/resources/test/tests/functional/iframe-msg.html: Added.
  • web-platform-tests/resources/test/tests/functional/log-insertion.html: Added.
  • web-platform-tests/resources/test/tests/functional/order.html: Added.
  • web-platform-tests/resources/test/tests/functional/promise-async.html: Added.
  • web-platform-tests/resources/test/tests/functional/promise-with-sync.html: Added.
  • web-platform-tests/resources/test/tests/functional/promise.html: Added.
  • web-platform-tests/resources/test/tests/functional/queue.html: Added.
  • web-platform-tests/resources/test/tests/functional/single-page-test-fail.html: Added.
  • web-platform-tests/resources/test/tests/functional/single-page-test-no-assertions.html: Added.
  • web-platform-tests/resources/test/tests/functional/single-page-test-no-body.html: Added.
  • web-platform-tests/resources/test/tests/functional/single-page-test-pass.html: Added.
  • web-platform-tests/resources/test/tests/functional/task-scheduling-promise-test.html: Added.
  • web-platform-tests/resources/test/tests/functional/task-scheduling-test.html: Added.
  • web-platform-tests/resources/test/tests/functional/uncaught-exception-handle.html: Added.
  • web-platform-tests/resources/test/tests/functional/uncaught-exception-ignore.html: Added.
  • web-platform-tests/resources/test/tests/functional/w3c-import.log: Added.
  • web-platform-tests/resources/test/tests/functional/worker-dedicated-uncaught-allow.html: Added.
  • web-platform-tests/resources/test/tests/functional/worker-dedicated-uncaught-single.html: Added.
  • web-platform-tests/resources/test/tests/functional/worker-dedicated.sub.html: Added.
  • web-platform-tests/resources/test/tests/functional/worker-error.js: Added.

(test):

  • web-platform-tests/resources/test/tests/functional/worker-service.html: Added.
  • web-platform-tests/resources/test/tests/functional/worker-shared.html: Added.
  • web-platform-tests/resources/test/tests/functional/worker-uncaught-allow.js: Added.

(async_test.onerror):
(async_test):

  • web-platform-tests/resources/test/tests/functional/worker-uncaught-single.js: Added.
  • web-platform-tests/resources/test/tests/functional/worker.js: Added.

(test):
(async_test):

  • web-platform-tests/resources/test/tests/unit/IdlArray/is_json_type.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlArray/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/lib/w3c-import.log.
  • web-platform-tests/resources/test/tests/unit/IdlDictionary/get_inheritance_stack.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlDictionary/test_partial_dictionary.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlDictionary/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/lib/w3c-import.log.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/constructors.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/default_to_json_operation.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/do_member_unscopable_asserts.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/get_inheritance_stack.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/get_interface_object.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/get_interface_object_owner.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/get_legacy_namespace.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/get_qualified_name.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/has_default_to_json_regular_operation.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/has_to_json_regular_operation.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/test_primary_interface_of_undefined.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/traverse_inherited_and_consequential_interfaces.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterface/w3c-import.log: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterfaceMember/is_to_json_regular_operation.html: Added.
  • web-platform-tests/resources/test/tests/unit/IdlInterfaceMember/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/webidl2/lib/w3c-import.log.
  • web-platform-tests/resources/test/tests/unit/assert_object_equals.html: Added.
  • web-platform-tests/resources/test/tests/unit/basic.html: Added.
  • web-platform-tests/resources/test/tests/unit/exceptional-cases-timeouts.html: Added.
  • web-platform-tests/resources/test/tests/unit/exceptional-cases.html: Added.
  • web-platform-tests/resources/test/tests/unit/format-value.html: Added.
  • web-platform-tests/resources/test/tests/unit/late-test.html: Added.
  • web-platform-tests/resources/test/tests/unit/promise_setup-timeout.html: Added.
  • web-platform-tests/resources/test/tests/unit/promise_setup.html: Added.
  • web-platform-tests/resources/test/tests/unit/single_test.html: Added.
  • web-platform-tests/resources/test/tests/unit/test-return-restrictions.html: Added.
  • web-platform-tests/resources/test/tests/unit/throwing-assertions.html: Added.
  • web-platform-tests/resources/test/tests/unit/unpaired-surrogates.html: Added.
  • web-platform-tests/resources/test/tests/unit/w3c-import.log: Added.
  • web-platform-tests/resources/test/tox.ini:
  • web-platform-tests/resources/test/variants.js: Added.

(variants.string_appeared_here.apply):
(Object.hasOwnProperty.call):
(typeof.test.string_appeared_here.test):
(onReady):

  • web-platform-tests/resources/test/w3c-import.log:
  • web-platform-tests/resources/test/wptserver.py:

(WPTServer):
(WPTServer.init):
(WPTServer.start):
(WPTServer.stop):
(WPTServer.url):

  • web-platform-tests/resources/testdriver-actions.js:

(Actions):
(Actions.prototype.serialize):
(Actions.prototype.pause):
(GeneralSource.prototype.serialize):
(KeySource.prototype.addPause):
(PointerSource.prototype.addPause):

  • web-platform-tests/resources/testdriver-vendor.js:

(dispatchMouseActions):

  • web-platform-tests/resources/testdriver-vendor.js.headers: Copied from LayoutTests/imported/w3c/web-platform-tests/resources/testharnessreport.js.headers.
  • web-platform-tests/resources/testdriver.js:

(window.test_driver.generate_test_report):
(window.test_driver.set_permission):
(window.test_driver.add_virtual_authenticator):
(window.test_driver.remove_virtual_authenticator):
(window.test_driver.add_credential):
(window.test_driver.get_credentials):
(window.test_driver.remove_credential):
(window.test_driver.remove_all_credentials):
(window.test_driver.set_user_verified):
(window.test_driver_internal.generate_test_report):
(window.test_driver_internal.set_permission):
(window.test_driver_internal.add_virtual_authenticator):
(window.test_driver_internal.remove_virtual_authenticator):
(window.test_driver_internal.add_credential):
(window.test_driver_internal.get_credentials):
(window.test_driver_internal.remove_credential):
(window.test_driver_internal.remove_all_credentials):
(window.test_driver_internal.set_user_verified):

  • web-platform-tests/resources/testdriver.js.headers: Renamed from LayoutTests/imported/w3c/web-platform-tests/resources/chromium/chooser_service.mojom.js.headers.
  • web-platform-tests/resources/testharness.css.headers: Removed.
  • web-platform-tests/resources/testharness.js:

(test):
(async_test):
(promise_test):
(promise_rejects_js):
(promise_rejects_dom):
(promise_rejects_exactly):
(promise_setup):
(done):

  • web-platform-tests/resources/testharnessreport.js.headers:
  • web-platform-tests/resources/w3c-import.log:
  • web-platform-tests/resources/webidl2/lib/README.md: Added.
  • web-platform-tests/resources/webidl2/lib/w3c-import.log:
  • web-platform-tests/resources/webidl2/lib/webidl2.js:
  • web-platform-tests/resources/webidl2/lib/writer.js: Removed.
  • web-platform-tests/server-timing/resource_timing_idl.html:
  • web-platform-tests/server-timing/resource_timing_idl.https.html:
  • web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt:
  • web-platform-tests/streams/byte-length-queuing-strategy.sharedworker-expected.txt:
  • web-platform-tests/streams/count-queuing-strategy.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/close-propagation-backward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
  • web-platform-tests/streams/piping/close-propagation-forward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/error-propagation-backward-expected.txt:
  • web-platform-tests/streams/piping/error-propagation-backward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/error-propagation-forward.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/flow-control.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/general-expected.txt:
  • web-platform-tests/streams/piping/general.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/multiple-propagation.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/pipe-through.sharedworker-expected.txt:
  • web-platform-tests/streams/piping/transform-streams.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/brand-checks.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/detached-buffers.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/general.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/properties.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-strategies.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/bad-underlying-sources.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/brand-checks.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/cancel.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/count-queuing-strategy-integration.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/default-reader.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/floating-point-total-queue-size.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/garbage-collection.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/general.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/readable-stream-reader.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/tee.serviceworker.https-expected.txt:
  • web-platform-tests/streams/readable-streams/tee.sharedworker-expected.txt:
  • web-platform-tests/streams/readable-streams/templated.sharedworker-expected.txt:
  • web-platform-tests/svg/animations/scripted/onhover-syncbases-expected.txt:
  • web-platform-tests/svg/idlharness.window-expected.txt:
  • web-platform-tests/user-timing/idlharness-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_clear_marks-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_clear_measures-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_entry_type-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_exists-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_with_timing_attributes-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_without_parameter-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_mark_with_name_of_navigation_timing_optional_attribute-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
  • web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt:
  • web-platform-tests/web-share/idlharness.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-minimum-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-output-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-scale.html:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-addmodule-resolution.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-timing-info.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-constantsourcenode-interface/constant-source-onended-expected.txt:
  • web-platform-tests/webrtc/idlharness.https.window-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/importScripts-in-sharedworker-expected.txt:
  • web-platform-tests/workers/baseurl/alpha/xhr-in-sharedworker-expected.txt:
  • web-platform-tests/workers/interfaces/WorkerGlobalScope/location/redirect-sharedworker-expected.txt:
  • web-platform-tests/workers/semantics/structured-clone/shared-expected.txt:
  • web-platform-tests/xhr/idlharness.any-expected.txt:
  • web-platform-tests/xhr/idlharness.any.worker-expected.txt:
  • web-platform-tests/xhr/open-url-redirected-sharedworker-origin-expected.txt:

LayoutTests:

  • http/wpt/entries-api/interfaces-expected.txt:
  • http/wpt/fetch/csp-reports-bypass-csp-checks.html:
  • http/wpt/mediarecorder/MediaRecorder-onremovetrack.html:
  • http/wpt/webauthn/idl.https-expected.txt:
  • http/wpt/workers/promise-unhandled-rejection.any-expected.txt:
  • http/wpt/workers/promise-unhandled-rejection.any.worker-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/clipboard-apis/async-interfaces.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/no_window_open_when_term_nesting_level_nonzero.window-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
  • platform/mac-wk2/imported/w3c/web-platform-tests/web-share/idlharness.https-expected.txt:
  • tests-options.json:
7:43 AM Changeset in webkit [253629] by commit-queue@webkit.org
  • 91 edits
    4 deletes in trunk/LayoutTests/imported/w3c

Remove redundant grid.css files and reference all relevant tests to support/grid.css
https://bugs.webkit.org/show_bug.cgi?id=205067

Patch by Rossana Monteriso <rmonteriso@igalia.com> on 2019-12-17
Reviewed by Manuel Rego Casasnovas.

Reference all grid tests to a single grid.css file inside css/support/; remove redundant grid.css files inside css/css-grid/ subfolders.

  • web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-containing-block-001.html:
  • web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-parent-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-paint-positioned-children-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-children-writing-modes-001-expected.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-children-writing-modes-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-002.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-003.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-004.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-005.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-006.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-and-autofit-tracks-007.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-rtl-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-content-alignment-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-content-alignment-rtl-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-gaps-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-gaps-002-rtl.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-gaps-002.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-gaps-rtl-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-line-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-padding-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-positioned-items-within-grid-implicit-track-001.html:
  • web-platform-tests/css/css-grid/abspos/grid-sizing-positioned-items-001.html:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-create-implicit-tracks-001.html:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-take-up-space-001.html:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-items-sizing-001-expected.html:
  • web-platform-tests/css/css-grid/abspos/positioned-grid-items-sizing-001.html:
  • web-platform-tests/css/css-grid/abspos/support/grid.css: Removed.
  • web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-001.html:
  • web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-002.html:
  • web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-003.html:
  • web-platform-tests/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-004.html:
  • web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-001.html:
  • web-platform-tests/css/css-grid/alignment/grid-content-alignment-second-pass-002.html:
  • web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-001.html:
  • web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-002.html:
  • web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-003.html:
  • web-platform-tests/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-004.html:
  • web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001.html:
  • web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-002.html:
  • web-platform-tests/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-003.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-max-size-001.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-max-size-002.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-min-max-size-001.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-min-size-001.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-auto-repeat-min-size-002.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-change-auto-repeat-tracks.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-change-fit-content-argument-001.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-inline-auto-repeat-001.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-percentage-rows-indefinite-height-001.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-template-columns-fit-content-001-expected.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-template-columns-fit-content-001.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001-expected.html:
  • web-platform-tests/css/css-grid/grid-definition/grid-template-rows-fit-content-001.html:
  • web-platform-tests/css/css-grid/grid-definition/support/grid.css: Removed.
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-orthogonal-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-orthogonal-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-vertical-lr-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-vertical-lr-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-vertical-rl-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-minimum-width-vertical-rl-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-rl-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-rl-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-relative-offsets-001.html:
  • web-platform-tests/css/css-grid/grid-items/grid-items-relative-offsets-002.html:
  • web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-022.html:
  • web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-023.html:
  • web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-024.html:
  • web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-025.html:
  • web-platform-tests/css/css-grid/grid-items/support/grid.css: Removed.
  • web-platform-tests/css/css-grid/grid-model/grid-container-ignores-first-letter-001.html:
  • web-platform-tests/css/css-grid/grid-model/grid-container-ignores-first-line-001.html:
  • web-platform-tests/css/css-grid/grid-model/grid-container-scrollbar-001.html:
  • web-platform-tests/css/css-grid/grid-model/grid-container-scrollbar-vertical-lr-001.html:
  • web-platform-tests/css/css-grid/grid-model/grid-container-scrollbar-vertical-rl-001.html:
  • web-platform-tests/css/css-grid/grid-model/grid-item-accepts-first-letter-001.html:
  • web-platform-tests/css/css-grid/grid-model/grid-item-accepts-first-line-001.html:
  • web-platform-tests/css/css-grid/grid-model/support/grid.css: Removed.
  • web-platform-tests/css/support/grid.css:

(.firstRowThirdColumn):
(.firstRowFourthColumn):
(.thirdRowSecondColumn):
(.thirdRowThirdColumn):

7:27 AM Changeset in webkit [253628] by youenn@apple.com
  • 5 edits in trunk/Source/WebCore

Update session category in MockAudioSharedUnit as done in CoreAudioSharedUnit
https://bugs.webkit.org/show_bug.cgi?id=205328

Reviewed by Eric Carlson.

We were updating the audio session when starting capturing with the CoreAudioSharedUnit
but not with the MockAudioSharedUnit.
Refactor the code to update the audio session in the base class BaseAudioSharedUnit.
Share more code between start and resume case in BaseAudioSharedUnit.

Covered by platform/ios/mediastream/audio-muted-in-background-tab.html in Debug.

  • platform/mediastream/mac/BaseAudioSharedUnit.cpp:

(WebCore::BaseAudioSharedUnit::startProducingData):
(WebCore::BaseAudioSharedUnit::startUnit):
(WebCore::BaseAudioSharedUnit::resume):

  • platform/mediastream/mac/BaseAudioSharedUnit.h:
  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

(WebCore::CoreAudioSharedUnit::startInternal):

  • platform/mediastream/mac/MockAudioSharedUnit.mm:

(WebCore::MockAudioSharedUnit::startInternal):

6:34 AM Changeset in webkit [253627] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK gardening. Mark WebKit.FocusedFrameAfterCrash as timeout

  • TestWebKitAPI/glib/TestExpectations.json:
6:28 AM Changeset in webkit [253626] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

[GTK][WPE] IndexedDB directory set in WebsiteDataManager is ignored
https://bugs.webkit.org/show_bug.cgi?id=205330

Reviewed by Youenn Fablet.

There are two problems here:

1- WebKitWebsiteDataManager is no longer setting the indexedDB directory to the WebsiteDatastore

configuration. It seems the code was removed by mistake in r249778 when rolling out r249768.

2- The WebProcessPool is not considering the primary WebsiteDataStore for indexedDB configuration.

Fixes: /webkit/WebKitWebsiteData/databases

/webkit/WebKitWebsiteData/configuration

  • UIProcess/API/glib/WebKitWebsiteDataManager.cpp:

(webkitWebsiteDataManagerGetDataStore):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

6:25 AM Changeset in webkit [253625] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK gardening. Mark several tests that usually time out in the bots as slow

It seems it depends on the load of the bots. Some of them still time out sometimes even after being marked as
slow, so also mark them all as flaky.

  • TestWebKitAPI/glib/TestExpectations.json:
6:13 AM Changeset in webkit [253624] by Carlos Garcia Campos
  • 2 edits in trunk/Source/JavaScriptCore

[GLIB] jsc_context_evaluate_in_object should take the API lock before calling setGlobalScopeExtension
https://bugs.webkit.org/show_bug.cgi?id=205331

Reviewed by Žan Doberšek.

We are now getting a crash due to an assert because the api lock is not held.

  • API/glib/JSCContext.cpp:

(jsc_context_evaluate_in_object):

6:09 AM Changeset in webkit [253623] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK gardening. Mark /webkit/WebKitWebExtension/form-submission-steps as timeout

  • TestWebKitAPI/glib/TestExpectations.json:
5:59 AM Changeset in webkit [253622] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK gardening. Fix test /webkit/WebKitPrintOperation/close-after-print

Use webkit_web_view_new_with_related_view() instead of webkit_web_view_new_with_context() since it's expected
that web views created in WebKitWebView::create signal callback are related. Also use g_object_unref() instead
of gtk_widget_destroy() to release the created web view since it's never added to a window.

  • TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
3:50 AM Changeset in webkit [253621] by youenn@apple.com
  • 8 edits in trunk

Bump the priority of CacheStorageEngine write operations
https://bugs.webkit.org/show_bug.cgi?id=205329

Reviewed by Antti Koivisto.

Source/WebKit:

Introduce an IOChannel extra optional parameter to set the QOS.
Use this parameter for IOChannels created by CacheStorageEngine when writing files to increase the priority to default.
Increase the priority of the CacheStorageEngine background queue to default.
No observable change of behavior except potential speed increase.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::Engine):
(WebKit::CacheStorage::Engine::writeFile):

  • NetworkProcess/cache/NetworkCacheIOChannel.h:

(WebKit::NetworkCache::IOChannel::open):

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::dispatchQueueFromPriority):
(WebKit::NetworkCache::IOChannel::IOChannel):
(WebKit::NetworkCache::IOChannel::open):

  • NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp:

(WebKit::NetworkCache::IOChannel::open):

  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:

(WebKit::NetworkCache::IOChannel::open):

LayoutTests:

  • http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html:

Increase timer.

3:33 AM Changeset in webkit [253620] by youenn@apple.com
  • 10 edits in trunk

WebKitTestRunner should report service worker process crashes
https://bugs.webkit.org/show_bug.cgi?id=205267

Reviewed by Chris Dumez.

Source/WebKit:

Expose a way for WTR to be notified of service worker process crashes.

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

(WebKit::WebContextClient::serviceWorkerProcessDidCrash):

  • UIProcess/WebContextClient.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::serviceWorkerProcessCrashed):

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

(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::generatePageConfiguration):
(WTR::TestController::serviceWorkerProcessDidCrash):

  • WebKitTestRunner/TestController.h:
3:20 AM Changeset in webkit [253619] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. WebDriver: set doc_root in WebDriverW3CExecutor server config

It's expected by test imported/w3c/webdriver/tests/navigate_to/navigate.py::test_file_protocol

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:

(WebDriverW3CExecutor.init):

2:17 AM Changeset in webkit [253618] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

check-webkit-style: allow underscores for public symbols in JSC GLIB API
https://bugs.webkit.org/show_bug.cgi?id=205265

Reviewed by Jonathan Bedard.

Add an exception for symbols starting with jsc_ in glib directories.

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

(check_identifier_name_in_declaration):

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

(WebKitStyleTest.test_names):

2:11 AM Changeset in webkit [253617] by commit-queue@webkit.org
  • 6 edits in trunk

[GStreamer][WPE] Fix regressions related to our 'Fix GStreamer capturer mock' patch
https://bugs.webkit.org/show_bug.cgi?id=205270

Source/WebCore:

MockGStreamerAudioCaptureSource rightfully defaults to echoCancellation=True,
see https://bugs.webkit.org/show_bug.cgi?id=205057

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

This fixes existing tests

  • platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp:

(WebCore::WrappedMockRealtimeAudioSource::addHum):

LayoutTests:

Skip GPUProcess related tests

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

  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • webrtc/peer-connection-audio-mute.html:
1:51 AM Changeset in webkit [253616] by Antti Koivisto
  • 14 edits
    2 adds in trunk

Resolve dynamic media queries without reconstructing RuleSets
https://bugs.webkit.org/show_bug.cgi?id=205264

Reviewed by Zalan Bujtas.

Source/WebCore:

We currently do a full style resolver reset whenever a media query result changes. This is very inefficient
as we need to reconstuct all RuleSets and optimization structures. We also lose related caches and are forced
to re-resolve full document style. This may happen frequently, for example when resizing window on a responsive
web site.

With this patch we construct RuleDatas also for non-matching dynamic media queries and simply mark them disabled.
We create a data structure that allows enabling and disabling them efficiently as a response to environment changes
(like view resize). This allows us to avoid throwing away anything during common scenarios.

Test: fast/media/media-query-dynamic-with-font-face.html

  • css/MediaQueryEvaluator.cpp:

(WebCore::MediaQueryEvaluator::evaluate const):

Add a mode where dynamic media queries all evaluate to true and only static properties can cause the query to fail.

  • css/MediaQueryEvaluator.h:
  • style/ElementRuleCollector.cpp:

(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):

Skip disabled rules during rule collection.

  • style/RuleData.cpp:

(WebCore::Style::RuleData::RuleData):

  • style/RuleData.h:

(WebCore::Style::RuleData::isEnabled const):
(WebCore::Style::RuleData::setEnabled):

Add a bit.

  • style/RuleSet.cpp:

(WebCore::Style::RuleSet::addRule):

Collect positions of rules affected by dynamic media queries.

(WebCore::Style::RuleSet::addPageRule):
(WebCore::Style::RuleSet::addChildRules):
(WebCore::Style::RuleSet::addRulesFromSheet):

First check for a special case where we have style resolver mutating rules (like @font-face) inside a media query.
In this case we fall back to static resolution.

Then collect the rules. Static media queries (print etc) are evaluated right away, dynamic ones are collected by MediaQueryCollector.

(WebCore::Style::RuleSet::addStyleRule):
(WebCore::Style::RuleSet::traverseRuleDatas):
(WebCore::Style::RuleSet::evaluteDynamicMediaQueryRules):

Evaluate media queries for changes and flip the enabled state of the rules if needed.

(WebCore::Style::RuleSet::MediaQueryCollector::pushAndEvaluate):
(WebCore::Style::RuleSet::MediaQueryCollector::pop):
(WebCore::Style::RuleSet::MediaQueryCollector::didMutateResolver):
(WebCore::Style::RuleSet::MediaQueryCollector::addRulePositionIfNeeded):

  • style/RuleSet.h:

(WebCore::Style::RuleSet::hasViewportDependentMediaQueries const):

  • style/StyleResolver.cpp:

(WebCore::Style::Resolver::hasViewportDependentMediaQueries const):
(WebCore::Style::Resolver::evaluateDynamicMediaQueries):
(WebCore::Style::Resolver::addMediaQueryDynamicResults): Deleted.
(WebCore::Style::Resolver::hasMediaQueriesAffectedByViewportChange const): Deleted.
(WebCore::Style::Resolver::hasMediaQueriesAffectedByAccessibilitySettingsChange const): Deleted.
(WebCore::Style::Resolver::hasMediaQueriesAffectedByAppearanceChange const): Deleted.

Profiling doesn't show any need to handle the cases separately. Replace with single evaluateDynamicMediaQueries path.
We can bring type specific paths back easily if needed.

  • style/StyleResolver.h:

(WebCore::Style::Resolver::hasViewportDependentMediaQueries const): Deleted.
(WebCore::Style::Resolver::hasAccessibilitySettingsDependentMediaQueries const): Deleted.
(WebCore::Style::Resolver::hasAppearanceDependentMediaQueries const): Deleted.

  • style/StyleScope.cpp:

(WebCore::Style::Scope::evaluateMediaQueriesForViewportChange):
(WebCore::Style::Scope::evaluateMediaQueriesForAccessibilitySettingsChange):
(WebCore::Style::Scope::evaluateMediaQueriesForAppearanceChange):

Call into general evaluateDynamicMediaQueries.

(WebCore::Style::Scope::evaluateMediaQueries):

In normal case we can just invalidate style, not throw everything away.
This can be further improved by adding optimization rule sets.

  • style/StyleScopeRuleSets.cpp:

(WebCore::Style::ScopeRuleSets::updateUserAgentMediaQueryStyleIfNeeded const):
(WebCore::Style::ScopeRuleSets::initializeUserStyle):
(WebCore::Style::ScopeRuleSets::collectRulesFromUserStyleSheets):
(WebCore::Style::makeRuleSet):
(WebCore::Style::ScopeRuleSets::hasViewportDependentMediaQueries const):
(WebCore::Style::ScopeRuleSets::evaluteDynamicMediaQueryRules):
(WebCore::Style::ScopeRuleSets::appendAuthorStyleSheets):
(WebCore::Style::ensureInvalidationRuleSets):

  • style/StyleScopeRuleSets.h:

LayoutTests:

Add a test verifying that @font-face inside @media works in dynamic scenarios.

  • fast/media/media-query-dynamic-with-font-face-expected.html: Added.
  • fast/media/media-query-dynamic-with-font-face.html: Added.
1:32 AM Changeset in webkit [253615] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Improve release logging in NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=205295

Reviewed by Youenn Fablet.

Improve release logging in NetworkResourceLoader to facilitate debugging of loading-related issues.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::retrieveCacheEntryInternal):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::convertToDownload):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::didBlockAuthenticationChallenge):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
(WebKit::NetworkResourceLoader::didFinishWithRedirectResponse):
(WebKit::NetworkResourceLoader::restartNetworkLoad):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::continueDidReceiveResponse):
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
(WebKit::NetworkResourceLoader::didReceiveMainResourceResponse):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
(WebKit::NetworkResourceLoader::sendResultForCacheEntry):
(WebKit::NetworkResourceLoader::validateCacheEntry):
(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
(WebKit::NetworkResourceLoader::startWithServiceWorker):
(WebKit::NetworkResourceLoader::serviceWorkerDidNotHandle):

1:02 AM Changeset in webkit [253614] by youenn@apple.com
  • 5 edits in trunk

FileList should be exposed to workers
https://bugs.webkit.org/show_bug.cgi?id=204074

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/idlharness.worker-expected.txt:
  • web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:

Source/WebCore:

Covered by rebased test.

  • fileapi/FileList.idl:
12:50 AM Changeset in webkit [253613] by mark.lam@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Relanding r253581: Changed jsc shell timeout mechanism to leverage the VMTraps and use CPUTime.
https://bugs.webkit.org/show_bug.cgi?id=205279
<rdar://problem/57971874>

Reviewed by Saam Barati.

This fixes all the timeouts that occur due to CPU time starvation when
running JSC tests on a debug build.

What this means is that the timeout mechanism may trigger asynchronous
OSR exits. If a test requires no OSR exits, that test should
requireOption("--usePollingTraps=true") so that the VMTraps will use its
polling implementation instead.

I've tested this with a full run of the JSC stress tests with a debug
build and saw 0 timeouts. I've also tested it with a contrived tests that
loops forever, and saw the expected timeout crash.

Will look into re-tuning needed timeout value (and other JSC tests timeout
cleanup) in https://bugs.webkit.org/show_bug.cgi?id=205298.

Update: in the previously landed patch, I did a last minute sort of the cases
Int the switch statement in VMTraps::handleTraps() before posting my patch.
This is incorrect to do since one of the cases need to fall through to another
case. This patch undoes the sorting to the order I originally had the cases
in during development and testing.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):

  • interpreter/InterpreterInlines.h:

(JSC::Interpreter::execute):

  • jsc.cpp:

(startTimeoutTimer):
(timeoutCheckCallback):
(initializeTimeoutIfNeeded):
(startTimeoutThreadIfNeeded):
(runJSC):
(jscmain):

  • runtime/JSCConfig.h:
  • runtime/VM.h:

(JSC::VM::notifyNeedShellTimeoutCheck):

  • runtime/VMTraps.cpp:

(JSC::VMTraps::handleTraps):

  • runtime/VMTraps.h:

(JSC::VMTraps::Mask::Mask):
(JSC::VMTraps::Mask::allEventTypes):
(JSC::VMTraps::Mask::init):
(JSC::VMTraps::interruptingTraps):

  • tools/VMInspector.cpp:

(JSC::VMInspector::forEachVM):

  • tools/VMInspector.h:
12:14 AM Changeset in webkit [253612] by jh718.park@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Remove the build warnings below since r253488.
warning: unused parameter ‘foo’ [-Wunused-parameter]

No new tests, no behavioral changes.

Patch by Joonghun Park <jh718.park@samsung.com> on 2019-12-16

  • testing/Internals.cpp:

(WebCore::Internals::hasSandboxMachLookupAccessToXPCServiceName):

Dec 16, 2019:

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

test-lldb-webkit: Run in CI
https://bugs.webkit.org/show_bug.cgi?id=205315

Reviewed by Alexey Proskuryakov.

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

(TestFactory.init): Add RunLLDBWebKitTests to Mac test runs.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
  • BuildSlaveSupport/build.webkit.org-config/steps.py:

(RunPythonTests): Generalized step for all Python tests.
(RunPythonTests.start):
(RunWebKitPyTests): Step for running test-webkitpy.
(RunWebKitPyTests.init):
(RunWebKitPyTests.start):
(RunLLDBWebKitTests): Step for running test-lldb-webkit.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
9:36 PM Changeset in webkit [253610] by commit-queue@webkit.org
  • 6 edits
    3 adds in trunk

WebGLRenderingContext.texImage2D() should respect EXIF orientation
https://bugs.webkit.org/show_bug.cgi?id=205141

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-12-16
Reviewed by Simon Fraser.

Source/WebCore:

If image orientation is not the default, WebGLRenderingContext.texImage2D()
needs to draw this image into an ImageBuffer, makes a temporary Image
from the ImageBuffer then draw this temporary Image to the WebGL texture.

Test: fast/images/exif-orientation-webgl-texture.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::texImage2D):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:

(WebCore::Image::orientation const):

LayoutTests:

The test page uses images with different EXIF orientation. The expected
page uses a single image with no EXIF orientation then it transforms the
<canvas> elements such that it matches the image in the test page.

WebGLRenderingContext uses a trick when drawing an SVG image or images
with EXIF orientation to a WebGL texture. It draws the Image to an Image-
Buffer, creates another Image out of the ImageBuffer and then draws the
other Image to the WebGL texture.

But there can be small glitches between drawing an Image directly versus
doing the ImageBuffer trick. So the expected page will use an SVG image
to ensure the same code path is used for both the test and the expected
pages.

This SVG image includes the jpeg image with no EXIF orientation but as a
data uri. Also the script has to wait after loading the SVG image till
the bitmap image is loaded from the data uri encoded data.

  • fast/images/exif-orientation-webgl-texture-expected.html: Added.
  • fast/images/exif-orientation-webgl-texture.html: Added.
  • fast/images/resources/webgl-draw-image.js: Added.
  • platform/win/TestExpectations:

All webgl tests are skipped on Windows.

7:26 PM Changeset in webkit [253609] by mark.lam@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Rolling out: r253581 is failing tests on a release build.
https://bugs.webkit.org/show_bug.cgi?id=205279
<rdar://problem/57971874>

Not reviewed.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):

  • interpreter/InterpreterInlines.h:

(JSC::Interpreter::execute):

  • jsc.cpp:

(startTimeoutThreadIfNeeded):
(runJSC):
(jscmain):
(startTimeoutTimer): Deleted.
(timeoutCheckCallback): Deleted.
(initializeTimeoutIfNeeded): Deleted.

  • runtime/JSCConfig.h:
  • runtime/VM.h:

(JSC::VM::notifyNeedDebuggerBreak):
(JSC::VM::notifyNeedShellTimeoutCheck): Deleted.

  • runtime/VMTraps.cpp:

(JSC::VMTraps::handleTraps):

  • runtime/VMTraps.h:

(JSC::VMTraps::Mask::Mask):
(JSC::VMTraps::Mask::allEventTypes):
(JSC::VMTraps::Mask::init):
(JSC::VMTraps::interruptingTraps): Deleted.

  • tools/VMInspector.cpp:

(JSC::VMInspector::forEachVM): Deleted.

  • tools/VMInspector.h:
6:27 PM Changeset in webkit [253608] by ysuzuki@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

ASSERTION FAILED: length <= maximumLength in js-fixed-array-out-of-memory.js
https://bugs.webkit.org/show_bug.cgi?id=205259
<rdar://problem/57978411>

Reviewed by Mark Lam.

JSImmutableButterfly has moderate size limit on its length, while JSFixedArray does not.
We should check this maximumLength when creating it in Spread. And if it exceeds, we should
throw OOM error.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileSpread):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileSpread):

  • runtime/ArrayConventions.h:
  • runtime/IndexingHeader.h:
  • runtime/JSImmutableButterfly.h:

(JSC::JSImmutableButterfly::tryCreate):
(JSC::JSImmutableButterfly::allocationSize):

5:58 PM Changeset in webkit [253607] by Alan Coon
  • 17 edits
    1 delete in branches/safari-609.1.13-branch/Source

Apply patch. rdar://problem/57990824

5:57 PM Changeset in webkit [253606] by Alan Coon
  • 2 edits in branches/safari-609.1.13-branch/Source/ThirdParty/ANGLE

Revert r253333. rdar://problem/57990824

5:57 PM Changeset in webkit [253605] by Alan Coon
  • 2 edits in branches/safari-609.1.13-branch/Source/ThirdParty/ANGLE

Revert r253383. rdar://problem/57990824

5:57 PM Changeset in webkit [253604] by Alan Coon
  • 6 edits in branches/safari-609.1.13-branch/Source

Revert r253499. rdar://problem/57990824

5:23 PM Changeset in webkit [253603] by Alan Coon
  • 4 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r250461. rdar://problem/57979214

Adopt new UIWebGeolocationPolicyDecider SPI to pass a view instead of a window
https://bugs.webkit.org/show_bug.cgi?id=202329
<rdar://problem/25963823>

Reviewed by Wenson Hsieh.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKGeolocationProviderIOS.mm: (-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
  • UIProcess/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: (WebKit::decidePolicyForGeolocationRequestFromOrigin): Switch to newer SPI that takes a UIView instead of a UIWindow, so that UIWebGeolocationPolicyDecider can find the correct presenting view controller.

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

5:16 PM Changeset in webkit [253602] by Wenson Hsieh
  • 4 edits in trunk

-[UIWKDocumentContext markedTextRange] is wrong when the caret is not at the start of marked text
https://bugs.webkit.org/show_bug.cgi?id=205302

Reviewed by Tim Horton.

Source/WebKit:

Makes a few minor adjustments around marked text handling in document editing context request code.

  1. In the case where markedTextRects are requested, automatically expand the context range (i.e. contextBefore

and contextAfter) to encompass the marked text. This fixes UIWKDocumentContext's logic that computes the
marked text range by subtracting contextBefore string's length from selectedRangeInMarkedText's location.

(Note that this still requires an adjustment in UIKit to actually respect selectedRangeInMarkedText when
computing markedTextRange. This is tracked in <rdar://problem/57338528>).

  1. Stop clamping compositionStart and compositionEnd to the range of interest (in this case, the selection

range, which is a collapsed caret selection). This makes the composition range seem as if it were empty, which
prevents us from computing the marked text string (and importantly, its length).

  1. Flip the arguments to distanceBetweenPositions, such that we end up with a positive value for

selectedRangeInMarkedText in the case where compositionStart is before startOfRangeOfInterestInSelection.

Test: DocumentEditingContext.RequestMarkedTextRectsAndTextOnly

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestDocumentEditingContext):

Tools:

Add an API test to exercise the case where the options UIWKDocumentRequestMarkedTextRects and
UIWKDocumentRequestText are used to grab marked text rects.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(-[UIWKDocumentContext contextBeforeLength]):
(-[UIWKDocumentContext markedTextLength]):
(-[UIWKDocumentContext markedTextRange]):

Work around a bug that should be fixed by <rdar://problem/57338528>, so that the new API test can pass on
shipping builds of iOS.

5:12 PM Changeset in webkit [253601] by Keith Rollin
  • 2 edits in trunk/Tools

Unreviewed follow-up fix.
<rdar://problem/57989146> jsc-ta-payload fails consistently on YukonE Device Builds

Bug caused by <rdar://problem/57453545> [safari-root] CrashTracer: [USER] jsc at jsc: jscmain

run-jsc-stress-tests still looked for jsc in
JavaScriptCore.framework/Resources. Change this to also look in
JavaScriptCore.framework/Helpers.

  • Scripts/run-jsc-stress-tests:
4:55 PM Changeset in webkit [253600] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ Catalina wk1 ] editing/mac/input/firstrectforcharacterrange-styled.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205314

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
4:47 PM Changeset in webkit [253599] by Jonathan Bedard
  • 4 edits in trunk/Tools

results.webkit.org: Make default limit 1000
https://bugs.webkit.org/show_bug.cgi?id=205305

Reviewed by Stephanie Lewis.

We have ~200 commits a week in WebKit, since we don't quite report
results for every commit, a limit of 1000 translates to about a 1.5 months
of data. Any more than this and the network request for results becomes
noticeably slow.

  • resultsdbpy/resultsdbpy/controller/failure_controller.py:

(FailureController): Change default limit from 5000 to 1000.

  • resultsdbpy/resultsdbpy/controller/suite_controller.py:

(SuiteController): Change default limit from 5000 to 1000.

  • resultsdbpy/resultsdbpy/controller/test_controller.py:

(TestController): Change default limit from 5000 to 1000.

4:31 PM Changeset in webkit [253598] by ysuzuki@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

[JSC] Put non-dynamic scope cells in IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205311

Reviewed by Mark Lam.

Put non-dynamic scope cells in IsoSubspace.

  • JSWithScope
  • StrictEvalActivation
  • runtime/JSScope.h:

(JSC::JSScope::subspaceFor):

  • runtime/JSSymbolTableObject.h:
  • runtime/JSWithScope.h:
  • runtime/StrictEvalActivation.h:
  • runtime/VM.cpp:
  • runtime/VM.h:
4:17 PM Changeset in webkit [253597] by Truitt Savell
  • 2 edits in trunk/LayoutTests

REGRESSION: [ iOS ] scrollingcoordinator/ios/scroll-position-after-reattach.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205309

Unreviewed test gardening.

  • platform/ios/TestExpectations:
4:04 PM Changeset in webkit [253596] by Alan Coon
  • 1 copy in branches/safari-609.1.13-branch

New branch.

4:02 PM Changeset in webkit [253595] by pvollan@apple.com
  • 6 edits in trunk/Source/WebKit

[iOS] Issue mach lookup extension to diagnostics daemon
https://bugs.webkit.org/show_bug.cgi?id=205292

Reviewed by Brent Fulgham.

For internal installs, issue a mach lookup extension to the diagnostics daemon.

  • 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::isInternalInstall):
(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

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

REGRESSION: [iOS] accessibility/smart-invert-reference.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205308

Unreviewed test gardening.

  • platform/ios/TestExpectations:
4:01 PM Changeset in webkit [253593] by Alan Coon
  • 8 edits in trunk/Source

Versioning.

3:33 PM Changeset in webkit [253592] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

REGRESSION: [ Mac wk2 ] imported/w3c/web-platform-tests/service-workers/service-worker/update-no-cache-request-headers.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=205286
<rdar://problem/57976344>

Reviewed by Alexey Proskuryakov.

The test triggers a registration update and then expects registration.installing to be non-null
once the registration update promise is resolved. This is only true if the content of the service
worker script is different since last update. The script included a timestamp to try and make
the script different every time but it would sometimes not suffice if the update happens quickly
enough. To address the issue, include a UUID in the script instead of a timestamp.

Upstream PR: https://github.com/web-platform-tests/wpt/pull/20797

  • web-platform-tests/service-workers/service-worker/resources/test-request-headers-worker.js:
  • web-platform-tests/service-workers/service-worker/resources/test-request-headers-worker.py:

(main):

3:28 PM Changeset in webkit [253591] by BJ Burg
  • 23 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: add TabNavigation diagnostic event and related hooks
https://bugs.webkit.org/show_bug.cgi?id=205138
<rdar://problem/57855456>

Reviewed by Devin Rousso.

This patch adds a new recorder for the TabNavigation diagnostic event.

The bulk of this patch is to find all callsites that can possibly change the active
tab and annotate them with the type of interaction (tab click, link click,
keyboard shortcut, inspect, and others). This patch was developed through
trial and error by logging the diagnostic events and debugging any scenarios
where a tab navigation is not correctly annotated with the initiating interaction.

  • UserInterface/Main.html: Add new file.
  • UserInterface/Base/Main.js:

(WI.contentLoaded): Register new recorder.
(WI._handleSettingsKeyboardShortcut): Annotate as keyboard shortcut.

  • Add options argument to most WI.show*Tab functions, and forward to the underlying

TabBrowser or TabBar calls. This allows initiatorHint to be used in these cases.

  • Add other annotations to linkifyElement
  • UserInterface/Views/TabBrowser.js:

(WI.TabBrowser.prototype.showTabForContentView):
(WI.TabBrowser.prototype._tabBarItemSelected):

  • Try to infer an initiator for the tab navigation from TabBrowser API arguments or from TabBar's event.
  • Add an enum with TabNavigationInitiator values.
  • UserInterface/Base/DOMUtilities.js:

Clickable element links should be reported as link clicks. Add an annotation
so that it isn't reported as "Inspect" (due to going through DOMManager.inspectElement).

  • UserInterface/Controllers/CallFrameTreeController.js:

(WI.CallFrameTreeController):
(WI.CallFrameTreeController.prototype._showSourceCodeLocation):
This is mainly used by Canvas tab. Annotate call frame links as link clicks.

  • UserInterface/Controllers/DOMManager.js:

(WI.DOMManager.prototype.inspectElement):
Accept an options argument. This is used to forward the initiatorHint to
the listener of this event, WI._domNodeWasInspected, so it can forward the
initiatorHint further on.

  • UserInterface/Protocol/InspectorFrontendAPI.js:

(InspectorFrontendAPI.setTimelineProfilingEnabled):
(InspectorFrontendAPI.showConsole):
(InspectorFrontendAPI.showResources):
(InspectorFrontendAPI.showTimelines):
(InspectorFrontendAPI.showMainResourceForFrame):
Annotate these as FrontendAPI calls. Mainly used by Develop menu items in Safari.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForSourceCode):
(WI.appendContextMenuItemsForURL):
Annotate as context menu.

  • UserInterface/Views/DOMNodeTreeElement.js:

(WI.DOMNodeTreeElement):
(WI.DOMNodeTreeElement.prototype.populateContextMenu):
Annotate as context menu.

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype._buildTagDOM):

  • UserInterface/Views/DefaultDashboardView.js:

(WI.DefaultDashboardView.prototype._resourcesItemWasClicked):
(WI.DefaultDashboardView.prototype._networkItemWasClicked):
(WI.DefaultDashboardView.prototype._timelineItemWasClicked):
(WI.DefaultDashboardView.prototype._consoleItemWasClicked):
Annotate as dashboard.

  • UserInterface/Views/LegacyTabBar.js:

(WI.LegacyTabBar.prototype.set selectedTabBarItem):
Include the inferred initiator in the event that is dispatched.

(WI.LegacyTabBar.prototype.selectTabBarItemWithInitiator):
Added. This is a convenience method that temporarily sets the
initiator before invoking the setter (which reads the initator).

(WI.LegacyTabBar.prototype._handleMouseDown):
(WI.LegacyTabBar.prototype._handleClick):
(WI.LegacyTabBar.prototype._handleNewTabClick):
Treat these as "tab clicks".

  • UserInterface/Views/TabBar.js:

(WI.TabBar.prototype.set selectedTabBarItem):
(WI.TabBar.prototype.selectTabBarItemWithInitiator):
(WI.TabBar.prototype._handleMouseDown):
(WI.TabBar.prototype._handleClick):
Changes from LegacyTabBar have been copied to this version, as it's a
drop-in replacement.

  • UserInterface/Views/LogContentView.js:

(WI.LogContentView.prototype._showConsoleTab):
Treat the console chevron as a "button click".

  • UserInterface/Views/NewTabContentView.js:

(WI.NewTabContentView.prototype._createNewTabWithType):
Treat each tab button as a "button click".

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement.prototype.populateContextMenu):
Annotate as context menu.

  • UserInterface/Views/ResourceTimelineDataGridNode.js:

(WI.ResourceTimelineDataGridNode.prototype._dataGridNodeGoToArrowClicked):
Annotate as link click.

  • UserInterface/Views/SearchResultTreeElement.js:

(WI.SearchResultTreeElement):
(WI.SearchResultTreeElement.prototype.populateContextMenu):
Annotate as context menu.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
Annotate as context menu.

(WI.SourceCodeTextEditor.prototype._showPopoverForObject.):
(WI.SourceCodeTextEditor.prototype._showPopoverForObject):
Annotate elements in popover as link click.

  • UserInterface/Views/SourceCodeTreeElement.js:

(WI.SourceCodeTreeElement):
(WI.SourceCodeTreeElement.prototype._handleToggleBlackboxedImageElementClicked):
Annotate as context menu.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype._populateIconElementContextMenu):
Annotate as context menu.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype._setupJumpToSymbol):
Annotate as link click.

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

REGRESSION (r253312): imported/w3c/web-platform-tests/content-security-policy/reporting/report-same-origin-with-cookies.html is super flaky
https://bugs.webkit.org/show_bug.cgi?id=205216

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:06 PM Changeset in webkit [253589] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Catalina ] imported/w3c/web-platform-tests/css/css-images/multiple-position-color-stop-conic.html is failing
https://bugs.webkit.org/show_bug.cgi?id=204250

Unreviewed test gardening.

  • platform/mac/TestExpectations:
3:02 PM Changeset in webkit [253588] by ysuzuki@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

[JSC] Put DebuggerScope in IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205303

Reviewed by Mark Lam.

Put DebuggerScope in IsoSubspace, and refine empty subspaceFor implementations.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::subspaceFor):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::subspaceFor):

  • debugger/DebuggerScope.h:
  • runtime/AbstractModuleRecord.h:

(JSC::AbstractModuleRecord::subspaceFor):

  • runtime/JSArrayBufferView.h:

(JSC::JSArrayBufferView::subspaceFor):

  • runtime/JSInternalFieldObjectImpl.h:

(JSC::JSInternalFieldObjectImpl::subspaceFor):

  • runtime/JSWrapperObject.h:

(JSC::JSWrapperObject::subspaceFor):

  • runtime/VM.cpp:
  • runtime/VM.h:
3:01 PM Changeset in webkit [253587] by Jonathan Bedard
  • 4 edits in trunk/Tools

python3: wpt exporter should parse a patch as bytes
https://bugs.webkit.org/show_bug.cgi?id=205243

Reviewed by Stephanie Lewis.

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

(MockSCM.create_patch): Patches are byte arrays.

  • Scripts/webkitpy/w3c/test_exporter.py:

(WebPlatformTestExporter._wpt_patch): Diff should be byte array.
(WebPlatformTestExporter._find_filename): Ditto.
(WebPlatformTestExporter._is_ignored_file): Filenames will be encoded bytes.
(WebPlatformTestExporter._strip_ignored_files_from_diff): Diff should be byte array.
(WebPlatformTestExporter.write_git_patch_file): Ditto.

  • Scripts/webkitpy/w3c/test_exporter_unittest.py:

(TestExporterTest.MockGit): Diff should be byte array.
(TestExporterTest.test_ignore_changes_to_expected_file): Ditto.

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

REGRESSION: [ Mojave+ WK2 ] inspector/canvas/requestShaderSource-webgpu.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205301

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:45 PM Changeset in webkit [253585] by ysuzuki@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

[JSC] Move JSCell::subspaceFor to JSObject::subspaceFor, removing destructibleCellSpace
https://bugs.webkit.org/show_bug.cgi?id=205300

Reviewed by Mark Lam.

All non-JSObject JSCells have their own IsoSubspace / CompleteSubspace. We remove JSCell::subspaceFor function,
and move it to JSObject::subspaceFor. And we remove destructibleCellSpace since nobody uses it.

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::subspaceFor): Deleted.

  • runtime/JSObject.h:
  • runtime/JSObjectInlines.h:

(JSC::JSObject::subspaceFor):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
2:38 PM Changeset in webkit [253584] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Catalina ] webaudio/silence-after-playback.html is failing on Catalina
https://bugs.webkit.org/show_bug.cgi?id=204247

Unreviewed test gardneing.

  • platform/mac/TestExpectations:
2:36 PM Changeset in webkit [253583] by rniwa@webkit.org
  • 7 edits in trunk

TextManipulationController should observe newly inserted or displayed contents
https://bugs.webkit.org/show_bug.cgi?id=205203
<rdar://problem/56567020>

Reviewed by Wenson Hsieh.

Source/WebCore:

This patch makes TextManipulationController detect newly inserted or displayed contents and invoke
the callbacks with the newly found items.

To do this, we add a new WeakHashSet to TextManipulationController to which an element is added
whenever its renderer is created. Because it's expensive (and not safe) to find paragraphs around
a newly inserted content, we schedule a new event loop task to do this work.

To find newly inserted paragraphs, we first expand the element's boundary to its start and end of
paragraphs. Because each element in this paragraph could have been added in the weak hash set, we
use hash map to de-duplicate start and end positions. We also filter out any element whose parent
is also in the weak hash set since they would simply find inner paragraphs.

Tests: TextManipulation.StartTextManipulationFindNewlyInsertedParagraph

TextManipulation.StartTextManipulationFindNewlyDisplayedParagraph
TextManipulation.StartTextManipulationFindSameParagraphWithNewContent

  • dom/TaskSource.h:

(WebCore::TaskSource::InternalAsyncTask): Added.

  • editing/TextManipulationController.cpp:

(WebCore::TextManipulationController::startObservingParagraphs):
(WebCore::TextManipulationController::observeParagraphs): Extracted out of startObservingParagraphs.
(WebCore::TextManipulationController::didCreateRendererForElement): Added. Gets called whenever
a new RenderElement is created.
(WebCore::makePositionTuple): Added.
(WebCore::makeHashablePositionRange): Added.
(WebCore::TextManipulationController::scheduleObservartionUpdate): Added.

  • editing/TextManipulationController.h:
  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::createRenderer):

Tools:

Added tests for detecting newly inserted or displayed contents in WKTextManipulation SPI.

  • TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:

(-[TextManipulationDelegate initWithItemCallback]):
(-[TextManipulationDelegate _webView:didFindTextManipulationItem:]):
(TestWebKitAPI::TEST):

2:35 PM Changeset in webkit [253582] by dbates@webkit.org
  • 2 edits in trunk/Tools

Organize DocumentEditingContext.mm under a more descriptive suite
https://bugs.webkit.org/show_bug.cgi?id=205284

Reviewed by Tim Horton.

Register with the runtime all of the DocumentEditingContext.mm tests under the suite
DocumentEditingContext as opposed to the suite WebKit (as they are now). This makes
it easy to run all of these tests using:

run-api-tests DocumentEditingContext

This is more useful than letting them stay categorized under the WebKit suite. If it
turns out this change interferes with the workflow of others then we can revert this
change and look to expose Google Test's regex filtering in run-api-tests to achieve
a similiar result given that these tests have the same prefix.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

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

Changed jsc shell timeout mechanism to leverage the VMTraps and use CPUTime.
https://bugs.webkit.org/show_bug.cgi?id=205279
<rdar://problem/57971874>

Reviewed by Saam Barati.

This fixes all the timeouts that occur due to CPU time starvation when
running JSC tests on a debug build.

What this means is that the timeout mechanism may trigger asynchronous
OSR exits. If a test requires no OSR exits, that test should
requireOption("--usePollingTraps=true") so that the VMTraps will use its
polling implementation instead.

I've tested this with a full run of the JSC stress tests with a debug
build and saw 0 timeouts. I've also tested it with a contrived tests that
loops forever, and saw the expected timeout crash.

Will look into re-tuning needed timeout value (and other JSC tests timeout
cleanup) in https://bugs.webkit.org/show_bug.cgi?id=205298.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):

  • interpreter/InterpreterInlines.h:

(JSC::Interpreter::execute):

  • jsc.cpp:

(timeoutCheckCallback):
(initializeTimeoutIfNeeded):
(startTimeoutThreadIfNeeded):
(runJSC):
(jscmain):

  • runtime/JSCConfig.h:
  • runtime/VM.h:

(JSC::VM::notifyNeedShellTimeoutCheck):

  • runtime/VMTraps.cpp:

(JSC::VMTraps::handleTraps):

  • runtime/VMTraps.h:

(JSC::VMTraps::Mask::Mask):
(JSC::VMTraps::Mask::allEventTypes):
(JSC::VMTraps::Mask::init):
(JSC::VMTraps::interruptingTraps):

  • tools/VMInspector.cpp:

(JSC::VMInspector::forEachVM):

  • tools/VMInspector.h:
2:33 PM Changeset in webkit [253580] by dbates@webkit.org
  • 2 edits in trunk/Tools

Use Ahem font to ensure consistent test results
https://bugs.webkit.org/show_bug.cgi?id=205283

Reviewed by Wenson Hsieh.

To avoid test failures due to future font metrics changes make use of the Ahem font
for the tests in DocumentEditingContext.m. Ahem is a font with well-defined properties
that when used correclty ensures consistent font rendering results.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

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

[ Catalina ] editing/mac/selection/context-menu-select-editability.html is failing on Catalina
https://bugs.webkit.org/show_bug.cgi?id=204246

Unreviewed test gardening.

  • platform/mac/TestExpectations:
2:32 PM Changeset in webkit [253578] by dbates@webkit.org
  • 6 edits in trunk

Reproducible case of backwards nextParagraph returning a position ahead of the input position
https://bugs.webkit.org/show_bug.cgi?id=196127
<rdar://problem/49135890>

Reviewed by Wenson Hsieh.

Source/WebCore:

Fix up the code to handle:

  1. When the specified position is at a paragraph boundary.

For this case, we do what we do now for the !withinUnitOfGranularity case.

  1. When the specified position is actually inside a paragraph:

For this case, we need to return the end of the previous paragraph or the
start of the next paragraph depending on whether we are selecting forward
or backwards, respectively.

  • editing/VisibleUnits.cpp:

(WebCore::nextParagraphBoundaryInDirection):

Source/WebKit:

Remove workaround now that WebCore::nextParagraphBoundaryInDirection() behaves correctly.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::moveByGranularityRespectingWordBoundary):

Tools:

Add a test to ensure that requesting two paragraphs around the insertion point that is
not in a paragraph still works.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

2:28 PM WebKitGTK/2.26.x edited by Michael Catanzaro
(diff)
2:24 PM Changeset in webkit [253577] by Jonathan Bedard
  • 3 edits in trunk/Tools

lldbwebkittester: Conform with testing binary format
https://bugs.webkit.org/show_bug.cgi?id=205271

Reviewed by Alexey Proskuryakov.

lldbwebkittester should be built the same way ImageDiff, TestWebKitAPI and WebKitTestRunner are.
This also paves the way for adding lldb tests against WebCore and WebKit, since lldbwebkittestrunner
is now packaged with the rest of WebKit's testing binaries.

  • Scripts/build-lldbwebkittester:
  • Scripts/build-webkit:
2:17 PM Changeset in webkit [253576] by ysuzuki@apple.com
  • 25 edits
    2 copies
    1 move
    1 add
    1 delete in trunk

[JSC] Remove ArrayBufferNeuteringWatchpointSet
https://bugs.webkit.org/show_bug.cgi?id=205194

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch removes ArrayBufferNeuteringWatchpointSet, and instead putting InlineWatchpointSet directly into ArrayBuffer, since this is much simpler.
The main reason why we are using ArrayBufferNeuteringWatchpointSet is not to increase sizeof(ArrayBuffer). But this complicates the implementation.
So, not to increase sizeof(ArrayBuffer), we use PackedRefPtr in ArrayBuffer, which is RefPtr while the pointer is packed. This gives us 8 bytes which is
suitable for placing InlineWatchpointSet without increasing sizeof(ArrayBuffer). We also convert Function<> in ArrayBuffer to PackedRefPtr<SharedTask<>>,
and share Gigacage::free destructor by multiple ArrayBuffer. This is memory efficient since this is the common case, and we can pack this field easily.

  • API/JSTypedArray.cpp:

(JSObjectMakeTypedArrayWithBytesNoCopy):
(JSObjectMakeArrayBufferWithBytesNoCopy):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • dfg/DFGDesiredWatchpoints.cpp:

(JSC::DFG::ArrayBufferViewWatchpointAdaptor::add):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetFoldableView):

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::primitiveGigacageDestructor):
(JSC::SharedArrayBufferContents::~SharedArrayBufferContents):
(JSC::ArrayBufferContents::destroy):
(JSC::ArrayBufferContents::reset):
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBufferContents::makeShared):
(JSC::ArrayBufferContents::shareWith):
(JSC::ArrayBuffer::createAdopted):
(JSC::ArrayBuffer::transferTo):
(JSC::ArrayBuffer::neuter):
(JSC::ArrayBuffer::notifyIncommingReferencesOfTransfer):

  • runtime/ArrayBuffer.h:

(JSC::ArrayBuffer::neuteringWatchpointSet):

  • runtime/ArrayBufferNeuteringWatchpointSet.cpp: Removed.
  • runtime/FileBasedFuzzerAgent.cpp:

(JSC::FileBasedFuzzerAgent::getPredictionInternal):

  • runtime/FileBasedFuzzerAgentBase.cpp:

(JSC::FileBasedFuzzerAgentBase::createLookupKey):

  • runtime/PredictionFileCreatingFuzzerAgent.cpp:

(JSC::PredictionFileCreatingFuzzerAgent::getPredictionInternal):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::buffer):

Source/WebCore:

  • bindings/js/SerializedScriptValue.h:

(WebCore::SerializedScriptValue::decode):

Source/WTF:

This patch adds PackedRef and PackedRefPtr. They are Ref and RefPtr, but its internal pointer is packed.
So we can represent them in 6 bytes with 1 byte alignment.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Packed.h:

(WTF::alignof):

  • wtf/PackedRef.h: Copied from Source/JavaScriptCore/runtime/ArrayBufferNeuteringWatchpointSet.h.
  • wtf/PackedRefPtr.h: Renamed from Source/JavaScriptCore/runtime/ArrayBufferNeuteringWatchpointSet.h.
  • wtf/RefPtr.h:

(WTF::RefPtr::operator UnspecifiedBoolType const):
(WTF::RefPtr::unspecifiedBoolTypeInstance const):

Tools:

Add tests for PackedRef and PackedRefPtr.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/PackedRef.cpp: Added.

(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithRef):
(TestWebKitAPI::PackedRefCheckingRefLogger::PackedRefCheckingRefLogger):
(TestWebKitAPI::PackedRefCheckingRefLogger::ref):
(TestWebKitAPI::PackedRefCheckingRefLogger::deref):
(TestWebKitAPI::DerivedPackedRefCheckingRefLogger::DerivedPackedRefCheckingRefLogger):

  • TestWebKitAPI/Tests/WTF/PackedRefPtr.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/RefPtr.cpp.

(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
(TestWebKitAPI::ConstRefCounted::create):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
(TestWebKitAPI::PackedRefPtrCheckingRefLogger::PackedRefPtrCheckingRefLogger):
(TestWebKitAPI::loggerName):
(TestWebKitAPI::PackedRefPtrCheckingRefLogger::ref):
(TestWebKitAPI::PackedRefPtrCheckingRefLogger::deref):

  • TestWebKitAPI/Tests/WTF/RefPtr.cpp:

(TestWebKitAPI::f1):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):

2:15 PM Changeset in webkit [253575] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark animations/leak-document-with-css-animation.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=205299

1:44 PM Changeset in webkit [253574] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Ensure consistent sorting of identical track names
https://bugs.webkit.org/show_bug.cgi?id=204825

Patch by Doug Kelly <Doug Kelly> on 2019-12-16
Reviewed by Eric Carlson.

When sorting TextTracks, if the menu text is the same, fall back to the order in which the tracks were added to ensure a consistent sort.

  • page/CaptionUserPreferencesMediaAF.cpp:

(WebCore::textTrackCompare):
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):

1:14 PM Changeset in webkit [253573] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

Make ServiceWorkerSoftUpdateLoader::loadWithCacheEntry more robust
https://bugs.webkit.org/show_bug.cgi?id=205202
rdar://problem/57852910

Reviewed by Chris Dumez.

In case loading an entry from the cache, we were calling didReceiveResponse,
which may destroy the loader and then continue processing.
Instead, add a processResponse method that checks the response and returns an error if needed.
didReceiveResponse calls this method and returns early in case of error.
So does the method loading data from the cache.

Covered by existing tests.

  • NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp:

(WebKit::ServiceWorkerSoftUpdateLoader::loadWithCacheEntry):
(WebKit::ServiceWorkerSoftUpdateLoader::didReceiveResponse):
(WebKit::ServiceWorkerSoftUpdateLoader::processResponse):

  • NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.h:
12:58 PM Changeset in webkit [253572] by keith_miller@apple.com
  • 2 edits in trunk/Tools

Fix btjs on current lldb
https://bugs.webkit.org/show_bug.cgi?id=205293

Reviewed by Mark Lam.

  • lldb/lldb_webkit.py:

(btjs):

12:38 PM Changeset in webkit [253571] by Antti Koivisto
  • 12 edits in trunk/Source

Remove display:contents feature flag
https://bugs.webkit.org/show_bug.cgi?id=205276

Reviewed by Ryosuke Niwa.

Source/WebCore:

The feature has been enabled for a while. There is no reason to have a flag for it anymore.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setDisplayContentsEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::displayContentsEnabled const): Deleted.

  • style/StyleAdjuster.cpp:

(WebCore::Style::Adjuster::adjustDisplayContentsStyle const):

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetDisplayContentsEnabled): Deleted.
(WKPreferencesGetDisplayContentsEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WebKitLegacy/mac:

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

(+[WebPreferences initialize]):
(-[WebPreferences displayContentsEnabled]): Deleted.
(-[WebPreferences setDisplayContentsEnabled:]): Deleted.

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

(-[WebView _preferencesChanged:]):

11:54 AM Changeset in webkit [253570] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Fix API availability for -_getResourceLoadStatisticsDataSummary: after r253484
https://bugs.webkit.org/show_bug.cgi?id=205256

Reviewed by Alex Christensen.

Replaces WK_API_AVAILABLE(macos(10.15), ios(13.0)) with WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA)),
since this is new WebKit SPI that hasn't made its way into the SDK.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
11:47 AM Changeset in webkit [253569] by Alan Coon
  • 1 edit in tags/Safari-609.1.12/Source/WebCore/platform/graphics/GraphicsContext3D.h

Unreviewed build fix. rdar://problem/57925932

11:37 AM Changeset in webkit [253568] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

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

[LFC][IFC] Fix imported/w3c/web-platform-tests/css/css-text/line-break/line-break-anywhere-004.html
https://bugs.webkit.org/show_bug.cgi?id=205287
<rdar://problem/57976834>

Reviewed by Antti Koivisto.

Consolidate word break rules into a function to be able to make sure "line-break: anywhere" takes priority over word-break values.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::LineBreaker::wordBreakBehavior const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::isTextSplitAtArbitraryPositionAllowed): Deleted.

  • layout/inlineformatting/InlineLineBreaker.h:
10:59 AM Changeset in webkit [253566] by Alan Coon
  • 1 edit in tags/Safari-609.1.12/Source/WebCore/platform/graphics/GraphicsContext3D.h

Unreviewed build fix. rdar://problem/57925932

10:47 AM Changeset in webkit [253565] by Andres Gonzalez
  • 13 edits in trunk

Isolated object implementation of parameterized attribute SelectTextWithCriteria.
https://bugs.webkit.org/show_bug.cgi?id=205210

Reviewed by Chris Fleizach.

Source/WebCore:

LayoutTests/accessibility/mac/find-and-replace-match-capitalization.html exercise this functionality.

Requests for parameterized attributes that require computations in
the WebCore DOM need to be dispatched to the main thread. This
change is the blueprint for all other attributes to follow.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::isolatedTreeRootObject): The isolated tree root object is always retrieved in the main thread.
(WebCore::AXObjectCache::generateIsolatedTree): Sets the AXObjectCache for the generated IsolatedTree.

  • accessibility/AccessibilityObjectInterface.h: Added the template functions to dispatch to the main thread.

(WebCore::Accessibility::performFunctionOnMainThread):
(WebCore::Accessibility::retrieveValueFromMainThread):

  • accessibility/AccessibilityRenderObject.cpp: Removed obsolete asserts.

(WebCore::AccessibilityRenderObject::visibleChildren):
(WebCore::AccessibilityRenderObject::tabChildren):

  • accessibility/isolatedtree/AXIsolatedTree.h: It now holds a reference to the AXObjectCache.

(WebCore::AXIsolatedTree::axObjectCache const):
(WebCore::AXIsolatedTree::setAXObjectCache):

  • accessibility/isolatedtree/AXIsolatedTreeNode.cpp:

(WebCore::AXIsolatedObject::findTextRanges const):
(WebCore::AXIsolatedObject::performTextOperation):
(WebCore::AXIsolatedObject::axObjectCache const):

  • accessibility/isolatedtree/AXIsolatedTreeNode.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm: Moved template functions to dispatch to the main thread into the Accessibility namespace to use them in the isolated object implementation.

(-[WebAccessibilityObjectWrapper attachmentView]):
(-[WebAccessibilityObjectWrapper renderWidgetChildren]):
(-[WebAccessibilityObjectWrapper associatedPluginParent]):
(-[WebAccessibilityObjectWrapper scrollViewParent]):
(-[WebAccessibilityObjectWrapper windowElement:]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
(performAccessibilityFunctionOnMainThread): Moved.
(retrieveAccessibilityValueFromMainThread): Moved.

Tools:

  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:

(WTR::AccessibilityController::rootElement): Always run in my thread.
(WTR::AccessibilityController::execute): Dispatches to the secondary thread. Spins the main loop to allow parameterized attributes methods to execute in main thread.

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:

(WTR::findAccessibleObjectById):
(WTR::AccessibilityController::accessibleElementById):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

10:39 AM Changeset in webkit [253564] by pvollan@apple.com
  • 2 edits in trunk/Tools

Unreviewed build fix for tvOS after r253440.

  • TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
10:29 AM Changeset in webkit [253563] by youenn@apple.com
  • 6 edits
    4 adds in trunk

Consider top-level context whose origin is unique as insecure
https://bugs.webkit.org/show_bug.cgi?id=205111
Source/WebCore:

Reviewed by Brent Fulgham.

Tests: http/tests/security/top-level-unique-origin.https.html

http/tests/security/top-level-unique-origin2.https.html

  • dom/Document.cpp:

(WebCore::Document::isSecureContext const):
There is no guarantee that top level unique origin contexts like data URL are SecureContext.
This patch makes them no longer SecureContext.
This helps getting closer to https://w3c.github.io/webappsec-secure-contexts/#is-url-trustworthy
which identifies all unique origins as "Not Trustworthy".
Child unique origin contexts will stay SecureContext if their parents are.

Tools:

<rdar://problem/57834967>

Reviewed by Brent Fulgham.

  • TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:

(TEST):
Disable secure context checks so that loading directly about:blank from the API test
can call DeviceOrientationEvent.requestPermission() successfully.

LayoutTests:

Reviewed by Brent Fulgham.

  • http/tests/security/top-level-unique-origin.https-expected.txt: Added.
  • http/tests/security/top-level-unique-origin.https.html: Added.
  • http/tests/security/top-level-unique-origin2.https-expected.txt: Added.
  • http/tests/security/top-level-unique-origin2.https.html: Added.
  • platform/win/TestExpectations: Skipping second test as timing out in windows.
10:13 AM Changeset in webkit [253562] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

fast/mediastream/change-tracks-media-stream-being-played.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=205277

Reviewed by Eric Carlson.

  • fast/mediastream/change-tracks-media-stream-being-played.html:

Make sure unhandled promise rejection messages do not make the test flaky.

10:07 AM Changeset in webkit [253561] by dbates@webkit.org
  • 6 edits in trunk

-requestDocumentContext always returns 1 text unit more granularity than requested
https://bugs.webkit.org/show_bug.cgi?id=205142
<rdar://problem/57858236>

Reviewed by Darin Adler and Wenson Hsieh.

Source/WebCore:

Fix up the code to actually determine if the specified position is at a sentence
boundary. Currently the code will always return false when asking whether the
specified position is at a sentence boundary (i.e. "end of the sentence") because
it compares it to the position of the end of the *next* sentence or the beginning
of the current sentence when selecting forward or backwards, respectively.

  • editing/VisibleUnits.cpp:

(WebCore::atBoundaryOfGranularity):

Source/WebKit:

Use WebCore::atBoundaryOfGranularity() to identify each boundary so that we return the position
exactly granularityCount text units advanced from the specified position. When using sentence
granularity we do not need to round the resulting position to the nearest word because it already
falls before the next word (if there is one). For all other granularities we do what we do now
and round to the nearest word, which may cross that granularity's boundary.

Additionally, added assertions to ensure that we are passed a non-zero granularity count and a non-
null initial position. The function takes advantage of these assumptions to 1) ensure correct results
and 2) make use of a do-while loop.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::moveByGranularityRespectingWordBoundary):

Tools:

Add tests for requesting text by character, sentence, paragraph, and line granularities.
Also organized tests, demarcating sections of related tests, and renaming the existing
word granularity tests for consistency.

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(TEST):

9:57 AM Changeset in webkit [253560] by Antti Koivisto
  • 4 edits in trunk/PerformanceTests

Add StyleBench subtest for dynamic media query performance
https://bugs.webkit.org/show_bug.cgi?id=205263

Reviewed by Zalan Bujtas.

Add a subtest that contains a small number of rules inside min/max-width media queries.
The test is executed by resizing the test frame to various widths.

  • StyleBench/index.html:
  • StyleBench/resources/style-bench.js:

(Random.prototype.chance):
(defaultConfiguration):
(mediaQueryConfiguration):
(predefinedConfigurations):

  • StyleBench/resources/tests.js:

(makeSteps):

9:42 AM Changeset in webkit [253559] by Simon Fraser
  • 11 edits in trunk

Let the DrawingArea decide whether scrolling is delegated
https://bugs.webkit.org/show_bug.cgi?id=205258

Reviewed by Anders Carlsson.

.:

Let Xcode have its way with the workspace file, after the libANGLE rename.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

Source/WebKit:

Delegated scrolling was hardcoded on for iOS WK2 (as it is for iOS WK1) and off for macOS,
but if macOS is using RemoteLayerTreeDrawingArea that should also use delegated scrolling.

Also make some DrawingArea functions const, and put m_frame->coreFrame()->view() into
a local RefPtr in WebFrameLoaderClient::transitionToCommittedForNewPage().

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::supportsAsyncScrolling const):
(WebKit::DrawingArea::usesDelegatedScrolling const):
(WebKit::DrawingArea::shouldUseTiledBackingForFrameView const):
(WebKit::DrawingArea::supportsAsyncScrolling): Deleted.
(WebKit::DrawingArea::shouldUseTiledBackingForFrameView): Deleted.

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView const):
(WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView): Deleted.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView const):
(WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView): Deleted.

9:26 AM Changeset in webkit [253558] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebKit

Log when unimplemented remote MediaPlayer methods are called
https://bugs.webkit.org/show_bug.cgi?id=205269
<rdar://problem/57967733>

Reviewed by Youenn Fablet.

  • GPUProcess/media/RemoteMediaPlayerProxy.cpp:

(WebKit::RemoteMediaPlayerProxy::mediaPlayerPlaybackStateChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerSawUnsupportedTracks):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerResourceNotSupported):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRepaint):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerSizeChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerEngineUpdated):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerCharacteristicChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingCanBeAccelerated):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerAcceleratedCompositingEnabled):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerActiveSourceBuffersChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerCachedKeyForKeyId const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerKeyNeeded):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerMediaKeysStorageDirectory const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerInitializationDataEncountered):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerWaitingForKeyChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerReferrer const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerUserAgent const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerEnterFullscreen):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerExitFullscreen):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsFullscreen const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsFullscreenPermitted const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsVideo const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerContentBoxRect const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerContentsScale const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerSetSize):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerPause):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerPlay):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerPlatformVolumeConfigurationRequired const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsPaused const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsLooping const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerCachedResourceLoader):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerCreateResourceLoader):
(WebKit::RemoteMediaPlayerProxy::doesHaveAttribute const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerShouldUsePersistentCache const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerMediaCacheDirectory const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidAddAudioTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidAddTextTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidAddVideoTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidRemoveAudioTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidRemoveTextTrack):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerDidRemoveVideoTrack):
(WebKit::RemoteMediaPlayerProxy::textTrackRepresentationBoundsChanged):
(WebKit::RemoteMediaPlayerProxy::outOfBandTrackSources):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerNetworkInterfaceName const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerGetRawCookies const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerHandlePlaybackCommand):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerSourceApplicationIdentifier const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsInMediaDocument const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerEngineFailedToLoad const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerRequestedPlaybackRate const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerFullscreenMode const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerIsVideoFullscreenStandby const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerPreferredAudioCharacteristics const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerShouldDisableSleep const):
(WebKit::RemoteMediaPlayerProxy::mediaContentTypesRequiringHardwareSupport const):
(WebKit::RemoteMediaPlayerProxy::mediaPlayerShouldCheckHardwareSupport const):

  • GPUProcess/media/RemoteMediaPlayerProxy.h:
9:10 AM Changeset in webkit [253557] by Kate Cheney
  • 3 edits in trunk/Source/WebKit

Add NS_UNAVAILABLE tags to prevent alloc inits for _WKResourceLoadStatistics* classes
https://bugs.webkit.org/show_bug.cgi?id=205221

Reviewed by Anders Carlsson.

This patch ensures that no one tries to alloc init
_WKResourceLoadStatisticsFirstParty or
_WKResourceLoadStatisticsThirdParty. They should only be created via
the API call to create().

  • UIProcess/API/Cocoa/_WKResourceLoadStatisticsFirstParty.h:
  • UIProcess/API/Cocoa/_WKResourceLoadStatisticsThirdParty.h:
8:54 AM Changeset in webkit [253556] by Chris Dumez
  • 6 edits
    5 adds in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/ready.https.html is a flaky failure (test harness timeout)
https://bugs.webkit.org/show_bug.cgi?id=200794
<rdar://problem/54367769>

Reviewed by Youenn Fablet.

Skip imported/w3c/web-platform-tests/service-workers/service-worker/ready.https.html on all platforms as it contains some subtests
that are not valid in any browser and which cause flaky timeouts.

To restore test coverage for the ready promise, import work-in-progress test from:
https://github.com/web-platform-tests/wpt/pull/20655 (except for the last subtest that is still flaky in Gecko and WebKit)

  • TestExpectations:
  • http/wpt/service-workers/ready.https.window-expected.txt: Added.
  • http/wpt/service-workers/ready.https.window.html: Added.
  • http/wpt/service-workers/ready.https.window.js: Added.

(test):
(promise_test.async.t.t.add_cleanup.async):

  • http/wpt/service-workers/resources/empty-worker.js: Added.
  • http/wpt/service-workers/resources/register-iframe.html: Added.
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/wpe/TestExpectations:
8:47 AM Changeset in webkit [253555] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Add initial support for line-break: anywhere
https://bugs.webkit.org/show_bug.cgi?id=205278
<rdar://problem/57969694>

Reviewed by Antti Koivisto.

  1. There is a soft wrap opportunity around every typographic character unit.
  2. The different wrapping opportunities must not be prioritized. Hyphenation is not applied.

Fix imported/w3c/web-platform-tests/css/css-text/line-break/line-break-anywhere-002.html.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::isTextSplitAtArbitraryPositionAllowed):
(WebCore::Layout::LineBreaker::Content::isAtSoftWrapOpportunity):

8:15 AM Changeset in webkit [253554] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

http/wpt/service-workers/postMessage-fetch-order.https.html is a flaky failure after r253528
https://bugs.webkit.org/show_bug.cgi?id=205261

Patch by youenn fablet <youenn@apple.com> on 2019-12-16
Reviewed by Chris Dumez.

Instead of starting the fetch task asynchronously, start it synchronously but make sure that
not handling the fetch is either coming from IPC or is done asynchronously.

We add a boolean m_isDone that ensures that the loader will only be called once for didFail/didFinish/didNotHandle.
This covers the potential case of a task for which cannotHandle is called synchronously at creation but the call to didNotHandle is not yet done.
Before the call to didNotHandle is done, a timeout timer is firing and will call didNotHandle a first time.
The second didNotHandle should be a no-op.

Covered by existing tests and unflakes above test.

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:

(WebKit::ServiceWorkerFetchTask::contextClosed):
(WebKit::ServiceWorkerFetchTask::didReceiveRedirectResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveData):
(WebKit::ServiceWorkerFetchTask::didReceiveFormData):
(WebKit::ServiceWorkerFetchTask::didFinish):
(WebKit::ServiceWorkerFetchTask::didFail):
(WebKit::ServiceWorkerFetchTask::didNotHandle):
Make sure to call didNotHandle only once based on m_isDone.
(WebKit::ServiceWorkerFetchTask::cannotHandle):
Do not expose didNotHandle as a public method.
Instead expose cannotHandle that will call didNotHandle asynchronously.
(WebKit::ServiceWorkerFetchTask::continueFetchTaskWith):
No need to set a timer if we will not create a fetch event.

  • NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h:

(WebKit::ServiceWorkerFetchTask::takeRequest):

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::startFetch):

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:

(WebKit::WebSWServerToContextConnection::fetchTaskTimedOut):
Small refactoring to only use contextClosed and not expose whether the task is handled or not.
This also potentially allows to call didNotHandle in case the service worker crashed before answering the fetch event.

7:56 AM Changeset in webkit [253553] by emilio
  • 2 edits in trunk/Source/WebKit

[GTK] Build with USE_WPE_RENDERER=No fails with undefined EGL_WAYLAND_BUFFER_WL
https://bugs.webkit.org/show_bug.cgi?id=205250

Reviewed by Carlos Garcia Campos.

Define the enum if not present.

No new tests, just a build fix.

  • UIProcess/gtk/WaylandCompositor.cpp:
7:47 AM Changeset in webkit [253552] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout test imported/blink/fast/sub-pixel/negative-composited-offset.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=205273

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:41 AM Changeset in webkit [253551] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test js/integer-division-neg2tothe32-by-neg1.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205272

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:49 AM Changeset in webkit [253550] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Rename LineBuilder::m_skipAlignment to LineBuilder::m_intrinsicWidthLine
https://bugs.webkit.org/show_bug.cgi?id=205257
<rdar://problem/57955958>

Reviewed by Antti Koivisto.

It's going to be used for hanging glyphs.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::alignContentVertically):
(WebCore::Layout::LineBuilder::alignContentHorizontally const):
(WebCore::Layout::LineBuilder::runContentHeight const):
(WebCore::Layout::LineBuilder::isVisuallyNonEmpty const):

  • layout/inlineformatting/InlineLineBuilder.h:
6:40 AM Changeset in webkit [253549] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Should use the term collapsed/collapsible instead of trimmed/trimmable
https://bugs.webkit.org/show_bug.cgi?id=205255
<rdar://problem/57954672>

Reviewed by Antti Koivisto.

While trimming is also a spec term, collapsible is closer to the spec language.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::shouldKeepEndOfLineWhitespace):
(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
(WebCore::Layout::LineBreaker::Content::append):
(WebCore::Layout::LineBreaker::Content::reset):
(WebCore::Layout::LineBreaker::Content::shrink):
(WebCore::Layout::LineBreaker::Content::TrailingCollapsibleContent::reset):
(WebCore::Layout::LineBreaker::Content::trim): Deleted.
(WebCore::Layout::LineBreaker::Content::TrailingTrimmableContent::reset): Deleted.

  • layout/inlineformatting/InlineLineBreaker.h:

(WebCore::Layout::LineBreaker::Content::nonCollapsibleWidth const):
(WebCore::Layout::LineBreaker::Content::hasTrailingCollapsibleContent const):
(WebCore::Layout::LineBreaker::Content::isTrailingContentFullyCollapsible const):
(WebCore::Layout::LineBreaker::Content::nonTrimmableWidth const): Deleted.
(WebCore::Layout::LineBreaker::Content::hasTrailingTrimmableContent const): Deleted.
(WebCore::Layout::LineBreaker::Content::isTrailingContentFullyTrimmable const): Deleted.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::LineBuilder):
(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::removeTrailingCollapsibleContent):
(WebCore::Layout::LineBuilder::collectHangingContent):
(WebCore::Layout::LineBuilder::appendInlineContainerEnd):
(WebCore::Layout::LineBuilder::appendTextContent):
(WebCore::Layout::LineBuilder::appendNonReplacedInlineBox):
(WebCore::Layout::LineBuilder::CollapsibleContent::CollapsibleContent):
(WebCore::Layout::LineBuilder::CollapsibleContent::append):
(WebCore::Layout::LineBuilder::CollapsibleContent::collapse):
(WebCore::Layout::LineBuilder::CollapsibleContent::collapseTrailingRun):
(WebCore::Layout::LineBuilder::InlineItemRun::isCollapsibleWhitespace const):
(WebCore::Layout::LineBuilder::removeTrailingTrimmableContent): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::TrimmableContent): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::append): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::trim): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::trimTrailingRun): Deleted.
(WebCore::Layout::LineBuilder::InlineItemRun::isTrimmableWhitespace const): Deleted.

  • layout/inlineformatting/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::trailingCollapsibleWidth const):
(WebCore::Layout::LineBuilder::isTrailingRunFullyCollapsible const):
(WebCore::Layout::LineBuilder::CollapsibleContent::isTrailingRunFullyCollapsible const):
(WebCore::Layout::LineBuilder::CollapsibleContent::isTrailingRunPartiallyCollapsible const):
(WebCore::Layout::LineBuilder::CollapsibleContent::reset):
(WebCore::Layout::LineBuilder::trailingTrimmableWidth const): Deleted.
(WebCore::Layout::LineBuilder::isTrailingRunFullyTrimmable const): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::width const): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::firstRunIndex): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::isEmpty const): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::isTrailingRunFullyTrimmable const): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::isTrailingRunPartiallyTrimmable const): Deleted.
(WebCore::Layout::LineBuilder::TrimmableContent::reset): Deleted.

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::placeInlineItem):
(WebCore::Layout::LineLayoutContext::processUncommittedContent):

6:13 AM Changeset in webkit [253548] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed GTK gardening. Mark /webkit/WebKitWebView/pointer-lock-permission-request as timeout

  • TestWebKitAPI/glib/TestExpectations.json:
6:08 AM Changeset in webkit [253547] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GLib test /webkit/WebKitWebView/geolocation-permission-requests after r249207

PERMISSION_DENIED is returned for non-secure contexts instead of POSITION_UNAVAILABLE since r249207.

  • TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:

(testWebViewGeolocationPermissionRequests):

5:36 AM Changeset in webkit [253546] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GLib test /jsc/options after r253244.

The default value of smallHeapRAMFraction option changed in r253244. The test just wants to check a float jsc
option, so use criticalGCMemoryThreshold instead that has a fixed default value.

  • TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:

(testsJSCOptions):

3:21 AM Changeset in webkit [253545] by youenn@apple.com
  • 7 edits in trunk

Reset cached getUserMedia queries when calling stopMediaCapture
https://bugs.webkit.org/show_bug.cgi?id=205064

Reviewed by Eric Carlson.

Source/WebKit:

Reset cached queries when calling stop media capture API allows to trigger again the prompt
after the API call.
Covered by updated API test.

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::resetAccess):

  • UIProcess/UserMediaPermissionRequestManagerProxy.h:

(WebKit::UserMediaPermissionRequestManagerProxy::resetAccess):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::stopMediaCapture):

Tools:

  • TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:

(-[GetUserMediaCaptureUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
(TestWebKitAPI::TEST):

3:04 AM Changeset in webkit [253544] by youenn@apple.com
  • 4 edits
    2 adds in trunk

SecurityOrigin should be unique for null blob URLs that have been unregistered
https://bugs.webkit.org/show_bug.cgi?id=205169

Reviewed by Darin Adler.

Source/WebCore:

In case we cannot retrieve a cached origin for a null origin, just create a unique one.
This is better than having an origin with an empty host and empty scheme.

Test: http/tests/security/blob-null-url-location-origin.html

  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::ThreadableBlobRegistry::unregisterBlobURL):
(WebCore::ThreadableBlobRegistry::getCachedOrigin):

LayoutTests:

  • http/tests/security/blob-null-url-location-origin-expected.txt: Added.
  • http/tests/security/blob-null-url-location-origin.html: Added.
  • platform/win/TestExpectations: Skipping test as timing out in windows.

Dec 15, 2019:

6:25 PM Changeset in webkit [253543] by Wenson Hsieh
  • 4 edits in trunk

-[WKWebView _detectDataWithTypes:completionHandler:] crashes when there is no running process
https://bugs.webkit.org/show_bug.cgi?id=205254

Reviewed by Tim Horton.

Source/WebKit:

Bail early and call the completion handler in the case where we don't have a running web process, to avoid a
null Connection* deref. Speculative fix for <rdar://problem/57463469>.

  • UIProcess/WebPageProxy.cpp:

Tools:

Add a test to verify that we don't crash when calling data detection API's immediately after crashing the web
content process.

  • TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
2:12 PM Changeset in webkit [253542] by zhifei_fang@apple.com
  • 5 edits in trunk

Add power metric to perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=205227

Reviewed by Ryosuke Niwa.

  • public/v3/models/metric.js:

(Metric):

1:50 PM Changeset in webkit [253541] by emilio
  • 2 edits in trunk/Source/WebCore

CSSParserMode::HTMLAttributeMode is unused.
https://bugs.webkit.org/show_bug.cgi?id=205247

Reviewed by Antti Koivisto.

We parse HTML attributes with regular quirks mode parsing mode.
Internal properties work anyway as we pass CSSPropertyID directly.

No new tests, no behavior change.

  • css/parser/CSSParserMode.h:

(WebCore::isQuirksModeBehavior):
(WebCore::isUnitLessValueParsingEnabledForMode):

12:19 PM Changeset in webkit [253540] by emilio
  • 34 edits
    2 deletes in trunk

Remove -webkit-marquee.
https://bugs.webkit.org/show_bug.cgi?id=117769

Reviewed by Simon Fraser.

Source/WebCore:

This doesn't simplify the code so much yet but makes the CSS properties not
accessible by web content, which means that how marquee is implemented is now an
implementation detail that WebKit can change.

Had to keep some of parsing code because addHTMLLengthToStyle uses the
CSS parser, which is a bit unfortunate. But we can avoid dealing with
identifiers so it can be simplified a bit, and similarly we can avoid
having a shorthand altogether.

Covered by existing tests that are being modified to reflect the
change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):

  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):

Source/WebInspectorUI:

  • UserInterface/Models/CSSKeywordCompletions.js:

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-length-unit-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-length-unit.html:
  • fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html:
  • fast/css/getComputedStyle/resources/property-names.js:
  • fast/css/getPropertyValue-webkit-marquee-expected.txt: Removed.
  • fast/css/getPropertyValue-webkit-marquee.html: Removed.
  • fast/css/inherit-initial-shorthand-values-expected.txt:
  • fast/css/inherit-initial-shorthand-values.html:
  • fast/css/remove-shorthand-expected.txt:
  • fast/css/remove-shorthand.html:
  • legacy-animation-engine/fast/css/getComputedStyle/resources/property-names.js:
  • platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/gtk/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/gtk/svg/css/getComputedStyle-basic-expected.txt:
  • platform/ios/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/ios/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/ios/svg/css/getComputedStyle-basic-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/mac/svg/css/getComputedStyle-basic-expected.txt:
  • platform/wpe/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/wpe/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/wpe/svg/css/getComputedStyle-basic-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
10:43 AM Changeset in webkit [253539] by emilio
  • 2 edits in trunk/Tools

[GTK] jhbuild fails to configure if gettext 0.20 is installed
https://bugs.webkit.org/show_bug.cgi?id=205249

Reviewed by Michael Catanzaro.

Update jhbuild.

  • jhbuild/jhbuild-wrapper:
10:20 AM Changeset in webkit [253538] by Adrian Perez de Castro
  • 36 edits in trunk/Source

[GTK][WPE] Fix various non-unified build issues introduced since r251698
https://bugs.webkit.org/show_bug.cgi?id=204891

Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • API/JSCallbackConstructor.h: Add missing inclusion of JSObject.h
  • bytecompiler/BytecodeGeneratorBaseInlines.h: Add missing "#pragma once", which

caused build breakage when the same unified source would result in multiple inclusions of
the header.

  • bytecompiler/NodesCodegen.cpp: Add missing inclusion of BytecodeGeneratorBaseInlines.h
  • dfg/DFGDesiredIdentifiers.h: Add missing inclusion of Identifier.h
  • heap/IsoSubspacePerVM.cpp: Add missing inclusion of MarkedSpaceInlines.h
  • jit/GCAwareJITStubRoutine.h: Add missing forward declaration for CallLinkInfo.
  • runtime/PredictionFileCreatingFuzzerAgent.cpp: Add missing inclusion of wtf/DataLog.h
  • runtime/ScopedArgumentsTable.h: Add missing inclusion of VM.h
  • wasm/WasmCallee.cpp: Add missing inclusion of WasmCallingConvention.h
  • wasm/WasmLLIntTierUpCounter.h: Add missing inclusion of InstructionStream.h
  • wasm/WasmSlowPaths.cpp: Add missing inclusion of WasmSignatureInlines.h

Source/WebCore:

No new tests needed.

  • Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: Add missing inclusion of

markup.h

  • accessibility/AccessibilityObject.cpp: Add missing inclusion of RenderInline.h
  • animation/WebAnimationUtilities.cpp: Add missing inclusion of Animation.h
  • animation/WebAnimationUtilities.h: Add inclusion of wtf/Forward.h to ensure that

WTF::String is declared.

  • css/DOMCSSNamespace.cpp: Add missing inclusion of Document.h
  • dom/WindowEventLoop.cpp: Add missing inclusion of SecurityOrigin.h
  • dom/WindowEventLoop.h: Add forward declaration of SecurityOrigin
  • layout/displaytree/DisplayInlineContent.cpp: Move ENABLE(LAYOUT_FORMATTING_CONTEXT) guard

after inclusion of config.h, to ensure that the ENABLE() macro is defined before being used.

  • loader/ProgressTracker.h: Add missing inclusion of wtf/UniqueRef.h
  • page/LoggedInStatus.cpp: Add missing inclusion of wtf/text/StringConcatenateNumbers.h
  • page/PageConfiguration.cpp: Add missing inclusions of AlternativeTextClient.h and

PlugInClient.h

  • rendering/RenderFlexibleBox.cpp: Add missing inclusion of wtf/SetForScope.h
  • rendering/updating/RenderTreeBuilderBlock.h: Add missing forward declaration of

RenderBlockFlow.

  • rendering/updating/RenderTreeBuilderBlockFlow.h: Add missing forward declaration of

RenderBlockFlow.

  • rendering/updating/RenderTreeBuilderMultiColumn.h: Add missing forward declaration of

RenderMultiColumnFlow.

  • rendering/updating/RenderTreeUpdaterGeneratedContent.cpp: Add missin inclusion of

RenderView.h

  • style/StyleBuilder.cpp: Add missing inclusion of HTMLElement.h
  • style/StyleBuilderState.cpp: Ditto.
  • style/StyleScopeRuleSets.h: Move forward declaration of InspectorCSSOMWrappers into the

Style namespace, where it belongs; add missing namespace prefix in appendAuthorStyleSheets()
declaration.

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBServer.cpp: Add missing WebCore namespace prefixes

in function declarations.
(WebKit::WebIDBServer::create):
(WebKit::WebIDBServer::WebIDBServer):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::suspend):
(WebKit::WebIDBServer::idFireVersionChangeEvent):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::requestSpace): Add missing namespace prefix for
WebCore::ClientOrigin.

  • NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp: Add missing inclusion of

WebCore/RegistrableDomain.h
(WebKit::NetworkCache::SubresourceInfo::isFirstParty const): Add missing namespace prefix
for WebCore::RegistrableDomain.

  • WebProcess/Automation/WebAutomationSessionProxy.cpp:

(WebKit::WebAutomationSessionProxy::setFilesForInputFileUpload): Add missing namespace
prefix for WebCore::File::create() and WebCore::FileList::create() calls.

9:00 AM Changeset in webkit [253537] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Add basic support for hanging content
https://bugs.webkit.org/show_bug.cgi?id=205252
<rdar://problem/57947773>

Reviewed by Antti Koivisto.

Collect the hanging content after collapsing trailing whitespace and adjust
the available space when computing the extra width for horizontal alignment.

IFC passes imported/w3c/web-platform-tests/css/css-text/ directory now.

  • layout/inlineformatting/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::initialize):
(WebCore::Layout::LineBuilder::close):
(WebCore::Layout::LineBuilder::alignContentHorizontally const):
(WebCore::Layout::LineBuilder::collectHangingContent):
(WebCore::Layout::LineBuilder::appendTextContent):

  • layout/inlineformatting/InlineLineBuilder.h:

(WebCore::Layout::LineBuilder::HangingContent::width const):
(WebCore::Layout::LineBuilder::HangingContent::isConditional const):
(WebCore::Layout::LineBuilder::HangingContent::setIsConditional):
(WebCore::Layout::LineBuilder::HangingContent::expand):
(WebCore::Layout::LineBuilder::HangingContent::reset):

7:16 AM Changeset in webkit [253536] by emilio
  • 2 edits in trunk/Source/WebCore

[GStreamer] Fix silly bug in GStreamerVideoFrameLibWebRTC.
https://bugs.webkit.org/show_bug.cgi?id=205248

Reviewed by Philippe Normand.

Binary operators in C++ don't work like in JavaScript, so this was always
passing 1.

No new tests, no observable behavior change.

  • platform/mediastream/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:

(WebCore::GStreamerVideoFrameLibWebRTC::ToI420):

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

[LFC][IFC] Fix imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-009.html
https://bugs.webkit.org/show_bug.cgi?id=205246
<rdar://problem/57944015>

Reviewed by Antti Koivisto.

Fix the "soft wrap opportunity" case when both the incoming and the previous runs are whitespace.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::LineBreaker::Content::isAtSoftWrapOpportunity):

6:02 AM Changeset in webkit [253534] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Unreviewed, address review comments missed in the initial commit.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
(WebCore::Layout::LineBreaker::wrapTextContent const):

  • layout/inlineformatting/InlineLineBreaker.h:
5:50 AM Changeset in webkit [253533] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Fix imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-006.html
https://bugs.webkit.org/show_bug.cgi?id=205245
<rdar://problem/57943885>

Reviewed by Antti Koivisto.

Line breaking should be able to differentiate

  1. the case when the candidate content's first character does not fit the line
  2. and when the candidate content has multiple runs and (a) the overflow run is not the first one (b) it can't be wrapped and we fall back to the first run in the list

In both cases wordBreakingBehavior returns { 0, { } }, where 0 is the trailing run index (first run) and the nullopt indicates
that there's no partial content.

Introduce TextWrappingContext to be able to tell these cases apart.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
(WebCore::Layout::LineBreaker::wrapTextContent const):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
(WebCore::Layout::LineBreaker::wordBreakingBehavior const): Deleted.

  • layout/inlineformatting/InlineLineBreaker.h:
5:36 AM Changeset in webkit [253532] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Introduce LineBreaker::PartialRun
https://bugs.webkit.org/show_bug.cgi?id=205244
<rdar://problem/57943825>

Reviewed by Antti Koivisto.

Use PartialRun instead of LeftSide and also use it as optional in PartialTrailingContent.
This is in preparation for fixing "break-spaces" failing cases.

  • layout/inlineformatting/InlineLineBreaker.cpp:

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

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

(WebCore::Layout::LineLayoutContext::processUncommittedContent):

Dec 14, 2019:

6:44 PM Changeset in webkit [253531] by Simon Fraser
  • 8 edits in trunk/Source/WebKit

Rename "customFixedPositionRect" to "layoutViewportRect"
https://bugs.webkit.org/show_bug.cgi?id=205241

Reviewed by Dean Jackson.

WK2 computes the rect used to layout out position:fixed elements in the UI process.
For historical reasons this was called customFixedPositionRect, but rename it to
layoutViewportRect since that what it really is.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode const):
(WebKit::VisibleContentRectUpdateInfo::decode):
(WebKit::operator<<):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::layoutViewportRect const):
(WebKit::operator==):
(WebKit::VisibleContentRectUpdateInfo::customFixedPositionRect const): Deleted.

  • UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::currentLayoutViewport const):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::layoutViewportRect const):
(WebKit::WebPageProxy::customFixedPositionRect const): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:contentInsets:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
(-[WKContentView _didCommitLayerTree:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::computeLayoutViewportRect const):
(WebKit::WebPageProxy::unconstrainedLayoutViewportRect const):
(WebKit::WebPageProxy::computeCustomFixedPositionRect const): Deleted.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

3:37 PM Changeset in webkit [253530] by pvollan@apple.com
  • 9 edits
    1 add in trunk/Source

Map CSS value ID to system color in the UI process
https://bugs.webkit.org/show_bug.cgi?id=204314
<rdar://problem/57295392>
Source/WebCore:

Reviewed by Brent Fulgham.

Currently, RenderThemeIOS is mapping CSS value IDs to system colors in the WebContent process. This mapping leads to
invoking selectors on UITraitCollection and UIColor, which will send messages to the runningboard daemon. Since we
will be blocking access to this daemon in the WebContent process, this mapping should be moved to the UI process.
The UI process will create a mapping between CSS value IDs and system colors, and pass it to the WebContent process.

No new tests, covered by existing tests.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/CSSValueKey.h: Added.

(WebCore::operator==):
(WebCore::CSSValueKey::encode const):
(WebCore::CSSValueKey::decode):
(WebCore::CSSValueKey::hash const):
(WTF::CSSValueKeyHash::hash):
(WTF::CSSValueKeyHash::equal):
(WTF::HashTraits<WebCore::CSSValueKey>::emptyValue):
(WTF::HashTraits<WebCore::CSSValueKey>::constructDeletedValue):
(WTF::HashTraits<WebCore::CSSValueKey>::isDeletedValue):

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

(WebCore::cssValueIDSelectorList):
(WebCore::systemColorFromCSSValueID):
(WebCore::globalCSSValueToSystemColorMap):
(WebCore::RenderThemeIOS::createCSSValueToSystemColorMap):
(WebCore::RenderThemeIOS::setCSSValueToSystemColorMap):
(WebCore::RenderThemeIOS::systemColor const):

Source/WebKit:

Reviewed by Brent Fulgham.

Create mapping between CSS value IDs and system colors in the UI process and send to the WebContent process
on process startup.

No new tests, covered by existing tests.

  • 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):

3:20 PM Changeset in webkit [253529] by pvollan@apple.com
  • 5 edits in trunk

[iOS] Deny mach lookup access to "*.viewservice" in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=205240

Reviewed by Brent Fulgham.

Source/WebKit:

As part of sandbox hardening in the WebContent process, mach lookup access to “*.viewservice” should be removed.

Test: fast/sandbox/ios/sandbox-mach-lookup.html

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

LayoutTests:

  • fast/sandbox/ios/sandbox-mach-lookup-expected.txt:
  • fast/sandbox/ios/sandbox-mach-lookup.html:
1:49 PM Changeset in webkit [253528] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

WebSWServerConnection::startFetch() should never fail synchronously
https://bugs.webkit.org/show_bug.cgi?id=205225
<rdar://problem/57490508>

Reviewed by Geoffrey Garen.

WebSWServerConnection::startFetch() should never fail synchronously. If it does, it will
confuse the NetworkResourceLoader. NetworkResourceLoader::serviceWorkerDidNotHandle() will
get called *before* NetworkResourceLoader::m_serviceWorkerFetchTask has been sent, which
means that we would not properly deal with redirects. Worse, the call site which creates
the ServiceWorkerFetchTask would then null out m_networkLoad, which would silently cancel
the load that WebSWServerConnection::startFetch() started synchronously.

No new tests, I am not sure how to test this. It would have to cause a redirect do a URL
that has a service worker and then we would have to get WebSWServerConnection::startFetch()
to fail synchronously. I think that to fail synchronously, we would have to not find a
ServiceWorker with the given ID, or the ServiceWorker's hasTimedOutAnyFetchTasks would have
to be set.

I added a RELEASE_ASSERT() in NetworkResourceLoader::serviceWorkerDidNotHandle() that would
have caught this.

  • NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::startFetch):

12:18 PM Changeset in webkit [253527] by Simon Fraser
  • 16 edits
    1 copy
    3 adds in trunk/Source/WebKit

Move code out of WKWebView.mm into platform-specific files, for easier navigation
https://bugs.webkit.org/show_bug.cgi?id=205233

Reviewed by Tim Horton.

Move as much platform-specific code out of WKWebView.mm as possible, moving it to WKWebViewMac/WKWebViewIOS.
WKWebView (WKPrivate) is split into WKWebView (WKPrivateIOS) and WKWebView (WKPrivateMac) so the implementations
of those functions can move.

Code that remains in WKWebView.mm is either Cocoa-generic, or implements API.

This is entirely cut/paste, other than the addition of -_takeFindStringFromSelectionInternal: for macOS
to allow WKWebView.mm to call -takeFindStringFromSelection:.

  • SourcesCocoa.txt:
  • UIProcess/API/Cocoa/WKWebView.mm:

(hardwareKeyboardAvailabilityChangedCallback):
(-[WKWebView setAllowsBackForwardNavigationGestures:]):
(-[WKWebView allowsBackForwardNavigationGestures]):
(-[WKWebView setPageZoom:]):
(-[WKWebView pageZoom]):
(toFindOptions):
(-[WKWebView findString:withConfiguration:completionHandler:]):
(+[WKWebView handlesURLScheme:]):
(-[WKWebView setMediaType:]):
(-[WKWebView mediaType]):
(-[WKWebView scrollView]):
(-[WKWebView setAllowsMagnification:]):
(-[WKWebView allowsMagnification]):
(-[WKWebView setMagnification:centeredAtPoint:]):
(-[WKWebView setMagnification:]):
(-[WKWebView magnification]):
(-[WKWebView printOperationWithPrintInfo:]):
(-[WKWebView _showSafeBrowsingWarning:completionHandler:]):
(-[WKWebView _clearSafeBrowsingWarning]):
(-[WKWebView _clearSafeBrowsingWarningIfForMainFrameNavigation]):
(-[WKWebView _internalDoAfterNextPresentationUpdate:withoutWaitingForPainting:withoutWaitingForAnimatedResize:]):
(dictionaryRepresentationForEditorState):
(nsTextAlignment):
(selectionAttributes):
(-[WKWebView _didChangeEditorState]):
(-[WKWebView _toggleStrikeThrough:]):
(-[WKWebView _increaseListLevel:]):
(-[WKWebView _decreaseListLevel:]):
(-[WKWebView _changeListType:]):
(-[WKWebView inputAccessoryView]):
(-[WKWebView inputView]):
(-[WKWebView inputAssistantItem]):
(-[WKWebView _selectionAttributes]):
(-[WKWebView _viewportSizeForCSSViewportUnits]):
(-[WKWebView _setViewportSizeForCSSViewportUnits:]):
(-[WKWebView _inspector]):
(-[WKWebView _mainFrame]):
(-[WKWebView _isEditable]):
(-[WKWebView _setEditable:]):
(-[WKWebView _executeEditCommand:argument:completion:]):
(-[WKWebView _textManipulationDelegate]):
(-[WKWebView _setTextManipulationDelegate:]):
(-[WKWebView _startTextManipulationsWithConfiguration:completion:]):
(-[WKWebView _completeTextManipulation:completion:]):
(-[WKWebView _takeFindStringFromSelection:]):
(+[WKWebView _stringForFind]):
(+[WKWebView _setStringForFind:]):
(-[WKWebView _remoteObjectRegistry]):
(-[WKWebView _handle]):
(-[WKWebView _observedRenderingProgressEvents]):
(-[WKWebView _historyDelegate]):
(-[WKWebView _setHistoryDelegate:]):
(-[WKWebView _updateMediaPlaybackControlsManager]):
(-[WKWebView _canTogglePictureInPicture]):
(-[WKWebView _isPictureInPictureActive]):
(-[WKWebView _togglePictureInPicture]):
(-[WKWebView _closeAllMediaPresentations]):
(-[WKWebView _stopMediaCapture]):
(-[WKWebView _stopAllMediaPlayback]):
(-[WKWebView _suspendAllMediaPlayback]):
(-[WKWebView _resumeAllMediaPlayback]):
(-[WKWebView _unreachableURL]):
(-[WKWebView _mainFrameURL]):
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
(-[WKWebView _loadRequest:shouldOpenExternalURLs:]):
(-[WKWebView _certificateChain]):
(-[WKWebView _committedURL]):
(-[WKWebView _MIMEType]):
(-[WKWebView _userAgent]):
(-[WKWebView _applicationNameForUserAgent]):
(-[WKWebView _setApplicationNameForUserAgent:]):
(-[WKWebView _customUserAgent]):
(-[WKWebView _setCustomUserAgent:]):
(-[WKWebView _setUserContentExtensionsEnabled:]):
(-[WKWebView _userContentExtensionsEnabled]):
(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _provisionalWebProcessIdentifier]):
(-[WKWebView _webProcessIsResponsive]):
(-[WKWebView _killWebContentProcess]):
(-[WKWebView _reloadWithoutContentBlockers]):
(-[WKWebView _reloadExpiredOnly]):
(-[WKWebView _killWebContentProcessAndResetState]):
(-[WKWebView _convertRectFromRootViewCoordinates:]):
(-[WKWebView _convertRectToRootViewCoordinates:]):
(-[WKWebView _requestTextInputContextsInRect:completionHandler:]):
(-[WKWebView _focusTextInputContext:completionHandler:]):
(-[WKWebView _takePDFSnapshotWithConfiguration:completionHandler:]):
(-[WKWebView _sessionStateData]):
(-[WKWebView _sessionState]):
(-[WKWebView _sessionStateWithFilter:]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreSessionState:andNavigate:]):
(-[WKWebView _close]):
(-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]):
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:options:completion:]):
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:completion:]):
(-[WKWebView _attachmentForIdentifier:]):
(-[WKWebView _simulateDeviceOrientationChangeWithAlpha:beta:gamma:]):
(+[WKWebView _handlesSafeBrowsing]):
(-[WKWebView _showSafeBrowsingWarningWithTitle:warning:details:completionHandler:]):
(-[WKWebView _showSafeBrowsingWarningWithURL:title:warning:details:completionHandler:]):
(+[WKWebView _confirmMalwareSentinel]):
(+[WKWebView _visitUnsafeWebsiteSentinel]):
(-[WKWebView _isJITEnabled:]):
(-[WKWebView _evaluateJavaScriptWithoutUserGesture:completionHandler:]):
(-[WKWebView _updateWebsitePolicies:]):
(-[WKWebView _allowsRemoteInspection]):
(-[WKWebView _setAllowsRemoteInspection:]):
(-[WKWebView _remoteInspectionNameOverride]):
(-[WKWebView _setRemoteInspectionNameOverride:]):
(-[WKWebView _addsVisitedLinks]):
(-[WKWebView _setAddsVisitedLinks:]):
(-[WKWebView _networkRequestsInProgress]):
(layoutMilestones):
(-[WKWebView _setObservedRenderingProgressEvents:]):
(-[WKWebView _getMainResourceDataWithCompletionHandler:]):
(-[WKWebView _getWebArchiveDataWithCompletionHandler:]):
(-[WKWebView _getContentsAsStringWithCompletionHandler:]):
(-[WKWebView _getContentsAsAttributedStringWithCompletionHandler:]):
(-[WKWebView _getApplicationManifestWithCompletionHandler:]):
(-[WKWebView _paginationMode]):
(-[WKWebView _setPaginationMode:]):
(-[WKWebView _paginationBehavesLikeColumns]):
(-[WKWebView _setPaginationBehavesLikeColumns:]):
(-[WKWebView _pageLength]):
(-[WKWebView _setPageLength:]):
(-[WKWebView _gapBetweenPages]):
(-[WKWebView _setGapBetweenPages:]):
(-[WKWebView _paginationLineGridEnabled]):
(-[WKWebView _setPaginationLineGridEnabled:]):
(-[WKWebView _pageCount]):
(-[WKWebView _supportsTextZoom]):
(-[WKWebView _textZoomFactor]):
(-[WKWebView _setTextZoomFactor:]):
(-[WKWebView _pageZoomFactor]):
(-[WKWebView _setPageZoomFactor:]):
(-[WKWebView _diagnosticLoggingDelegate]):
(-[WKWebView _setDiagnosticLoggingDelegate:]):
(-[WKWebView _findDelegate]):
(-[WKWebView _setFindDelegate:]):
(-[WKWebView _countStringMatches:options:maxCount:]):
(-[WKWebView _findString:options:maxCount:]):
(-[WKWebView _hideFindUI]):
(-[WKWebView _saveBackForwardSnapshotForItem:]):
(-[WKWebView _inputDelegate]):
(-[WKWebView _setInputDelegate:]):
(-[WKWebView _isDisplayingStandaloneImageDocument]):
(-[WKWebView _isDisplayingStandaloneMediaDocument]):
(-[WKWebView _isPlayingAudio]):
(-[WKWebView _isShowingNavigationGestureSnapshot]):
(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _fixedLayoutSize]):
(-[WKWebView _setFixedLayoutSize:]):
(-[WKWebView _setBackgroundExtendsBeyondPage:]):
(-[WKWebView _backgroundExtendsBeyondPage]):
(-[WKWebView _viewScale]):
(-[WKWebView _setViewScale:]):
(-[WKWebView _setMinimumEffectiveDeviceWidth:]):
(-[WKWebView _minimumEffectiveDeviceWidth]):
(-[WKWebView _setScrollPerformanceDataCollectionEnabled:]):
(-[WKWebView _scrollPerformanceDataCollectionEnabled]):
(-[WKWebView _scrollPerformanceData]):
(-[WKWebView _allowsMediaDocumentInlinePlayback]):
(-[WKWebView _setAllowsMediaDocumentInlinePlayback:]):
(-[WKWebView _setFullscreenDelegate:]):
(-[WKWebView _fullscreenDelegate]):
(-[WKWebView _isInFullscreen]):
(-[WKWebView _mediaCaptureState]):
(-[WKWebView _setMediaCaptureEnabled:]):
(-[WKWebView _mediaCaptureEnabled]):
(-[WKWebView _setPageMuted:]):
(-[WKWebView _removeDataDetectedLinks:]):
(-[WKWebView _doAfterNextPresentationUpdate:]):
(-[WKWebView _doAfterNextPresentationUpdateWithoutWaitingForPainting:]):
(toAPIScrollbarStyle): Deleted.
(toCoreScrollbarStyle): Deleted.
(deviceOrientationForUIInterfaceOrientation): Deleted.
(deviceOrientation): Deleted.
(-[WKWebView setFrame:]): Deleted.
(-[WKWebView setBounds:]): Deleted.
(-[WKWebView layoutSubviews]): Deleted.
(-[WKWebView _isShowingVideoPictureInPicture]): Deleted.
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): Deleted.
(-[WKWebView _incrementFocusPreservationCount]): Deleted.
(-[WKWebView _decrementFocusPreservationCount]): Deleted.
(-[WKWebView _resetFocusPreservationCount]): Deleted.
(-[WKWebView _isRetainingActiveFocusedState]): Deleted.
(-[WKWebView _effectiveAppearanceIsDark]): Deleted.
(-[WKWebView _effectiveUserInterfaceLevelIsElevated]): Deleted.
(-[WKWebView _shouldAvoidResizingWhenInputViewBoundsChange]): Deleted.
(-[WKWebView _dragInteractionPolicy]): Deleted.
(-[WKWebView _setDragInteractionPolicy:]): Deleted.
(-[WKWebView _populateArchivedSubviews:]): Deleted.
(-[WKWebView _isBackground]): Deleted.
(-[WKWebView browsingContextController]): Deleted.
(-[WKWebView becomeFirstResponder]): Deleted.
(-[WKWebView canBecomeFirstResponder]): Deleted.
(-[WKWebView resignFirstResponder]): Deleted.
(-[WKWebView canPerformAction:withSender:]): Deleted.
(-[WKWebView targetForAction:withSender:]): Deleted.
(-[WKWebView willFinishIgnoringCalloutBarFadeAfterPerformingAction]): Deleted.
(floorToDevicePixel): Deleted.
(pointsEqualInDevicePixels): Deleted.
(roundScrollViewContentSize): Deleted.
(-[WKWebView _currentContentView]): Deleted.
(-[WKWebView _contentProviderRegistry]): Deleted.
(-[WKWebView _selectionGranularity]): Deleted.
(-[WKWebView _setHasCustomContentView:loadedMIMEType:]): Deleted.
(-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:data:]): Deleted.
(-[WKWebView _handleKeyUIEvent:]): Deleted.
(-[WKWebView _willInvokeUIScrollViewDelegateCallback]): Deleted.
(-[WKWebView _didInvokeUIScrollViewDelegateCallback]): Deleted.
(contentZoomScale): Deleted.
(baseScrollViewBackgroundColor): Deleted.
(scrollViewBackgroundColor): Deleted.
(-[WKWebView _updateScrollViewBackground]): Deleted.
(-[WKWebView _videoControlsManagerDidChange]): Deleted.
(-[WKWebView _initialContentOffsetForScrollView]): Deleted.
(-[WKWebView _contentOffsetAdjustedForObscuredInset:]): Deleted.
(-[WKWebView _effectiveObscuredInsetEdgesAffectedBySafeArea]): Deleted.
(-[WKWebView _computedObscuredInset]): Deleted.
(-[WKWebView _computedContentInset]): Deleted.
(-[WKWebView _computedUnobscuredSafeAreaInset]): Deleted.
(-[WKWebView _processWillSwapOrDidExit]): Deleted.
(-[WKWebView _processWillSwap]): Deleted.
(-[WKWebView _processDidExit]): Deleted.
(-[WKWebView _didRelaunchProcess]): Deleted.
(-[WKWebView _didCommitLoadForMainFrame]): Deleted.
(contentOffsetBoundedInValidRange): Deleted.
(changeContentOffsetBoundedInValidRange): Deleted.
(-[WKWebView visibleRectInViewCoordinates]): Deleted.
(areEssentiallyEqualAsFloat): Deleted.
(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]): Deleted.
(-[WKWebView _didCommitLayerTree:]): Deleted.
(-[WKWebView _layerTreeCommitComplete]): Deleted.
(-[WKWebView _couldNotRestorePageState]): Deleted.
(-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]): Deleted.
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]): Deleted.
(-[WKWebView _takeViewSnapshot]): Deleted.
(-[WKWebView _zoomToPoint:atScale:animated:]): Deleted.
(-[WKWebView _zoomToRect:atScale:origin:animated:]): Deleted.
(constrainContentOffset): Deleted.
(-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]): Deleted.
(-[WKWebView _scrollToRect:origin:minimumScrollDistance:]): Deleted.
(-[WKWebView _zoomOutWithOrigin:animated:]): Deleted.
(-[WKWebView _zoomToInitialScaleWithOrigin:animated:]): Deleted.
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]): Deleted.
(-[WKWebView _initialScaleFactor]): Deleted.
(-[WKWebView _contentZoomScale]): Deleted.
(-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]): Deleted.
(-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]): Deleted.
(-[WKWebView didMoveToWindow]): Deleted.
(-[WKWebView _setOpaqueInternal:]): Deleted.
(-[WKWebView setOpaque:]): Deleted.
(-[WKWebView setBackgroundColor:]): Deleted.
(-[WKWebView _allowsDoubleTapGestures]): Deleted.
(-[WKWebView _stylusTapGestureShouldCreateEditableImage]): Deleted.
(-[WKWebView usesStandardContentView]): Deleted.
(-[WKWebView scrollView:contentSizeForZoomScale:withProposedSize:]): Deleted.
(-[WKWebView viewForZoomingInScrollView:]): Deleted.
(-[WKWebView scrollViewWillBeginZooming:withView:]): Deleted.
(-[WKWebView scrollViewWillBeginDragging:]): Deleted.
(-[WKWebView _didFinishScrolling]): Deleted.
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Deleted.
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]): Deleted.
(-[WKWebView scrollViewDidEndDecelerating:]): Deleted.
(-[WKWebView scrollViewDidScrollToTop:]): Deleted.
(-[WKWebView _scrollView:adjustedOffsetForOffset:translation:startPoint:locationInView:horizontalVelocity:verticalVelocity:]): Deleted.
(-[WKWebView scrollViewDidScroll:]): Deleted.
(-[WKWebView scrollViewDidZoom:]): Deleted.
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]): Deleted.
(-[WKWebView scrollViewDidEndScrollingAnimation:]): Deleted.
(-[WKWebView _scrollViewDidInterruptDecelerating:]): Deleted.
(-[WKWebView _enclosingViewForExposedRectComputation]): Deleted.
(-[WKWebView _visibleRectInEnclosingView:]): Deleted.
(-[WKWebView _visibleContentRect]): Deleted.
(-[WKWebView _didScroll]): Deleted.
(-[WKWebView _enclosingScrollerScrollingEnded:]): Deleted.
(-[WKWebView _scrollViewSystemContentInset]): Deleted.
(-[WKWebView activeViewLayoutSize:]): Deleted.
(-[WKWebView _dispatchSetViewLayoutSize:]): Deleted.
(-[WKWebView _dispatchSetMaximumUnobscuredSize:]): Deleted.
(-[WKWebView _dispatchSetDeviceOrientation:]): Deleted.
(-[WKWebView _frameOrBoundsChanged]): Deleted.
(-[WKWebView _contentRectForUserInteraction]): Deleted.
(-[WKWebView _scrollViewIsRubberBanding]): Deleted.
(-[WKWebView safeAreaInsetsDidChange]): Deleted.
(-[WKWebView _scheduleVisibleContentRectUpdate]): Deleted.
(-[WKWebView _scrollViewIsInStableState:]): Deleted.
(-[WKWebView _addUpdateVisibleContentRectPreCommitHandler]): Deleted.
(-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]): Deleted.
(scrollViewCanScroll): Deleted.
(-[WKWebView _contentBoundsExtendedForRubberbandingWithScale:]): Deleted.
(-[WKWebView _updateVisibleContentRects]): Deleted.
(-[WKWebView _didStartProvisionalLoadForMainFrame]): Deleted.
(activeMaximumUnobscuredSize): Deleted.
(activeOrientation): Deleted.
(-[WKWebView _cancelAnimatedResize]): Deleted.
(-[WKWebView _didCompleteAnimatedResize]): Deleted.
(-[WKWebView _didFinishLoadForMainFrame]): Deleted.
(-[WKWebView _didFailLoadForMainFrame]): Deleted.
(-[WKWebView _didSameDocumentNavigationForMainFrame:]): Deleted.
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]): Deleted.
(-[WKWebView _shouldUpdateKeyboardWithInfo:]): Deleted.
(-[WKWebView _keyboardWillChangeFrame:]): Deleted.
(-[WKWebView _keyboardDidChangeFrame:]): Deleted.
(-[WKWebView _keyboardWillShow:]): Deleted.
(-[WKWebView _keyboardDidShow:]): Deleted.
(-[WKWebView _keyboardWillHide:]): Deleted.
(-[WKWebView _windowDidRotate:]): Deleted.
(-[WKWebView _contentSizeCategoryDidChange:]): Deleted.
(-[WKWebView _contentSizeCategory]): Deleted.
(-[WKWebView _accessibilitySettingsDidChange:]): Deleted.
(-[WKWebView _isNavigationSwipeGestureRecognizer:]): Deleted.
(-[WKWebView _navigationGestureDidBegin]): Deleted.
(-[WKWebView _navigationGestureDidEnd]): Deleted.
(-[WKWebView _showPasswordViewWithDocumentName:passwordHandler:]): Deleted.
(-[WKWebView _hidePasswordView]): Deleted.
(-[WKWebView _passwordView]): Deleted.
(-[WKWebView _updateScrollViewInsetAdjustmentBehavior]): Deleted.
(-[WKWebView _setAvoidsUnsafeArea:]): Deleted.
(-[WKWebView _haveSetObscuredInsets]): Deleted.
(-[WKWebView acceptsFirstResponder]): Deleted.
(-[WKWebView viewWillStartLiveResize]): Deleted.
(-[WKWebView viewDidEndLiveResize]): Deleted.
(-[WKWebView isFlipped]): Deleted.
(-[WKWebView intrinsicContentSize]): Deleted.
(-[WKWebView prepareContentInRect:]): Deleted.
(-[WKWebView setFrameSize:]): Deleted.
(-[WKWebView _web_grantDOMPasteAccess]): Deleted.
(-[WKWebView _prepareForImmediateActionAnimation]): Deleted.
(-[WKWebView _cancelImmediateActionAnimation]): Deleted.
(-[WKWebView _completeImmediateActionAnimation]): Deleted.
(-[WKWebView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): Deleted.
(-[WKWebView writeSelectionToPasteboard:types:]): Deleted.
(-[WKWebView centerSelectionInVisibleArea:]): Deleted.
(-[WKWebView validRequestorForSendType:returnType:]): Deleted.
(-[WKWebView readSelectionFromPasteboard:]): Deleted.
(-[WKWebView changeFont:]): Deleted.
(-[WKWebView changeColor:]): Deleted.
(-[WKWebView changeAttributes:]): Deleted.
(-[WKWebView startSpeaking:]): Deleted.
(-[WKWebView stopSpeaking:]): Deleted.
(-[WKWebView showGuessPanel:]): Deleted.
(-[WKWebView checkSpelling:]): Deleted.
(-[WKWebView changeSpelling:]): Deleted.
(-[WKWebView toggleContinuousSpellChecking:]): Deleted.
(-[WKWebView isGrammarCheckingEnabled]): Deleted.
(-[WKWebView setGrammarCheckingEnabled:]): Deleted.
(-[WKWebView toggleGrammarChecking:]): Deleted.
(-[WKWebView toggleAutomaticSpellingCorrection:]): Deleted.
(-[WKWebView orderFrontSubstitutionsPanel:]): Deleted.
(-[WKWebView toggleSmartInsertDelete:]): Deleted.
(-[WKWebView isAutomaticQuoteSubstitutionEnabled]): Deleted.
(-[WKWebView setAutomaticQuoteSubstitutionEnabled:]): Deleted.
(-[WKWebView toggleAutomaticQuoteSubstitution:]): Deleted.
(-[WKWebView isAutomaticDashSubstitutionEnabled]): Deleted.
(-[WKWebView setAutomaticDashSubstitutionEnabled:]): Deleted.
(-[WKWebView toggleAutomaticDashSubstitution:]): Deleted.
(-[WKWebView isAutomaticLinkDetectionEnabled]): Deleted.
(-[WKWebView setAutomaticLinkDetectionEnabled:]): Deleted.
(-[WKWebView toggleAutomaticLinkDetection:]): Deleted.
(-[WKWebView isAutomaticTextReplacementEnabled]): Deleted.
(-[WKWebView setAutomaticTextReplacementEnabled:]): Deleted.
(-[WKWebView toggleAutomaticTextReplacement:]): Deleted.
(-[WKWebView uppercaseWord:]): Deleted.
(-[WKWebView lowercaseWord:]): Deleted.
(-[WKWebView capitalizeWord:]): Deleted.
(-[WKWebView _wantsKeyDownForEvent:]): Deleted.
(-[WKWebView scrollWheel:]): Deleted.
(-[WKWebView swipeWithEvent:]): Deleted.
(-[WKWebView mouseMoved:]): Deleted.
(-[WKWebView mouseDown:]): Deleted.
(-[WKWebView mouseUp:]): Deleted.
(-[WKWebView mouseDragged:]): Deleted.
(-[WKWebView mouseEntered:]): Deleted.
(-[WKWebView mouseExited:]): Deleted.
(-[WKWebView otherMouseDown:]): Deleted.
(-[WKWebView otherMouseDragged:]): Deleted.
(-[WKWebView otherMouseUp:]): Deleted.
(-[WKWebView rightMouseDown:]): Deleted.
(-[WKWebView rightMouseDragged:]): Deleted.
(-[WKWebView rightMouseUp:]): Deleted.
(-[WKWebView pressureChangeWithEvent:]): Deleted.
(-[WKWebView acceptsFirstMouse:]): Deleted.
(-[WKWebView shouldDelayWindowOrderingForEvent:]): Deleted.
(-[WKWebView doCommandBySelector:]): Deleted.
(-[WKWebView insertText:]): Deleted.
(-[WKWebView insertText:replacementRange:]): Deleted.
(-[WKWebView inputContext]): Deleted.
(-[WKWebView performKeyEquivalent:]): Deleted.
(-[WKWebView keyUp:]): Deleted.
(-[WKWebView keyDown:]): Deleted.
(-[WKWebView flagsChanged:]): Deleted.
(-[WKWebView setMarkedText:selectedRange:replacementRange:]): Deleted.
(-[WKWebView unmarkText]): Deleted.
(-[WKWebView selectedRange]): Deleted.
(-[WKWebView hasMarkedText]): Deleted.
(-[WKWebView markedRange]): Deleted.
(-[WKWebView attributedSubstringForProposedRange:actualRange:]): Deleted.
(-[WKWebView characterIndexForPoint:]): Deleted.
(-[WKWebView typingAttributesWithCompletionHandler:]): Deleted.
(-[WKWebView firstRectForCharacterRange:actualRange:]): Deleted.
(-[WKWebView selectedRangeWithCompletionHandler:]): Deleted.
(-[WKWebView markedRangeWithCompletionHandler:]): Deleted.
(-[WKWebView hasMarkedTextWithCompletionHandler:]): Deleted.
(-[WKWebView attributedSubstringForProposedRange:completionHandler:]): Deleted.
(-[WKWebView firstRectForCharacterRange:completionHandler:]): Deleted.
(-[WKWebView characterIndexForPoint:completionHandler:]): Deleted.
(-[WKWebView validAttributesForMarkedText]): Deleted.
(-[WKWebView draggedImage:endedAt:operation:]): Deleted.
(-[WKWebView draggingEntered:]): Deleted.
(-[WKWebView draggingUpdated:]): Deleted.
(-[WKWebView draggingExited:]): Deleted.
(-[WKWebView prepareForDragOperation:]): Deleted.
(-[WKWebView performDragOperation:]): Deleted.
(-[WKWebView _hitTest:dragTypes:]): Deleted.
(-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]): Deleted.
(-[WKWebView viewWillMoveToWindow:]): Deleted.
(-[WKWebView viewDidMoveToWindow]): Deleted.
(-[WKWebView drawRect:]): Deleted.
(-[WKWebView isOpaque]): Deleted.
(-[WKWebView mouseDownCanMoveWindow]): Deleted.
(-[WKWebView viewDidHide]): Deleted.
(-[WKWebView viewDidUnhide]): Deleted.
(-[WKWebView viewDidChangeBackingProperties]): Deleted.
(-[WKWebView _activeSpaceDidChange:]): Deleted.
(-[WKWebView accessibilityFocusedUIElement]): Deleted.
(-[WKWebView accessibilityHitTest:]): Deleted.
(-[WKWebView accessibilityAttributeValue:]): Deleted.
(-[WKWebView accessibilityAttributeValue:forParameter:]): Deleted.
(-[WKWebView hitTest:]): Deleted.
(-[WKWebView conversationIdentifier]): Deleted.
(-[WKWebView quickLookWithEvent:]): Deleted.
(-[WKWebView addTrackingRect:owner:userData:assumeInside:]): Deleted.
(-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Deleted.
(-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Deleted.
(-[WKWebView removeTrackingRect:]): Deleted.
(-[WKWebView _removeTrackingRects:count:]): Deleted.
(-[WKWebView view:stringForToolTip:point:userData:]): Deleted.
(-[WKWebView pasteboardChangedOwner:]): Deleted.
(-[WKWebView pasteboard:provideDataForType:]): Deleted.
(-[WKWebView namesOfPromisedFilesDroppedAtDestination:]): Deleted.
(-[WKWebView wantsUpdateLayer]): Deleted.
(-[WKWebView updateLayer]): Deleted.
(-[WKWebView smartMagnifyWithEvent:]): Deleted.
(-[WKWebView magnifyWithEvent:]): Deleted.
(-[WKWebView rotateWithEvent:]): Deleted.
(-[WKWebView _usePlatformFindUI]): Deleted.
(-[WKWebView _setUsePlatformFindUI:]): Deleted.
(-[WKWebView _ensureTextFinderClient]): Deleted.
(-[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]): Deleted.
(-[WKWebView replaceMatches:withString:inSelectionOnly:resultCollector:]): Deleted.
(-[WKWebView scrollFindMatchToVisible:]): Deleted.
(-[WKWebView documentContainerView]): Deleted.
(-[WKWebView getSelectedText:]): Deleted.
(-[WKWebView selectFindMatch:completionHandler:]): Deleted.
(-[WKWebView _web_superInputContext]): Deleted.
(-[WKWebView _web_superQuickLookWithEvent:]): Deleted.
(-[WKWebView _web_superSwipeWithEvent:]): Deleted.
(-[WKWebView _web_superMagnifyWithEvent:]): Deleted.
(-[WKWebView _web_superSmartMagnifyWithEvent:]): Deleted.
(-[WKWebView _web_superRemoveTrackingRect:]): Deleted.
(-[WKWebView _web_superAccessibilityAttributeValue:]): Deleted.
(-[WKWebView _web_superDoCommandBySelector:]): Deleted.
(-[WKWebView _web_superPerformKeyEquivalent:]): Deleted.
(-[WKWebView _web_superKeyDown:]): Deleted.
(-[WKWebView _web_superHitTest:]): Deleted.
(-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]): Deleted.
(-[WKWebView _web_prepareForImmediateActionAnimation]): Deleted.
(-[WKWebView _web_cancelImmediateActionAnimation]): Deleted.
(-[WKWebView _web_completeImmediateActionAnimation]): Deleted.
(-[WKWebView _web_didChangeContentSize:]): Deleted.
(-[WKWebView _web_dragDestinationActionForDraggingInfo:]): Deleted.
(-[WKWebView _web_didPerformDragOperation:]): Deleted.
(-[WKWebView _web_dismissContentRelativeChildWindows]): Deleted.
(-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]): Deleted.
(-[WKWebView _web_editorStateDidChange]): Deleted.
(-[WKWebView _web_gestureEventWasNotHandledByWebCore:]): Deleted.
(-[WKWebView filePromiseProvider:fileNameForType:]): Deleted.
(-[WKWebView filePromiseProvider:writePromiseToURL:completionHandler:]): Deleted.
(-[WKWebView draggingSession:sourceOperationMaskForDraggingContext:]): Deleted.
(-[WKWebView draggingSession:endedAtPoint:operation:]): Deleted.
(-[WKWebView makeTouchBar]): Deleted.
(-[WKWebView candidateListTouchBarItem]): Deleted.
(-[WKWebView _web_didAddMediaControlsManager:]): Deleted.
(-[WKWebView _web_didRemoveMediaControlsManager]): Deleted.
(-[WKWebView _interactWithMediaControlsForTesting]): Deleted.
(-[WKWebView _useSystemAppearance]): Deleted.
(-[WKWebView _setUseSystemAppearance:]): Deleted.
(-[WKWebView _pageRefForTransitionToWKWebView]): Deleted.
(-[WKWebView _canChangeFrameLayout:]): Deleted.
(-[WKWebView _tryToSwipeWithEvent:ignoringPinnedState:]): Deleted.
(-[WKWebView _ignoresNonWheelEvents]): Deleted.
(-[WKWebView _setIgnoresNonWheelEvents:]): Deleted.
(-[WKWebView _hasActiveVideoForControlsManager]): Deleted.
(-[WKWebView _dismissContentRelativeChildWindows]): Deleted.
(-[WKWebView _gestureEventWasNotHandledByWebCore:]): Deleted.
(-[WKWebView _disableFrameSizeUpdates]): Deleted.
(-[WKWebView _enableFrameSizeUpdates]): Deleted.
(-[WKWebView _beginDeferringViewInWindowChanges]): Deleted.
(-[WKWebView _endDeferringViewInWindowChanges]): Deleted.
(-[WKWebView _endDeferringViewInWindowChangesSync]): Deleted.
(-[WKWebView _fullScreenPlaceholderView]): Deleted.
(-[WKWebView _fullScreenWindow]): Deleted.
(-[WKWebView _underlayColor]): Deleted.
(-[WKWebView _setUnderlayColor:]): Deleted.
(-[WKWebView _setCustomSwipeViews:]): Deleted.
(-[WKWebView _setCustomSwipeViewsTopContentInset:]): Deleted.
(-[WKWebView _setDidMoveSwipeSnapshotCallback:]): Deleted.
(-[WKWebView _setFrame:andScrollBy:]): Deleted.
(-[WKWebView _setTotalHeightOfBanners:]): Deleted.
(-[WKWebView _totalHeightOfBanners]): Deleted.
(-[WKWebView _setShouldSuppressFirstResponderChanges:]): Deleted.
(-[WKWebView _setFont:sender:]): Deleted.
(-[WKWebView _setFontSize:sender:]): Deleted.
(-[WKWebView _setTextColor:sender:]): Deleted.
(-[WKWebView _requestActivatedElementAtPosition:completionBlock:]): Deleted.
(-[WKWebView _contentVisibleRect]): Deleted.
(-[WKWebView _convertPointFromContentsToView:]): Deleted.
(-[WKWebView _convertPointFromViewToContents:]): Deleted.
(-[WKWebView didStartFormControlInteraction]): Deleted.
(-[WKWebView didEndFormControlInteraction]): Deleted.
(-[WKWebView _uiTextCaretRect]): Deleted.
(-[WKWebView _accessibilityRetrieveRectsAtSelectionOffset:withText:completionHandler:]): Deleted.
(-[WKWebView _accessibilityStoreSelection]): Deleted.
(-[WKWebView _accessibilityClearSelection]): Deleted.
(-[WKWebView _contentViewIsFirstResponder]): Deleted.
(-[WKWebView _retainActiveFocusedState]): Deleted.
(-[WKWebView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]): Deleted.
(-[WKWebView _snapshotLayerContentsForBackForwardListItem:]): Deleted.
(-[WKWebView _dataDetectionResults]): Deleted.
(-[WKWebView _accessibilityRetrieveSpeakSelectionContent]): Deleted.
(-[WKWebView _accessibilityDidGetSpeakSelectionContent:]): Deleted.
(-[WKWebView _safeBrowsingWarning]): Deleted.
(-[WKWebView _doAfterNextStablePresentationUpdate:]): Deleted.
(-[WKWebView _detectDataWithTypes:completionHandler:]): Deleted.
(-[WKWebView removeFromSuperview]): Deleted.
(-[WKWebView _minimumLayoutSizeOverride]): Deleted.
(-[WKWebView _setViewLayoutSizeOverride:]): Deleted.
(-[WKWebView _obscuredInsets]): Deleted.
(-[WKWebView _setObscuredInsets:]): Deleted.
(-[WKWebView _obscuredInsetEdgesAffectedBySafeArea]): Deleted.
(-[WKWebView _setObscuredInsetEdgesAffectedBySafeArea:]): Deleted.
(-[WKWebView _unobscuredSafeAreaInsets]): Deleted.
(-[WKWebView _setUnobscuredSafeAreaInsets:]): Deleted.
(-[WKWebView _safeAreaShouldAffectObscuredInsets]): Deleted.
(-[WKWebView _setInterfaceOrientationOverride:]): Deleted.
(-[WKWebView _interfaceOrientationOverride]): Deleted.
(-[WKWebView _clearInterfaceOrientationOverride]): Deleted.
(-[WKWebView _maximumUnobscuredSizeOverride]): Deleted.
(-[WKWebView _setMaximumUnobscuredSizeOverride:]): Deleted.
(-[WKWebView _setAllowsViewportShrinkToFit:]): Deleted.
(-[WKWebView _allowsViewportShrinkToFit]): Deleted.
(-[WKWebView _beginInteractiveObscuredInsetsChange]): Deleted.
(-[WKWebView _endInteractiveObscuredInsetsChange]): Deleted.
(-[WKWebView _hideContentUntilNextUpdate]): Deleted.
(-[WKWebView _beginAnimatedResizeWithUpdates:]): Deleted.
(-[WKWebView _endAnimatedResize]): Deleted.
(-[WKWebView _resizeWhileHidingContentWithUpdates:]): Deleted.
(-[WKWebView _firePresentationUpdateForPendingStableStatePresentationCallbacks]): Deleted.
(-[WKWebView _setOverlaidAccessoryViewsInset:]): Deleted.
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): Deleted.
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]): Deleted.
(-[WKWebView _clearOverrideLayoutParameters]): Deleted.
(viewportArgumentsFromDictionary): Deleted.
(-[WKWebView _overrideViewportWithArguments:]): Deleted.
(-[WKWebView _viewForFindUI]): Deleted.
(-[WKWebView _isDisplayingPDF]): Deleted.
(-[WKWebView _dataForDisplayedPDF]): Deleted.
(-[WKWebView _suggestedFilenameForDisplayedPDF]): Deleted.
(-[WKWebView _webViewPrintFormatter]): Deleted.
(toUserInterfaceLayoutDirection): Deleted.
(-[WKWebView setSemanticContentAttribute:]): Deleted.
(-[WKWebView _drawsBackground]): Deleted.
(-[WKWebView _setDrawsBackground:]): Deleted.
(-[WKWebView _backgroundColor]): Deleted.
(-[WKWebView _setBackgroundColor:]): Deleted.
(-[WKWebView _setDrawsTransparentBackground:]): Deleted.
(-[WKWebView _inspectorAttachmentView]): Deleted.
(-[WKWebView _setInspectorAttachmentView:]): Deleted.
(-[WKWebView _setOverlayScrollbarStyle:]): Deleted.
(-[WKWebView _overlayScrollbarStyle]): Deleted.
(-[WKWebView _windowOcclusionDetectionEnabled]): Deleted.
(-[WKWebView _setWindowOcclusionDetectionEnabled:]): Deleted.
(-[WKWebView shareSheetDidDismiss:]): Deleted.
(-[WKWebView _setOverrideDeviceScaleFactor:]): Deleted.
(-[WKWebView _overrideDeviceScaleFactor]): Deleted.
(-[WKWebView _setTopContentInset:]): Deleted.
(-[WKWebView _topContentInset]): Deleted.
(-[WKWebView _pageExtendedBackgroundColor]): Deleted.
(-[WKWebView _pinnedState]): Deleted.
(-[WKWebView _rubberBandingEnabled]): Deleted.
(-[WKWebView _setRubberBandingEnabled:]): Deleted.
(-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]): Deleted.
(-[WKWebView _setAutomaticallyAdjustsContentInsets:]): Deleted.
(-[WKWebView _automaticallyAdjustsContentInsets]): Deleted.
(-[WKWebView _minimumLayoutWidth]): Deleted.
(-[WKWebView _setMinimumLayoutWidth:]): Deleted.
(-[WKWebView _shouldExpandContentToViewHeightForAutoLayout]): Deleted.
(-[WKWebView _setShouldExpandContentToViewHeightForAutoLayout:]): Deleted.
(-[WKWebView _alwaysShowsHorizontalScroller]): Deleted.
(-[WKWebView _setAlwaysShowsHorizontalScroller:]): Deleted.
(-[WKWebView _alwaysShowsVerticalScroller]): Deleted.
(-[WKWebView _setAlwaysShowsVerticalScroller:]): Deleted.
(-[WKWebView _printOperationWithPrintInfo:]): Deleted.
(-[WKWebView _printOperationWithPrintInfo:forFrame:]): Deleted.
(-[WKWebView setUserInterfaceLayoutDirection:]): Deleted.
(-[WKWebView _wantsMediaPlaybackControlsView]): Deleted.
(-[WKWebView _setWantsMediaPlaybackControlsView:]): Deleted.
(-[WKWebView _mediaPlaybackControlsView]): Deleted.
(-[WKWebView _addMediaPlaybackControlsView:]): Deleted.
(-[WKWebView _removeMediaPlaybackControlsView]): Deleted.
(-[WKWebView _prepareForMoveToWindow:completionHandler:]): Deleted.
(-[WKWebView _setThumbnailView:]): Deleted.
(-[WKWebView _thumbnailView]): Deleted.
(-[WKWebView _setIgnoresAllEvents:]): Deleted.
(-[WKWebView _ignoresAllEvents]): Deleted.
(-[WKWebView _spellCheckerDocumentTag]): Deleted.
(-[WKWebView hasFullScreenWindowController]): Deleted.
(-[WKWebView closeFullScreenWindowController]): Deleted.
(-[WKWebView fullScreenWindowController]): Deleted.
(-[WKWebView validateUserInterfaceItem:]): Deleted.
(-[WKWebView goBack:]): Deleted.
(-[WKWebView goForward:]): Deleted.
(-[WKWebView reload:]): Deleted.
(-[WKWebView reloadFromOrigin:]): Deleted.
(-[WKWebView stopLoading:]): Deleted.
(-[WKWebView _printFormatterClass]): Deleted.
(-[WKWebView _printProvider]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewTesting.mm:
  • UIProcess/API/ios/WKWebViewIOS.h: Copied from Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h.
  • UIProcess/API/ios/WKWebViewIOS.mm: Added.

(deviceOrientationForUIInterfaceOrientation):
(deviceOrientation):
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView layoutSubviews]):
(-[WKWebView _isShowingVideoPictureInPicture]):
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
(-[WKWebView _incrementFocusPreservationCount]):
(-[WKWebView _decrementFocusPreservationCount]):
(-[WKWebView _resetFocusPreservationCount]):
(-[WKWebView _isRetainingActiveFocusedState]):
(-[WKWebView _effectiveAppearanceIsDark]):
(-[WKWebView _effectiveUserInterfaceLevelIsElevated]):
(-[WKWebView _populateArchivedSubviews:]):
(-[WKWebView _isBackground]):
(-[WKWebView browsingContextController]):
(-[WKWebView becomeFirstResponder]):
(-[WKWebView canBecomeFirstResponder]):
(-[WKWebView resignFirstResponder]):
(-[WKWebView canPerformAction:withSender:]):
(-[WKWebView targetForAction:withSender:]):
(-[WKWebView willFinishIgnoringCalloutBarFadeAfterPerformingAction]):
(floorToDevicePixel):
(pointsEqualInDevicePixels):
(roundScrollViewContentSize):
(-[WKWebView _currentContentView]):
(-[WKWebView _contentProviderRegistry]):
(-[WKWebView _selectionGranularity]):
(-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
(-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:data:]):
(-[WKWebView _handleKeyUIEvent:]):
(-[WKWebView _willInvokeUIScrollViewDelegateCallback]):
(-[WKWebView _didInvokeUIScrollViewDelegateCallback]):
(contentZoomScale):
(baseScrollViewBackgroundColor):
(scrollViewBackgroundColor):
(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView _videoControlsManagerDidChange]):
(-[WKWebView _initialContentOffsetForScrollView]):
(-[WKWebView _contentOffsetAdjustedForObscuredInset:]):
(-[WKWebView _effectiveObscuredInsetEdgesAffectedBySafeArea]):
(-[WKWebView _computedObscuredInset]):
(-[WKWebView _computedContentInset]):
(-[WKWebView _computedUnobscuredSafeAreaInset]):
(-[WKWebView _processWillSwapOrDidExit]):
(-[WKWebView _processWillSwap]):
(-[WKWebView _processDidExit]):
(-[WKWebView _didRelaunchProcess]):
(-[WKWebView _didCommitLoadForMainFrame]):
(contentOffsetBoundedInValidRange):
(changeContentOffsetBoundedInValidRange):
(-[WKWebView visibleRectInViewCoordinates]):
(areEssentiallyEqualAsFloat):
(-[WKWebView _didCommitLayerTreeDuringAnimatedResize:]):
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _layerTreeCommitComplete]):
(-[WKWebView _couldNotRestorePageState]):
(-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _zoomToPoint:atScale:animated:]):
(-[WKWebView _zoomToRect:atScale:origin:animated:]):
(constrainContentOffset):
(-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]):
(-[WKWebView _scrollToRect:origin:minimumScrollDistance:]):
(-[WKWebView _zoomOutWithOrigin:animated:]):
(-[WKWebView _zoomToInitialScaleWithOrigin:animated:]):
(-[WKWebView _zoomToFocusRect:selectionRect:insideFixed:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
(-[WKWebView _initialScaleFactor]):
(-[WKWebView _contentZoomScale]):
(-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
(-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView didMoveToWindow]):
(-[WKWebView _setOpaqueInternal:]):
(-[WKWebView setOpaque:]):
(-[WKWebView setBackgroundColor:]):
(-[WKWebView _allowsDoubleTapGestures]):
(-[WKWebView _stylusTapGestureShouldCreateEditableImage]):
(-[WKWebView usesStandardContentView]):
(-[WKWebView scrollView:contentSizeForZoomScale:withProposedSize:]):
(-[WKWebView viewForZoomingInScrollView:]):
(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView scrollViewWillBeginDragging:]):
(-[WKWebView _didFinishScrolling]):
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
(-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
(-[WKWebView scrollViewDidEndDecelerating:]):
(-[WKWebView scrollViewDidScrollToTop:]):
(-[WKWebView _scrollView:adjustedOffsetForOffset:translation:startPoint:locationInView:horizontalVelocity:verticalVelocity:]):
(-[WKWebView scrollViewDidScroll:]):
(-[WKWebView scrollViewDidZoom:]):
(-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
(-[WKWebView scrollViewDidEndScrollingAnimation:]):
(-[WKWebView _scrollViewDidInterruptDecelerating:]):
(-[WKWebView _visibleRectInEnclosingView:]):
(-[WKWebView _visibleContentRect]):
(-[WKWebView _didScroll]):
(-[WKWebView _enclosingScrollerScrollingEnded:]):
(-[WKWebView _scrollViewSystemContentInset]):
(-[WKWebView activeViewLayoutSize:]):
(-[WKWebView _dispatchSetViewLayoutSize:]):
(-[WKWebView _dispatchSetMaximumUnobscuredSize:]):
(-[WKWebView _dispatchSetDeviceOrientation:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _contentRectForUserInteraction]):
(-[WKWebView _scrollViewIsRubberBanding]):
(-[WKWebView safeAreaInsetsDidChange]):
(-[WKWebView _scheduleVisibleContentRectUpdate]):
(-[WKWebView _scrollViewIsInStableState:]):
(-[WKWebView _addUpdateVisibleContentRectPreCommitHandler]):
(-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]):
(scrollViewCanScroll):
(-[WKWebView _contentBoundsExtendedForRubberbandingWithScale:]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _didStartProvisionalLoadForMainFrame]):
(activeMaximumUnobscuredSize):
(activeOrientation):
(-[WKWebView _cancelAnimatedResize]):
(-[WKWebView _didCompleteAnimatedResize]):
(-[WKWebView _didFinishLoadForMainFrame]):
(-[WKWebView _didFailLoadForMainFrame]):
(-[WKWebView _didSameDocumentNavigationForMainFrame:]):
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
(-[WKWebView _shouldUpdateKeyboardWithInfo:]):
(-[WKWebView _keyboardWillChangeFrame:]):
(-[WKWebView _keyboardDidChangeFrame:]):
(-[WKWebView _keyboardWillShow:]):
(-[WKWebView _keyboardDidShow:]):
(-[WKWebView _keyboardWillHide:]):
(-[WKWebView _windowDidRotate:]):
(-[WKWebView _contentSizeCategoryDidChange:]):
(-[WKWebView _accessibilitySettingsDidChange:]):
(-[WKWebView _contentSizeCategory]):
(-[WKWebView _isNavigationSwipeGestureRecognizer:]):
(-[WKWebView _navigationGestureDidBegin]):
(-[WKWebView _navigationGestureDidEnd]):
(-[WKWebView _showPasswordViewWithDocumentName:passwordHandler:]):
(-[WKWebView _hidePasswordView]):
(-[WKWebView _passwordView]):
(-[WKWebView _updateScrollViewInsetAdjustmentBehavior]):
(-[WKWebView _setAvoidsUnsafeArea:]):
(-[WKWebView _haveSetObscuredInsets]):
(-[WKWebView removeFromSuperview]):
(-[WKWebView _firePresentationUpdateForPendingStableStatePresentationCallbacks]):
(toUserInterfaceLayoutDirection):
(-[WKWebView setSemanticContentAttribute:]):
(-[WKWebView _contentVisibleRect]):
(-[WKWebView _minimumLayoutSizeOverride]):
(-[WKWebView _setViewLayoutSizeOverride:]):
(-[WKWebView _maximumUnobscuredSizeOverride]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
(-[WKWebView _obscuredInsets]):
(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _obscuredInsetEdgesAffectedBySafeArea]):
(-[WKWebView _setObscuredInsetEdgesAffectedBySafeArea:]):
(-[WKWebView _unobscuredSafeAreaInsets]):
(-[WKWebView _setUnobscuredSafeAreaInsets:]):
(-[WKWebView _safeAreaShouldAffectObscuredInsets]):
(-[WKWebView _enclosingViewForExposedRectComputation]):
(-[WKWebView _setInterfaceOrientationOverride:]):
(-[WKWebView _interfaceOrientationOverride]):
(-[WKWebView _clearInterfaceOrientationOverride]):
(-[WKWebView _setAllowsViewportShrinkToFit:]):
(-[WKWebView _allowsViewportShrinkToFit]):
(-[WKWebView _isDisplayingPDF]):
(-[WKWebView _dataForDisplayedPDF]):
(-[WKWebView _suggestedFilenameForDisplayedPDF]):
(-[WKWebView _webViewPrintFormatter]):
(-[WKWebView _dragInteractionPolicy]):
(-[WKWebView _setDragInteractionPolicy:]):
(-[WKWebView _shouldAvoidResizingWhenInputViewBoundsChange]):
(-[WKWebView _contentViewIsFirstResponder]):
(-[WKWebView _uiTextCaretRect]):
(-[WKWebView _safeBrowsingWarning]):
(-[WKWebView _convertPointFromContentsToView:]):
(-[WKWebView _convertPointFromViewToContents:]):
(-[WKWebView _doAfterNextStablePresentationUpdate:]):
(-[WKWebView _setFont:sender:]):
(-[WKWebView _setFontSize:sender:]):
(-[WKWebView _setTextColor:sender:]):
(-[WKWebView _detectDataWithTypes:completionHandler:]):
(-[WKWebView _requestActivatedElementAtPosition:completionBlock:]):
(-[WKWebView didStartFormControlInteraction]):
(-[WKWebView didEndFormControlInteraction]):
(-[WKWebView _beginInteractiveObscuredInsetsChange]):
(-[WKWebView _endInteractiveObscuredInsetsChange]):
(-[WKWebView _hideContentUntilNextUpdate]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
(-[WKWebView _clearOverrideLayoutParameters]):
(viewportArgumentsFromDictionary):
(-[WKWebView _overrideViewportWithArguments:]):
(-[WKWebView _viewForFindUI]):
(-[WKWebView _setOverlaidAccessoryViewsInset:]):
(-[WKWebView _retainActiveFocusedState]):
(-[WKWebView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]):
(-[WKWebView _snapshotLayerContentsForBackForwardListItem:]):
(-[WKWebView _dataDetectionResults]):
(-[WKWebView _accessibilityRetrieveRectsAtSelectionOffset:withText:completionHandler:]):
(-[WKWebView _accessibilityStoreSelection]):
(-[WKWebView _accessibilityClearSelection]):
(-[WKWebView _accessibilityRetrieveSpeakSelectionContent]):
(-[WKWebView _accessibilityDidGetSpeakSelectionContent:]):
(-[WKWebView _fullScreenPlaceholderView]):
(-[WKWebView hasFullScreenWindowController]):
(-[WKWebView closeFullScreenWindowController]):
(-[WKWebView fullScreenWindowController]):
(-[WKWebView _printFormatterClass]):
(-[WKWebView _printProvider]):

  • UIProcess/API/ios/WKWebViewTestingIOS.mm:
  • UIProcess/API/mac/WKView.mm:

(toCoreScrollbarStyle): Deleted.
(toAPIScrollbarStyle): Deleted.

  • UIProcess/API/mac/WKWebViewMac.h: Added.
  • UIProcess/API/mac/WKWebViewMac.mm: Added.

(toAPIScrollbarStyle):
(toCoreScrollbarStyle):
(-[WKWebView acceptsFirstResponder]):
(-[WKWebView becomeFirstResponder]):
(-[WKWebView resignFirstResponder]):
(-[WKWebView viewWillStartLiveResize]):
(-[WKWebView viewDidEndLiveResize]):
(-[WKWebView isFlipped]):
(-[WKWebView intrinsicContentSize]):
(-[WKWebView prepareContentInRect:]):
(-[WKWebView setFrameSize:]):
(-[WKWebView setUserInterfaceLayoutDirection:]):
(-[WKWebView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WKWebView writeSelectionToPasteboard:types:]):
(-[WKWebView centerSelectionInVisibleArea:]):
(-[WKWebView validRequestorForSendType:returnType:]):
(-[WKWebView readSelectionFromPasteboard:]):
(-[WKWebView changeFont:]):
(-[WKWebView changeColor:]):
(-[WKWebView changeAttributes:]):
(-[WKWebView startSpeaking:]):
(-[WKWebView stopSpeaking:]):
(-[WKWebView showGuessPanel:]):
(-[WKWebView checkSpelling:]):
(-[WKWebView changeSpelling:]):
(-[WKWebView toggleContinuousSpellChecking:]):
(-[WKWebView isGrammarCheckingEnabled]):
(-[WKWebView setGrammarCheckingEnabled:]):
(-[WKWebView toggleGrammarChecking:]):
(-[WKWebView toggleAutomaticSpellingCorrection:]):
(-[WKWebView orderFrontSubstitutionsPanel:]):
(-[WKWebView toggleSmartInsertDelete:]):
(-[WKWebView isAutomaticQuoteSubstitutionEnabled]):
(-[WKWebView setAutomaticQuoteSubstitutionEnabled:]):
(-[WKWebView toggleAutomaticQuoteSubstitution:]):
(-[WKWebView isAutomaticDashSubstitutionEnabled]):
(-[WKWebView setAutomaticDashSubstitutionEnabled:]):
(-[WKWebView toggleAutomaticDashSubstitution:]):
(-[WKWebView isAutomaticLinkDetectionEnabled]):
(-[WKWebView setAutomaticLinkDetectionEnabled:]):
(-[WKWebView toggleAutomaticLinkDetection:]):
(-[WKWebView isAutomaticTextReplacementEnabled]):
(-[WKWebView setAutomaticTextReplacementEnabled:]):
(-[WKWebView toggleAutomaticTextReplacement:]):
(-[WKWebView uppercaseWord:]):
(-[WKWebView lowercaseWord:]):
(-[WKWebView capitalizeWord:]):
(-[WKWebView _wantsKeyDownForEvent:]):
(-[WKWebView scrollWheel:]):
(-[WKWebView swipeWithEvent:]):
(-[WKWebView mouseMoved:]):
(-[WKWebView mouseDown:]):
(-[WKWebView mouseUp:]):
(-[WKWebView mouseDragged:]):
(-[WKWebView mouseEntered:]):
(-[WKWebView mouseExited:]):
(-[WKWebView otherMouseDown:]):
(-[WKWebView otherMouseDragged:]):
(-[WKWebView otherMouseUp:]):
(-[WKWebView rightMouseDown:]):
(-[WKWebView rightMouseDragged:]):
(-[WKWebView rightMouseUp:]):
(-[WKWebView pressureChangeWithEvent:]):
(-[WKWebView acceptsFirstMouse:]):
(-[WKWebView shouldDelayWindowOrderingForEvent:]):
(-[WKWebView doCommandBySelector:]):
(-[WKWebView inputContext]):
(-[WKWebView performKeyEquivalent:]):
(-[WKWebView keyUp:]):
(-[WKWebView keyDown:]):
(-[WKWebView flagsChanged:]):
(-[WKWebView setMarkedText:selectedRange:replacementRange:]):
(-[WKWebView unmarkText]):
(-[WKWebView selectedRange]):
(-[WKWebView hasMarkedText]):
(-[WKWebView markedRange]):
(-[WKWebView attributedSubstringForProposedRange:actualRange:]):
(-[WKWebView characterIndexForPoint:]):
(-[WKWebView typingAttributesWithCompletionHandler:]):
(-[WKWebView firstRectForCharacterRange:actualRange:]):
(-[WKWebView selectedRangeWithCompletionHandler:]):
(-[WKWebView markedRangeWithCompletionHandler:]):
(-[WKWebView hasMarkedTextWithCompletionHandler:]):
(-[WKWebView attributedSubstringForProposedRange:completionHandler:]):
(-[WKWebView firstRectForCharacterRange:completionHandler:]):
(-[WKWebView characterIndexForPoint:completionHandler:]):
(-[WKWebView validAttributesForMarkedText]):
(-[WKWebView draggedImage:endedAt:operation:]):
(-[WKWebView draggingEntered:]):
(-[WKWebView draggingUpdated:]):
(-[WKWebView draggingExited:]):
(-[WKWebView prepareForDragOperation:]):
(-[WKWebView performDragOperation:]):
(-[WKWebView _hitTest:dragTypes:]):
(-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
(-[WKWebView viewWillMoveToWindow:]):
(-[WKWebView viewDidMoveToWindow]):
(-[WKWebView drawRect:]):
(-[WKWebView isOpaque]):
(-[WKWebView mouseDownCanMoveWindow]):
(-[WKWebView viewDidHide]):
(-[WKWebView viewDidUnhide]):
(-[WKWebView viewDidChangeBackingProperties]):
(-[WKWebView _activeSpaceDidChange:]):
(-[WKWebView accessibilityFocusedUIElement]):
(-[WKWebView accessibilityHitTest:]):
(-[WKWebView accessibilityAttributeValue:]):
(-[WKWebView accessibilityAttributeValue:forParameter:]):
(-[WKWebView hitTest:]):
(-[WKWebView conversationIdentifier]):
(-[WKWebView quickLookWithEvent:]):
(-[WKWebView addTrackingRect:owner:userData:assumeInside:]):
(-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
(-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
(-[WKWebView removeTrackingRect:]):
(-[WKWebView _removeTrackingRects:count:]):
(-[WKWebView view:stringForToolTip:point:userData:]):
(-[WKWebView pasteboardChangedOwner:]):
(-[WKWebView pasteboard:provideDataForType:]):
(-[WKWebView namesOfPromisedFilesDroppedAtDestination:]):
(-[WKWebView wantsUpdateLayer]):
(-[WKWebView updateLayer]):
(-[WKWebView smartMagnifyWithEvent:]):
(-[WKWebView magnifyWithEvent:]):
(-[WKWebView rotateWithEvent:]):
(-[WKWebView _ensureTextFinderClient]):
(-[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
(-[WKWebView replaceMatches:withString:inSelectionOnly:resultCollector:]):
(-[WKWebView scrollFindMatchToVisible:]):
(-[WKWebView documentContainerView]):
(-[WKWebView getSelectedText:]):
(-[WKWebView selectFindMatch:completionHandler:]):
(-[WKWebView filePromiseProvider:fileNameForType:]):
(-[WKWebView filePromiseProvider:writePromiseToURL:completionHandler:]):
(-[WKWebView draggingSession:sourceOperationMaskForDraggingContext:]):
(-[WKWebView draggingSession:endedAtPoint:operation:]):
(-[WKWebView _prepareForImmediateActionAnimation]):
(-[WKWebView _cancelImmediateActionAnimation]):
(-[WKWebView _completeImmediateActionAnimation]):
(-[WKWebView _setDrawsTransparentBackground:]):
(-[WKWebView shareSheetDidDismiss:]):
(-[WKWebView makeTouchBar]):
(-[WKWebView candidateListTouchBarItem]):
(-[WKWebView _web_didAddMediaControlsManager:]):
(-[WKWebView _web_didRemoveMediaControlsManager]):
(-[WKWebView _interactWithMediaControlsForTesting]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView goBack:]):
(-[WKWebView goForward:]):
(-[WKWebView reload:]):
(-[WKWebView reloadFromOrigin:]):
(-[WKWebView stopLoading:]):
(-[WKWebView _web_superInputContext]):
(-[WKWebView _web_superQuickLookWithEvent:]):
(-[WKWebView _web_superSwipeWithEvent:]):
(-[WKWebView _web_superMagnifyWithEvent:]):
(-[WKWebView _web_superSmartMagnifyWithEvent:]):
(-[WKWebView _web_superRemoveTrackingRect:]):
(-[WKWebView _web_superAccessibilityAttributeValue:]):
(-[WKWebView _web_superDoCommandBySelector:]):
(-[WKWebView _web_superPerformKeyEquivalent:]):
(-[WKWebView _web_superKeyDown:]):
(-[WKWebView _web_superHitTest:]):
(-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
(-[WKWebView _web_prepareForImmediateActionAnimation]):
(-[WKWebView _web_cancelImmediateActionAnimation]):
(-[WKWebView _web_completeImmediateActionAnimation]):
(-[WKWebView _web_didChangeContentSize:]):
(-[WKWebView _web_dragDestinationActionForDraggingInfo:]):
(-[WKWebView _web_didPerformDragOperation:]):
(-[WKWebView _web_dismissContentRelativeChildWindows]):
(-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKWebView _web_editorStateDidChange]):
(-[WKWebView _web_gestureEventWasNotHandledByWebCore:]):
(-[WKWebView _web_grantDOMPasteAccess]):
(-[WKWebView _takeFindStringFromSelectionInternal:]):
(-[WKWebView insertText:]):
(-[WKWebView insertText:replacementRange:]):
(-[WKWebView _pageRefForTransitionToWKWebView]):
(-[WKWebView _hasActiveVideoForControlsManager]):
(-[WKWebView _ignoresNonWheelEvents]):
(-[WKWebView _setIgnoresNonWheelEvents:]):
(-[WKWebView _safeBrowsingWarning]):
(-[WKWebView _pinnedState]):
(-[WKWebView _rubberBandingEnabled]):
(-[WKWebView _setRubberBandingEnabled:]):
(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _backgroundColor]):
(-[WKWebView _setBackgroundColor:]):
(-[WKWebView _underlayColor]):
(-[WKWebView _setUnderlayColor:]):
(-[WKWebView _setTotalHeightOfBanners:]):
(-[WKWebView _totalHeightOfBanners]):
(-[WKWebView _drawsBackground]):
(-[WKWebView _setDrawsBackground:]):
(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
(-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
(-[WKWebView _automaticallyAdjustsContentInsets]):
(-[WKWebView _setOverrideDeviceScaleFactor:]):
(-[WKWebView _overrideDeviceScaleFactor]):
(-[WKWebView _windowOcclusionDetectionEnabled]):
(-[WKWebView _setWindowOcclusionDetectionEnabled:]):
(-[WKWebView _spellCheckerDocumentTag]):
(-[WKWebView _shouldExpandContentToViewHeightForAutoLayout]):
(-[WKWebView _setShouldExpandContentToViewHeightForAutoLayout:]):
(-[WKWebView _minimumLayoutWidth]):
(-[WKWebView _setMinimumLayoutWidth:]):
(-[WKWebView _alwaysShowsHorizontalScroller]):
(-[WKWebView _setAlwaysShowsHorizontalScroller:]):
(-[WKWebView _alwaysShowsVerticalScroller]):
(-[WKWebView _setAlwaysShowsVerticalScroller:]):
(-[WKWebView _useSystemAppearance]):
(-[WKWebView _setUseSystemAppearance:]):
(-[WKWebView _setOverlayScrollbarStyle:]):
(-[WKWebView _overlayScrollbarStyle]):
(-[WKWebView _inspectorAttachmentView]):
(-[WKWebView _setInspectorAttachmentView:]):
(-[WKWebView _setThumbnailView:]):
(-[WKWebView _thumbnailView]):
(-[WKWebView _setIgnoresAllEvents:]):
(-[WKWebView _ignoresAllEvents]):
(-[WKWebView _usePlatformFindUI]):
(-[WKWebView _setUsePlatformFindUI:]):
(-[WKWebView _setShouldSuppressFirstResponderChanges:]):
(-[WKWebView _canChangeFrameLayout:]):
(-[WKWebView _tryToSwipeWithEvent:ignoringPinnedState:]):
(-[WKWebView _dismissContentRelativeChildWindows]):
(-[WKWebView _setFrame:andScrollBy:]):
(-[WKWebView _gestureEventWasNotHandledByWebCore:]):
(-[WKWebView _disableFrameSizeUpdates]):
(-[WKWebView _enableFrameSizeUpdates]):
(-[WKWebView _beginDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChangesSync]):
(-[WKWebView _setCustomSwipeViews:]):
(-[WKWebView _setCustomSwipeViewsTopContentInset:]):
(-[WKWebView _setDidMoveSwipeSnapshotCallback:]):
(-[WKWebView _fullScreenPlaceholderView]):
(-[WKWebView _fullScreenWindow]):
(-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKWebView _printOperationWithPrintInfo:]):
(-[WKWebView _printOperationWithPrintInfo:forFrame:]):
(-[WKWebView _wantsMediaPlaybackControlsView]):
(-[WKWebView _setWantsMediaPlaybackControlsView:]):
(-[WKWebView _mediaPlaybackControlsView]):
(-[WKWebView _addMediaPlaybackControlsView:]):
(-[WKWebView _removeMediaPlaybackControlsView]):
(-[WKWebView _prepareForMoveToWindow:completionHandler:]):

  • UIProcess/API/mac/WKWebViewTestingMac.mm:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/ios/WKContentView.mm:
  • UIProcess/ios/WKContentViewInteraction.mm:
  • UIProcess/ios/WKPDFView.mm:
  • UIProcess/ios/WKScrollView.mm:
  • UIProcess/ios/WKSystemPreviewView.mm:
  • WebKit.xcodeproj/project.pbxproj:
11:17 AM Changeset in webkit [253526] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC][IFC] Fix imported/w3c/web-platform-tests/css/css-text/white-space/break-spaces-003.html
https://bugs.webkit.org/show_bug.cgi?id=205237
<rdar://problem/57940108>

Reviewed by Antti Koivisto.

"white-space: break-spaces" : A line breaking opportunity exists after every preserved white space character,
including between white space characters.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::LineBreaker::Content::isAtSoftWrapOpportunity):

11:00 AM Changeset in webkit [253525] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][IFC] Rename LineBreaker::Content::isAtContentBoundary to isAtSoftWrapOpportunity
https://bugs.webkit.org/show_bug.cgi?id=205235
<rdar://problem/57939955>

Reviewed by Antti Koivisto.

The "soft wrap opportunity" is closer to the spec term.

  • layout/inlineformatting/InlineLineBreaker.cpp:

(WebCore::Layout::endsWithSoftWrapOpportunity):
(WebCore::Layout::LineBreaker::Content::isAtSoftWrapOpportunity):
(WebCore::Layout::LineBreaker::Content::append):
(WebCore::Layout::endsWithBreakingOpportunity): Deleted.
(WebCore::Layout::LineBreaker::Content::isAtContentBoundary): Deleted.

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

(WebCore::Layout::LineLayoutContext::placeInlineItem):

6:12 AM Changeset in webkit [253524] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC][IFC] Add support for white-space: break-spaces
https://bugs.webkit.org/show_bug.cgi?id=205234
<rdar://problem/57938253>

Reviewed by Antti Koivisto.

"For break-spaces, a soft wrap opportunity exists after every space and every tab."
There are a few different ways to deal with breakable whitespace content.
The current approach is to split them into individual InlineTextItems so that
line breaking sees them as individual runs so that it never needs to split them in
case of overflow.

  • layout/inlineformatting/InlineTextItem.cpp:

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

  • layout/inlineformatting/text/TextUtil.cpp:

(WebCore::Layout::TextUtil::shouldPreserveTrailingWhitespace):

5:03 AM Changeset in webkit [253523] by ddkilzer@apple.com
  • 11 edits in trunk/Source

Add release assert for selectedIndex in WebKit::WebPopupMenu::show()
<https://webkit.org/b/205223>
<rdar://problem/57929078>

Reviewed by Wenson Hsieh.

Source/WebCore:

  • platform/PopupMenu.h:

(WebCore::PopupMenu::show):

  • Rename index parameter to selectedIndex.

Source/WebKit:

  • WebProcess/WebCoreSupport/WebPopupMenu.cpp:

(WebKit::WebPopupMenu::show):

  • Add release assert to check for valid selectedIndex to fix the bug.
  • Rename index parameter to selectedIndex.
  • WebProcess/WebCoreSupport/WebPopupMenu.h:

(WebKit::WebPopupMenu::show):

  • Rename index parameter to selectedIndex.

Source/WebKitLegacy/ios:

  • WebCoreSupport/PopupMenuIOS.h:

(PopupMenuIOS::show):

  • Rename index parameter to selectedIndex.
  • WebCoreSupport/PopupMenuIOS.mm:

(PopupMenuIOS::show):

  • Rename index parameter to selectedIndex.

(PopupMenuIOS::disconnectClient):

  • Drive-by fix to change 0 to nullptr.

Source/WebKitLegacy/mac:

  • WebCoreSupport/PopupMenuMac.h:

(PopupMenuMac::show):

  • Rename index parameter to selectedIndex.
  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

  • Rename index parameter to selectedIndex.
4:47 AM Changeset in webkit [253522] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

[LFC][IFC] Add text-indent support
https://bugs.webkit.org/show_bug.cgi?id=205231
<rdar://problem/57932746>

Reviewed by Antti Koivisto.

This property specifies the indentation applied to lines of inline content in a block.
The indent is treated as a margin applied to the start edge of the line box.

  • layout/inlineformatting/InlineFormattingContext.cpp:

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

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

(WebCore::Layout::InlineFormattingContext::Geometry::computedTextIndent const):

  • layout/inlineformatting/InlineFormattingContextQuirks.cpp:

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

  • layout/inlineformatting/LineLayoutContext.cpp:

(WebCore::Layout::LineLayoutContext::placeInlineItem):

Note: See TracTimeline for information about the timeline view.