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