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