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