Timeline
Dec 3, 2017:
- 10:26 PM Changeset in webkit [225471] by
-
- 3 edits in trunk/Source/WTF
Build fails on x86_64 and arm64 with BMalloc disabled
https://bugs.webkit.org/show_bug.cgi?id=180188
Reviewed by Carlos Garcia Campos.
Add missing methods in WTF's Gigacage.h and fix g_gigacageBasePtr
definition.
- wtf/Gigacage.cpp:
- wtf/Gigacage.h:
(Gigacage::basePtr):
(Gigacage::isEnabled):
- 10:13 PM Changeset in webkit [225470] by
-
- 71 edits1 add in trunk
WTF shouldn't have both Thread and ThreadIdentifier
https://bugs.webkit.org/show_bug.cgi?id=180308
Reviewed by Darin Adler.
Source/JavaScriptCore:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStacks):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_trace_operand):
(JSC::LLInt::llint_trace_value):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::traceFunctionPrologue):
- runtime/ExceptionScope.cpp:
(JSC::ExceptionScope::unexpectedExceptionMessage):
- runtime/JSLock.h:
(JSC::JSLock::currentThreadIsHoldingLock):
- runtime/VM.cpp:
(JSC::VM::throwException):
- runtime/VM.h:
(JSC::VM::throwingThread const):
(JSC::VM::clearException):
- tools/HeapVerifier.cpp:
(JSC::HeapVerifier::printVerificationHeader):
Source/WebCore:
No behavior change.
- Modules/indexeddb/IDBActiveDOMObject.h:
(WebCore::IDBActiveDOMObject::originThread const):
(WebCore::IDBActiveDOMObject::performCallbackOnOriginThread):
(WebCore::IDBActiveDOMObject::callFunctionOnOriginThread):
(WebCore::IDBActiveDOMObject::originThreadID const): Deleted.
- Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::IDBCursor):
(WebCore::IDBCursor::~IDBCursor):
(WebCore::IDBCursor::sourcesDeleted const):
(WebCore::IDBCursor::transaction const):
(WebCore::IDBCursor::update):
(WebCore::IDBCursor::advance):
(WebCore::IDBCursor::continueFunction):
(WebCore::IDBCursor::uncheckedIterateCursor):
(WebCore::IDBCursor::deleteFunction):
(WebCore::IDBCursor::setGetResult):
- Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::hasPendingActivity const):
(WebCore::IDBDatabase::name const):
(WebCore::IDBDatabase::version const):
(WebCore::IDBDatabase::objectStoreNames const):
(WebCore::IDBDatabase::renameObjectStore):
(WebCore::IDBDatabase::renameIndex):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::transaction):
(WebCore::IDBDatabase::deleteObjectStore):
(WebCore::IDBDatabase::close):
(WebCore::IDBDatabase::connectionToServerLost):
(WebCore::IDBDatabase::maybeCloseInServer):
(WebCore::IDBDatabase::activeDOMObjectName const):
(WebCore::IDBDatabase::canSuspendForDocumentSuspension const):
(WebCore::IDBDatabase::stop):
(WebCore::IDBDatabase::startVersionChangeTransaction):
(WebCore::IDBDatabase::didStartTransaction):
(WebCore::IDBDatabase::willCommitTransaction):
(WebCore::IDBDatabase::didCommitTransaction):
(WebCore::IDBDatabase::willAbortTransaction):
(WebCore::IDBDatabase::didAbortTransaction):
(WebCore::IDBDatabase::didCommitOrAbortTransaction):
(WebCore::IDBDatabase::fireVersionChangeEvent):
(WebCore::IDBDatabase::dispatchEvent):
(WebCore::IDBDatabase::didCreateIndexInfo):
(WebCore::IDBDatabase::didDeleteIndexInfo):
- Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::~IDBIndex):
(WebCore::IDBIndex::name const):
(WebCore::IDBIndex::setName):
(WebCore::IDBIndex::objectStore):
(WebCore::IDBIndex::keyPath const):
(WebCore::IDBIndex::unique const):
(WebCore::IDBIndex::multiEntry const):
(WebCore::IDBIndex::rollbackInfoForVersionChangeAbort):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::doCount):
(WebCore::IDBIndex::doGet):
(WebCore::IDBIndex::doGetKey):
(WebCore::IDBIndex::getAll):
(WebCore::IDBIndex::getAllKeys):
(WebCore::IDBIndex::markAsDeleted):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::~IDBObjectStore):
(WebCore::IDBObjectStore::name const):
(WebCore::IDBObjectStore::setName):
(WebCore::IDBObjectStore::keyPath const):
(WebCore::IDBObjectStore::indexNames const):
(WebCore::IDBObjectStore::transaction):
(WebCore::IDBObjectStore::autoIncrement const):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::openKeyCursor):
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::getKey):
(WebCore::IDBObjectStore::putOrAdd):
(WebCore::IDBObjectStore::doDelete):
(WebCore::IDBObjectStore::clear):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::deleteIndex):
(WebCore::IDBObjectStore::doCount):
(WebCore::IDBObjectStore::getAll):
(WebCore::IDBObjectStore::getAllKeys):
(WebCore::IDBObjectStore::markAsDeleted):
(WebCore::IDBObjectStore::rollbackForVersionChangeAbort):
- Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::~IDBOpenDBRequest):
(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::versionChangeTransactionDidFinish):
(WebCore::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):
(WebCore::IDBOpenDBRequest::dispatchEvent):
(WebCore::IDBOpenDBRequest::onSuccess):
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::onDeleteDatabaseSuccess):
(WebCore::IDBOpenDBRequest::requestCompleted):
(WebCore::IDBOpenDBRequest::requestBlocked):
- Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::~IDBRequest):
(WebCore:: const):
(WebCore::IDBRequest::setSource):
(WebCore::IDBRequest::setVersionChangeTransaction):
(WebCore::IDBRequest::transaction const):
(WebCore::IDBRequest::sourceObjectStoreIdentifier const):
(WebCore::IDBRequest::sourceIndexIdentifier const):
(WebCore::IDBRequest::requestedObjectStoreRecordType const):
(WebCore::IDBRequest::requestedIndexRecordType const):
(WebCore::IDBRequest::eventTargetInterface const):
(WebCore::IDBRequest::activeDOMObjectName const):
(WebCore::IDBRequest::canSuspendForDocumentSuspension const):
(WebCore::IDBRequest::hasPendingActivity const):
(WebCore::IDBRequest::stop):
(WebCore::IDBRequest::enqueueEvent):
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
(WebCore::IDBRequest::setResult):
(WebCore::IDBRequest::setResultToStructuredClone):
(WebCore::IDBRequest::setResultToUndefined):
(WebCore::IDBRequest::resultCursor):
(WebCore::IDBRequest::willIterateCursor):
(WebCore::IDBRequest::didOpenOrIterateCursor):
(WebCore::IDBRequest::completeRequestAndDispatchEvent):
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
- Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::~IDBTransaction):
(WebCore::IDBTransaction::objectStoreNames const):
(WebCore::IDBTransaction::db):
(WebCore::IDBTransaction::error const):
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBTransaction::transitionedToFinishing):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::internalAbort):
(WebCore::IDBTransaction::abortOnServerAndCancelRequests):
(WebCore::IDBTransaction::activeDOMObjectName const):
(WebCore::IDBTransaction::canSuspendForDocumentSuspension const):
(WebCore::IDBTransaction::hasPendingActivity const):
(WebCore::IDBTransaction::stop):
(WebCore::IDBTransaction::isActive const):
(WebCore::IDBTransaction::isFinishedOrFinishing const):
(WebCore::IDBTransaction::addRequest):
(WebCore::IDBTransaction::removeRequest):
(WebCore::IDBTransaction::scheduleOperation):
(WebCore::IDBTransaction::schedulePendingOperationTimer):
(WebCore::IDBTransaction::pendingOperationTimerFired):
(WebCore::IDBTransaction::operationCompletedOnServer):
(WebCore::IDBTransaction::scheduleCompletedOperationTimer):
(WebCore::IDBTransaction::completedOperationTimerFired):
(WebCore::IDBTransaction::commit):
(WebCore::IDBTransaction::commitOnServer):
(WebCore::IDBTransaction::finishAbortOrCommit):
(WebCore::IDBTransaction::didStart):
(WebCore::IDBTransaction::notifyDidAbort):
(WebCore::IDBTransaction::didAbort):
(WebCore::IDBTransaction::didCommit):
(WebCore::IDBTransaction::fireOnComplete):
(WebCore::IDBTransaction::fireOnAbort):
(WebCore::IDBTransaction::enqueueEvent):
(WebCore::IDBTransaction::dispatchEvent):
(WebCore::IDBTransaction::createObjectStore):
(WebCore::IDBTransaction::createObjectStoreOnServer):
(WebCore::IDBTransaction::didCreateObjectStoreOnServer):
(WebCore::IDBTransaction::renameObjectStore):
(WebCore::IDBTransaction::renameObjectStoreOnServer):
(WebCore::IDBTransaction::didRenameObjectStoreOnServer):
(WebCore::IDBTransaction::createIndex):
(WebCore::IDBTransaction::createIndexOnServer):
(WebCore::IDBTransaction::didCreateIndexOnServer):
(WebCore::IDBTransaction::renameIndex):
(WebCore::IDBTransaction::renameIndexOnServer):
(WebCore::IDBTransaction::didRenameIndexOnServer):
(WebCore::IDBTransaction::requestOpenCursor):
(WebCore::IDBTransaction::doRequestOpenCursor):
(WebCore::IDBTransaction::openCursorOnServer):
(WebCore::IDBTransaction::didOpenCursorOnServer):
(WebCore::IDBTransaction::iterateCursor):
(WebCore::IDBTransaction::iterateCursorOnServer):
(WebCore::IDBTransaction::didIterateCursorOnServer):
(WebCore::IDBTransaction::requestGetAllObjectStoreRecords):
(WebCore::IDBTransaction::requestGetAllIndexRecords):
(WebCore::IDBTransaction::getAllRecordsOnServer):
(WebCore::IDBTransaction::didGetAllRecordsOnServer):
(WebCore::IDBTransaction::requestGetRecord):
(WebCore::IDBTransaction::requestGetValue):
(WebCore::IDBTransaction::requestGetKey):
(WebCore::IDBTransaction::requestIndexRecord):
(WebCore::IDBTransaction::getRecordOnServer):
(WebCore::IDBTransaction::didGetRecordOnServer):
(WebCore::IDBTransaction::requestCount):
(WebCore::IDBTransaction::getCountOnServer):
(WebCore::IDBTransaction::didGetCountOnServer):
(WebCore::IDBTransaction::requestDeleteRecord):
(WebCore::IDBTransaction::deleteRecordOnServer):
(WebCore::IDBTransaction::didDeleteRecordOnServer):
(WebCore::IDBTransaction::requestClearObjectStore):
(WebCore::IDBTransaction::clearObjectStoreOnServer):
(WebCore::IDBTransaction::didClearObjectStoreOnServer):
(WebCore::IDBTransaction::requestPutOrAdd):
(WebCore::IDBTransaction::putOrAddOnServer):
(WebCore::IDBTransaction::didPutOrAddOnServer):
(WebCore::IDBTransaction::deleteObjectStore):
(WebCore::IDBTransaction::deleteObjectStoreOnServer):
(WebCore::IDBTransaction::didDeleteObjectStoreOnServer):
(WebCore::IDBTransaction::deleteIndex):
(WebCore::IDBTransaction::deleteIndexOnServer):
(WebCore::IDBTransaction::didDeleteIndexOnServer):
(WebCore::IDBTransaction::operationCompletedOnClient):
(WebCore::IDBTransaction::establishOnServer):
(WebCore::IDBTransaction::activate):
(WebCore::IDBTransaction::deactivate):
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::removeItemsMatchingCurrentThread):
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::~TransactionOperation):
(WebCore::IDBClient::TransactionOperation::perform):
(WebCore::IDBClient::TransactionOperation::transitionToCompleteOnThisThread):
(WebCore::IDBClient::TransactionOperation::transitionToComplete):
(WebCore::IDBClient::TransactionOperation::doComplete):
(WebCore::IDBClient::TransactionOperation::originThread const):
(WebCore::IDBClient::TransactionOperation::originThreadID const): Deleted.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::lock):
(WebCore::AudioContext::tryLock):
(WebCore::AudioContext::unlock):
(WebCore::AudioContext::isAudioThread const):
(WebCore::AudioContext::isGraphOwner const):
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::setAudioThread):
(WebCore::AudioContext::audioThread const):
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::render):
- Modules/webdatabase/Database.cpp:
(WebCore::Database::performClose):
(WebCore::Database::securityOrigin):
- Modules/webdatabase/DatabaseDetails.h:
(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::operator=):
(WebCore::DatabaseDetails::thread const):
(WebCore::DatabaseDetails::threadID const): Deleted.
- Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::detailsForNameAndOrigin):
- Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::databaseThread):
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
- Modules/webdatabase/DatabaseThread.h:
(WebCore::DatabaseThread::getThread):
(WebCore::DatabaseThread::getThreadID): Deleted.
- Modules/webdatabase/SQLTransaction.cpp:
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
- Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::doCleanup):
(WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
- bindings/js/JSCallbackData.h:
(WebCore::JSCallbackData::JSCallbackData):
(WebCore::JSCallbackData::~JSCallbackData):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
- dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):
- page/ResourceUsageOverlay.h:
- page/scrolling/ScrollingThread.cpp:
(WebCore::ScrollingThread::isCurrentThread):
- platform/Supplementable.h:
(WebCore::Supplementable::provideSupplement):
(WebCore::Supplementable::removeSupplement):
(WebCore::Supplementable::requireSupplement):
(WebCore::Supplementable::Supplementable): Deleted.
- platform/Timer.cpp:
(WebCore::TimerBase::TimerBase):
(WebCore::TimerBase::start):
(WebCore::TimerBase::stop):
(WebCore::TimerBase::setNextFireTime):
- platform/Timer.h:
(WebCore::TimerBase::isActive const):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::shouldAutoActivateFontIfNeeded):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::activateOnCompositingThread):
(WebCore::TextureMapperPlatformLayerProxy::invalidate):
(WebCore::TextureMapperPlatformLayerProxy::getAvailableBuffer):
(WebCore::TextureMapperPlatformLayerProxy::appendToUnusedBuffers):
(WebCore::TextureMapperPlatformLayerProxy::swapBuffer):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
(): Deleted.
- platform/ios/wak/WebCoreThread.mm:
(RunWebThread):
(StartWebThread):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::open):
(WebCore::SQLiteDatabase::close):
- platform/sql/SQLiteDatabase.h:
(WebCore::SQLiteDatabase::sqlite3Handle const):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
(WebCore::WorkerGlobalScope::isContextThread const):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
- workers/WorkerRunLoop.cpp:
(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):
- workers/WorkerThread.h:
(WebCore::WorkerThread::thread const):
(WebCore::WorkerThread::threadID const): Deleted.
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::~ServiceWorkerContainer):
(WebCore::ServiceWorkerContainer::scheduleJob):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::scheduleTaskToFireUpdateFoundEvent):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::startScriptFetchForJob):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::jobDidFinish):
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::removeRegistration):
(WebCore::ServiceWorkerContainer::scheduleTaskToFireControllerChangeEvent):
(WebCore::ServiceWorkerContainer::contextIdentifier):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::~ServiceWorkerJob):
(WebCore::ServiceWorkerJob::failedWithException):
(WebCore::ServiceWorkerJob::resolvedWithRegistration):
(WebCore::ServiceWorkerJob::resolvedWithUnregistrationResult):
(WebCore::ServiceWorkerJob::startScriptFetch):
(WebCore::ServiceWorkerJob::fetchScriptWithContext):
(WebCore::ServiceWorkerJob::didReceiveResponse):
(WebCore::ServiceWorkerJob::notifyFinished):
- workers/service/ServiceWorkerJob.h:
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::matchFunc):
(WebCore::openFunc):
(WebCore::initializeXMLParser):
(WebCore::XMLParserContext::createStringParser):
(WebCore::XMLParserContext::createMemoryParser):
Source/WebKit:
- UIProcess/API/glib/IconDatabase.cpp:
- UIProcess/GenericCallback.h:
(WebKit::GenericCallback::~GenericCallback):
(WebKit::GenericCallback::performCallbackWithReturnValue):
Source/WTF:
We should use a pointer of WTF::Thread instead of ThreadIdentifier.
One problem is that Windows support library uses WTF::createThread,
which returns ThreadIdentifier. So we cannot drop ThreadIdentifier
in Windows environment. This patch keeps ThreadIdentifier in Windows.
- wtf/MainThread.cpp:
(WTF::initializeMainThread):
(WTF::isMainThread):
(WTF::canAccessThreadLocalDataForThread):
- wtf/MainThread.h:
- wtf/ParkingLot.cpp:
(WTF::ParkingLot::parkConditionallyImpl):
(WTF::ParkingLot::unparkOne):
(WTF::ParkingLot::unparkOneImpl):
(WTF::ParkingLot::unparkCount):
- wtf/RecursiveLockAdapter.h:
(WTF::RecursiveLockAdapter::lock):
(WTF::RecursiveLockAdapter::unlock):
(WTF::RecursiveLockAdapter::tryLock):
- wtf/Threading.cpp:
(WTF::Thread::dump const):
- wtf/Threading.h:
(WTF::Thread::id const):
(WTF::Thread::operator==): Deleted.
(WTF::Thread::operator!=): Deleted.
(WTF::currentThread): Deleted.
- wtf/ThreadingPrimitives.h:
- wtf/ThreadingPthreads.cpp:
(WTF::Thread::waitForCompletion):
(WTF::Thread::detach):
(WTF::Thread::initializeCurrentTLS):
(WTF::Thread::suspend):
(WTF::Thread::establishPlatformSpecificHandle):
(WTF::Thread::currentID): Deleted.
- wtf/ThreadingWin.cpp:
(WTF::Thread::waitForCompletion):
(WTF::Thread::suspend):
(WTF::Thread::currentDying):
- wtf/mac/MainThreadMac.mm:
(WTF::initializeApplicationUIThread):
(WTF::initializeWebThreadPlatform):
(WTF::canAccessThreadLocalDataForThread):
(WTF::initializeApplicationUIThreadIdentifier): Deleted.
(WTF::initializeWebThreadIdentifier): Deleted.
Tools:
- DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree):
(runThread): Deleted.
(runPthread): Deleted.
(testThreadIdentifierMap): Deleted.
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
- TestWebKitAPI/Tests/WTF/Threading.cpp: Added.
(TestWebKitAPI::TEST):
- 9:40 PM Changeset in webkit [225469] by
-
- 2 edits in trunk/Source/WebCore
WebSocketChannel should ensure its client is live when calling it in error case
https://bugs.webkit.org/show_bug.cgi?id=180285
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-03
Reviewed by Darin Adler.
No observable change of behavior.
This makes it consistent with other calls of didReceiveMessageError.
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail):
- 7:34 PM Changeset in webkit [225468] by
-
- 2 edits in trunk/Source/WebCore
WebArchiveResourceWebResourceHandler leaks when pasting
https://bugs.webkit.org/show_bug.cgi?id=180339
Reviewed by Joseph Pecoraro.
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::attributesForAttributedStringConversion):
- 6:15 PM Changeset in webkit [225467] by
-
- 17 edits1 move17 adds37 deletes in trunk/LayoutTests
Re-sync Service Workers web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=180336
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Re-sync Service Workers web-platform-tests from upstream 6df98083a2be.
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/resources/unregister-controlling-worker.html: Added.
- web-platform-tests/service-workers/service-worker/about-blank-replacement.https-expected.txt: Added.
- web-platform-tests/service-workers/service-worker/about-blank-replacement.https.html: Added.
- web-platform-tests/service-workers/service-worker/activation.https.html:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-partial-stream.https-expected.txt: Added.
- web-platform-tests/service-workers/service-worker/fetch-event-respond-with-partial-stream.https.html: Added.
- web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:
- web-platform-tests/service-workers/service-worker/foreign-fetch-basics.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/foreign-fetch-basics.https.html: Removed.
- web-platform-tests/service-workers/service-worker/foreign-fetch-cors.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/foreign-fetch-cors.https.html: Removed.
- web-platform-tests/service-workers/service-worker/foreign-fetch-event.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/foreign-fetch-event.https.html: Removed.
- web-platform-tests/service-workers/service-worker/foreign-fetch-workers.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/foreign-fetch-workers.https.html: Removed.
- web-platform-tests/service-workers/service-worker/iframe-sandbox-register-link-element.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/iframe-sandbox-register-link-element.https.html: Removed.
- web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt:
- web-platform-tests/service-workers/service-worker/link-element-register-basic.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-basic.https.html: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-mime-types.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-mime-types.https.html: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-scope.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-scope.https.html: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-script-url.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-script-url.https.html: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-script.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-script.https.html: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-security-error.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/link-element-register-security-error.https.html: Removed.
- web-platform-tests/service-workers/service-worker/navigation-preload/empty-preload-response-body.https-expected.txt:
- web-platform-tests/service-workers/service-worker/navigation-preload/resources/empty-preload-response-body-scope.html: Added.
- web-platform-tests/service-workers/service-worker/register-foreign-fetch-errors.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/register-foreign-fetch-errors.https.html: Removed.
- web-platform-tests/service-workers/service-worker/register-link-header.https-expected.txt: Removed.
- web-platform-tests/service-workers/service-worker/register-link-header.https.html: Removed.
- web-platform-tests/service-workers/service-worker/registration-iframe.https.html:
- web-platform-tests/service-workers/service-worker/registration-updateviacache.https-expected.txt:
- web-platform-tests/service-workers/service-worker/registration-updateviacache.https.html:
- web-platform-tests/service-workers/service-worker/resource-timing.https-expected.txt:
- web-platform-tests/service-workers/service-worker/resource-timing.https.html:
- web-platform-tests/service-workers/service-worker/resources/about-blank-replacement-frame.py: Added.
(main):
- web-platform-tests/service-workers/service-worker/resources/about-blank-replacement-ping-frame.py: Added.
(main):
- web-platform-tests/service-workers/service-worker/resources/about-blank-replacement-popup-frame.py: Added.
(main):
- web-platform-tests/service-workers/service-worker/resources/about-blank-replacement-uncontrolled-nested-frame.html: Added.
- web-platform-tests/service-workers/service-worker/resources/about-blank-replacement-worker.js: Added.
(async.getClientByURL):
(async.pingPong.waitForPong.return.new.Promise):
(async.pingPong.waitForPong):
(async.pingPong):
(async.evt.url.searchParams):
(async.evt.evt.respondWith.async):
(evt.evt.waitUntil.async):
- web-platform-tests/service-workers/service-worker/resources/clients-get-worker.js:
(self.onfetch):
- web-platform-tests/service-workers/service-worker/resources/empty.js: Added.
- web-platform-tests/service-workers/service-worker/resources/fetch-event-respond-with-partial-stream-worker.js: Added.
(evt.evt.request.url.includes):
- web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js:
(handleClientId):
- web-platform-tests/service-workers/service-worker/resources/foreign-fetch-cors-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/foreign-fetch-event-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/foreign-fetch-helper-iframe.html: Removed.
- web-platform-tests/service-workers/service-worker/resources/foreign-fetch-helper-script.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/foreign-fetch-helper-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/foreign-fetch-helpers.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/foreign-fetch-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/iframe-register-link-element.html: Removed.
- web-platform-tests/service-workers/service-worker/resources/install-worker-helper.html: Removed.
- web-platform-tests/service-workers/service-worker/resources/interfaces-idls.js:
- web-platform-tests/service-workers/service-worker/resources/link-header.py: Removed.
- web-platform-tests/service-workers/service-worker/resources/register-foreign-fetch-errors-worker.js: Removed.
- web-platform-tests/service-workers/service-worker/resources/resource-timing-iframe.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/resource-timing-iframe.html.
- web-platform-tests/service-workers/service-worker/resources/sandboxed-iframe-fetch-event-iframe.html: Added.
- web-platform-tests/service-workers/service-worker/resources/sandboxed-iframe-fetch-event-worker.js: Added.
(event.waitUntil.self.clients.matchAll.then):
- web-platform-tests/service-workers/service-worker/resources/sandboxed-iframe-navigator-serviceworker-iframe.html: Added.
- web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js:
- web-platform-tests/service-workers/service-worker/resources/w3c-import.log:
- web-platform-tests/service-workers/service-worker/sandboxed-iframe-fetch-event.https-expected.txt: Added.
- web-platform-tests/service-workers/service-worker/sandboxed-iframe-fetch-event.https.html: Added.
- web-platform-tests/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https-expected.txt: Added.
- web-platform-tests/service-workers/service-worker/sandboxed-iframe-navigator-serviceworker.https.html: Added.
- web-platform-tests/service-workers/service-worker/service-worker-csp-connect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/service-worker-csp-default.https-expected.txt:
- web-platform-tests/service-workers/service-worker/service-worker-csp-script.https-expected.txt:
- web-platform-tests/service-workers/service-worker/w3c-import.log:
LayoutTests:
Skip new tests that are timing out and remove entries for tests
that were removed.
- TestExpectations:
- tests-options.json:
- 4:28 PM Changeset in webkit [225466] by
-
- 2 edits in trunk/Tools
webkitpy EWS keeps retrying a failing patch
https://bugs.webkit.org/show_bug.cgi?id=180302
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._test_patch): Instead of returning false, call report_failure()
which raises an exception, this exception is catched by earlywarningsystem.py and
it posts a comment on bugzilla. Returning false simply unlocks the patch and returns
it to the queue.
- 3:08 PM Changeset in webkit [225465] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark imported/w3c/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html as flaky
- 3:00 PM Changeset in webkit [225464] by
-
- 6 edits in trunk/Source/JavaScriptCore
Rename DestroyFunc to avoid redefinition on unified build
https://bugs.webkit.org/show_bug.cgi?id=180335
Reviewed by Filip Pizlo.
Changing DestroyFunc structures to more specific names to avoid
conflits on unified builds.
- heap/HeapCellType.cpp:
(JSC::HeapCellType::finishSweep):
(JSC::HeapCellType::destroy):
- runtime/JSDestructibleObjectHeapCellType.cpp:
(JSC::JSDestructibleObjectHeapCellType::finishSweep):
(JSC::JSDestructibleObjectHeapCellType::destroy):
- runtime/JSSegmentedVariableObjectHeapCellType.cpp:
(JSC::JSSegmentedVariableObjectHeapCellType::finishSweep):
(JSC::JSSegmentedVariableObjectHeapCellType::destroy):
- runtime/JSStringHeapCellType.cpp:
(JSC::JSStringHeapCellType::finishSweep):
(JSC::JSStringHeapCellType::destroy):
- wasm/js/JSWebAssemblyCodeBlockHeapCellType.cpp:
(JSC::JSWebAssemblyCodeBlockHeapCellType::finishSweep):
(JSC::JSWebAssemblyCodeBlockHeapCellType::destroy):
- 2:48 PM Changeset in webkit [225463] by
-
- 14 edits1 copy1 add in trunk
Add WTF::Hasher, an easier to use replacement for WTF::IntegerHasher
https://bugs.webkit.org/show_bug.cgi?id=180318
Reviewed by JF Bastien.
Source/WTF:
- WTF.xcodeproj/project.pbxproj: Added Hasher.h.
- wtf/CMakeLists.txt: Ditto.
- wtf/Forward.h: Added Hasher and TextStream.
- wtf/Hasher.h: Moved StringHasher into a separate header. Added Hasher.
Marked IntegerHasher deprecated.
- wtf/text/CString.cpp: Include StringHasher.h instead of Hasher.h.
- wtf/text/StringHash.h: Ditto.
- wtf/text/StringHasher.h: Added. Moved StringHasher here from Hasher.h.
- wtf/text/StringImpl.h: Include StringHasher.h instead of Hasher.h.
- wtf/text/WTFString.h: Added a hash function. This was useful in some
adoption I was doing in WebCore, not included in this patch.
- wtf/unicode/UTF8.cpp: Include StringHasher.h instead of Hasher.h.
Tools:
- TestWebKitAPI/CMakeLists.txt: Added Hasher.cpp.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
- TestWebKitAPI/Tests/WTF/Hasher.cpp: Added. Contains tests of the new
WTF::Hasher class.
- TestWebKitAPI/Tests/WTF/StringHasher.cpp: Include StringHasher.h instead of
Hasher.h.
- 2:24 PM Changeset in webkit [225462] by
-
- 20 edits in trunk
Support serviceWorker.postMessage() inside service workers
https://bugs.webkit.org/show_bug.cgi?id=180328
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now passing.
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https-expected.txt:
Source/WebCore:
Support serviceWorker.postMessage() inside service workers.
No new tests, unskipped and rebaselined existing test that is
now passing.
- workers/service/SWClientConnection.h:
- workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::postMessage):
- workers/service/context/SWContextManager.cpp:
(WebCore::SWContextManager::postMessageToServiceWorker):
- workers/service/context/SWContextManager.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::fireMessageEvent):
(WebCore::ServiceWorkerThread::postMessageToServiceWorker):
- workers/service/context/ServiceWorkerThread.h:
Source/WebKit:
Support serviceWorker.postMessage() inside service workers.
- StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::postMessageToServiceWorkerFromClient):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerFromServiceWorker):
- StorageProcess/ServiceWorker/WebSWServerConnection.h:
- StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::postMessageToServiceWorker):
- WebProcess/Storage/WebSWClientConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerFromClient):
(WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerFromServiceWorker):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
LayoutTests:
Unskip WPT test that no longer times out.
- 1:34 PM Changeset in webkit [225461] by
-
- 13 edits in trunk/LayoutTests
Unreviewed, unskip / rebaseline a few web platform tests.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https-expected.txt:
- web-platform-tests/service-workers/service-worker/clients-matchall-on-evaluation.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt:
- web-platform-tests/service-workers/service-worker/fetch-request-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/postmessage-to-client.https-expected.txt:
- web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https-expected.txt:
- web-platform-tests/service-workers/service-worker/serviceworker-message-event-historical.https-expected.txt:
- web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https-expected.txt:
- web-platform-tests/service-workers/service-worker/unregister-then-register-new-script.https-expected.txt:
LayoutTests:
- 12:32 PM Changeset in webkit [225460] by
-
- 22 edits in trunk
Implement self.skipWaiting() inside service workers
https://bugs.webkit.org/show_bug.cgi?id=180329
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT tests that are now passing.
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/update.https-expected.txt:
- web-platform-tests/service-workers/service-worker/claim-with-redirect.https-expected.txt:
- web-platform-tests/service-workers/service-worker/postmessage-from-waiting-serviceworker.https-expected.txt:
- web-platform-tests/service-workers/service-worker/skip-waiting-without-client.https-expected.txt:
Source/WebCore:
Implement self.skipWaiting() inside service workers:
Also fixes a bug where tryActivate() was calling activate() even though the
registration's active worker was "in use":
No new tests, rebaselined existing tests.
- workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::skipWaiting):
- workers/service/context/SWContextManager.h:
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::tryActivate):
- workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::skipWaiting):
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::skipWaiting):
- workers/service/server/SWServerWorker.h:
(WebCore::SWServerWorker::isSkipWaitingFlagSet const):
Source/WebKit:
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::didFinishSkipWaiting):
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.h:
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::skipWaiting):
(WebKit::WebSWContextManagerConnection::didFinishSkipWaiting):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
LayoutTests:
- http/tests/workers/service/resources/service-worker-fetch-worker.js:
add self.skipWaiting() now that we properly wait when the registation's
active worker is in use. This is needed because this worker script is
used by http/tests/workers/service/controller-change.html. The
'controllerchange' event is only fired if an active worker is being
replaced while in use due to the waiting worker calling skipWaiting().
- 1:08 AM Changeset in webkit [225459] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] GstPad leaked in WebKitTextCombiner
https://bugs.webkit.org/show_bug.cgi?id=180314
Reviewed by Michael Catanzaro.
gst_element_get_static_pad() returns a full reference that si never freed, because gst_ghost_pad_new doesn't
take the ownership of the given pad.
- platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
(webkit_text_combiner_init):
- 1:07 AM Changeset in webkit [225458] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] GstCaps leaked in MediaPlayerPrivateGStreamer::createGSTPlayBin
https://bugs.webkit.org/show_bug.cgi?id=180311
Reviewed by Michael Catanzaro.
gst_caps_new_empty_simple() is passed directly to g_object_set(). The returned caps should be freed with
gst_caps_unref().
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
Dec 2, 2017:
- 9:32 PM Changeset in webkit [225457] by
-
- 6 edits in trunk/Source/WebCore
Move registration activation and clearing from SWServerJobQueue to SWServerRegistration
https://bugs.webkit.org/show_bug.cgi?id=180325
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-02
Reviewed by Chris Dumez.
No change of behavior.
These algorithms fit naturally in SWServerRegistration and will be used as part of clients.claim.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::clearAll):
(WebCore::SWServer::didFinishActivation):
- workers/service/server/SWServerJobQueue.cpp:
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::didFinishInstall):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::tryActivate): Deleted.
(WebCore::SWServerJobQueue::activate): Deleted.
(WebCore::SWServerJobQueue::didFinishActivation): Deleted.
(WebCore::SWServerJobQueue::tryClearRegistration): Deleted.
(WebCore::clearRegistrationWorker): Deleted.
(WebCore::SWServerJobQueue::clearRegistration): Deleted.
- workers/service/server/SWServerJobQueue.h:
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::tryClear):
(WebCore::clearRegistrationWorker):
(WebCore::SWServerRegistration::clear):
(WebCore::SWServerRegistration::tryActivate):
(WebCore::SWServerRegistration::activate):
(WebCore::SWServerRegistration::didFinishActivation):
- workers/service/server/SWServerRegistration.h:
- 8:17 PM Changeset in webkit [225456] by
-
- 7 edits3 adds in trunk
Support container.register() / registration.unregister() / inside service workers
https://bugs.webkit.org/show_bug.cgi?id=180326
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Rebaseline WPT test that now passes most checks.
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https-expected.txt:
Source/WebCore:
Support container.register() / registration.unregister() / inside service workers.
This is mostly about removing the is<Document>() checks and adding testing given
that most of the work was done in r225455.
Test: http/tests/workers/service/ServiceWorkerGlobalScope_register.html
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::addRegistration):
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::update):
(WebCore::ServiceWorkerRegistration::unregister):
LayoutTests:
Unskip test for registration.unregister() that now passes.
- http/tests/workers/service/ServiceWorkerGlobalScope_register-expected.txt: Added.
- http/tests/workers/service/ServiceWorkerGlobalScope_register.html: Added.
- http/tests/workers/service/resources/ServiceWorkerGlobalScope_register-worker.js: Added.
Add test coverage for container.register().
- 6:32 PM Changeset in webkit [225455] by
-
- 14 edits3 adds in trunk
Support serviceWorkerRegistration.update() inside service workers
https://bugs.webkit.org/show_bug.cgi?id=180215
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline WPT test that no longer times out. The test still fails even
though we support update(). The issue is that the second frame load
uses the new worker (because of the update()) instead of the old one.
The test seems to expect that the new service worker is still in
waiting state at the point the second frame is loaded. However, for us
it is already activated.
- web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/update.https-expected.txt:
Source/WebCore:
Support serviceWorkerRegistration.update() inside service workers. The code paths
for job scheduling and resolution have been made thread safe by hopping to the right
thread when necessary. In particular, ServiceWorkerContainer always makes sure to to
a callOnMainThread() before calling methods on the SWClientConnection. Also, the
SWClientConnection relies on a new postTaskTo() method before calling methods on the
job.
Test: http/tests/workers/service/self_registration_update.html
- workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::scheduleJob):
(WebCore::SWClientConnection::finishedFetchingScript):
(WebCore::SWClientConnection::failedFetchingScript):
(WebCore::SWClientConnection::jobRejectedInServer):
(WebCore::SWClientConnection::registrationJobResolvedInServer):
(WebCore::SWClientConnection::unregistrationJobResolvedInServer):
(WebCore::SWClientConnection::startScriptFetchForServer):
(WebCore::SWClientConnection::postMessageToServiceWorkerClient):
(WebCore::SWClientConnection::updateRegistrationState):
(WebCore::SWClientConnection::updateWorkerState):
(WebCore::SWClientConnection::fireUpdateFoundEvent):
(WebCore::SWClientConnection::notifyClientsOfControllerChange):
(WebCore::SWClientConnection::clearPendingJobs):
(WebCore::SWClientConnection::postTaskTo):
- workers/service/SWClientConnection.h:
- workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::scheduleJob):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::scheduleTaskToFireUpdateFoundEvent):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::startScriptFetchForJob):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::jobDidFinish):
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::removeRegistration):
(WebCore::ServiceWorkerContainer::scheduleTaskToFireControllerChangeEvent):
(WebCore::ServiceWorkerContainer::contextIdentifier):
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerJob.cpp:
(WebCore::ServiceWorkerJob::ServiceWorkerJob):
- workers/service/ServiceWorkerJob.h:
(WebCore::ServiceWorkerJob::contextIdentifier):
- workers/service/ServiceWorkerJobClient.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::update):
- workers/service/ServiceWorkerTypes.h:
LayoutTests:
Add layout test coverage and unskip WPT test that no longer times out.
- TestExpectations:
- http/tests/workers/service/resources/self_registration_update-worker.js: Added.
- http/tests/workers/service/self_registration_update-expected.txt: Added.
- http/tests/workers/service/self_registration_update.html: Added.
- 3:11 PM Changeset in webkit [225454] by
-
- 4 edits in trunk/Source/WebCore
Make IOSurface::Locker and use it in ImageBufferDataCG
https://bugs.webkit.org/show_bug.cgi?id=180317
Reviewed by Zalan Bujtas.
Add an RAII IOSurface::Locker which can lock readonly or readwrite. Access
to the IOSurface base address is through the locker.
Add IOSurface::bytesPerRow() to wrap IOSurfaceGetBytesPerRow().
After this, there is only one location where we access the IOSurfaceRef
directly, in WebGL code.
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::toBGRAData const):
(WebCore::ImageBufferData::getData const):
(WebCore::ImageBufferData::putData):
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::bytesPerRow const):
- 12:35 PM Changeset in webkit [225453] by
-
- 17 edits in trunk/Source/WebCore
Add an AlphaPremultiplication enum and use it consistently
https://bugs.webkit.org/show_bug.cgi?id=180316
Reviewed by Zalan Bujtas.
ImageBuffer-related code sometimes used the 'Multiply' enum, and sometimes
a bool to represent alpha premultiplication. Make an enum class and use it
everywhere. Re-order and rename some parameters to clarify the meaning of this
argument.
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::putImageData):
- platform/graphics/GraphicsTypes.cpp:
(WebCore::operator<<):
- platform/graphics/GraphicsTypes.h:
- platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::genericConvertToLuminanceMask):
- platform/graphics/ImageBuffer.h:
- platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::blurShadowBuffer):
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::getImageData):
(WebCore::ImageBuffer::getUnmultipliedImageData const):
(WebCore::ImageBuffer::getPremultipliedImageData const):
(WebCore::ImageBuffer::putByteArray):
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::getUnmultipliedImageData const):
(WebCore::ImageBuffer::getPremultipliedImageData const):
(WebCore::ImageBuffer::putByteArray):
- platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData const):
(WebCore::ImageBufferData::putData):
- platform/graphics/cg/ImageBufferDataCG.h:
- platform/graphics/filters/FEColorMatrix.cpp:
(WebCore::FEColorMatrix::platformApplySoftware):
- platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::platformApplySoftware):
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::imageBufferResult):
- platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::getData const):
(WebCore::ImageBufferData::putData):
- platform/graphics/win/ImageBufferDataDirect2D.h:
- platform/graphics/win/ImageBufferDirect2D.cpp:
(WebCore::ImageBuffer::getUnmultipliedImageData const):
(WebCore::ImageBuffer::getPremultipliedImageData const):
(WebCore::ImageBuffer::putByteArray):
- 11:41 AM Changeset in webkit [225452] by
-
- 23 edits2 copies3 adds in trunk
Implement https://w3c.github.io/ServiceWorker/#clients-getall
https://bugs.webkit.org/show_bug.cgi?id=180276
Patch by Youenn Fablet <youenn@apple.com> on 2017-12-02
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/service-workers/cache-storage/serviceworker/credentials.https-expected.txt:
- web-platform-tests/service-workers/service-worker/navigate-window.https-expected.txt:
Source/WebCore:
Test: http/tests/workers/service/serviceworkerclients-matchAll.https.html
Move Clients QueryOptions to its own class since it is used by various parties.
Add encoder/decoder routines.
Add a ServieWorkerClientInformation which replaces SWServer::ClientInformation structure.
This is what is sent back as a result to matchAll requests.
Add encoder/decoder routines.
Implement matchAll by hopping to the main thread, making IPC to the storage process.
SWServer in storage process then iterates through the relevant service workers and does some filtering.
Additional filtering and information should be gathered in future patches to fully implement the algorithm.
Add to SWServer a HashMap to easily identify by which service worker a client is controlled, if any.
This map is updated at the same time registrations are updated.
matchAll is given a callback as in the future, window client information will be retrieved asynchronously.
- WebCore.xcodeproj/project.pbxproj:
- workers/service/ServiceWorkerClientInformation.h: Added.
(WebCore::ServiceWorkerClientInformation::isolatedCopy const):
(WebCore::ServiceWorkerClientInformation::encode const):
(WebCore::ServiceWorkerClientInformation::decode):
- workers/service/ServiceWorkerClientQueryOptions.h: Added.
(WebCore::ServiceWorkerClientQueryOptions::encode const):
(WebCore::ServiceWorkerClientQueryOptions::decode):
- workers/service/ServiceWorkerClients.cpp:
(WebCore::ServiceWorkerClients::matchAll):
- workers/service/ServiceWorkerClients.h:
- workers/service/context/SWContextManager.h:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::matchAll):
(WebCore::SWServer::registerServiceWorkerClient):
- workers/service/server/SWServer.h:
- workers/service/server/SWServerToContextConnection.cpp:
(WebCore::SWServerToContextConnection::matchAll):
- workers/service/server/SWServerToContextConnection.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::matchAll):
- workers/service/server/SWServerWorker.h:
Source/WebKit:
Add IPC plumbery for clients.matchAll between ServiceWorker process and Storage process.
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::matchAllCompleted):
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.h:
- StorageProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::matchAll):
(WebKit::WebSWContextManagerConnection::matchAllCompleted):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/Storage/WebSWContextManagerConnection.messages.in:
LayoutTests:
- http/tests/workers/service/serviceworkerclients-matchAll-worker.js: Added.
- http/tests/workers/service/serviceworkerclients-matchAll.https-expected.txt: Added.
- http/tests/workers/service/serviceworkerclients-matchAll.https.html: Added.
- 10:41 AM Changeset in webkit [225451] by
-
- 2 edits in trunk/Source/WebKit
Remote Web Inspector window always shows up at the default size
https://bugs.webkit.org/show_bug.cgi?id=180284
<rdar://problem/35430255>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-12-02
Reviewed by Brian Burg.
- UIProcess/mac/RemoteWebInspectorProxyMac.mm:
(WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
Give remote web inspector windows an autosave name so that their frame can
be automatically saved and restored by the system.
- 10:00 AM Changeset in webkit [225450] by
-
- 6 edits2 adds in trunk/Source
Factor out the "databaseTaskQueue" parts of IDBServer into something reusable.
https://bugs.webkit.org/show_bug.cgi?id=180298
Reviewed by Chris Dumez.
Source/WebCore:
No new tests (Refactor only).
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::IDBServer):
(WebCore::IDBServer::IDBServer::postDatabaseTask):
(WebCore::IDBServer::IDBServer::postDatabaseTaskReply):
(WebCore::IDBServer::IDBServer::databaseRunLoop): Deleted.
(WebCore::IDBServer::IDBServer::handleTaskRepliesOnMainThread): Deleted.
- Modules/indexeddb/server/IDBServer.h:
(): Deleted.
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/CrossThreadTaskHandler.cpp: Added.
(WTF::CrossThreadTaskHandler::CrossThreadTaskHandler):
(WTF::CrossThreadTaskHandler::~CrossThreadTaskHandler):
(WTF::CrossThreadTaskHandler::postTask):
(WTF::CrossThreadTaskHandler::postTaskReply):
(WTF::CrossThreadTaskHandler::taskRunLoop):
(WTF::CrossThreadTaskHandler::handleTaskRepliesOnMainThread):
- wtf/CrossThreadTaskHandler.h: Added.
- 9:55 AM Changeset in webkit [225449] by
-
- 14 edits in trunk/Source
Add a log channel for viewports
https://bugs.webkit.org/show_bug.cgi?id=180295
Reviewed by Zalan Bujtas.
Add a "Viewports" log channel to log viewport scaling information, and enhance the
WebKit "VisibleRects" channel to log additional data for the same reason.
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::processViewport):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::finishedParsing):
(WebCore::FrameLoader::completed):
- page/FrameView.cpp:
(WebCore::FrameView::resetScrollbarsAndClearContentsSize):
(WebCore::FrameView::scrollToAnchor):
(WebCore::FrameView::maintainScrollPositionAtAnchor):
(WebCore::FrameView::setScrollPosition):
(WebCore::FrameView::autoSizeIfEnabled):
(WebCore::FrameView::setWasScrolledByUser):
- page/LayoutContext.cpp:
(WebCore::LayoutContext::layout):
- page/Page.cpp:
(WebCore::Page::setPageScaleFactor):
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::setContentsSize):
(WebCore::ViewportConfiguration::setViewportArguments):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::operator<<):
(WebCore::ViewportConfiguration::description const):
(WebCore::ViewportConfiguration::dump const):
- page/ViewportConfiguration.h:
- platform/Logging.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::setFixedLayoutSize):
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]):
(-[WKWebView _dispatchSetMinimumLayoutSize:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setFixedLayoutSize):
(WebKit::WebPage::mainFrameDidLayout):
(WebKit::WebPage::didCommitLoad):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::scaleAfterViewportWidthChange):
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::resetViewportDefaultConfiguration):
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::WebPage::updateVisibleContentRects):
- 7:13 AM Changeset in webkit [225448] by
-
- 7 edits in trunk/Source
WebDriver: handle user prompts shown while executing scripts
https://bugs.webkit.org/show_bug.cgi?id=179979
Reviewed by Brian Burg.
Source/WebDriver:
15.2 Executing Script
https://w3c.github.io/webdriver/webdriver-spec.html#executing-script
The rules to execute a function body are as follows. The algorithm will return success with the JSON
representation of the function’s return value, or an error if the evaluation of the function results in a
JavaScript exception being thrown or at any point during its execution an unhandled user prompt appears.
If at any point during the algorithm a user prompt appears, the user prompt handler must be invoked. If its
return value is an error, it must immediately return with that error and abort all subsequent substeps of this
algorithm.
This will be covered by new WPT tests that will be available after the next upgrade.
- CommandResult.cpp:
(WebDriver::CommandResult::CommandResult): Handle UnexpectedAlertOpen internal error.
- Session.cpp:
(WebDriver::Session::handleUserPrompts): Move code to handleUnexpectedAlertOpen() and call it instead.
(WebDriver::Session::handleUnexpectedAlertOpen): Code moved here to be used also by executeScript().
(WebDriver::Session::executeScript): In case of UnexpectedAlertOpen error, call handleUnexpectedAlertOpen().
- Session.h:
Source/WebKit:
- UIProcess/Automation/Automation.json: Add UnexpectedAlertOpen error.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::willShowJavaScriptDialog): Finish pending evaluateJavaScriptFunction operations
with UnexpectedAlertOpen error.
- 6:56 AM Changeset in webkit [225447] by
-
- 16 edits1 add1 delete in trunk
WebDriver: auto-install pytest instead of importing it from wpt tools directory
https://bugs.webkit.org/show_bug.cgi?id=180243
Reviewed by Brian Burg.
Tools:
We don't really need the (old) version included in wpt tools dir, so we can simply remove it and use autoinstall
instead.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook.find_module): Check pytest.
(AutoinstallImportHook._install_pytest): Install pytest.
- Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Import autoinstalled pytest.
- Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.run): Update the subtest path since the new pytest uses a different strategy for
rootdir.
- Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Import autoinstalled pytest.
WebDriverTests:
- imported/selenium/py/conftest.py: Stop patching this to use yield_fixture, new pytest supports this.
- imported/selenium/py/setup.cfg: Stop patching this, since pytest supports tool:pytest as group name.
- imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py: Stop patching this to use yield_fixture,
new pytest supports this.
- imported/selenium/py/test/selenium/webdriver/common/cookie_tests.py: Ditto.
- imported/selenium/py/test/selenium/webdriver/common/frame_switching_tests.py: Ditto.
- imported/selenium/py/test/selenium/webdriver/common/page_load_timeout_tests.py: Ditto.
- imported/selenium/py/test/selenium/webdriver/common/window_switching_tests.py: Ditto.
- imported/selenium/py/test/selenium/webdriver/safari/conftest.py: Ditto.
- imported/selenium/py/test/selenium/webdriver/support/event_firing_webdriver_tests.py: Ditto.
- imported/w3c/importer.json: Stop importing pytest.
- imported/w3c/pytest.ini: Added.
- imported/w3c/tools/pytest/: Removed.
- 12:47 AM Changeset in webkit [225446] by
-
- 6 edits in trunk/Source/WebKit
Make some minor adjustments to TouchBarMenuData and TouchBarMenuItemData
https://bugs.webkit.org/show_bug.cgi?id=180305
Reviewed by Joseph Pecoraro.
Mark some methods and parameters as const, use the default constructor in more places, and also remove a few
extraneous imported headers.
- Shared/TouchBarMenuData.cpp:
(WebKit::TouchBarMenuData::TouchBarMenuData):
Add a FIXME regarding the use of the 'id' attribute.
(WebKit::TouchBarMenuData::decode):
- Shared/TouchBarMenuData.h:
(WebKit::TouchBarMenuData::items const):
(WebKit::TouchBarMenuData::setID):
(WebKit::TouchBarMenuData::isPageCustomized const):
(WebKit::TouchBarMenuData::items): Deleted.
(WebKit::TouchBarMenuData::isPageCustomized): Deleted.
- Shared/TouchBarMenuItemData.cpp:
(WebKit::getItemType):
Change a helper method from a static class function to a static function in the implementation file.
(WebKit::TouchBarMenuItemData::TouchBarMenuItemData):
(WebKit::TouchBarMenuItemData::encode const):
(WebKit::TouchBarMenuItemData::decode):
(WebKit::TouchBarMenuItemData::getItemType): Deleted.
- Shared/TouchBarMenuItemData.h:
(WebKit::operator==):
Remove the commandName member variable, since it doesn't make sense to propagate an event handler
attribute from WebCore to the client layer.
- UIProcess/WebPageProxy.messages.in: