Change more of the IPC code to take connections by reference
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2015-01-05  Anders Carlsson  <andersca@apple.com>
2
3         Change more of the IPC code to take connections by reference
4         https://bugs.webkit.org/show_bug.cgi?id=140083
5
6         Reviewed by Andreas Kling.
7
8         * DatabaseProcess/DatabaseProcess.cpp:
9         (WebKit::DatabaseProcess::didReceiveMessage):
10         * DatabaseProcess/DatabaseProcess.h:
11         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
12         (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
13         (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage):
14         * DatabaseProcess/DatabaseToWebProcessConnection.h:
15         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
16         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
17         (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
18         (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
19         * NetworkProcess/NetworkConnectionToWebProcess.h:
20         * NetworkProcess/NetworkProcess.cpp:
21         (WebKit::NetworkProcess::didReceiveMessage):
22         (WebKit::NetworkProcess::didReceiveSyncMessage):
23         * NetworkProcess/NetworkProcess.h:
24         * NetworkProcess/NetworkResourceLoader.h:
25         * Platform/IPC/Connection.cpp:
26         (IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
27         (IPC::Connection::dispatchSyncMessage):
28         (IPC::Connection::dispatchMessage):
29         * Platform/IPC/Connection.h:
30         (IPC::Connection::waitForAndDispatchImmediately):
31         * Platform/IPC/MessageReceiver.h:
32         (IPC::MessageReceiver::didReceiveSyncMessage):
33         * Platform/IPC/MessageReceiverMap.cpp:
34         (IPC::MessageReceiverMap::dispatchMessage):
35         (IPC::MessageReceiverMap::dispatchSyncMessage):
36         * Platform/IPC/MessageReceiverMap.h:
37         * PluginProcess/PluginControllerProxy.h:
38         * PluginProcess/PluginProcess.cpp:
39         (WebKit::PluginProcess::didReceiveMessage):
40         * PluginProcess/PluginProcess.h:
41         * PluginProcess/WebProcessConnection.cpp:
42         (WebKit::WebProcessConnection::didReceiveMessage):
43         (WebKit::WebProcessConnection::didReceiveSyncMessage):
44         * PluginProcess/WebProcessConnection.h:
45         * Scripts/webkit/messages.py:
46         (async_message_statement):
47         (sync_message_statement):
48         (generate_message_handler):
49         * Shared/API/Cocoa/RemoteObjectRegistry.h:
50         * Shared/Authentication/AuthenticationManager.h:
51         * Shared/ChildProcessProxy.cpp:
52         (WebKit::ChildProcessProxy::dispatchMessage):
53         (WebKit::ChildProcessProxy::dispatchSyncMessage):
54         * Shared/ChildProcessProxy.h:
55         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
56         * Shared/Plugins/NPObjectMessageReceiver.h:
57         * Shared/Plugins/NPRemoteObjectMap.cpp:
58         (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
59         * Shared/Plugins/NPRemoteObjectMap.h:
60         * Shared/WebConnection.h:
61         * Shared/mac/SecItemShim.h:
62         * UIProcess/Databases/DatabaseProcessProxy.cpp:
63         (WebKit::DatabaseProcessProxy::didReceiveMessage):
64         * UIProcess/Databases/DatabaseProcessProxy.h:
65         * UIProcess/Downloads/DownloadProxy.h:
66         * UIProcess/DrawingAreaProxy.h:
67         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
68         * UIProcess/Network/NetworkProcessProxy.cpp:
69         (WebKit::NetworkProcessProxy::didReceiveMessage):
70         (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
71         * UIProcess/Network/NetworkProcessProxy.h:
72         * UIProcess/Plugins/PluginProcessProxy.h:
73         * UIProcess/Storage/StorageManager.h:
74         * UIProcess/UserContent/WebUserContentControllerProxy.h:
75         * UIProcess/VisitedLinkProvider.h:
76         * UIProcess/WebApplicationCacheManagerProxy.h:
77         * UIProcess/WebCookieManagerProxy.h:
78         * UIProcess/WebDatabaseManagerProxy.h:
79         * UIProcess/WebFullScreenManagerProxy.h:
80         * UIProcess/WebGeolocationManagerProxy.h:
81         * UIProcess/WebIconDatabase.h:
82         * UIProcess/WebInspectorProxy.h:
83         * UIProcess/WebMediaCacheManagerProxy.h:
84         * UIProcess/WebOriginDataManagerProxy.h:
85         * UIProcess/WebPageProxy.h:
86         * UIProcess/WebPasteboardProxy.h:
87         * UIProcess/WebProcessPool.cpp:
88         (WebKit::WebProcessPool::dispatchMessage):
89         (WebKit::WebProcessPool::dispatchSyncMessage):
90         * UIProcess/WebProcessPool.h:
91         * UIProcess/WebProcessProxy.cpp:
92         (WebKit::WebProcessProxy::didReceiveMessage):
93         (WebKit::WebProcessProxy::didReceiveSyncMessage):
94         * UIProcess/WebProcessProxy.h:
95         * UIProcess/WebResourceCacheManagerProxy.h:
96         * UIProcess/ios/SmartMagnificationController.h:
97         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
98         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
99         * UIProcess/mac/SecItemShimProxy.h:
100         * UIProcess/mac/ViewGestureController.h:
101         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
102         * WebProcess/Cookies/WebCookieManager.h:
103         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
104         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
105         (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
106         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
107         * WebProcess/FullScreen/WebFullScreenManager.cpp:
108         (WebKit::WebFullScreenManager::didReceiveMessage):
109         * WebProcess/FullScreen/WebFullScreenManager.h:
110         * WebProcess/Geolocation/WebGeolocationManager.h:
111         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
112         * WebProcess/MediaCache/WebMediaCacheManager.h:
113         * WebProcess/Network/NetworkProcessConnection.cpp:
114         (WebKit::NetworkProcessConnection::didReceiveMessage):
115         (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
116         * WebProcess/Network/NetworkProcessConnection.h:
117         * WebProcess/Network/WebResourceLoader.h:
118         * WebProcess/Notifications/WebNotificationManager.h:
119         * WebProcess/OriginData/WebOriginDataManager.h:
120         * WebProcess/Plugins/PluginProcessConnection.cpp:
121         (WebKit::PluginProcessConnection::didReceiveMessage):
122         (WebKit::PluginProcessConnection::didReceiveSyncMessage):
123         * WebProcess/Plugins/PluginProcessConnection.h:
124         * WebProcess/Plugins/PluginProcessConnectionManager.h:
125         * WebProcess/Plugins/PluginProxy.h:
126         * WebProcess/ResourceCache/WebResourceCacheManager.h:
127         * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
128         * WebProcess/Storage/StorageAreaMap.h:
129         * WebProcess/UserContent/WebUserContentController.h:
130         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
131         * WebProcess/WebPage/DrawingArea.h:
132         * WebProcess/WebPage/EventDispatcher.h:
133         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
134         * WebProcess/WebPage/ViewUpdateDispatcher.h:
135         * WebProcess/WebPage/VisitedLinkTableController.h:
136         * WebProcess/WebPage/WebInspector.h:
137         * WebProcess/WebPage/WebInspectorUI.h:
138         * WebProcess/WebPage/WebPage.cpp:
139         (WebKit::WebPage::didReceiveMessage):
140         (WebKit::WebPage::didReceiveSyncMessage):
141         * WebProcess/WebPage/WebPage.h:
142         * WebProcess/WebPage/WebPageGroupProxy.h:
143         * WebProcess/WebProcess.cpp:
144         (WebKit::WebProcess::didReceiveSyncMessage):
145         (WebKit::WebProcess::didReceiveMessage):
146         * WebProcess/WebProcess.h:
147         * WebProcess/ios/WebVideoFullscreenManager.h:
148
149 2015-01-05  Anders Carlsson  <andersca@apple.com>
150
151         Pass IPC::Connection by reference to IPC message handlers
152         https://bugs.webkit.org/show_bug.cgi?id=140082
153
154         Reviewed by Darin Adler.
155
156         * Platform/IPC/HandleMessage.h:
157         (IPC::callMemberFunctionImpl):
158         (IPC::callMemberFunction):
159         (IPC::handleMessage):
160         (IPC::handleMessageDelayed):
161         * Scripts/webkit/messages.py:
162         (async_message_statement):
163         (sync_message_statement):
164         * UIProcess/Storage/StorageManager.cpp:
165         (WebKit::StorageManager::createLocalStorageMap):
166         (WebKit::StorageManager::createTransientLocalStorageMap):
167         (WebKit::StorageManager::createSessionStorageMap):
168         (WebKit::StorageManager::destroyStorageMap):
169         (WebKit::StorageManager::getValues):
170         (WebKit::StorageManager::setItem):
171         (WebKit::StorageManager::removeItem):
172         (WebKit::StorageManager::clear):
173         * UIProcess/Storage/StorageManager.h:
174         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
175         (WebKit::WebUserContentControllerProxy::didPostMessage):
176         * UIProcess/UserContent/WebUserContentControllerProxy.h:
177         * UIProcess/WebGeolocationManagerProxy.cpp:
178         (WebKit::WebGeolocationManagerProxy::startUpdating):
179         (WebKit::WebGeolocationManagerProxy::stopUpdating):
180         (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
181         * UIProcess/WebGeolocationManagerProxy.h:
182         * UIProcess/WebOriginDataManagerProxy.cpp:
183         (WebKit::WebOriginDataManagerProxy::didGetOrigins):
184         (WebKit::WebOriginDataManagerProxy::didDeleteEntries):
185         (WebKit::WebOriginDataManagerProxy::didDeleteAllEntries):
186         * UIProcess/WebOriginDataManagerProxy.h:
187         * UIProcess/WebProcessPool.cpp:
188         (WebKit::WebProcessPool::handleMessage):
189         (WebKit::WebProcessPool::handleSynchronousMessage):
190         * UIProcess/WebProcessPool.h:
191         * UIProcess/mac/SecItemShimProxy.cpp:
192         (WebKit::SecItemShimProxy::secItemRequest):
193         * UIProcess/mac/SecItemShimProxy.h:
194
195 2015-01-04  Anders Carlsson  <andersca@apple.com>
196
197         Clean up some of the IPC code
198         https://bugs.webkit.org/show_bug.cgi?id=140057
199
200         Reviewed by Antti Koivisto.
201
202         Use std::mutex instead of WTF::Mutex. Change a couple of pointers to references in the connection client.
203
204         * DatabaseProcess/DatabaseProcess.cpp:
205         (WebKit::DatabaseProcess::didClose):
206         (WebKit::DatabaseProcess::didReceiveInvalidMessage):
207         * DatabaseProcess/DatabaseProcess.h:
208         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
209         (WebKit::DatabaseToWebProcessConnection::didClose):
210         (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
211         * DatabaseProcess/DatabaseToWebProcessConnection.h:
212         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
213         (WebKit::NetworkConnectionToWebProcess::didClose):
214         (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
215         * NetworkProcess/NetworkConnectionToWebProcess.h:
216         * NetworkProcess/NetworkProcess.cpp:
217         (WebKit::NetworkProcess::didClose):
218         (WebKit::NetworkProcess::didReceiveInvalidMessage):
219         * NetworkProcess/NetworkProcess.h:
220         * Platform/IPC/Connection.cpp:
221         (IPC::Connection::sendMessage):
222         (IPC::Connection::waitForMessage):
223         (IPC::Connection::connectionDidClose):
224         (IPC::Connection::sendOutgoingMessages):
225         (IPC::Connection::dispatchDidReceiveInvalidMessage):
226         (IPC::Connection::enqueueIncomingMessage):
227         (IPC::Connection::dispatchMessage):
228         (IPC::Connection::dispatchOneMessage):
229         * Platform/IPC/Connection.h:
230         * PluginProcess/PluginProcess.cpp:
231         (WebKit::PluginProcess::didClose):
232         (WebKit::PluginProcess::didReceiveInvalidMessage):
233         * PluginProcess/PluginProcess.h:
234         * PluginProcess/WebProcessConnection.cpp:
235         (WebKit::WebProcessConnection::didClose):
236         (WebKit::WebProcessConnection::didReceiveInvalidMessage):
237         * PluginProcess/WebProcessConnection.h:
238         * UIProcess/Databases/DatabaseProcessProxy.cpp:
239         (WebKit::DatabaseProcessProxy::didClose):
240         (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
241         * UIProcess/Databases/DatabaseProcessProxy.h:
242         * UIProcess/Network/NetworkProcessProxy.cpp:
243         (WebKit::NetworkProcessProxy::didClose):
244         (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
245         * UIProcess/Network/NetworkProcessProxy.h:
246         * UIProcess/Plugins/PluginProcessProxy.cpp:
247         (WebKit::PluginProcessProxy::didClose):
248         (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
249         * UIProcess/Plugins/PluginProcessProxy.h:
250         * UIProcess/WebProcessProxy.cpp:
251         (WebKit::WebProcessProxy::didClose):
252         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
253         * UIProcess/WebProcessProxy.h:
254         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
255         (WebKit::WebToDatabaseProcessConnection::didClose):
256         (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
257         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
258         * WebProcess/Network/NetworkProcessConnection.cpp:
259         (WebKit::NetworkProcessConnection::didClose):
260         (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
261         * WebProcess/Network/NetworkProcessConnection.h:
262         * WebProcess/Plugins/PluginProcessConnection.cpp:
263         (WebKit::PluginProcessConnection::didClose):
264         (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
265         * WebProcess/Plugins/PluginProcessConnection.h:
266         * WebProcess/WebPage/WebInspector.h:
267         * WebProcess/WebPage/WebInspectorUI.h:
268         * WebProcess/WebProcess.cpp:
269         (WebKit::WebProcess::didClose):
270         (WebKit::WebProcess::didReceiveInvalidMessage):
271         * WebProcess/WebProcess.h:
272
273 2015-01-01  Sam Weinig  <sam@webkit.org>
274
275         Remove GroupSettings
276         https://bugs.webkit.org/show_bug.cgi?id=140037
277
278         Reviewed by Dan Bernstein.
279
280         Remove unused databaseDirectoryIdentifier parameters.
281
282         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
283         (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
284         (WebKit::WebIDBFactoryBackend::getDatabaseNames):
285         (WebKit::WebIDBFactoryBackend::deleteDatabase):
286         * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
287         * WebProcess/Storage/StorageNamespaceImpl.cpp:
288         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
289         (WebKit::WebPlatformStrategies::createIDBFactoryBackend):
290         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
291
292 2015-01-01  Jeff Miller  <jeffm@apple.com>
293
294         Update user-visible copyright strings to include 2015
295         https://bugs.webkit.org/show_bug.cgi?id=139880
296
297         Reviewed by Darin Adler.
298
299         * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist:
300         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist:
301         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist:
302         * Info.plist:
303         * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
304         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist:
305         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
306         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
307         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
308         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
309         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
310         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
311         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
312         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist:
313         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
314         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
315         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
316         * mac/Info-WebKit2.plist:
317
318 2014-12-31  Sam Weinig  <sam@webkit.org>
319
320         Move scrolling code off of WTF::bind
321         https://bugs.webkit.org/show_bug.cgi?id=140019
322
323         Reviewed by Darin Adler.
324
325         * WebProcess/WebPage/EventDispatcher.cpp:
326         (WebKit::EventDispatcher::wheelEvent):
327         (WebKit::EventDispatcher::touchEvent):
328         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
329         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
330
331 2015-01-01  Darin Adler  <darin@apple.com>
332
333         We often misspell identifier as "identifer"
334         https://bugs.webkit.org/show_bug.cgi?id=140025
335
336         Reviewed by Michael Saboff.
337
338         * Shared/WebPageGroupData.cpp:
339         (WebKit::WebPageGroupData::encode):
340         (WebKit::WebPageGroupData::decode):
341         * Shared/WebPageGroupData.h:
342         * UIProcess/WebPageGroup.cpp:
343         (WebKit::pageGroupData):
344         (WebKit::WebPageGroup::WebPageGroup):
345         * UIProcess/WebPageGroup.h:
346         (WebKit::WebPageGroup::identifier):
347         * WebProcess/WebPage/WebInspector.cpp:
348         (WebKit::WebInspector::createInspectorPage):
349         * WebProcess/WebPage/WebPageGroupProxy.cpp:
350         (WebKit::WebPageGroupProxy::WebPageGroupProxy):
351         * WebProcess/WebPage/WebPageGroupProxy.h:
352         (WebKit::WebPageGroupProxy::identifier):
353         Fix misspellings.
354
355 2014-12-31  Yusuke Suzuki  <utatane.tea@gmail.com>
356
357         [GTK] Suppress unused parameter warnings in ui clients
358         https://bugs.webkit.org/show_bug.cgi?id=140012
359
360         Drop the parameter name of WebKitUIClient::isPlayingAudioDidChange
361         to suppress warnings.
362
363         Reviewed by Benjamin Poulain.
364
365         * UIProcess/API/gtk/WebKitUIClient.cpp:
366
367 2014-12-31  Sam Weinig  <sam@webkit.org>
368
369         Remove the remaining uses of OwnPtr from WebKit2
370         https://bugs.webkit.org/show_bug.cgi?id=140017
371
372         Reviewed by Dan Bernstein.
373
374         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
375         (WebKit::RemoteScrollingCoordinatorTransaction::decode):
376         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
377         (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode):
378         (WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree):
379         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
380         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
381         (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree):
382         * UIProcess/mac/PageClientImpl.h:
383         * UIProcess/mac/PageClientImpl.mm:
384         (WebKit::PageClientImpl::PageClientImpl):
385         * UIProcess/mac/WKFullScreenWindowController.h:
386         * UIProcess/mac/WKPrintingView.mm:
387         (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
388         (-[WKPrintingView _askPageToComputePageRects]):
389         (-[WKPrintingView _drawPreview:]):
390         * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
391
392 2014-12-31  Bartlomiej Gajda  <b.gajda@samsung.com>
393
394         Fix build warnings after r177792.
395         https://bugs.webkit.org/show_bug.cgi?id=140005.
396
397         Reviewed by Anders Carlsson.
398
399         Add UNUSED_PARAM(connection) for async messages.
400
401         * Scripts/webkit/messages.py:
402         (generate_message_handler):
403
404 2014-12-31  Zan Dobersek  <zdobersek@igalia.com>
405
406         Unreviewed build fix for the GTK port.
407
408         Move the ArgumentCodersGtk.h inclusion from WebPageProxy.cpp to
409         WebPageProxy.h. This makes GTK-specific IPC coders available to
410         WebPageProxyMessageReceiver, fixing a build error due to missing
411         ArgumentCoder template specializations for WebCore::DragData type
412         that is used in the GTK-specific StartDrag message.
413
414         * UIProcess/WebPageProxy.cpp:
415         * UIProcess/WebPageProxy.h:
416
417 2014-12-31  Commit Queue  <commit-queue@webkit.org>
418
419         Unreviewed, rolling out r177824 and r177826.
420         https://bugs.webkit.org/show_bug.cgi?id=140011
421
422         The new test crashes (Requested by ap on #webkit).
423
424         Reverted changesets:
425
426         "Too large plugins are crashing."
427         https://bugs.webkit.org/show_bug.cgi?id=139856
428         http://trac.webkit.org/changeset/177824
429
430         "Fix bug number typo in the previous commit."
431         http://trac.webkit.org/changeset/177826
432
433 2014-12-30  Gabor Rapcsanyi  <rgabor@webkit.org>
434
435         Too large plugins are crashing.
436         https://bugs.webkit.org/show_bug.cgi?id=139868
437
438         Reviewed by Darin Adler.
439
440         * WebProcess/Plugins/PluginProxy.cpp:
441         (WebKit::PluginProxy::updateBackingStore): Return false if backingStore cannot be allocated.
442
443 2014-12-30  Anders Carlsson  <andersca@apple.com>
444
445         Transient local storage namespaces need to ref their storage areas
446         https://bugs.webkit.org/show_bug.cgi?id=140006
447         <rdar://problem/19225389>
448
449         Reviewed by Sam Weinig.
450
451         We need to keep transient storage areas around even if they have no active connections,
452         so use a RefPtr instead of a raw pointer. This matches what we do for session storage namespaces.
453
454         * UIProcess/Storage/StorageManager.cpp:
455
456 2014-12-29  Anders Carlsson  <andersca@apple.com>
457
458         Remove unneeded StorageNamespace functions
459         https://bugs.webkit.org/show_bug.cgi?id=139997
460
461         Reviewed by Sam Weinig.
462
463         * WebProcess/Storage/StorageNamespaceImpl.cpp:
464         (WebKit::StorageNamespaceImpl::close): Deleted.
465         (WebKit::StorageNamespaceImpl::clearOriginForDeletion): Deleted.
466         (WebKit::StorageNamespaceImpl::clearAllOriginsForDeletion): Deleted.
467         (WebKit::StorageNamespaceImpl::sync): Deleted.
468         (WebKit::StorageNamespaceImpl::closeIdleLocalStorageDatabases): Deleted.
469         * WebProcess/Storage/StorageNamespaceImpl.h:
470
471 2014-12-29  Anders Carlsson  <andersca@apple.com>
472
473         Move storage code from WebCore to WebKit
474         https://bugs.webkit.org/show_bug.cgi?id=139558
475
476         Reviewed by Darin Adler.
477
478         * WebProcess/WebProcess.cpp:
479
480 2014-12-29  Dan Bernstein  <mitz@apple.com>
481
482         Fixed the iOS build.
483
484         * WebProcess/WebPage/ios/WebPageIOS.mm:
485
486 2014-12-29  Anders Carlsson  <andersca@apple.com>
487
488         Another iOS build fix.
489
490         * WebProcess/WebPage/ios/WebPageIOS.mm:
491         (WebKit::WebPage::elementDidFocus):
492
493 2014-12-29  Anders Carlsson  <andersca@apple.com>
494
495         Turn on transient local storage support again
496         https://bugs.webkit.org/show_bug.cgi?id=139995
497
498         Reviewed by Sam Weinig.
499
500         Using transient local storage caused weird crashes in the UI process so that change had to
501         be backed out - let's turn it on and see if it still happens.
502
503         * WebProcess/Storage/WebStorageNamespaceProvider.cpp:
504         (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
505
506 2014-12-29  Anders Carlsson  <andersca@apple.com>
507
508         Remove more old coder code gunk.
509
510         Rubber-stamped by Sam Weinig.
511
512         * Scripts/webkit/messages.py:
513         (argument_coder_headers_for_type):
514         (handler_function): Deleted.
515
516 2014-12-29  Anders Carlsson  <andersca@apple.com>
517
518         Try to fix the iOS build.
519
520         * UIProcess/ios/WebPageProxyIOS.mm:
521         (WebKit::WebPageProxy::startAssistingNode):
522         * WebProcess/WebPage/ios/WebPageIOS.mm:
523         (WebKit::WebPage::elementDidFocus):
524
525 2014-12-29  Csaba Osztrogonác  <ossy@webkit.org>
526
527         URTBF after r177805.
528
529         * CMakeLists.txt:
530
531 2014-12-29  Anders Carlsson  <andersca@apple.com>
532
533         Remove the old user message coder code
534         https://bugs.webkit.org/show_bug.cgi?id=139994
535
536         Reviewed by Sam Weinig.
537
538         * Platform/IPC/HandleMessage.h:
539         (IPC::callMemberFunctionImpl): Deleted.
540         (IPC::callMemberFunction): Deleted.
541         (IPC::handleMessageVariadic): Deleted.
542         * Scripts/webkit/messages.py:
543         (decode_type):
544         (async_message_statement):
545         (sync_message_statement):
546         * Shared/UserMessageCoders.h: Removed.
547         * Shared/mac/ObjCObjectGraphCoders.h: Removed.
548         * Shared/mac/ObjCObjectGraphCoders.mm: Removed.
549         * UIProcess/WebConnectionToWebProcess.cpp:
550         * UIProcess/WebContextUserMessageCoders.h: Removed.
551         * UIProcess/WebPageProxy.cpp:
552         * UIProcess/WebProcessPool.cpp:
553         * WebKit2.xcodeproj/project.pbxproj:
554         * WebProcess/InjectedBundle/InjectedBundle.cpp:
555         * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Removed.
556         * WebProcess/WebConnectionToUIProcess.cpp:
557         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
558         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
559         * WebProcess/WebPage/WebContextMenu.cpp:
560         * WebProcess/WebPage/WebPage.cpp:
561         * WebProcess/WebPage/mac/WebPageMac.mm:
562         * WebProcess/WebProcess.cpp:
563
564 2014-12-29  Sam Weinig  <sam@webkit.org>
565
566         Move WebPasteboardProxy from Shared to UIProcess, where it should have been all along
567         Rubber-stamped by Anders Carlsson.
568
569         * Shared/WebPasteboardProxy.cpp: Removed.
570         * Shared/WebPasteboardProxy.h: Removed.
571         * Shared/WebPasteboardProxy.messages.in: Removed.
572         * UIProcess/WebPasteboardProxy.cpp: Copied from Shared/WebPasteboardProxy.cpp.
573         * UIProcess/WebPasteboardProxy.h: Copied from Shared/WebPasteboardProxy.h.
574         * UIProcess/WebPasteboardProxy.messages.in: Copied from Shared/WebPasteboardProxy.messages.in.
575         * WebKit2.xcodeproj/project.pbxproj:
576
577 2014-12-29  Sam Weinig  <sam@webkit.org>
578
579         Try to fix the iOS build.
580
581         * Shared/WebPasteboardProxy.h:
582
583 2014-12-29  Anders Carlsson  <andersca@apple.com>
584
585         Convert injected bundle message posting to UserData
586         https://bugs.webkit.org/show_bug.cgi?id=139993
587
588         Reviewed by Sam Weinig.
589
590         * UIProcess/WebProcessPool.cpp:
591         (WebKit::WebProcessPool::createNewWebProcess):
592         (WebKit::WebProcessPool::postMessageToInjectedBundle):
593         * WebProcess/WebProcess.cpp:
594         (WebKit::WebProcess::handleInjectedBundleMessage):
595         (WebKit::WebProcess::postInjectedBundleMessage): Deleted.
596         * WebProcess/WebProcess.h:
597         * WebProcess/WebProcess.messages.in:
598
599 2014-12-29  Sam Weinig  <sam@webkit.org>
600
601         Try to fix the iOS build.
602
603         * Shared/WebPasteboardProxy.h:
604
605 2014-12-29  Csaba Osztrogonác  <ossy@webkit.org>
606
607         One more speculative buildfix after r177794.
608
609         * CMakeLists.txt:
610
611 2014-12-29  Sam Weinig  <sam@webkit.org>
612
613         Try to fix the iOS build.
614
615         * Shared/WebPasteboardProxy.h:
616
617 2014-12-29  Csaba Osztrogonác  <ossy@webkit.org>
618
619         Speculative buildfix after r177793.
620
621         * WebProcess/soup/WebProcessSoup.cpp:
622         (WebKit::WebProcess::platformInitializeWebProcess):
623
624 2014-12-29  Csaba Osztrogonác  <ossy@webkit.org>
625
626         Speculative buildfix after r177794.
627
628         * CMakeLists.txt:
629
630 2014-12-29  Sam Weinig  <sam@webkit.org>
631
632         Removes some unnecessary use of LegacyReceiver
633         https://bugs.webkit.org/show_bug.cgi?id=139992
634
635         Reviewed by Anders Carlsson.
636
637         * Shared/WebConnection.cpp:
638         (WebKit::WebConnection::didReceiveMessage): Deleted.
639         * Shared/WebConnection.h:
640         * Shared/WebConnection.messages.in:
641         * UIProcess/WebProcessPool.cpp:
642         (WebKit::WebProcessPool::didReceiveMessage): Deleted.
643         (WebKit::WebProcessPool::didReceiveSyncMessage): Deleted.
644         * UIProcess/WebProcessPool.h:
645         * UIProcess/WebProcessPool.messages.in:
646         Remove unnecessary use of LegacyReceiver.
647
648         * UIProcess/WebPageProxy.h:
649         Remove declarations for functions that don't exist.
650
651 2014-12-29  Anders Carlsson  <andersca@apple.com>
652
653         Convert all variadic web process messages to UserData
654         https://bugs.webkit.org/show_bug.cgi?id=139991
655
656         Reviewed by Sam Weinig.
657
658         * UIProcess/WebPageProxy.cpp:
659         (WebKit::WebPageProxy::loadRequest):
660         (WebKit::WebPageProxy::loadFile):
661         (WebKit::WebPageProxy::loadData):
662         (WebKit::WebPageProxy::loadHTMLString):
663         (WebKit::WebPageProxy::loadAlternateHTMLString):
664         (WebKit::WebPageProxy::loadPlainTextString):
665         (WebKit::WebPageProxy::loadWebArchiveData):
666         (WebKit::WebPageProxy::postMessageToInjectedBundle):
667         * WebProcess/WebPage/WebPage.cpp:
668         (WebKit::WebPage::loadRequest):
669         (WebKit::WebPage::loadDataImpl):
670         (WebKit::WebPage::loadString):
671         (WebKit::WebPage::loadData):
672         (WebKit::WebPage::loadHTMLString):
673         (WebKit::WebPage::loadAlternateHTMLString):
674         (WebKit::WebPage::loadPlainTextString):
675         (WebKit::WebPage::loadWebArchiveData):
676         (WebKit::WebPage::postInjectedBundleMessage):
677         * WebProcess/WebPage/WebPage.h:
678         * WebProcess/WebPage/WebPage.messages.in:
679
680 2014-12-29  Anders Carlsson  <andersca@apple.com>
681
682         Convert all variadic WebProcessProxy message over to UserData
683         https://bugs.webkit.org/show_bug.cgi?id=139990
684
685         Reviewed by Sam Weinig.
686
687         * UIProcess/WebPageProxy.cpp:
688         (WebKit::WebPageProxy::willGoToBackForwardListItem):
689         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
690         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
691         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
692         (WebKit::WebPageProxy::didCommitLoadForFrame):
693         (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
694         (WebKit::WebPageProxy::didFinishLoadForFrame):
695         (WebKit::WebPageProxy::didFailLoadForFrame):
696         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
697         (WebKit::WebPageProxy::didReceiveTitleForFrame):
698         (WebKit::WebPageProxy::didFirstLayoutForFrame):
699         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
700         (WebKit::WebPageProxy::didLayout):
701         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
702         (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
703         (WebKit::WebPageProxy::didRunInsecureContentForFrame):
704         (WebKit::WebPageProxy::didDetectXSSForFrame):
705         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
706         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
707         (WebKit::WebPageProxy::decidePolicyForResponse):
708         (WebKit::WebPageProxy::decidePolicyForResponseSync):
709         (WebKit::WebPageProxy::unableToImplementPolicy):
710         (WebKit::WebPageProxy::willSubmitForm):
711         (WebKit::WebPageProxy::mouseDidMoveOverElement):
712         (WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress):
713         (WebKit::WebPageProxy::didRecognizeLongMousePress):
714         (WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress):
715         (WebKit::WebPageProxy::showContextMenu):
716         (WebKit::WebPageProxy::internalShowContextMenu):
717         (WebKit::WebPageProxy::didPerformActionMenuHitTest):
718         * UIProcess/WebPageProxy.h:
719         * UIProcess/WebPageProxy.messages.in:
720         * UIProcess/mac/WebPageProxyMac.mm:
721         (WebKit::WebPageProxy::showSelectionServiceMenu):
722         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
723         (WebKit::WebChromeClient::mouseDidMoveOverElement):
724         (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress):
725         (WebKit::WebChromeClient::didRecognizeLongMousePress):
726         (WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress):
727         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
728         (WebKit::WebFrameLoaderClient::detachedFromParent2):
729         (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
730         (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
731         (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
732         (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
733         (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
734         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
735         (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
736         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
737         (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
738         (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
739         (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
740         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
741         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
742         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
743         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
744         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
745         (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy):
746         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
747         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
748         (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
749         (WebKit::WebFrameLoaderClient::didRunInsecureContent):
750         (WebKit::WebFrameLoaderClient::didDetectXSS):
751         * WebProcess/WebPage/WebContextMenu.cpp:
752         (WebKit::WebContextMenu::show):
753         * WebProcess/WebPage/mac/WebPageMac.mm:
754         (WebKit::WebPage::performActionMenuHitTestAtLocation):
755
756 2014-12-29  Sam Weinig  <sam@webkit.org>
757
758         Move Pasteboard code out of WebProcessPool and into its own singleton class
759         https://bugs.webkit.org/show_bug.cgi?id=139987
760
761         Reviewed by Anders Carlsson.
762
763         * DerivedSources.make:
764         * Shared/WebPasteboardProxy.cpp: Added.
765         (WebKit::WebPasteboardProxy::shared):
766         (WebKit::WebPasteboardProxy::WebPasteboardProxy):
767         (WebKit::WebPasteboardProxy::addWebProcessProxy):
768         * Shared/WebPasteboardProxy.h: Added.
769         * Shared/WebPasteboardProxy.messages.in: Added.
770         * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: Added.
771         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
772         * UIProcess/WebProcessPool.cpp:
773         (WebKit::WebProcessPool::didReceiveSyncMessage):
774         (WebKit::WebProcessPool::dummy): Deleted.
775         * UIProcess/WebProcessPool.h:
776         * UIProcess/WebProcessPool.messages.in:
777         * UIProcess/WebProcessProxy.cpp:
778         (WebKit::WebProcessProxy::WebProcessProxy):
779         * WebKit2.xcodeproj/project.pbxproj:
780         * WebProcess/Plugins/PDF/PDFPlugin.mm:
781         (WebKit::PDFPlugin::writeItemsToPasteboard):
782         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
783
784 2014-12-29  Anders Carlsson  <andersca@apple.com>
785
786         Use UserData for bundle initialization data
787         https://bugs.webkit.org/show_bug.cgi?id=139989
788
789         Reviewed by Sam Weinig.
790
791         * Shared/WebProcessCreationParameters.cpp:
792         (WebKit::WebProcessCreationParameters::~WebProcessCreationParameters):
793         (WebKit::WebProcessCreationParameters::encode):
794         (WebKit::WebProcessCreationParameters::decode):
795         * Shared/WebProcessCreationParameters.h:
796         * UIProcess/WebProcessPool.cpp:
797         (WebKit::WebProcessPool::createNewWebProcess):
798         * WebProcess/WebProcess.cpp:
799         (WebKit::WebProcess::initializeWebProcess):
800         * WebProcess/WebProcess.h:
801         * WebProcess/WebProcess.messages.in:
802         * WebProcess/cocoa/WebProcessCocoa.mm:
803         (WebKit::WebProcess::platformInitializeWebProcess):
804
805 2014-12-28  Anders Carlsson  <andersca@apple.com>
806
807         Use UserData when sending messages to the process pool
808         https://bugs.webkit.org/show_bug.cgi?id=139978
809
810         Reviewed by Sam Weinig.
811
812         * Scripts/webkit/messages.py:
813         (generate_message_handler):
814         Include the connection parameter for legacy receivers as well.
815
816         * Shared/CoreIPCSupport/WebContextMessageKinds.h:
817         Remove this, it's no longer needed.
818
819         * UIProcess/WebProcessPool.cpp:
820         (WebKit::WebProcessPool::didReceiveMessage):
821         No need to special case the postMessage message.
822
823         (WebKit::WebProcessPool::didReceiveSyncMessage):
824         No need to special case the postSynchronousMessageMessage message.
825
826         (WebKit::WebProcessPool::handleMessage):
827         Convert handles to objects and call didReceiveMessageFromInjectedBundle.
828
829         (WebKit::WebProcessPool::handleSynchronousMessage):
830         Convert handles to objects, call didReceiveSynchronousMessageFromInjectedBundle, and then
831         convert objects back to handles in the reply.
832
833         (WebKit::WebProcessPool::didReceiveMessageFromInjectedBundle): Deleted.
834         (WebKit::WebProcessPool::didReceiveSynchronousMessageFromInjectedBundle): Deleted.
835         (WebKit::WebProcessPool::dummy): Deleted.
836         * UIProcess/WebProcessPool.h:
837         Add handleMessage and handleSynchronousMessage message handlers.
838
839         * UIProcess/WebProcessPool.messages.in:
840         Add new messages.
841
842         * WebKit2.xcodeproj/project.pbxproj:
843         Remove a now unused file.
844
845         * WebProcess/InjectedBundle/InjectedBundle.cpp:
846         (WebKit::InjectedBundle::postMessage):
847         Convert objects to handles in the message body and then send the HandleMessage to the UI process.
848
849         (WebKit::InjectedBundle::postSynchronousMessage):
850         Convert objects to handles in the message body, send the HandleSynchronousMessage message to the UI process,
851         and then convert handles back to objects in the reply.
852
853 2014-12-28  Anders Carlsson  <andersca@apple.com>
854
855         Transform nested objects inside arrays
856         https://bugs.webkit.org/show_bug.cgi?id=139976
857
858         Reviewed by Oliver Hunt.
859
860         Call transformGraph on each element so that we'll transform other nested objects correctly.
861
862         * Shared/UserData.cpp:
863         (WebKit::transformGraph):
864
865 2014-12-27  Dan Bernstein  <mitz@apple.com>
866
867         iOS build fix after r177765.
868
869         * Shared/mac/ObjCObjectGraph.mm:
870         (WebKit::ObjCObjectGraph::encode):
871
872 2014-12-27  Anders Carlsson  <andersca@apple.com>
873
874         Switch WebConnection over to sending objects with UserData
875         https://bugs.webkit.org/show_bug.cgi?id=139967
876
877         Reviewed by Oliver Hunt.
878
879         * Shared/WebConnection.cpp:
880         (WebKit::WebConnection::postMessage):
881         No need to construct the message manually anymore.
882
883         (WebKit::WebConnection::handleMessage):
884         No need to decode the message manually, just get the object from the UserData message body,
885         convert any handles to objects, and dispatch the message.
886
887         * Shared/WebConnection.h:
888         Remove now unused members.
889
890         * Shared/WebConnection.messages.in:
891         Give HandleMessage a proper signature.
892
893         * UIProcess/WebConnectionToWebProcess.cpp:
894         (WebKit::WebConnectionToWebProcess::transformHandlesToObjects):
895         (WebKit::WebConnectionToWebProcess::transformObjectsToHandles):
896         Call the WebProcessProxy version.
897
898         (WebKit::WebConnectionToWebProcess::encodeMessageBody): Deleted.
899         (WebKit::WebConnectionToWebProcess::decodeMessageBody): Deleted.
900
901         * UIProcess/WebConnectionToWebProcess.h:
902         * WebProcess/WebConnectionToUIProcess.cpp:
903         (WebKit::WebConnectionToUIProcess::encodeMessageBody): Deleted.
904         (WebKit::WebConnectionToUIProcess::decodeMessageBody): Deleted.
905         * WebProcess/WebConnectionToUIProcess.h:
906         Delete more unused members.
907
908 2014-12-27  Anders Carlsson  <andersca@apple.com>
909
910         Encode and decode WKTypeRefWrapper objects
911         https://bugs.webkit.org/show_bug.cgi?id=139966
912
913         Reviewed by Oliver Hunt.
914
915         * Shared/UserData.cpp:
916         (WebKit::UserData::encode):
917         * Shared/UserData.h:
918         * Shared/mac/ObjCObjectGraph.mm:
919         (WebKit::typeFromObject):
920         (WebKit::ObjCObjectGraph::encode):
921         (WebKit::ObjCObjectGraph::decode):
922
923 2014-12-27  Anders Carlsson  <andersca@apple.com>
924
925         Implement encoding and decoding of ObjCObjectGraph objects
926         https://bugs.webkit.org/show_bug.cgi?id=139965
927
928         Reviewed by Oliver Hunt.
929
930         * Shared/UserData.cpp:
931         (WebKit::UserData::encode):
932         (WebKit::UserData::decode):
933         * Shared/mac/ObjCObjectGraph.h:
934         * Shared/mac/ObjCObjectGraph.mm:
935         (WebKit::typeFromObject):
936         (WebKit::ObjCObjectGraph::encode):
937         (WebKit::ObjCObjectGraph::decode):
938
939 2014-12-27  Dan Bernstein  <mitz@apple.com>
940
941         [Cocoa] WKWebProcessPlugInLoadDelegate uses the deprecated WKRenderingProgressEvents enum
942         https://bugs.webkit.org/show_bug.cgi?id=139964
943
944         Reviewed by Anders Carlsson.
945
946         * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Removed.
947
948         * Shared/API/Cocoa/_WKRenderingProgressEvents.h: Added. Moved the enum definition from
949         WKWebViewPrivate.h to here.
950
951         * Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h: Added.
952         (renderingProgressEvents): Moved from NavigationState.mm to here.
953
954         * UIProcess/API/Cocoa/WKBrowsingContextController.h: Removed observedRenderingProgressEvents
955         property declaration.
956         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
957         (layoutMilestones): Deleted.
958         (-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Deleted. This is not
959         needed for binary compatibility.
960         (didLayout): Deleted.
961         (setUpPageLoaderClient): Removed setting up didLayout callback.
962         * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Removed unused delegate method.
963
964         * UIProcess/API/Cocoa/WKWebViewPrivate.h: Import definition of _WKRenderingProgressEvents
965         from new header.
966
967         * UIProcess/Cocoa/NavigationState.mm:
968         (WebKit::renderingProgressEvents): Moved into its own header.
969
970         * WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removeals, and moved
971         WKRenderingProgressEvents.h into a new Deprecated group.
972
973         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Changed the type of
974         a delegate method parameter to _WKRenderingProgressEvents.
975         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
976         (didLayout): Pass the new type.
977
978 2014-12-26  Conrad Shultz  <conrad_shultz@apple.com>
979
980         Safari build crashes when "zooming into"/choosing a tab from tab view
981         https://bugs.webkit.org/show_bug.cgi?id=139934
982
983         Reviewed by Dan Bernstein.
984
985         * UIProcess/API/mac/WKView.mm:
986         (-[WKView _setIgnoresNonWheelEvents:]):
987         Trying to add a nil gesture recognizer raises an exception. Stop assuming that a
988         gesture recognizer is non-nil.
989
990 2014-12-26  Anders Carlsson  <andersca@apple.com>
991
992         Handle more types in the UserData encode/decode functions
993         https://bugs.webkit.org/show_bug.cgi?id=139959
994
995         Reviewed by Dan Bernstein.
996
997         * Shared/UserData.cpp:
998         (WebKit::UserData::encode):
999         (WebKit::UserData::decode):
1000
1001 2014-12-26  Anders Carlsson  <andersca@apple.com>
1002
1003         Move handle encoding functions to their respective implementation files
1004         https://bugs.webkit.org/show_bug.cgi?id=139957
1005
1006         Reviewed by Dan Bernstein.
1007
1008         * Shared/API/APIFrameHandle.cpp:
1009         (API::FrameHandle::encode):
1010         (API::FrameHandle::decode):
1011         * Shared/API/APIFrameHandle.h:
1012         * Shared/API/APIPageGroupHandle.cpp:
1013         (API::PageGroupHandle::PageGroupHandle):
1014         (API::PageGroupHandle::encode):
1015         (API::PageGroupHandle::decode):
1016         * Shared/API/APIPageGroupHandle.h:
1017         * Shared/API/APIPageHandle.cpp:
1018         (API::PageHandle::encode):
1019         (API::PageHandle::decode):
1020         * Shared/API/APIPageHandle.h:
1021         * Shared/UserData.cpp:
1022         (WebKit::UserData::encode):
1023         (WebKit::UserData::decode):
1024
1025 2014-12-26  Anders Carlsson  <andersca@apple.com>
1026
1027         Add the notion of auto-converting page and frame handles
1028         https://bugs.webkit.org/show_bug.cgi?id=139954
1029
1030         Reviewed by Dan Bernstein.
1031
1032         This makes it possible to tell the difference between page and frame handles that
1033         should be converted to their respective UI or web process object representations
1034         and handles that should stay the same (for the modern API for example).
1035         
1036         * Shared/API/APIFrameHandle.cpp:
1037         (API::FrameHandle::create):
1038         (API::FrameHandle::createAutoconverting):
1039         (API::FrameHandle::FrameHandle):
1040         * Shared/API/APIFrameHandle.h:
1041         (API::FrameHandle::isAutoconverting):
1042         * Shared/API/APIPageHandle.cpp:
1043         (API::PageHandle::create):
1044         (API::PageHandle::createAutoconverting):
1045         (API::PageHandle::PageHandle):
1046         * Shared/API/APIPageHandle.h:
1047         (API::PageHandle::isAutoconverting):
1048         * Shared/API/Cocoa/_WKFrameHandle.mm:
1049         (-[_WKFrameHandle initWithCoder:]):
1050         * Shared/UserData.cpp:
1051         (WebKit::shouldTransform):
1052         * Shared/UserData.h:
1053         * UIProcess/Cocoa/UIDelegate.mm:
1054         (WebKit::UIDelegate::UIClient::printFrame):
1055         * UIProcess/WebProcessProxy.cpp:
1056         (WebKit::WebProcessProxy::transformHandlesToObjects):
1057         (WebKit::WebProcessProxy::transformObjectsToHandles):
1058         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
1059         (-[WKWebProcessPlugInFrame handle]):
1060         * WebProcess/WebProcess.cpp:
1061         (WebKit::WebProcess::transformHandlesToObjects):
1062         (WebKit::WebProcess::transformObjectsToHandles):
1063
1064 2014-12-26  Dan Bernstein  <mitz@apple.com>
1065
1066         [Cocoa] Some modern SPI changes have missing or incorrect availability annotations
1067         https://bugs.webkit.org/show_bug.cgi?id=139940
1068
1069         Reviewed by Darin Adler.
1070
1071         * Shared/API/c/WKDeclarationSpecifiers.h: Renamed WK_DEPRECATED to WK_C_DEPRECATED.
1072
1073         * Shared/API/Cocoa/WKFoundation.h: Define WK_DEPRECATED when API availability is not enabled
1074         to mean that the declaration is currently deprecated.
1075
1076         * Shared/API/c/WKConnectionRef.h: Updated for the renaming of the existing WK_DEPRECATED to
1077         WK_C_DEPRECATED.
1078         * UIProcess/API/C/WKContext.h: Ditto.
1079         * UIProcess/API/C/WKContextConnectionClient.h: Ditto.
1080         * UIProcess/API/C/WKContextDownloadClient.h: Ditto.
1081         * UIProcess/API/C/WKContextHistoryClient.h: Ditto.
1082         * UIProcess/API/C/WKContextInjectedBundleClient.h: Ditto.
1083         * UIProcess/API/C/WKCookieManager.h: Ditto.
1084         * UIProcess/API/C/WKDatabaseManager.h: Ditto.
1085         * UIProcess/API/C/WKGeolocationManager.h: Ditto.
1086         * UIProcess/API/C/WKIconDatabase.h: Ditto.
1087         * UIProcess/API/C/WKNotificationProvider.h: Ditto.
1088         * UIProcess/API/C/WKPageContextMenuClient.h: Ditto.
1089         * UIProcess/API/C/WKPageFindClient.h: Ditto.
1090         * UIProcess/API/C/WKPageFindMatchesClient.h: Ditto.
1091         * UIProcess/API/C/WKPageFormClient.h: Ditto.
1092         * UIProcess/API/C/WKPageUIClient.h: Ditto.
1093         * WebProcess/InjectedBundle/API/c/WKBundle.h: Ditto.
1094         * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: Ditto.
1095         * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Ditto.
1096         * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Ditto.
1097         * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Ditto.
1098         * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Ditto.
1099         * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Ditto.
1100         * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Ditto.
1101         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: Ditto.
1102         * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Ditto.
1103         * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Ditto.
1104         * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Ditto.
1105
1106         * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added missing availability annotation.
1107
1108         * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Changed to use WK_MAC_TBA and WK_IOS_TBA for
1109         _WKDebugOverlayRegions enum. Added availability annotations to new properties.
1110
1111         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Added availability annotation to new method.
1112
1113         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Annotated new method, changed Mac
1114         availability of iOS-only method to NA.
1115
1116         * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added availability annotation to new enum value,
1117         new property, and new method. Added deprecation annotation to one method.
1118
1119         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h: Annotated new method.
1120
1121         * mac/rewrite-availability-macros.sh: Rewrite WK_DEPRECATED to NS_DEPRECATED.
1122
1123 2014-12-26  Dan Bernstein  <mitz@apple.com>
1124
1125         <rdar://problem/19348208> REGRESSION (r177027): iOS builds use the wrong toolchain
1126         https://bugs.webkit.org/show_bug.cgi?id=139950
1127
1128         Reviewed by David Kilzer.
1129
1130         * Configurations/Base.xcconfig: Only define TOOLCHAINS when building for OS X, doing so
1131         in a manner that works with Xcode 5.1.1.
1132
1133 2014-12-25  Hunseop Jeong  <hs85.jeong@samsung.com>
1134
1135         Fix build warning after r177700
1136         https://bugs.webkit.org/show_bug.cgi?id=139948
1137
1138         Reviewed by Alexey Proskuryakov.
1139
1140         * UIProcess/WebConnectionToWebProcess.cpp:
1141         (WebKit::WebConnectionToWebProcess::transformHandlesToObjects):
1142         (WebKit::WebConnectionToWebProcess::transformObjectsToHandles):
1143
1144 2014-12-25  Chris Dumez  <cdumez@apple.com>
1145
1146         [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
1147         https://bugs.webkit.org/show_bug.cgi?id=139921
1148
1149         Reviewed by Gavin Barraclough and Alexey Proskuryakov.
1150
1151         Call PageCache::pruneToCapacityNow() instead of multiple calls to
1152         setCapacity() as it does exactly what we want. Also pass the new
1153         PrunedReason argument so help us do better logging.
1154
1155         * WebProcess/WebProcess.cpp:
1156         (WebKit::WebProcess::releasePageCache):
1157
1158 2014-12-25  Commit Queue  <commit-queue@webkit.org>
1159
1160         Unreviewed, rolling out r177712 and r177717.
1161         https://bugs.webkit.org/show_bug.cgi?id=139944
1162
1163         Caused flaky assertion failures (Requested by ap on #webkit).
1164
1165         Reverted changesets:
1166
1167         "[iOS] Log better using FeatureCounter why PageCache is
1168         failing due to pruned resources"
1169         https://bugs.webkit.org/show_bug.cgi?id=139921
1170         http://trac.webkit.org/changeset/177712
1171
1172         "Unreviewed, fix build warning after r177712"
1173         http://trac.webkit.org/changeset/177717
1174
1175 2014-12-24  Dan Bernstein  <mitz@apple.com>
1176
1177         [Cocoa] WebKit private headers shouldn’t contain “inappropriate” macros
1178         https://bugs.webkit.org/show_bug.cgi?id=139942
1179
1180         Reviewed by Darin Adler.
1181
1182         * WebKit2.xcodeproj/project.pbxproj: In the Check For Inappropriate Macros in External
1183         Headers script build phase, check the PrivateHeaders directory as well.
1184
1185 2014-12-24  Dan Bernstein  <mitz@apple.com>
1186
1187         Addressed a linker warning about the definition of a method in a category overridng a method from the class.
1188
1189         * UIProcess/API/mac/WKView.mm:
1190         (-[WKView(Private) _targetWindowForMovePreparation]): Deleted. This was identical to the
1191         definition in the main WKView implementation above.
1192
1193 2014-12-23  ChangSeok Oh  <changseok.oh@collabora.com>
1194
1195         [GTK] Build fix after r177692
1196         https://bugs.webkit.org/show_bug.cgi?id=139919
1197
1198         Reviewed by Gyuyoung Kim.
1199
1200         This change addresses build failures introduced after r177692.
1201
1202         * PlatformEfl.cmake: Renamed WebContextSoup to WebProcessPoolSoup.cpp
1203         * PlatformGTK.cmake: ditto.
1204         * UIProcess/API/gtk/PageClientImpl.cpp:
1205         * UIProcess/API/gtk/WebKitDownloadClient.cpp:
1206         * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
1207         (webkitFormSubmissionRequestCreate):
1208         (webkit_form_submission_request_get_text_fields):
1209         * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h:
1210         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1211         (didReceiveWebViewMessageFromInjectedBundle):
1212         (didReceiveMessageFromInjectedBundle):
1213         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
1214         (registerSecurityPolicyForURIScheme):
1215         * UIProcess/API/gtk/WebKitWebContext.cpp:
1216         (webkitWebContextConstructed):
1217         (webkit_web_context_prefetch_dns):
1218         (webkitWebContextGetContext):
1219         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
1220         * UIProcess/API/gtk/WebKitWebView.cpp:
1221         (webkit_web_view_get_snapshot):
1222         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1223         (webkitWebViewBaseCreate):
1224         (webkitWebViewBaseCreateWebPage):
1225         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1226         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
1227         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
1228         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1229         * UIProcess/gtk/WebProcessPoolGtk.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp.
1230         (WebKit::initInspectorServer):
1231         (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory):
1232         (WebKit::WebProcessPool::platformInitializeWebProcess):
1233         (WebKit::WebProcessPool::platformInvalidateContext):
1234         (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory):
1235         (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory):
1236         (WebKit::WebProcessPool::platformDefaultIconDatabasePath):
1237         (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory):
1238         (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory):
1239         (WebKit::WebProcessPool::platformDefaultDiskCacheDirectory):
1240         (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory):
1241         (WebKit::WebProcessPool::setIgnoreTLSErrors):
1242         * UIProcess/soup/WebProcessPoolSoup.cpp: Renamed from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
1243         (WebKit::WebProcessPool::platformInitializeNetworkProcess):
1244         * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
1245         (webkitWebExtensionDidReceiveMessage):
1246         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1247         (didInitiateLoadForResource):
1248         (willSendRequestForFrame):
1249         (didReceiveResponseForResource):
1250         (didReceiveContentLengthForResource):
1251         (didFinishLoadForResource):
1252         (didFailLoadForResource):
1253         (webkitWebPageDidReceiveMessage):
1254         * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
1255
1256 2014-12-23  Dan Bernstein  <mitz@apple.com>
1257
1258         iOS build fix
1259
1260         * UIProcess/API/Cocoa/WKProcessGroup.mm:
1261         (-[WKProcessGroup _geolocationProvider]):
1262
1263 2014-12-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1264
1265         [EFL][WK2] Fix a lot of build break since r177692 
1266         https://bugs.webkit.org/show_bug.cgi?id=139932
1267
1268         Unreviewed EFL build fix.
1269
1270         Rename WebContext with WebProcessPool in EFL port files.
1271
1272         * CMakeLists.txt:
1273         * UIProcess/API/efl/EwkView.cpp:
1274         * UIProcess/API/efl/ewk_context.cpp:
1275         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1276         (TEST_F):
1277         * UIProcess/CoordinatedGraphics/WebView.cpp:
1278         (WebKit::WebView::WebView):
1279         * UIProcess/CoordinatedGraphics/WebView.h:
1280         * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
1281         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
1282         (WebKit::CustomProtocolManagerProxy::startLoading):
1283         (WebKit::CustomProtocolManagerProxy::stopLoading):
1284         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
1285         (WebKit::WebSoupCustomProtocolRequestManager::create):
1286         (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
1287         (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
1288         (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
1289         (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
1290         (WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
1291         (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
1292         (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
1293         * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
1294         * UIProcess/WebBatteryManagerProxy.cpp:
1295         (WebKit::WebBatteryManagerProxy::create):
1296         (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
1297         (WebKit::WebBatteryManagerProxy::providerDidChangeBatteryStatus):
1298         (WebKit::WebBatteryManagerProxy::providerUpdateBatteryStatus):
1299         * UIProcess/WebBatteryManagerProxy.h:
1300         * UIProcess/WebTextChecker.cpp:
1301         (WebKit::updateStateForAllContexts):
1302         * UIProcess/WebVibrationProxy.cpp:
1303         (WebKit::WebVibrationProxy::WebVibrationProxy):
1304         (WebKit::WebVibrationProxy::~WebVibrationProxy):
1305         * UIProcess/efl/RequestManagerClientEfl.h:
1306         * UIProcess/efl/WebContextEfl.cpp:
1307         (WebKit::WebProcessPool::platformDefaultApplicationCacheDirectory):
1308         (WebKit::WebProcessPool::platformInitializeWebProcess):
1309         (WebKit::WebProcessPool::platformInvalidateContext):
1310         (WebKit::WebProcessPool::platformDefaultWebSQLDatabaseDirectory):
1311         (WebKit::WebProcessPool::platformDefaultIndexedDBDatabaseDirectory):
1312         (WebKit::WebProcessPool::platformDefaultIconDatabasePath):
1313         (WebKit::WebProcessPool::platformDefaultLocalStorageDirectory):
1314         (WebKit::WebProcessPool::platformDefaultMediaKeysStorageDirectory):
1315         (WebKit::WebProcessPool::platformDefaultDiskCacheDirectory):
1316         (WebKit::WebProcessPool::platformDefaultCookieStorageDirectory):
1317         (WebKit::WebProcessPool::setIgnoreTLSErrors):
1318         (WebKit::WebContext::platformDefaultApplicationCacheDirectory): Deleted.
1319         (WebKit::WebContext::platformInitializeWebProcess): Deleted.
1320         (WebKit::WebContext::platformInvalidateContext): Deleted.
1321         (WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory): Deleted.
1322         (WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory): Deleted.
1323         (WebKit::WebContext::platformDefaultIconDatabasePath): Deleted.
1324         (WebKit::WebContext::platformDefaultLocalStorageDirectory): Deleted.
1325         (WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Deleted.
1326         (WebKit::WebContext::platformDefaultDiskCacheDirectory): Deleted.
1327         (WebKit::WebContext::platformDefaultCookieStorageDirectory): Deleted.
1328         (WebKit::WebContext::setIgnoreTLSErrors): Deleted.
1329         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1330         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1331         * UIProcess/efl/WebViewEfl.cpp:
1332         (WebKit::WebView::create):
1333         (WebKit::WebViewEfl::WebViewEfl):
1334         * UIProcess/efl/WebViewEfl.h:
1335         * UIProcess/soup/WebContextSoup.cpp:
1336         (WebKit::WebProcessPool::platformInitializeNetworkProcess):
1337         (WebKit::WebContext::platformInitializeNetworkProcess): Deleted.
1338         * UIProcess/soup/WebCookieManagerProxySoup.cpp:
1339         (WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
1340         * UIProcess/soup/WebSoupRequestManagerProxy.h:
1341
1342 2014-12-23  Sam Weinig  <sam@webkit.org>
1343
1344         Remove telephone number context support from ContextMenuContextData, it is unused
1345         https://bugs.webkit.org/show_bug.cgi?id=139931
1346
1347         Reviewed by Alexey Proskuryakov.
1348
1349         m_isTelephoneNumberContext was only ever set to true in the ContextMenuContextData
1350         constructor that took a TelephoneNumberContextTag, which never got called. Remove it
1351         all.
1352
1353         * Shared/ContextMenuContextData.cpp:
1354         (WebKit::ContextMenuContextData::ContextMenuContextData):
1355         (WebKit::ContextMenuContextData::encode):
1356         (WebKit::ContextMenuContextData::decode):
1357         * Shared/ContextMenuContextData.h:
1358         (WebKit::ContextMenuContextData::ContextMenuContextData):
1359         (WebKit::ContextMenuContextData::isTelephoneNumberContext): Deleted.
1360         * UIProcess/mac/WebContextMenuProxyMac.mm:
1361         (WebKit::WebContextMenuProxyMac::showContextMenu):
1362
1363 2014-12-23  Sam Weinig  <sam@webkit.org>
1364
1365         Attempt to fix the Mountain Lion build.
1366
1367         * Shared/ContextMenuContextData.h:
1368         (WebKit::ContextMenuContextData::isTelephoneNumberContext):
1369
1370 2014-12-23  Anders Carlsson  <andersca@apple.com>
1371
1372         Handle WKTypeRefWrapper when converting object graphs
1373         https://bugs.webkit.org/show_bug.cgi?id=139927
1374
1375         Reviewed by Tim Horton.
1376
1377         * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
1378         (WebKit::WebProcessProxy::transformHandlesToObjects):
1379         (WebKit::WebProcessProxy::transformObjectsToHandles):
1380         * WebProcess/cocoa/WebProcessCocoa.mm:
1381         (WebKit::WebProcess::transformHandlesToObjects):
1382         (WebKit::WebProcess::transformObjectsToHandles):
1383
1384 2014-12-23  Chris Dumez  <cdumez@apple.com>
1385
1386         [iOS] Log better using FeatureCounter why PageCache is failing due to pruned resources
1387         https://bugs.webkit.org/show_bug.cgi?id=139921
1388         <rdar://problem/19255690>
1389
1390         Reviewed by Gavin Barraclough.
1391
1392         Call PageCache::pruneToCapacityNow() instead of multiple calls to
1393         setCapacity() as it does exactly what we want. Also pass the new
1394         PrunedReason argument so help us do better logging.
1395
1396         * WebProcess/WebProcess.cpp:
1397         (WebKit::WebProcess::releasePageCache):
1398
1399 2014-12-23  Sam Weinig  <sam@webkit.org>
1400
1401         Attempt to fix the iOS build.
1402
1403         * UIProcess/API/Cocoa/WKProcessGroup.mm:
1404         (-[WKProcessGroup _geolocationProvider]):
1405         * UIProcess/API/ios/WKViewIOS.mm:
1406         (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
1407
1408 2014-12-23  Anders Carlsson  <andersca@apple.com>
1409
1410         Handle coding object graphs in the UI process
1411         https://bugs.webkit.org/show_bug.cgi?id=139925
1412
1413         Reviewed by Sam Weinig.
1414
1415         * UIProcess/Cocoa/WebProcessProxyCocoa.mm: Added.
1416         (WebKit::WebProcessProxy::transformHandlesToObjects):
1417         (WebKit::WebProcessProxy::transformObjectsToHandles):
1418         * UIProcess/WebProcessProxy.cpp:
1419         (WebKit::WebProcessProxy::transformHandlesToObjects):
1420         (WebKit::WebProcessProxy::transformObjectsToHandles):
1421         * UIProcess/WebProcessProxy.h:
1422         * WebKit2.xcodeproj/project.pbxproj:
1423         * WebProcess/WebProcess.cpp:
1424         (WebKit::WebProcess::transformObjectsToHandles):
1425         * WebProcess/WebProcess.h:
1426
1427 2014-12-23  Sam Weinig  <sam@webkit.org>
1428
1429         ContextMenuContextData should store a ShareableBitmap not a ShareableBitmap::Handle
1430         https://bugs.webkit.org/show_bug.cgi?id=139924
1431
1432         Reviewed by Anders Carlsson.
1433
1434         Replaces the ShareableBitmap::Handle in ContextMenuContextData with a RefPtr<ShareableBitmap>.
1435         Removes the now unnecessary override copy-constructor and assignment-operator.
1436
1437         * Shared/ContextMenuContextData.cpp:
1438         (WebKit::ContextMenuContextData::ContextMenuContextData):
1439         (WebKit::ContextMenuContextData::encode):
1440         (WebKit::ContextMenuContextData::decode):
1441         (WebKit::ContextMenuContextData::controlledDataIsEditable):
1442         (WebKit::ContextMenuContextData::operator=): Deleted.
1443         * Shared/ContextMenuContextData.h:
1444         (WebKit::ContextMenuContextData::ContextMenuContextData):
1445         (WebKit::ContextMenuContextData::controlledImage):
1446         (WebKit::ContextMenuContextData::needsServicesMenu):
1447         (WebKit::ContextMenuContextData::controlledImageHandle): Deleted.
1448         * UIProcess/WebPageProxy.cpp:
1449         (WebKit::WebPageProxy::internalShowContextMenu):
1450         * UIProcess/mac/WebContextMenuProxyMac.mm:
1451         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
1452
1453 2014-12-23  Chris Dumez  <cdumez@apple.com>
1454
1455         Unreviewed iOS build fix after 177692.
1456
1457         Missing WebKit:: namespace.
1458
1459         * UIProcess/ios/WKContentView.h:
1460
1461 2014-12-23  Anders Carlsson  <andersca@apple.com>
1462
1463         Fix 32-build.
1464
1465         * WebProcess/cocoa/WebProcessCocoa.mm:
1466         (WebKit::WebProcess::transformHandlesToObjects):
1467         (WebKit::WebProcess::transformObjectsToHandles):
1468
1469 2014-12-23  Timothy Horton  <timothy_horton@apple.com>
1470
1471         Install a TextIndicator for link immediate actions
1472         https://bugs.webkit.org/show_bug.cgi?id=139897
1473         <rdar://problem/19333076>
1474
1475         Reviewed by Anders Carlsson.
1476
1477         * UIProcess/mac/WKImmediateActionController.mm:
1478         (-[WKImmediateActionController _defaultAnimationController]):
1479         Install the link's TextIndicator.
1480
1481         (-[WKImmediateActionController menuItemDidClose:]):
1482         Dismiss the TextIndicator and clean up when the item closes.
1483
1484 2014-12-23  Timothy Horton  <timothy_horton@apple.com>
1485
1486         Expose ElementBoundingBox on WKHitTestResult
1487         https://bugs.webkit.org/show_bug.cgi?id=139895
1488         <rdar://problem/19333075>
1489
1490         Reviewed by Dan Bernstein.
1491
1492         * UIProcess/API/C/WKHitTestResult.cpp:
1493         (WKHitTestResultGetElementBoundingBox):
1494         * UIProcess/API/C/WKHitTestResult.h:
1495         Expose the rect.
1496
1497 2014-12-23  Timothy Horton  <timothy_horton@apple.com>
1498
1499         Remove the custom web page preview code
1500         https://bugs.webkit.org/show_bug.cgi?id=139894
1501         <rdar://problem/19333074>
1502
1503         Reviewed by Dan Bernstein.
1504
1505         * UIProcess/API/Cocoa/WKViewPrivate.h:
1506         * UIProcess/API/mac/WKView.mm:
1507         (-[WKView _dismissContentRelativeChildWindows]):
1508         (-[WKView _viewForPreviewingURL:initialFrameSize:]): Deleted.
1509         (-[WKView _titleForPreviewOfURL:]): Deleted.
1510         (-[WKView _setPreviewTitle:]): Deleted.
1511         (-[WKView _setPreviewLoading:]): Deleted.
1512         (-[WKView _setPreviewOverrideImage:]): Deleted.
1513         (-[WKView _finishPreviewingURL:withPreviewView:]): Deleted.
1514         (-[WKView _handleClickInPreviewView:URL:]): Deleted.
1515         (-[WKView _shouldUseStandardQuickLookPreview]): Deleted.
1516         * UIProcess/mac/WKImmediateActionController.h:
1517         * UIProcess/mac/WKImmediateActionController.mm:
1518         (-[WKImmediateActionController willDestroyView:]):
1519         (-[WKImmediateActionController _clearImmediateActionState]):
1520         (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
1521         (-[WKImmediateActionController _defaultAnimationController]):
1522         (-[WKImmediateActionController hidePreview]): Deleted.
1523         (-[WKImmediateActionController setPreviewTitle:]): Deleted.
1524         (-[WKImmediateActionController setPreviewLoading:]): Deleted.
1525         (-[WKImmediateActionController setPreviewOverrideImage:]): Deleted.
1526         (-[WKImmediateActionController _animationControllerForCustomPreview]): Deleted.
1527         * UIProcess/mac/WKPagePreviewViewController.h: Removed.
1528         * UIProcess/mac/WKPagePreviewViewController.mm: Removed.
1529         * UIProcess/mac/WKPreviewPopoverAnimationController.h: Removed.
1530         * UIProcess/mac/WKPreviewPopoverAnimationController.mm: Removed.
1531         * WebKit2.xcodeproj/project.pbxproj:
1532         Remove all of the custom web page preview code. Clients that want the custom
1533         preview can implement it by overriding the immediate action.
1534
1535 2014-12-23  Anders Carlsson  <andersca@apple.com>
1536
1537         Add WebProcessProxy::transformHandlesToObjects
1538         https://bugs.webkit.org/show_bug.cgi?id=139922
1539
1540         Reviewed by Tim Horton.
1541
1542         This will be used to convert between the handles and their respective UI side objects.
1543
1544         * UIProcess/WebProcessProxy.cpp:
1545         (WebKit::WebProcessProxy::transformHandlesToObjects):
1546         (WebKit::WebProcessProxy::transformObjectsToHandles):
1547         (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): Deleted.
1548         * UIProcess/WebProcessProxy.h:
1549
1550 2014-12-23  Anders Carlsson  <andersca@apple.com>
1551
1552         Add handle transform functions to WebConnection
1553         https://bugs.webkit.org/show_bug.cgi?id=139920
1554
1555         Reviewed by Sam Weinig.
1556
1557         This will be used by the web connection code to convert between objects and their respective handles.
1558
1559         * Shared/WebConnection.h:
1560         * UIProcess/WebConnectionToWebProcess.cpp:
1561         (WebKit::WebConnectionToWebProcess::transformHandlesToObjects):
1562         (WebKit::WebConnectionToWebProcess::transformObjectsToHandles):
1563         * UIProcess/WebConnectionToWebProcess.h:
1564         * WebProcess/WebConnectionToUIProcess.cpp:
1565         (WebKit::WebConnectionToUIProcess::transformHandlesToObjects):
1566         (WebKit::WebConnectionToUIProcess::transformObjectsToHandles):
1567         * WebProcess/WebConnectionToUIProcess.h:
1568
1569 2014-12-23  Sam Weinig  <sam@webkit.org>
1570
1571         Rename ImmutableDictionary to API::Dictionary and merge MutableDictionary into it
1572         https://bugs.webkit.org/show_bug.cgi?id=139917
1573
1574         Reviewed by Anders Carlsson.
1575
1576         - Renames ImmutableDictionary -> API::Dictionary
1577         - Merges MutableDictionary into the new API::Dictionary
1578             (as a result WKDictionaryIsMutable() now always returns true)
1579
1580         * File list elided *
1581
1582 2014-12-23  Anders Carlsson  <andersca@apple.com>
1583
1584         Add WebProcess::transformObjectsToHandles
1585         https://bugs.webkit.org/show_bug.cgi?id=139918
1586
1587         Reviewed by Tim Horton.
1588
1589         This function will be used for transforming bundle objects to their respective handle types
1590         when sending messages to the UI process.
1591
1592         * WebProcess/WebProcess.cpp:
1593         (WebKit::WebProcess::transformHandlesToObjects):
1594         (WebKit::WebProcess::transformObjectsToHandles):
1595         * WebProcess/WebProcess.h:
1596         * WebProcess/cocoa/WebProcessCocoa.mm:
1597         (WebKit::WebProcess::transformHandlesToObjects):
1598         (WebKit::WebProcess::transformObjectsToHandles):
1599
1600 2014-12-23  Anders Carlsson  <andersca@apple.com>
1601
1602         Move dynamic_objc_cast to RetainPtr.h
1603         https://bugs.webkit.org/show_bug.cgi?id=139915
1604
1605         Reviewed by Sam Weinig.
1606
1607         * Shared/mac/ObjCObjectGraph.mm:
1608         (WebKit::dynamic_objc_cast): Deleted.
1609
1610 2014-12-23  Anders Carlsson  <andersca@apple.com>
1611
1612         Add WebProcess::transformHandlesToObjects
1613         https://bugs.webkit.org/show_bug.cgi?id=139913
1614
1615         Reviewed by Tim Horton.
1616
1617         Rename objectGraphByTransformingObjectsToHandles to transformObjectsToHandles and add
1618         transformHandlesToObjects that will try to convert handles to the actual bundle type objects.
1619
1620         * WebProcess/WebProcess.h:
1621         * WebProcess/cocoa/WebProcessCocoa.mm:
1622         (WebKit::WebProcess::transformHandlesToObjects):
1623         (WebKit::WebProcess::transformObjectsToHandles):
1624         (WebKit::WebProcess::objectGraphByTransformingObjectsToHandles): Deleted.
1625
1626 2014-12-23  Anders Carlsson  <andersca@apple.com>
1627
1628         Add WebProcess::objectGraphByTransformingObjectsToHandles
1629         https://bugs.webkit.org/show_bug.cgi?id=139912
1630
1631         Reviewed by Tim Horton.
1632
1633         This will be used to convert Objective-C object graphs containing bundle types to their handle counterparts.
1634
1635         * WebProcess/WebProcess.cpp:
1636         (WebKit::WebProcess::transformHandlesToObjects):
1637         (WebKit::WebProcess::apiObjectByConvertingFromHandles): Deleted.
1638         Rename apiObjectByConvertingFromHandles to transformHandlesToObjects.
1639
1640         * WebProcess/WebProcess.h:
1641         * WebProcess/cocoa/WebProcessCocoa.mm:
1642         (WebKit::WebProcess::objectGraphByTransformingObjectsToHandles):
1643
1644 2014-12-23  Anders Carlsson  <andersca@apple.com>
1645
1646         Fix UserMessage::transform to only call shouldTransform once
1647         https://bugs.webkit.org/show_bug.cgi?id=139911
1648
1649         Reviewed by Sam Weinig.
1650
1651         Also, make it possible for transformers to return null objects and change the transformers
1652         to return the passed in object when there's no need to do a transform.
1653
1654         * Shared/UserData.cpp:
1655         (WebKit::transformGraph):
1656         (WebKit::UserData::transform):
1657         (WebKit::UserData::encode): Deleted.
1658         (WebKit::UserData::decode): Deleted.
1659         * UIProcess/WebProcessProxy.cpp:
1660         (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
1661         * WebProcess/WebProcess.cpp:
1662         (WebKit::WebProcess::apiObjectByConvertingFromHandles):
1663
1664 2014-12-23  Sam Weinig  <sam@webkit.org>
1665
1666         Rename WebContext to WebProcessPool
1667         https://bugs.webkit.org/show_bug.cgi?id=139909
1668
1669         Rubber-stamped by Anders Carlsson.
1670
1671         - Major renames:
1672             WebContext -> WebProcessPool
1673             WebContextConfiguration -> WebProcessPoolConfiguration
1674             API::ContextConfiguration -> API::ProcessPoolConfiguration
1675
1676         * File list elided *
1677
1678 2014-12-23  Anders Carlsson  <andersca@apple.com>
1679
1680         Only call shouldTransformGraph once per graph
1681         https://bugs.webkit.org/show_bug.cgi?id=139910
1682
1683         Reviewed by Sam Weinig.
1684
1685         Don't call shouldTransformGraph for each node in the object graph. Instead, call it once
1686         and then transform the entire graph if needed.
1687
1688         * Shared/mac/ObjCObjectGraph.h:
1689         * Shared/mac/ObjCObjectGraph.mm:
1690         (WebKit::shouldTransformGraph):
1691         (WebKit::transformGraph):
1692         (WebKit::ObjCObjectGraph::transform):
1693         (WebKit::shouldTransform): Deleted.
1694
1695 2014-12-22  Anders Carlsson  <andersca@apple.com>
1696
1697         Use a Transformer for UserData as well, to avoid always copying arrays and dictionaries
1698         https://bugs.webkit.org/show_bug.cgi?id=139896
1699
1700         Reviewed by Darin Adler.
1701
1702         * Shared/UserData.cpp:
1703         (WebKit::shouldTransform):
1704         (WebKit::UserData::transform):
1705         * Shared/UserData.h:
1706         (WebKit::UserData::Transformer::~Transformer):
1707         * UIProcess/WebProcessProxy.cpp:
1708         (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
1709         * WebProcess/WebProcess.cpp:
1710         (WebKit::WebProcess::apiObjectByConvertingFromHandles):
1711
1712 2014-12-22  Anders Carlsson  <andersca@apple.com>
1713
1714         Make it possible to transform Objective-C object graphs, replacing certain elements with others
1715         https://bugs.webkit.org/show_bug.cgi?id=139893
1716
1717         Reviewed by Sam Weinig.
1718
1719         * Shared/mac/ObjCObjectGraph.h:
1720         (WebKit::ObjCObjectGraph::Transformer::~Transformer):
1721         * Shared/mac/ObjCObjectGraph.mm:
1722         (WebKit::dynamic_objc_cast):
1723         (WebKit::shouldTransform):
1724         (WebKit::ObjCObjectGraph::transform):
1725
1726 2014-12-22  Jaehun Lim  <ljaehun.lim@samsung.com>
1727
1728         Unreviewed build fix after r177661 and r177662
1729
1730         * CMakeLists.txt: Add APIPageGroupHandle.cpp to the source list.
1731
1732 2014-12-22  Anders Carlsson  <andersca@apple.com>
1733
1734         Convert pages and page groups to their respective handle objects
1735         https://bugs.webkit.org/show_bug.cgi?id=139891
1736
1737         Reviewed by Tim Horton.
1738
1739         * UIProcess/WebProcessProxy.cpp:
1740         (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
1741         * WebProcess/WebProcess.cpp:
1742         (WebKit::WebProcess::apiObjectByConvertingFromHandles):
1743
1744 2014-12-22  Anders Carlsson  <andersca@apple.com>
1745
1746         Add a bunch of missing header includes in preparation for making toImpl require the complete type
1747         https://bugs.webkit.org/show_bug.cgi?id=139887
1748
1749         Reviewed by Andreas Kling.
1750
1751         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1752         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1753         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1754         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
1755         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
1756         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
1757         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
1758         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1759         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1760         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
1761         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1762
1763 2014-12-22  Chris Dumez  <cdumez@apple.com>
1764
1765         [iOS] Log using FeatureCounter user-triggered zooming
1766         https://bugs.webkit.org/show_bug.cgi?id=139879
1767         <rdar://problem/19329130>
1768
1769         Reviewed by Benjamin Poulain.
1770
1771         Log using FeatureCounter user-triggered zooming on iOS.
1772
1773         * WebProcess/WebPage/ios/WebPageIOS.mm:
1774         (WebKit::WebPage::willStartUserTriggeredZooming):
1775
1776 2014-12-22  Anders Carlsson  <andersca@apple.com>
1777
1778         Add an API::PageGroupHandle object
1779         https://bugs.webkit.org/show_bug.cgi?id=139881
1780
1781         Reviewed by Sam Weinig.
1782
1783         API::PageGroupHandle won't be exposed to any API, it will only be used to facilitate passing page groups
1784         between the UI and web process inside UserData objects.
1785
1786         * Shared/API/APIObject.h:
1787         * Shared/API/APIPageGroupHandle.cpp: Added.
1788         (API::PageGroupHandle::create):
1789         (API::PageGroupHandle::~PageGroupHandle):
1790         (API::PageGroupHandle::PageGroupHandle):
1791         * Shared/API/APIPageGroupHandle.h: Added.
1792         (API::PageGroupHandle::webPageGroupData):
1793         * Shared/UserData.cpp:
1794         (WebKit::UserData::UserData):
1795         (WebKit::UserData::encode):
1796         (WebKit::UserData::decode):
1797         * Shared/UserData.h:
1798         * UIProcess/WebPageGroup.h:
1799         (WebKit::WebPageGroup::data):
1800         * UIProcess/WebProcessProxy.cpp:
1801         (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
1802         * WebKit2.xcodeproj/project.pbxproj:
1803
1804 2014-12-22  Daniel Bates  <dabates@apple.com>
1805
1806         Fix the iOS build after <https://trac.webkit.org/changeset/177639>
1807         (https://bugs.webkit.org/show_bug.cgi?id=139866)
1808
1809         Substitute APISecurityOrigin.h for WebSecurityOrigin.h as the latter was renamed to the former.
1810
1811         * UIProcess/ios/WKGeolocationProviderIOS.mm:
1812
1813 2014-12-22  Csaba Osztrogonác  <ossy@webkit.org>
1814
1815         URTBF after r177649.
1816
1817         * CMakeLists.txt:
1818
1819 2014-12-22  Csaba Osztrogonác  <ossy@webkit.org>
1820
1821         Last URTBF after r177639, GTK builds now.
1822
1823         * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
1824         * UIProcess/API/gtk/WebKitUIClient.cpp:
1825         * UIProcess/API/gtk/WebKitUserContentManager.cpp:
1826         * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
1827         (webkitUserMediaPermissionRequestCreate):
1828         * UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h:
1829         * UIProcess/API/gtk/WebKitWebView.cpp:
1830         (webkitWebViewRunJavaScriptCallback):
1831         (webkit_web_view_run_javascript):
1832         (resourcesStreamReadCallback):
1833
1834 2014-12-22  Anders Carlsson  <andersca@apple.com>
1835
1836         Move more API classes from Shared to Shared/API.
1837
1838         Rubber-stamped by Sam Weinig.
1839
1840         * Shared/API/APIArray.cpp: Renamed from Source/WebKit2/Shared/APIArray.cpp.
1841         * Shared/API/APIArray.h: Renamed from Source/WebKit2/Shared/APIArray.h.
1842         * Shared/API/APIClient.h: Renamed from Source/WebKit2/Shared/APIClient.h.
1843         * Shared/API/APIData.cpp: Renamed from Source/WebKit2/Shared/APIData.cpp.
1844         * Shared/API/APIData.h: Renamed from Source/WebKit2/Shared/APIData.h.
1845         * Shared/API/APIError.cpp: Renamed from Source/WebKit2/Shared/APIError.cpp.
1846         * Shared/API/APIError.h: Renamed from Source/WebKit2/Shared/APIError.h.
1847         * Shared/API/APIFrameHandle.cpp: Renamed from Source/WebKit2/Shared/APIFrameHandle.cpp.
1848         * Shared/API/APIFrameHandle.h: Renamed from Source/WebKit2/Shared/APIFrameHandle.h.
1849         * Shared/API/APIGeometry.cpp: Renamed from Source/WebKit2/Shared/APIGeometry.cpp.
1850         * Shared/API/APIGeometry.h: Renamed from Source/WebKit2/Shared/APIGeometry.h.
1851         * Shared/API/APINumber.h: Renamed from Source/WebKit2/Shared/APINumber.h.
1852         * Shared/API/APIObject.cpp: Renamed from Source/WebKit2/Shared/APIObject.cpp.
1853         * Shared/API/APIObject.h: Renamed from Source/WebKit2/Shared/APIObject.h.
1854         * Shared/API/APIPageHandle.cpp: Renamed from Source/WebKit2/Shared/APIPageHandle.cpp.
1855         * Shared/API/APIPageHandle.h: Renamed from Source/WebKit2/Shared/APIPageHandle.h.
1856         * Shared/API/APIString.h: Renamed from Source/WebKit2/Shared/APIString.h.
1857         * Shared/API/APIURL.h: Renamed from Source/WebKit2/Shared/APIURL.h.
1858         * Shared/API/APIURLRequest.cpp: Renamed from Source/WebKit2/Shared/APIURLRequest.cpp.
1859         * Shared/API/APIURLRequest.h: Renamed from Source/WebKit2/Shared/APIURLRequest.h.
1860         * Shared/API/APIURLResponse.cpp: Renamed from Source/WebKit2/Shared/APIURLResponse.cpp.
1861         * Shared/API/APIURLResponse.h: Renamed from Source/WebKit2/Shared/APIURLResponse.h.
1862
1863 2014-12-22  Csaba Osztrogonác  <ossy@webkit.org>
1864
1865         One more URTBF after r177639 to try to make GTK happy.
1866
1867         * UIProcess/API/gtk/WebKitUserContentManager.cpp:
1868
1869 2014-12-22  Csaba Osztrogonác  <ossy@webkit.org>
1870
1871         URTBF after r177639 to try to make GTK happy.
1872
1873         * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
1874
1875 2014-12-22  Anders Carlsson  <andersca@apple.com>
1876
1877         Rename a bunch of API classes and move them to Shared/API
1878         https://bugs.webkit.org/show_bug.cgi?id=139866
1879
1880         Reviewed by Sam Weinig.
1881
1882         * Shared/API/APISecurityOrigin.h: Renamed from Source/WebKit2/Shared/WebSecurityOrigin.h.
1883         (API::SecurityOrigin::createFromString):
1884         (API::SecurityOrigin::create):
1885         (API::SecurityOrigin::securityOrigin):
1886         (API::SecurityOrigin::SecurityOrigin):
1887         * Shared/API/APISerializedScriptValue.h: Renamed from Source/WebKit2/Shared/WebSerializedScriptValue.h.
1888         (API::SerializedScriptValue::create):
1889         (API::SerializedScriptValue::adopt):
1890         (API::SerializedScriptValue::deserialize):
1891         (API::SerializedScriptValue::dataReference):
1892         (API::SerializedScriptValue::internalRepresentation):
1893         (API::SerializedScriptValue::SerializedScriptValue):
1894         * Shared/API/APIUserContentURLPattern.h: Renamed from Source/WebKit2/Shared/WebUserContentURLPattern.h.
1895         (API::UserContentURLPattern::create):
1896         (API::UserContentURLPattern::host):
1897         (API::UserContentURLPattern::scheme):
1898         (API::UserContentURLPattern::isValid):
1899         (API::UserContentURLPattern::matchesURL):
1900         (API::UserContentURLPattern::matchesSubdomains):
1901         (API::UserContentURLPattern::patternString):
1902         (API::UserContentURLPattern::UserContentURLPattern):
1903         * Shared/API/c/WKSecurityOrigin.cpp:
1904         (WKSecurityOriginGetTypeID):
1905         (WKSecurityOriginCreateFromString):
1906         (WKSecurityOriginCreateFromDatabaseIdentifier):
1907         (WKSecurityOriginCreate):
1908         * Shared/API/c/WKSerializedScriptValue.cpp:
1909         (WKSerializedScriptValueGetTypeID):
1910         (WKSerializedScriptValueCreate):
1911         (WKSerializedScriptValueCreateWithInternalRepresentation):
1912         * Shared/API/c/WKSharedAPICast.h:
1913         (WebKit::toCopiedAPI):
1914         * Shared/API/c/WKUserContentURLPattern.cpp:
1915         (WKUserContentURLPatternGetTypeID):
1916         (WKUserContentURLPatternCreate):
1917         * Shared/SecurityOriginData.cpp:
1918         (WebKit::performAPICallbackWithSecurityOriginDataVector):
1919         * Shared/UserData.cpp:
1920         (WebKit::UserData::encode):
1921         (WebKit::UserData::decode):
1922         * Shared/UserMessageCoders.h:
1923         (WebKit::UserMessageEncoder::baseEncode):
1924         (WebKit::UserMessageDecoder::baseDecode):
1925         * UIProcess/API/APIUIClient.h:
1926         (API::UIClient::exceededDatabaseQuota):
1927         (API::UIClient::decidePolicyForGeolocationPermissionRequest):
1928         (API::UIClient::decidePolicyForUserMediaPermissionRequest):
1929         (API::UIClient::decidePolicyForNotificationPermissionRequest):
1930         * UIProcess/API/C/WKNotification.cpp:
1931         * UIProcess/API/C/WKPage.cpp:
1932         (WKPageSetPageUIClient):
1933         * UIProcess/API/Cocoa/WKWebView.mm:
1934         (-[WKWebView evaluateJavaScript:completionHandler:]):
1935         * UIProcess/Cocoa/UIDelegate.h:
1936         * UIProcess/Cocoa/UIDelegate.mm:
1937         (WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
1938         * UIProcess/GenericCallback.h:
1939         * UIProcess/Notifications/WebNotification.cpp:
1940         (WebKit::WebNotification::WebNotification):
1941         * UIProcess/Notifications/WebNotification.h:
1942         (WebKit::WebNotification::origin):
1943         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1944         (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
1945         (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
1946         * UIProcess/Notifications/WebNotificationManagerProxy.h:
1947         * UIProcess/Notifications/WebNotificationProvider.cpp:
1948         * UIProcess/Notifications/WebNotificationProvider.h:
1949         * UIProcess/PageClient.h:
1950         (WebKit::PageClient::decidePolicyForGeolocationPermissionRequest):
1951         * UIProcess/WebApplicationCacheManagerProxy.cpp:
1952         (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
1953         * UIProcess/WebApplicationCacheManagerProxy.h:
1954         * UIProcess/WebCookieManagerProxy.cpp:
1955         * UIProcess/WebDatabaseManagerProxy.cpp:
1956         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
1957         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
1958         (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
1959         (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
1960         (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
1961         (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
1962         (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
1963         * UIProcess/WebDatabaseManagerProxy.h:
1964         * UIProcess/WebDatabaseManagerProxyClient.cpp:
1965         (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
1966         (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
1967         * UIProcess/WebDatabaseManagerProxyClient.h:
1968         * UIProcess/WebKeyValueStorageManager.cpp:
1969         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
1970         (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
1971         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
1972         * UIProcess/WebKeyValueStorageManager.h:
1973         * UIProcess/WebMediaCacheManagerProxy.cpp:
1974         * UIProcess/WebOriginDataManagerProxy.cpp:
1975         (WebKit::WebOriginDataManagerProxy::didGetOrigins):
1976         (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
1977         * UIProcess/WebOriginDataManagerProxy.h:
1978         * UIProcess/WebPageProxy.cpp:
1979         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
1980         (WebKit::WebPageProxy::scriptValueCallback):
1981         (WebKit::WebPageProxy::exceededDatabaseQuota):
1982         (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
1983         (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
1984         (WebKit::WebPageProxy::requestNotificationPermission):
1985         * UIProcess/WebPageProxy.h:
1986         * UIProcess/WebResourceCacheManagerProxy.cpp:
1987         (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
1988         * UIProcess/WebResourceCacheManagerProxy.h:
1989         * UIProcess/ios/PageClientImplIOS.h:
1990         * UIProcess/ios/PageClientImplIOS.mm:
1991         (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
1992         * UIProcess/ios/WKContentView.h:
1993         * WebKit2.xcodeproj/project.pbxproj:
1994         * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
1995         (API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota):
1996         (API::InjectedBundle::PageUIClient::didExceedDatabaseQuota):
1997         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1998         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1999         (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
2000         (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
2001         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2002         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2003         (WebKit::WebChromeClient::exceededDatabaseQuota):
2004         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
2005
2006 2014-12-21  Sam Weinig  <sam@webkit.org>
2007
2008         Allow the WebContext's history client to coexist with WKWebView's history delegate
2009         https://bugs.webkit.org/show_bug.cgi?id=139857
2010
2011         Reviewed by Anders Carlsson.
2012
2013         - Renames API::HistoryClient to API::LegacyContextHistoryClient to make it clear what it is for.
2014         - Re-routes the history client functions from the WebProcessProxy to the WebPageProxy.
2015         - Add history client functions to API::LoaderClient and implement them for NavigationState's 
2016           LoaderClient subclass. Removes the need for WKProcessPool to have to setup a history client and
2017           forward to the NavigationState.
2018
2019         * UIProcess/API/APIHistoryClient.h: Removed.
2020         * UIProcess/API/APILegacyContextHistoryClient.h: Copied from Source/WebKit2/UIProcess/API/APIHistoryClient.h.
2021         (API::LegacyContextHistoryClient::~LegacyContextHistoryClient):
2022         (API::LegacyContextHistoryClient::didNavigateWithNavigationData):
2023         (API::LegacyContextHistoryClient::didPerformClientRedirect):
2024         (API::LegacyContextHistoryClient::didPerformServerRedirect):
2025         (API::LegacyContextHistoryClient::didUpdateHistoryTitle):
2026         (API::LegacyContextHistoryClient::populateVisitedLinks):
2027         (API::HistoryClient::~HistoryClient): Deleted.
2028         (API::HistoryClient::didNavigateWithNavigationData): Deleted.
2029         (API::HistoryClient::didPerformClientRedirect): Deleted.
2030         (API::HistoryClient::didPerformServerRedirect): Deleted.
2031         (API::HistoryClient::didUpdateHistoryTitle): Deleted.
2032         (API::HistoryClient::populateVisitedLinks): Deleted.
2033         * UIProcess/API/APILoaderClient.h:
2034         (API::LoaderClient::didNavigateWithNavigationData):
2035         (API::LoaderClient::didPerformClientRedirect):
2036         (API::LoaderClient::didPerformServerRedirect):
2037         (API::LoaderClient::didUpdateHistoryTitle):
2038         * UIProcess/API/C/WKContext.cpp:
2039         (WKContextSetHistoryClient):
2040         * UIProcess/API/Cocoa/WKProcessPool.mm:
2041         (-[WKProcessPool _initWithConfiguration:]):
2042         * UIProcess/API/mac/WKView.mm:
2043         * UIProcess/Cocoa/HistoryClient.h: Removed.
2044         * UIProcess/Cocoa/HistoryClient.mm: Removed.
2045         * UIProcess/Cocoa/NavigationState.h:
2046         * UIProcess/Cocoa/NavigationState.mm:
2047         (WebKit::NavigationState::LoaderClient::didNavigateWithNavigationData):
2048         (WebKit::NavigationState::LoaderClient::didPerformClientRedirect):
2049         (WebKit::NavigationState::LoaderClient::didPerformServerRedirect):
2050         (WebKit::NavigationState::LoaderClient::didUpdateHistoryTitle):
2051         (WebKit::NavigationState::didNavigateWithNavigationData): Deleted.
2052         (WebKit::NavigationState::didPerformClientRedirect): Deleted.
2053         (WebKit::NavigationState::didPerformServerRedirect): Deleted.
2054         (WebKit::NavigationState::didUpdateHistoryTitle): Deleted.
2055         * UIProcess/WebContext.cpp:
2056         (WebKit::WebContext::WebContext):
2057         (WebKit::WebContext::setHistoryClient):
2058         (WebKit::WebContext::populateVisitedLinks):
2059         * UIProcess/WebContext.h:
2060         (WebKit::WebContext::historyClient):
2061         * UIProcess/WebPageProxy.cpp:
2062         (WebKit::WebPageProxy::didNavigateWithNavigationData):
2063         (WebKit::WebPageProxy::didPerformClientRedirect):
2064         (WebKit::WebPageProxy::didPerformServerRedirect):
2065         (WebKit::WebPageProxy::didUpdateHistoryTitle):
2066         * UIProcess/WebPageProxy.h:
2067         * UIProcess/WebPageProxy.messages.in:
2068         * UIProcess/WebProcessProxy.cpp:
2069         (WebKit::WebProcessProxy::didNavigateWithNavigationData): Deleted.
2070         (WebKit::WebProcessProxy::didPerformClientRedirect): Deleted.
2071         (WebKit::WebProcessProxy::didPerformServerRedirect): Deleted.
2072         (WebKit::WebProcessProxy::didUpdateHistoryTitle): Deleted.
2073         * UIProcess/WebProcessProxy.h:
2074         * UIProcess/WebProcessProxy.messages.in:
2075         * WebKit2.xcodeproj/project.pbxproj:
2076         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2077         (WebKit::WebFrameLoaderClient::updateGlobalHistory):
2078         (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
2079         (WebKit::WebFrameLoaderClient::setTitle):
2080
2081 2014-12-22  Michael Catanzaro  <mcatanzaro@igalia.com>
2082
2083         [GTK] another outdated comment
2084         https://bugs.webkit.org/show_bug.cgi?id=139863
2085
2086         Reviewed by Darin Adler.
2087
2088         Remove outdated comment. We nowadays block untrusted connections by
2089         default.
2090
2091         * WebProcess/gtk/WebProcessMainGtk.cpp:
2092
2093 2014-12-21  Eric Carlson  <eric.carlson@apple.com>
2094
2095         [iOS] avoid WebVideoFullscreenManager crash
2096         https://bugs.webkit.org/show_bug.cgi?id=139852
2097         <rdar://problem/19319302>
2098
2099         Reviewed by Darin Adler.
2100
2101         * WebProcess/ios/WebVideoFullscreenManager.mm:
2102         (WebKit::WebVideoFullscreenManager::didExitFullscreen): NULL-check m_layerHostingContext and m_page.
2103         (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): NULL-check m_layerHostingContext.
2104
2105 2014-12-21  David Kilzer  <ddkilzer@apple.com>
2106
2107         Fix WebKit2 build with newer clang compiler
2108
2109         Fixes the following build error:
2110
2111             In file included from DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:32:
2112             Source/WebKit2/Platform/IPC/HandleMessage.h:16:25: error: non-const lvalue reference to type 'Vector<[3 * ...]>' cannot bind to a temporary of type 'Vector<[3 * ...]>'
2113                 (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))...);
2114                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2115             Source/WebKit2/Platform/IPC/HandleMessage.h:22:5: note: in instantiation of function template specialization 'IPC::callMemberFunctionImpl<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, 0>' requested here
2116                 callMemberFunctionImpl(object, function, std::forward<ArgsTuple>(args), ArgsIndicies());
2117                 ^
2118             Source/WebKit2/Platform/IPC/HandleMessage.h:120:5: note: in instantiation of function template specialization 'IPC::callMemberFunction<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, std::make_index_sequence<1> >' requested here
2119                 callMemberFunction(WTF::move(arguments), object, function);
2120                 ^
2121             DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:55:14: note: in instantiation of function template specialization 'IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector, WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &)>' requested here
2122                     IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector>(decoder, this, &WebVideoFullscreenManagerProxy::setSeekableRangesVector);
2123                          ^
2124
2125         * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
2126         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2127         (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
2128         Make Vector<std::pair<double, double>>& argument const because a
2129         temporary is not allowed to bind to a non-const reference.
2130
2131 2014-12-20  Eric Carlson  <eric.carlson@apple.com>
2132
2133         [iOS] add optimized fullscreen API
2134         https://bugs.webkit.org/show_bug.cgi?id=139833
2135         <rdar://problem/18844486>
2136
2137         Reviewed by Simon Fraser.
2138
2139         * Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.
2140
2141 2014-12-20  David Kilzer  <ddkilzer@apple.com>
2142
2143         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
2144         <http://webkit.org/b/139463>
2145
2146         Reviewed by Mark Rowe.
2147
2148         * Configurations/All.xcconfig:
2149         - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
2150         * Configurations/Base.xcconfig:
2151         - Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and
2152           TOOLCHAINS on OS X.
2153         * Configurations/BaseLegacyProcess.xcconfig:
2154         - Only set SKIP_INSTALL on iOS.
2155         * Configurations/BaseTarget.xcconfig:
2156         - Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
2157           SDK, and simply them.
2158         * Configurations/BaseXPCService.xcconfig:
2159         - Set INSTALL_PATH_ACTUAL_Normal based on SDK.
2160         * Configurations/DebugRelease.xcconfig:
2161         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
2162         - Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
2163         * Configurations/NetworkProcess.xcconfig:
2164         - Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on
2165           iOS.
2166         * Configurations/NetworkService.Development.xcconfig:
2167         - Set INFOPLIST_FILE based on SDK.
2168         - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
2169         * Configurations/NetworkService.xcconfig:
2170         - Set INFOPLIST_FILE based on SDK.
2171         - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
2172         * Configurations/PluginProcess.xcconfig:
2173         - Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS.
2174         * Configurations/PluginProcessShim.xcconfig:
2175         - Set OTHER_LDFLAGS based on SDK.
2176         * Configurations/PluginService.32.xcconfig:
2177         - Only set VALID_ARCHS on OS X.
2178         - Set OTHER_LDFLAGS based on platform-specific values.
2179         - Only set SKIP_INSTALL on iOS.
2180         * Configurations/PluginService.64.xcconfig:
2181         - Set ARCHS based on SDK.
2182         - Set OTHER_LDFLAGS based on platform-specific values.
2183         - Only set SKIP_INSTALL on iOS.
2184         * Configurations/PluginService.Development.xcconfig:
2185         - Only set SKIP_INSTALL on iOS.
2186         - Set OTHER_LDFLAGS based on platform-specific values.
2187         * Configurations/SecItemShim.xcconfig:
2188         - Set OTHER_LDFLAGS based on platform-specific values.
2189         * Configurations/Version.xcconfig:
2190         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
2191         * Configurations/WebContentProcess.xcconfig:
2192         - Only set EXCLUDED_SHIM_FILE_NAME on iOS.
2193         - Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator.
2194         * Configurations/WebContentService.Development.xcconfig:
2195         - Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK.
2196         - Only set CODE_SIGN_ENTITLEMENTS on iOS hardware.
2197         - Set OTHER_LDFLAGS based on platform-specific values.
2198         * Configurations/WebContentService.xcconfig: Ditto.
2199         * Configurations/WebKit.xcconfig:
2200         - Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and
2201           WK_API_AVAILABILITY_ENABLED based on SDK.
2202         - Set OTHER_LDFLAGS based on platform-specific values.
2203         - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
2204         * Configurations/WebKit2.xcconfig:
2205         - Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE,
2206           NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and
2207           NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK.
2208         - Set SKIP_INSTALL on iOS.
2209         * Configurations/WebProcessShim.xcconfig:
2210         - Set OTHER_LDFLAGS based on platform-specific values.
2211
2212 2014-12-19  Jessie Berlin  <jberlin@webkit.org>
2213
2214         Build fix.
2215
2216         * UIProcess/mac/WebInspectorProxyMac.mm:
2217
2218 2014-12-19  Jessie Berlin  <jberlin@webkit.org>
2219
2220         Simplify the build fixes from r177615 and r177617.
2221
2222         Rubber-stamped by Dan Bernstein.
2223
2224         * UIProcess/mac/WebInspectorProxyMac.mm:
2225
2226 2014-12-19  Jessie Berlin  <jberlin@webkit.org>
2227
2228         Another attempt at a speculative build fix.
2229
2230         * UIProcess/mac/WebInspectorProxyMac.mm:
2231
2232 2014-12-19  Jessie Berlin  <jberlin@webkit.org>
2233
2234         Speculative build fix after r177610.
2235
2236         * UIProcess/mac/WebInspectorProxyMac.mm:
2237
2238 2014-12-19  Chris Dumez  <cdumez@apple.com>
2239
2240         [iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
2241         https://bugs.webkit.org/show_bug.cgi?id=139835
2242         <rdar://problem/19312042>
2243
2244         Reviewed by Anders Carlsson.
2245
2246         Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
2247         so that they can be implemented in MobileSafari.
2248
2249         * UIProcess/API/APIUIClient.h:
2250         (API::UIClient::didEnterFullscreen):
2251         (API::UIClient::didExitFullscreen):
2252         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
2253         * UIProcess/Cocoa/UIDelegate.h:
2254         * UIProcess/Cocoa/UIDelegate.mm:
2255         (WebKit::UIDelegate::setDelegate):
2256         (WebKit::UIDelegate::UIClient::didEnterFullscreen):
2257         (WebKit::UIDelegate::UIClient::didExitFullscreen):
2258         * UIProcess/WebPageProxy.cpp:
2259         (WebKit::WebPageProxy::didEnterFullscreen):
2260         (WebKit::WebPageProxy::didExitFullscreen):
2261         * UIProcess/WebPageProxy.h:
2262         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2263         (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
2264         (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):
2265
2266 2014-12-19  Joseph Pecoraro  <pecoraro@apple.com>
2267
2268         Web Inspector: Inspector does not reopen correctly after Inspector Process crashes
2269         https://bugs.webkit.org/show_bug.cgi?id=139838
2270
2271         Reviewed by Timothy Hatcher.
2272
2273         When the WebContentProcess holding the Inspector Frontend crashes, we
2274         would properly tear down the inspector objects. However, the next time
2275         the inspector is opened, when creating the new page in the Inspector
2276         Page Group, a WebPageProxy is created with a Terminated WebProcessProxy.
2277
2278         That Terminated WebProcessProxy is automatically replaced with the next
2279         load request is given. The newly created process was missing the
2280         message listeners and assumed URL access settings that the
2281         WebInspectorProxy had set on the old process.
2282
2283         So, WebInspectorProxy now listens for and resets the process properties
2284         when the inspector process is recreated.
2285
2286         * UIProcess/WebInspectorProxy.h:
2287         * UIProcess/WebInspectorProxy.cpp:
2288         (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
2289         Reset process properties when the process is relaunched.
2290
2291         (WebKit::WebInspectorProxy::createInspectorPage):
2292         (WebKit::WebInspectorProxy::didClose):
2293         Save connection identifier if we need to establish connections later.
2294
2295         * UIProcess/mac/WebInspectorProxyMac.mm:
2296         (-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]):
2297         (-[WKWebInspectorWKView _didRelaunchProcess]):
2298         (WebKit::WebInspectorProxy::closeTimerFired):
2299         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2300         Send WebInspectorProxy a message when the process underlying the
2301         WKView is relaunched.
2302
2303 2014-12-19  Anders Carlsson  <andersca@apple.com>
2304
2305         Get rid of the hardcoded set of structs in the message generation script
2306         https://bugs.webkit.org/show_bug.cgi?id=139844
2307
2308         Reviewed by Tim Horton.
2309
2310         Instead, make it possible to use 'struct' in front of the type name to declare that the type is a struct.
2311
2312         * DatabaseProcess/DatabaseProcess.messages.in:
2313         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2314         * NetworkProcess/NetworkProcess.messages.in:
2315         * PluginProcess/PluginProcess.messages.in:
2316         * PluginProcess/WebProcessConnection.messages.in:
2317         * Scripts/webkit/messages.py:
2318         (struct_or_class):
2319         (forward_declarations_for_namespace):
2320         (forward_declarations_and_headers):
2321         * Scripts/webkit/model.py:
2322         (Parameter.__init__):
2323         * Scripts/webkit/parser.py:
2324         (parse_parameters_string):
2325         * UIProcess/Storage/StorageManager.messages.in:
2326         * UIProcess/WebContext.messages.in:
2327         * UIProcess/WebPageProxy.messages.in:
2328         * UIProcess/WebProcessProxy.messages.in:
2329         * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
2330         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2331         * WebProcess/OriginData/WebOriginDataManager.messages.in:
2332         * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
2333         * WebProcess/WebPage/DrawingArea.messages.in:
2334         * WebProcess/WebPage/WebPage.messages.in:
2335         * WebProcess/WebProcess.messages.in:
2336
2337 2014-12-19  Timothy Horton  <timothy_horton@apple.com>
2338
2339         Fix the build.
2340
2341         * UIProcess/API/mac/WKView.mm:
2342         (-[WKView _setIgnoresNonWheelEvents:]):
2343
2344 2014-12-19  Beth Dakin  <bdakin@apple.com>
2345
2346         Preview popovers don't show an arrow for large links
2347         https://bugs.webkit.org/show_bug.cgi?id=139842
2348         -and corresponding-
2349         <rdar://problem/19301470>
2350
2351         Reviewed by Tim Horton.
2352
2353         This patch addresses the case where the link is so large that there is no 
2354         available space on any side once you factor in screen padding. In that case, we 
2355         should give up early on not obscuring the link.
2356         * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
2357         (-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]):
2358         (-[WKPreviewPopoverAnimationController _effectivePaddingWithPreviewPadding:]):
2359         (-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnYEdgeForOriginRect:withScreenRect:previewPadding:]):
2360         (-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnXEdgeForOriginRect:withScreenRect:previewPadding:]):
2361         (-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]):
2362
2363 2014-12-19  Timothy Horton  <timothy_horton@apple.com>
2364
2365         WKView's ignoresNonWheelEvents should ignore immediate actions
2366         https://bugs.webkit.org/show_bug.cgi?id=139839
2367         <rdar://problem/19312111>
2368
2369         Reviewed by Anders Carlsson.
2370
2371         * UIProcess/API/mac/WKView.mm:
2372         (-[WKView initWithFrame:context:configuration:webView:]):
2373         (-[WKView _setIgnoresNonWheelEvents:]):
2374         Install/uninstall the immediate action gesture recognizer when
2375         toggling ignoresNonWheelEvents.
2376
2377 2014-12-19  Csaba Osztrogonác  <ossy@webkit.org>
2378
2379         URTBF after r177593.
2380
2381         * PluginProcess/PluginProcess.h:
2382         * PluginProcess/unix/PluginProcessUnix.cpp:
2383         (WebKit::PluginProcess::platformInitializePluginProcess):
2384         * Shared/WebProcessCreationParameters.h:
2385         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2386         * WebProcess/WebProcess.h:
2387         * WebProcess/soup/WebProcessSoup.cpp:
2388         (WebKit::WebProcess::platformInitializeWebProcess):
2389
2390 2014-12-19  Anders Carlsson  <andersca@apple.com>
2391
2392         Use WebCore::MachSendRights for the compositing render server port
2393         https://bugs.webkit.org/show_bug.cgi?id=139834
2394
2395         Reviewed by Tim Horton.
2396
2397         * Platform/IPC/HandleMessage.h:
2398         (IPC::callMemberFunctionImpl):
2399         * Platform/mac/LayerHostingContext.h:
2400         * Platform/mac/LayerHostingContext.mm:
2401         (WebKit::LayerHostingContext::createForPort):
2402         * PluginProcess/PluginControllerProxy.h:
2403         * PluginProcess/PluginProcess.cpp:
2404         (WebKit::PluginProcess::PluginProcess):
2405         (WebKit::PluginProcess::initializePluginProcess):
2406         * PluginProcess/PluginProcess.h:
2407         (WebKit::PluginProcess::compositingRenderServerPort):
2408         * PluginProcess/mac/PluginControllerProxyMac.mm:
2409         (WebKit::PluginControllerProxy::compositingRenderServerPort):
2410         * PluginProcess/mac/PluginProcessMac.mm:
2411         (WebKit::PluginProcess::platformInitializePluginProcess):
2412         * Shared/Plugins/PluginProcessCreationParameters.cpp:
2413         * Shared/Plugins/PluginProcessCreationParameters.h:
2414         * Shared/WebCoreArgumentCoders.h:
2415         * Shared/WebProcessCreationParameters.h:
2416         * Shared/mac/WebCoreArgumentCodersMac.mm:
2417         (IPC::ArgumentCoder<MachSendRight>::encode):
2418         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2419         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2420         * UIProcess/mac/WebContextMac.mm:
2421         (WebKit::WebContext::platformInitializeWebProcess):
2422         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2423         (WebKit::NPN_GetValue):
2424         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2425         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2426         (WebKit::NetscapePlugin::compositingRenderServerPort):
2427         (WebKit::NetscapePlugin::setLayerHostingMode):
2428         * WebProcess/Plugins/PluginController.h:
2429         * WebProcess/Plugins/PluginView.cpp:
2430         (WebKit::PluginView::compositingRenderServerPort):
2431         * WebProcess/Plugins/PluginView.h:
2432         * WebProcess/WebProcess.cpp:
2433         (WebKit::WebProcess::WebProcess):
2434         (WebKit::WebProcess::initializeWebProcess):
2435         * WebProcess/WebProcess.h:
2436         (WebKit::WebProcess::compositingRenderServerPort):
2437         * WebProcess/cocoa/WebProcessCocoa.mm:
2438         (WebKit::WebProcess::platformInitializeWebProcess):
2439
2440 2014-12-19  Andreas Kling  <akling@apple.com>
2441
2442         Ref-ify TextIterator API.
2443         <https://webkit.org/b/139823>
2444
2445         Reviewed by Antti Koivisto.
2446
2447         * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
2448         (-[WKDOMTextIterator currentRange]):
2449
2450 2014-12-19  Commit Queue  <commit-queue@webkit.org>
2451
2452         Unreviewed, rolling out r177574.
2453         https://bugs.webkit.org/show_bug.cgi?id=139821
2454
2455         "Broke Production builds by installing
2456         libWebCoreTestSupport.dylib in the wrong directory" (Requested
2457         by ddkilzer on #webkit).
2458
2459         Reverted changeset:
2460
2461         "Switch from using PLATFORM_NAME to SDK selectors in WebCore,
2462         WebInspectorUI, WebKit, WebKit2"
2463         https://bugs.webkit.org/show_bug.cgi?id=139463
2464         http://trac.webkit.org/changeset/177574
2465
2466 2014-12-19  David Kilzer  <ddkilzer@apple.com>
2467
2468         Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
2469         <http://webkit.org/b/139463>
2470
2471         Reviewed by Mark Rowe.
2472
2473         * Configurations/All.xcconfig:
2474         - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
2475         * Configurations/Base.xcconfig:
2476         - Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and
2477           TOOLCHAINS on OS X.
2478         * Configurations/BaseLegacyProcess.xcconfig:
2479         - Only set SKIP_INSTALL on iOS.
2480         * Configurations/BaseTarget.xcconfig:
2481         - Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
2482           SDK, and simply them.
2483         * Configurations/BaseXPCService.xcconfig:
2484         - Set INSTALL_PATH_ACTUAL_Normal based on SDK.
2485         * Configurations/DebugRelease.xcconfig:
2486         - Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
2487         - Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
2488         * Configurations/NetworkProcess.xcconfig:
2489         - Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on
2490           iOS.
2491         * Configurations/NetworkService.Development.xcconfig:
2492         - Set INFOPLIST_FILE based on SDK.
2493         - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
2494         * Configurations/NetworkService.xcconfig:
2495         - Set INFOPLIST_FILE based on SDK.
2496         - Simplify CODE_SIGN_ENTITLEMENTS for iOS.
2497         * Configurations/PluginProcess.xcconfig:
2498         - Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS.
2499         * Configurations/PluginProcessShim.xcconfig:
2500         - Set OTHER_LDFLAGS based on SDK.
2501         * Configurations/PluginService.32.xcconfig:
2502         - Only set VALID_ARCHS on OS X.
2503         - Set OTHER_LDFLAGS based on platform-specific values.
2504         - Only set SKIP_INSTALL on iOS.
2505         * Configurations/PluginService.64.xcconfig:
2506         - Set ARCHS based on SDK.
2507         - Set OTHER_LDFLAGS based on platform-specific values.
2508         - Only set SKIP_INSTALL on iOS.
2509         * Configurations/PluginService.Development.xcconfig:
2510         - Only set SKIP_INSTALL on iOS.
2511         - Set OTHER_LDFLAGS based on platform-specific values.
2512         * Configurations/SecItemShim.xcconfig:
2513         - Set OTHER_LDFLAGS based on platform-specific values.
2514         * Configurations/Version.xcconfig:
2515         - Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
2516         * Configurations/WebContentProcess.xcconfig:
2517         - Only set EXCLUDED_SHIM_FILE_NAME on iOS.
2518         - Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator.
2519         * Configurations/WebContentService.Development.xcconfig:
2520         - Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK.
2521         - Only set CODE_SIGN_ENTITLEMENTS on iOS hardware.
2522         - Set OTHER_LDFLAGS based on platform-specific values.
2523         * Configurations/WebContentService.xcconfig: Ditto.
2524         * Configurations/WebKit.xcconfig:
2525         - Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and
2526           WK_API_AVAILABILITY_ENABLED based on SDK.
2527         - Set OTHER_LDFLAGS based on platform-specific values.
2528         - Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
2529         * Configurations/WebKit2.xcconfig:
2530         - Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE,
2531           NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and
2532           NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK.
2533         - Set SKIP_INSTALL on iOS.
2534         * Configurations/WebProcessShim.xcconfig:
2535         - Set OTHER_LDFLAGS based on platform-specific values.
2536
2537 2014-12-18  Jon Honeycutt  <jhoneycutt@apple.com>
2538
2539         iOS build fix.
2540
2541         * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
2542
2543 2014-12-18  Jessie Berlin  <jberlin@webkit.org>
2544
2545         Speculative build-fix after r177522.
2546
2547         * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
2548         (-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]):
2549
2550 2014-12-18  Andreas Kling  <akling@apple.com>
2551
2552         Ref-ify various Document-related things.
2553         <https://webkit.org/b/139796>
2554
2555         Reviewed by Anders Carlsson.
2556
2557         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
2558         (-[WKDOMDocument createTextNode:]):
2559
2560 2014-12-18  Beth Dakin  <bdakin@apple.com>
2561
2562         Speculative build fix.
2563
2564         * UIProcess/ProcessThrottler.h:
2565
2566 2014-12-18  Anders Carlsson  <andersca@apple.com>
2567
2568         Use MachSendRight in WebKit2
2569         https://bugs.webkit.org/show_bug.cgi?id=139800
2570
2571         Reviewed by Tim Horton.
2572
2573         * Platform/IPC/ArgumentEncoder.h:
2574         (IPC::ArgumentEncoder::encode):
2575         (IPC::ArgumentEncoder::operator<<):
2576         * Shared/WebCoreArgumentCoders.h:
2577         * Shared/mac/RemoteLayerBackingStore.mm:
2578         (WebKit::RemoteLayerBackingStore::encode):
2579         (WebKit::RemoteLayerBackingStore::decode):
2580         * Shared/mac/WebCoreArgumentCodersMac.mm:
2581         (IPC::ArgumentCoder<MachSendRight>::encode):
2582         (IPC::ArgumentCoder<MachSendRight>::decode):
2583
2584 2014-12-18  Gavin Barraclough  <barraclough@apple.com>
2585
2586         Remove custom token mechanism from ProcessThrottler
2587         https://bugs.webkit.org/show_bug.cgi?id=139744
2588
2589         Reviewed by Geoff Garen.
2590
2591         ProcessThrottler implements its own token-based counter mechanism, but should
2592         just use RefCounter.
2593
2594         * UIProcess/Cocoa/NavigationState.h:
2595             - remove std::unique_ptr.
2596         * UIProcess/Cocoa/NavigationState.mm:
2597         (WebKit::NavigationState::didChangeIsLoading):
2598             - remove std::make_unique.
2599         * UIProcess/GenericCallback.h:
2600         (WebKit::CallbackBase::CallbackBase):
2601         (WebKit::GenericCallback::create):
2602         (WebKit::GenericCallback::GenericCallback):
2603         (WebKit::CallbackMap::put):
2604             - remove std::unique_ptr.
2605         * UIProcess/ProcessThrottler.cpp:
2606         (WebKit::ProcessThrottler::ProcessThrottler):
2607         (WebKit::m_backgroundCounter):
2608         (WebKit::ProcessThrottler::assertionState):
2609         (WebKit::ProcessThrottler::updateAssertion):
2610         (WebKit::ProcessThrottler::ForegroundActivityToken::ForegroundActivityToken): Deleted.
2611         (WebKit::ProcessThrottler::ForegroundActivityToken::~ForegroundActivityToken): Deleted.
2612         (WebKit::ProcessThrottler::BackgroundActivityToken::BackgroundActivityToken): Deleted.
2613         (WebKit::ProcessThrottler::BackgroundActivityToken::~BackgroundActivityToken): Deleted.
2614             - removed old implementation of ForegroundActivityToken/BackgroundActivityToken.
2615         * UIProcess/ProcessThrottler.h:
2616         (WebKit::ProcessThrottler::foregroundActivityToken):
2617         (WebKit::ProcessThrottler::backgroundActivityToken):
2618             - added accessors to create activity tokens.
2619         (WebKit::ProcessThrottler::weakPtr): Deleted.
2620             - removed members replaced by RefCounter types.
2621         * UIProcess/WebPageProxy.cpp:
2622         (WebKit::WebPageProxy::updateActivityToken):
2623         (WebKit::WebPageProxy::validateCommand):
2624         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
2625         (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
2626         (WebKit::WebPageProxy::getSourceForFrame):
2627         (WebKit::WebPageProxy::getContentsAsString):
2628         (WebKit::WebPageProxy::getBytecodeProfile):
2629         (WebKit::WebPageProxy::getContentsAsMHTMLData):
2630         (WebKit::WebPageProxy::getSelectionOrContentsAsString):
2631         (WebKit::WebPageProxy::getSelectionAsWebArchiveData):
2632         (WebKit::WebPageProxy::getMainResourceDataOfFrame):
2633         (WebKit::WebPageProxy::getResourceDataFromFrame):
2634         (WebKit::WebPageProxy::getWebArchiveOfFrame):
2635         (WebKit::WebPageProxy::getMarkedRangeAsync):
2636         (WebKit::WebPageProxy::getSelectedRangeAsync):
2637         (WebKit::WebPageProxy::characterIndexForPointAsync):
2638         (WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
2639         (WebKit::WebPageProxy::takeSnapshot):
2640         (WebKit::WebPageProxy::installViewStateChangeCompletionHandler):
2641             - remove std::make_unique.
2642         * UIProcess/WebPageProxy.h:
2643             - remove std::unique_ptr.
2644         * UIProcess/WebProcessProxy.cpp:
2645         (WebKit::WebProcessProxy::setIsHoldingLockedFiles):
2646             - remove std::make_unique.
2647         * UIProcess/WebProcessProxy.h:
2648             - remove std::unique_ptr.
2649         * UIProcess/ios/WebPageProxyIOS.mm:
2650         (WebKit::WebPageProxy::selectWithGesture):
2651         (WebKit::WebPageProxy::updateSelectionWithTouches):
2652         (WebKit::WebPageProxy::requestAutocorrectionData):
2653         (WebKit::WebPageProxy::applyAutocorrection):
2654         (WebKit::WebPageProxy::executeEditCommand):
2655         (WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
2656         (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
2657         (WebKit::WebPageProxy::selectPositionAtPoint):
2658         (WebKit::WebPageProxy::beginSelectionInDirection):
2659         (WebKit::WebPageProxy::updateSelectionWithExtentPoint):
2660         (WebKit::WebPageProxy::requestDictationContext):
2661         (WebKit::WebPageProxy::requestAutocorrectionContext):
2662         (WebKit::WebPageProxy::selectWithTwoTouches):
2663         (WebKit::WebPageProxy::moveSelectionByOffset):
2664         (WebKit::WebPageProxy::focusNextAssistedNode):
2665             - remove std::make_unique.
2666         * UIProcess/mac/WebPageProxyMac.mm:
2667         (WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):
2668             - remove std::make_unique.
2669
2670 2014-12-18  Gavin Barraclough  <barraclough@apple.com>
2671
2672         Add strong typing to RefCounter interface, return value as a bool.
2673         https://bugs.webkit.org/show_bug.cgi?id=139776
2674
2675         Reviewed by Geoff Garen.
2676
2677         Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>.
2678         This means there is no compile time type checking to prevent mistakes. Update the count()
2679         method to token<>(), templated on type used to identify the token being returned.
2680         Calls to token<T>() will return a result of type RefCounter::Token<T>.
2681
2682         There are a few problems with the fact the counter will return you an exact count of the
2683         number of outstanding tokens:
2684           - It is desirable to only fire the callback on zero-edge changes; it is more consistent
2685             to do so if the value is only readable as a boolean.
2686           - It is desirable to provide the value as an argument to the callback, however to make
2687             this useful for integer values it is also necessary to indicate the direction of change
2688             (0->1 is often interesting where 2->1 is not).
2689           - There is a mismatch between the precision of returning a count, and the inherent
2690             imprecision of a token based mechanism, where it may be difficult to guarantee
2691             absolutely no unnecessary refcount churn, and thus unintentional counter values.
2692
2693         Removed PluginProcessManager::m_processSuppressionEnabled. Now the callback only fires on
2694         zero-edge transitions we no longer need this to filter changes.
2695
2696         * UIProcess/Plugins/PluginProcessManager.cpp:
2697         (WebKit::PluginProcessManager::PluginProcessManager):
2698             - updateProcessSuppressionState -> updateProcessSuppressionDisabled.
2699         * UIProcess/Plugins/PluginProcessManager.h:
2700         (WebKit::PluginProcessManager::processSuppressionDisabledForPageCount): Deleted.
2701         (WebKit::PluginProcessManager::processSuppressionDisabledToken):
2702             - processSuppressionDisabledForPageCount -> processSuppressionDisabledToken.
2703         (WebKit::PluginProcessManager::processSuppressionEnabled): Deleted.
2704         (WebKit::PluginProcessManager::processSuppressionDisabled):
2705             - processSuppressionEnabled -> processSuppressionDisabled.
2706         * UIProcess/Plugins/PluginProcessProxy.cpp:
2707         (WebKit::PluginProcessProxy::didFinishLaunching):
2708             - processSuppressionEnabled -> processSuppressionDisabled.
2709         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
2710         (WebKit::PluginProcessManager::updateProcessSuppressionState): Deleted.
2711         (WebKit::PluginProcessManager::updateProcessSuppressionDisabled):
2712             - updateProcessSuppressionState -> updateProcessSuppressionDisabled
2713         * UIProcess/ProcessThrottler.h:
2714             - added UserObservablePageToken, ProcessSuppressionDisabledToken types.
2715         * UIProcess/WebContext.cpp:
2716         (WebKit::WebContext::WebContext):
2717         (WebKit::m_processSuppressionDisabledForPageCounter):
2718             - lambda now has bool argument.
2719         * UIProcess/WebContext.h:
2720         (WebKit::WebContext::userObservablePageCount):
2721         (WebKit::WebContext::processSuppressionDisabledForPageCount):
2722             - count() -> token<>(), changed return type.
2723         * UIProcess/WebPageProxy.h:
2724             - changed types of token members.
2725         * UIProcess/mac/WebContextMac.mm:
2726         (WebKit::WebContext::updateProcessSuppressionState):
2727             renamed m_pluginProcessManagerProcessSuppressionDisabledCount -> m_pluginProcessManagerProcessSuppressionDisabledToken.
2728
2729 2014-12-18  Timothy Horton  <timothy_horton@apple.com>
2730
2731         Try to fix some builds.
2732
2733         * UIProcess/mac/WKPreviewPopoverAnimationController.mm:
2734
2735 2014-12-18  Anders Carlsson  <andersca@apple.com>
2736
2737         Fix build.
2738
2739         * UIProcess/API/mac/WKViewInternal.h:
2740
2741 2014-12-18  Chris Dumez  <cdumez@apple.com>
2742
2743         Add missing availability annotation on @property _featureCounterEnabled
2744         https://bugs.webkit.org/show_bug.cgi?id=139794
2745         <rdar://problem/19266254>
2746
2747         Rubber-stamped by Dan Bernstein.
2748
2749         Follow-up to r177526 adding availability annotation on @property
2750         _featureCounterEnabled.
2751
2752         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2753
2754 2014-12-18  Beth Dakin  <bdakin@apple.com>
2755
2756         Need to re-enable action menus
2757         https://bugs.webkit.org/show_bug.cgi?id=139795
2758         -and corresponding-
2759         rdar://problem/19299367
2760
2761         Reviewed by Tim Horton.
2762
2763         Re-enable the menus by un-commenting the code to create the menu and controller.
2764         * UIProcess/API/mac/WKView.mm:
2765         (-[WKView initWithFrame:context:configuration:webView:]):
2766
2767         performActionMenuHitTest already takes a parameter indicating whether the hit test 
2768         is for an immediate action or not. The callback didPerformActionMenuHitTest needs 
2769         that information too so that it knows whether to call into the 
2770         ActionMenuController or the ImmediateActionController.
2771         (-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]):
2772         (-[WKView _didPerformActionMenuHitTest:userData:]): Deleted.
2773         * UIProcess/API/mac/WKViewInternal.h:
2774         * UIProcess/PageClient.h:
2775         * UIProcess/WebPageProxy.cpp:
2776         (WebKit::WebPageProxy::didPerformActionMenuHitTest):
2777         * UIProcess/WebPageProxy.h:
2778         * UIProcess/WebPageProxy.messages.in:
2779         * UIProcess/mac/PageClientImpl.h:
2780         * UIProcess/mac/PageClientImpl.mm:
2781         (WebKit::PageClientImpl::didPerformActionMenuHitTest):
2782         * WebProcess/WebPage/mac/WebPageMac.mm:
2783         (WebKit::WebPage::performActionMenuHitTestAtLocation):
2784
2785 2014-12-18  Chris Dumez  <cdumez@apple.com>
2786
2787         [WK2] Stop using WKPreferencesPrivate API to toggle FeatureCounter support
2788         https://bugs.webkit.org/show_bug.cgi?id=139794
2789         <rdar://problem/19266254>
2790
2791         Reviewed by Anders Carlsson.
2792
2793         Stop using WKPreferencesPrivate API to toggle FeatureCounter support
2794         and use WKWebViewConfigurationPrivate API instead. FeatureCounter is
2795         not meant to change state after the view has been created.
2796
2797         * UIProcess/API/C/WKPreferences.cpp:
2798         (WKPreferencesSetFeatureCounterEnabled): Deleted.
2799         (WKPreferencesGetFeatureCounterEnabled): Deleted.
2800         * UIProcess/API/C/WKPreferencesRefPrivate.h:
2801         * UIProcess/API/Cocoa/WKPreferences.mm:
2802         (-[WKPreferences _featureCounterEnabled]): Deleted.
2803         (-[WKPreferences _setFeatureCounterEnabled:]): Deleted.
2804         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2805         * UIProcess/API/Cocoa/WKWebView.mm:
2806         (-[WKWebView initWithFrame:configuration:]):
2807         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2808         (-[WKWebViewConfiguration init]):
2809         (-[WKWebViewConfiguration copyWithZone:]):
2810         (-[WKWebViewConfiguration _featureCounterEnabled]):
2811         (-[WKWebViewConfiguration _setFeatureCounterEnabled:]):
2812         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2813
2814 2014-12-18  Timothy Horton  <timothy_horton@apple.com>
2815
2816         Fix the build.
2817
2818         * UIProcess/API/mac/WKView.mm:
2819         (-[WKView _setPreviewOverrideImage:]):
2820
2821 2014-12-18  Timothy Horton  <timothy_horton@apple.com>
2822
2823         Change page preview loading order, and add a TextIndicator
2824         https://bugs.webkit.org/show_bug.cgi?id=139793
2825         <rdar://problem/19288547>
2826
2827         Reviewed by Beth Dakin.
2828
2829         * Shared/mac/ActionMenuHitTestResult.h:
2830         * Shared/mac/ActionMenuHitTestResult.mm:
2831         (WebKit::ActionMenuHitTestResult::encode):
2832         (WebKit::ActionMenuHitTestResult::decode):
2833         * WebProcess/WebPage/mac/WebPageMac.mm:
2834         (WebKit::WebPage::performActionMenuHitTestAtLocation):
2835         Build a TextIndicator for links.
2836
2837         * UIProcess/API/Cocoa/WKViewPrivate.h:
2838         * UIProcess/API/mac/WKView.mm:
2839         (-[WKView _dismissContentRelativeChildWindows]):
2840         (-[WKView _setPreviewTitle:]):
2841         (-[WKView _setPreviewLoading:]):
2842         Remove unneeded WK_API_ENABLED #ifs.
2843
2844         (-[WKView _setPreviewOverrideImage:]):
2845         Add; forward to WKImmediateActionController.
2846
2847         * UIProcess/mac/WKImmediateActionController.h:
2848         * UIProcess/mac/WKImmediateActionController.mm:
2849         (-[WKImmediateActionController willDestroyView:]):
2850         Shut down the WKPreviewPopoverAnimationController.
2851
2852         (-[WKImmediateActionController _clearImmediateActionState]):
2853         (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
2854         Don't build an immediate action item here; we'll always build it in
2855         willBeginAnimation, and the one we build here is likely to be wrong.
2856
2857         (-[WKImmediateActionController _defaultAnimationController]):
2858         (-[WKImmediateActionController hidePreview]):
2859         (-[WKImmediateActionController setPreviewTitle:]):
2860         (-[WKImmediateActionController setPreviewLoading:]):
2861         (-[WKImmediateActionController setPreviewOverrideImage:]):
2862         (-[WKImmediateActionController _animationControllerForCustomPreview]):
2863         (-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]): Deleted.
2864         (-[WKImmediateActionController popoverWillClose:]): Deleted.
2865         (targetSizeFitsInAvailableSpace): Deleted.
2866         (-[WKImmediateActionController largestPopoverSize]): Deleted.
2867         (-[WKImmediateActionController _preferredPopoverSizeWithPreviewPadding:]): Deleted.
2868         (-[WKImmediateActionController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]): Deleted.
2869         (-[WKImmediateActionController pagePreviewViewController:titleForPreviewOfURL:]): Deleted.
2870         (-[WKImmediateActionController pagePreviewViewControllerWasClicked:]): Deleted.
2871         Move preview popover code to WKPreviewPopoverAnimationController.
2872         Install and uninstall the link text indicator when necessary.
2873
2874         * UIProcess/mac/WKPagePreviewViewController.h:
2875         * UIProcess/mac/WKPagePreviewViewController.mm:
2876         (-[WKPagePreviewViewController setLoading:]):
2877         (-[WKPagePreviewViewController loadView]):
2878         (-[WKPagePreviewViewController replacePreviewWithImage:atSize:]):
2879         Allow overriding the preview with a full-view NSImage.
2880         Hide the preview view until the loading spinner goes away.
2881
2882         * UIProcess/mac/WKPreviewPopoverAnimationController.h: Copied from Source/WebKit2/UIProcess/mac/WKImmediateActionController.h.
2883         * UIProcess/mac/WKPreviewPopoverAnimationController.mm: Added.
2884         (+[WKPreviewPopoverAnimationController _shouldImmediatelyShowPreview]):
2885         (-[WKPreviewPopoverAnimationController initWithURL:view:page:originRect:eventLocationInView:]):
2886         (-[WKPreviewPopoverAnimationController close]):
2887         (-[WKPreviewPopoverAnimationController setPreviewLoading:]):
2888         (-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]):
2889         If we have shown the popover, choose a size strictly smaller than
2890         its current size.
2891
2892         (-[WKPreviewPopoverAnimationController _hidePreview]):
2893         (-[WKPreviewPopoverAnimationController setPreviewTitle:]):
2894         (-[WKPreviewPopoverAnimationController _createPreviewPopover]):
2895         (-[WKPreviewPopoverAnimationController _showPreview]):
2896         (targetSizeFitsInAvailableSpace):
2897         (-[WKPreviewPopoverAnimationController largestPopoverSize]):
2898         (-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]):
2899         (-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]):
2900         (-[WKPreviewPopoverAnimationController _previewWatchdogTimerFired:]):
2901         (-[WKPreviewPopoverAnimationController recognizerWillBeginAnimation:]):
2902         (-[WKPreviewPopoverAnimationController recognizerDidUpdateAnimation:]):
2903         (-[WKPreviewPopoverAnimationController recognizerDidCancelAnimation:]):
2904         (-[WKPreviewPopoverAnimationController recognizerDidCompleteAnimation:]):
2905         (-[WKPreviewPopoverAnimationController recognizerDidDismissAnimation:]):
2906         (-[WKPreviewPopoverAnimationController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]):
2907         (-[WKPreviewPopoverAnimationController pagePreviewViewController:titleForPreviewOfURL:]):
2908         (-[WKPreviewPopoverAnimationController pagePreviewViewControllerWasClicked:]):
2909         (-[WKPreviewPopoverAnimationController popoverWillClose:]):
2910         Move code in from WKImmediateActionController.
2911         Forward NSImmediateActionAnimationControllerDelegate methods
2912         to the popover's animation controller if we've popped it.
2913         Pop the popover if we've loaded or 1 second has passed, whichever
2914         comes first.
2915
2916         * WebKit2.xcodeproj/project.pbxproj:
2917
2918 2014-12-18  Anders Carlsson  <andersca@apple.com>
2919
2920         Add a MachSendRight class to WebCore and use it in IOSurface
2921         https://bugs.webkit.org/show_bug.cgi?id=139787
2922
2923         Reviewed by Tim Horton.
2924
2925         * Shared/mac/RemoteLayerBackingStore.mm:
2926         (WebKit::RemoteLayerBackingStore::encode):
2927
2928 2014-12-18  Daniel Bates  <dabates@apple.com>
2929
2930         Attempt to fix the iOS build after <http://trac.webkit.org/changeset/177486>
2931         (https://bugs.webkit.org/show_bug.cgi?id=139755)
2932
2933         * WebProcess/WebPage/ios/WebPageIOS.mm:
2934         (WebKit::WebPage::selectWithGesture): Wrap return value of Range::create() in RefPtr<Range>()
2935         to make the the compiler happy since it wants clauses of the ternary operator to have the same data type
2936         and Ref<Range> object does not support nullptr.
2937         (WebKit::WebPage::selectWordBackward): Substitute Ref::ptr() for PassRefPtr::get().
2938         (WebKit::WebPage::moveSelectionByOffset): Ditto.
2939         (WebKit::WebPage::selectPositionAtPoint): Ditto.
2940         (WebKit::WebPage::selectPositionAtBoundaryWithDirection): Ditto.
2941         (WebKit::WebPage::requestDictationContext): Ditto.
2942         (WebKit::computeAutocorrectionContext): Ditto.
2943
2944 2014-12-18  Antti Koivisto  <antti@apple.com>
2945
2946         Remove alwaysUseBaselineOfPrimaryFont setting
2947         https://bugs.webkit.org/show_bug.cgi?id=139770
2948
2949         Reviewed by Anders Carlsson.
2950
2951         * Shared/WebPreferencesDefinitions.h:
2952         * WebProcess/WebPage/WebPage.cpp:
2953         (WebKit::WebPage::updatePreferences):
2954
2955 2014-12-18  Adrian Perez de Castro  <aperez@igalia.com>
2956
2957         [GTK] Implement webkit_web_view_is_playing_audio()
2958         https://bugs.webkit.org/show_bug.cgi?id=138918
2959
2960         Reviewed by Carlos Garcia Campos.
2961
2962         Implements webkit_web_view_is_playing_audio(), and overrides
2963         UIClient::isPlayingAudioDidChange() to be able to emit change
2964         notification signals for the new WebKitWebView::is-playing-audio
2965         property.
2966
2967         * UIProcess/API/gtk/WebKitUIClient.cpp:
2968         (isPlayingAudioDidChange): Added.
2969         * UIProcess/API/gtk/WebKitWebView.cpp:
2970         (webkitWebViewIsPlayingAudioChanged): Helper function to emit the
2971         emit the notify::is-playing-audio signal when needed.
2972         (webkitWebViewGetProperty): Handle the WebKitWebView::is-playing-audio
2973         property.
2974         (webkit_web_view_class_init): Install the
2975         WebKitWebView::is-playing-audio property.
2976         (webkit_web_view_is_playing_audio): Added.
2977         * UIProcess/API/gtk/WebKitWebView.h:
2978         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2979         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
2980         webkit_web_view_is_playing_audio() to the list of public API
2981         functions.
2982
2983 2014-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2984
2985         [GTK] Allow to build with ENABLE_NETWORK_CACHE
2986         https://bugs.webkit.org/show_bug.cgi?id=139728
2987
2988         Reviewed by Antti Koivisto.
2989
2990         Just make it build for now.
2991
2992         * CMakeLists.txt: Add new files to compilation.
2993         * NetworkProcess/NetworkResourceLoader.cpp:
2994         (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): Use
2995         ENABLE(SHAREABLE_RESOURCE) when ShareableResource is used.
2996         * NetworkProcess/cache/NetworkCache.cpp:
2997         (WebKit::decodeStorageEntry): Ditto.
2998         (WebKit::makeCacheKey): Use ENABLE(CACHE_PARTITIONING) for ResourceRequest::cachePartition().
2999         * NetworkProcess/cache/NetworkCache.h:
3000         * NetworkProcess/cache/NetworkCacheStorage.h:
3001         (WebKit::NetworkCacheStorage::Data::isNull): Move implementation
3002         to platform specific files.
3003         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
3004         (WebKit::NetworkCacheStorage::Data::isNull): Moved from the header.
3005         * NetworkProcess/cache/NetworkCacheStorageSoup.cpp: Added.
3006         (WebKit::NetworkCacheStorage::Data::Data):
3007         (WebKit::NetworkCacheStorage::Data::data):
3008         (WebKit::NetworkCacheStorage::Data::isNull):
3009         (WebKit::NetworkCacheStorage::open):
3010         (WebKit::NetworkCacheStorage::NetworkCacheStorage):
3011         (WebKit::NetworkCacheStorage::initializeKeyFilter):
3012         (WebKit::NetworkCacheStorage::removeEntry):
3013         (WebKit::NetworkCacheStorage::dispatchRetrieveOperation):
3014         (WebKit::NetworkCacheStorage::dispatchPendingRetrieveOperations):
3015         (WebKit::NetworkCacheStorage::retrieve):
3016         (WebKit::NetworkCacheStorage::store):
3017         (WebKit::NetworkCacheStorage::setMaximumSize):
3018         (WebKit::NetworkCacheStorage::clear):
3019         * PlatformGTK.cmake: Add NetworkCacheStorageSoup.cpp.
3020         * config.h:
3021
3022 2014-12-17  Dan Bernstein  <mitz@apple.com>
3023
3024         <rdar://problem/19282508> WebKitLegacy is unusable due to bad dylib identifier
3025         https://bugs.webkit.org/show_bug.cgi?id=139760
3026
3027         Reviewed by Anders Carlsson.
3028
3029         * Configurations/WebKit2.xcconfig:
3030
3031 2014-12-17  Beth Dakin  <bdakin@apple.com>
3032
3033         Page previews are sometimes sized much smaller than it seems they should be
3034         https://bugs.webkit.org/show_bug.cgi?id=139754
3035         -and corresponding-
3036         rdar://problem/19286550        
3037
3038         Reviewed by Tim Horton.
3039
3040         Increase the minimum size and add in a missing else!!
3041         * UIProcess/mac/WKImmediateActionController.mm:
3042         (-[WKImmediateActionController _preferredPopoverSizeWithPreviewPadding:]):
3043
3044 2014-12-17  Anders Carlsson  <andersca@apple.com>
3045
3046         Ref-ify WebPageProxy and WebProcessProxy creation functions
3047         https://bugs.webkit.org/show_bug.cgi?id=139751
3048
3049         Reviewed by Andreas Kling.
3050
3051         * UIProcess/WebContext.cpp:
3052         (WebKit::WebContext::createNewWebProcess):
3053         * UIProcess/WebPageProxy.cpp:
3054         (WebKit::WebPageProxy::create):
3055         * UIProcess/WebPageProxy.h:
3056         * UIProcess/WebProcessProxy.cpp:
3057         (WebKit::WebProcessProxy::create):
3058         (WebKit::WebProcessProxy::createWebPage):
3059         * UIProcess/WebProcessProxy.h:
3060
3061 2014-12-17  Joseph Pecoraro  <pecoraro@apple.com>
3062
3063         Unreviewed iOS Build Fix after r177459.
3064
3065         * UIProcess/ios/WebInspectorProxyIOS.mm:
3066         (WebKit::WebInspectorProxy::platformInvalidate):
3067         (WebKit::WebInspectorProxy::platformHide):
3068         Add missing WebInspectorProxy platform methods.
3069
3070 2014-12-17  Enrica Casucci  <enrica@apple.com>
3071
3072         [iOS] Define button and action should respect profile settings.
3073         https://bugs.webkit.org/show_bug.cgi?id=139739
3074         rdar://problem/15461887
3075
3076         Reviewed by Joseph Pecoraro.
3077
3078         * UIProcess/ios/WKContentViewInteraction.mm:
3079         (-[WKContentView canPerformAction:withSender:]):
3080         (-[WKContentView _define:]):
3081
3082 2014-12-17  Joseph Pecoraro  <pecoraro@apple.com>
3083
3084         Web Inspector: [Mac] Occosional Crashes Closing Inspector
3085         https://bugs.webkit.org/show_bug.cgi?id=139740
3086
3087         Reviewed by Timothy Hatcher.
3088
3089         * UIProcess/WebPageProxy.cpp:
3090         (WebKit::WebPageProxy::didReceiveEvent):
3091         The WebPageProxy could have gotten destroyed in handling (e.g. keyboard shortcut
3092         to close the Inspector Window), so protect the object to avoid destruction
3093         during handling.
3094
3095         * UIProcess/WebInspectorProxy.h:
3096         * UIProcess/WebPageProxy.cpp:
3097         Add platformInvalidate opportunity for the platform to do invalidation work.
3098
3099         * UIProcess/efl/WebInspectorProxyEfl.cpp:
3100         (WebKit::WebInspectorProxy::platformInvalidate):
3101         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3102         (WebKit::WebInspectorProxy::platformInvalidate):
3103         Empty implementations, these ports do not need to do anything.
3104
3105         * UIProcess/WebInspectorProxy.h:
3106         * UIProcess/mac/WebInspectorProxyMac.mm:
3107         (WebKit::WebInspectorProxy::closeTimerFired):
3108         (WebKit::WebInspectorProxy::platformDidClose):
3109         (WebKit::WebInspectorProxy::platformInvalidate):
3110         When closing / invalidating make sure we close the WKView to clear client
3111         for any delayed callbacks.
3112
3113 2014-12-17  Chris Dumez  <cdumez@apple.com>
3114
3115         [iOS] Make it possible to toggle FeatureCounter support at runtime
3116         https://bugs.webkit.org/show_bug.cgi?id=139688
3117         <rdar://problem/19266254>
3118
3119         Reviewed by Andreas Kling.
3120
3121         Add private settings API to toggle FeatureCounter support on Safari and
3122         MobileSafari.
3123
3124         * Shared/WebPreferencesDefinitions.h:
3125         * UIProcess/API/C/WKPreferences.cpp:
3126         (WKPreferencesSetFeatureCounterEnabled):
3127         (WKPreferencesGetFeatureCounterEnabled):
3128         * UIProcess/API/C/WKPreferencesRefPrivate.h:
3129         * UIProcess/API/Cocoa/WKPreferences.mm:
3130         (-[WKPreferences _featureCounterEnabled]):
3131         (-[WKPreferences _setFeatureCounterEnabled:]):
3132         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
3133         * WebProcess/WebPage/WebPage.cpp:
3134         (WebKit::WebPage::updatePreferences):
3135
3136 2014-12-17  Anders Carlsson  <andersca@apple.com>
3137
3138         Clean up SQL statement building in SQLiteIDBCursor
3139         https://bugs.webkit.org/show_bug.cgi?id=139741
3140
3141         Reviewed by Andreas Kling.
3142
3143         This vastly simplifies the code and gets rid of the last
3144         uses of DEPRECATED_DEFINE_STATIC_LOCAL in WebKit2.
3145
3146         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
3147         (WebKit::buildIndexStatement):
3148         (WebKit::buildObjectStoreStatement):
3149         (WebKit::SQLiteIDBCursor::establishStatement):
3150         (WebKit::getIndexStatement): Deleted.
3151         (WebKit::getObjectStoreStatement): Deleted.
3152
3153 2014-12-17  Andreas Kling  <akling@apple.com>
3154
3155         Purge PassRefPtr from Frame.
3156         <https://webkit.org/b/139731>
3157
3158         Reviewed by Anders Carlsson.
3159
3160         * WebProcess/WebPage/WebFrame.cpp:
3161         (WebKit::WebFrame::createSubframe):
3162
3163 2014-12-17  Dan Bernstein  <mitz@apple.com>
3164
3165         iOS build fix
3166
3167         * UIProcess/ios/PageClientImplIOS.h:
3168         * UIProcess/ios/PageClientImplIOS.mm:
3169         (WebKit::PageClientImpl::PageClient::setTextIndicatorAnimationProgress):
3170
3171 2014-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3172
3173         Unreviewed. Fix GTK+ build after r177427.
3174
3175         * UIProcess/API/gtk/PageClientImpl.cpp:
3176         (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
3177         * UIProcess/API/gtk/PageClientImpl.h:
3178
3179 2014-12-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3180
3181         Unreviewed, EFL build fix since r177427.
3182
3183         * UIProcess/CoordinatedGraphics/WebView.cpp:
3184         (WebKit::WebView::setTextIndicatorAnimationProgress): Added.
3185         * UIProcess/CoordinatedGraphics/WebView.h:
3186
3187 2014-12-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3188
3189         Move WebCore/platform/graphics/surfaces to std::unique_ptr
3190         https://bugs.webkit.org/show_bug.cgi?id=139641
3191
3192         Reviewed by Andreas Kling.
3193
3194         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
3195
3196 2014-12-16  Timothy Horton  <timothy_horton@apple.com>
3197
3198         Implement and adopt two new TextIndicator presentation animations
3199         https://bugs.webkit.org/show_bug.cgi?id=139715
3200         <rdar://problem/19237945>
3201
3202         Reviewed by Anders Carlsson.
3203
3204         * UIProcess/API/mac/WKView.mm:
3205         (-[WKView _setTextIndicator:fadeOut:]):
3206         (-[WKView _setTextIndicatorAnimationProgress:]):
3207         (-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]): Deleted.
3208         * UIProcess/API/mac/WKViewInternal.h:
3209         * UIProcess/PageClient.h:
3210         * UIProcess/WebPageProxy.cpp:
3211         (WebKit::WebPageProxy::WebPageProxy):
3212         (WebKit::WebPageProxy::setTextIndicatorAnimationProgress):
3213         (WebKit::WebPageProxy::performActionMenuHitTestAtLocation):
3214         * UIProcess/WebPageProxy.h:
3215         * UIProcess/mac/PageClientImpl.h:
3216         * UIProcess/mac/PageClientImpl.mm:
3217         (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
3218         (WebKit::PageClientImpl::didPerformDictionaryLookup):
3219         Remove the completion handler block argument from TextIndicator
3220         installation.
3221         Plumb animation progress through PageClient to TextIndicatorWindow.
3222
3223         * UIProcess/mac/WKActionMenuController.mm:
3224         (-[WKActionMenuController prepareForMenu:withEvent:]):
3225         (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
3226         * UIProcess/mac/WKImmediateActionController.mm:
3227         (-[WKImmediateActionController _clearImmediateActionState]):
3228         (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
3229         (-[WKImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
3230         (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
3231         (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
3232         (-[WKImmediateActionController _menuItemForDataDetectedText]):
3233         (-[WKImmediateActionController _animationControllerForText]):
3234         Forward immediate action gesture recognizer animation progress
3235         to TextIndicator. Force us to keep the selection when immediate
3236         action popovers steal first responder status from the WebView.
3237
3238         * WebProcess/WebPage/WebPage.h:
3239         * WebProcess/WebPage/WebPage.messages.in:
3240         * WebProcess/WebPage/mac/WebPageMac.mm:
3241         (WebKit::textIndicatorTransitionForActionMenu):
3242         (WebKit::WebPage::performActionMenuHitTestAtLocation):
3243         Factor out the presentation animation decision code.
3244         For immediate actions, of the Lookup range is equal to the
3245         selection range, use a Crossfade animation; otherwise, use a FadeIn
3246         animation.
3247         Push whether the actionMenuHitTest is for an immediate action
3248         or a menu to the Web process, to make the presentation animation
3249         decision code live entirely in the Web process.
3250         Avoid extracting encoded image data if we know we're doing
3251         an immediate action and will never need it.
3252
3253 2014-12-16  Anders Carlsson  <andersca@apple.com>
3254
3255         Fix lambda and std::function formatting
3256         https://bugs.webkit.org/show_bug.cgi?id=139719
3257
3258         Reviewed by Sam Weinig.
3259
3260         * DatabaseProcess/DatabaseProcess.cpp:
3261         (WebKit::DatabaseProcess::getOrigins):
3262         (WebKit::DatabaseProcess::deleteEntriesForOrigin):
3263         (WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates):
3264         (WebKit::DatabaseProcess::deleteAllEntries):
3265         * DatabaseProcess/DatabaseProcess.h:
3266         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3267         (WebKit::UniqueIDBDatabase::deleteDatabase):
3268         (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
3269         (WebKit::UniqueIDBDatabase::openTransaction):
3270         (WebKit::UniqueIDBDatabase::beginTransaction):
3271         (WebKit::UniqueIDBDatabase::commitTransaction):
3272         (WebKit::UniqueIDBDatabase::resetTransaction):
3273         (WebKit::UniqueIDBDatabase::rollbackTransaction):
3274         (WebKit::UniqueIDBDatabase::postTransactionOperation):
3275         (WebKit::UniqueIDBDatabase::changeDatabaseVersion):
3276         (WebKit::UniqueIDBDatabase::createObjectStore):
3277         (WebKit::UniqueIDBDatabase::deleteObjectStore):
3278         (WebKit::UniqueIDBDatabase::clearObjectStore):
3279         (WebKit::UniqueIDBDatabase::createIndex):
3280         (WebKit::UniqueIDBDatabase::deleteIndex):
3281         (WebKit::UniqueIDBDatabase::putRecord):
3282         (WebKit::UniqueIDBDatabase::getRecord):
3283         (WebKit::UniqueIDBDatabase::openCursor):
3284         (WebKit::UniqueIDBDatabase::cursorAdvance):
3285         (WebKit::UniqueIDBDatabase::cursorIterate):
3286         (WebKit::UniqueIDBDatabase::count):
3287         (WebKit::UniqueIDBDatabase::deleteRange):
3288         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
3289         * NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
3290         (WebKit::NetworkCacheStorage::store):
3291         * Shared/AsyncTask.h:
3292         (WebKit::AsyncTask::AsyncTask):
3293         * Shared/ChildProcess.cpp:
3294         (WebKit::didCloseOnConnectionWorkQueue):
3295         * Shared/WebContextMenuItemData.cpp:
3296         (WebKit::WebContextMenuItemData::WebContextMenuItemData):
3297         * Shared/WebContextMenuItemData.h:
3298         (WebKit::WebContextMenuItemData::selectionHandler):
3299         * Shared/mac/SecItemShim.cpp:
3300         (WebKit::responseMap):
3301         * UIProcess/Plugins/PluginProcessManager.cpp:
3302         (WebKit::PluginProcessManager::PluginProcessManager):
3303         * UIProcess/WebContext.cpp:
3304         (WebKit::WebContext::WebContext):
3305         (WebKit::m_processSuppressionDisabledForPageCounter):
3306         * UIProcess/WebOriginDataManagerProxy.cpp:
3307         (WebKit::CallbackSynchronizer::create):
3308         (WebKit::CallbackSynchronizer::CallbackSynchronizer):
3309         * UIProcess/WebPageProxy.cpp:
3310         (WebKit::WebPageProxy::WebPageProxy):
3311         * UIProcess/mac/WebContextMenuProxyMac.mm:
3312         (-[WKSelectionHandlerWrapper initWithSelectionHandler:]):
3313         (WebKit::nsMenuItemVector):
3314         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
3315         (WebKit::WebIDBServerConnection::deleteDatabase):
3316         (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
3317         (WebKit::WebIDBServerConnection::openTransaction):
3318         (WebKit::WebIDBServerConnection::beginTransaction):
3319         (WebKit::WebIDBServerConnection::commitTransaction):
3320         (WebKit::WebIDBServerConnection::resetTransaction):
3321         (WebKit::WebIDBServerConnection::rollbackTransaction):
3322         (WebKit::WebIDBServerConnection::setIndexKeys):
3323         (WebKit::WebIDBServerConnection::createObjectStore):
3324         (WebKit::WebIDBServerConnection::createIndex):
3325         (WebKit::WebIDBServerConnection::deleteIndex):
3326         (WebKit::WebIDBServerConnection::get):
3327         (WebKit::WebIDBServerConnection::put):
3328         (WebKit::WebIDBServerConnection::count):
3329         (WebKit::WebIDBServerConnection::deleteRange):
3330         (WebKit::WebIDBServerConnection::clearObjectStore):
3331         (WebKit::WebIDBServerConnection::deleteObjectStore):
3332         (WebKit::WebIDBServerConnection::changeDatabaseVersion):
3333         (WebKit::WebIDBServerConnection::openCursor):
3334         (WebKit::WebIDBServerConnection::cursorAdvance):
3335         (WebKit::WebIDBServerConnection::cursorIterate):
3336         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
3337         * WebProcess/OriginData/WebOriginDataManagerSupplement.h:
3338         * WebProcess/WebProcess.cpp:
3339         (WebKit::WebProcess::getOrigins):
3340         (WebKit::WebProcess::deleteEntriesForOrigin):
3341         (WebKit::WebProcess::deleteEntriesModifiedBetweenDates):
3342         (WebKit::WebProcess::deleteAllEntries):
3343         * WebProcess/WebProcess.h:
3344
3345 2014-12-16  Anders Carlsson  <andersca@apple.com>
3346
3347         Get rid of a couple of binds in WebKit2
3348         https://bugs.webkit.org/show_bug.cgi?id=139717
3349
3350         Reviewed by Sam Weinig.
3351
3352         * DatabaseProcess/DatabaseProcess.cpp:
3353         (WebKit::DatabaseProcess::postDatabaseTask):
3354         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3355         (WebKit::UniqueIDBDatabase::didShutdownBackingStore):
3356         (WebKit::UniqueIDBDatabase::postMainThreadTask):
3357         (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
3358         (WebKit::UniqueIDBDatabase::postDatabaseTask):
3359         (WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Deleted.
3360         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
3361         * Platform/IPC/mac/ConnectionMac.mm:
3362         (IPC::Connection::initializeDeadNameSource):
3363         * UIProcess/Launcher/ProcessLauncher.cpp:
3364         (WebKit::processLauncherWorkQueue):
3365         (WebKit::ProcessLauncher::ProcessLauncher):
3366         * WebProcess/Plugins/PluginView.cpp:
3367         (WebKit::PluginView::unprotectPluginFromDestruction):
3368         (WebKit::derefPluginView): Deleted.
3369
3370 2014-12-16  Andreas Kling  <akling@apple.com>
3371
3372         Use Ref for SecurityOrigin.
3373         <https://webkit.org/b/139710>
3374
3375         Reviewed by Anders Carlsson.
3376
3377         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
3378         (WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
3379         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
3380         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
3381         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
3382         (WebKit::WebIDBServerConnection::WebIDBServerConnection):
3383         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3384         (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
3385         (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
3386
3387 2014-12-16  Anders Carlsson  <andersca@apple.com>
3388
3389         Remove deprecated StorageNamespaceImpl overloads
3390         https://bugs.webkit.org/show_bug.cgi?id=139713
3391
3392         Reviewed by Andreas Kling.
3393
3394         * WebProcess/Storage/StorageNamespaceImpl.cpp:
3395         (WebKit::StorageNamespaceImpl::storageArea):
3396         (WebKit::StorageNamespaceImpl::copy):
3397         (WebKit::StorageNamespaceImpl::createSessionStorageNamespace): Deleted.
3398         (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): Deleted.
3399         * WebProcess/Storage/StorageNamespaceImpl.h:
3400
3401 2014-12-16  Beth Dakin  <bdakin@apple.com>
3402
3403         Speculative build fix.
3404
3405         * UIProcess/mac/WKImmediateActionController.mm:
3406         (-[WKImmediateActionController _animationControllerForCustomPreview]):
3407
3408 2014-12-16  Beth Dakin  <bdakin@apple.com>
3409
3410         REGRESSION: Preview popovers obscure the link, look wrong
3411         https://bugs.webkit.org/show_bug.cgi?id=139711
3412         -and corresponding-
3413         rdar://problem/19271854
3414
3415         Reviewed by Tim Horton.
3416
3417         Switch to using NSPopoverAnimationController.
3418         * UIProcess/mac/WKImmediateActionController.mm:
3419         (-[WKImmediateActionController _defaultAnimationController]):
3420         (-[WKImmediateActionController _animationControllerForCustomPreview]):
3421
3422 2014-12-16  Timothy Horton  <timothy_horton@apple.com>
3423
3424         Immediate action popovers can get stuck open
3425         https://bugs.webkit.org/show_bug.cgi?id=139709
3426         <rdar://problem/19270279>
3427
3428         Reviewed by Beth Dakin.
3429
3430         * UIProcess/mac/WKImmediateActionController.mm:
3431         (-[WKImmediateActionController _clearImmediateActionState]):
3432         Don't clear the animation controller; it breaks things and was unnecessary.
3433
3434 2014-12-16  Conrad Shultz  <conrad_shultz@apple.com>
3435
3436         Add a progress indicator to the preview popover
3437         https://bugs.webkit.org/show_bug.cgi?id=139699
3438
3439         Reviewed by Tim Horton.
3440
3441         * UIProcess/API/Cocoa/WKViewPrivate.h:
3442         * UIProcess/API/mac/WKView.mm:
3443         (-[WKView _setPreviewLoading:]):
3444         Wrap -[WKImmediateActionController setPreviewLoading:].
3445
3446         * UIProcess/mac/WKImmediateActionController.h:
3447         * UIProcess/mac/WKImmediateActionController.mm:
3448         (-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]):
3449         Flag the preview view controller as loading before beginning the load.
3450         (-[WKImmediateActionController setPreviewLoading:]):
3451         Wrap -[WKPagePreviewViewController setLoading:].
3452
3453         * UIProcess/mac/WKPagePreviewViewController.h:
3454         * UIProcess/mac/WKPagePreviewViewController.mm:
3455         (-[WKPagePreviewViewController setLoading:]):
3456         Toggle the progress indicator animation state.
3457         (-[WKPagePreviewViewController isLoading]):
3458         Accessor.
3459         (-[WKPagePreviewViewController loadView]):
3460         Create and center an indeterminate progress indicator that won't scale with the preview content.
3461
3462 2014-12-16  Enrica Casucci  <enrica@apple.com>
3463
3464         Fix iOS builders for 8.0
3465         https://bugs.webkit.org/show_bug.cgi?id=139495
3466
3467         Reviewed by Jer Noble
3468
3469         * UIProcess/API/Cocoa/WKWebView.mm:
3470         (-[WKWebView _mayAutomaticallyShowVideoOptimized]):
3471         * UIProcess/WebPageProxy.cpp:
3472         (WebKit::WebPageProxy::WebPageProxy):
3473         (WebKit::WebPageProxy::reattachToWebProcess):
3474         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
3475
3476 2014-12-16  Gavin Barraclough  <barraclough@apple.com>
3477
3478         Move Mac process suppression from WebCore to WebKit2
3479         https://bugs.webkit.org/show_bug.cgi?id=139705
3480
3481         Reviewed by Geoff Garen.
3482
3483         Currently PageThrottler constructs the PageActivityState, holds a copy of the