WebKit-https.git
12 months ago[iOS] Add logging channel for hover related content observation
zalan@apple.com [Mon, 3 Dec 2018 20:18:38 +0000 (20:18 +0000)]
[iOS] Add logging channel for hover related content observation
https://bugs.webkit.org/show_bug.cgi?id=192312

Reviewed by Simon Fraser.

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::platformSuspendOrStopActiveDOMObjects):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clearTimeout):
* page/Frame.cpp:
(WebCore::Frame::willDetachPage):
* platform/Logging.h:

Source/WebKit:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):

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

12 months agoEnable swipe snapshot removal logging in release builds
timothy_horton@apple.com [Mon, 3 Dec 2018 20:05:59 +0000 (20:05 +0000)]
Enable swipe snapshot removal logging in release builds
https://bugs.webkit.org/show_bug.cgi?id=192313

Reviewed by Dean Jackson.

* UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::SnapshotRemovalTracker::log const):
This is super-low-traffic and super-helpful logging.
Turn it on all the time.

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

12 months ago[CMake] Sync feature defines
don.olmstead@sony.com [Mon, 3 Dec 2018 19:58:06 +0000 (19:58 +0000)]
[CMake] Sync feature defines
https://bugs.webkit.org/show_bug.cgi?id=191167

Reviewed by Michael Catanzaro.

* Source/cmake/WebKitFeatures.cmake:

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

12 months agoVersioning.
kocsen_chung@apple.com [Mon, 3 Dec 2018 19:45:12 +0000 (19:45 +0000)]
Versioning.

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

12 months agoWeb Inspector: resource combining should be more robust against missing WebKitAdditions
bburg@apple.com [Mon, 3 Dec 2018 19:13:17 +0000 (19:13 +0000)]
Web Inspector: resource combining should be more robust against missing WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=192255
<rdar://problem/46042879>

Reviewed by Joseph Pecoraro.

* Scripts/copy-user-interface-resources.pl:
(combineOrStripResourcesForWebKitAdditions):

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

12 months ago[SOUP] Use SoupSession instead of SoupSessionAsync
mcatanzaro@igalia.com [Mon, 3 Dec 2018 19:11:28 +0000 (19:11 +0000)]
[SOUP] Use SoupSession instead of SoupSessionAsync
https://bugs.webkit.org/show_bug.cgi?id=107451

Reviewed by Carlos Garcia Campos.

With glib-networking 2.57.1, WebKit is no longer able to load TLS error pages. The problem
is a network process deadlock caused by a change in how glib-networking performs certificate
verification. Previously it verified certificates *after* the TLS handshake had completed,
which was weirdly late, but previously not problematic. But now that TLS 1.3 exists,
application data can be sent before certificate verification occurs, which is no good. So I
moved verification to occur during the handshake. I needed to do this regardless because I
need to add a new callback in GnuTLS for another feature. This introduced a deadlock in
WebKit:

 - glib-networking detects an unacceptable certificate, emits accept-certificate signal
 - NetworkDataTaskSoup::tlsConnectionAcceptCertificate calls
   NetworkDataTaskSoup::invalidateAndCancel calls NetworkDataTaskSoup::clearRequest
 - NetworkDataTaskSoup::clearRequest calls soup_session_cancel_message

The problem is that, in the deprecated SoupSessionAsync used by WebKit, cancellation is
always *synchronous* despite the name of the class. So soup_session_cancel_message winds up
doing its thing to close everything out, and that eventually ends up in a synchronous call
to g_tls_connection_gnutls_close. The close operation can't proceed until the TLS handshake
is finished, and the handshake is blocked waiting for WebKit to return from its
accept-certificate handler. So the close operation winds up polling forever waiting for the
handshake to finish. Deadlock.

The only changes required in WebKit to use the modern SoupSession are adjustments for the
new default property values. Most of the properties we used to set explicitly are now
defaults and should be removed. Additionally, SoupSession has default timeouts, which we
want to override to allow NetworkDataTaskSoup to implement its own timeouts.

No new tests because this is covered by TestSSL (which would be failing if run with the
newer glib-networking).

* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession):

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

12 months agoFix the bytecode code generator scripts to pretty print BytecodeStructs.h and Bytecod...
mark.lam@apple.com [Mon, 3 Dec 2018 17:57:51 +0000 (17:57 +0000)]
Fix the bytecode code generator scripts to pretty print BytecodeStructs.h and BytecodeIndices.h.
https://bugs.webkit.org/show_bug.cgi?id=192271

Reviewed by Keith Miller.

This makes the generated code style compliant and human readable.

* generator/Argument.rb:
* generator/DSL.rb:
* generator/Fits.rb:
* generator/Metadata.rb:
* generator/Opcode.rb:

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

12 months agoModify unexpected new line in test after https://trac.webkit.org/changeset/238765...
tsavell@apple.com [Mon, 3 Dec 2018 17:52:27 +0000 (17:52 +0000)]
Modify unexpected new line in test after https://trac.webkit.org/changeset/238765/webkit
https://bugs.webkit.org/show_bug.cgi?id=192201

Unreviewed Test Gardening.

* platform/ios/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt:

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

12 months agoUse WallTime for file time
yusukesuzuki@slowstart.org [Mon, 3 Dec 2018 17:50:20 +0000 (17:50 +0000)]
Use WallTime for file time
https://bugs.webkit.org/show_bug.cgi?id=192287

Reviewed by Darin Adler.

Source/WebCore:

This patch changes a type of file time from double to WallTime to use strongly typed file time.

No behavior change.

* Modules/webdatabase/Database.cpp:
(WebCore::Database::details const):
* Modules/webdatabase/DatabaseDetails.h:
(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::creationTime const):
(WebCore::DatabaseDetails::modificationTime const):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
* fileapi/AsyncFileStream.cpp:
(WebCore::AsyncFileStream::getSize):
* fileapi/AsyncFileStream.h:
* fileapi/File.cpp:
(WebCore::File::lastModified const):
* page/Page.cpp:
(WebCore::Page::userStyleSheetLocationChanged):
(WebCore::Page::userStyleSheet const):
* page/Page.h:
* platform/FileMetadata.h:
* platform/FileStream.cpp:
(WebCore::FileStream::getSize):
* platform/FileStream.h:
* platform/FileSystem.cpp:
(WebCore::FileSystem::getFileModificationTime): Deleted.
* platform/FileSystem.h:
(WebCore::FileSystem::invalidFileTime): Deleted.
(WebCore::FileSystem::isValidFileTime): Deleted.
* platform/glib/FileSystemGlib.cpp:
(WebCore::FileSystem::getFileCreationTime):
(WebCore::FileSystem::getFileModificationTime):
(WebCore::FileSystem::fileMetadataUsingFunction):
* platform/network/BlobDataFileReference.cpp:
(WebCore::BlobDataFileReference::BlobDataFileReference):
(WebCore::BlobDataFileReference::expectedModificationTime):
* platform/network/BlobDataFileReference.h:
* platform/network/FormData.cpp:
(WebCore::FormData::appendFile):
(WebCore::FormData::appendFileRange):
* platform/network/FormData.h:
(WebCore::FormDataElement::FormDataElement):
(WebCore::FormDataElement::EncodedFileData::decode):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::advanceCurrentStream):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody):
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::FileSystem::getFileCreationTime):
(WebCore::FileSystem::getFileModificationTime):
* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::databaseCreationTime):
(WebCore::SQLiteFileSystem::databaseModificationTime):
* platform/sql/SQLiteFileSystem.h:
* platform/win/FileSystemWin.cpp:
(WebCore::FileSystem::getFileModificationTime):
(WebCore::FileSystem::getFileCreationTime):
(WebCore::FileSystem::findDataToFileMetadata):

Source/WebKit:

* Shared/SessionState.h:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DatabaseDetails>::decode):
* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
* UIProcess/API/glib/WebKitWebViewSessionState.cpp:
(decodeHTTPBody):
* UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::PluginInfoCache::getPluginInfo):
(WebKit::PluginInfoCache::updatePluginInfo):
* UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
(WebKit::hasFileChangedSince):
* UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databasesModifiedSince):
(WebKit::LocalStorageDatabaseTracker::originDetails):
* UIProcess/WebStorage/LocalStorageDatabaseTracker.h:
* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::encodeFormDataElement):
(WebKit::decodeFormDataElement):
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
(WebKit::removeAllMediaKeyStorageForOriginPath):
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesForOrigin):
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesModifiedBetweenDates):
(WebKit::WebMediaKeyStorageManager::deleteAllMediaKeyEntries):
* WebProcess/MediaCache/WebMediaKeyStorageManager.h:
* WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toHTTPBody):
(WebKit::toFormData):

Source/WebKitLegacy/win:

* Plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::refresh):

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

12 months agoFix iOS Simulator Release test crashes.
dino@apple.com [Mon, 3 Dec 2018 17:48:59 +0000 (17:48 +0000)]
Fix iOS Simulator Release test crashes.

* platform/network/ios/WebCoreURLResponseIOS.mm:
(WebCore::adjustMIMETypeIfNecessary): Check for null before using the
new MIME type.

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

12 months ago[Cocoa] Check message IDs when decoding Mach messages in IPC::Connection
darin@apple.com [Mon, 3 Dec 2018 17:26:38 +0000 (17:26 +0000)]
[Cocoa] Check message IDs when decoding Mach messages in IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=192300
rdar://problem/46215523

Reviewed by Chris Dumez.

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::sendOutgoingMessage): Use message IDs other than 0 and 1 for
the messages, as suggested by an expert at Apple.
(IPC::createMessageDecoder): Update for the new message IDs.
(IPC::Connection::receiveSourceEventHandler): Ignore messages with unexpected
message IDs.

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

12 months ago[Cocoa] Check descriptor types in createMessageDecoder
darin@apple.com [Mon, 3 Dec 2018 17:18:57 +0000 (17:18 +0000)]
[Cocoa] Check descriptor types in createMessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=192302

Reviewed by Chris Dumez.

Not sure how to construct a test case for Connection, so not adding any
tests at this time.

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::createMessageDecoder): Check descriptor types and return nullptr if they
are incorrect. Retained the assertions to help with debugging.
(IPC::Connection::receiveSourceEventHandler): Ignore the message if no decoder
is created, which means the message is invalid.

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

12 months agoAlignment padding needs to be zeroed out in IPC::Encoder
darin@apple.com [Mon, 3 Dec 2018 17:16:03 +0000 (17:16 +0000)]
Alignment padding needs to be zeroed out in IPC::Encoder
https://bugs.webkit.org/show_bug.cgi?id=192304

Reviewed by Chris Dumez.

Might be useful to make a regression test for this, but I couldn't find any
other tests for this code.

* Platform/IPC/Encoder.cpp:
(IPC::Encoder::grow): Use std::memset to zero-fill padding bytes.

* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::HistoryEntryDataEncoder::grow): Ditto.

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

12 months ago[Cocoa] Streamline sandbox code a tiny bit
darin@apple.com [Mon, 3 Dec 2018 16:45:42 +0000 (16:45 +0000)]
[Cocoa] Streamline sandbox code a tiny bit
https://bugs.webkit.org/show_bug.cgi?id=192299

Reviewed by Anders Carlsson.

* Shared/mac/SandboxUtilities.mm:
(WebKit::processHasContainer): Removed separate function, just use the
pathForProcessContainer instead of repeating logic. This costs a tiny
bit of memory allocation overhead the first time this function is called,
but in return we can eliminate a second copy of the code to call
sandbox_container_path_for_pid.

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

12 months ago[MediaStream] 'devicechange' event when more capture device information are revealed.
eric.carlson@apple.com [Mon, 3 Dec 2018 16:28:31 +0000 (16:28 +0000)]
[MediaStream] 'devicechange' event when more capture device information are revealed.
https://bugs.webkit.org/show_bug.cgi?id=192268

Reviewed by Youenn Fablet.

Source/WebCore:

Test: fast/mediastream/enumerate-devices-change-event.html

* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::start): Remove code to modify device based on access, that is
now done in the UI process.
(WebCore::MediaDevicesRequest::filterDeviceList): Deleted.
* Modules/mediastream/MediaDevicesRequest.h:
* platform/mediastream/RealtimeMediaSourceCenter.h:

Source/WebKit:

* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Call captureDevicesChanged
if a filtered device list was returned previously.
(WebKit::UserMediaPermissionRequestManagerProxy::resetAccess): Clear m_hasFilteredDeviceList.
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedVideoOrAudioAccess): New.
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Filter device
list and strip device IDs if gUM permission hasn't been given.
(WebKit::UserMediaPermissionRequestManagerProxy::watchdogTimerFired): Clear m_hasFilteredDeviceList.
* UIProcess/UserMediaPermissionRequestManagerProxy.h:

LayoutTests:

* fast/mediastream/device-change-event-2.html: Fix bogus title.
* fast/mediastream/enumerate-devices-change-event-expected.txt: Added.
* fast/mediastream/enumerate-devices-change-event.html: Added.

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

12 months ago[iOSMac] Unable to upload non-image files using drag and drop in WKWebView
wenson_hsieh@apple.com [Mon, 3 Dec 2018 15:42:12 +0000 (15:42 +0000)]
[iOSMac] Unable to upload non-image files using drag and drop in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=192283
<rdar://problem/46399461>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Currently on iOS, file URLs aren't generally written to the pasteboard during drag and drop unless the
application providing the data explicitly registers "public.file-url" to item providers. As such, our current
logic on iOS for handling drops does not attempt to prevent "public.file-url" from being advertised as the
"text/uri-list" MIME type in DataTransfer, though we do currently succeed in suppressing access to the file URL.

However, on iOSMac, the scenario in which file URLs are registered to item providers becomes pertinent when
uploading files from other macOS apps (e.g. Finder) into a WKWebView running in iOSMac. Furthermore, the
`preferredPresentationStyle` flag on `NSItemProvider` is unavailable in iOSMac; currently, this flag is our
primary cue on iOS that an item should be treated as an attachment rather than inline data. In order to support
file uploads in iOSMac, we make several adjustments to drop handling logic in iOS to handle the case where the
"public.file-url" type is registered. See below for more details.

Tests:  DragAndDropTests.DataTransferExposePlainTextWithFileURLAsFile
        DragAndDropTests.DataTransferGetDataWhenDroppingImageWithFileURL

* platform/PasteboardItemInfo.h:
(WebCore::PasteboardItemInfo::encode const):
(WebCore::PasteboardItemInfo::decode):

Add a new flag that is set if and only if the item provider contains the "public.file-url" type, and also
contains some non-URL data type that conforms to one of the file types supported for file uploads (i.e.
"public.content", zip archives, and folders).

* platform/cocoa/PasteboardCocoa.mm:
(WebCore::Pasteboard::fileContentState):

Consider the pasteboard to contain files in the case where one or more of the items contains a file URL, along
with some other pasteboard data that can be represented as a file upload.

* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::informationForItemAtIndex):
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

If the pasteboard contains "public.file-url", don't consider "text/uri-list" to be one of the data types that's
safe to expose to the page. Our current behavior in this case is that we will advertise "text/uri-list" as a
pasteboard type in the DataTransfer, but if the page attempts to request this information, we simply return the
empty string. Instead, we shouldn't expose "text/uri-list" as a type in the first place.

* platform/ios/WebItemProviderPasteboard.h:
* platform/ios/WebItemProviderPasteboard.mm:

Add a few more `__bridge`-ing casts where appropriate.

(typeConformsToTypes):

Move this further up the file so that it can be used in `NSItemProvider (WebCoreExtras)`.

(-[NSItemProvider web_containsFileURLAndFileUploadContent]):

Add a helper method on NSItemProvider to determine whether an item provider has a file URL, as well as a content
type suitable for file uploads.

(-[WebItemProviderLoadResult canBeRepresentedAsFileUpload]):

This currently always returns `NO` in iOSMac; instead, return `YES` on both iOS and iOSMac in the case where the
item provider contains a file URL and content which may be uploaded.

(-[WebItemProviderPasteboard preferredFileUploadURLAtIndex:fileType:]):
(-[WebItemProviderPasteboard typeIdentifiersToLoad:]):

Refactor this to take an `NSItemProvider` instead of a list of type identifiers, and bail out of loading data
for "public.url" if the item provider contains a file URL.

(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):
(-[WebItemProviderPasteboard typeIdentifiersToLoadForRegisteredTypeIdentifiers:]): Deleted.

Tools:

Add a new API test to check that an item provider which contains plain text data and a file URL (but is not
marked as an attachment) is still treated as an attachment upon drop. Furthermore, verify that "text/uri-list"
does not expose the actual file URL written to the item provider.

Additionally, rebaseline an existing API test to remove an extraneous "text/uri-list" type that appears in
`DataTransfer.types`, but whose data is inaccessible via `getData` anyways.

* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:

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

12 months agoGardening: unskip marsaglia.js on arm
guijemont@igalia.com [Mon, 3 Dec 2018 12:47:21 +0000 (12:47 +0000)]
Gardening: unskip marsaglia.js on arm

Unreviewed Test Gardening.

Bug 192152 has been fixed by r238778, so this test should not time out
any more.

* js/slow-stress/script-tests/marsaglia.js:

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

12 months ago[EME][ClearKey] Add layout test for dynamic change of key and video resolution
commit-queue@webkit.org [Mon, 3 Dec 2018 11:25:08 +0000 (11:25 +0000)]
[EME][ClearKey] Add layout test for dynamic change of key and video resolution
https://bugs.webkit.org/show_bug.cgi?id=191926

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2018-12-03
Reviewed by Xabier Rodriguez-Calvar.

       Add new layout tests in order to test the playback of ClearKey encrypted video content with
       a change of key and resolution during decoding.
       The test starts by playing a ClearKey video with a resolution of 240p, then, in the third second,
       the resolution of the video will change to 480p with a new ClearKey key.

* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-0.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-1.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-2.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-3.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-0.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-4.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-5.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-6.mp4: Added.
* media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse-multikey-expected.txt: Added.
* media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse-multikey.html: Added.
* media/encrypted-media/medias-enc.js:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

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

12 months agoRemove Network Capture
krollin@apple.com [Mon, 3 Dec 2018 08:22:56 +0000 (08:22 +0000)]
Remove Network Capture
https://bugs.webkit.org/show_bug.cgi?id=192296
<rdar://problem/46408648>

Reviewed by Daniel Bates.

r209498 introduced an embedded record and replay facility for network
resource loading. This facility was added in order to support a new
implementation of the PLT and related performance tests. The PLT is
currenty taking a different direction, and so this record/replace
facility is no longer needed. Removing it as unused code.

* CMakeLists.txt:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::setDefersLoading):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::willPerformHTTPRedirection):
(WebKit::NetworkLoad::notifyDidReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
(WebKit::NetworkLoad::didCompleteWithError):
(WebKit::NetworkLoad::initializeForRecord): Deleted.
(WebKit::NetworkLoad::initializeForReplay): Deleted.
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::terminate):
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/capture/NetworkCaptureEvent.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureEvent.h: Removed.
* NetworkProcess/capture/NetworkCaptureLogging.h: Removed.
* NetworkProcess/capture/NetworkCaptureManager.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureManager.h: Removed.
* NetworkProcess/capture/NetworkCaptureRecorder.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureRecorder.h: Removed.
* NetworkProcess/capture/NetworkCaptureReplayer.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureReplayer.h: Removed.
* NetworkProcess/capture/NetworkCaptureResource.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureResource.h: Removed.
* NetworkProcess/capture/NetworkDataTaskReplay.cpp: Removed.
* NetworkProcess/capture/NetworkDataTaskReplay.h: Removed.
* NetworkProcess/capture/json.hpp: Removed.
* Sources.txt:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* WebKit.xcodeproj/project.pbxproj:
* config.h:

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

12 months agoAdd a runtime feature flag for LayoutFormattingContext.
zalan@apple.com [Mon, 3 Dec 2018 03:24:42 +0000 (03:24 +0000)]
Add a runtime feature flag for LayoutFormattingContext.
https://bugs.webkit.org/show_bug.cgi?id=192280

Reviewed by Simon Fraser.

* Configurations/FeatureDefines.xcconfig:
Source/WebCore:

* page/FrameViewLayoutContext.cpp:
(WebCore::layoutUsingFormattingContext):
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextEnabled):
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextEnabled const):

Source/WebKit:

* Shared/WebPreferences.yaml:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

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

12 months ago[ESNext][BigInt] Implement support for "<<" and ">>"
ticaiolima@gmail.com [Sun, 2 Dec 2018 17:08:44 +0000 (17:08 +0000)]
[ESNext][BigInt] Implement support for "<<" and ">>"
https://bugs.webkit.org/show_bug.cgi?id=186233

Reviewed by Yusuke Suzuki.

JSTests:

* stress/big-int-left-shift-general.js: Added.
* stress/big-int-left-shift-range-error.js: Added.
* stress/big-int-left-shift-type-error.js: Added.
* stress/big-int-left-shift-wrapped-value.js: Added.
* stress/big-int-right-shift-general.js: Added.
* stress/big-int-right-shift-type-error.js: Added.
* stress/big-int-right-shift-wrapped-value.js: Added.
* stress/left-shift-to-primitive-precedence.js: Added.
* stress/right-shift-to-primitive-precedence.js: Added.

Source/JavaScriptCore:

This patch is introducing the support for BigInt into lshift and
rshift into LLint and Baseline layers.

* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::leftShift):
(JSC::JSBigInt::signedRightShift):
(JSC::JSBigInt::leftShiftByAbsolute):
(JSC::JSBigInt::rightShiftByAbsolute):
(JSC::JSBigInt::rightShiftByMaximum):
(JSC::JSBigInt::toShiftAmount):
* runtime/JSBigInt.h:

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

12 months agoCleanup WebKit Features
don.olmstead@sony.com [Sun, 2 Dec 2018 02:03:03 +0000 (02:03 +0000)]
Cleanup WebKit Features
https://bugs.webkit.org/show_bug.cgi?id=192262

Reviewed by Michael Catanzaro.

.:

Removes unused ENABLE flags from the listing in WebKitFeatures.cmake
and any other associated code. Synced the options in FeatureList.pm to
the feature listing. Sorts the ENABLE flags.

* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Tools:

Removes obsolete ENABLE options and variable names. Syncs the option's
descriptions with what is present in WebKitFeatures.cmake. Sorts the
options based on the associated define.

* Scripts/webkitperl/FeatureList.pm:

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

12 months agoLifetime of HTMLMediaElement is not properly handled in asynchronous actions
bfulgham@apple.com [Sun, 2 Dec 2018 01:52:59 +0000 (01:52 +0000)]
Lifetime of HTMLMediaElement is not properly handled in asynchronous actions
https://bugs.webkit.org/show_bug.cgi?id=192087
<rdar://problem/45975230>

Reviewed by Dean Jackson.

The HTMLMediaElement performs operations that allow arbitrary JavaScript to run. We need to make
sure the active media element is protected until those calls complete.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didFinishInsertingNode):
(WebCore::HTMLMediaElement::exitFullscreen):
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured):
(WebCore::HTMLMediaElement::scheduleConfigureTextTracks):
(WebCore::HTMLMediaElement::scheduleMediaEngineWasUpdated):
(WebCore::HTMLMediaElement::scheduleUpdatePlayState):
(WebCore::HTMLMediaElement::scheduleUpdateMediaState):

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

12 months ago[PSON] process-swapping may occur even though opener has handle to openee
cdumez@apple.com [Sat, 1 Dec 2018 22:40:07 +0000 (22:40 +0000)]
[PSON] process-swapping may occur even though opener has handle to openee
https://bugs.webkit.org/show_bug.cgi?id=192277

Reviewed by Antti Koivisto.

Source/WebCore:

Process-swapping may occur even though opener has handle to openee, which is not Web-compatible. The reason
is that we rely on the window not having an opener to process-swap. However, the opener can be disowned,
which does not mean that the opener doesn't still have a handle to its openee.

To address the issue:
- Renamed openedViaWindowOpenWithOpener flag to openedByDOMWithOpener
- Make sure this flag gets set if an opener have ever been set for the browsing context
- Do not process-swap if this flag is set
- Drop opener from NavigationAction since it does not provide meaningful information to decide whether
  to process-swap or not.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setOpener):
* loader/NavigationAction.h:
(WebCore::NavigationAction::openedByDOMWithOpener const):
(WebCore::NavigationAction::setOpenedByDOMWithOpener):
(WebCore::NavigationAction::setOpener): Deleted.
(WebCore::NavigationAction::opener const): Deleted.
(WebCore::NavigationAction::openedViaWindowOpenWithOpener const): Deleted.
(WebCore::NavigationAction::setOpenedViaWindowOpenWithOpener): Deleted.
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
* page/Page.h:
(WebCore::Page::openedByDOMWithOpener const):
(WebCore::Page::setOpenedByDOMWithOpener):
(WebCore::Page::openedViaWindowOpenWithOpener const): Deleted.
(WebCore::Page::setOpenedViaWindowOpenWithOpener): Deleted.

Source/WebKit:

* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h:
* UIProcess/API/APINavigation.h:
(API::Navigation::openedByDOMWithOpener const):
(API::Navigation::openedViaWindowOpenWithOpener const): Deleted.
(API::Navigation::opener const): Deleted.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

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

12 months agoHeap.h refers to the non-existent HeapStatistics
simon.fraser@apple.com [Sat, 1 Dec 2018 22:09:08 +0000 (22:09 +0000)]
Heap.h refers to the non-existent HeapStatistics
https://bugs.webkit.org/show_bug.cgi?id=187882

Reviewed by Keith Miller.

Just remove the "friend class HeapStatistics".

* heap/Heap.h:

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

12 months agoModernize version check for _suppressedAutoAddedHTTPHeaders
ap@apple.com [Sat, 1 Dec 2018 22:04:44 +0000 (22:04 +0000)]
Modernize version check for _suppressedAutoAddedHTTPHeaders
https://bugs.webkit.org/show_bug.cgi?id=192175

Reviewed by Tim Horton.

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h: Curiously, it was forward declared twice, for no
apparent reason.

Source/WebKit:

* NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
Also removed selector check - we only need to support running on 10.13.0 when building
with 10.13.0 SDK.

Source/WTF:

* wtf/Platform.h:

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

12 months agoUnreviewed, rolling out r238764.
jbedard@apple.com [Sat, 1 Dec 2018 21:09:08 +0000 (21:09 +0000)]
Unreviewed, rolling out r238764.

Breaks existing layout tests

Reverted changeset:

"webkitpy: Support unicode in MeteredStream"
https://bugs.webkit.org/show_bug.cgi?id=192260
https://trac.webkit.org/changeset/238764

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

12 months agowebkit.org/css-status is broken
simon.fraser@apple.com [Sat, 1 Dec 2018 20:08:22 +0000 (20:08 +0000)]
webkit.org/css-status is broken
https://bugs.webkit.org/show_bug.cgi?id=192278

Reviewed by Zalan Bujtas.

Remove a stray '='.

* wp-content/themes/webkit/css-status.php:

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

12 months agoAdd generic implementations to FileSystemPOSIX.cpp
chris.reid@sony.com [Sat, 1 Dec 2018 19:34:44 +0000 (19:34 +0000)]
Add generic implementations to FileSystemPOSIX.cpp
https://bugs.webkit.org/show_bug.cgi?id=192263

Reviewed by Yusuke Suzuki.

No new tests, no change in behavior.

Add generic FileSystemPOSIX implementations for:
    - stringFromFileSystemRepresentation
    - fileSystemRepresentation
    - moveFile
    - getVolumeFreeSpace

Also removing an unneeded PLATFORM(GTK) check since GTK is only using FileSystemGlib

* platform/posix/FileSystemPOSIX.cpp:

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

12 months ago[LFC][BFC] Call instrinsicWidthConstraints on the correct formatting state.
zalan@apple.com [Sat, 1 Dec 2018 16:03:52 +0000 (16:03 +0000)]
[LFC][BFC] Call instrinsicWidthConstraints on the correct formatting state.
https://bugs.webkit.org/show_bug.cgi?id=192274

Reviewed by Antti Koivisto.

When we call intrinsic width on a formatting context root, we need to use the formatting state
that this root constructs and not the one it lives in.

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::instrinsicWidthConstraints const):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::instrinsicWidthConstraints const): it's the caller's responsiblitiy to store the intrinsic values.

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

12 months ago[GStreamer][WebRTC] Build opus decoder support in libwebrtc
commit-queue@webkit.org [Sat, 1 Dec 2018 15:12:42 +0000 (15:12 +0000)]
[GStreamer][WebRTC] Build opus decoder support in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=192226

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

Somehow that was overlooked at some point (it used to work).

* CMakeLists.txt:

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

12 months agoMove URL tests from TestWebKitAPI to TestWTF
yusukesuzuki@slowstart.org [Sat, 1 Dec 2018 12:23:25 +0000 (12:23 +0000)]
Move URL tests from TestWebKitAPI to TestWTF
https://bugs.webkit.org/show_bug.cgi?id=192275

Reviewed by Keith Miller.

Since URL is moved from WebCore to WTF, we also move tests for them from TestWebKitAPI (TestWebCore) to TestWTF.
But we still have some tests in TestWebCore since only WebCore implements TextEncoding. That part is now decoupled
from URLParser tests and new URLParserTextEncoding.cpp is created.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/URL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URL.cpp.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WTF/URLParser.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: Added.
(TestWebKitAPI::ExpectedParts::isInvalid const):
(TestWebKitAPI::eq):
(TestWebKitAPI::insertTabAtLocation):
(TestWebKitAPI::invalidParts):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):

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

12 months ago[JSC] Keep TypeMaybeBigInt small
yusukesuzuki@slowstart.org [Sat, 1 Dec 2018 08:38:53 +0000 (08:38 +0000)]
[JSC] Keep TypeMaybeBigInt small
https://bugs.webkit.org/show_bug.cgi?id=192203

Reviewed by Saam Barati.

As BigInt is being implemented, more and more bytecodes start returning BigInt.
It means that ResultType of these bytecodes include TypeMaybeBigInt. However,
TypeMaybeBigInt was large number 0x20, leading to wide instruction since ResultType
easily becomes larger than 32 (e.g. TypeInt32 | TypeMaybeBigInt == 33).

This patch sorts the numbers of TypeMaybeXXX based on the frequency of appearance in
the code.

* parser/ResultType.h:

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

12 months agoFix Windows build.
achristensen@apple.com [Sat, 1 Dec 2018 06:17:55 +0000 (06:17 +0000)]
Fix Windows build.

* UIProcess/API/C/curl/WKWebsiteDataStoreRefCurl.cpp:
(WKWebsiteDataStoreEnableCustomNetworkProxySettings):

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

12 months agoUnreviewed LFC passing test list update.
zalan@apple.com [Sat, 1 Dec 2018 05:58:58 +0000 (05:58 +0000)]
Unreviewed LFC passing test list update.

* LayoutReloaded/misc/LFC-passing-tests.txt:

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

12 months agoFix Windows build.
achristensen@apple.com [Sat, 1 Dec 2018 04:58:40 +0000 (04:58 +0000)]
Fix Windows build.

* WebView.cpp:

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

12 months agoFix Windows build.
achristensen@apple.com [Sat, 1 Dec 2018 04:49:56 +0000 (04:49 +0000)]
Fix Windows build.

Source/WebCore:

* platform/network/curl/CookieJarCurl.cpp:
* platform/network/curl/PublicSuffixCurl.cpp:

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.h:

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

12 months agoFix Windows build.
achristensen@apple.com [Sat, 1 Dec 2018 04:42:51 +0000 (04:42 +0000)]
Fix Windows build.

Source/WebCore:

* platform/network/curl/CookieJarCurl.h:

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.h:

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

12 months agoFix Windows build after r238771
achristensen@apple.com [Sat, 1 Dec 2018 04:28:18 +0000 (04:28 +0000)]
Fix Windows build after r238771
https://bugs.webkit.org/show_bug.cgi?id=190234

* wtf/URLParser.h:
Just make defaultPortForProtocol public so we don't have to worry about DLL linkage.

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

12 months agoMove URL from WebCore to WTF
keith_miller@apple.com [Sat, 1 Dec 2018 03:28:36 +0000 (03:28 +0000)]
Move URL from WebCore to WTF
https://bugs.webkit.org/show_bug.cgi?id=190234

Patch by Alex Christensen <achristensen@webkit.org> on 2018-11-30
Reviewed by Keith Miller.

Source/WebCore:

A URL is a low-level concept that does not depend on other classes in WebCore.
We are starting to use URLs in JavaScriptCore for modules.
I need URL and URLParser in a place with fewer dependencies for rdar://problem/44119696

* Modules/applepay/ApplePaySession.h:
* Modules/applepay/ApplePayValidateMerchantEvent.h:
* Modules/applepay/PaymentCoordinator.cpp:
* Modules/applepay/PaymentCoordinator.h:
* Modules/applepay/PaymentCoordinatorClient.h:
* Modules/applepay/PaymentSession.h:
* Modules/applicationmanifest/ApplicationManifest.h:
* Modules/beacon/NavigatorBeacon.cpp:
* Modules/cache/DOMCache.cpp:
* Modules/fetch/FetchLoader.h:
* Modules/mediasession/MediaSessionMetadata.h:
* Modules/mediasource/MediaSourceRegistry.cpp:
* Modules/mediasource/MediaSourceRegistry.h:
* Modules/mediastream/MediaStream.cpp:
* Modules/mediastream/MediaStreamRegistry.cpp:
* Modules/mediastream/MediaStreamRegistry.h:
* Modules/navigatorcontentutils/NavigatorContentUtilsClient.h:
* Modules/notifications/Notification.h:
* Modules/paymentrequest/MerchantValidationEvent.h:
* Modules/paymentrequest/PaymentRequest.h:
* Modules/plugins/PluginReplacement.h:
* Modules/webaudio/AudioContext.h:
* Modules/websockets/ThreadableWebSocketChannel.h:
* Modules/websockets/WebSocket.h:
* Modules/websockets/WebSocketHandshake.cpp:
* Modules/websockets/WebSocketHandshake.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* PlatformMac.cmake:
* PlatformWin.cmake:
* Sources.txt:
* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/CachedModuleScriptLoader.h:
* bindings/js/CachedScriptFetcher.h:
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeIfJavaScriptURL):
* bindings/js/ScriptController.h:
* bindings/js/ScriptModuleLoader.h:
* bindings/js/ScriptSourceCode.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/JSInterfaceName.cpp:
* bindings/scripts/test/JS/JSMapLike.cpp:
* bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestCEReactions.cpp:
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
* bindings/scripts/test/JS/JSTestCallTracer.cpp:
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
* bindings/scripts/test/JS/JSTestDOMJIT.cpp:
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
* bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
* bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
* bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
* bindings/scripts/test/JS/JSTestIterable.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
* bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
* bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestPluginInterface.cpp:
* bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
* bindings/scripts/test/JS/JSTestSerialization.cpp:
* bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
* bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestStringifier.cpp:
* bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
* bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
* bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
* bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
* bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
* bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):
* contentextensions/ContentExtensionsBackend.h:
* css/CSSValue.h:
* css/StyleProperties.h:
* css/StyleResolver.h:
* css/StyleSheet.h:
* css/StyleSheetContents.h:
* css/parser/CSSParserContext.h:
(WebCore::CSSParserContextHash::hash):
(WTF::HashTraits<WebCore::CSSParserContext>::constructDeletedValue):
* css/parser/CSSParserIdioms.h:
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::setDataFromItemList):
* dom/Document.cpp:
(WebCore::Document::setURL):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::completeURL const):
(WebCore::Document::ensureTemplateDocument):
* dom/Document.h:
(WebCore::Document::urlForBindings const):
* dom/Element.cpp:
(WebCore::Element::isJavaScriptURLAttribute const):
* dom/InlineStyleSheetOwner.cpp:
(WebCore::parserContextForElement):
* dom/Node.cpp:
(WebCore::Node::baseURI const):
* dom/Node.h:
* dom/ScriptElement.h:
* dom/ScriptExecutionContext.h:
* dom/SecurityContext.h:
* editing/Editor.cpp:
(WebCore::Editor::pasteboardWriterURL):
* editing/Editor.h:
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
* editing/cocoa/DataDetection.h:
* editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::userVisibleString):
* editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::replaceRichContentWithAttachments):
(WebCore::WebContentReader::readWebArchive):
* editing/mac/EditorMac.mm:
(WebCore::Editor::plainTextFromPasteboard):
(WebCore::Editor::writeImageToPasteboard):
* editing/markup.cpp:
(WebCore::removeSubresourceURLAttributes):
(WebCore::createFragmentFromMarkup):
* editing/markup.h:
* fileapi/AsyncFileStream.cpp:
* fileapi/AsyncFileStream.h:
* fileapi/Blob.h:
* fileapi/BlobURL.cpp:
* fileapi/BlobURL.h:
* fileapi/File.h:
* fileapi/FileReaderLoader.h:
* fileapi/ThreadableBlobRegistry.h:
* history/CachedFrame.h:
* history/HistoryItem.h:
* html/DOMURL.cpp:
(WebCore::DOMURL::create):
* html/DOMURL.h:
* html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::archiveResourceURL):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAllowed const):
(WebCore::HTMLFrameElementBase::openURL):
(WebCore::HTMLFrameElementBase::setLocation):
* html/HTMLInputElement.h:
* html/HTMLLinkElement.h:
* html/HTMLMediaElement.cpp:
(WTF::LogArgument<URL>::toString):
(WTF::LogArgument<WebCore::URL>::toString): Deleted.
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL):
* html/ImageBitmap.h:
* html/MediaFragmentURIParser.h:
* html/PublicURLManager.cpp:
* html/PublicURLManager.h:
* html/URLInputType.cpp:
* html/URLRegistry.h:
* html/URLSearchParams.cpp:
(WebCore::URLSearchParams::URLSearchParams):
(WebCore::URLSearchParams::toString const):
(WebCore::URLSearchParams::updateURL):
(WebCore::URLSearchParams::updateFromAssociatedURL):
* html/URLUtils.h:
(WebCore::URLUtils<T>::setHost):
(WebCore::URLUtils<T>::setPort):
* html/canvas/CanvasRenderingContext.cpp:
* html/canvas/CanvasRenderingContext.h:
* html/parser/HTMLParserIdioms.cpp:
* html/parser/XSSAuditor.cpp:
(WebCore::semicolonSeparatedValueContainsJavaScriptURL):
(WebCore::XSSAuditor::filterScriptToken):
(WebCore::XSSAuditor::filterObjectToken):
(WebCore::XSSAuditor::filterParamToken):
(WebCore::XSSAuditor::filterEmbedToken):
(WebCore::XSSAuditor::filterFormToken):
(WebCore::XSSAuditor::filterInputToken):
(WebCore::XSSAuditor::filterButtonToken):
(WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
(WebCore::XSSAuditor::isLikelySafeResource):
* html/parser/XSSAuditor.h:
* html/parser/XSSAuditorDelegate.h:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::openInNewTab):
* inspector/InspectorInstrumentation.h:
* inspector/agents/InspectorNetworkAgent.cpp:
* inspector/agents/InspectorNetworkAgent.h:
* inspector/agents/InspectorPageAgent.h:
* inspector/agents/InspectorWorkerAgent.h:
* loader/ApplicationManifestLoader.h:
* loader/CookieJar.h:
* loader/CrossOriginAccessControl.h:
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::maybeLoadEmpty):
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::serverRedirectSourceForHistory const):
* loader/DocumentWriter.h:
* loader/FormSubmission.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::createWindow):
* loader/FrameLoaderClient.h:
* loader/HistoryController.cpp:
(WebCore::HistoryController::currentItemShouldBeReplaced const):
(WebCore::HistoryController::initializeItem):
* loader/LinkLoader.h:
* loader/LoadTiming.h:
* loader/LoaderStrategy.h:
* loader/MixedContentChecker.cpp:
(WebCore::MixedContentChecker::checkFormForMixedContent const):
* loader/MixedContentChecker.h:
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::shouldScheduleNavigation const):
* loader/NavigationScheduler.h:
* loader/PingLoader.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
* loader/ResourceLoadInfo.h:
* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::requestStorageAccessUnderOpener):
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatistics.h:
* loader/ResourceLoader.h:
* loader/ResourceTiming.h:
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame):
* loader/SubframeLoader.h:
* loader/SubstituteData.h:
* loader/appcache/ApplicationCache.h:
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.h:
* loader/appcache/ApplicationCacheStorage.cpp:
* loader/appcache/ApplicationCacheStorage.h:
* loader/appcache/ManifestParser.cpp:
* loader/appcache/ManifestParser.h:
* loader/archive/ArchiveResourceCollection.h:
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createFromSelection):
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResourceLoader.h:
* loader/cache/CachedStyleSheetClient.h:
* loader/cache/MemoryCache.h:
* loader/icon/IconLoader.h:
* loader/mac/LoaderNSURLExtras.mm:
* page/CaptionUserPreferencesMediaAF.cpp:
* page/ChromeClient.h:
* page/ClientOrigin.h:
* page/ContextMenuClient.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::isInsecureScriptAccess):
* page/DragController.cpp:
(WebCore::DragController::startDrag):
* page/DragController.h:
* page/EventSource.h:
* page/Frame.h:
* page/FrameView.h:
* page/History.h:
* page/Location.cpp:
(WebCore::Location::url const):
(WebCore::Location::reload):
* page/Location.h:
* page/Page.h:
* page/PageSerializer.h:
* page/Performance.h:
* page/PerformanceResourceTiming.cpp:
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::create):
* page/SecurityOrigin.h:
* page/SecurityOriginData.h:
* page/SecurityOriginHash.h:
* page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::shouldInheritSecurityOriginFromOwner):
* page/SecurityPolicy.h:
* page/SettingsBase.h:
* page/ShareData.h:
* page/SocketProvider.h:
* page/UserContentProvider.h:
* page/UserContentURLPattern.cpp:
* page/UserContentURLPattern.h:
* page/UserScript.h:
* page/UserStyleSheet.h:
* page/VisitedLinkStore.h:
* page/csp/ContentSecurityPolicy.h:
* page/csp/ContentSecurityPolicyClient.h:
* page/csp/ContentSecurityPolicyDirectiveList.h:
* page/csp/ContentSecurityPolicySource.cpp:
(WebCore::ContentSecurityPolicySource::portMatches const):
* page/csp/ContentSecurityPolicySource.h:
* page/csp/ContentSecurityPolicySourceList.cpp:
* page/csp/ContentSecurityPolicySourceList.h:
* page/csp/ContentSecurityPolicySourceListDirective.cpp:
* platform/ContentFilterUnblockHandler.h:
* platform/ContextMenuItem.h:
* platform/Cookie.h:
* platform/CookiesStrategy.h:
* platform/DragData.h:
* platform/DragImage.h:
* platform/FileStream.h:
* platform/LinkIcon.h:
* platform/Pasteboard.cpp:
(WebCore::Pasteboard::canExposeURLToDOMWhenPasteboardContainsFiles):
* platform/Pasteboard.h:
* platform/PasteboardStrategy.h:
* platform/PasteboardWriterData.cpp:
(WebCore::PasteboardWriterData::setURLData):
(WebCore::PasteboardWriterData::setURL): Deleted.
* platform/PasteboardWriterData.h:
* platform/PlatformPasteboard.h:
* platform/PromisedAttachmentInfo.h:
* platform/SSLKeyGenerator.h:
* platform/SchemeRegistry.cpp:
(WebCore::SchemeRegistry::isBuiltinScheme):
* platform/SharedBuffer.h:
* platform/SharedStringHash.cpp:
* platform/SharedStringHash.h:
* platform/SourcesSoup.txt:
* platform/UserAgent.h:
* platform/UserAgentQuirks.cpp:
* platform/UserAgentQuirks.h:
* platform/cocoa/NetworkExtensionContentFilter.h:
* platform/cocoa/NetworkExtensionContentFilter.mm:
(WebCore::NetworkExtensionContentFilter::willSendRequest):
* platform/glib/SSLKeyGeneratorGLib.cpp: Copied from Source/WebCore/page/ShareData.h.
(WebCore::getSupportedKeySizes):
(WebCore::signedPublicKeyAndChallengeString):
* platform/glib/UserAgentGLib.cpp:
* platform/graphics/GraphicsContext.h:
* platform/graphics/Image.cpp:
* platform/graphics/Image.h:
* platform/graphics/ImageObserver.h:
* platform/graphics/ImageSource.cpp:
* platform/graphics/ImageSource.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcSetUri):
* platform/graphics/iso/ISOVTTCue.cpp:
* platform/graphics/win/GraphicsContextDirect2D.cpp:
* platform/gtk/DragImageGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PlatformPasteboardGtk.cpp:
* platform/gtk/SelectionData.h:
* platform/ios/PasteboardIOS.mm:
* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::write):
* platform/ios/QuickLook.h:
* platform/mac/DragDataMac.mm:
(WebCore::DragData::asPlainText const):
* platform/mac/DragImageMac.mm:
* platform/mac/FileSystemMac.mm:
(WebCore::FileSystem::setMetadataURL):
* platform/mac/PasteboardMac.mm:
* platform/mac/PasteboardWriter.mm:
(WebCore::createPasteboardWriter):
* platform/mac/PlatformPasteboardMac.mm:
* platform/mac/PublicSuffixMac.mm:
(WebCore::decodeHostName):
* platform/mac/SSLKeyGeneratorMac.mm:
* platform/mac/WebCoreNSURLExtras.h:
* platform/mac/WebCoreNSURLExtras.mm:
(WebCore::isArmenianLookalikeCharacter): Deleted.
(WebCore::isArmenianScriptCharacter): Deleted.
(WebCore::isASCIIDigitOrValidHostCharacter): Deleted.
(WebCore::isLookalikeCharacter): Deleted.
(WebCore::whiteListIDNScript): Deleted.
(WebCore::readIDNScriptWhiteListFile): Deleted.
(WebCore::allCharactersInIDNScriptWhiteList): Deleted.
(WebCore::isSecondLevelDomainNameAllowedByTLDRules): Deleted.
(WebCore::isRussianDomainNameCharacter): Deleted.
(WebCore::allCharactersAllowedByTLDRules): Deleted.
(WebCore::mapHostNameWithRange): Deleted.
(WebCore::hostNameNeedsDecodingWithRange): Deleted.
(WebCore::hostNameNeedsEncodingWithRange): Deleted.
(WebCore::decodeHostNameWithRange): Deleted.
(WebCore::encodeHostNameWithRange): Deleted.
(WebCore::decodeHostName): Deleted.
(WebCore::encodeHostName): Deleted.
(WebCore::collectRangesThatNeedMapping): Deleted.
(WebCore::collectRangesThatNeedEncoding): Deleted.
(WebCore::collectRangesThatNeedDecoding): Deleted.
(WebCore::applyHostNameFunctionToMailToURLString): Deleted.
(WebCore::applyHostNameFunctionToURLString): Deleted.
(WebCore::mapHostNames): Deleted.
(WebCore::stringByTrimmingWhitespace): Deleted.
(WebCore::URLByTruncatingOneCharacterBeforeComponent): Deleted.
(WebCore::URLByRemovingResourceSpecifier): Deleted.
(WebCore::URLWithData): Deleted.
(WebCore::dataWithUserTypedString): Deleted.
(WebCore::URLWithUserTypedString): Deleted.
(WebCore::URLWithUserTypedStringDeprecated): Deleted.
(WebCore::hasQuestionMarkOnlyQueryString): Deleted.
(WebCore::dataForURLComponentType): Deleted.
(WebCore::URLByRemovingComponentAndSubsequentCharacter): Deleted.
(WebCore::URLByRemovingUserInfo): Deleted.
(WebCore::originalURLData): Deleted.
(WebCore::createStringWithEscapedUnsafeCharacters): Deleted.
(WebCore::userVisibleString): Deleted.
(WebCore::isUserVisibleURL): Deleted.
(WebCore::rangeOfURLScheme): Deleted.
(WebCore::looksLikeAbsoluteURL): Deleted.
* platform/mediastream/MediaEndpointConfiguration.h:
* platform/network/BlobPart.h:
* platform/network/BlobRegistry.h:
* platform/network/BlobRegistryImpl.h:
* platform/network/BlobResourceHandle.cpp:
* platform/network/CookieRequestHeaderFieldProxy.h:
* platform/network/CredentialStorage.cpp:
* platform/network/CredentialStorage.h:
* platform/network/DataURLDecoder.cpp:
* platform/network/DataURLDecoder.h:
* platform/network/FormData.h:
* platform/network/ProxyServer.h:
* platform/network/ResourceErrorBase.h:
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::didReceiveResponse):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.h:
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::redirectedRequest const):
* platform/network/ResourceRequestBase.h:
* platform/network/ResourceResponseBase.h:
* platform/network/SocketStreamHandle.h:
* platform/network/cf/DNSResolveQueueCFNet.cpp:
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
* platform/network/cf/ProxyServerCFNet.cpp:
* platform/network/cf/ResourceErrorCF.cpp:
* platform/network/cocoa/NetworkStorageSessionCocoa.mm:
* platform/network/curl/CookieJarCurlDatabase.cpp: Added.
(WebCore::cookiesForSession):
(WebCore::CookieJarCurlDatabase::setCookiesFromDOM const):
(WebCore::CookieJarCurlDatabase::setCookiesFromHTTPResponse const):
(WebCore::CookieJarCurlDatabase::cookiesForDOM const):
(WebCore::CookieJarCurlDatabase::cookieRequestHeaderFieldValue const):
(WebCore::CookieJarCurlDatabase::cookiesEnabled const):
(WebCore::CookieJarCurlDatabase::getRawCookies const):
(WebCore::CookieJarCurlDatabase::deleteCookie const):
(WebCore::CookieJarCurlDatabase::getHostnamesWithCookies const):
(WebCore::CookieJarCurlDatabase::deleteCookiesForHostnames const):
(WebCore::CookieJarCurlDatabase::deleteAllCookies const):
(WebCore::CookieJarCurlDatabase::deleteAllCookiesModifiedSince const):
* platform/network/curl/CookieJarDB.cpp:
* platform/network/curl/CookieUtil.h:
* platform/network/curl/CurlContext.h:
* platform/network/curl/CurlProxySettings.h:
* platform/network/curl/CurlResponse.h:
* platform/network/curl/NetworkStorageSessionCurl.cpp:
* platform/network/curl/ProxyServerCurl.cpp:
* platform/network/curl/SocketStreamHandleImplCurl.cpp:
* platform/network/mac/ResourceErrorMac.mm:
* platform/network/soup/NetworkStorageSessionSoup.cpp:
* platform/network/soup/ProxyServerSoup.cpp:
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/network/soup/ResourceRequest.h:
* platform/network/soup/ResourceRequestSoup.cpp:
* platform/network/soup/SocketStreamHandleImplSoup.cpp:
* platform/network/soup/SoupNetworkSession.cpp:
* platform/network/soup/SoupNetworkSession.h:
* platform/text/TextEncoding.h:
* platform/win/BString.cpp:
* platform/win/BString.h:
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::markupToCFHTML):
* platform/win/ClipboardUtilitiesWin.h:
* platform/win/DragImageWin.cpp:
* platform/win/PasteboardWin.cpp:
* plugins/PluginData.h:
* rendering/HitTestResult.h:
* rendering/RenderAttachment.cpp:
* svg/SVGImageLoader.cpp:
(WebCore::SVGImageLoader::sourceURI const):
* svg/SVGURIReference.cpp:
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageCache.h:
* svg/graphics/SVGImageForContainer.h:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
* testing/Internals.mm:
(WebCore::Internals::userVisibleString):
* testing/MockContentFilter.cpp:
(WebCore::MockContentFilter::willSendRequest):
* testing/MockPaymentCoordinator.cpp:
* testing/js/WebCoreTestSupport.cpp:
* workers/AbstractWorker.h:
* workers/WorkerGlobalScope.h:
* workers/WorkerGlobalScopeProxy.h:
* workers/WorkerInspectorProxy.h:
* workers/WorkerLocation.h:
* workers/WorkerScriptLoader.h:
* workers/WorkerThread.cpp:
* workers/WorkerThread.h:
* workers/service/ServiceWorker.h:
* workers/service/ServiceWorkerClientData.h:
* workers/service/ServiceWorkerContainer.cpp:
* workers/service/ServiceWorkerContextData.h:
* workers/service/ServiceWorkerData.h:
* workers/service/ServiceWorkerJobData.h:
* workers/service/ServiceWorkerRegistrationKey.cpp:
* workers/service/ServiceWorkerRegistrationKey.h:
(WTF::HashTraits<WebCore::ServiceWorkerRegistrationKey>::constructDeletedValue):
* worklets/WorkletGlobalScope.h:
* xml/XMLHttpRequest.h:

Source/WebKit:

* NetworkProcess/Cookies/WebCookieManager.cpp:
* NetworkProcess/Cookies/WebCookieManager.h:
* NetworkProcess/Cookies/WebCookieManager.messages.in:
* NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm:
* NetworkProcess/Downloads/Download.h:
* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::publishDownloadProgress):
* NetworkProcess/Downloads/DownloadManager.h:
* NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::publishProgress):
* NetworkProcess/Downloads/PendingDownload.h:
* NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::publishProgress):
* NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::unregisterBlobURL):
(WebKit::NetworkBlobRegistry::blobSize):
(WebKit::NetworkBlobRegistry::filesInBlob):
* NetworkProcess/FileAPI/NetworkBlobRegistry.h:
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::didReceiveResponse):
* NetworkProcess/NetworkDataTaskBlob.cpp:
* NetworkProcess/NetworkLoadChecker.h:
(WebKit::NetworkLoadChecker::setContentExtensionController):
(WebKit::NetworkLoadChecker::url const):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::writeBlobToFilePath):
(WebKit::NetworkProcess::publishDownloadProgress):
(WebKit::NetworkProcess::preconnectTo):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkResourceLoadParameters.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::logBlockedCookieInformation):
(WebKit::logCookieInformationInternal):
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/NetworkSocketStream.cpp:
(WebKit::NetworkSocketStream::create):
* NetworkProcess/NetworkSocketStream.h:
* NetworkProcess/PingLoad.h:
* NetworkProcess/ServiceWorker/WebSWServerConnection.h:
* NetworkProcess/ServiceWorker/WebSWServerConnection.messages.in:
* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.messages.in:
* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::retrieveRecords):
* NetworkProcess/cache/CacheStorageEngine.h:
* NetworkProcess/cache/CacheStorageEngineCache.h:
* NetworkProcess/cache/CacheStorageEngineConnection.cpp:
(WebKit::CacheStorageEngineConnection::retrieveRecords):
* NetworkProcess/cache/CacheStorageEngineConnection.h:
* NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
* NetworkProcess/cache/NetworkCache.h:
* NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry):
(WebKit::NetworkCache::Statistics::recordRevalidationSuccess):
* NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
(WebKit::NetworkCache::SubresourceInfo::firstPartyForCookies const):
* NetworkProcess/capture/NetworkCaptureEvent.cpp:
(WebKit::NetworkCapture::Request::operator WebCore::ResourceRequest const):
(WebKit::NetworkCapture::Response::operator WebCore::ResourceResponse const):
(WebKit::NetworkCapture::Error::operator WebCore::ResourceError const):
* NetworkProcess/capture/NetworkCaptureManager.cpp:
(WebKit::NetworkCapture::Manager::findBestFuzzyMatch):
(WebKit::NetworkCapture::Manager::fuzzyMatchURLs):
(WebKit::NetworkCapture::Manager::urlIdentifyingCommonDomain):
* NetworkProcess/capture/NetworkCaptureManager.h:
* NetworkProcess/capture/NetworkCaptureResource.cpp:
(WebKit::NetworkCapture::Resource::url):
(WebKit::NetworkCapture::Resource::queryParameters):
* NetworkProcess/capture/NetworkCaptureResource.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::openCFURLRef):
(WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error):
* Shared/API/APIURL.h:
(API::URL::create):
(API::URL::equals):
(API::URL::URL):
(API::URL::url const):
(API::URL::parseURLIfNecessary const):
* Shared/API/APIUserContentURLPattern.h:
(API::UserContentURLPattern::matchesURL const):
* Shared/API/c/WKURLRequest.cpp:
* Shared/API/c/WKURLResponse.cpp:
* Shared/API/c/cf/WKURLCF.mm:
(WKURLCreateWithCFURL):
(WKURLCopyCFURL):
* Shared/API/glib/WebKitURIRequest.cpp:
* Shared/API/glib/WebKitURIResponse.cpp:
* Shared/APIWebArchiveResource.mm:
(API::WebArchiveResource::WebArchiveResource):
* Shared/AssistedNodeInformation.h:
* Shared/Cocoa/WKNSURLExtras.mm:
(-[NSURL _web_originalDataAsWTFString]):
(): Deleted.
* Shared/SessionState.h:
* Shared/WebBackForwardListItem.cpp:
(WebKit::WebBackForwardListItem::itemIsInSameDocument const):
* Shared/WebCoreArgumentCoders.cpp:
* Shared/WebCoreArgumentCoders.h:
* Shared/WebErrors.h:
* Shared/WebHitTestResultData.cpp:
* Shared/cf/ArgumentCodersCF.cpp:
(IPC::encode):
(IPC::decode):
* Shared/gtk/WebErrorsGtk.cpp:
* Shared/ios/InteractionInformationAtPosition.h:
* UIProcess/API/APIHTTPCookieStore.h:
* UIProcess/API/APINavigation.cpp:
(API::Navigation::appendRedirectionURL):
* UIProcess/API/APINavigation.h:
(API::Navigation::takeRedirectChain):
* UIProcess/API/APINavigationAction.h:
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::signedPublicKeyAndChallengeString):
(API::NavigationClient::contentRuleListNotification):
(API::NavigationClient::webGLLoadPolicy const):
(API::NavigationClient::resolveWebGLLoadPolicy const):
* UIProcess/API/APIUIClient.h:
(API::UIClient::saveDataToFileInDownloadsFolder):
* UIProcess/API/APIUserScript.cpp:
(API::UserScript::generateUniqueURL):
* UIProcess/API/APIUserScript.h:
* UIProcess/API/APIUserStyleSheet.cpp:
(API::UserStyleSheet::generateUniqueURL):
* UIProcess/API/APIUserStyleSheet.h:
* UIProcess/API/C/WKOpenPanelResultListener.cpp:
(filePathsFromFileURLs):
* UIProcess/API/C/WKPage.cpp:
(WKPageLoadPlainTextStringWithUserData):
(WKPageSetPageUIClient):
(WKPageSetPageNavigationClient):
* UIProcess/API/C/WKPageGroup.cpp:
(WKPageGroupAddUserStyleSheet):
(WKPageGroupAddUserScript):
* UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetResourceLoadStatisticsPrevalentResourceForDebugMode):
(WKWebsiteDataStoreSetStatisticsLastSeen):
(WKWebsiteDataStoreSetStatisticsPrevalentResource):
(WKWebsiteDataStoreSetStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsPrevalentResource):
(WKWebsiteDataStoreIsStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubresourceUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
(WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
(WKWebsiteDataStoreSetStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreIsStatisticsHasHadUserInteraction):
(WKWebsiteDataStoreSetStatisticsGrandfathered):
(WKWebsiteDataStoreIsStatisticsGrandfathered):
(WKWebsiteDataStoreSetStatisticsSubframeUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUnderTopFrameOrigin):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectFrom):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectTo):
(WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectFrom):
* UIProcess/API/Cocoa/WKHTTPCookieStore.mm:
* UIProcess/API/Cocoa/WKUserScript.mm:
(-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _showSafeBrowsingWarning:completionHandler:]):
(-[WKWebView _showSafeBrowsingWarningWithTitle:warning:details:completionHandler:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:]):
(-[WKWebViewConfiguration urlSchemeHandlerForURLScheme:]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
* UIProcess/API/Cocoa/_WKApplicationManifest.mm:
(-[_WKApplicationManifest initWithCoder:]):
(+[_WKApplicationManifest applicationManifestFromJSON:manifestURL:documentURL:]):
* UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
(-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):
* UIProcess/API/glib/IconDatabase.cpp:
* UIProcess/API/glib/WebKitCookieManager.cpp:
(webkit_cookie_manager_get_cookies):
* UIProcess/API/glib/WebKitFileChooserRequest.cpp:
* UIProcess/API/glib/WebKitSecurityOrigin.cpp:
(webkit_security_origin_new_for_uri):
* UIProcess/API/glib/WebKitUIClient.cpp:
* UIProcess/API/glib/WebKitURISchemeRequest.cpp:
* UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_load_plain_text):
* UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp:
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
(WebKit::WebPaymentCoordinatorProxy::validateMerchant):
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h:
* UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKPaymentRequest):
* UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
* UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::navigateBrowsingContext):
(WebKit::domainByAddingDotPrefixIfNeeded):
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
* UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::didFinish):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::webGLLoadPolicy const):
(WebKit::NavigationState::NavigationClient::resolveWebGLLoadPolicy const):
(WebKit::NavigationState::NavigationClient::contentRuleListNotification):
(WebKit::NavigationState::NavigationClient::willPerformClientRedirect):
(WebKit::NavigationState::NavigationClient::didPerformClientRedirect):
(WebKit::NavigationState::NavigationClient::signedPublicKeyAndChallengeString):
* UIProcess/Cocoa/SafeBrowsingResultCocoa.mm: Copied from Source/WebKit/WebProcess/Network/WebSocketProvider.h.
(WebKit::SafeBrowsingResult::SafeBrowsingResult):
* UIProcess/Cocoa/SafeBrowsingWarningCocoa.mm:
(WebKit::reportAnErrorURL):
(WebKit::malwareDetailsURL):
(WebKit::safeBrowsingDetailsText):
(WebKit::SafeBrowsingWarning::SafeBrowsingWarning):
* UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
(-[_WKPreviewControllerDataSource finish:]):
(WebKit::SystemPreviewController::finish):
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::saveDataToFileInDownloadsFolder):
(WebKit::requestUserMediaAuthorizationForDevices):
(WebKit::UIDelegate::UIClient::checkUserMediaPermissionForOrigin):
* UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:
(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):
* UIProcess/Cocoa/WKSafeBrowsingWarning.h:
* UIProcess/Cocoa/WKSafeBrowsingWarning.mm:
(-[WKSafeBrowsingWarning initWithFrame:safeBrowsingWarning:completionHandler:]):
* UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::showSafeBrowsingWarning):
(WebKit::WebViewImpl::writeToURLForFilePromiseProvider):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::publishProgress):
* UIProcess/Downloads/DownloadProxy.h:
(WebKit::DownloadProxy::setRedirectChain):
(WebKit::DownloadProxy::redirectChain const):
* UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
* UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::setURL):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::writeBlobToFilePath):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/PageClient.h:
(WebKit::PageClient::showSafeBrowsingWarning):
* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::hasOnlySecureContent):
* UIProcess/Plugins/PluginInfoStore.cpp:
* UIProcess/Plugins/PluginInfoStore.h:
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
* UIProcess/SafeBrowsingResult.h: Copied from Source/WebKit/UIProcess/SystemPreviewController.h.
(WebKit::SafeBrowsingResult::create):
(WebKit::SafeBrowsingResult::url const):
(WebKit::SafeBrowsingResult::provider const):
(WebKit::SafeBrowsingResult::isPhishing const):
(WebKit::SafeBrowsingResult::isMalware const):
(WebKit::SafeBrowsingResult::isUnwantedSoftware const):
(WebKit::SafeBrowsingResult::isKnownToBeUnsafe const):
* UIProcess/SafeBrowsingWarning.h:
(WebKit::SafeBrowsingWarning::create):
* UIProcess/SuspendedPageProxy.cpp:
* UIProcess/SystemPreviewController.h:
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebOpenPanelResultListenerProxy.cpp:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadDataWithNavigation):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::contentRuleListNotification):
(WebKit::WebPageProxy::processDidTerminate):
(WebKit::WebPageProxy::signedPublicKeyAndChallengeString):
(WebKit::WebPageProxy::setURLSchemeHandlerForScheme):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::tryPrewarmWithDomainInformation):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
* UIProcess/WebProcessProxy.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResourceForDebugMode):
(WebKit::WebResourceLoadStatisticsStore::logFrameNavigation):
* UIProcess/WebResourceLoadStatisticsStore.h:
* UIProcess/ios/DragDropInteractionState.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::showSafeBrowsingWarning):
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
* UIProcess/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
* UIProcess/ios/WKLegacyPDFView.mm:
(-[WKLegacyPDFView actionSheetAssistant:shareElementWithURL:rect:]):
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController _updateLocationInfo]):
* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::decodeLegacySessionState):
* UIProcess/mac/PageClientImplMac.h:
* UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::showSafeBrowsingWarning):
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
* UIProcess/win/WebInspectorProxyWin.cpp:
* WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::showPaymentUI):
(WebKit::WebPaymentCoordinator::validateMerchant):
* WebProcess/ApplePay/WebPaymentCoordinator.h:
* WebProcess/Cache/WebCacheStorageConnection.cpp:
(WebKit::WebCacheStorageConnection::doRetrieveRecords):
* WebProcess/Cache/WebCacheStorageConnection.h:
* WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::registerFileBlobURL):
* WebProcess/FileAPI/BlobRegistryProxy.h:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
(API::InjectedBundle::PageLoaderClient::willLoadDataRequest):
(API::InjectedBundle::PageLoaderClient::userAgentForURL const):
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
(WKBundleFrameAllowsFollowingLink):
(WKBundleFrameCopySuggestedFilenameForResourceWithURL):
(WKBundleFrameCopyMIMETypeForResourceWithURL):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageHasLocalDataForURL):
* WebProcess/InjectedBundle/API/gtk/DOM/ConvertToUTF8String.cpp:
(convertToUTF8String):
* WebProcess/InjectedBundle/API/gtk/DOM/ConvertToUTF8String.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::preconnectTo):
* WebProcess/Network/WebLoaderStrategy.h:
* WebProcess/Network/WebSocketProvider.h:
* WebProcess/Network/WebSocketStream.cpp:
(WebKit::WebSocketStream::WebSocketStream):
* WebProcess/Network/WebSocketStream.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/NetscapePluginStream.h:
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::clickedLink):
* WebProcess/Plugins/Plugin.h:
* WebProcess/Plugins/PluginController.h:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::performURLRequest):
(WebKit::PluginView::performJavaScriptURLRequest):
* WebProcess/Plugins/WebPluginInfoProvider.cpp:
(WebKit::WebPluginInfoProvider::webVisiblePluginInfo):
* WebProcess/Plugins/WebPluginInfoProvider.h:
* WebProcess/Storage/WebSWClientConnection.h:
* WebProcess/Storage/WebSWContextManagerConnection.h:
* WebProcess/UserContent/WebUserContentController.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::signedPublicKeyAndChallengeString const):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebContextMenuClient.h:
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::shouldForceUniversalAccessFromLocalURL):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::readURLFromPasteboard):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage):
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
* WebProcess/WebPage/VisitedLinkTableController.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::allowsFollowingLink const):
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLInFrame):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadAlternateHTML):
(WebKit::WebPage::dumpHistoryForTesting):
(WebKit::WebPage::sendCSPViolationReport):
(WebKit::WebPage::addUserScript):
(WebKit::WebPage::addUserStyleSheet):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::WebPrintOperationGtk::frameURL const):
* WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::sendPrewarmInformation):
* WebProcess/WebProcess.h:
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::activePagesOrigins):

Source/WebKitLegacy:

* WebCoreSupport/WebResourceLoadScheduler.cpp:
* WebCoreSupport/WebResourceLoadScheduler.h:

Source/WebKitLegacy/mac:

* DOM/DOMAttr.mm:
* DOM/DOMBlob.mm:
* DOM/DOMCSSCharsetRule.mm:
* DOM/DOMCSSImportRule.mm:
* DOM/DOMCSSMediaRule.mm:
* DOM/DOMCSSPageRule.mm:
* DOM/DOMCSSPrimitiveValue.mm:
* DOM/DOMCSSRule.mm:
* DOM/DOMCSSStyleDeclaration.mm:
* DOM/DOMCSSStyleRule.mm:
* DOM/DOMCSSStyleSheet.mm:
* DOM/DOMCSSValue.mm:
* DOM/DOMCharacterData.mm:
* DOM/DOMCounter.mm:
* DOM/DOMDocument.mm:
* DOM/DOMDocumentFragment.mm:
* DOM/DOMDocumentType.mm:
* DOM/DOMEvent.mm:
* DOM/DOMFile.mm:
* DOM/DOMHTMLAnchorElement.mm:
* DOM/DOMHTMLAppletElement.mm:
* DOM/DOMHTMLAreaElement.mm:
* DOM/DOMHTMLBRElement.mm:
* DOM/DOMHTMLBaseElement.mm:
* DOM/DOMHTMLBaseFontElement.mm:
* DOM/DOMHTMLBodyElement.mm:
* DOM/DOMHTMLButtonElement.mm:
* DOM/DOMHTMLCanvasElement.mm:
* DOM/DOMHTMLCollection.mm:
* DOM/DOMHTMLDivElement.mm:
* DOM/DOMHTMLDocument.mm:
* DOM/DOMHTMLElement.mm:
* DOM/DOMHTMLEmbedElement.mm:
* DOM/DOMHTMLFieldSetElement.mm:
* DOM/DOMHTMLFontElement.mm:
* DOM/DOMHTMLFormElement.mm:
* DOM/DOMHTMLFrameElement.mm:
* DOM/DOMHTMLFrameSetElement.mm:
* DOM/DOMHTMLHRElement.mm:
* DOM/DOMHTMLHeadElement.mm:
* DOM/DOMHTMLHeadingElement.mm:
* DOM/DOMHTMLHtmlElement.mm:
* DOM/DOMHTMLIFrameElement.mm:
* DOM/DOMHTMLImageElement.mm:
* DOM/DOMHTMLInputElement.mm:
* DOM/DOMHTMLLIElement.mm:
* DOM/DOMHTMLLabelElement.mm:
* DOM/DOMHTMLLegendElement.mm:
* DOM/DOMHTMLLinkElement.mm:
* DOM/DOMHTMLMapElement.mm:
* DOM/DOMHTMLMarqueeElement.mm:
* DOM/DOMHTMLMediaElement.mm:
* DOM/DOMHTMLMetaElement.mm:
* DOM/DOMHTMLModElement.mm:
* DOM/DOMHTMLOListElement.mm:
* DOM/DOMHTMLObjectElement.mm:
* DOM/DOMHTMLOptGroupElement.mm:
* DOM/DOMHTMLOptionElement.mm:
* DOM/DOMHTMLOptionsCollection.mm:
* DOM/DOMHTMLParagraphElement.mm:
* DOM/DOMHTMLParamElement.mm:
* DOM/DOMHTMLQuoteElement.mm:
* DOM/DOMHTMLScriptElement.mm:
* DOM/DOMHTMLSelectElement.mm:
* DOM/DOMHTMLStyleElement.mm:
* DOM/DOMHTMLTableCaptionElement.mm:
* DOM/DOMHTMLTableCellElement.mm:
* DOM/DOMHTMLTableColElement.mm:
* DOM/DOMHTMLTableElement.mm:
* DOM/DOMHTMLTableRowElement.mm:
* DOM/DOMHTMLTableSectionElement.mm:
* DOM/DOMHTMLTitleElement.mm:
* DOM/DOMHTMLUListElement.mm:
* DOM/DOMHTMLVideoElement.mm:
* DOM/DOMKeyboardEvent.mm:
* DOM/DOMMediaList.mm:
* DOM/DOMMouseEvent.mm:
* DOM/DOMMutationEvent.mm:
* DOM/DOMNamedNodeMap.mm:
* DOM/DOMProcessingInstruction.mm:
* DOM/DOMRange.mm:
* DOM/DOMStyleSheet.mm:
* DOM/DOMText.mm:
* DOM/DOMTextEvent.mm:
* DOM/DOMTokenList.mm:
* DOM/DOMUIEvent.mm:
* DOM/DOMXPathResult.mm:
* History/WebHistoryItem.mm:
* Misc/WebNSURLExtras.mm:
(-[NSURL _web_userVisibleString]):
(-[NSURL _web_URLByRemovingUserInfo]):
(-[NSURL _web_dataForURLComponentType:]):
(-[NSURL _web_schemeData]):
(-[NSURL _web_hostData]):
* Misc/WebUserContentURLPattern.mm:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
* Plugins/WebNetscapePluginStream.h:
(WebNetscapePluginStream::setRequestURL):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::signedPublicKeyAndChallengeString const):
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
* WebCoreSupport/WebPaymentCoordinatorClient.h:
* WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::showPaymentUI):
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::readURLFromPasteboard):
* WebCoreSupport/WebPluginInfoProvider.h:
* WebCoreSupport/WebPluginInfoProvider.mm:
(WebPluginInfoProvider::webVisiblePluginInfo):
* WebCoreSupport/WebSecurityOrigin.mm:
* WebCoreSupport/WebVisitedLinkStore.h:
* WebView/WebDataSource.mm:
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
* WebView/WebPDFView.mm:
* WebView/WebScriptDebugger.mm:
* WebView/WebViewInternal.h:

Source/WebKitLegacy/win:

* MarshallingHelpers.cpp:
* MarshallingHelpers.h:
* Plugins/PluginDatabase.cpp:
* Plugins/PluginDatabase.h:
* Plugins/PluginDatabaseWin.cpp:
* Plugins/PluginStream.h:
* Plugins/PluginView.h:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
* WebCoreSupport/WebDesktopNotificationsDelegate.h:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPluginInfoProvider.cpp:
(WebPluginInfoProvider::webVisiblePluginInfo):
* WebCoreSupport/WebPluginInfoProvider.h:
* WebCoreSupport/WebVisitedLinkStore.h:
* WebDataSource.cpp:
* WebDownload.h:
* WebElementPropertyBag.cpp:
* WebFrame.h:
* WebHistory.cpp:
* WebHistory.h:
* WebHistoryItem.cpp:
* WebResource.cpp:
(WebResource::WebResource):
* WebResource.h:
* WebSecurityOrigin.cpp:
* WebURLResponse.cpp:
(WebURLResponse::createInstance):
* WebUserContentURLPattern.cpp:
* WebView.h:

Source/WTF:

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Forward.h:
* wtf/PlatformGTK.cmake:
* wtf/PlatformMac.cmake:
* wtf/PlatformWPE.cmake:
* wtf/PlatformWin.cmake:
* wtf/URL.cpp: Renamed from Source/WebCore/platform/URL.cpp.
(WTF::URL::protocolIs):
* wtf/URL.h: Renamed from Source/WebCore/platform/URL.h.
* wtf/URLHash.h: Renamed from Source/WebCore/platform/URLHash.h.
(WTF::URLHash::hash):
(WTF::URLHash::equal):
* wtf/URLParser.cpp: Renamed from Source/WebCore/platform/URLParser.cpp.
(WTF::URLParser::isInUserInfoEncodeSet):
(WTF::URLParser::parseAuthority):
* wtf/URLParser.h: Renamed from Source/WebCore/platform/URLParser.h.
(WTF::URLParser::URLParser):
(WTF::URLParser::result):
* wtf/cf/CFURLExtras.cpp: Renamed from Source/WebCore/platform/cf/CFURLExtras.cpp.
* wtf/cf/CFURLExtras.h: Renamed from Source/WebCore/platform/cf/CFURLExtras.h.
* wtf/cf/URLCF.cpp: Renamed from Source/WebCore/platform/cf/URLCF.cpp.
* wtf/cocoa/NSURLExtras.h: Copied from Source/WebCore/loader/archive/ArchiveResourceCollection.h.
* wtf/cocoa/NSURLExtras.mm: Copied from Source/WebCore/platform/mac/WebCoreNSURLExtras.mm.
(WTF::isArmenianLookalikeCharacter):
(WTF::isArmenianScriptCharacter):
(WTF::isASCIIDigitOrValidHostCharacter):
(WTF::isLookalikeCharacter):
(WTF::whiteListIDNScript):
(WTF::readIDNScriptWhiteListFile):
(WTF::allCharactersInIDNScriptWhiteList):
(WTF::isSecondLevelDomainNameAllowedByTLDRules):
(WTF::isRussianDomainNameCharacter):
(WTF::allCharactersAllowedByTLDRules):
(WTF::mapHostNameWithRange):
(WTF::hostNameNeedsDecodingWithRange):
(WTF::hostNameNeedsEncodingWithRange):
(WTF::decodeHostNameWithRange):
(WTF::encodeHostNameWithRange):
(WTF::decodeHostName):
(WTF::encodeHostName):
(WTF::collectRangesThatNeedMapping):
(WTF::collectRangesThatNeedEncoding):
(WTF::collectRangesThatNeedDecoding):
(WTF::applyHostNameFunctionToMailToURLString):
(WTF::applyHostNameFunctionToURLString):
(WTF::mapHostNames):
(WTF::stringByTrimmingWhitespace):
(WTF::URLByTruncatingOneCharacterBeforeComponent):
(WTF::URLByRemovingResourceSpecifier):
(WTF::URLWithData):
(WTF::dataWithUserTypedString):
(WTF::URLWithUserTypedString):
(WTF::URLWithUserTypedStringDeprecated):
(WTF::hasQuestionMarkOnlyQueryString):
(WTF::dataForURLComponentType):
(WTF::URLByRemovingComponentAndSubsequentCharacter):
(WTF::URLByRemovingUserInfo):
(WTF::originalURLData):
(WTF::createStringWithEscapedUnsafeCharacters):
(WTF::userVisibleString):
(WTF::isUserVisibleURL):
(WTF::rangeOfURLScheme):
(WTF::looksLikeAbsoluteURL):
* wtf/cocoa/URLCocoa.mm: Renamed from Source/WebCore/platform/mac/URLMac.mm.
(WTF::URL::URL):
(WTF::URL::createCFURL const):
* wtf/glib/GUniquePtrSoup.h: Renamed from Source/WebCore/platform/network/soup/GUniquePtrSoup.h.
* wtf/glib/URLSoup.cpp: Renamed from Source/WebCore/platform/soup/URLSoup.cpp.

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
* TestWebKitAPI/Tests/WebCore/URL.cpp:
(TestWebKitAPI::createURL):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
* TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
* TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::originalDataAsString):
(TestWebKitAPI::userVisibleString):
(TestWebKitAPI::literalURL):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
(literalURL):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
* TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
(-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
* TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
* TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
(TestWebKitAPI::Util::createURLForResource):
* lldb/lldb_webkit.py:
(__lldb_init_module):
(WTFURL_SummaryProvider):
(WTFURLProvider):
(WebCoreURL_SummaryProvider): Deleted.
(WebCoreURLProvider): Deleted.
(WebCoreURLProvider.__init__): Deleted.
(WebCoreURLProvider.to_string): Deleted.

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

12 months agoTest that CSS subresource loading are exposed to resource timing in case of a CORS...
youenn@apple.com [Sat, 1 Dec 2018 03:25:50 +0000 (03:25 +0000)]
Test that CSS subresource loading are exposed to resource timing in case of a CORS loaded CSS stylesheet but not imported stylesheets
https://bugs.webkit.org/show_bug.cgi?id=192232

Reviewed by Dean Jackson.

* http/tests/security/cross-origin-clean-css-resource-timing-expected.txt: Added.
* http/tests/security/cross-origin-clean-css-resource-timing.html: Added.
* http/tests/security/resources/loading-subresources.php: Added.

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

12 months ago[macOS] Add more logging of sandbox call entries.
pvollan@apple.com [Sat, 1 Dec 2018 03:09:40 +0000 (03:09 +0000)]
[macOS] Add more logging of sandbox call entries.
https://bugs.webkit.org/show_bug.cgi?id=192261
rdar://problem/45772445

Reviewed by Dean Jackson.

* WebProcess/com.apple.WebProcess.sb.in:

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

12 months agoDrop unused Cross-Origin-Window-Policy from HTTPHeaderNames.in
cdumez@apple.com [Sat, 1 Dec 2018 02:57:01 +0000 (02:57 +0000)]
Drop unused Cross-Origin-Window-Policy from HTTPHeaderNames.in
https://bugs.webkit.org/show_bug.cgi?id=192253

Reviewed by Geoffrey Garen.

* platform/network/HTTPHeaderNames.in:

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

12 months agoEditable images should always return some data, even if the canvas doesn't have a...
timothy_horton@apple.com [Sat, 1 Dec 2018 01:11:12 +0000 (01:11 +0000)]
Editable images should always return some data, even if the canvas doesn't have a size yet
https://bugs.webkit.org/show_bug.cgi?id=192265
<rdar://problem/46385911>

Reviewed by Wenson Hsieh.

* UIProcess/ios/WKDrawingView.mm:
(-[WKDrawingView layoutSubviews]):
(emptyImage):
(-[WKDrawingView renderedDrawing]):
(-[WKDrawingView PNGRepresentation]):
Some clients strongly depend on there being some data in an image, even if
it's not of a usable size yet. We'll invalidate the attachment when the
canvas size changes, so it will eventually settle at a usable size (after
the first layer tree commit that includes the editable image).

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

12 months agoTry to fix Windows build by using strcmp instead of strcasecmp.
dino@apple.com [Sat, 1 Dec 2018 00:42:56 +0000 (00:42 +0000)]
Try to fix Windows build by using strcmp instead of strcasecmp.

* jsc.cpp:
(isMJSFile):

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

12 months agoRebaseline test after https://trac.webkit.org/changeset/238725/webkit
tsavell@apple.com [Sat, 1 Dec 2018 00:40:24 +0000 (00:40 +0000)]
Rebaseline test after https://trac.webkit.org/changeset/238725/webkit
https://bugs.webkit.org/show_bug.cgi?id=192201

Unreviewed Test Gardening.

* platform/ios/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt: Added.

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

12 months agowebkitpy: Support unicode in MeteredStream
jbedard@apple.com [Sat, 1 Dec 2018 00:32:42 +0000 (00:32 +0000)]
webkitpy: Support unicode in MeteredStream
https://bugs.webkit.org/show_bug.cgi?id=192260

Reviewed by Stephanie Lewis.

It's possible that the test runner returns unicode characters to be logged when
running layout tests.

* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): Message written to metered stream should be unicode.
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.test_unicode):

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

12 months agoREGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort'...
jbedard@apple.com [Sat, 1 Dec 2018 00:26:01 +0000 (00:26 +0000)]
REGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort' object has no attribute 'DEFAULT_DEVICE_CLASS'
https://bugs.webkit.org/show_bug.cgi?id=192257
<rdar://problem/46384671>

Reviewed by Stephanie Lewis.

Follow-up fix for r238749.

* Scripts/webkitpy/api_tests/manager.py:
(Manager._initialize_devices): Use DEFAULT_DEVICE_TYPE instead of DEFAULT_DEVICE_CLASS.

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

12 months agoWeb Inspector: Jumping from Computed to Styles should select property
nvasilyev@apple.com [Sat, 1 Dec 2018 00:15:16 +0000 (00:15 +0000)]
Web Inspector: Jumping from Computed to Styles should select property
https://bugs.webkit.org/show_bug.cgi?id=192198

Reviewed by Devin Rousso.

* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .property.highlighted): Deleted.
(@keyframes style-property-highlight): Deleted.
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
Remove unnecessary `__propertyView` property.

* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.detached):
(WI.SpreadsheetStyleProperty.prototype.highlight): Deleted.

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

12 months agoFix the bytecode code generator scripts to pretty print Bytecodes.h.
mark.lam@apple.com [Sat, 1 Dec 2018 00:14:02 +0000 (00:14 +0000)]
Fix the bytecode code generator scripts to pretty print Bytecodes.h.
https://bugs.webkit.org/show_bug.cgi?id=192258

Reviewed by Keith Miller.

This makes Bytecodes.h more human readable.

* generator/DSL.rb:
* generator/Section.rb:

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

12 months ago[WebGPU] WebGPUQueue::submit and WebGPURenderingContext::present() implementation
justin_fan@apple.com [Sat, 1 Dec 2018 00:11:49 +0000 (00:11 +0000)]
[WebGPU] WebGPUQueue::submit and WebGPURenderingContext::present() implementation
https://bugs.webkit.org/show_bug.cgi?id=192254

Reviewed by Dean Jackson.

Source/WebCore:

Final plumbing to render onto an HTMLCanvasElement with WebGPU. Also added ref-test that draws
a green square onto a canvas using WebGPU; reference uses 2D canvas.

Test: webgpu/simple-triangle-strip.html

* Modules/webgpu/WebGPUCommandBuffer.h:
* Modules/webgpu/WebGPUSwapChain.h: Needs to override platformLayer() for CanvasBasedRenderingContext.
* platform/graphics/gpu/GPUQueue.h:
* platform/graphics/gpu/GPUSwapChain.h:
(WebCore::GPUSwapChain::metalLayer const): Renamed from platformLayer.
(WebCore::GPUSwapChain::platformLayer const): Deleted.
* platform/graphics/gpu/cocoa/GPUQueueMetal.mm:
(WebCore::GPUQueue::submit):
* platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:
(WebCore::GPUSwapChain::getNextTexture): Returns the texture of the swap layer's next drawable.
(WebCore::GPUSwapChain::present): Presents the last-returned drawable from getNextTexture, and frees it.
(WebCore::GPUSwapChain::platformLayer const):

LayoutTests:

Update webgpu-basics to render an image into canvas. Also added ref-test that draws
a green square onto a canvas using WebGPU; reference uses 2D canvas.

* webgpu/js/basic-webgpu-functions.js:
(render):
* webgpu/simple-triangle-strip-expected.html: Added.
* webgpu/simple-triangle-strip.html: Added.
* webgpu/webgpu-basics.html:

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

12 months agoCan’t use RalphLauren.com on iPad because hover menus don’t stay up
zalan@apple.com [Sat, 1 Dec 2018 00:08:50 +0000 (00:08 +0000)]
Can’t use RalphLauren.com on iPad because hover menus don’t stay up
https://bugs.webkit.org/show_bug.cgi?id=192236
<rdar://problem/45792118>

Reviewed by Geoffrey Garen.

Source/WebCore:

This patch introduces asynchronous content change observation.
1. Start observing synchronous content change and timer install as the result of dispatching mouseMoved event.
2. Start observing synchronous content change and style recalc schedule as the result of a timer callback (installed at #1).
3. Start observing synchronous content change as the result of a style recalc (scheduled at #2).

This patch also extends the timeout value from 100ms to 250ms. Certain content prefer longer timeouts (see http://briancherne.github.io/jquery-hoverIntent/ for details).

Test: fast/events/touch/ios/hover-when-style-change-is-async.html

* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
* platform/ios/wak/WKContentObservation.cpp:
(WKStartObservingStyleRecalcScheduling):
(WKStopObservingStyleRecalcScheduling):
(WKIsObservingStyleRecalcScheduling):
(WKSetShouldObserveNextStyleRecalc):
(WKShouldObserveNextStyleRecalc):
(WKSetObservedContentChange):
* platform/ios/wak/WKContentObservation.h:

LayoutTests:

* fast/events/touch/ios/hover-when-style-change-is-async-expected.txt: Added.
* fast/events/touch/ios/hover-when-style-change-is-async.html: Added.

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

12 months agoShadowRoot should have styleSheets property
rniwa@webkit.org [Fri, 30 Nov 2018 23:33:39 +0000 (23:33 +0000)]
ShadowRoot should have styleSheets property
https://bugs.webkit.org/show_bug.cgi?id=191311
LayoutTests/imported/w3c:

Reviewed by Antti Koivisto.

Rebaselined the tests.

* web-platform-tests/css/css-scoping/stylesheet-title-002-expected.txt: Rebaselined. The test now
doesn't throw but fails with the actual check the test is intending to check.
* web-platform-tests/css/cssom/selectorText-modification-restyle-002-expected.txt: Rebaselined
now that all test cases pass.
* web-platform-tests/shadow-dom/ShadowRoot-interface-expected.txt: Ditto.

Source/WebCore:

Reviewed by Antti Koivisto.

Added the support for ShadowRoot.prototype.styleSheets by making StyleSheetList refer to either
a document or a shadow root. We don't support the named getter in shadow root since that's not
a standard feature: https://drafts.csswg.org/cssom/#the-stylesheetlist-interface

Tests: fast/shadow-dom/shadowroot-stylesheets-wrapper-gc.html
       imported/w3c/web-platform-tests/shadow-dom/ShadowRoot-interface.html

* css/StyleSheetList.cpp:
(WebCore::StyleSheetList::StyleSheetList): Added a variant which takes ShadowRoot.
(WebCore::StyleSheetList::styleSheets const):
(WebCore::StyleSheetList::ownerNode): Added. The replacement for document() since now the opaque
root could be either a Document or a ShadowRoot.
(WebCore::StyleSheetList::detach): Renamed from detachFromDocument.
(WebCore::StyleSheetList::namedItem const): Added a comment that the named getter is only supported
for Document since it's not in the standard.
* css/StyleSheetList.h:
(WebCore::StyleSheetList::create): Added a variant which takes ShadowRoot.
(WebCore::StyleSheetList::document): Deleted. Replaced by StyleSheetList::ownerNode in .cpp file.
* css/StyleSheetList.idl:
* dom/Document.cpp:
(WebCore::Document::~Document):
(WebCore::Document::styleSheets):
* dom/Document.idl:
* dom/DocumentOrShadowRoot.idl: Moved the declaration of styleSheets here from Document.idl.
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::~ShadowRoot): Call detach.
(WebCore::ShadowRoot::styleSheets):
* dom/ShadowRoot.h:

LayoutTests:

<rdar://problem/46333290>

Reviewed by Antti Koivisto.

Added a regression test for testing that the JS wrapper of a StyleSheetList does not get collected
as long as its shadow root is alive.

* fast/shadow-dom/shadowroot-stylesheets-wrapper-gc-expected.txt: Added.
* fast/shadow-dom/shadowroot-stylesheets-wrapper-gc.html: Added.

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

12 months agoWeb Inspector: REGRESSION(r238599): Multiple Selection: selecting a breakpoint will...
mattbaker@apple.com [Fri, 30 Nov 2018 22:40:52 +0000 (22:40 +0000)]
Web Inspector: REGRESSION(r238599): Multiple Selection: selecting a breakpoint will change the selection to it's parent on the first click
https://bugs.webkit.org/show_bug.cgi?id=192093
<rdar://problem/46318466>

Reviewed by Devin Rousso.

* UserInterface/Views/TreeElement.js:
(WI.TreeElement.prototype.select):
TreeElement shouldn't manage the TreeOutline's selection barrier.

* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline):
(WI.TreeOutline.prototype.get processingSelectionChange):
(WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
(WI.TreeOutline.prototype.selectTreeElementInternal):
The selection re-entry barrier `processingSelectionChange` should be
managed internally by TreeOutline, and exposed as a read-only property.
Fix a bug where the barrier was cleared before dispatching the change
notification, which can cause re-entry as a side effect.

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

12 months agoAdd the generator directory to the Xcode project.
mark.lam@apple.com [Fri, 30 Nov 2018 22:37:22 +0000 (22:37 +0000)]
Add the generator directory to the Xcode project.
https://bugs.webkit.org/show_bug.cgi?id=192252

Reviewed by Michael Saboff.

This is so that we can work with these bytecode class generator files easily in Xcode.

* JavaScriptCore.xcodeproj/project.pbxproj:

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

12 months ago[PSON] We are sometimes swapping processes even though there is an opened window...
cdumez@apple.com [Fri, 30 Nov 2018 22:27:18 +0000 (22:27 +0000)]
[PSON] We are sometimes swapping processes even though there is an opened window with an opener link to us
https://bugs.webkit.org/show_bug.cgi?id=192242

Reviewed by Geoffrey Garen.

Source/WebCore:

Move the setting of the openedViaWindowOpenWithOpener & hasOpenedFrames flags on the
NavigationAction from FrameLoader::loadURL(), to PolicyChecker::checkNavigationPolicy()
to make sure those are always accurate and so that the UIProcess can make correct process
swapping decisions.

NavigationAction objects are created in other places than FrameLoader::loadURL() as well.
Even PolicyChecker::checkNavigationPolicy() will create a NavigationAction object if
there is not already one.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
* loader/FrameLoader.h:
(WebCore::FrameLoader::hasOpenedFrames const):
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

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

12 months agoRename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
don.olmstead@sony.com [Fri, 30 Nov 2018 22:23:17 +0000 (22:23 +0000)]
Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=192197

Reviewed by Jiewen Tan.

.:

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. No change in behavior.

* Configurations/FeatureDefines.xcconfig:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::readTerminal):
* crypto/CommonCryptoUtilities.cpp:
* crypto/CommonCryptoUtilities.h:
* crypto/CryptoAlgorithm.cpp:
* crypto/CryptoAlgorithm.h:
* crypto/CryptoAlgorithmIdentifier.h:
* crypto/CryptoAlgorithmParameters.h:
* crypto/CryptoAlgorithmParameters.idl:
* crypto/CryptoAlgorithmRegistry.cpp:
* crypto/CryptoAlgorithmRegistry.h:
* crypto/CryptoKey.cpp:
* crypto/CryptoKey.h:
* crypto/CryptoKey.idl:
* crypto/CryptoKeyFormat.h:
* crypto/CryptoKeyPair.h:
* crypto/CryptoKeyPair.idl:
* crypto/CryptoKeyType.h:
* crypto/CryptoKeyUsage.h:
* crypto/CryptoKeyUsage.idl:
* crypto/JsonWebKey.h:
* crypto/JsonWebKey.idl:
* crypto/RsaOtherPrimesInfo.h:
* crypto/RsaOtherPrimesInfo.idl:
* crypto/SerializedCryptoKeyWrap.h:
* crypto/SubtleCrypto.cpp:
* crypto/SubtleCrypto.h:
* crypto/SubtleCrypto.idl:
* crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
* crypto/algorithms/CryptoAlgorithmAES_CBC.h:
* crypto/algorithms/CryptoAlgorithmAES_CFB.cpp:
* crypto/algorithms/CryptoAlgorithmAES_CFB.h:
* crypto/algorithms/CryptoAlgorithmAES_CTR.cpp:
* crypto/algorithms/CryptoAlgorithmAES_CTR.h:
* crypto/algorithms/CryptoAlgorithmAES_GCM.cpp:
* crypto/algorithms/CryptoAlgorithmAES_GCM.h:
* crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
* crypto/algorithms/CryptoAlgorithmAES_KW.h:
* crypto/algorithms/CryptoAlgorithmECDH.cpp:
* crypto/algorithms/CryptoAlgorithmECDH.h:
* crypto/algorithms/CryptoAlgorithmECDSA.cpp:
* crypto/algorithms/CryptoAlgorithmECDSA.h:
* crypto/algorithms/CryptoAlgorithmHKDF.cpp:
* crypto/algorithms/CryptoAlgorithmHKDF.h:
* crypto/algorithms/CryptoAlgorithmHMAC.cpp:
* crypto/algorithms/CryptoAlgorithmHMAC.h:
* crypto/algorithms/CryptoAlgorithmPBKDF2.cpp:
* crypto/algorithms/CryptoAlgorithmPBKDF2.h:
* crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
* crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
* crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
* crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
* crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
* crypto/algorithms/CryptoAlgorithmRSA_PSS.cpp:
* crypto/algorithms/CryptoAlgorithmRSA_PSS.h:
* crypto/algorithms/CryptoAlgorithmSHA1.cpp:
* crypto/algorithms/CryptoAlgorithmSHA1.h:
* crypto/algorithms/CryptoAlgorithmSHA224.cpp:
* crypto/algorithms/CryptoAlgorithmSHA224.h:
* crypto/algorithms/CryptoAlgorithmSHA256.cpp:
* crypto/algorithms/CryptoAlgorithmSHA256.h:
* crypto/algorithms/CryptoAlgorithmSHA384.cpp:
* crypto/algorithms/CryptoAlgorithmSHA384.h:
* crypto/algorithms/CryptoAlgorithmSHA512.cpp:
* crypto/algorithms/CryptoAlgorithmSHA512.h:
* crypto/gcrypt/CryptoAlgorithmAES_CBCGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmAES_CFBGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmAES_CTRGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmAES_GCMGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmAES_KWGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmHMACGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmRSA_PSSGCrypt.cpp:
* crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp:
* crypto/gcrypt/CryptoKeyECGCrypt.cpp:
* crypto/gcrypt/CryptoKeyRSAGCrypt.cpp:
* crypto/gcrypt/SerializedCryptoKeyWrapGCrypt.cpp:
* crypto/keys/CryptoAesKeyAlgorithm.idl:
* crypto/keys/CryptoEcKeyAlgorithm.idl:
* crypto/keys/CryptoHmacKeyAlgorithm.idl:
* crypto/keys/CryptoKeyAES.cpp:
* crypto/keys/CryptoKeyAES.h:
* crypto/keys/CryptoKeyAlgorithm.idl:
* crypto/keys/CryptoKeyEC.cpp:
* crypto/keys/CryptoKeyEC.h:
* crypto/keys/CryptoKeyHMAC.cpp:
* crypto/keys/CryptoKeyHMAC.h:
* crypto/keys/CryptoKeyRSA.cpp:
* crypto/keys/CryptoKeyRSA.h:
* crypto/keys/CryptoKeyRSAComponents.cpp:
* crypto/keys/CryptoKeyRSAComponents.h:
* crypto/keys/CryptoKeyRaw.cpp:
* crypto/keys/CryptoKeyRaw.h:
* crypto/keys/CryptoRsaHashedKeyAlgorithm.idl:
* crypto/keys/CryptoRsaKeyAlgorithm.idl:
* crypto/mac/CommonCryptoDERUtilities.cpp:
* crypto/mac/CommonCryptoDERUtilities.h:
* crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
* crypto/mac/CryptoAlgorithmAES_CFBMac.cpp:
* crypto/mac/CryptoAlgorithmAES_CTRMac.cpp:
* crypto/mac/CryptoAlgorithmAES_GCMMac.cpp:
* crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
* crypto/mac/CryptoAlgorithmECDHMac.cpp:
* crypto/mac/CryptoAlgorithmECDSAMac.cpp:
* crypto/mac/CryptoAlgorithmHKDFMac.cpp:
* crypto/mac/CryptoAlgorithmHMACMac.cpp:
* crypto/mac/CryptoAlgorithmPBKDF2Mac.cpp:
* crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:
* crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
* crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:
* crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:
* crypto/mac/CryptoAlgorithmRegistryMac.cpp:
* crypto/mac/CryptoDigestAlgorithm.h:
* crypto/mac/CryptoKeyECMac.cpp:
* crypto/mac/CryptoKeyMac.cpp:
* crypto/mac/CryptoKeyRSAMac.cpp:
* crypto/mac/SerializedCryptoKeyWrapMac.mm:
* crypto/parameters/AesCbcCfbParams.idl:
* crypto/parameters/AesCtrParams.idl:
* crypto/parameters/AesGcmParams.idl:
* crypto/parameters/AesKeyParams.idl:
* crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h:
* crypto/parameters/CryptoAlgorithmAesCtrParams.h:
* crypto/parameters/CryptoAlgorithmAesGcmParams.h:
* crypto/parameters/CryptoAlgorithmAesKeyParams.h:
* crypto/parameters/CryptoAlgorithmEcKeyParams.h:
* crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h:
* crypto/parameters/CryptoAlgorithmEcdsaParams.h:
* crypto/parameters/CryptoAlgorithmHkdfParams.h:
* crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
* crypto/parameters/CryptoAlgorithmPbkdf2Params.h:
* crypto/parameters/CryptoAlgorithmRsaHashedImportParams.h:
* crypto/parameters/CryptoAlgorithmRsaHashedKeyGenParams.h:
* crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
* crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
* crypto/parameters/CryptoAlgorithmRsaPssParams.h:
* crypto/parameters/EcKeyParams.idl:
* crypto/parameters/EcdhKeyDeriveParams.idl:
* crypto/parameters/EcdsaParams.idl:
* crypto/parameters/HkdfParams.idl:
* crypto/parameters/HmacKeyParams.idl:
* crypto/parameters/Pbkdf2Params.idl:
* crypto/parameters/RsaHashedImportParams.idl:
* crypto/parameters/RsaHashedKeyGenParams.idl:
* crypto/parameters/RsaKeyGenParams.idl:
* crypto/parameters/RsaOaepParams.idl:
* crypto/parameters/RsaPssParams.idl:
* dom/Document.cpp:
* dom/Document.h:
* dom/ScriptExecutionContext.h:
* page/ChromeClient.h:
* page/Crypto.cpp:
(WebCore::Crypto::Crypto):
* page/Crypto.h:
* page/Crypto.idl:
* platform/GCrypt.cmake:
* platform/LocalizedStrings.cpp:
* platform/LocalizedStrings.h:
* workers/WorkerGlobalScope.cpp:
* workers/WorkerGlobalScope.h:
* worklets/WorkletGlobalScope.h:

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:
* pal/PlatformGTK.cmake:
* pal/PlatformWPE.cmake:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageNavigationClient):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
* WebProcess/WebCoreSupport/WebChromeClient.h:

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:

Tools:

* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

12 months agoAdd first-class support for .mjs files in jsc binary
dino@apple.com [Fri, 30 Nov 2018 21:55:12 +0000 (21:55 +0000)]
Add first-class support for .mjs files in jsc binary
https://bugs.webkit.org/show_bug.cgi?id=192190
<rdar://problem/46375715>

Reviewed by Keith Miller.

JSTests:

* stress/simple-module.mjs: Added.
* stress/simple-script.js: Added.

Source/JavaScriptCore:

Treat files with a .mjs extension as a module, regardless
of whether or not the --module-file argument was given.

* jsc.cpp:
(printUsageStatement): Update usage.
(isMJSFile): Helper to look for .mjs extensions.
(CommandLine::parseArguments): Pick the appropriate script type.

Tools:

Add .mjs files to the regexp looking for all JS files.

* Scripts/run-jsc-stress-tests:

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

12 months agoWeb Inspector: Settings: reload button needs horizontal spacing
drousso@apple.com [Fri, 30 Nov 2018 21:27:54 +0000 (21:27 +0000)]
Web Inspector: Settings: reload button needs horizontal spacing
https://bugs.webkit.org/show_bug.cgi?id=192231
<rdar://problem/46274363>

Reviewed by Matt Baker.

* UserInterface/Views/SettingsTabContentView.css:
(.content-view.settings > .settings-view > .container button):
(.content-view.settings > .settings-view > .container > .title):
(.content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]):
(body[dir=ltr] .content-view.settings > .settings-view > .container > .title): Deleted.
(body[dir=rtl] .content-view.settings > .settings-view > .container > .title): Deleted.
(body[dir=ltr] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]): Deleted.
(body[dir=rtl] .content-view.settings > .settings-view > .container > .editor-group > .editor input[type="checkbox"]): Deleted.
Drive-by: replace `dir=*` attribute rules with `-webkit-margin-*` properties.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238752 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 months agoReplace "auto fill" with "AutoFill" in some localizable strings
wenson_hsieh@apple.com [Fri, 30 Nov 2018 21:18:13 +0000 (21:18 +0000)]
Replace "auto fill" with "AutoFill" in some localizable strings
https://bugs.webkit.org/show_bug.cgi?id=192233
<rdar://problem/46311614>

Reviewed by Chris Fleizach.

Source/WebCore:

Replace "autofill" with "AutoFill".

* en.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:
(WebCore::AXAutoFillCredentialsLabel):
(WebCore::AXAutoFillContactsLabel):
(WebCore::AXAutoFillStrongPasswordLabel):
(WebCore::AXAutoFillCreditCardLabel):

LayoutTests:

Rebaseline a test.

* accessibility/auto-fill-types-expected.txt:

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

12 months agoWeb Inspector: Uncaught Exception opening Web Inspector to Debugger Tab
joepeck@webkit.org [Fri, 30 Nov 2018 21:13:27 +0000 (21:13 +0000)]
Web Inspector: Uncaught Exception opening Web Inspector to Debugger Tab
https://bugs.webkit.org/show_bug.cgi?id=192174

Reviewed by Devin Rousso.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass.prototype.runAfterPendingDispatches):
Dispatch the callback with a timeout if there is no backend target yet
so it doesn't get lost.

* UserInterface/Protocol/Connection.js:
(InspectorBackend.Connection.prototype.runAfterPendingDispatches):
Change the ambiguous name "script" to the more familiar "callback".

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

12 months agowebkitpy: Use DeviceType instead of str to represent device class
jbedard@apple.com [Fri, 30 Nov 2018 20:13:16 +0000 (20:13 +0000)]
webkitpy: Use DeviceType instead of str to represent device class
https://bugs.webkit.org/show_bug.cgi?id=192160
<rdar://problem/46344845>

Rubber-stamped by Aakash Jain.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._custom_device_for_test): Use DeviceTypes instead of strings to represent device type.
(Manager._set_up_run): Do not set _options.device_class, use device_type instead of device_class.
(Manager.run): Use device_type instead of device_class.
(Manager._print_expectations_for_subset): Ditto.
(Manager.print_expectations): Ditto.
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_uses_custom_device): Use DeviceType and actual device definition.
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_workers_and_shards): Outputting the device suffix doesn't really help, and means
device type needs to be passed around.
* Scripts/webkitpy/port/apple.py:
(ApplePort.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/port/base.py:
(Port):
(Port.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/port/device_port.py:
(DevicePort):
(DevicePort.setup_test_run): Receive device_type as DeviceType object.
(DevicePort._create_devices): Deleted.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort):
(IOSSimulatorPort.__init__): Deleted.
(IOSSimulatorPort._set_device_class): Deleted.
* Scripts/webkitpy/port/test.py:
* Scripts/webkitpy/port/watch.py:
(WatchPort):
* Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort):
(WatchSimulatorPort.__init__): Deleted.
(WatchSimulatorPort._set_device_class): Deleted.
* Scripts/webkitpy/port/win.py:
(WinPort.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._disambiguate_device_type): Using the existing devices for this is
a problem if no such device exists yet. Use the _device_identifier_to_name dictionary instead
since this should have hardware types in the device names.

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

12 months agoAdd CEReactions=NotNeeded on all the relevant IDL files
rniwa@webkit.org [Fri, 30 Nov 2018 19:59:33 +0000 (19:59 +0000)]
Add CEReactions=NotNeeded on all the relevant IDL files
https://bugs.webkit.org/show_bug.cgi?id=188368
<rdar://problem/42987753>

Rubber-stamped by Antti Koivisto.

Based on a patch written by Frederic Wang. Added CEReactions=NotNeeded to all the places
we don't need CEReactions because we don't implement customized builtins but are marked with
CEReactions in the HTML specification.

* html/HTMLAnchorElement.idl:
* html/HTMLAreaElement.idl:
* html/HTMLBRElement.idl:
* html/HTMLBaseElement.idl:
* html/HTMLBodyElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLDListElement.idl:
* html/HTMLDataElement.idl:
* html/HTMLDetailsElement.idl:
* html/HTMLDirectoryElement.idl:
* html/HTMLDivElement.idl:
* html/HTMLEmbedElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFontElement.idl:
* html/HTMLFormElement.idl:
* html/HTMLFrameElement.idl:
* html/HTMLFrameSetElement.idl:
* html/HTMLHRElement.idl:
* html/HTMLHeadingElement.idl:
* html/HTMLHtmlElement.idl:
* html/HTMLHyperlinkElementUtils.idl:
* html/HTMLImageElement.idl:
* html/HTMLInputElement.idl:
* html/HTMLLIElement.idl:
* html/HTMLLabelElement.idl:
* html/HTMLLegendElement.idl:
* html/HTMLLinkElement.idl:
* html/HTMLMapElement.idl:
* html/HTMLMarqueeElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLMenuElement.idl:
* html/HTMLMetaElement.idl:
* html/HTMLMeterElement.idl:
* html/HTMLModElement.idl:
* html/HTMLOListElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptGroupElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLOutputElement.idl:
* html/HTMLParagraphElement.idl:
* html/HTMLParamElement.idl:
* html/HTMLPreElement.idl:
* html/HTMLProgressElement.idl:
* html/HTMLQuoteElement.idl:
* html/HTMLScriptElement.idl:
* html/HTMLSlotElement.idl:
* html/HTMLSourceElement.idl:
* html/HTMLStyleElement.idl:
* html/HTMLTableCaptionElement.idl:
* html/HTMLTableCellElement.idl:
* html/HTMLTableColElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/HTMLTimeElement.idl:
* html/HTMLTrackElement.idl:
* html/HTMLUListElement.idl:
* html/HTMLVideoElement.idl:

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

12 months agoMove USE_CFNETWORK_IGNORE_HSTS to its proper place
ap@apple.com [Fri, 30 Nov 2018 19:58:07 +0000 (19:58 +0000)]
Move USE_CFNETWORK_IGNORE_HSTS to its proper place
https://bugs.webkit.org/show_bug.cgi?id=192173

Reviewed by Tim Horton.

Source/WebCore:

* platform/network/mac/WebCoreURLResponse.mm:
(WebCore::schemeWasUpgradedDueToDynamicHSTS):

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(updateIgnoreStrictTransportSecuritySettingIfNecessary):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):

Source/WTF:

* wtf/Platform.h: Also renamed it to better match other version checks.

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

12 months agoRemove unused WebProcessCreationParameters.uiProcessCookieStorageIdentifier
achristensen@apple.com [Fri, 30 Nov 2018 19:37:44 +0000 (19:37 +0000)]
Remove unused WebProcessCreationParameters.uiProcessCookieStorageIdentifier
https://bugs.webkit.org/show_bug.cgi?id=192157

Reviewed by Chris Dumez.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):

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

12 months agoRemove privateBrowsingEnabled from NetworkProcessCreationParameters
achristensen@apple.com [Fri, 30 Nov 2018 19:37:04 +0000 (19:37 +0000)]
Remove privateBrowsingEnabled from NetworkProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=192156

Reviewed by Chris Dumez.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):

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

12 months ago[Curl] Add API for ProtectionSpace.
basuke.suzuki@sony.com [Fri, 30 Nov 2018 19:21:27 +0000 (19:21 +0000)]
[Curl] Add API for ProtectionSpace.
https://bugs.webkit.org/show_bug.cgi?id=191648

Reviewed by Alex Christensen.

Source/WebCore:

Create a platform dependent header and implementation files for ProtectionSpace.

No new tests because there's no behavior change.

* platform/Curl.cmake:
* platform/network/ProtectionSpace.h:
* platform/network/curl/ProtectionSpaceCurl.cpp: Added.
(WebCore::ProtectionSpace::certificateInfo const):
* platform/network/curl/ProtectionSpaceCurl.h: Added.
(WebCore::ProtectionSpace::ProtectionSpace):
(WebCore::ProtectionSpace::encodingRequiresPlatformData const):
(WebCore::ProtectionSpace::platformCompare):

Source/WebKit:

Added API to get certificate information from protection space.

* PlatformWin.cmake:
* Shared/curl/WebCoreArgumentCodersCurl.cpp:
(IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
(IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData):
* UIProcess/API/C/curl/WKProtectionSpaceCurl.cpp: Added.
(WKProtectionSpaceCopyCertificateInfo):
* UIProcess/API/C/curl/WKProtectionSpaceCurl.h: Added.

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

12 months agoWeb Inspector: replace all unicode characters with the escaped character code
drousso@apple.com [Fri, 30 Nov 2018 18:55:38 +0000 (18:55 +0000)]
Web Inspector: replace all unicode characters with the escaped character code
https://bugs.webkit.org/show_bug.cgi?id=192216
<rdar://problem/46275637>

Reviewed by Brian Burg.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/BreakpointPopoverController.js:
* UserInterface/Debug/UncaughtExceptionReporter.js:
* UserInterface/Models/AuditTestCase.js:
* UserInterface/Models/Canvas.js:
* UserInterface/Models/RecordingAction.js:
* UserInterface/Models/ScriptTimelineRecord.js:
* UserInterface/Views/AuditTestCaseContentView.js:
* UserInterface/Views/AuditTestContentView.js:
* UserInterface/Views/AuditTestGroupContentView.js:
* UserInterface/Views/CallFrameView.js:
* UserInterface/Views/CanvasContentView.js:
* UserInterface/Views/CanvasOverviewContentView.css:
* UserInterface/Views/ConsoleMessageView.css:
* UserInterface/Views/ContextMenuUtilities.js:
* UserInterface/Views/DOMEventsBreakdownView.js:
* UserInterface/Views/DataGrid.css:
* UserInterface/Views/DataGrid.js:
* UserInterface/Views/DatabaseTableContentView.js:
* UserInterface/Views/DebuggerDashboardView.css:
* UserInterface/Views/DebuggerSidebarPanel.js:
* UserInterface/Views/ErrorObjectView.js:
* UserInterface/Views/EventBreakpointPopover.js:
* UserInterface/Views/InlineSwatch.js:
* UserInterface/Views/LayerTreeDataGridNode.js:
* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
* UserInterface/Views/Layers3DContentView.js:
* UserInterface/Views/LayoutTimelineDataGridNode.js:
* UserInterface/Views/NetworkTableContentView.css:
* UserInterface/Views/NetworkTableContentView.js:
* UserInterface/Views/ObjectPreviewView.js:
* UserInterface/Views/ProfileDataGridNode.js:
* UserInterface/Views/ResourceTimelineDataGridNode.js:
* UserInterface/Views/ScriptDetailsTimelineView.css:
* UserInterface/Views/TextEditor.css:
* UserInterface/Views/TreeOutline.css:

LayoutTests:

* inspector/audit/data-domAttributes-expected.txt:
* inspector/audit/data-domNodes-expected.txt:
* inspector/audit/data-errors-expected.txt:

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

12 months ago-[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web...
david_quesada@apple.com [Fri, 30 Nov 2018 18:50:55 +0000 (18:50 +0000)]
-[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web view
https://bugs.webkit.org/show_bug.cgi?id=192212
rdar://problem/46363706

Reviewed by Alex Christensen.

Source/WebKit:

* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _downloadURLRequest:originatingWebView:]):
(-[WKProcessPool _downloadURLRequest:]): Deleted.
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner startDownload:expectedLength:]):

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

12 months ago[WebGPU] Flesh out WebGPURenderPassDescriptor to match the WebGPU IDL
justin_fan@apple.com [Fri, 30 Nov 2018 18:14:52 +0000 (18:14 +0000)]
[WebGPU] Flesh out WebGPURenderPassDescriptor to match the WebGPU IDL
https://bugs.webkit.org/show_bug.cgi?id=192213

Reviewed by Dean Jackson.

Source/WebCore:

WebGPU prototype now uses WebGPURenderPassColorAttachmentDescriptor in WebGPURenderPassDescriptor to match the WebGPU Sketch.
WebGPU developer can now also set the clearColor in WebGPURenderPassDescriptor.

No new tests. Older WebGPURenderPass* tests updated.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/webgpu/WebGPUColor.h: Added. Typedef'd to GPUColor.h.
* Modules/webgpu/WebGPUColor.idl: Added.
* Modules/webgpu/WebGPUCommandBuffer.cpp:
(WebCore::WebGPUCommandBuffer::beginRenderPass): Updated to error check and support the new structure of WebGPURenderPassDescriptor.
* Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.h: Added.
* Modules/webgpu/WebGPURenderPassColorAttachmentDescriptor.idl: Added.
* Modules/webgpu/WebGPURenderPassDescriptor.h:
* Modules/webgpu/WebGPURenderPassDescriptor.idl: Updated to match the sketch IDL.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/gpu/GPUColor.h: Added.
* platform/graphics/gpu/GPURenderPassColorAttachmentDescriptor.h: Added. Backing struct for WebGPU__.
* platform/graphics/gpu/GPURenderPassDescriptor.h: Updated to match new WebGPURenderPassDescriptor.
* platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::GPURenderPassEncoder::create): Now also uses clearColor set by developer.

LayoutTests:

Updating some tests to match the updated WebGPURenderPassDescriptor.

* webgpu/js/basic-webgpu-functions.js:
(render):
* webgpu/render-command-encoding.html:
* webgpu/render-passes.html:

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

12 months agoRemove invalid character in sandbox introduced in r238703.
pvollan@apple.com [Fri, 30 Nov 2018 17:41:39 +0000 (17:41 +0000)]
Remove invalid character in sandbox introduced in r238703.

Unreviewed sandbox fix.

* WebProcess/com.apple.WebProcess.sb.in:

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

12 months ago[Cocoa] Add some WKA extension points
aestes@apple.com [Fri, 30 Nov 2018 17:09:37 +0000 (17:09 +0000)]
[Cocoa] Add some WKA extension points
https://bugs.webkit.org/show_bug.cgi?id=192131
<rdar://problem/46330293>

Reviewed by Tim Horton.

Source/WebCore:

* DerivedSources.make: Added an extension point for derived sources.
* Modules/applepay/PaymentCoordinatorClient.h: Added an extension point for
PaymentCoordinatorClient.
* SourcesCocoa.txt: Added WebCoreAdditions.mm as a non-unified source.
* WebCore.xcodeproj/project.pbxproj: Added WebCoreAdditions.mm.
* bindings/js/WebCoreBuiltinNames.h: Added an extension point for built-in names.
* page/SettingsBase.h: Added an extension point for settings.
* platform/cocoa/WebCoreAdditions.mm: Added.

Source/WebKit:

* DerivedSources.make: Added an extension point for WebPreferences.yaml.
* Platform/IPC/MessageSender.h:
(IPC::MessageSender::sendWithAsyncReply): Send async messages via IPC::MessageSender.
* Platform/cocoa/WebKitAdditions.mm: A an extension point for additional WebKit sources.
* SourcesCocoa.txt: Added WebKitAdditions.mm as non-unified source.
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::WebPaymentCoordinatorProxy): Called finishConstruction.
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: Added an extension point for
WebPaymentCoordinatorProxy.
* WebKit.xcodeproj/project.pbxproj: Added WebKitAdditions.mm.
* WebProcess/ApplePay/WebPaymentCoordinator.h: Added an extension point for
WebPaymentCoordinator.

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

12 months ago[GStreamer][EME] CDMInstance should be shipped as a GstContext to the decryptors
calvaris@igalia.com [Fri, 30 Nov 2018 16:21:35 +0000 (16:21 +0000)]
[GStreamer][EME] CDMInstance should be shipped as a GstContext to the decryptors
https://bugs.webkit.org/show_bug.cgi?id=192075

Reviewed by Philippe Normand.

So far, we were shipping the CDMInstance in an event to the
decryptors and they were requesting it with bus messages when it
was not found. Now we ship it with a GstContext that is set to the
pipeline and read from the decryptors, which is now always
available.

As a consequence of changing this flow, the attemptToDecrypt one
was affected as well because it was tied to CDMInstance
shipment. A workaround was added: when the decryptors send the
waitingForKey, an attemptToDecrypt will be performed. A FIXME was
added for this. A subconsequence is that
attemptToDecryptWithInstance is reworked to rely always in
attemptToDecryptWithLocal instance, the former becomes final and
the latter virtual.

This is a rework, no new tests needed.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceAttached):
(WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceDetached):
(WebCore::MediaPlayerPrivateGStreamerBase::attemptToDecryptWithLocalInstance):
(WebCore::MediaPlayerPrivateGStreamerBase::dispatchCDMInstance): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(webkit_media_common_encryption_decrypt_class_init):
(webkitMediaCommonEncryptionDecryptTransformInPlace):
(webkitMediaCommonEncryptionDecryptIsCDMInstanceAvailable):
(webkitMediaCommonEncryptionDecryptSinkEventHandler):
(webKitMediaCommonEncryptionDecryptorSetContext):
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithLocalInstance):
(WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance): Deleted.
* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:

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

12 months ago[LFC][BFC] Compute min/maxHeight margins only when they are needed.
zalan@apple.com [Fri, 30 Nov 2018 15:26:10 +0000 (15:26 +0000)]
[LFC][BFC] Compute min/maxHeight margins only when they are needed.
https://bugs.webkit.org/show_bug.cgi?id=192223

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/block/block-only/collapsed-margin-with-min-height.html

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeHeightAndMargin const):

Tools:

* LayoutReloaded/misc/LFC-passing-tests.txt:

LayoutTests:

* fast/block/block-only/collapsed-margin-with-min-height-expected.txt: Added.
* fast/block/block-only/collapsed-margin-with-min-height.html: Added.

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

12 months ago[LFC][BFC] Geometry::inFlowNonReplacedHeightAndMargin should check for empty inline...
zalan@apple.com [Fri, 30 Nov 2018 15:24:11 +0000 (15:24 +0000)]
[LFC][BFC] Geometry::inFlowNonReplacedHeightAndMargin should check for empty inline formatting context.
https://bugs.webkit.org/show_bug.cgi?id=192215

Reviewed by Antti Koivisto.

Check if the inline formatting context actually has any lines.

* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):

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

12 months ago[LFC][BFC][MarginCollapsing] Do not use computed display box values for border and...
zalan@apple.com [Fri, 30 Nov 2018 15:22:39 +0000 (15:22 +0000)]
[LFC][BFC][MarginCollapsing] Do not use computed display box values for border and padding
https://bugs.webkit.org/show_bug.cgi?id=192214

Reviewed by Antti Koivisto.

Source/WebCore:

Border and padding values are not necessarily computed yet when we try to estimate the margin top value. Estimating margin top is required
to be able to place floats (vertically) sooner than we would compute the final vertical position for a regular block box.

<body><div style="float: left"></div><div><div style="margin: 10px;"></div></div>

In the above example, to estimate a final vertical position of the floating box, we need to know whether the nested div's margin is collapsed
all the way up to the body. However in order to find it out we need to check for borders and paddings (they stop margin collapsing).
At the time when the floating box is being laied out, those <div> block boxes are still far down in the layout queue.

* layout/blockformatting/BlockFormattingContext.h:
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
* layout/blockformatting/BlockMarginCollapse.cpp:
(WebCore::Layout::hasBorder):
(WebCore::Layout::hasPadding):
(WebCore::Layout::hasBorderBefore):
(WebCore::Layout::hasBorderAfter):
(WebCore::Layout::hasPaddingBefore):
(WebCore::Layout::hasPaddingAfter):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginTopCollapsedWithParent):
(WebCore::Layout::isMarginBottomCollapsedThrough):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginTop):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::marginBottom):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::isMarginBottomCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::Geometry::MarginCollapse::collapsedMarginBottomFromLastChild):

Tools:

* LayoutReloaded/misc/LFC-passing-tests.txt:

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

12 months ago[GTK][MiniBrowser] Handle Device Info permission requests
commit-queue@webkit.org [Fri, 30 Nov 2018 14:52:43 +0000 (14:52 +0000)]
[GTK][MiniBrowser] Handle Device Info permission requests
https://bugs.webkit.org/show_bug.cgi?id=191585

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-11-30
Reviewed by Carlos Garcia Campos.

* MiniBrowser/gtk/BrowserTab.c:
(permissionRequestDataNew):
(permissionRequestDataFree):
(permissionRequestDialogResponse):
(decidePermissionRequest):
(browserTabConstructed):

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

12 months agoUnreviewed GTK+ gardening. Stop running tests without complex text enforced
carlosgc@webkit.org [Fri, 30 Nov 2018 13:25:52 +0000 (13:25 +0000)]
Unreviewed GTK+ gardening. Stop running tests without complex text enforced

Rebaseline tests. Part 3.

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

12 months ago[BigInt] Implement ValueBitXor into DFG
ticaiolima@gmail.com [Fri, 30 Nov 2018 13:24:53 +0000 (13:24 +0000)]
[BigInt] Implement ValueBitXor into DFG
https://bugs.webkit.org/show_bug.cgi?id=190264

Reviewed by Yusuke Suzuki.

JSTests:

* stress/big-int-bitwise-xor-jit.js: Added.
* stress/big-int-bitwise-xor-memory-stress.js: Added.
* stress/big-int-bitwise-xor-untyped.js: Added.

Source/JavaScriptCore:

This patch is splitting the BitXor node into ArithBitXor and
ValueBitXor. This is necessary due the introduction of
BigInt, since BitXor operations now can result into Int32 or BigInt.
In such case, we use ArithBitXor when operands are Int and fallback to
ValueBitXor when operands are anything else. In the case of
ValueBitXor, we speculate BigInt when op1 and op2 are predicted as
BigInt as well. BigInt specialization consist into call
`operationBigIntBitXor` function, that calls JSBigInt::bitXor.

* bytecode/BytecodeList.rb:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::arithProfileForPC):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::propagate):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueBitwiseOp):
(JSC::DFG::SpeculativeJIT::compileBitwiseOp):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::bitOp):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor):
(JSC::FTL::DFG::LowerDFGToB3::compileArithBitXor):
(JSC::FTL::DFG::LowerDFGToB3::compileBitXor): Deleted.
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_bitxor):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):

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

12 months agoUnreviewed GTK+ gardening. Stop running tests without complex text enforced
carlosgc@webkit.org [Fri, 30 Nov 2018 12:51:22 +0000 (12:51 +0000)]
Unreviewed GTK+ gardening. Stop running tests without complex text enforced

Rebaseline tests. Part 2.

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

12 months agoUnreviewed GTK+ gardening. Stop running tests without complex text enforced
carlosgc@webkit.org [Fri, 30 Nov 2018 12:40:18 +0000 (12:40 +0000)]
Unreviewed GTK+ gardening. Stop running tests without complex text enforced

Tools:

We have enforced complex text in GTK+ for one release cycle without noticing any major issue nor performance
regression.

* WebKitTestRunner/gtk/main.cpp:
(main):

LayoutTests:

Rebaseline tests. Part 1.

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

12 months ago[WebAuthN] Support CTAP HID authenticators on macOS
fred.wang@free.fr [Fri, 30 Nov 2018 12:28:00 +0000 (12:28 +0000)]
[WebAuthN] Support CTAP HID authenticators on macOS
https://bugs.webkit.org/show_bug.cgi?id=188623

Unreviewed build fix.

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-30

* UIProcess/WebAuthentication/Cocoa/HidConnection.mm: Add missing header.

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

12 months agoREGRESSION (r238635): Dragging a text selection within WKWebView causes the selection...
wenson_hsieh@apple.com [Fri, 30 Nov 2018 07:22:00 +0000 (07:22 +0000)]
REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
https://bugs.webkit.org/show_bug.cgi?id=192165
<rdar://problem/46346682>

Reviewed by Daniel Bates.

Source/WebKit:

Fixes a bug in PageClientImpl::isViewFocused. Consider the following scenario:
1. WKWebView is hosted within the view hierarchy
2. First responder is *not* WKContentView
3. The active focus retain count is nonzero

Before r238635, we would return true, due to condition (3). However, after r238635, we only consider whether the
first responder is WKContentView, since the web view is in the view hierarchy. This breaks scenarios where
WebKit or UIKit attempts to retain focus and later restore the content view to be the first responder (an
example of this is dragging a text selection between editable elements in the same web view).

To fix this, simply bail early and return true if focus is being retained.

* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewFocused):

Tools:

Fixes 11 API tests that started failing or timing out after r238635. See below for more details.

* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
(TestWebKitAPI::webViewForEditActionTesting):
(TestWebKitAPI::webViewForEditActionTestingWithPageNamed):

Ensure that the web view becomes first responder before executing edit actions.

* TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
* TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html:

Tweak these tests to allow selected content to overflow the width of the web view. Without this change,
ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes
the body to scroll horizontally, so we miss the drop destination.

* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(loadTestPageAndEnsureInputSession):

Add a new helper to load a test page with a given name, become first responder, and wait until an input session
starts. Use this in various drag and drop tests to reduce code duplication.

* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator initWithWebView:]):
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator _advanceProgress]):

To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear
the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that
regressed with r238635.

(-[DragAndDropSimulator ensureInputSession]):
(-[DragAndDropSimulator _webView:didStartInputSession:]):
(-[DragAndDropSimulator waitForInputSession]): Deleted.

Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply
wait for an input session to start if needed.

* TestWebKitAPI/ios/UIKitSPI.h:

Add a new SPI declaration.

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

12 months agoSeparate paint and scroll offsets for RenderLayerBacking::m_scrollingContentsLayer
commit-queue@webkit.org [Fri, 30 Nov 2018 06:35:36 +0000 (06:35 +0000)]
Separate paint and scroll offsets for RenderLayerBacking::m_scrollingContentsLayer
https://bugs.webkit.org/show_bug.cgi?id=183040

Source/WebCore:

Currently, scroll offset of RenderLayerBacking::m_scrollingContentsLayer is stored in the
GraphicsLayer::m_offsetFromRenderer member used for paint offset. This patch separates these
two concept by introducing a new GraphicsLayer::m_scrollOffset for the scroll offset. This
makes the API a little bit cleaner, the code easier to understand and might avoid unnecessary
repaints in composited scroll.

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-29
Reviewed by Simon Fraser.

No new tests, already covered by existing tests.

* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setScrollOffset): Setter function to update the scroll offset
of the content layer inside its scrolling parent layer. Ask a repaint if it has changed and
is requested by the caller.
(WebCore::GraphicsLayer::paintGraphicsLayerContents): Take into account the scroll offset
when painting.
(WebCore::GraphicsLayer::dumpProperties const): Dump the scroll offset property.
* platform/graphics/GraphicsLayer.h: Include ScrollableArea for the ScrollOffset typedef.
Add member for the scroll offset of the content layer inside its scrolling parent layer.
(WebCore::GraphicsLayer::scrollOffset const): Getter function.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry): Do not include the scroll offset in the
paint offset of m_scrollingContentsLayer since it is now taken into account in
paintGraphicsLayerContents. Update the scroll offset of m_scrollingContentsLayer separately.
Leave the paint offset of m_foregroundLayer unchanged.
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Take into account the scroll
offset of m_scrollingContentsLayer when calculating the dirty rect.

LayoutTests:

Patch by Frederic Wang <fwang@igalia.com> on 2018-11-29
Reviewed by Simon Fraser.

Update expectations containing layer trees of RenderLayerBacking::m_scrollingContentsLayer, to separate offsetFromRenderer and
scrollOffset. We have OLD offsetFromRenderer = NEW offsetFromRenderer - scrollOffset.

* compositing/ios/overflow-scroll-touch-tiles-expected.txt:
* fast/scrolling/ios/overflow-scroll-touch-expected.txt:
* fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt:
* platform/ios/compositing/overflow/scrolling-without-painting-expected.txt:
* platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/ios/compositing/rtl/rtl-scrolling-with-transformed-descendants-expected.txt:
* platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt:
* platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt:
* platform/ios/fast/scrolling/ios/textarea-scroll-touch-expected.txt:

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

12 months agoInform clients when editable image attachment backing data changes
timothy_horton@apple.com [Fri, 30 Nov 2018 06:31:04 +0000 (06:31 +0000)]
Inform clients when editable image attachment backing data changes
https://bugs.webkit.org/show_bug.cgi?id=192206
<rdar://problem/46350277>

Reviewed by Wenson Hsieh.

Source/WebKit:

* UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
(API::Attachment::invalidateGeneratedFileWrapper):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didInvalidateDataForAttachment:]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/Cocoa/PageClientImplCocoa.h:
* UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::didInvalidateDataForAttachment):
* UIProcess/PageClient.h:
(WebKit::PageClient::didInvalidateDataForAttachment):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didInvalidateDataForAttachment):
* UIProcess/WebPageProxy.h:
Plumb file-wrapper-invalidation through from APIAttachment to WKUIDelegate.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[AttachmentUpdateObserver init]):
(-[AttachmentUpdateObserver dataInvalidated]):
(-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation):
(webViewForTestingAttachments):
(TestWebKitAPI::forEachViewInHierarchy):
(TestWebKitAPI::findEditableImageCanvas):
(TestWebKitAPI::drawSquareInEditableImage):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/PencilKitTestSPI.h: Added.
Add a test ensuring that we get an invalidation callback when an editable image is changed.

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

12 months agoOverflow scrolling layers need to be self-painting
simon.fraser@apple.com [Fri, 30 Nov 2018 03:47:59 +0000 (03:47 +0000)]
Overflow scrolling layers need to be self-painting
https://bugs.webkit.org/show_bug.cgi?id=192201

Reviewed by Dean Jackson.
Source/WebCore:

Overflow scrolling layers paint their contents, so need to be self-painting in the RenderLayer sense.

Without this change, the overflow in the testcase doesn't get any compositing layers.

Test: compositing/scrolling/overflow-scrolling-layers-are-self-painting.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):

LayoutTests:

* compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt: Added.
* compositing/scrolling/overflow-scrolling-layers-are-self-painting.html: Added.

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

12 months ago[MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents
eric.carlson@apple.com [Fri, 30 Nov 2018 03:15:03 +0000 (03:15 +0000)]
[MediaStream] DeviceIdHashSaltStorage should use iframe and top level documents
https://bugs.webkit.org/show_bug.cgi?id=192182

Reviewed by Youenn Fablet.

Source/WebKit:

* UIProcess/DeviceIdHashSaltStorage.cpp:
(WebKit::DeviceIdHashSaltStorage::deviceIdHashSaltForOrigin): Key off of request and top
level documents.
(WebKit::DeviceIdHashSaltStorage::deleteDeviceIdHashSaltForOrigins): Ditto.
* UIProcess/DeviceIdHashSaltStorage.h:
(WebKit::DeviceIdHashSaltStorage::HashSaltForOrigin::HashSaltForOrigin):

* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Pass both documents.
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Ditto.
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Ditto.

LayoutTests:

* http/tests/media/media-stream/enumerate-devices-source-id-expected.txt:
* http/tests/media/media-stream/enumerate-devices-source-id.html:
* http/tests/media/media-stream/resources/enumerate-devices-source-id-frame.html:

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

12 months ago[Win] listDirectory in FileSystemWin.cpp should not skip all directories
chris.reid@sony.com [Fri, 30 Nov 2018 02:16:18 +0000 (02:16 +0000)]
[Win] listDirectory in FileSystemWin.cpp should not skip all directories
https://bugs.webkit.org/show_bug.cgi?id=192042

Reviewed by Fujii Hironori.

Source/WebCore:

Covered by existing tests.

listDirectory is not returning any child directories which is causing
ASSERT(diskUsage >= databaseFileSize) in SQLiteIDBBackingStore.cpp to fail.

Change listDirectory in FileSystemWin to match FileSystemPOSIX's behavior.
listDirectory should only skip the current and previous directories.

* platform/win/FileSystemWin.cpp:

LayoutTests:

Enable storage tests on WinCairo and adding initial test expectations.

* platform/wincairo/TestExpectations:

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

12 months agoUnreviewed, rolling out r238713.
ryanhaddad@apple.com [Fri, 30 Nov 2018 01:50:22 +0000 (01:50 +0000)]
Unreviewed, rolling out r238713.

Breaks internal builds.

Reverted changeset:

"[Cocoa] Add some WKA extension points"
https://bugs.webkit.org/show_bug.cgi?id=192131
https://trac.webkit.org/changeset/238713

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

12 months agoUnreviewed, rolling out r238680.
ryanhaddad@apple.com [Fri, 30 Nov 2018 01:32:17 +0000 (01:32 +0000)]
Unreviewed, rolling out r238680.

Caused existing webrtc layout tests to fail an assertion.

Reverted changeset:

"A sender created through addTransceiver and populated using
addTrack should have its source set"
https://bugs.webkit.org/show_bug.cgi?id=192136
https://trac.webkit.org/changeset/238680

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

12 months agoREGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler...
Hironori.Fujii@sony.com [Fri, 30 Nov 2018 01:22:26 +0000 (01:22 +0000)]
REGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
https://bugs.webkit.org/show_bug.cgi?id=192143

Reviewed by Philippe Normand.

Buildbot can't start since r238445.

> Configuration Errors:
>   Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
>   Unknown builder 'GTK Linux ARM Release' in scheduler 'trunk'

* BuildSlaveSupport/build.webkit.org-config/config.json: Removed deprecated builders.

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

12 months agoRemove dangling WebGPU file references from WebCore project
justin_fan@apple.com [Fri, 30 Nov 2018 01:19:02 +0000 (01:19 +0000)]
Remove dangling WebGPU file references from WebCore project
https://bugs.webkit.org/show_bug.cgi?id=192185

Unreviewed project file gardening.

No new tests.

* WebCore.xcodeproj/project.pbxproj:

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

12 months agoUnreviewed build fix.
krollin@apple.com [Fri, 30 Nov 2018 01:02:45 +0000 (01:02 +0000)]
Unreviewed build fix.

r238637 introduced some DerivedSources.make changes that could produce
some invalid .idl files, leading to IDLParser.pm error messages.

* DerivedSources.make:

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

12 months agoAdd an internal feature flag to enable async overflow scrolling
simon.fraser@apple.com [Fri, 30 Nov 2018 00:55:56 +0000 (00:55 +0000)]
Add an internal feature flag to enable async overflow scrolling
https://bugs.webkit.org/show_bug.cgi?id=192184

Reviewed by Tim Horton.

Add a new internal feature flag that will enable async overflow-scrolling for
most overflow:scroll elements. Defaults to off.
Source/WebCore:

Make the "UseAcceleratedTouchScrolling" terminology in RenderLayer etc be more generic,
and refer to async overflow scrolling.

* page/Settings.yaml:
* rendering/RenderLayer.cpp:
(WebCore::canCreateStackingContext): Remove a line which is not necessary, since -webkit-overflow-scrolling: touch
already triggers non-auto z-index via code in StyleResolver::adjustRenderStyle().
(WebCore::RenderLayer::canUseCompositedScrolling const):
(WebCore::RenderLayer::hasCompositedScrollableOverflow const):
(WebCore::RenderLayer::handleTouchEvent):
(WebCore::RenderLayer::usesAsyncScrolling const):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
(WebCore::RenderLayer::showsOverflowControls const):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::canUseAcceleratedTouchScrolling const): Deleted.
(WebCore::RenderLayer::hasTouchScrollableOverflow const): Deleted.
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const):
(WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer const):
(WebCore::RenderLayerCompositor::useCoordinatedScrollingForLayer const):

Source/WebKit:

* Shared/WebPreferences.yaml:

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

12 months ago[Cocoa] Add some WKA extension points
aestes@apple.com [Fri, 30 Nov 2018 00:50:07 +0000 (00:50 +0000)]
[Cocoa] Add some WKA extension points
https://bugs.webkit.org/show_bug.cgi?id=192131
<rdar://problem/46330293>

Reviewed by Tim Horton.

Source/WebCore:

* DerivedSources.make: Added an extension point for derived sources.
* Modules/applepay/PaymentCoordinatorClient.h: Added an extension point for
PaymentCoordinatorClient.
* SourcesCocoa.txt: Added WebCoreAdditions.mm as a non-unified source.
* WebCore.xcodeproj/project.pbxproj: Added WebCoreAdditions.mm.
* bindings/js/WebCoreBuiltinNames.h: Added an extension point for built-in names.
* page/SettingsBase.h: Added an extension point for settings.
* platform/cocoa/WebCoreAdditions.mm: Added.

Source/WebKit:

* DerivedSources.make: Added an extension point for WebPreferences.yaml.
* Platform/IPC/MessageSender.h:
(IPC::MessageSender::sendWithAsyncReply): Send async messages via IPC::MessageSender.
* Platform/cocoa/WebKitAdditions.mm: A an extension point for additional WebKit sources.
* SourcesCocoa.txt: Added WebKitAdditions.mm as non-unified source.
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::WebPaymentCoordinatorProxy): Called finishConstruction.
* UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: Added an extension point for
WebPaymentCoordinatorProxy.
* WebKit.xcodeproj/project.pbxproj: Added WebKitAdditions.mm.
* WebProcess/ApplePay/WebPaymentCoordinator.h: Added an extension point for
WebPaymentCoordinator.

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

12 months agoTry to fix the build.
timothy_horton@apple.com [Fri, 30 Nov 2018 00:45:44 +0000 (00:45 +0000)]
Try to fix the build.

* Platform/spi/ios/PencilKitSPI.h:

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

12 months agoWeb Inspector: RTL: disclosure triangles should be flipped and aligned right
mattbaker@apple.com [Fri, 30 Nov 2018 00:39:02 +0000 (00:39 +0000)]
Web Inspector: RTL: disclosure triangles should be flipped and aligned right
https://bugs.webkit.org/show_bug.cgi?id=192089
<rdar://problem/46316753>

Reviewed by Devin Rousso.

* UserInterface/Views/ComputedStyleSection.css:
(.computed-style-section .computed-property-item .disclosure-button):
(body[dir=rtl] .computed-style-section .computed-property-item .disclosure-button):

* UserInterface/Views/ConsoleMessageView.css:
(.console-message.expandable .console-top-level-message::before):
(body[dir=rtl] .console-message.expandable .console-top-level-message::before):

* UserInterface/Views/ErrorObjectView.css:
(.error-object > .formatted-error::before):
(body[dir=rtl] .error-object > .formatted-error::before):
(.error-object .content):

* UserInterface/Views/LogContentView.css:
(.console-group-title::before):
(body[dir=ltr] .console-group-title::before):
(body[dir=rtl] .console-group-title::before):

* UserInterface/Views/ObjectTreeView.css:
(body[dir=rtl] .object-tree > :matches(.title, .object-preview)::before):

* UserInterface/Views/TypeTreeElement.css:
(body[dir=rtl] .item.type-tree-element.parent > .disclosure-button):

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

12 months agoAdd SPI to publish NSProgress on active downloads
david_quesada@apple.com [Fri, 30 Nov 2018 00:38:29 +0000 (00:38 +0000)]
Add SPI to publish NSProgress on active downloads
https://bugs.webkit.org/show_bug.cgi?id=192021
rdar://problem/44405661

Reviewed by Alex Christensen.

Source/WebCore/PAL:

Add an SPI header for NSProgress's publishing and unpublishing methods. In older
SDKs, these methods are explicitly unavailable on platforms other than macOS,
with underscore-prefixed versions available as SPI. In newer SDKs, the unprefixed
versions are SPI and the prefixed versions are deprecated.

* PAL.xcodeproj/project.pbxproj:
* pal/spi/cocoa/NSProgressSPI.h:

Source/WebKit:

Make it possible for clients to allow other processes to monitor the state of active
downloads. On Cocoa platforms, this can be done by creating an NSProgress, publishing
it on an appropriate file URL (potentially a different file URL than where the download
data is being written), updating properties on it as the download makes progress, and
wiring up a cancellation handler that allows it to be remotely canceled. Interested
clients can then subscribe to progress on that URL and receive a proxy to the progress
that WebKit publishes.

* NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::~Download):
(WebKit::Download::platformDestroyDownload):
    Add a platform-customizable hook for destructing the Download. DownloadCocoa.mm
    will interact with its Objective-C NSProgress instance at this point.

* NetworkProcess/Downloads/Download.h:
* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::dataTaskBecameDownloadTask):
    See comments for publishDownloadProgress().
(WebKit::DownloadManager::publishDownloadProgress):
    If the provided downloadID corresponds to a non-Pending Download, hand the URL
    and a matching sandbox extension to the Download so it can create its progress.
    Otherwise, store the URL and sandbox extension on the PendingDownload to be used
    later when the full Download is created. When this happens, dataTaskBecameDownloadTask()
    will tell the PendingDownload about the Download it has become. The PendingDownload
    will then relay the progress URL and sandbox extension to the Download.

* NetworkProcess/Downloads/DownloadManager.h:
* NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::publishProgress):
    Store the progress info for later use, when the proper Download is created.
(WebKit::PendingDownload::didBecomeDownload):
    If there was a progress URL provided earlier, tell the Download corresponding to this
    PendingDownload to publish its progress using that URL.

* NetworkProcess/Downloads/PendingDownload.h:
* NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::platformDestroyDownload):
    When the Download is destroyed (i.e. when the download succeeds, fails, or is canceled),
    unpublish the progress, since there is no longer any activity to report.
(WebKit::Download::publishProgress):
    Resolve the sandbox extension, create a progress configured to reflect the progress of
    this Download's NSURLSessionDownloadTask, and publish it at the given file URL.

* NetworkProcess/Downloads/cocoa/WKDownloadProgress.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownload.h.
* NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm: Added.
(-[WKDownloadProgress initWithDownloadTask:download:URL:sandboxExtension:]):
    Configure this progress, start observing properties on the download task that this
    progress will reflect, and connect the cancellation handler of the progress to cancel
    the corresponding Download.
(-[WKDownloadProgress publish]):
(-[WKDownloadProgress unpublish]):
    Override these methods to consume and revoke the sandbox extension to make sure the
    process has access to the progress file while the progress will be published.
(-[WKDownloadProgress dealloc]):
(-[WKDownloadProgress observeValueForKeyPath:ofObject:change:context:]):
    When either byte count (number received, or number expected to receive) of the download
    task changes, update this progress to reflect that.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::publishDownloadProgress):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:

* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
    Allow looking up the services that manages published NSProgresses.

* UIProcess/API/Cocoa/_WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload publishProgressAtURL:]):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::publishProgress):
* UIProcess/Downloads/DownloadProxy.h:
* WebKit.xcodeproj/project.pbxproj:

Tools:

Add API tests to exercise the progress-publishing functionality in a variety of scenarios.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: Added.
(+[DownloadProgressTestProtocol registerProtocolForTestRunner:]):
(+[DownloadProgressTestProtocol unregisterProtocol]):
(+[DownloadProgressTestProtocol canInitWithRequest:]):
(+[DownloadProgressTestProtocol canonicalRequestForRequest:]):
(+[DownloadProgressTestProtocol requestIsCacheEquivalent:toRequest:]):
(-[DownloadProgressTestProtocol startLoading]):
(-[DownloadProgressTestProtocol stopLoading]):
(-[DownloadProgressTestRunner init]):
(-[DownloadProgressTestRunner startLoadingWithProtocol:]):
(-[DownloadProgressTestRunner tearDown]):
(-[DownloadProgressTestRunner _didGetProgress:]):
(-[DownloadProgressTestRunner _didLoseProgress]):
(-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
(-[DownloadProgressTestRunner waitToLoseProgress]):
(-[DownloadProgressTestRunner startDownload:expectedLength:]):
(-[DownloadProgressTestRunner publishProgress]):
(-[DownloadProgressTestRunner receiveData:]):
(-[DownloadProgressTestRunner finishDownloadTask]):
(-[DownloadProgressTestRunner failDownloadTask]):
(-[DownloadProgressTestRunner waitForDownloadDidCreateDestination]):
(-[DownloadProgressTestRunner waitForDownloadFinished]):
(-[DownloadProgressTestRunner waitForDownloadCanceled]):
(-[DownloadProgressTestRunner waitForDownloadFailed]):
(-[DownloadProgressTestRunner waitForUpdatedCompletedUnitCount]):
(-[DownloadProgressTestRunner observeValueForKeyPath:ofObject:change:context:]):
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[DownloadProgressTestRunner _downloadDidStart:]):
(-[DownloadProgressTestRunner _download:didCreateDestination:]):
(-[DownloadProgressTestRunner _downloadDidFinish:]):
(-[DownloadProgressTestRunner _downloadDidCancel:]):
(-[DownloadProgressTestRunner _download:didFailWithError:]):
(-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(TEST):

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

12 months agoMake drawing tools available when an editable image is focused
timothy_horton@apple.com [Fri, 30 Nov 2018 00:32:14 +0000 (00:32 +0000)]
Make drawing tools available when an editable image is focused
https://bugs.webkit.org/show_bug.cgi?id=192172
<rdar://problem/30337960>

Reviewed by Dean Jackson.

* Platform/spi/ios/PencilKitSPI.h:
Add some more SPI.

* Shared/AssistedNodeInformation.cpp:
(WebKit::AssistedNodeInformation::encode const):
(WebKit::AssistedNodeInformation::decode):
* Shared/AssistedNodeInformation.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleStylusSingleTapAtPoint):
(WebKit::isAssistableElement):
(WebKit::WebPage::getAssistedNodeInformation):
Plumb the assisted node's embedded view ID, if available.
Also add a new input type for drawings, and use it when appropriate.

* SourcesCocoa.txt:
* UIProcess/API/Cocoa/_WKFocusedElementInfo.h:
Add WKInputTypeDrawing.

* UIProcess/ios/PencilKitSoftLink.h: Added.
* UIProcess/ios/PencilKitSoftLink.mm: Added.
Pull soft-linking out into its own file, to fix unified sources.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFocusedElementInfo initWithAssistedNodeInformation:isUserInitiated:userObject:]):
(-[WKContentView _requiresKeyboardWhenFirstResponder]):
(-[WKContentView requiresAccessoryView]):
Install a keyboard when a drawing is focused.
Also, deduplicate one "curretUserInterfaceIdiomIsPad"; just fall through.

(-[WKContentView inputView]):
Make a WKInkPickerControl when a drawing is focused.

(-[WKContentView textInputTraits]):
(isAssistableInputType):
* UIProcess/ios/WKDrawingView.h:
* UIProcess/ios/WKDrawingView.mm:
(-[WKDrawingView initWithEmbeddedViewID:webPageProxy:]):
(-[WKDrawingView PNGRepresentation]):
(-[WKDrawingView loadDrawingFromPNGRepresentation:]):
Adopt PencilKitSoftLink.

(-[WKDrawingView canvasView]):
Expose the internal canvas view for use by WKInkPickerControl.

* UIProcess/ios/WKInkPickerControl.h: Copied from Source/WebKit/Platform/spi/ios/PencilKitSPI.h.
* UIProcess/ios/WKInkPickerControl.mm: Added.
(-[WKInkPickerView initWithFrame:drawingView:]):
(-[WKInkPickerView didPickInk]):
(-[WKInkPickerView inlineInkPickerDidToggleRuler:]):
(-[WKInkPickerView inlineInkPicker:didSelectTool:]):
(-[WKInkPickerView inlineInkPicker:didSelectColor:]):
(-[WKInkPickerView inkPickerSize]):
(-[WKInkPickerView layoutSubviews]):
(-[WKInkPickerView sizeThatFits:]):
(-[WKInkPickerView viewControllerForPopoverPresentationFromInlineInkPicker:]):
(-[WKInkPickerControl initWithDrawingView:]):
(-[WKInkPickerControl beginEditing]):
(-[WKInkPickerControl endEditing]):
(-[WKInkPickerControl assistantView]):
Install and hook up a PKInlineInkPicker.
Center it in the keyboard.
Plumb changes through to the canvas view.

* WebKit.xcodeproj/project.pbxproj:

* editing/Editor.cpp:
(WebCore::Editor::insertEditableImage):
* editing/Editor.h:
* editing/InsertEditableImageCommand.cpp:
(WebCore::InsertEditableImageCommand::insertEditableImage):
(WebCore::InsertEditableImageCommand::doApply):
* editing/InsertEditableImageCommand.h:
Add InsertEditableImageCommand::insertEditableImage, which returns the
inserted image element.

* html/HTMLImageElement.h:
Make HTMLImageElement focusable if it is editable.

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

12 months agoREGRESSION (r238090): [ MacOS WK1 ] Layout Test imported/blink/compositing/squashing...
ryanhaddad@apple.com [Fri, 30 Nov 2018 00:28:57 +0000 (00:28 +0000)]
REGRESSION (r238090): [ MacOS WK1 ] Layout Test imported/blink/compositing/squashing/squashing-into-ancestor-painted-layer.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=191639

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations: Mark test as flaky.

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