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