088fb71c0b8d633cb3097f8497d67ed658eda639
[WebKit-https.git] / Source / WebKit / ChangeLog
1 2018-01-08  Alex Christensen  <achristensen@webkit.org>
2
3         Pass around Vector<Ref<WebContextMenuItem>> instead of WKArrayRef or Vector<WebContextMenuItemData>
4         https://bugs.webkit.org/show_bug.cgi?id=181419
5
6         Reviewed by Tim Horton.
7
8         Passing a WKArrayRef to an API object is messy and was preventing me from moving things around and making ObjC SPI.
9         No change in behavior.  Just using different layering abstractions for the same data.
10
11         * UIProcess/API/C/WKContextMenuListener.cpp:
12         (WKContextMenuListenerUseContextMenuItems):
13         * UIProcess/WebContextMenuListenerProxy.cpp:
14         (WebKit::WebContextMenuListenerProxy::useContextMenuItems):
15         * UIProcess/WebContextMenuListenerProxy.h:
16         * UIProcess/WebContextMenuProxy.h:
17         * UIProcess/mac/WebContextMenuProxyMac.h:
18         * UIProcess/mac/WebContextMenuProxyMac.mm:
19         (WebKit::WebContextMenuProxyMac::showContextMenuWithItems):
20         (WebKit::WebContextMenuProxyMac::showContextMenu):
21
22 2018-01-08  John Wilander  <wilander@apple.com>
23
24         Storage Access API: Remove access for all frames under a page when the page is closed
25         https://bugs.webkit.org/show_bug.cgi?id=181398
26         <rdar://problem/36357879>
27
28         Reviewed by Alex Christensen.
29
30         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
31         (WebKit::NetworkConnectionToWebProcess::removeStorageAccessForAllFramesOnPage):
32         * NetworkProcess/NetworkConnectionToWebProcess.h:
33         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
34         * WebProcess/WebPage/WebPage.cpp:
35         (WebKit::WebPage::close):
36
37 2018-01-08  Youenn Fablet  <youenn@apple.com>
38
39         SWClientConnection should not keep references to service worker jobs
40         https://bugs.webkit.org/show_bug.cgi?id=181381
41
42         Reviewed by Chris Dumez.
43
44         Updated IPC handling based on WebCore refactoring.
45
46         * Scripts/webkit/messages.py:
47         (forward_declarations_and_headers):
48         (headers_for_type):
49         * StorageProcess/ServiceWorker/WebSWServerConnection.cpp:
50         (WebKit::WebSWServerConnection::rejectJobInClient):
51         (WebKit::WebSWServerConnection::resolveRegistrationJobInClient):
52         (WebKit::WebSWServerConnection::resolveUnregistrationJobInClient):
53         (WebKit::WebSWServerConnection::startScriptFetchInClient):
54         * StorageProcess/ServiceWorker/WebSWServerConnection.h:
55         * WebProcess/Storage/WebSWClientConnection.messages.in:
56
57 2018-01-08  Joseph Pecoraro  <pecoraro@apple.com>
58
59         [Cocoa] Web Inspector: Provide a way for clients to check if an NSWindow is a Web Inspector window
60         https://bugs.webkit.org/show_bug.cgi?id=181361
61         <rdar://problem/36332865>
62
63         Reviewed by Darin Adler.
64
65         * WebKit.xcodeproj/project.pbxproj:
66         New files.
67
68         * Shared/API/Cocoa/_WKNSWindowExtras.h: Added.
69         * Shared/API/Cocoa/_WKNSWindowExtras.mm: Added.
70         (-[NSWindow _web_isWebInspectorWindow]):
71         Method to determing if a window is being used for Web Inspector content.
72
73         * UIProcess/mac/WKInspectorWindow.h: Added.
74         * UIProcess/mac/WKInspectorWindow.mm: Added.
75         Named subclass so we can use isKindOfClass.
76
77         * UIProcess/mac/WebInspectorProxyMac.mm:
78         (WebKit::WebInspectorProxy::createFrontendWindow):
79         Use the named subclass.
80
81 2018-01-08  Tim Horton  <timothy_horton@apple.com>
82
83         Build fix for WKPDFView
84         https://bugs.webkit.org/show_bug.cgi?id=181399
85         <rdar://problem/36311915>
86
87         Reviewed by Simon Fraser.
88
89         * UIProcess/ios/WKPDFView.mm:
90         Disable deprecation warnings in this whole file.
91
92 2018-01-08  Youenn Fablet  <youenn@apple.com>
93
94         Caches::writeCachesToDisk should assert that it is initialized
95         https://bugs.webkit.org/show_bug.cgi?id=181383
96
97         Reviewed by Alex Christensen.
98
99         Add assertion to ensure caches is initialized
100
101         * NetworkProcess/cache/CacheStorageEngineCaches.cpp:
102         (WebKit::CacheStorage::Caches::writeCachesToDisk):
103
104 2018-01-08  Youenn Fablet  <youenn@apple.com>
105
106         WebProcessPool::terminateServiceWorkerProcess should protect itself in debug builds
107         https://bugs.webkit.org/show_bug.cgi?id=181384
108
109         Reviewed by Chris Dumez.
110
111         * UIProcess/WebProcessPool.cpp:
112         (WebKit::WebProcessPool::terminateServiceWorkerProcess):
113
114 2018-01-08  Frederic Wang  <fwang@igalia.com>
115
116         Unreviewed build fix after r226211.
117
118         * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Use WK_IOS_TBA for iOS.
119
120 2018-01-08  Youenn Fablet  <youenn@apple.com>
121
122         navigator.onLine does not work inside service workers
123         https://bugs.webkit.org/show_bug.cgi?id=181079
124         <rdar://problem/36178606>
125
126         Reviewed by Darin Adler.
127
128         Added support for a callback called for each service worker proxy creation.
129         Callback is used by WTR to inject a self.internals object used for testing.
130
131         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
132         (WKBundleSetServiceWorkerProxyCreationCallback):
133         * WebProcess/InjectedBundle/API/c/WKBundle.h:
134         * WebProcess/InjectedBundle/InjectedBundle.cpp:
135         (WebKit::InjectedBundle::setServiceWorkerProxyCreationCallback):
136         * WebProcess/InjectedBundle/InjectedBundle.h:
137
138 2018-01-07  David Kilzer  <ddkilzer@apple.com>
139
140         Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects
141         <https://webkit.org/b/181256>
142         <rdar://problem/36281730>
143
144         Reviewed by Darin Adler.
145
146         * Configurations/Base.xcconfig:
147         (WARNING_CFLAGS): Add -Wcast-qual.
148         * NetworkProcess/cache/NetworkCacheCodersCocoa.cpp:
149         (WTF::Persistence::encodeCertificateChain): Include
150         TypeCastsCF.h from WTF, and use
151         checked_cf_cast<SecCertificateRef>() to fix warning.
152         * Platform/cocoa/WKCrashReporter.mm:
153         (WebKit::setCrashReportApplicationSpecificInformation):
154         - Move `oldMessage` check above nullptr check to fix a leak when
155           passing in nullptr after previously setting the crash string.
156         - Change C-style cast to const_cast<char*>() to fix warning.
157         * PluginProcess/mac/PluginProcessShim.mm:
158         (WebKit::shim_shmat): Change C-style cast to
159         const_cast<void*>() to fix warning.
160         * Shared/Authentication/mac/AuthenticationManager.mac.mm:
161         (WebKit::leafCertificate): Include TypeCastsCF.h from
162         WTF, and use checked_cf_cast<SecCertificateRef>() to fix
163         warning.
164         * Shared/cf/ArgumentCodersCF.cpp:
165         (IPC::encode): Use static_cast<>(const_cast<void*>() to
166         fix warnings since the CFTypeID has already been
167         checked.
168         * Shared/mac/WebCoreArgumentCodersMac.mm:
169         (IPC::decodeNSError): Use an `auto` variable to hold the
170         CFMutableDictionaryRef, then WTFMove() to assign it back to
171         `userInfo`.
172         * UIProcess/Cocoa/WebViewImpl.mm:
173         (WebKit::takeWindowSnapshot): Include TypeCastsCF.h from
174         WTF, and use checked_cf_cast<CGImageRef>() to fix
175         warning.
176
177 2018-01-07  Konstantin Tokarev  <annulen@yandex.ru>
178
179         [cmake] Unset CMAKE_REQUIRED_LIBRARIES after check_function_exists test
180         https://bugs.webkit.org/show_bug.cgi?id=181371
181
182         Reviewed by Michael Catanzaro.
183
184         This variable is used by check_function_exists internally, its value
185         should be never used for anything else.
186
187         * CMakeLists.txt:
188
189 2018-01-05  Dan Bernstein  <mitz@apple.com>
190
191         REGRESSION (r226218): iOS-only assets are installed on macOS
192         https://bugs.webkit.org/show_bug.cgi?id=181362
193
194         Reviewed by Anders Carlsson.
195
196         * Configurations/WebKit.xcconfig: Exclude everything under Resources/ios when not targeting
197           iOS.
198
199         * Resources/ios: Added.
200         * Resources/ios/iOS.xcassets: Moved from Source/WebKit/WebKit.xcassets.
201         * Resources/ios/iOS.xcassets/LockMini.imageset/NavigationBarLockMini@2x.pdf: Set the
202           svn:mime-type property.
203         * Resources/ios/iOS.xcassets/LockMini.imageset/NavigationBarLockMini@3x.pdf: Ditto.
204
205         * Resources/mac: Added.
206         * Resources/mac/mediaIcon.pdf: Moved here…
207         * Resources/mediaIcon.pdf: …from here.
208
209         * WebKit.xcassets: Moved under Resources/ios.
210
211         * WebKit.xcodeproj/project.pbxproj: Created an ios group under the Resources group, and
212           cleaned up the mac group. Removed the Recovered References group.
213
214 2018-01-05  John Wilander  <wilander@apple.com>
215
216         Storage Access API: Refactor to make naming accurate and explicit, simplify access table, and prepare for access removal for page
217         https://bugs.webkit.org/show_bug.cgi?id=181357
218         <rdar://problem/36331031>
219
220         Reviewed by Alex Christensen.
221
222         This change does the following:
223         - Changes function and message names to reflect how this feature
224           was eventually implemented, i.e. access per frame.
225         - Makes it explicit that the UI process is only involved in
226           granting storage access and not removing storage access.
227           The latter is done directly by the web process.
228         - Simplifies the network process' entry map since only needs to
229           be able to give access to one domain in one frame at a time.
230           Access goes away on frame navigation so there can only be one
231           domain at a time per frame. Also, the map now uses pageIDs as
232           main keys to prepare for efficient access removal for all
233           frames under a page.
234         - Fixes a bug in so that a cross-origin iframe with the same
235           partition as the top frame correctly is handled as already
236           having access.
237
238         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
239         (WebKit::NetworkConnectionToWebProcess::removeStorageAccessForFrame):
240         (WebKit::NetworkConnectionToWebProcess::removeStorageAccess): Deleted.
241         * NetworkProcess/NetworkConnectionToWebProcess.h:
242         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
243         * NetworkProcess/NetworkProcess.cpp:
244         (WebKit::NetworkProcess::hasStorageAccessForFrame):
245         (WebKit::NetworkProcess::grantStorageAccessForFrame):
246         (WebKit::NetworkProcess::hasStorageAccessForPrevalentDomains): Deleted.
247         (WebKit::NetworkProcess::updateStorageAccessForPrevalentDomains): Deleted.
248         * NetworkProcess/NetworkProcess.h:
249         * NetworkProcess/NetworkProcess.messages.in:
250         * UIProcess/Network/NetworkProcessProxy.cpp:
251         (WebKit::NetworkProcessProxy::hasStorageAccessForFrame):
252         (WebKit::NetworkProcessProxy::grantStorageAccessForFrame):
253         (WebKit::NetworkProcessProxy::hasStorageAccessForPrevalentDomains): Deleted.
254         (WebKit::NetworkProcessProxy::updateStorageAccessForPrevalentDomains): Deleted.
255         * UIProcess/Network/NetworkProcessProxy.h:
256         * UIProcess/WebResourceLoadStatisticsStore.cpp:
257         (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
258         (WebKit::WebResourceLoadStatisticsStore::hasStorageAccess):
259         (WebKit::WebResourceLoadStatisticsStore::requestStorageAccess):
260         * UIProcess/WebResourceLoadStatisticsStore.h:
261         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
262         (WebKit::WebsiteDataStore::hasStorageAccessForFrameHandler):
263         (WebKit::WebsiteDataStore::grantStorageAccessForFrameHandler):
264         (WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback):
265         (WebKit::WebsiteDataStore::hasStorageAccessForPrevalentDomainsHandler): Deleted.
266         (WebKit::WebsiteDataStore::updateStorageAccessForPrevalentDomainsHandler): Deleted.
267         * UIProcess/WebsiteData/WebsiteDataStore.h:
268         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
269         (WebKit::WebFrameLoaderClient::detachedFromParent2):
270         (WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):
271
272 2018-01-05  Youenn Fablet  <youenn@apple.com>
273
274         Implement Cache API partitioning based on ClientOrigin
275         https://bugs.webkit.org/show_bug.cgi?id=181240
276
277         Reviewed by Alex Christensen.
278
279         open and retrieveCaches now take a ClientOrigin instead of a String.
280         Updated cache filesystem path computation to take both client origin and top origin.
281
282         When clearing an origin, caches whose client origin or top origin matches the origin are cleared.
283         Caches are added to the web site data of their client origin with their corresponding cache size.
284         Caches are added to the web site data of their top origin with a size equal to 0.
285
286         Updated memory representation dumping used for test to include both top and client origins.
287
288         * NetworkProcess/NetworkProcess.cpp:
289         (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
290         * NetworkProcess/cache/CacheStorageEngine.cpp:
291         (WebKit::CacheStorage::Engine::cachesRootPath):
292         (WebKit::CacheStorage::Engine::open):
293         (WebKit::CacheStorage::Engine::remove):
294         (WebKit::CacheStorage::Engine::retrieveCaches):
295         (WebKit::CacheStorage::Engine::readCachesFromDisk):
296         (WebKit::CacheStorage::Engine::removeCaches):
297         (WebKit::CacheStorage::Engine::fetchEntries):
298         (WebKit::CacheStorage::Engine::clearCachesForOrigin):
299         (WebKit::CacheStorage::Engine::clearMemoryRepresentation):
300         (WebKit::CacheStorage::Engine::representation):
301         * NetworkProcess/cache/CacheStorageEngine.h:
302         * NetworkProcess/cache/CacheStorageEngineCache.cpp:
303         (WebKit::CacheStorage::Cache::Cache):
304         * NetworkProcess/cache/CacheStorageEngineCaches.cpp:
305         (WebKit::CacheStorage::Caches::retrieveOriginFromDirectory):
306         (WebKit::CacheStorage::Caches::Caches):
307         (WebKit::CacheStorage::Caches::storeOrigin):
308         (WebKit::CacheStorage::Caches::readOrigin):
309         (WebKit::CacheStorage::Caches::open):
310         * NetworkProcess/cache/CacheStorageEngineCaches.h:
311         (WebKit::CacheStorage::Caches::create):
312         (WebKit::CacheStorage::Caches::origin const):
313         * NetworkProcess/cache/CacheStorageEngineConnection.cpp:
314         (WebKit::CacheStorageEngineConnection::open):
315         (WebKit::CacheStorageEngineConnection::caches):
316         (WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):
317         * NetworkProcess/cache/CacheStorageEngineConnection.h:
318         * NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
319         * WebProcess/Cache/WebCacheStorageConnection.cpp:
320         (WebKit::WebCacheStorageConnection::doOpen):
321         (WebKit::WebCacheStorageConnection::doRetrieveCaches):
322         (WebKit::WebCacheStorageConnection::clearMemoryRepresentation):
323         * WebProcess/Cache/WebCacheStorageConnection.h:
324
325 2018-01-05  Megan Gardner  <megan_gardner@apple.com>
326
327         Show Keyboard when re-launching WKWebView with a previously focused element
328         https://bugs.webkit.org/show_bug.cgi?id=181353
329
330         Reviewed by Tim Horton.
331
332         When relaunching an app with a WKWebView, restore the keyboard if there was a previously
333         focused element that was being assisted. The element was already being tracked, we just
334         needed to not bail on showing the keyboard for instances where it was a state change that
335         caused the element to be refocused.
336
337         * UIProcess/PageClient.h:
338         * UIProcess/WebPageProxy.h:
339         * UIProcess/WebPageProxy.messages.in:
340         * UIProcess/ios/PageClientImplIOS.h:
341         * UIProcess/ios/PageClientImplIOS.mm:
342         (WebKit::PageClientImpl::startAssistingNode):
343         * UIProcess/ios/WKContentView.h:
344         * UIProcess/ios/WKContentViewInteraction.h:
345         * UIProcess/ios/WKContentViewInteraction.mm:
346         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
347         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Deleted.
348         * UIProcess/ios/WebPageProxyIOS.mm:
349         (WebKit::WebPageProxy::startAutoscrollAtPosition):
350         (WebKit::WebPageProxy::startAssistingNode):
351         * WebProcess/WebPage/WebPage.cpp:
352         (WebKit::WebPage::setActivityState):
353         (WebKit::WebPage::elementDidFocus):
354         * WebProcess/WebPage/WebPage.h:
355
356 2018-01-05  Alex Christensen  <achristensen@webkit.org>
357
358         Restrict navigation-time WKWebsiteDataStore swapping to main frame navigations
359         https://bugs.webkit.org/show_bug.cgi?id=181217
360
361         Reviewed by Tim Horton.
362
363         If we swap during an iframe navigation, then we get a page in a strange state.
364         The intent of the main frame navigation WKWebsiteDataStore swap is that
365         that is a time when we can change storages without a page in an inconsistent state.
366
367         * UIProcess/Cocoa/NavigationState.mm:
368         (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
369
370 2018-01-05  Alex Christensen  <achristensen@webkit.org>
371
372         Add WKBundleFrameCreateFrameHandle
373         https://bugs.webkit.org/show_bug.cgi?id=181232
374         <rdar://problem/35926696>
375
376         Reviewed by Tim Horton.
377
378         InjectedBundle clients wanting to sent a _WKFrameHandle cannot without this function.
379         Before, they would just send the WKBundleFrameRef which would be changed into a WKFrameRef
380         in the UIProcess by WebProcessProxy::transformHandlesToObjects, but there is no ObjC equivalent
381         of WKFrameRef, so we were just getting a WKObject when we wanted a _WKFrameHandle.
382         We can't change WebProcessProxy::transformHandlesToObjects without being incompatible with the 
383         existing C API, so let's add a way for clients to say "I want a _WKFrameHandle".
384
385         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
386         (WKBundleFrameCreateFrameHandle):
387         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
388
389 2018-01-05  Wenson Hsieh  <wenson_hsieh@apple.com>
390
391         [Attachment Support] Add a way to write blob data to a file URL from the UI process
392         https://bugs.webkit.org/show_bug.cgi?id=181236
393
394         Reviewed by Brady Eidson.
395
396         Add support for writing a blob to a designated file path. In WebKit, this is mainly plumbing writeBlobToFilePath
397         through WebPageProxy to the network process.
398
399         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
400         (WebKit::NetworkBlobRegistry::writeBlobToFilePath):
401
402         Call out to the BlobRegistryImpl to write blobs to the file path. Additionally grant sandbox extensions for any
403         file-backed blob parts corresponding to the given blob URL.
404
405         (WebKit::NetworkBlobRegistry::filesInBlob):
406
407         Introduce a version of filesInBlob that doesn't check against the NetworkConnectionToWebProcess. This is used
408         when the UI process is the driver for writing a blob.
409
410         * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
411         * NetworkProcess/NetworkProcess.cpp:
412         (WebKit::NetworkProcess::writeBlobToFilePath):
413
414         Temporarily grant sandbox access to the given file path.
415
416         * NetworkProcess/NetworkProcess.h:
417         * NetworkProcess/NetworkProcess.messages.in:
418         * Shared/WebCoreArgumentCoders.cpp:
419         (IPC::ArgumentCoder<PromisedBlobInfo>::encode):
420         (IPC::ArgumentCoder<PromisedBlobInfo>::decode):
421         (IPC::ArgumentCoder<PromisedBlobData>::encode): Deleted.
422         (IPC::ArgumentCoder<PromisedBlobData>::decode): Deleted.
423
424         Remove PromisedBlobData (see WebCore/ChangeLog for more information).
425
426         * Shared/WebCoreArgumentCoders.h:
427         * UIProcess/Network/NetworkProcessProxy.cpp:
428         (WebKit::NetworkProcessProxy::didClose):
429
430         If the network process is terminated, flush any pending callbacks in m_writeBlobToFilePathCallbackMap, passing
431         in a failure result (success := false) and clearing the callback map.
432
433         (WebKit::NetworkProcessProxy::writeBlobToFilePath):
434         (WebKit::NetworkProcessProxy::didWriteBlobToFilePath):
435         * UIProcess/Network/NetworkProcessProxy.h:
436         * UIProcess/Network/NetworkProcessProxy.messages.in:
437         * UIProcess/WebPageProxy.cpp:
438         (WebKit::WebPageProxy::writeBlobToFilePath):
439         * UIProcess/WebPageProxy.h:
440
441 2018-01-05  Dan Bernstein  <mitz@apple.com>
442
443         Add injected bundle equivalents of DOMHTMLDocument (DOMHTMLDocumentExtensions)
444         https://bugs.webkit.org/show_bug.cgi?id=181345
445
446         Reviewed by Tim Horton.
447
448         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Declared new methods.
449         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
450         (-[WKDOMDocument createDocumentFragmentWithMarkupString:baseURL:]): Added. Calls WebCore’s
451           createFragmentFromMarkup.
452         (-[WKDOMDocument createDocumentFragmentWithText:]): Added. Calls WebCore’s
453           createFragmentFromText.
454
455 2018-01-05  Don Olmstead  <don.olmstead@sony.com>
456
457         [Curl] Add implementation stubs for Network Cache
458         https://bugs.webkit.org/show_bug.cgi?id=181343
459
460         Reviewed by Alex Christensen.
461
462         * NetworkProcess/cache/NetworkCacheCodersCurl.cpp: Added.
463         (WTF::Persistence::Coder<WebCore::CertificateInfo>::encode):
464         (WTF::Persistence::Coder<WebCore::CertificateInfo>::decode):
465         * NetworkProcess/cache/NetworkCacheDataCurl.cpp: Added.
466         (WebKit::NetworkCache::Data::Data):
467         (WebKit::NetworkCache::Data::empty):
468         (WebKit::NetworkCache::Data::data const):
469         (WebKit::NetworkCache::Data::isNull const):
470         (WebKit::NetworkCache::Data::apply const):
471         (WebKit::NetworkCache::Data::subrange const):
472         (WebKit::NetworkCache::concatenate):
473         (WebKit::NetworkCache::Data::adoptMap):
474         * NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp: Added.
475         (WebKit::NetworkCache::IOChannel::IOChannel):
476         (WebKit::NetworkCache::IOChannel::~IOChannel):
477         (WebKit::NetworkCache::IOChannel::open):
478         (WebKit::NetworkCache::IOChannel::read):
479         (WebKit::NetworkCache::IOChannel::write):
480         * PlatformWin.cmake:
481
482 2018-01-05  Don Olmstead  <don.olmstead@sony.com>
483
484         [Curl] Update method declarations in WebKit
485         https://bugs.webkit.org/show_bug.cgi?id=181342
486
487         Reviewed by Alex Christensen.
488
489         * NetworkProcess/Downloads/curl/DownloadCurl.cpp:
490         (WebKit::Download::resume):
491         * NetworkProcess/curl/RemoteNetworkingContextCurl.cpp:
492         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Deleted.
493         (WebKit::RemoteNetworkingContext::blockedError const): Deleted.
494
495 2018-01-05  Don Olmstead  <don.olmstead@sony.com>
496
497         WebFullScreenManager should compile when ENABLE(VIDEO) is off
498         https://bugs.webkit.org/show_bug.cgi?id=181338
499
500         Reviewed by Alex Christensen.
501
502         * WebProcess/FullScreen/WebFullScreenManager.cpp:
503         (WebKit::WebFullScreenManager::didEnterFullScreen):
504         (WebKit::WebFullScreenManager::willExitFullScreen):
505         * WebProcess/FullScreen/WebFullScreenManager.h:
506
507 2018-01-05  Andy Estes  <aestes@apple.com>
508
509         [Apple Pay] Disable Apple Pay on platforms that don't have PassKit.framework
510         https://bugs.webkit.org/show_bug.cgi?id=181335
511         <rdar://problem/36311296>
512
513         Reviewed by Brady Eidson.
514
515         When Safari is running in the macOS Base System, PassKit.framework is not available.
516         If we fail to dlopen PassKit, we should disable Apple Pay.
517
518         * UIProcess/API/C/WKPreferences.cpp:
519         (WKPreferencesSetApplePayEnabled):
520         * UIProcess/API/Cocoa/WKWebView.mm:
521         (-[WKWebView _initializeWithConfiguration:]):
522         * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
523         * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
524         (WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks):
525         (WebKit::WebPaymentCoordinatorProxy::platformSupportsPayments):
526
527 2018-01-05  Dan Bernstein  <mitz@apple.com>
528
529         Fixed the build following AppKit API deprecations in a recent SDKs
530
531         * UIProcess/mac/WKFullScreenWindowController.mm:
532         (-[WKFullScreenWindowController enterFullScreen:]): Suppressed deprecation warnings.
533         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Ditto.
534         (-[WKFullScreenWindowController exitFullScreen]): Ditto.
535         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto.
536         (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Ditto.
537         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto.
538         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Ditto.
539         * UIProcess/mac/WKPrintingView.mm:
540         (-[WKPrintingView _setAutodisplay:]): Ditto.
541
542 2018-01-05  Matt Lewis  <jlewis3@apple.com>
543
544         Unreviewed, rolling out r226401.
545
546         This caused timeouts on multiple platforms.
547
548         Reverted changeset:
549
550         "Implement Cache API partitioning based on ClientOrigin"
551         https://bugs.webkit.org/show_bug.cgi?id=181240
552         https://trac.webkit.org/changeset/226401
553
554 2018-01-05  Joseph Pecoraro  <pecoraro@apple.com>
555
556         ServiceWorkers: Enable UserTiming / ResourceTiming
557         https://bugs.webkit.org/show_bug.cgi?id=181297
558         <rdar://problem/36307306>
559
560         Reviewed by Youenn Fablet.
561
562         * WebProcess/Storage/WebSWContextManagerConnection.cpp:
563         (WebKit::WebSWContextManagerConnection::updatePreferencesStore):
564         Enable Resource Timing / User Timing for the ServiceWorker process.
565
566 2018-01-04  Zan Dobersek  <zdobersek@igalia.com>
567
568         Unreviewed GTK+ build fix.
569
570         * UIProcess/API/glib/WebKitUserMediaPermissionRequest.cpp:
571         (webkit_user_media_permission_is_for_audio_device):
572         Call UserMediaPermissionRequestProxy::requiresAudioCapture().
573         (webkit_user_media_permission_is_for_video_device):
574         Call UserMediaPermissionRequestProxy::requiresVideoCapture().
575
576 2018-01-04  Don Olmstead  <don.olmstead@sony.com>
577
578         [Curl] Fix compilation error in WebFrameNetworkingContext
579         https://bugs.webkit.org/show_bug.cgi?id=181312
580
581         Reviewed by Alex Christensen.
582
583         * WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp:
584         (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):
585
586 2018-01-04  Tim Horton  <timothy_horton@apple.com>
587
588         WKWebView loses minimum layout size overrides that happen while the process is terminated
589         https://bugs.webkit.org/show_bug.cgi?id=181306
590         <rdar://problem/34398288>
591
592         Reviewed by Dan Bernstein.
593
594         * Shared/WebPageCreationParameters.cpp:
595         (WebKit::WebPageCreationParameters::encode const):
596         (WebKit::WebPageCreationParameters::decode):
597         * Shared/WebPageCreationParameters.h:
598         * UIProcess/API/Cocoa/WKWebView.mm:
599         (-[WKWebView _didRelaunchProcess]): Deleted.
600         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
601         * UIProcess/WebPageProxy.cpp:
602         (WebKit::WebPageProxy::creationParameters):
603         * UIProcess/WebPageProxy.h:
604         * UIProcess/ios/PageClientImplIOS.mm:
605         (WebKit::PageClientImpl::didRelaunchProcess):
606         * UIProcess/ios/WebPageProxyIOS.mm:
607         (WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize):
608         (WebKit::WebPageProxy::setForceAlwaysUserScalable):
609         (WebKit::WebPageProxy::setMaximumUnobscuredSize):
610         * WebProcess/WebPage/WebPage.cpp:
611         (WebKit::WebPage::WebPage):
612         Pass the current viewport minimum layout size and maximum unobscured size
613         in the WebPageCreationParameters instead of re-sending them in _didRelaunchProcess.
614
615         The previous approach was problematic when _dispatchSetMinimumLayoutSize:
616         was changed to not re-send identical updates, because if the client calls 
617         _overrideLayoutParametersWithMinimumLayoutSize before the Web Content process
618         is re-launched (after terminating), we would cache the size, attempt to send it,
619         fail silently (because the process is not launched), and then in _didRelaunchProcess
620         we would choose not to re-send (after the process is successfully relaunched)
621         because we think we already sent the new value.
622
623         Add isValid() checks to our message sends. Ideally send() would assert
624         if the process is not alive to avoid problems like this, but it doesn't (yet).
625
626         Get rid of WKWebView's _didRelaunchProcess, because it does nothing now.
627
628 2018-01-04  Stephan Szabo  <stephan.szabo@sony.com>
629
630         NetworkProcess cache files use functions from unistd.h without explicitly including it
631         https://bugs.webkit.org/show_bug.cgi?id=181261
632
633         Reviewed by Alex Christensen.
634
635         * NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
636         * NetworkProcess/cache/NetworkCacheData.cpp:
637
638 2018-01-04  Keith Rollin  <krollin@apple.com>
639
640         Add commas
641         https://bugs.webkit.org/show_bug.cgi?id=181295
642         <rdar://problem/35802295>
643
644         Reviewed by Brent Fulgham.
645
646         Fix a problem introduced in r226226 where the emitted JSON didn't
647         include some required commas.
648
649         * NetworkProcess/NetworkResourceLoader.cpp:
650         (WebKit::NetworkResourceLoader::logCookieInformation const):
651
652 2018-01-04  Eric Carlson  <eric.carlson@apple.com>
653
654         [MediaStream] Add Mock screen capture source
655         https://bugs.webkit.org/show_bug.cgi?id=181291
656         <rdar://problem/36298164>
657
658         Reviewed by Dean Jackson.
659
660         * Shared/WebCoreArgumentCoders.cpp:
661         (IPC::ArgumentCoder<MediaConstraints>::decode):
662         (IPC::ArgumentCoder<CaptureDevice>::encode): Deleted, moved to CaptureDevice.h
663         (IPC::ArgumentCoder<CaptureDevice>::decode): Ditto.
664         * Shared/WebCoreArgumentCoders.h:
665
666         * UIProcess/API/Cocoa/WKWebViewPrivate.h: Add _WKCaptureDeviceDisplay.
667         * UIProcess/Cocoa/UIDelegate.mm:
668         (WebKit::requestUserMediaAuthorizationForDevices): Deal with display capture.
669         (WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Ditto.
670
671         * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
672         (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): requiresAudio -> requiresAudioCapture.
673         (WebKit::UserMediaPermissionRequestManagerProxy::searchForGrantedRequest const): Never reuse
674         a previously granted display capture request.
675
676         * UIProcess/UserMediaPermissionRequestProxy.cpp:
677         (WebKit::UserMediaPermissionRequestProxy::allow): Search the eligible devices instead of asking
678         the source center to find devices.
679         * UIProcess/UserMediaPermissionRequestProxy.h:
680         (WebKit::UserMediaPermissionRequestProxy::requiresAudioCapture const): Renamed.
681         (WebKit::UserMediaPermissionRequestProxy::requiresVideoCapture const): Ditto.
682         (WebKit::UserMediaPermissionRequestProxy::requiresDisplayCapture const): New.
683         (WebKit::UserMediaPermissionRequestProxy::requiresAudio const): Deleted.
684         (WebKit::UserMediaPermissionRequestProxy::requiresVideo const): Deleted.
685
686 2018-01-04  Youenn Fablet  <youenn@apple.com>
687
688         FetchResponse should set its internal response text encoding name
689         https://bugs.webkit.org/show_bug.cgi?id=181284
690
691         Reviewed by Alex Christensen.
692
693         * WebProcess/Storage/ServiceWorkerClientFetch.cpp:
694         (WebKit::ServiceWorkerClientFetch::didReceiveResponse): Set default encoding to UTF-8.
695
696 2018-01-04  Youenn Fablet  <youenn@apple.com>
697
698         Implement Cache API partitioning based on ClientOrigin
699         https://bugs.webkit.org/show_bug.cgi?id=181240
700
701         Reviewed by Alex Christensen.
702
703         open and retrieveCaches now take a ClientOrigin instead of a String.
704         Updated cache filesystem path computation to take both client origin and top origin.
705
706         When clearing an origin, caches whose client origin or top origin matches the origin are cleared.
707         Caches are added to the web site data of their client origin with their corresponding cache size.
708         Caches are added to the web site data of their top origin with a size equal to 0.
709
710         Updated memory representation dumping used for test to include both top and client origins.
711
712         * NetworkProcess/NetworkProcess.cpp:
713         (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
714         * NetworkProcess/cache/CacheStorageEngine.cpp:
715         (WebKit::CacheStorage::Engine::cachesRootPath):
716         (WebKit::CacheStorage::Engine::open):
717         (WebKit::CacheStorage::Engine::remove):
718         (WebKit::CacheStorage::Engine::retrieveCaches):
719         (WebKit::CacheStorage::Engine::readCachesFromDisk):
720         (WebKit::CacheStorage::Engine::removeCaches):
721         (WebKit::CacheStorage::Engine::fetchEntries):
722         (WebKit::CacheStorage::Engine::clearCachesForOrigin):
723         (WebKit::CacheStorage::Engine::clearMemoryRepresentation):
724         (WebKit::CacheStorage::Engine::representation):
725         * NetworkProcess/cache/CacheStorageEngine.h:
726         * NetworkProcess/cache/CacheStorageEngineCache.cpp:
727         (WebKit::CacheStorage::Cache::Cache):
728         * NetworkProcess/cache/CacheStorageEngineCaches.cpp:
729         (WebKit::CacheStorage::Caches::retrieveOriginFromDirectory):
730         (WebKit::CacheStorage::Caches::Caches):
731         (WebKit::CacheStorage::Caches::storeOrigin):
732         (WebKit::CacheStorage::Caches::readOrigin):
733         (WebKit::CacheStorage::Caches::open):
734         * NetworkProcess/cache/CacheStorageEngineCaches.h:
735         (WebKit::CacheStorage::Caches::create):
736         (WebKit::CacheStorage::Caches::origin const):
737         * NetworkProcess/cache/CacheStorageEngineConnection.cpp:
738         (WebKit::CacheStorageEngineConnection::open):
739         (WebKit::CacheStorageEngineConnection::caches):
740         (WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):
741         * NetworkProcess/cache/CacheStorageEngineConnection.h:
742         * NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
743         * WebProcess/Cache/WebCacheStorageConnection.cpp:
744         (WebKit::WebCacheStorageConnection::doOpen):
745         (WebKit::WebCacheStorageConnection::doRetrieveCaches):
746         (WebKit::WebCacheStorageConnection::clearMemoryRepresentation):
747         * WebProcess/Cache/WebCacheStorageConnection.h:
748
749 2018-01-04  Youenn Fablet  <youenn@apple.com>
750
751         Service Worker should expose redirect mode for navigation loads as manual
752         https://bugs.webkit.org/show_bug.cgi?id=181067
753
754         Reviewed by Alex Christensen.
755
756         * WebProcess/Storage/ServiceWorkerClientFetch.cpp:
757         (WebKit::ServiceWorkerClientFetch::didReceiveResponse):
758
759 2018-01-03  Wenson Hsieh  <wenson_hsieh@apple.com>
760
761         [Attachment Support] Create attachment elements when dropping files on iOS
762         https://bugs.webkit.org/show_bug.cgi?id=181192
763         <rdar://problem/36280945>
764
765         Reviewed by Tim Horton.
766
767         Make some minor adjustments for changes to the pasteboard in WebCore. See WebCore/ChangeLog for more detail.
768         Teaches WebPasteboardProxy et. al. to plumb PasteboardItemInfo from the UI process to the web process via the
769         new `InformationForItemAtIndex` codepath.
770
771         * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
772         (WebKit::WebPasteboardProxy::informationForItemAtIndex):
773         (WebKit::WebPasteboardProxy::getFilenamesForDataInteraction): Deleted.
774         * UIProcess/WebPasteboardProxy.h:
775         * UIProcess/WebPasteboardProxy.messages.in:
776         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
777         (WebKit::WebPlatformStrategies::informationForItemAtIndex):
778         (WebKit::WebPlatformStrategies::getFilenamesForDataInteraction): Deleted.
779         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
780
781 2018-01-03  Ting-Wei Lan  <lantw44@gmail.com>
782
783         Replace hard-coded paths in shebangs with #!/usr/bin/env
784         https://bugs.webkit.org/show_bug.cgi?id=181040
785
786         Reviewed by Alex Christensen.
787
788         * Scripts/generate-forwarding-headers.pl:
789
790 2018-01-03  Wenson Hsieh  <wenson_hsieh@apple.com>
791
792         [Attachment Support] Add plumbing for starting a drag with promised blob data
793         https://bugs.webkit.org/show_bug.cgi?id=181201
794
795         Reviewed by Tim Horton.
796
797         Add boilerplate plumbing for PrepareToDragPromisedBlob, which delivers blob promises to the UI process when
798         dragging, respectively.
799
800         * Scripts/webkit/messages.py:
801         (headers_for_type):
802         * Shared/WebCoreArgumentCoders.cpp:
803         (IPC::encodeTypesAndData):
804         (IPC::decodeTypesAndData):
805         (IPC::ArgumentCoder<PasteboardWebContent>::encode):
806         (IPC::ArgumentCoder<PasteboardWebContent>::decode):
807         (IPC::ArgumentCoder<PasteboardImage>::encode):
808         (IPC::ArgumentCoder<PasteboardImage>::decode):
809         (IPC::ArgumentCoder<PromisedBlobInfo>::encode):
810         (IPC::ArgumentCoder<PromisedBlobInfo>::decode):
811
812         Add IPC support PromisedBlobInfo's additionalTypes and additionalData.
813
814         (IPC::encodeClientTypesAndData): Deleted.
815         (IPC::decodeClientTypesAndData): Deleted.
816
817         Rename these helper functions and move them to the top of the file.
818
819         * UIProcess/Cocoa/WebViewImpl.h:
820         * UIProcess/Cocoa/WebViewImpl.mm:
821         (WebKit::WebViewImpl::prepareToDragPromisedBlob):
822         * UIProcess/PageClient.h:
823         (WebKit::PageClient::prepareToDragPromisedBlob):
824         * UIProcess/WebPageProxy.cpp:
825         (WebKit::WebPageProxy::prepareToDragPromisedBlob):
826         * UIProcess/WebPageProxy.h:
827         * UIProcess/WebPageProxy.messages.in:
828         * UIProcess/ios/PageClientImplIOS.h:
829         * UIProcess/ios/PageClientImplIOS.mm:
830         (WebKit::PageClientImpl::prepareToDragPromisedBlob):
831         * UIProcess/ios/WKContentViewInteraction.h:
832         * UIProcess/ios/WKContentViewInteraction.mm:
833         (-[WKContentView _prepareToDragPromisedBlob:]):
834         * UIProcess/mac/PageClientImplMac.h:
835         * UIProcess/mac/PageClientImplMac.mm:
836         (WebKit::PageClientImpl::prepareToDragPromisedBlob):
837         * WebProcess/WebCoreSupport/WebDragClient.cpp:
838         (WebKit::WebDragClient::prepareToDragPromisedBlob):
839         * WebProcess/WebCoreSupport/WebDragClient.h:
840         * WebProcess/WebPage/WebPage.cpp:
841         (WebKit::WebPage::prepareToDragPromisedBlob):
842         * WebProcess/WebPage/WebPage.h:
843
844 2018-01-03  David Kilzer  <ddkilzer@apple.com>
845
846         REGRESSION (r212929): WKSnapshotConfiguration may leak an NSNumber when deallocated
847         <https://webkit.org/b/181274>
848
849         Reviewed by Joseph Pecoraro.
850
851         * UIProcess/API/Cocoa/WKSnapshotConfiguration.mm:
852         (-[WKSnapshotConfiguration dealloc]): Implement method and
853         release _snapshotWidth.
854
855 2018-01-03  John Wilander  <wilander@apple.com>
856
857         Storage Access API: Refactor XPC for access removal to go straight from the web process to the network process
858         https://bugs.webkit.org/show_bug.cgi?id=181270
859         <rdar://problem/36289544>
860
861         Reviewed by Alex Christensen.
862
863         This change refactors how the web process tells the network process
864         to remove storage access. Previously, this was done over the UI process
865         just like requests for storage access. But since no further reasoning
866         is needed, the message should go straight from the web process to the
867         network process for performance reasons and to minimize the risk of a
868         race.
869
870         As a consequence, the XPC code for storage access removal in the UI
871         process is deleted.
872
873         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
874         (WebKit::NetworkConnectionToWebProcess::removeStorageAccess):
875         * NetworkProcess/NetworkConnectionToWebProcess.h:
876         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
877         * NetworkProcess/NetworkProcess.cpp:
878         (WebKit::NetworkProcess::removeStorageAccess): Deleted.
879         * NetworkProcess/NetworkProcess.h:
880         * NetworkProcess/NetworkProcess.messages.in:
881         * UIProcess/Network/NetworkProcessProxy.cpp:
882         (WebKit::NetworkProcessProxy::removeStorageAccess): Deleted.
883         * UIProcess/Network/NetworkProcessProxy.h:
884         * UIProcess/WebPageProxy.cpp:
885         (WebKit::WebPageProxy::requestStorageAccess):
886         (WebKit::WebPageProxy::removeStorageAccess): Deleted.
887         * UIProcess/WebPageProxy.h:
888         * UIProcess/WebPageProxy.messages.in:
889         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
890         (WebKit::WebsiteDataStore::requestStorageAccess):
891         (WebKit::WebsiteDataStore::removeStorageAccess): Deleted.
892         * UIProcess/WebsiteData/WebsiteDataStore.h:
893         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
894         (WebKit::WebFrameLoaderClient::detachedFromParent2):
895         (WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):
896
897 2018-01-03  David Kilzer  <ddkilzer@apple.com>
898
899         com.apple.WebKit.Networking crash in com.apple.Foundation: -[__NSOperationInternal _start:]
900         <https://webkit.org/b/181272>
901         <rdar://problem/35657310>
902
903         Reviewed by Alex Christensen.
904
905         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
906         (downgradeRequest): Remove unnecessary -autorelease.
907
908 2018-01-03  Brent Fulgham  <bfulgham@apple.com>
909
910         [macOS] Constant frame dropping during Flash video playback
911         https://bugs.webkit.org/show_bug.cgi?id=181249
912         <rdar://problem/34843448>
913
914         Reviewed by Eric Carlson.
915
916         Review of logs during jerky flash video playback shows a few IOKit properties are being blocked by the sandbox,
917         which prevents some high-efficiency codecs from being used. Add 'AppleGVAKeyDoesNotExist', 'IODVDBundleName', and
918         'IOGVA*Encode' to the whitelist.
919
920         * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
921
922 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
923
924         [GTK] Add web process API to detect when form is submitted via JavaScript
925         https://bugs.webkit.org/show_bug.cgi?id=173915
926
927         Reviewed by Carlos Garcia Campos.
928
929         Epiphany relies on the DOM submit event to detect when a form has been submitted. However,
930         for historical reasons, the submit event is not emitted when a form is submitted by
931         JavaScript. It is therefore not currently possible for a web browser to reliably detect form
932         submission and not possible to implement a robust password storage feature. In order to
933         avoid this problem, this patch adds a new WebKitWebPage signal, will-submit-form, that
934         browsers can use in preference to a DOM event listener.
935
936         Unfortunately, this signal is not available for WPE because it depends on the DOM API.
937
938         There are two submission events, WEBKIT_FORM_SUBMISSION_WILL_SEND_DOM_EVENT and
939         WEBKIT_FORM_SUBMISSION_WILL_COMPLETE. WEBKIT_FORM_SUBMISSION_WILL_SEND_DOM_EVENT
940         occurs earlier than WEBKIT_FORM_SUBMISSION_WILL_COMPLETE and can be used to retrieve form
941         values before websites receive the DOM submit event. This is useful as some websites like
942         to delete form values right before a submit would normally happen in order to attempt to
943         defeat browser password managers. There are two tricks to note: JavaScript can cancel form
944         submission immediately after this event occurs (by returning false in an onsubmit handler),
945         and, for historical reasons, this event will not occur at all when form submission is
946         triggered by JavaScript. WEBKIT_FORM_SUBMISSION_WILL_COMPLETE occurs next, and is more
947         straightforward: it is always emitted when a form is about to be submitted, when it is too
948         late to cancel.
949
950         The recommended way to reliably retrieve password form values would be to watch for both
951         events, use the form value detected in WEBKIT_FORM_SUBMISSION_WILL_SEND_DOM_EVENT
952         if that event is emitted, and use the value detected later in
953         WEBKIT_FORM_SUBMISSION_WILL_COMPLETE otherwise.
954
955         Since one of the signal arguments is an enum, we now have to run glib-mkenums for the web
956         process API. And that has resulted in this patch also adding GType goo for
957         WebKitConsoleMessageLevel and WebKitConsoleMessageSource that was previously missing. Any
958         applications that for some unlikely reason want to use these enums in properties or signals
959         will be happy.
960
961         * PlatformGTK.cmake:
962         * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
963         * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
964         (webkit_web_page_class_init):
965         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
966         * WebProcess/InjectedBundle/API/gtk/WebKitWebProcessEnumTypes.cpp.template: Added.
967         * WebProcess/InjectedBundle/API/gtk/WebKitWebProcessEnumTypes.h.template: Added.
968
969 2018-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
970
971         Unreviewed. Really fix plugin process after r226327.
972
973         * PluginProcess/unix/PluginProcessMainUnix.cpp:
974
975 2018-01-02  Brent Fulgham  <bfulgham@apple.com>
976
977         [macOS, iOS] Adopt new secure coding APIs in WebKit
978         https://bugs.webkit.org/show_bug.cgi?id=181085
979         <rdar://problem/34837397>
980
981         Reviewed by Tim Horton.
982
983         Update WebKit code to use NSSecureCoding when the underlying operating system supports it. Use new
984         wrapper functions so the same code can be built on all supported OS releases, while enabling
985         seure coding when possible.
986
987         Note that NSView-based classes cannot be migrated at present due to AppKit not supporting NSSecureCoding
988         in its class hierarchy.
989
990         Tested by exising TestWebKitAPI tests for Coding and data transfer.
991
992         * Platform/ios/AccessibilityIOS.mm:
993         (WebKit::newAccessibilityRemoteToken): Encode using NSSecureCoding.
994         * UIProcess/API/Cocoa/WKPreferences.h:
995         * UIProcess/API/Cocoa/WKPreferences.mm:
996         (+[WKPreferences supportsSecureCoding]): Added to enable NSSecureCoding.
997         * UIProcess/API/Cocoa/WKProcessPool.h:
998         * UIProcess/API/Cocoa/WKProcessPool.mm:
999         (+[WKProcessPool supportsSecureCoding]): Ditto.
1000         * UIProcess/API/Cocoa/WKUserContentController.h:
1001         * UIProcess/API/Cocoa/WKUserContentController.mm:
1002         (+[WKUserContentController supportsSecureCoding]): Ditto.
1003         * UIProcess/API/Cocoa/WKWebView.mm:
1004         (-[WKWebView initWithCoder:]): Use coding initialization that supports secure coding if
1005         it is available in the supplied class.
1006         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1007         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1008         (+[WKWebViewConfiguration supportsSecureCoding]): Added to enable NSSecureCoding.
1009         (-[WKWebViewConfiguration initWithCoder:]): Use secure coding when possible.
1010         * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
1011         * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
1012         (+[WKWebsiteDataStore supportsSecureCoding]): Added to enable NSSecureCoding.
1013         * UIProcess/API/Cocoa/_WKApplicationManifest.h:
1014         * UIProcess/API/Cocoa/_WKApplicationManifest.mm:
1015         (+[_WKApplicationManifest supportsSecureCoding]): Added to enable NSSecureCoding.
1016         (-[_WKApplicationManifest initWithCoder:]): Use secure coding when possible.
1017
1018 2017-12-28  Yusuke Suzuki  <utatane.tea@gmail.com>
1019
1020         Remove std::chrono completely
1021         https://bugs.webkit.org/show_bug.cgi?id=181186
1022
1023         Reviewed by Alex Christensen.
1024
1025         Use MonotonicTime, WallTime, and Seconds instead.
1026         Changes are mechanical ones.
1027
1028         * NetworkProcess/NetworkProcess.cpp:
1029         (WebKit::NetworkProcess::deleteWebsiteData):
1030         * NetworkProcess/NetworkProcess.h:
1031         * NetworkProcess/NetworkProcess.messages.in:
1032         * NetworkProcess/cache/CacheStorageEngineCaches.cpp:
1033         (WebKit::CacheStorage::Caches::clear):
1034         * NetworkProcess/cache/NetworkCache.cpp:
1035         (WebKit::NetworkCache::responseHasExpired):
1036         (WebKit::NetworkCache::responseNeedsRevalidation):
1037         (WebKit::NetworkCache::makeStoreDecision):
1038         (WebKit::NetworkCache::Cache::clear):
1039         (WebKit::NetworkCache::Cache::storeData):
1040         * NetworkProcess/cache/NetworkCache.h:
1041         * NetworkProcess/cache/NetworkCacheEntry.cpp:
1042         (WebKit::NetworkCache::Entry::Entry):
1043         (WebKit::NetworkCache::Entry::asJSON const):
1044         * NetworkProcess/cache/NetworkCacheEntry.h:
1045         (WebKit::NetworkCache::Entry::timeStamp const):
1046         * NetworkProcess/cache/NetworkCacheFileSystem.cpp:
1047         (WebKit::NetworkCache::fileTimes):
1048         (WebKit::NetworkCache::updateFileModificationTimeIfNeeded):
1049         * NetworkProcess/cache/NetworkCacheFileSystem.h:
1050         * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
1051         (WebKit::NetworkCache::IOChannel::IOChannel):
1052         * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
1053         (WebKit::NetworkCache::responseNeedsRevalidation):
1054         (WebKit::NetworkCache::canRevalidate):
1055         * NetworkProcess/cache/NetworkCacheStorage.cpp:
1056         (WebKit::NetworkCache::Storage::readRecord):
1057         (WebKit::NetworkCache::Storage::clear):
1058         (WebKit::NetworkCache::computeRecordWorth):
1059         * NetworkProcess/cache/NetworkCacheStorage.h:
1060         Bump the cache version. We now change the data in persistent cache.
1061         * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
1062         (WebKit::NetworkCache::SubresourceInfo::SubresourceInfo):
1063         (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
1064         * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
1065         (WebKit::NetworkCache::SubresourceInfo::lastSeen const):
1066         (WebKit::NetworkCache::SubresourceInfo::firstSeen const):
1067         (WebKit::NetworkCache::SubresourcesEntry::timeStamp const):
1068         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1069         (WebKit::NetworkProcess::clearHSTSCache):
1070         (WebKit::clearNSURLCache):
1071         (WebKit::NetworkProcess::clearDiskCache):
1072         * NetworkProcess/curl/NetworkProcessCurl.cpp:
1073         (WebKit::NetworkProcess::clearDiskCache):
1074         * NetworkProcess/mac/NetworkProcessMac.mm:
1075         (WebKit::NetworkProcess::clearCacheForAllOrigins):
1076         * NetworkProcess/soup/NetworkProcessSoup.cpp:
1077         (WebKit::NetworkProcess::clearCacheForAllOrigins):
1078         (WebKit::NetworkProcess::clearDiskCache):
1079         * Platform/IPC/ArgumentCoders.cpp:
1080         (IPC::ArgumentCoder<WallTime>::encode):
1081         (IPC::ArgumentCoder<WallTime>::decode):
1082         (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::encode): Deleted.
1083         (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::decode): Deleted.
1084         * Platform/IPC/ArgumentCoders.h:
1085         * PluginProcess/PluginProcess.cpp:
1086         (WebKit::PluginProcess::deleteWebsiteData):
1087         * PluginProcess/PluginProcess.h:
1088         * PluginProcess/PluginProcess.messages.in:
1089         * Scripts/webkit/messages.py:
1090         (headers_for_type):
1091         * Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
1092         (WebKit::RemoteLayerBackingStore::lastDisplayTime const):
1093         * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
1094         (WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
1095         (WebKit::RemoteLayerBackingStore::display):
1096         * Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
1097         * Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
1098         (WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile):
1099         (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
1100         * Shared/WebCoreArgumentCoders.cpp:
1101         (IPC::ArgumentCoder<RecentSearch>::decode):
1102         (IPC::ArgumentCoder<WallTime>::encode): Deleted.
1103         (IPC::ArgumentCoder<WallTime>::decode): Deleted.
1104         * Shared/WebCoreArgumentCoders.h:
1105         * StorageProcess/StorageProcess.cpp:
1106         (WebKit::StorageProcess::deleteWebsiteData):
1107         * StorageProcess/StorageProcess.h:
1108         * StorageProcess/StorageProcess.messages.in:
1109         * UIProcess/API/C/WKApplicationCacheManager.cpp:
1110         (WKApplicationCacheManagerDeleteAllEntries):
1111         * UIProcess/API/C/WKCookieManager.cpp:
1112         (WKCookieManagerDeleteAllCookiesModifiedAfterDate):
1113         * UIProcess/API/C/WKKeyValueStorageManager.cpp:
1114         (WKKeyValueStorageManagerDeleteAllEntries):
1115         * UIProcess/API/C/WKResourceCacheManager.cpp:
1116         (WKResourceCacheManagerClearCacheForAllOrigins):
1117         * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
1118         (WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
1119         (WKWebsiteDataStoreStatisticsClearThroughWebsiteDataRemoval):
1120         (WKWebsiteDataStoreRemoveAllFetchCaches):
1121         (WKWebsiteDataStoreRemoveAllIndexedDatabases):
1122         (WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations):
1123         * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
1124         (toSystemClockTime):
1125         (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:]):
1126         * UIProcess/API/glib/WebKitWebContext.cpp:
1127         (webkit_web_context_clear_cache):
1128         * UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
1129         (webkit_website_data_manager_clear):
1130         * UIProcess/DrawingAreaProxy.h:
1131         * UIProcess/Network/NetworkProcessProxy.cpp:
1132         (WebKit::NetworkProcessProxy::deleteWebsiteData):
1133         * UIProcess/Network/NetworkProcessProxy.h:
1134         * UIProcess/Plugins/PluginProcessManager.cpp:
1135         (WebKit::PluginProcessManager::deleteWebsiteData):
1136         * UIProcess/Plugins/PluginProcessManager.h:
1137         * UIProcess/Plugins/PluginProcessProxy.cpp:
1138         (WebKit::PluginProcessProxy::deleteWebsiteData):
1139         * UIProcess/Plugins/PluginProcessProxy.h:
1140         * UIProcess/Storage/StorageProcessProxy.cpp:
1141         (WebKit::StorageProcessProxy::deleteWebsiteData):
1142         * UIProcess/Storage/StorageProcessProxy.h:
1143         * UIProcess/WebCookieManagerProxy.cpp:
1144         (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
1145         * UIProcess/WebCookieManagerProxy.h:
1146         * UIProcess/WebProcessProxy.cpp:
1147         (WebKit::WebProcessProxy::deleteWebsiteData):
1148         * UIProcess/WebProcessProxy.h:
1149         * UIProcess/WebResourceLoadStatisticsStore.cpp:
1150         (WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):
1151         * UIProcess/WebResourceLoadStatisticsStore.h:
1152         * UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
1153         (WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):
1154         * UIProcess/WebStorage/LocalStorageDatabaseTracker.h:
1155         * UIProcess/WebStorage/StorageManager.cpp:
1156         (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
1157         * UIProcess/WebStorage/StorageManager.h:
1158         * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
1159         (WebKit::WebsiteDataStore::platformRemoveRecentSearches):
1160         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1161         (WebKit::WebsiteDataStore::removeData):
1162         (WebKit::WebsiteDataStore::removeMediaKeys):
1163         * UIProcess/WebsiteData/WebsiteDataStore.h:
1164         * UIProcess/gtk/WebPageProxyGtk.cpp:
1165         (WebKit::WebsiteDataStore::platformRemoveRecentSearches):
1166         * UIProcess/wpe/WebPageProxyWPE.cpp:
1167         (WebKit::WebsiteDataStore::platformRemoveRecentSearches):
1168         * WebProcess/Cookies/WebCookieManager.cpp:
1169         (WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
1170         * WebProcess/Cookies/WebCookieManager.h:
1171         * WebProcess/Cookies/WebCookieManager.messages.in:
1172         * WebProcess/Plugins/PluginView.cpp:
1173         (WebKit::lastModifiedDateMS):
1174         * WebProcess/WebProcess.cpp:
1175         (WebKit::WebProcess::deleteWebsiteData):
1176         * WebProcess/WebProcess.h:
1177         * WebProcess/WebProcess.messages.in:
1178
1179 2018-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
1180
1181         [Attachment Support] Introduce data structures and IPC support for writing promised blobs
1182         https://bugs.webkit.org/show_bug.cgi?id=181189
1183
1184         Reviewed by Tim Horton.
1185
1186         Add IPC support for PromisedBlobInfo and PromisedBlobData. See WebCore/ChangeLog for more detail.
1187
1188         * Shared/WebCoreArgumentCoders.cpp:
1189         (IPC::ArgumentCoder<PromisedBlobData>::encode):
1190         (IPC::ArgumentCoder<PromisedBlobData>::decode):
1191         (IPC::ArgumentCoder<PromisedBlobInfo>::encode):
1192         (IPC::ArgumentCoder<PromisedBlobInfo>::decode):
1193         * Shared/WebCoreArgumentCoders.h:
1194
1195 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
1196
1197         REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
1198         https://bugs.webkit.org/show_bug.cgi?id=181231
1199
1200         Reviewed by Alex Christensen.
1201
1202         Add new C API for use by WebKitTestRunner.
1203
1204         * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
1205         (WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
1206         (WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
1207         * UIProcess/API/C/WKWebsiteDataStoreRef.h:
1208
1209 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
1210
1211         Add a WebAuthentication runtime feature flag
1212         https://bugs.webkit.org/show_bug.cgi?id=181220
1213         <rdar://problem/36055305>
1214
1215         Reviewed by Brent Fulgham.
1216
1217         Renames the CredentialManagement runtime feature flag into WebAuthentication.
1218
1219         * Shared/WebPreferences.yaml:
1220         * UIProcess/API/C/WKPreferences.cpp:
1221         (WKPreferencesSetWebAuthenticationEnabled):
1222         (WKPreferencesGetWebAuthenticationEnabled):
1223         (WKPreferencesSetCredentialManagementEnabled): Deleted.
1224         (WKPreferencesGetCredentialManagementEnabled): Deleted.
1225         * UIProcess/API/C/WKPreferencesRefPrivate.h:
1226         * WebProcess/WebPage/WebPage.cpp:
1227         (WebKit::WebPage::updatePreferences):
1228
1229 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
1230
1231         REGRESSION(r226327): [GTK] Plugin process is broken
1232         https://bugs.webkit.org/show_bug.cgi?id=181187
1233
1234         Unreviewed, fix PluginProcessMainUnix after r226327.
1235
1236         * PluginProcess/unix/PluginProcessMainUnix.cpp:
1237
1238 2018-01-02  Tim Horton  <timothy_horton@apple.com>
1239
1240         Fix the build on platforms where UICurrentUserInterfaceIdiomIsPad is defined to false
1241         https://bugs.webkit.org/show_bug.cgi?id=181218
1242
1243         Reviewed by Alex Christensen.
1244
1245         * Platform/spi/ios/UIKitSPI.h:
1246         (currentUserInterfaceIdiomIsPad):
1247         * UIProcess/ios/SmartMagnificationController.mm:
1248         (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
1249         * UIProcess/ios/WKContentViewInteraction.mm:
1250         (-[WKFormInputSession setAccessoryViewCustomButtonTitle:]):
1251         (-[WKContentView _requiresKeyboardWhenFirstResponder]):
1252         (-[WKContentView _displayFormNodeInputView]):
1253         (-[WKContentView requiresAccessoryView]):
1254         (-[WKContentView _updateAccessory]):
1255         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
1256         (-[WKAirPlayRoutePicker show:fromRect:]):
1257         * UIProcess/ios/forms/WKFileUploadPanel.mm:
1258         (-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):
1259         (-[WKFileUploadPanel _presentMenuOptionForCurrentInterfaceIdiom:]):
1260         * UIProcess/ios/forms/WKFormInputControl.mm:
1261         (-[WKDateTimePicker initWithView:datePickerMode:]):
1262         (-[WKFormInputControl initWithView:]):
1263         * UIProcess/ios/forms/WKFormSelectControl.mm:
1264         (-[WKFormSelectControl initWithView:]):
1265         On platforms where UICurrentUserInterfaceIdiomIsPad is defined to false,
1266         blocks that conditionally execute based on its value are unreachable.
1267         This causes the compiler to complain. Hide it away inside an inline function
1268         and make use of that everywhere we used to use the macro.
1269
1270 2018-01-02  Alex Christensen  <achristensen@webkit.org>
1271
1272         Remove SVN file accidentally added in r226160
1273         https://bugs.webkit.org/show_bug.cgi?id=180934
1274
1275         * UIProcess/WebPageProxy.cpp.orig: Removed.
1276
1277 2018-01-02  Alex Christensen  <achristensen@webkit.org>
1278
1279         Use BlockPtrs and lambdas instead of new/delete to pass parameters to blocks in WebViewImpl::performDragOperation
1280         https://bugs.webkit.org/show_bug.cgi?id=180795
1281
1282         Reviewed by Brent Fulgham.
1283
1284         * UIProcess/Cocoa/WebViewImpl.mm:
1285         (WebKit::WebViewImpl::performDragOperation):
1286
1287 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
1288
1289         [WPE][GTK] Implement the assignment of ProcessIdentifiers to child processes
1290         https://bugs.webkit.org/show_bug.cgi?id=181187
1291
1292         Reviewed by Brady Eidson.
1293
1294         * Shared/ChildProcess.cpp: Make the ProcessIdentifier mandatory.
1295         (WebKit::ChildProcess::initialize):
1296         * Shared/unix/ChildProcessMain.cpp: Initialize ChildProcessInitializationParameters with the
1297         ProcessIdentifier.
1298         (WebKit::ChildProcessMainBase::parseCommandLine):
1299         * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: Copy the ProcessIdentifier from
1300         LaunchOptions into argv.
1301         (WebKit::ProcessLauncher::launchProcess):
1302         * WebProcess/wpe/WebProcessMainWPE.cpp: Expect the WPE socket ID later in the command line.
1303
1304 2018-01-02  Alex Christensen  <achristensen@webkit.org>
1305
1306         Use new WebsiteDataStore passed in through decidePolicyForNavigation SPI
1307         https://bugs.webkit.org/show_bug.cgi?id=180897
1308         <rdar://problem/35535328>
1309
1310         Reviewed by Brent Fulgham.
1311
1312         * Shared/WebsitePoliciesData.cpp:
1313         (WebKit::WebsitePoliciesData::applyToDocumentLoader):
1314         * UIProcess/Cocoa/NavigationState.mm:
1315         (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
1316         * UIProcess/WebPageProxy.cpp:
1317         (WebKit::WebPageProxy::changeWebsiteDataStore):
1318         * UIProcess/WebPageProxy.h:
1319         * UIProcess/WebProcessPool.cpp:
1320         (WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
1321         (WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
1322         (WebKit::WebProcessPool::pageAddedToProcess): Deleted.
1323         (WebKit::WebProcessPool::pageRemovedFromProcess): Deleted.
1324         * UIProcess/WebProcessPool.h:
1325         * UIProcess/WebProcessProxy.cpp:
1326         (WebKit::WebProcessProxy::addExistingWebPage):
1327         (WebKit::WebProcessProxy::removeWebPage):
1328         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
1329         (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):
1330
1331 2018-01-02  Alex Christensen  <achristensen@webkit.org>
1332
1333         Only use CookieStorageShim when we aren't using NetworkSession
1334         https://bugs.webkit.org/show_bug.cgi?id=180766
1335
1336         Reviewed by Brent Fulgham.
1337
1338         * Shared/mac/CookieStorageShim.h:
1339         * Shared/mac/CookieStorageShim.mm:
1340         * WebProcess/WebProcess.cpp:
1341         (WebKit::WebProcess::initializeWebProcess):
1342
1343 2018-01-02  Alex Christensen  <achristensen@webkit.org>
1344
1345         Clean up context menu code
1346         https://bugs.webkit.org/show_bug.cgi?id=181074
1347
1348         Reviewed by Brent Fulgham.
1349
1350         Use Ref instead of RefPtr where possible.
1351         Use move semantics instead of copying from const references when possible.
1352         Remove dead iOS code.  Reduce allocations.  Add stub for WPE.
1353
1354         * UIProcess/API/APIContextMenuClient.h:
1355         (API::ContextMenuClient::getContextMenuFromProposedMenu):
1356         (API::ContextMenuClient::getContextMenuFromProposedMenuAsync):
1357         (API::ContextMenuClient::showContextMenu):
1358         * UIProcess/API/C/WKPage.cpp:
1359         (WKPageSetPageContextMenuClient):
1360         * UIProcess/API/gtk/PageClientImpl.cpp:
1361         (WebKit::PageClientImpl::createContextMenuProxy):
1362         * UIProcess/API/gtk/PageClientImpl.h:
1363         * UIProcess/PageClient.h:
1364         * UIProcess/WebContextMenuListenerProxy.cpp:
1365         (WebKit::WebContextMenuListenerProxy::useContextMenuItems):
1366         * UIProcess/WebContextMenuProxy.cpp:
1367         (WebKit::WebContextMenuProxy::WebContextMenuProxy):
1368         * UIProcess/WebContextMenuProxy.h:
1369         * UIProcess/WebPageProxy.cpp:
1370         (WebKit::WebPageProxy::showContextMenu):
1371         (WebKit::WebPageProxy::internalShowContextMenu): Deleted.
1372         * UIProcess/WebPageProxy.h:
1373         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1374         (WebKit::WebContextMenuProxyGtk::showContextMenuWithItems):
1375         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
1376         * UIProcess/gtk/WebContextMenuProxyGtk.h:
1377         (WebKit::WebContextMenuProxyGtk::create):
1378         * UIProcess/ios/PageClientImplIOS.h:
1379         * UIProcess/ios/PageClientImplIOS.mm:
1380         (WebKit::PageClientImpl::createContextMenuProxy): Deleted.
1381         * UIProcess/mac/PageClientImplMac.h:
1382         * UIProcess/mac/PageClientImplMac.mm:
1383         (WebKit::PageClientImpl::createContextMenuProxy):
1384         * UIProcess/mac/WebContextMenuProxyMac.h:
1385         (WebKit::WebContextMenuProxyMac::create):
1386         * UIProcess/mac/WebContextMenuProxyMac.mm:
1387         (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
1388         (WebKit::WebContextMenuProxyMac::showContextMenuWithItems):
1389         (WebKit::WebContextMenuProxyMac::showContextMenu):
1390
1391 == Rolled over to ChangeLog-2018-01-01 ==