⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 26, 2017:

5:08 PM Changeset in webkit [221231] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r220105): Storage service appears in macOS Activity Monitor as “localized string not found”
https://bugs.webkit.org/show_bug.cgi?id=176007

Reviewed by Tim Horton.

  • English.lproj/Localizable.strings: Updated using update-webkit-localizable-strings.
4:26 PM Changeset in webkit [221230] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix. Creating trying a test group no longer updates the page.

  • public/v3/models/test-group.js:

(TestGroup.createWithCustomConfiguration): Added the missing ignoreCache=true.

12:09 PM Changeset in webkit [221229] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, mark a test as still failing

  • platform/gtk/TestExpectations:
9:58 AM Changeset in webkit [221228] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove PolicyChecker::cancelCheck
https://bugs.webkit.org/show_bug.cgi?id=176002

Patch by Alex Christensen <achristensen@webkit.org> on 2017-08-26
Reviewed by Darin Adler.

cancelCheck is conceptually equivalent to not calling a completion handler.
stopCheck is conceptually equivalent to calling a completion handler with PolicyIgnore just before cleaning up everything,
which is semantically cleaner and necessary when I replace the last use of PolicyCallback with a CompletionHandler.
Before this change, we were probably causing some loading objects to hang right before deleting them, and this cleans them up better.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::cancelPolicyCheckIfNeeded):

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::cancelCheck): Deleted.

  • loader/PolicyChecker.h:
9:54 AM Changeset in webkit [221227] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, tighten up scope of variable in previous commit

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookiesForSession):

9:49 AM Changeset in webkit [221226] by Michael Catanzaro
  • 4 edits in trunk

[SOUP] Update cookie jar implementation to filter out secure cookies
https://bugs.webkit.org/show_bug.cgi?id=175850

Reviewed by Brent Fulgham.

Source/WebCore:

Filter out secure cookies when indicated.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookiesForSession):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):

LayoutTests:

Unskip newly-passing tests.

  • platform/gtk/TestExpectations:
1:40 AM Changeset in webkit [221225] by Yusuke Suzuki
  • 4 edits in trunk/Source

Unreviewed, suppress warnings in GTK port

Source/JavaScriptCore:

The "block" variable hides the argument variable.

  • dfg/DFGLiveCatchVariablePreservationPhase.cpp:

(JSC::DFG::LiveCatchVariablePreservationPhase::isValidFlushLocation):

Source/WTF:

Add printf format attribute.

  • wtf/text/WTFString.cpp:
1:29 AM Changeset in webkit [221224] by calvaris@igalia.com
  • 13 edits in trunk/Source/WebCore

[EME][GStreamer] Connect CDM to GStreamer
https://bugs.webkit.org/show_bug.cgi?id=175983

Reviewed by Žan Doberšek.

This is still a version that will need some changes for some other
use cases but it should be enough to begin with some passes in the
tests and some basic use cases.

We use the attach CDMInstance interface in the private player to
get the instance in time for the initializationDataEncountered
event, which is handled when the demuxer reports synchronously the
events even before configuring the decryptors. We wait there in
case we don't have the CDMInstance attached (which contains info
about the key system now) and when we get it we report it back to
the demuxer and continue sending the event.

We also handled the events when handled by the decryptors but for
now this will remain a FIXME. The events handled by the
AppendPipeline will end up here too for now.

The CDM instance is created with the key system because some CDMs
can handle more than one, not ClearKey yet but others in the
(near) future.

MockCDMFactory is adapted to the changes as expected.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::CDM):

  • platform/encryptedmedia/CDMFactory.h:
  • platform/encryptedmedia/CDMInstance.h:
  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMFactoryClearKey::createCDM):
(WebCore::CDMInstanceClearKey::keySystem const):

  • platform/encryptedmedia/clearkey/CDMClearKey.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::extractEventsAndSystemsFromMessage):
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceAttached):
(WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceDetached):
(WebCore::MediaPlayerPrivateGStreamerBase::attemptToDecryptWithInstance):
(WebCore::MediaPlayerPrivateGStreamerBase::attemptToDecryptWithLocalInstance):
(WebCore::MediaPlayerPrivateGStreamerBase::dispatchDecryptionKey):
(WebCore::MediaPlayerPrivateGStreamerBase::handleProtectionEvent):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::appendPipelineElementMessageCallback):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::~AppendPipeline):
(WebCore::AppendPipeline::handleNeedContextSyncMessage):
(WebCore::AppendPipeline::handleElementMessage):
(WebCore::AppendPipeline::handleAppsrcNeedDataReceived):
(WebCore::AppendPipeline::appsinkNewSample):

  • platform/graphics/gstreamer/mse/AppendPipeline.h:
  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMFactory::createCDM):
(WebCore::MockCDMInstance::keySystem const):

  • testing/MockCDMFactory.h:
1:01 AM Changeset in webkit [221223] by Yusuke Suzuki
  • 12 edits
    2 moves in trunk/Source/JavaScriptCore

Merge WeakMapData into JSWeakMap and JSWeakSet
https://bugs.webkit.org/show_bug.cgi?id=143919

Reviewed by Darin Adler.

This patch changes WeakMapData from JSCell to JSDestructibleObject,
renaming it to WeakMapBase, and JSWeakMap and JSWeakSet simply inherit
it instead of separately allocating WeakMapData. This reduces memory
consumption and allocation times.

Also this patch a bit optimizes sizeof(DeadKeyCleaner) by dropping m_target
field. Since this class is always embedded in WeakMapBase, we can calculate
WeakMapBase address from the address of DeadKeyCleaner.

This patch does not include the optimization changing WeakMapData to Set
for JSWeakSet.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::weakMapSize):
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetSize):
(Inspector::JSInjectedScriptHost::weakSetEntries):

  • runtime/JSWeakMap.cpp:

(JSC::JSWeakMap::finishCreation): Deleted.
(JSC::JSWeakMap::visitChildren): Deleted.

  • runtime/JSWeakMap.h:

(JSC::JSWeakMap::createStructure): Deleted.
(JSC::JSWeakMap::create): Deleted.
(JSC::JSWeakMap::weakMapData): Deleted.
(JSC::JSWeakMap::JSWeakMap): Deleted.

  • runtime/JSWeakSet.cpp:

(JSC::JSWeakSet::finishCreation): Deleted.
(JSC::JSWeakSet::visitChildren): Deleted.

  • runtime/JSWeakSet.h:

(JSC::JSWeakSet::createStructure): Deleted.
(JSC::JSWeakSet::create): Deleted.
(JSC::JSWeakSet::weakMapData): Deleted.
(JSC::JSWeakSet::JSWeakSet): Deleted.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
  • runtime/WeakMapBase.cpp: Renamed from Source/JavaScriptCore/runtime/WeakMapData.cpp.

(JSC::WeakMapBase::WeakMapBase):
(JSC::WeakMapBase::destroy):
(JSC::WeakMapBase::estimatedSize):
(JSC::WeakMapBase::visitChildren):
(JSC::WeakMapBase::set):
(JSC::WeakMapBase::get):
(JSC::WeakMapBase::remove):
(JSC::WeakMapBase::contains):
(JSC::WeakMapBase::clear):
(JSC::WeakMapBase::DeadKeyCleaner::target):
(JSC::WeakMapBase::DeadKeyCleaner::visitWeakReferences):
(JSC::WeakMapBase::DeadKeyCleaner::finalizeUnconditionally):

  • runtime/WeakMapBase.h: Renamed from Source/JavaScriptCore/runtime/WeakMapData.h.

(JSC::WeakMapBase::size const):

  • runtime/WeakMapPrototype.cpp:

(JSC::getWeakMap):
(JSC::protoFuncWeakMapDelete):
(JSC::protoFuncWeakMapGet):
(JSC::protoFuncWeakMapHas):
(JSC::protoFuncWeakMapSet):
(JSC::getWeakMapData): Deleted.

  • runtime/WeakSetPrototype.cpp:

(JSC::getWeakSet):
(JSC::protoFuncWeakSetDelete):
(JSC::protoFuncWeakSetHas):
(JSC::protoFuncWeakSetAdd):
(JSC::getWeakMapData): Deleted.

12:48 AM Changeset in webkit [221222] by zandobersek@gmail.com
  • 19 edits in trunk/Source/WebCore

[WebCrypto] Push WorkQueue dispatches for RSA algorithms into shared code
https://bugs.webkit.org/show_bug.cgi?id=175621

Reviewed by Darin Adler.

Push the WorkQueue dispatch code and other code duplicated between the
Mac and libgcrypt implementations of Web Crypto into the shared layer.
This patch focuses on the RSA-based algorithms.

The WorkQueue dispatch code is condensed into two static functions on
the CryptoAlgorithm class, the first variation handling VectorCallback
as the callback type and the other handling BoolCallback. The operation
is kept in a WTF::Function<> object that returns an ExceptionOr<> value
embedding either a Vector<uint8_t> object or a boolean value, as
appropriate for the callback type.

Functions with platform-specific implementations that are invoked from
these asynchronous dispatches are made static and return an ExceptionOr
value. CryptoAlgorithmParameters objects are passed through non-const
references because data getters could lazily construct the underlying
Vector objects. CryptoKey objects are passed through const references.
Implementations can then manually retrieve and further validate any key
or parameter data, as required for that specific implementation. Input
data is passed through const references to the original Vector objects.

No new tests -- no changes in behavior that's covered by existing tests.

  • crypto/CryptoAlgorithm.cpp:

(WebCore::dispatchOperationImpl):
(WebCore::CryptoAlgorithm::dispatchOperation):

  • crypto/CryptoAlgorithm.h:
  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::decrypt):

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
  • crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:

(WebCore::CryptoAlgorithmRSA_PSS::sign):
(WebCore::CryptoAlgorithmRSA_PSS::verify):

  • crypto/algorithms/CryptoAlgorithmRSA_PSS.h:
  • crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:

(WebCore::gcryptEncrypt):
(WebCore::gcryptDecrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

  • crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

  • crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp:

(WebCore::CryptoAlgorithmRSA_PSS::platformSign):
(WebCore::CryptoAlgorithmRSA_PSS::platformVerify):

  • crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

  • crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

  • crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:

(WebCore::CryptoAlgorithmRSA_PSS::platformSign):
(WebCore::CryptoAlgorithmRSA_PSS::platformVerify):

Aug 25, 2017:

8:30 PM Changeset in webkit [221221] by eric.carlson@apple.com
  • 7 edits in trunk

Add Logger::logAlways
https://bugs.webkit.org/show_bug.cgi?id=175996

Reviewed by Jer Noble.

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/Logger.h:

(PAL::Logger::willLog const):
(PAL::Logger::willLog const):
(PAL::Logger::logAlways): Added.
(PAL::Logger::error const): Add missing WTF_ATTRIBUTE_PRINTF.
(PAL::Logger::warning const): Ditto.
(PAL::Logger::notice const): Ditto.
(PAL::Logger::info const): Ditto.
(PAL::Logger::debug const): Use String::formatWithArguments.

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/Logging.cpp:

(TestWebKitAPI::TEST_F):

7:49 PM Changeset in webkit [221220] by achristensen@apple.com
  • 2 edits in trunk/Tools

Disable saveDataToFile API test.
https://bugs.webkit.org/show_bug.cgi?id=176000

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

The test was only working on High Sierra. It needs investigation on older operating systems.

6:43 PM Changeset in webkit [221219] by achristensen@apple.com
  • 4 edits
    3 moves in trunk/Tools

Rename TestWebKitAPI/Tests/WebKit2* to WebKit* following Source directory rename.

Rubber-stamped by Brady Eidson.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AllAhem.svg: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-wal: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegateProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandlePlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandleProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresourcePlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CommandBackForward.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CookieMessage.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Copying.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestBlobURL.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURLFrame.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DuplicateCompletionHandlerCalls.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/EmptyGrandfatheredResourceLoadStatistics.plist: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FixedLayoutSize.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-wal: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.blob: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.sqlite3: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-3.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityRead.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityWrite.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/InteractionDeadlockAfterCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LineBreaking.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LoadDataWithNilMIMEType.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LoadInvalidURLRequest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkEnabled.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ObservedRenderingProgressEventsAfterCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLNotChange.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ShrinkToFit.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/SnapshotStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobThenDelete.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobToBeDeleted.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserInitiatedActionInNavigationAction.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKContentViewEditingActions.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFView.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewResizeCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-leaks.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDefaultNavigationDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDiagnosticLogging.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDoesNotLogDuringInitialization.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/autofocused-text-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/blinking-div.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/compressed-files.zip: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-textarea.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-in-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/div-and-large-image.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/double-click-does-not-select-trailing-space.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-change-selection-offscreen.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-clear-selection.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/duplicate-completion-handler-calls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/editable-body.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/enormous-video-with-sound.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/enormous.svg: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/focus-inputs.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/full-size-autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-map.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/input-field-in-scrollable-document.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-input-field-focus-onload.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-hides-controls-after-seek-to-end.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-mutes-onplaying.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-playing-scroll-away.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-after-ending.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-to-beginning-and-play-after-ending.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-test-now-playing.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-without-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-click-to-pause.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-scroll-to-video.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-paused-video-hides-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-muted-video-hides-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-video-keeps-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio-autoplay.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/password-protected.pages: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/play-audio-on-click.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/prevent-operation.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/prevent-start.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/rendered-image-excluding-overflow.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/skinny-autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/text-and-password-inputs.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/textarea-to-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/wide-autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/AutocleanupsTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMClientRectTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestAutocleanups.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMClientRect.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestEditor.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestOptionMenu.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextGroupTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKitCocoa: Copied from TestWebKitAPI/Tests/WebKit2Cocoa.
  • TestWebKitAPI/Tests/WebKitGtk: Copied from TestWebKitAPI/Tests/WebKit2Gtk.
  • TestWebKitAPI/Tests/WebKitObjC: Copied from TestWebKitAPI/Tests/WebKit2ObjC.
  • TestWebKitAPI/glib/PlatformGTK.cmake:
5:54 PM Changeset in webkit [221218] by achristensen@apple.com
  • 5 edits
    1 move in trunk/Tools

Rename TestWebKitAPI/Tests/WebKit2 to WebKit following Source directory rename.

Rubber-stamped by Brady Eidson.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/PlatformWin.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit: Copied from TestWebKitAPI/Tests/WebKit2.
  • TestWebKitAPI/Tests/WebKit2: Removed.
  • TestWebKitAPI/Tests/WebKit2/18-characters.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/Ahem.ttf: Removed.
  • TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CookieManager.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DeferredViewInWindowStateChange.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/Find.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FrameHandle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/Geolocation.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/MenuTypesForMouseEvents.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NetworkProcessCrashWithPendingConnection.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PageGroup.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/RestoreSessionStateWithoutNavigation.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad_bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/UserMedia.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKBackForwardList.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKImageCreateCGImageCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageConfiguration.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageCopySessionStateWithFiltering.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKRetainPtr.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKString.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKThumbnailView.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKURL.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WebArchive.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/all-content-in-one-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/associate-form-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/auto-submitting-form.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-inherits-gesture-from-document.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-no-audio-check.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-zero-volume-check.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/bundle-file.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/chinese-character-with-image.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/close-from-within-create-page.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/closed-shadow-tree-test.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/cocoa: Removed.
  • TestWebKitAPI/Tests/WebKit2/cocoa/WeakObjCPtr.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/contentBlockerCheck.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/custom-protocol-sync-xhr.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/encrypted.pdf: Removed.
  • TestWebKitAPI/Tests/WebKit2/enumerateMediaDevices.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/execCopy.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/file-with-anchor.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/file-with-mse.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/file-with-video.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/find.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/findRanges.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPosition.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPositionWithHighAccuracy.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationWatchPosition.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationWatchPositionWithHighAccuracy.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/gtk: Removed.
  • TestWebKitAPI/Tests/WebKit2/gtk/InputMethodFilter.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/icon.png: Removed.
  • TestWebKitAPI/Tests/WebKit2/input-focus-blur.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/link-with-download-attribute-with-slashes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/link-with-download-attribute.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/link-with-title.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-iframes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-images.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-text-vertical-lr.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-text.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/AttributedSubstringForProposedRangeWithImage.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/ContextMenuDownload.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor_Bundle.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/RestoreStateAfterTermination.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/many-iframes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mouse-button-listener.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mouse-move-listener.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/no-autoplay-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/push-state.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/set-long-title.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/should-open-external-schemes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-form.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-tall.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple3.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/spacebar-scrolling.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/test-mse.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2/test-without-audio-track.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2/test.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2/test.pdf: Removed.
  • TestWebKitAPI/Tests/WebKit2/webfont.html: Removed.
5:47 PM Changeset in webkit [221217] by achristensen@apple.com
  • 2 edits
    1 move in trunk/Tools

Rename TestWebKitAPI/Tests/WebKit to WebKitLegacy following Source directory rename.

Rubber-stamped by Brady Eidson.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit: Removed.
  • TestWebKitAPI/Tests/WebKit/ios: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/audio-only.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-audio.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio-and-webaudio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-without-audio.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit/win: Removed.
  • TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Removed.
  • TestWebKitAPI/Tests/WebKitLegacy: Copied from TestWebKitAPI/Tests/WebKit.
5:13 PM Changeset in webkit [221216] by achristensen@apple.com
  • 17 edits in trunk

Add WKUIDelegatePrivate equivalent of WKPageUIClient's saveDataToFileInDownloadsFolder
https://bugs.webkit.org/show_bug.cgi?id=176000
<rdar://problem/29270035>

Reviewed by Andy Estes.
Source/WebKit:


Covered by a new API test.

  • Shared/Cocoa/WKNSData.h:

(wrapper): Deleted.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::saveDataToFileInDownloadsFolder):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

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

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::saveDataToFileInDownloadsFolder):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
(WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::url const):

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::savePDFToFileInDownloadsFolder):

  • WebProcess/WebPage/WebPage.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:

(-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
(-[SaveDataToFileDelegate _webView:saveDataToFile:suggestedFilename:mimeType:originatingURL:]):
(-[SaveDataToFileDelegate webView:didFinishNavigation:]):

4:59 PM Changeset in webkit [221215] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit

Fix -Wunused-lambda-capture warnings in WebKit with new clang compiler
<https://webkit.org/b/175911>
<rdar://problem/33667497>

Reviewed by Alex Christensen.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::retrieveCaches): Remove unused
lambda capture for 'this'.
(WebKit::CacheStorage::Engine::putRecords): Remove unused
lambda capture for 'cacheIdentifier'.

  • NetworkProcess/cache/CacheStorageEngineConnection.cpp:

(WebKit::CacheStorageEngineConnection::records): Ditto.

4:58 PM Changeset in webkit [221214] by commit-queue@webkit.org
  • 4 edits in trunk

WPT server should not need to copy test harness files
https://bugs.webkit.org/show_bug.cgi?id=175938

Patch by Youenn Fablet <youenn@apple.com> on 2017-08-25
Reviewed by Alexey Proskuryakov.

LayoutTests/imported/w3c:

  • resources/config.json: Use aliases to load testharness.css and testharnessreport.js

Tools:

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

(WebPlatformTestServer.init): Stopping explicit resource files copy when launching the WPT server.
Use aliases instead.

4:42 PM Changeset in webkit [221213] by dbates@webkit.org
  • 16 edits in trunk/Source

Demarcate code added due to lack of NSDMI for aggregates
https://bugs.webkit.org/show_bug.cgi?id=175990

Reviewed by Andy Estes.

Source/bmalloc:

  • bmalloc/BPlatform.h:
  • bmalloc/List.h: Be explicit when initializing m_node to improve readability.

(bmalloc::ListNode::ListNode):

Source/JavaScriptCore:

  • domjit/DOMJITEffect.h:

(JSC::DOMJIT::Effect::Effect):
(JSC::DOMJIT::Effect::forWrite):
(JSC::DOMJIT::Effect::forRead):
(JSC::DOMJIT::Effect::forReadWrite):
(JSC::DOMJIT::Effect::forPure):
(JSC::DOMJIT::Effect::forDef):

  • runtime/HasOwnPropertyCache.h:

(JSC::HasOwnPropertyCache::Entry::Entry):
(JSC::HasOwnPropertyCache::Entry::operator=): Deleted.

  • wasm/WasmFormat.h: Modernize some of the code while I am here. Also

make some comments read well.
(JSC::Wasm::CallableFunction::CallableFunction):

  • wasm/js/WebAssemblyFunction.cpp:

(JSC::WebAssemblyFunction::WebAssemblyFunction):

  • wasm/js/WebAssemblyWrapperFunction.cpp:

(JSC::WebAssemblyWrapperFunction::create):

Source/WebCore:

  • html/canvas/CanvasStyle.h:
  • platform/mediastream/IceCandidate.h:

(WebCore::IceCandidate::IceCandidate):

  • platform/text/StringWithDirection.h: Replace const String& and String&& constructor

overloads with a single user-defined constructor that takes a String by value to handle
both cases.
(WebCore::StringWithDirection::StringWithDirection):
(WebCore::truncateFromEnd):

  • style/StyleUpdate.h:

(WebCore::Style::ElementUpdate::ElementUpdate):
(WebCore::Style::TextUpdate::TextUpdate):

Source/WTF:

  • wtf/Compiler.h:
4:41 PM Changeset in webkit [221212] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

InlineTextBox::paintDocumentMarker() does not need to special case painting of grammar and
dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=175966

Reviewed by Tim Horton.

Remove code that forced computing the marker rect for grammar and dictation alternative
regardless of whether the marker spans the entire width of the line box. InlineTextBox::paintDocumentMarker()
has performance optimizations to avoid computing the marker rect if it spans the entire line box.
Prior to r190363 we had to opt out of these optimizations for grammar and dictation alternative
markers so that we could store their computed marker rect. In r190363 we removed the logic in
InlineTextBox::paintDocumentMarker() to store the computed marker rect and hence no longer
needed to opt out of the optimization for these marker types, but inadvertently left in the
conditional code that opts them out.

No functionality changed. So no new tests.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarker): Remove unnecessary argument grammar and
code that special cased handling of grammar an dictation alternative markers.
(WebCore::InlineTextBox::paintDocumentMarkers): Update as necessary.

  • rendering/InlineTextBox.h:
4:11 PM Changeset in webkit [221211] by don.olmstead@sony.com
  • 2 edits in trunk/Source/WTF

Define *_GIGACAGE_MASK when Gigacage is not supported
https://bugs.webkit.org/show_bug.cgi?id=175994

Reviewed by Mark Lam.

  • wtf/Gigacage.h:
3:50 PM Changeset in webkit [221210] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix 32-bit after r221196

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

3:41 PM Changeset in webkit [221209] by Chris Dumez
  • 8 edits
    22 adds in trunk

Land stubs for File and Directory Entries API interfaces
https://bugs.webkit.org/show_bug.cgi?id=175993
<rdar://problem/34087477>

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

Add CommonIdentifiers needed for [EnabledAtRuntime].

  • runtime/CommonIdentifiers.h:

Source/WebCore:

Land stubs for File and Directory Entries API interfaces:

Those will be needed to support drag and drop.

Test: http/wpt/entries-api/interfaces.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • Modules/entriesapi/DOMFileSystem.cpp: Added.

(WebCore::DOMFileSystem::DOMFileSystem):
(WebCore::DOMFileSystem::~DOMFileSystem):

  • Modules/entriesapi/DOMFileSystem.h: Added.

(WebCore::DOMFileSystem::create):
(WebCore::DOMFileSystem::name const):
(WebCore::DOMFileSystem::root const):

  • Modules/entriesapi/DOMFileSystem.idl: Added.
  • Modules/entriesapi/ErrorCallback.h: Added.
  • Modules/entriesapi/ErrorCallback.idl: Added.
  • Modules/entriesapi/FileCallback.h: Added.
  • Modules/entriesapi/FileCallback.idl: Added.
  • Modules/entriesapi/FileSystemDirectoryEntry.cpp: Added.

(WebCore::FileSystemDirectoryEntry::FileSystemDirectoryEntry):
(WebCore::FileSystemDirectoryEntry::getFile):
(WebCore::FileSystemDirectoryEntry::getDirectory):

  • Modules/entriesapi/FileSystemDirectoryEntry.h: Added.
  • Modules/entriesapi/FileSystemDirectoryEntry.idl: Added.
  • Modules/entriesapi/FileSystemEntry.cpp: Added.

(WebCore::FileSystemEntry::FileSystemEntry):

  • Modules/entriesapi/FileSystemEntry.h: Added.

(WebCore::FileSystemEntry::~FileSystemEntry):
(WebCore::FileSystemEntry::isFile const):
(WebCore::FileSystemEntry::isDirectory const):
(WebCore::FileSystemEntry::name const):
(WebCore::FileSystemEntry::fullPath const):
(WebCore::FileSystemEntry::filesystem const):

  • Modules/entriesapi/FileSystemEntry.idl: Added.
  • Modules/entriesapi/FileSystemEntryCallback.h: Added.
  • Modules/entriesapi/FileSystemEntryCallback.idl: Added.
  • Modules/entriesapi/FileSystemFileEntry.cpp: Added.

(WebCore::FileSystemFileEntry::FileSystemFileEntry):
(WebCore::FileSystemFileEntry::file):

  • Modules/entriesapi/FileSystemFileEntry.h: Added.
  • Modules/entriesapi/FileSystemFileEntry.idl: Added.
  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add layout test coverage.

  • http/wpt/entries-api/interfaces-expected.txt: Added.
  • http/wpt/entries-api/interfaces.html: Added.
3:09 PM Changeset in webkit [221208] by BJ Burg
  • 4 edits in trunk/Source

Web Automation: add capabilities to control ICE candidate filtering and insecure media capture
https://bugs.webkit.org/show_bug.cgi?id=175563
<rdar://problem/33734492>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add macros for new capability protocol string names. Let's use a reverse
domain name notification for these capabilities so we know whether they are
intended for a particular client/port or any WebKit client, and what feature they
are related to (i.e., webrtc).

  • inspector/remote/RemoteInspectorConstants.h:

Source/WebKit:

  • UIProcess/Cocoa/AutomationClient.mm:

(WebKit::AutomationClient::requestAutomationSessionWithCapabilities):
Translate new capabilities to _WKAutomationSessionConfiguration properties.

3:05 PM Changeset in webkit [221207] by Ryan Haddad
  • 2 edits in branches/safari-604.1.38.0-branch/LayoutTests

Unreviewed, land TestExpectations for rdar://problem/33555052.

  • platform/ios-wk2/TestExpectations:
2:59 PM Changeset in webkit [221206] by commit-queue@webkit.org
  • 5 edits
    45 copies
    16 adds
    5 deletes in trunk/PerformanceTests

Speedometer: Restructure Ember example
https://bugs.webkit.org/show_bug.cgi?id=175926

Patch by Mathias Bynens <mathias@qiwi.be> on 2017-08-25
Reviewed by Ryosuke Niwa.

This patch removes an unused stylesheet from the output, and gets rid of the unneeded intermediate source folder.

  • Speedometer/resources/tests.js: Update path to Ember benchmark.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/source/*: Moved to ../.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/app/index.html: Removed stylesheet reference.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/app/styles/.gitkeep: Added.
  • Speedometer/resources/todomvc/architecture-examples/emberjs/dist/*: Regenerated per build instructions.
2:21 PM Changeset in webkit [221205] by rniwa@webkit.org
  • 2 edits
    1 copy in trunk/PerformanceTests

Speedometer 2.0: Duplicate the current EmberJS test as EmberJS-Debug test
https://bugs.webkit.org/show_bug.cgi?id=175956

Reviewed by Saam Barati.

Made the copy of Ember.js directory at r216946 as emberjs-debug, and added a new test suite "EmberJS-Debug-TodoMVC".

  • Speedometer/resources/tests.js:

(Suites.push.prepare):

  • Speedometer/resources/todomvc/architecture-examples/emberjs-debug: Copied from emberjs@r216946.
2:08 PM Changeset in webkit [221204] by BJ Burg
  • 11 edits
    2 copies in trunk/Source

Web Automation: use automation session configurations to propagate per-session settings
https://bugs.webkit.org/show_bug.cgi?id=175562
<rdar://problem/30853362>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add a Cocoa-specific code path to forward capabilities when requesting
a new session from the remote inspector (i.e., automation) client.

If other ports want to use this, then we can convert Cocoa types to WebKit types later.

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspectorConstants.h:
  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::receivedAutomationSessionRequestMessage):

Source/WebKit:

Some WebDriver capabilities need WebKit support in order to be implemented correctly.
There is currently no easy way to forward WebDriver capability keys and values to WebKit
at session creation time. This is unfortunate, as it would be best to implement many of
them via existing mechanisms (i.e., WKPreferences properties) that need to be set up
before any windows are opened in the session.

This patch adds WebKit-side plumbing to forward named capabilities from a remote
WebDriver client to the _WKAutomationSession and its delegate in WebKit2 UIProcess.
These capabilities are exposed via API in ways that abstract away details of how the
capabilities are represented in RWI wire protocol messages.

In the Cocoa API, these capabilities are exposed via a session configuration object
that's similar to WKWebView's WKWebViewConfiguration. A session's configuration is copied
and used at initialization and cannot be modified after the session is created.
Code in the Cocoa subclass of API::AutomationClient translates between RWI protocol
capability names and property values on the _WKAutomationSessionConfiguration it
uses to request a new session.

Later patches will hook up the two properties present in the configuration in this patch.
Most of this patch is just generic plumbing without doing any capability-specific work.

  • UIProcess/API/Cocoa/_WKAutomationDelegate.h:
  • UIProcess/API/Cocoa/_WKAutomationSession.h:
  • UIProcess/API/Cocoa/_WKAutomationSession.mm:

(-[_WKAutomationSession init]):
(-[_WKAutomationSession initWithConfiguration:]):
(-[_WKAutomationSession configuration]):

  • UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKAutomationDelegate.h.
  • UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.h.

(-[_WKAutomationSessionConfiguration init]):
(-[_WKAutomationSessionConfiguration description]):

  • UIProcess/Cocoa/AutomationClient.h:
  • UIProcess/Cocoa/AutomationClient.mm:

(WebKit::AutomationClient::AutomationClient):
(WebKit::AutomationClient::requestAutomationSession):
(WebKit::AutomationClient::requestAutomationSessionWithCapabilities):

  • WebKit.xcodeproj/project.pbxproj:
1:23 PM Changeset in webkit [221203] by eric.carlson@apple.com
  • 5 edits in trunk

Add String::format variant that takes va_args
https://bugs.webkit.org/show_bug.cgi?id=175988

Reviewed by Jer Noble.

Source/WTF:

  • wtf/text/WTFString.cpp:

(WTF::createWithFormatAndArguments): Created with the guts of String::format.
(WTF::String::formatWithArguments): New, call createWithFormatAndArguments.
(WTF::String::format): Move logic to createWithFormatAndArguments, use it.

  • wtf/text/WTFString.h:

Tools:

  • TestWebKitAPI/Tests/WTF/WTFString.cpp:

(TestWebKitAPI::testWithFormatAndArguments):
(TestWebKitAPI::TEST):

1:10 PM Changeset in webkit [221202] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

REGRESSION(r221017): Quip stuck in a perpetual loading loop
https://bugs.webkit.org/show_bug.cgi?id=175991
<rdar://problem/34044445>

Reviewed by Daniel Bates.

This is a quick fix to return proper function to WebKit. I'll relate a follow-up fix that
addresses WebSockets more completely.

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookieRequestHeaderFieldValue): Don't hard code a value of 'No' for returning secure
cookies. HTTPS connection should get secure cookies.

1:09 PM Changeset in webkit [221201] by commit-queue@webkit.org
  • 12 edits
    3 adds in trunk

Add support for ReadableStream storage in FetchBody
https://bugs.webkit.org/show_bug.cgi?id=175866

Patch by Youenn Fablet <youenn@apple.com> on 2017-08-25
Reviewed by Sam Weinig.

Source/WebCore:

Test: http/wpt/beacon/beacon-readablestream.html

Add support for IDLInterface<ReadableStream>, in particular to handle union conversions.
Adding a ReadableStream that guards JSReadableStream from being collected.
With this object, FetchBody will be able to store and manipulate ReadableStream.

Ensure conversion of BodyInit union with ReadableStream is working by adding support for beacon rejection in case of request body streams.

  • Modules/beacon/NavigatorBeacon.cpp:

(WebCore::NavigatorBeacon::sendBeacon):

  • Modules/beacon/NavigatorBeacon.idl:
  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::extract):

  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchRequest.idl:
  • Modules/fetch/FetchRequestInit.idl:
  • Modules/fetch/FetchResponse.idl:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMConvertInterface.h:

(WebCore::JSToWrappedOverloader::toWrapped):
(WebCore::Converter<IDLInterface<T>>::convert):

  • bindings/js/JSDOMConvertUnion.h:
  • bindings/js/ReadableStream.h: Added.

(WebCore::JSReadableStreamWrapperConverter::toWrapped):

LayoutTests:

  • http/wpt/beacon/beacon-readablestream-expected.txt: Added.
  • http/wpt/beacon/beacon-readablestream.html: Added.
12:12 PM Changeset in webkit [221200] by sbarati@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DFG::JITCode::osrEntry should get sorted since we perform a binary search on it
https://bugs.webkit.org/show_bug.cgi?id=175893

Reviewed by Mark Lam.

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::finalizeOSREntrypoints):

  • dfg/DFGJITCode.h:

(JSC::DFG::JITCode::finalizeCatchOSREntrypoints): Deleted.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::linkOSREntries):

12:04 PM Changeset in webkit [221199] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

Using the touchbar, both align left and align justify send a beforeinput event with the 'formatJustifyLeft' inputType.
https://bugs.webkit.org/show_bug.cgi?id=168669
<rdar://problem/30639155>

Reviewed by Beth Dakin.

Source/WebCore:

Small tweak to add a "formatJustifyFull" inputType when justifying text using the touch bar's rich text
formatting controls. Currently, the EditActionJustify edit command incorrectly maps to "formatJustifyLeft".

Test: fast/events/input-events-text-alignment.html

  • editing/EditCommand.cpp:

(WebCore::inputTypeNameForEditingAction):

LayoutTests:

Adds a new LayoutTest checking that the text alignment editor commands, "Align{Right|Center|Left|Justify}",
correctly propagate input events and beforeinput events of inputType "formatJustify{Right|Center|Left|Justify}",
and that these text alignment style changes can be prevented by calling preventDefault() on the dispatched
beforeinput event.

  • fast/events/input-events-text-alignment-expected.txt: Added.
  • fast/events/input-events-text-alignment.html: Added.
11:57 AM Changeset in webkit [221198] by beidson@apple.com
  • 19 edits
    4 copies
    2 moves
    5 adds in trunk

Introduce ServerWorkerRegistration task queues.
https://bugs.webkit.org/show_bug.cgi?id=175851

Reviewed by Andy Estes.

Source/WebCore:

Test: http/tests/workers/service/registration-task-queue-scheduling-1.html

This change introduces:

  • A task thread/queue owned by each SWServer object.
  • The SWServerRegistration object, which is the in-server representation of a service worker registration scope.
  • A registration job queue per SWServerRegistration object which actually runs the jobs as tasks on the owning SWServer's thread.

With that infrastructure in place, it moves the "register" job to something that is
scheduled and rejected asynchronously, as opposed to synchronously rejected.

The test verifies that two different registration scopes (localhost and 127.0.0.1)
can both spam the SWServer with registration requests, but neither of their queues
starve the other.

The rest of this change is a lot of support and plumbing for making the above happen.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ExceptionData.cpp:

(WebCore::ExceptionData::isolatedCopy const):

  • dom/ExceptionData.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::connectionIdentifier):

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

(WebCore::ServiceWorkerJob::ServiceWorkerJob):
(WebCore::ServiceWorkerJob::data const): Deleted.

  • workers/service/ServiceWorkerJob.h:

(WebCore::ServiceWorkerJob::create):
(WebCore::ServiceWorkerJob::data const):
(WebCore::ServiceWorkerJob::createRegisterJob): Deleted.

  • workers/service/ServiceWorkerJobClient.h:
  • workers/service/ServiceWorkerJobData.cpp:

(WebCore::ServiceWorkerJobData::ServiceWorkerJobData):
(WebCore::ServiceWorkerJobData::registrationKey const):
(WebCore::ServiceWorkerJobData::isolatedCopy const):

  • workers/service/ServiceWorkerJobData.h:

(WebCore::ServiceWorkerJobData::jobIdentifier const):
(WebCore::ServiceWorkerJobData::connectionIdentifier const):
(WebCore::ServiceWorkerJobData::encode const):
(WebCore::ServiceWorkerJobData::decode):

  • workers/service/ServiceWorkerRegistrationKey.cpp:

(WebCore::ServiceWorkerRegistrationKey::emptyKey):
(WebCore::ServiceWorkerRegistrationKey::hash const):
(WebCore::ServiceWorkerRegistrationKey::operator== const):

  • workers/service/ServiceWorkerRegistrationKey.h:

(WTF::ServiceWorkerRegistrationKeyHash::hash):
(WTF::ServiceWorkerRegistrationKeyHash::equal):
(WTF::HashTraits<WebCore::ServiceWorkerRegistrationKey>::emptyValue):
(WTF::HashTraits<WebCore::ServiceWorkerRegistrationKey>::constructDeletedValue):
(WTF::HashTraits<WebCore::ServiceWorkerRegistrationKey>::isDeletedValue):

  • workers/service/ServiceWorkerRegistrationOptions.cpp:

(WebCore::RegistrationOptions::isolatedCopy const):

  • workers/service/ServiceWorkerRegistrationOptions.h:

(WebCore::RegistrationOptions::encode const):
(WebCore::RegistrationOptions::decode):

  • workers/service/server/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::Connection::Connection):
(WebCore::SWServer::~SWServer):
(WebCore::SWServer::Connection::scheduleJobInServer):
(WebCore::SWServer::SWServer):
(WebCore::SWServer::scheduleJob):
(WebCore::SWServer::rejectJob):
(WebCore::SWServer::taskThreadEntryPoint):
(WebCore::SWServer::postTask):
(WebCore::SWServer::postTaskReply):
(WebCore::SWServer::handleTaskRepliesOnMainThread):
(WebCore::SWServer::registerConnection):
(WebCore::SWServer::unregisterConnection):

  • workers/service/server/SWServer.h:

(WebCore::SWServer::Connection::identifier const):

  • workers/service/server/SWServerRegistration.cpp: Added.

(WebCore::SWServerRegistration::SWServerRegistration):
(WebCore::SWServerRegistration::~SWServerRegistration):
(WebCore::SWServerRegistration::enqueueJob):
(WebCore::SWServerRegistration::startNextJob):
(WebCore::SWServerRegistration::performCurrentJob):
(WebCore::SWServerRegistration::rejectCurrentJob):
(WebCore::SWServerRegistration::finishCurrentJob):

  • workers/service/server/SWServerRegistration.h:

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::WebSWServerConnection):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:

(WebKit::WebSWServerConnection::identifier const): Deleted.

  • WebProcess/Storage/WebSWClientConnection.h:

(WebKit::WebSWClientConnection::identifier const): Deleted.

LayoutTests:

  • http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt: Added.
  • http/tests/workers/service/registration-task-queue-scheduling-1.html: Added.
  • http/tests/workers/service/resources/registration-task-queue-scheduling-1-second-window.html: Added.
  • http/tests/workers/service/resources/registration-task-queue-scheduling-1.js: Added.
11:54 AM Changeset in webkit [221197] by Jonathan Bedard
  • 2 edits in trunk/Tools

Follow-up Internal build fix for r221187
https://bugs.webkit.org/show_bug.cgi?id=175960
<rdar://problem/34069264>

Unreviewed build fix.

  • TestWebKitAPI/ios/DataInteractionSimulator.h: Move UIItemProvider declaration

into #if block.

11:26 AM Changeset in webkit [221196] by sbarati@apple.com
  • 84 edits
    6 adds in trunk

Support compiling catch in the DFG
https://bugs.webkit.org/show_bug.cgi?id=174590
<rdar://problem/34047845>

Reviewed by Filip Pizlo.

JSTests:

  • microbenchmarks/delta-blue-try-catch.js: Added.

(exception):
(value):
(OrderedCollection):
(OrderedCollection.prototype.add):
(OrderedCollection.prototype.at):
(OrderedCollection.prototype.size):
(OrderedCollection.prototype.removeFirst):
(OrderedCollection.prototype.remove):
(Strength):
(Strength.stronger):
(Strength.weaker):
(Strength.weakestOf):
(Strength.strongest):
(Strength.prototype.nextWeaker):
(Constraint):
(Constraint.prototype.addConstraint):
(Constraint.prototype.satisfy):
(Constraint.prototype.destroyConstraint):
(Constraint.prototype.isInput):
(UnaryConstraint):
(UnaryConstraint.prototype.addToGraph):
(UnaryConstraint.prototype.chooseMethod):
(UnaryConstraint.prototype.isSatisfied):
(UnaryConstraint.prototype.markInputs):
(UnaryConstraint.prototype.output):
(UnaryConstraint.prototype.recalculate):
(UnaryConstraint.prototype.markUnsatisfied):
(UnaryConstraint.prototype.inputsKnown):
(UnaryConstraint.prototype.removeFromGraph):
(StayConstraint):
(StayConstraint.prototype.execute):
(EditConstraint.prototype.isInput):
(EditConstraint.prototype.execute):
(BinaryConstraint):
(BinaryConstraint.prototype.chooseMethod):
(BinaryConstraint.prototype.addToGraph):
(BinaryConstraint.prototype.isSatisfied):
(BinaryConstraint.prototype.markInputs):
(BinaryConstraint.prototype.input):
(BinaryConstraint.prototype.output):
(BinaryConstraint.prototype.recalculate):
(BinaryConstraint.prototype.markUnsatisfied):
(BinaryConstraint.prototype.inputsKnown):
(BinaryConstraint.prototype.removeFromGraph):
(ScaleConstraint):
(ScaleConstraint.prototype.addToGraph):
(ScaleConstraint.prototype.removeFromGraph):
(ScaleConstraint.prototype.markInputs):
(ScaleConstraint.prototype.execute):
(ScaleConstraint.prototype.recalculate):
(EqualityConstraint):
(EqualityConstraint.prototype.execute):
(Variable):
(Variable.prototype.addConstraint):
(Variable.prototype.removeConstraint):
(Planner):
(Planner.prototype.incrementalAdd):
(Planner.prototype.incrementalRemove):
(Planner.prototype.newMark):
(Planner.prototype.makePlan):
(Planner.prototype.extractPlanFromConstraints):
(Planner.prototype.addPropagate):
(Planner.prototype.removePropagateFrom):
(Planner.prototype.addConstraintsConsumingTo):
(Plan):
(Plan.prototype.addConstraint):
(Plan.prototype.size):
(Plan.prototype.constraintAt):
(Plan.prototype.execute):
(chainTest):
(projectionTest):
(change):
(deltaBlue):

  • microbenchmarks/fake-iterators-that-throw-when-finished.js: Added.

(assert):
(Numbers):
(Numbers.prototype.next):
(return.Transpose):
(return.Transpose.prototype.next):
(transpose):
(verifyEven):
(verifyString):
(foo):
(runIterators):

  • microbenchmarks/try-catch-word-count.js: Added.

(let.assert):
(EOF):
(let.texts):
(let.o.apply):
(foo):
(bar):
(f):
(run):
(test1):
(test2):
(test3):
(fn):
(A):
(B):
(A.prototype.getValue):
(B.prototype.getParentValue):
(strlen):
(sum.0):
(test):
(result.test.o):
(set add.set add):
(set forEach):
(stringHash):
(set if):
(testFunction):
(set delete.set has.set add):

  • stress/catch-set-argument-speculation-failure.js: Added.

(o):
(e):
(e2):
(escape):
(baz):
(noInline.run):
(noInline):

  • stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added.

(foo):
(e):
(baz):
(bar):

Source/JavaScriptCore:

This patch implements OSR entry into op_catch in the DFG. We will support OSR entry
into the FTL in a followup: https://bugs.webkit.org/show_bug.cgi?id=175396

To implement catch in the DFG, this patch introduces the concept of multiple
entrypoints into CPS/LoadStore DFG IR. A lot of this patch is stringing this concept
through the DFG. Many phases used to assume that Graph::block(0) is the only root, and this
patch contains many straight forward changes generalizing the code to handle more than
one entrypoint.

A main building block of this is moving to two CFG types: SSACFG and CPSCFG. SSACFG
is the same CFG we used to have. CPSCFG is a new type that introduces a fake root
that has an outgoing edge to all the entrypoints. This allows our existing graph algorithms
to Just Work over CPSCFG. For example, there is now the concept of SSADominators vs CPSDominators,
and SSANaturalLoops vs CPSNaturalLoops.

The way we compile the catch entrypoint is by bootstrapping the state
of the program by loading all live bytecode locals from a buffer. The OSR
entry code will store all live values into that buffer before jumping to
the entrypoint. The OSR entry code is also responsible for performing type
proofs of the arguments before doing an OSR entry. If there is a type
mismatch, it's not legal to OSR enter into the DFG compilation. Currently,
each catch entrypoint knows the argument type proofs it must perform to enter
into the DFG. Currently, all entrypoints' arguments flush format are unified
via ArgumentPosition, but this is just an implementation detail. The code is
written more generally to assume that each entrypoint may perform its own distinct
proof.

op_catch now performs value profiling for all live bytecode locals in the
LLInt and baseline JIT. This information is then fed into the DFG via the
ExtractCatchLocal node in the prediction propagation phase.

This patch also changes how we generate op_catch in bytecode. All op_catches
are now split out at the end of the program in bytecode. This ensures that
no op_catch is inside a try block. This is needed to ensure correctness in
the DFGLiveCatchVariablePreservationPhase. That phase only inserts flushes
before SetLocals inside a try block. If an op_catch were in a try block, this
would cause the phase to insert a Flush before one of the state bootstrapping
SetLocals, which would generate invalid IR. Moving op_catch to be generated on
its own at the end of a bytecode stream seemed like the most elegant solution since
it better represents that we treat op_catch as an entrypoint. This is true
both in the DFG and in the baseline and LLInt: we don't reach an op_catch
via normal control flow. Because op_catch cannot throw, this will not break
any previous semantics of op_catch. Logically, it'd be valid to split try
blocks around any non-throwing bytecode operation.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::dumpBytecode):

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffset):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::validate):

  • bytecode/CodeBlock.h:
  • bytecode/ValueProfile.h:

(JSC::ValueProfile::ValueProfile):
(JSC::ValueProfileAndOperandBuffer::ValueProfileAndOperandBuffer):
(JSC::ValueProfileAndOperandBuffer::~ValueProfileAndOperandBuffer):
(JSC::ValueProfileAndOperandBuffer::forEach):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCatch):
(JSC::BytecodeGenerator::emitEnumeration):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGBackwardsCFG.h:

(JSC::DFG::BackwardsCFG::BackwardsCFG):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::BasicBlock):

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::findTerminal const):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setDirect):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::execute):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGCFG.h:

(JSC::DFG::CFG::root):
(JSC::DFG::CFG::roots):
(JSC::DFG::CPSCFG::CPSCFG):
(JSC::DFG::selectCFG):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::specialCaseArguments):

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGControlEquivalenceAnalysis.h:

(JSC::DFG::ControlEquivalenceAnalysis::ControlEquivalenceAnalysis):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::createDumpList):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::Dominators):
(JSC::DFG::ensureDominatorsForCFG):

  • dfg/DFGEdgeDominates.h:

(JSC::DFG::EdgeDominates::EdgeDominates):
(JSC::DFG::EdgeDominates::operator()):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGFlushFormat.h:
  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::unboxLoopNode):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::determineReachability):
(JSC::DFG::Graph::invalidateCFG):
(JSC::DFG::Graph::blocksInPreOrder):
(JSC::DFG::Graph::blocksInPostOrder):
(JSC::DFG::Graph::ensureCPSDominators):
(JSC::DFG::Graph::ensureSSADominators):
(JSC::DFG::Graph::ensureCPSNaturalLoops):
(JSC::DFG::Graph::ensureSSANaturalLoops):
(JSC::DFG::Graph::ensureBackwardsCFG):
(JSC::DFG::Graph::ensureBackwardsDominators):
(JSC::DFG::Graph::ensureControlEquivalenceAnalysis):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
(JSC::DFG::Graph::clearCPSCFGData):
(JSC::DFG::Graph::ensureDominators): Deleted.
(JSC::DFG::Graph::ensurePrePostNumbering): Deleted.
(JSC::DFG::Graph::ensureNaturalLoops): Deleted.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::willCatchExceptionInMachineFrame):
(JSC::DFG::Graph::isEntrypoint const):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):
(JSC::DFG::InPlaceAbstractState::mergeToSuccessors):

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::shrinkToFit):

  • dfg/DFGJITCode.h:

(JSC::DFG::JITCode::catchOSREntryDataForBytecodeIndex):
(JSC::DFG::JITCode::finalizeCatchOSREntrypoints):
(JSC::DFG::JITCode::appendCatchEntrypoint):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::noticeCatchEntrypoint):
(JSC::DFG::JITCompiler::noticeOSREntry):
(JSC::DFG::JITCompiler::makeCatchOSREntryBuffer):

  • dfg/DFGJITCompiler.h:
  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):
(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGLiveCatchVariablePreservationPhase.cpp:

(JSC::DFG::LiveCatchVariablePreservationPhase::run):
(JSC::DFG::LiveCatchVariablePreservationPhase::isValidFlushLocation):
(JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch):
(JSC::DFG::LiveCatchVariablePreservationPhase::newVariableAccessData):
(JSC::DFG::LiveCatchVariablePreservationPhase::willCatchException): Deleted.
(JSC::DFG::LiveCatchVariablePreservationPhase::handleBlock): Deleted.

  • dfg/DFGLoopPreHeaderCreationPhase.cpp:

(JSC::DFG::createPreHeader):
(JSC::DFG::LoopPreHeaderCreationPhase::run):

  • dfg/DFGMaximalFlushInsertionPhase.cpp:

(JSC::DFG::MaximalFlushInsertionPhase::run):
(JSC::DFG::MaximalFlushInsertionPhase::treatRegularBlock):
(JSC::DFG::MaximalFlushInsertionPhase::treatRootBlock):

  • dfg/DFGMayExit.cpp:
  • dfg/DFGNaturalLoops.h:

(JSC::DFG::NaturalLoops::NaturalLoops):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isSwitch const):
(JSC::DFG::Node::successor):
(JSC::DFG::Node::catchOSREntryIndex const):
(JSC::DFG::Node::catchLocalPrediction):
(JSC::DFG::Node::isSwitch): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareCatchOSREntry):

  • dfg/DFGOSREntry.h:
  • dfg/DFGOSREntrypointCreationPhase.cpp:

(JSC::DFG::OSREntrypointCreationPhase::run):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::handleExitCounts):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPrePostNumbering.cpp:

(JSC::DFG::PrePostNumbering::PrePostNumbering): Deleted.
(JSC::DFG::PrePostNumbering::~PrePostNumbering): Deleted.
(WTF::printInternal): Deleted.

  • dfg/DFGPrePostNumbering.h:

(): Deleted.
(JSC::DFG::PrePostNumbering::preNumber const): Deleted.
(JSC::DFG::PrePostNumbering::postNumber const): Deleted.
(JSC::DFG::PrePostNumbering::isStrictAncestorOf const): Deleted.
(JSC::DFG::PrePostNumbering::isAncestorOf const): Deleted.
(JSC::DFG::PrePostNumbering::isStrictDescendantOf const): Deleted.
(JSC::DFG::PrePostNumbering::isDescendantOf const): Deleted.
(JSC::DFG::PrePostNumbering::edgeKind const): Deleted.

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGPutStackSinkingPhase.cpp:
  • dfg/DFGSSACalculator.cpp:

(JSC::DFG::SSACalculator::nonLocalReachingDef):
(JSC::DFG::SSACalculator::reachingDefAtTail):

  • dfg/DFGSSACalculator.h:

(JSC::DFG::SSACalculator::computePhis):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):
(JSC::DFG::performSSAConversion):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCurrentBlock):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::createOSREntries):
(JSC::DFG::SpeculativeJIT::linkOSREntries):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStaticExecutionCountEstimationPhase.cpp:

(JSC::DFG::StaticExecutionCountEstimationPhase::run):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::buildNaturalLoopToLoopHintMap):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):

  • dfg/DFGValidate.cpp:
  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::lower):
(JSC::FTL::DFG::LowerDFGToB3::safelyInvalidateAfterTermination):
(JSC::FTL::DFG::LowerDFGToB3::isValid):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Source/WTF:

This patch generalizes the BackwardsGraph fake root into a more generalizable
class called SingleRootGraph. SingleRootGraph exposes the general graph interface
used in Dominators and NaturalLoops. SingleRootGraph takes as input a graph with
the normal graph interface, but also allows the input graph to contain more than
one root. SingleRootGraph then exposes a single root, which it creates, that has
an outgoing edge to all the roots in the original graph.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/BackwardsGraph.h:

(WTF::BackwardsGraph::dump const):
(WTF::BackwardsGraph::rootName): Deleted.
(WTF::BackwardsGraph::Node::Node): Deleted.
(WTF::BackwardsGraph::Node::root): Deleted.
(WTF::BackwardsGraph::Node::operator== const): Deleted.
(WTF::BackwardsGraph::Node::operator!= const): Deleted.
(WTF::BackwardsGraph::Node::operator bool const): Deleted.
(WTF::BackwardsGraph::Node::isRoot const): Deleted.
(WTF::BackwardsGraph::Node::node const): Deleted.
(): Deleted.
(WTF::BackwardsGraph::Set::Set): Deleted.
(WTF::BackwardsGraph::Set::add): Deleted.
(WTF::BackwardsGraph::Set::remove): Deleted.
(WTF::BackwardsGraph::Set::contains): Deleted.
(WTF::BackwardsGraph::Set::dump const): Deleted.
(WTF::BackwardsGraph::Map::Map): Deleted.
(WTF::BackwardsGraph::Map::clear): Deleted.
(WTF::BackwardsGraph::Map::size const): Deleted.
(WTF::BackwardsGraph::Map::operator[]): Deleted.
(WTF::BackwardsGraph::Map::operator[] const): Deleted.

  • wtf/Dominators.h:

(WTF::Dominators::Dominators):
(WTF::Dominators::forAllBlocksInIteratedDominanceFrontierOf):
(WTF::Dominators::forAllBlocksInPrunedIteratedDominanceFrontierOf):
(WTF::Dominators::iteratedDominanceFrontierOf const):
(WTF::Dominators::forAllBlocksInIteratedDominanceFrontierOfImpl const):

  • wtf/SingleRootGraph.h: Added.

(WTF::SingleRootGraphNode::rootName):
(WTF::SingleRootGraphNode::SingleRootGraphNode):
(WTF::SingleRootGraphNode::root):
(WTF::SingleRootGraphNode::operator== const):
(WTF::SingleRootGraphNode::operator!= const):
(WTF::SingleRootGraphNode::operator bool const):
(WTF::SingleRootGraphNode::isRoot const):
(WTF::SingleRootGraphNode::node const):
(WTF::SingleRootGraphSet::add):
(WTF::SingleRootGraphSet::remove):
(WTF::SingleRootGraphSet::contains):
(WTF::SingleRootGraphSet::dump const):
(WTF::SingleRootMap::SingleRootMap):
(WTF::SingleRootMap::clear):
(WTF::SingleRootMap::size const):
(WTF::SingleRootMap::operator[]):
(WTF::SingleRootMap::operator[] const):
(WTF::SingleRootGraph::SingleRootGraph):
(WTF::SingleRootGraph::root const):
(WTF::SingleRootGraph::newMap):
(WTF::SingleRootGraph::successors const):
(WTF::SingleRootGraph::predecessors const):
(WTF::SingleRootGraph::index const):
(WTF::SingleRootGraph::node const):
(WTF::SingleRootGraph::numNodes const):
(WTF::SingleRootGraph::dump const):
(WTF::SingleRootGraph::assertIsConsistent const):

11:04 AM Changeset in webkit [221195] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, add comment warning that some flags have been copied into Epiphany

  • platform/URLParser.cpp:

(WebCore::URLParser::internationalDomainNameTranscoder):

10:31 AM Changeset in webkit [221194] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

Add flag allow-modals to iframe sandbox
https://bugs.webkit.org/show_bug.cgi?id=171321

Patch by Frederic Wang <fwang@igalia.com> on 2017-07-25
Reviewed by Brent Fulgham.

The allow-modals flag is added to tests trying to open modal dialogs in sandboxed frames, now
that the default behavior has changed. New tests are also added to verify that the dialogs
are allowed or blocked according to the value of the allow-modals flag.

  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: Add allow-modals.
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: Ditto.
  • fast/forms/autofocus-in-sandbox-with-allow-scripts.html: Ditto.
  • fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html: Ditto.
  • fast/frames/sandboxed-iframe-parsing-space-characters.html: Ditto.
  • fast/frames/sandboxed-iframe-scripting-02.html: Ditto.
  • http/tests/security/contentSecurityPolicy/resources/sandboxed-eval.php: Ditto.
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-control.html: Ditto.
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header.html: Ditto.
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header2.php: Ditto.
  • http/tests/security/drag-drop-same-unique-origin.html: Ditto.
  • http/tests/security/no-indexeddb-from-sandbox.html: Ditto.
  • http/tests/security/no-popup-from-sandbox-top.html: Ditto.
  • http/tests/security/no-popup-from-sandbox.html: Ditto.
  • http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html: Ditto.
  • http/tests/security/popup-allowed-by-sandbox-when-allowed.html: Ditto.
  • http/tests/security/xss-DENIED-window-name-alert.html: Ditto.
  • http/tests/security/sandboxed-iframe-ALLOWED-modals.html: Added. Verify that alert,

confirm, prompt and print dialogs are allowed when the allow-modals flag is set.

  • http/tests/security/sandboxed-iframe-ALLOWED-modals-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-DENIED-modals.html: Added. Verify that alert,

confirm, prompt and print dialogs are denied when the allow-modals flag not set. The returned
values are also verified.

  • http/tests/security/sandboxed-iframe-DENIED-modals-expected.txt: Added.
  • http/tests/misc/iframe-beforeunload-dialog-allow-modals.html: Added. Verify that the

confirm dialog for beforeunload is displayed when allow-modals is set.

  • http/tests/misc/iframe-beforeunload-dialog-allow-modals-expected.txt: Added.
  • http/tests/misc/iframe-beforeunload-dialog-block-modals.html: Added. Verify that the

confirm dialog for beforeunload is not displayed when allow-modals is unset.

  • http/tests/misc/iframe-beforeunload-dialog-block-modals-expected.txt: Added.
10:28 AM Changeset in webkit [221193] by fred.wang@free.fr
  • 26 edits
    8 adds in trunk

Add flag allow-modals to iframe sandbox
https://bugs.webkit.org/show_bug.cgi?id=171321

Source/WebCore:

This patch implements the "allow-modals" value for the iframe sandbox attribute. It changes
the behavior for sandboxed document so that alert, confirm, prompt, print as well as dialogs
generated from a beforeunload event are blocked when allow-modals is not set, as defined in
the specification. For consistency, we do the same for document.execCommand('print', ...).
Users should use the allow-modals flag in order to explictly allow modal dialogs.

See https://html.spec.whatwg.org/multipage/origin.html#sandboxed-modals-flag

Patch by Frederic Wang <fwang@igalia.com> on 2017-07-25
Reviewed by Brent Fulgham.

Tests: http/tests/security/sandboxed-iframe-ALLOWED-modals.html

http/tests/security/sandboxed-iframe-DENIED-modals.html

  • dom/SecurityContext.cpp: Implement parsing for allow-modals

(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):

  • dom/SecurityContext.h: Introduce flag for allow-modals
  • loader/FrameLoader.cpp:

(WebCore::shouldAskForNavigationConfirmation): Prevent confirm dialog from beforeunload when
allow-modals is not set.

  • page/Chrome.h: Change the signature of print, so it may return a failure when the

allow-modals flag is not set.

  • page/Chrome.cpp:

(WebCore::Chrome::print): Returns false and print a message error when the allow-modals flag
on the frame's document is not set. Otherwise, execute the command and returns true.

  • editing/EditorCommand.cpp:

(WebCore::executePrint): Ensure that document.execCommand for 'print' returns false when the
allow-modals flag is not set.

  • page/DOMWindow.cpp: Add early exit when alert, confirm or prompt when the allow-modals flag

for that document is not set. Note that print is handled in Chrome.cpp.
(WebCore::DOMWindow::alert): Add early exit.
(WebCore::DOMWindow::confirm): Add early exit with the return value indicated in the spec.
(WebCore::DOMWindow::prompt): Ditto.

LayoutTests:

Patch by Frederic Wang <fwang@igalia.com> on 2017-07-25
Reviewed by Brent Fulgham.

The allow-modals flag is added to tests trying to open modal dialogs in sandboxed frames, now
that the default behavior has changed. New tests are also added to verify that the dialogs
are allowed or blocked according to the value of the allow-modals flag.

  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: Add allow-modals.
  • fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: Ditto.
  • fast/forms/autofocus-in-sandbox-with-allow-scripts.html: Ditto.
  • fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html: Ditto.
  • fast/frames/sandboxed-iframe-parsing-space-characters.html: Ditto.
  • fast/frames/sandboxed-iframe-scripting-02.html: Ditto.
  • http/tests/security/contentSecurityPolicy/resources/sandboxed-eval.php: Ditto.
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-control.html: Ditto.
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header.html: Ditto.
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header2.php: Ditto.
  • http/tests/security/drag-drop-same-unique-origin.html: Ditto.
  • http/tests/security/no-indexeddb-from-sandbox.html: Ditto.
  • http/tests/security/no-popup-from-sandbox-top.html: Ditto.
  • http/tests/security/no-popup-from-sandbox.html: Ditto.
  • http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html: Ditto.
  • http/tests/security/popup-allowed-by-sandbox-when-allowed.html: Ditto.
  • http/tests/security/xss-DENIED-window-name-alert.html: Ditto.
  • http/tests/security/sandboxed-iframe-ALLOWED-modals.html: Added. Verify that alert,

confirm, prompt and print dialogs are allowed when the allow-modals flag is set.

  • http/tests/security/sandboxed-iframe-ALLOWED-modals-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-DENIED-modals.html: Added. Verify that alert,

confirm, prompt and print dialogs are denied when the allow-modals flag not set. The returned
values are also verified.

  • http/tests/security/sandboxed-iframe-DENIED-modals-expected.txt: Added.
  • http/tests/misc/iframe-beforeunload-dialog-allow-modals.html: Added. Verify that the

confirm dialog for beforeunload is displayed when allow-modals is set.

  • http/tests/misc/iframe-beforeunload-dialog-allow-modals-expected.txt: Added.
  • http/tests/misc/iframe-beforeunload-dialog-block-modals.html: Added. Verify that the

confirm dialog for beforeunload is not displayed when allow-modals is unset.

  • http/tests/misc/iframe-beforeunload-dialog-block-modals-expected.txt: Added.
10:27 AM Changeset in webkit [221192] by keith_miller@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Explore increasing max JSString::m_length to UINT_MAX.
https://bugs.webkit.org/show_bug.cgi?id=163955
<rdar://problem/32001499>

Reviewed by JF Bastien.

This can cause us to release assert on some code paths. I don't
see a reason to maintain this restriction.

  • runtime/JSString.h:

(JSC::JSString::length const):
(JSC::JSString::setLength):
(JSC::JSString::isValidLength): Deleted.

  • runtime/JSStringBuilder.h:

(JSC::jsMakeNontrivialString):

10:23 AM Changeset in webkit [221191] by don.olmstead@sony.com
  • 3 edits
    1 move in trunk/Tools

[WinCairo] Use GitHub releases for WinCairoRequirements
https://bugs.webkit.org/show_bug.cgi?id=175972

Reviewed by Brent Fulgham.

  • Scripts/build-webkit:

(cMakeArgsFromFeatures): Deleted.
(writeCongrats): Deleted.

  • Scripts/download-latest-github-release.py:

(Status):
(parse_args):
(main):

  • Scripts/update-webkit-wincairo-libs.py: Renamed from Tools/Scripts/update-webkit-wincairo-libs.
10:01 AM Changeset in webkit [221190] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[Cache API] UIProcess should provide the directory path where to store Cache Storage data
https://bugs.webkit.org/show_bug.cgi?id=175884
<rdar://problem/34072441>

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-08-25

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::ProcessPoolConfiguration): Fixing typo.

9:52 AM Changeset in webkit [221189] by beidson@apple.com
  • 19 edits in trunk/Source/WebCore

Unreviewed, rolling out r221181.

Broke builds that use CryptoAlgorithmRSA_PSSMac.cpp

Reverted changeset:

"[WebCrypto] Push WorkQueue dispatches for RSA algorithms into
shared code"
https://bugs.webkit.org/show_bug.cgi?id=175621
http://trac.webkit.org/changeset/221181

9:23 AM Changeset in webkit [221188] by Jonathan Bedard
  • 2 edits in trunk/LayoutTests

Manage tests which require different device types better
<https://bugs.webkit.org/show_bug.cgi?id=175987>
<rdar://problem/34082632>

Unreviewed test gardening.

  • platform/ios-device/TestExpectations: Skip tests requiring a device type.
8:27 AM Changeset in webkit [221187] by Jonathan Bedard
  • 6 edits in trunk

Fix build breakage with Public iOS 11 SDK
https://bugs.webkit.org/show_bug.cgi?id=175960
<rdar://problem/34069264>

Reviewed by Wenson Hsieh.

Source/WebCore/PAL:

  • pal/spi/ios/UIKitSPI.h: Use NSItemProvider definition of preferredPresentationSize

instead of re-declaring it.

Source/WebKit:

  • Platform/spi/ios/UIKitSPI.h: Add UIURLDragPreviewView declaration.

Tools:

  • TestWebKitAPI/ios/DataInteractionSimulator.h: Add UIItemProvider declaration.
7:46 AM Changeset in webkit [221186] by commit-queue@webkit.org
  • 7 edits
    1 copy
    1 add
    1 delete in trunk/LayoutTests

Import track-element/cloneNode.html from web-platform-tests.
https://bugs.webkit.org/show_bug.cgi?id=175984

Patch by Ms2ger <Ms2ger@gmail.com> on 2017-08-25
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode-expected.txt: Added.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html: Renamed from LayoutTests/media/track/opera/track/track-element/cloneNode.html.
  • web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/w3c-import.log:

LayoutTests:

We already had an older copy in LayoutTests/media/track/opera/track/;
remove that in favour of the new and maintained copy.

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
5:10 AM Changeset in webkit [221185] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

Mark bunch of disk cache tests non-flaky on release
https://bugs.webkit.org/show_bug.cgi?id=175982

Unreviewed.

According to https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fcache%2Fdisk-cache
these are no longer flaky on release (after somewhat recent fixes).

Only mark them flaky on debug builds.

  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
3:59 AM Changeset in webkit [221184] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[EME][ClearKey] Fixed warning in CDM compilation
https://bugs.webkit.org/show_bug.cgi?id=175979

Reviewed by Žan Doberšek.

  • platform/encryptedmedia/clearkey/CDMClearKey.h: Added a final to

avoid the compiler warning about the missing override keyword.

1:20 AM WebKitGTK/2.18.x edited by magomez@igalia.com
(diff)
1:10 AM Changeset in webkit [221183] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Completely garbled display in Transifex in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=174632

Reviewed by Michael Catanzaro.

Remove the copy constructor from PlatformContextCairo::State. This is because it will be used by WTF::Vector
to copy the instances around when allocating new memory, but it doesn't copy the m_imageMaskInformation
attribute, so it will be lost when the Vector reallocates its contents. When this happens, renderings that use
GraphicsContext::clipToImageBuffer() fail to render properly.

Covered by existent tests.

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::State::State):
(WebCore::PlatformContextCairo::save):

12:50 AM Changeset in webkit [221182] by calvaris@igalia.com
  • 6 edits in trunk/Source/WebCore

[EME][GStreamer] Move createDescryptor function to GStreamerEMEUtilities
https://bugs.webkit.org/show_bug.cgi?id=175930

Reviewed by Žan Doberšek.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::createGstDecryptor): Deleted.

  • platform/graphics/gstreamer/GStreamerUtilities.h:
  • platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:

(WebCore::GStreamerEMEUtilities::createDecryptor): Created.

  • platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::parseDemuxerSrcPadCaps): Use
GStreamerEMEUtilities::createDecryptor instead.

12:20 AM Changeset in webkit [221181] by zandobersek@gmail.com
  • 19 edits in trunk/Source/WebCore

[WebCrypto] Push WorkQueue dispatches for RSA algorithms into shared code
https://bugs.webkit.org/show_bug.cgi?id=175621

Reviewed by Darin Adler.

Push the WorkQueue dispatch code and other code duplicated between the
Mac and libgcrypt implementations of Web Crypto into the shared layer.
This patch focuses on the RSA-based algorithms.

The WorkQueue dispatch code is condensed into two static functions on
the CryptoAlgorithm class, the first variation handling VectorCallback
as the callback type and the other handling BoolCallback. The operation
is kept in a WTF::Function<> object that returns an ExceptionOr<> value
embedding either a Vector<uint8_t> object or a boolean value, as
appropriate for the callback type.

Functions with platform-specific implementations that are invoked from
these asynchronous dispatches are made static and return an ExceptionOr
value. CryptoAlgorithmParameters objects are passed through non-const
references because data getters could lazily construct the underlying
Vector objects. CryptoKey objects are passed through const references.
Implementations can then manually retrieve and further validate any key
or parameter data, as required for that specific implementation. Input
data is passed through const references to the original Vector objects.

No new tests -- no changes in behavior that's covered by existing tests.

  • crypto/CryptoAlgorithm.cpp:

(WebCore::dispatchOperationImpl):
(WebCore::CryptoAlgorithm::dispatchOperation):

  • crypto/CryptoAlgorithm.h:
  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):

  • crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::decrypt):

  • crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
  • crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:

(WebCore::CryptoAlgorithmRSA_PSS::sign):
(WebCore::CryptoAlgorithmRSA_PSS::verify):

  • crypto/algorithms/CryptoAlgorithmRSA_PSS.h:
  • crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:

(WebCore::gcryptEncrypt):
(WebCore::gcryptDecrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

  • crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

  • crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp:

(WebCore::CryptoAlgorithmRSA_PSS::platformSign):
(WebCore::CryptoAlgorithmRSA_PSS::platformVerify):

  • crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

  • crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:

(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

  • crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:

(WebCore::CryptoAlgorithmRSA_PSS::platformSign):
(WebCore::CryptoAlgorithmRSA_PSS::platformVerify):

Note: See TracTimeline for information about the timeline view.