Use std::make_unique<> when creating an unique_ptr object.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2016-01-31  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2
3         Use std::make_unique<> when creating an unique_ptr object.
4         https://bugs.webkit.org/show_bug.cgi?id=153705
5
6         Reviewed by Darin Adler.
7
8         * UIProcess/WebPageProxy.cpp:
9         (WebKit::WebPageProxy::WebPageProxy): Use std::make_unique<> instead of RunLoopObserver::create().
10
11 2016-01-30  Dan Bernstein  <mitz@apple.com>
12
13         [Cocoa] Get rid of many WK_ macros for nullability
14         https://bugs.webkit.org/show_bug.cgi?id=153718
15
16         Sam Weinig reviewed an earlier version of this change, and Simon Fraser rubber-stamped this version.
17
18         * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
19           WK_NULLABLE, WK_NULL_UNSPECIFIED, and WK_NULLABLE_PROPERTY. Removed the
20           !__has_feature(assume_nonnull) case.
21
22         * mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also
23           chanegd to rewrite WK_NULLABLE_SPECIFIER to the modern _Nullable instead of __nullable.
24
25         Replaced instances of the above macros with their expansions.
26
27         * UIProcess/API/Cocoa/WKBackForwardList.h:
28         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
29         * UIProcess/API/Cocoa/WKError.h:
30         * UIProcess/API/Cocoa/WKFrameInfo.h:
31         * UIProcess/API/Cocoa/WKNavigationAction.h:
32         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
33         * UIProcess/API/Cocoa/WKNavigationResponse.h:
34         * UIProcess/API/Cocoa/WKScriptMessage.h:
35         * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
36         * UIProcess/API/Cocoa/WKSecurityOrigin.h:
37         * UIProcess/API/Cocoa/WKUIDelegate.h:
38         * UIProcess/API/Cocoa/WKUserContentController.h:
39         * UIProcess/API/Cocoa/WKUserScript.h:
40         * UIProcess/API/Cocoa/WKWebView.h:
41         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
42         * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
43         * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
44         * UIProcess/API/Cocoa/WKWindowFeatures.h:
45         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
46         * UIProcess/API/Cocoa/_WKElementInfo.h:
47         * UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
48         * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
49
50 2016-01-30  Dan Bernstein  <mitz@apple.com>
51
52         Reverted r195914, because at least one of the build.webkit.org builders still uses a compiler that doesn’t understand _Nullable.
53
54         * Shared/API/Cocoa/WKFoundation.h:
55         * UIProcess/API/Cocoa/WKBackForwardList.h:
56         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
57         * UIProcess/API/Cocoa/WKError.h:
58         * UIProcess/API/Cocoa/WKFrameInfo.h:
59         * UIProcess/API/Cocoa/WKNavigationAction.h:
60         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
61         * UIProcess/API/Cocoa/WKNavigationResponse.h:
62         * UIProcess/API/Cocoa/WKScriptMessage.h:
63         * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
64         * UIProcess/API/Cocoa/WKSecurityOrigin.h:
65         * UIProcess/API/Cocoa/WKUIDelegate.h:
66         * UIProcess/API/Cocoa/WKUserContentController.h:
67         * UIProcess/API/Cocoa/WKUserScript.h:
68         * UIProcess/API/Cocoa/WKWebView.h:
69         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
70         * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
71         * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
72         * UIProcess/API/Cocoa/WKWindowFeatures.h:
73         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
74         * UIProcess/API/Cocoa/_WKElementInfo.h:
75         * UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
76         * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
77         * mac/postprocess-framework-headers.sh:
78
79 2016-01-30  Commit Queue  <commit-queue@webkit.org>
80
81         Unreviewed, rolling out r195911.
82         https://bugs.webkit.org/show_bug.cgi?id=153723
83
84         Caused frequent assertion failures on bots (Requested by ap on
85         #webkit).
86
87         Reverted changeset:
88
89         "Replace CaseFoldingHash with ASCIICaseInsensitiveHash"
90         https://bugs.webkit.org/show_bug.cgi?id=153639
91         http://trac.webkit.org/changeset/195911
92
93 2016-01-30  Dan Bernstein  <mitz@apple.com>
94
95         [Cocoa] Get rid of WK_ macros for nullability
96         https://bugs.webkit.org/show_bug.cgi?id=153718
97
98         Reviewed by Sam Weinig.
99
100         * Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
101           WK_NULLABLE, WK_NULL_UNSPECIFIED, WK_NULLABLE_SPECIFIER, and WK_NULLABLE_PROPERTY.
102
103         * mac/postprocess-framework-headers.sh: Removed rules for rewriting those macros.
104
105         Replaced instances of those macros with their expansions, but using the modern _Nullable
106         instead of __nullable:
107
108         * UIProcess/API/Cocoa/WKBackForwardList.h:
109         * UIProcess/API/Cocoa/WKBackForwardListItem.h:
110         * UIProcess/API/Cocoa/WKError.h:
111         * UIProcess/API/Cocoa/WKFrameInfo.h:
112         * UIProcess/API/Cocoa/WKNavigationAction.h:
113         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
114         * UIProcess/API/Cocoa/WKNavigationResponse.h:
115         * UIProcess/API/Cocoa/WKScriptMessage.h:
116         * UIProcess/API/Cocoa/WKScriptMessageHandler.h:
117         * UIProcess/API/Cocoa/WKSecurityOrigin.h:
118         * UIProcess/API/Cocoa/WKUIDelegate.h:
119         * UIProcess/API/Cocoa/WKUserContentController.h:
120         * UIProcess/API/Cocoa/WKUserScript.h:
121         * UIProcess/API/Cocoa/WKWebView.h:
122         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
123         * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
124         * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
125         * UIProcess/API/Cocoa/WKWindowFeatures.h:
126         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
127         * UIProcess/API/Cocoa/_WKElementInfo.h:
128         * UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
129         * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
130
131 2016-01-30  Darin Adler  <darin@apple.com>
132
133         Replace CaseFoldingHash with ASCIICaseInsensitiveHash
134         https://bugs.webkit.org/show_bug.cgi?id=153639
135
136         Reviewed by Filip Pizlo.
137
138         * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash
139         for MIME types. MIME types are all ASCII.
140
141         * UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for
142         origins. Origin strings should use ASCII case insensitive matching and should not
143         fold non-ASCII case.
144
145         * WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.
146         MIME types are all ASCII.
147
148         * WebProcess/WebProcess.cpp:
149         (WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
150         origin strings. (See rationale above.)
151         (WebKit::hashForPlugInOrigin): Updated comment.
152
153 2016-01-30  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>
154
155         [GTK] Use configured python executable when executing generate-inspector-gresource-manifest.py
156         https://bugs.webkit.org/show_bug.cgi?id=153712
157
158         Reviewed by Michael Catanzaro.
159
160         * PlatformGTK.cmake:
161
162 2016-01-29  Ada Chan  <adachan@apple.com>
163
164         Enable VIDEO_PRESENTATION_MODE only in Debug and Release builds on Mac
165         https://bugs.webkit.org/show_bug.cgi?id=153665
166
167         Reviewed by Dan Bernstein.
168
169         * Configurations/FeatureDefines.xcconfig:
170
171 2016-01-29  Dan Bernstein  <mitz@apple.com>
172
173         Don’t use the “.Development” suffix for engineering builds targeting iOS devices, because the XPC cache is only aware of the unsuffixed service identifiers.
174
175         Reviewed by Chris Dumez.
176
177         * Configurations/DebugRelease.xcconfig:
178
179 2016-01-29  Enrica Casucci  <enrica@apple.com>
180
181         One more iOS build fix.
182
183         Unreviewed.
184
185         * Platform/spi/ios/UIKitSPI.h:
186
187 2016-01-29  Enrica Casucci  <enrica@apple.com>
188
189         iOS build fix after r195826.
190
191         Unreviewed.
192
193         * Platform/spi/ios/UIKitSPI.h:
194
195 2016-01-29  Enrica Casucci  <enrica@apple.com>
196
197         Disable text interaction with pencil.
198         https://bugs.webkit.org/show_bug.cgi?id=153655
199         rdar://problem/24337778
200
201         Reviewed by Tim Horton.
202
203         * Platform/spi/ios/UIKitSPI.h:
204         * UIProcess/ios/WKContentViewInteraction.mm:
205         (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]):
206         (-[WKContentView _singleTapCommited:]):
207
208 2016-01-29  Mario Sanchez Prada  <mario@endlessm.com>
209
210         [GTK] WebProcess crashes when quickly attempting many DnD operations
211         https://bugs.webkit.org/show_bug.cgi?id=138468
212
213         Reviewed by Michael Catanzaro.
214
215         Guard all the new DnD-related code under GTK_CHECK_VERSION #if's to
216         make sure we don't bump the required version of GTK+ up to 3.16, and
217         it's buildable again with GTK+ >= 3.6.
218
219         * UIProcess/gtk/DragAndDropHandler.cpp:
220         (WebKit::DragAndDropHandler::DragAndDropHandler):
221         (WebKit::DragAndDropHandler::startDrag):
222         (WebKit::DragAndDropHandler::fillDragData):
223         (WebKit::DragAndDropHandler::finishDrag):
224         * UIProcess/gtk/DragAndDropHandler.h:
225
226 2016-01-28  Antti Koivisto  <antti@apple.com>
227
228         Enable background tab suspension by default on OSX
229         https://bugs.webkit.org/show_bug.cgi?id=153629
230         <rdar://problem/24402895>
231
232         Reviewed by Andreas Kling.
233
234         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
235         (WebKit::registerUserDefaultsIfNeeded):
236
237 2016-01-28  Dan Bernstein  <mitz@apple.com>
238
239         [Cocoa] Use the non-Development variants of XPC services for development
240         https://bugs.webkit.org/show_bug.cgi?id=152545
241
242         Reviewed by Darin Adler.
243
244         The purpose of the Development variants of the WebKit XPC services is to allow the service
245         to link against the development WebKit dylibs rather than the system ones. Instead, we
246         accomplish this here by including dyld environment load commands in the normal services
247         when the WebKit dylibs are expected to be relocated. A new build setting,
248         WK_RELOCATABLE_FRAMEWORKS, controls this.
249
250         To make it easy to identify engineering builds of the services at runtime, they can be
251         given a distinctive suffix. A new build setting, WK_XPC_SERVICE_SUFFIX, controls this.
252
253         * Configurations/DebugRelease.xcconfig: Set WK_RELOCATABLE_FRAMEWORKS to YES and
254           WK_XPC_SERVICE_SUFFIX to ".Development".
255
256         * Configurations/BaseTarget.xcconfig: Make the quoted value of the WK_XPC_SERVICE_SUFFIX
257           build setting available as a preprocessor macro.
258
259         * Configurations/BaseXPCService.xcconfig:
260           - Simplify the definition of INSTALL_PATH now that there are no Development variants.
261           - Define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS when building relocatable frameworks to include
262             -dyld_env options setting DYLD_FRAMEWORK_PATH to point to the directory containing
263             WebKit.framework and DYLD_LIBRARY_PATH to the framework’\80\99s Frameworks subdirectory. When
264             not building relocatable frameworks, define WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to include
265             a -headerpad option allowing dyld environment load commands to be added after the fact.
266           - Add WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS.
267           - Define WK_XPC_SERVICE_INSERT_LIBRARIES_DIR when building relocatable frameworks to be
268             the path to the Frameworks subdirectory of the WebKit framework containing the service.
269             When not building relocatable frameworks, define it to the absolute path of the
270             Frameworks subdirectory of the installed WebKit framework.
271
272         * Configurations/DatabaseService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME,
273           and remove no-longer-used definition of WK_XPC_SERVICE_VARIANT.
274         * Configurations/NetworkService.xcconfig: Append WK_XPC_SERVICE_SUFFIX to PRODUCT_NAME, add
275           WK_RELOCATABLE_FRAMEWORKS_LDFLAGS to OTHER_LDFLAGS, and remove no-longer-used definition
276           of WK_XPC_SERVICE_VARIANT.
277         * Configurations/PluginService.32.xcconfig: Ditto.
278         * Configurations/PluginService.64.xcconfig: Ditto.
279         * Configurations/WebContentService.xcconfig: Ditto.
280
281         * Configurations/DatabaseService.Development.xcconfig: Removed.
282         * Configurations/NetworkService.Development.xcconfig: Removed.
283         * Configurations/PluginService.32.Development.xcconfig: Removed.
284         * Configurations/PluginService.64.Development.xcconfig: Removed.
285         * Configurations/WebContentService.Development.xcconfig: Removed.
286
287         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development: Removed.
288         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Removed.
289         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Set
290           CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
291
292         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development: Removed.
293         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Removed.
294         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Removed.
295         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Set
296           CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
297           WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
298         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Set
299           CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
300         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Ditto.
301
302         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
303         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development: Removed.
304         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: Removed.
305
306         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development: Removed.
307         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Removed.
308         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Removed.
309         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Set
310           CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix. Use
311           WK_XPC_SERVICE_INSERT_LIBRARIES_DIR in the value of DYLD_INSERT_LIBRARIES.
312         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Set
313           CFBundleIdentifier to PRODUCT_NAME in order to include the optional suffix.
314         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Ditto.
315
316         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: Removed.
317
318         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
319         (WebKit::XPCServiceEventHandler): If stdout and stderr file descriptors are included in the
320           bootstrap message, hook them up to the serviceâ\80\99s stdout and stderr, like the Development
321           services do.
322         (main): Moved code from XPCServiceMain.Development.mm to handle the optional
323           OverrideLanguages array.
324
325         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
326         (WebKit::addDYLDEnvironmentAdditions): Addressed a FIXME.
327         (WebKit::serviceName): Removed forDevelopment argument and .Development service names.
328           Added WK_XPC_SERVICE_SUFFIX to the names.
329         (WebKit::connectToService): Updated for removal of forDevelopment argument. Removed
330           "framework-executable-path" key from the bootstrap message, because it was only used in
331           the Development variants.
332         (WebKit::connectToReExecService): Deleted.
333         (WebKit::createService): Removed call to connectToReExecService. Instead pass forDevelopment
334           to connectToService.
335
336         * WebKit2.xcodeproj/project.pbxproj: Removed references to removed files. Removed targets
337           for Development services. Removed Development services from script build phase that copies
338           services into the framework in engineering builds, and made it respect
339           WK_XPC_SERVICE_SUFFIX.
340
341 2016-01-28  Enrica Casucci  <enrica@apple.com>
342
343         Should avoid navigation for some data detector urls.
344         https://bugs.webkit.org/show_bug.cgi?id=153600
345
346         Reviewed by Tim Horton.
347
348         When a tap is commited, we normally generate a synthetic click if
349         the node responds to click events.
350         This patch adds the logic to prevent that from happening if the node
351         is a data detector link with certain characteristics (calendar event, telephone, etc.).
352         If this is the case, we compute the interaction information as position, send it
353         over to the UI process and notify that we did not handle the tap.
354         The page client is now also notified of this event and can show the data detector sheet if
355         appropriate.
356
357         * UIProcess/PageClient.h:
358         * UIProcess/ios/PageClientImplIOS.h:
359         * UIProcess/ios/PageClientImplIOS.mm:
360         (WebKit::PageClientImpl::toolTipChanged):
361         (WebKit::PageClientImpl::didNotHandleTapAsClick):
362         (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
363         * UIProcess/ios/WKContentViewInteraction.h:
364         * UIProcess/ios/WKContentViewInteraction.mm:
365         (-[WKContentView clearSelection]):
366         (-[WKContentView _didNotHandleTapAsClick:]):
367         (-[WKContentView _positionInformationDidChange:]):
368         * UIProcess/ios/WebPageProxyIOS.mm:
369         (WebKit::WebPageProxy::didNotHandleTapAsClick):
370         * WebProcess/WebPage/ios/WebPageIOS.mm:
371         (WebKit::WebPage::commitPotentialTap):
372
373 2016-01-28  Brent Fulgham  <bfulgham@apple.com>
374
375         [iOS] Update Web Process sandbox profile for audiodeviceclock access
376         https://bugs.webkit.org/show_bug.cgi?id=153571
377         <rdar://problem/24134612>
378
379         Reviewed by Alexey Proskuryakov.
380
381         * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
382
383 2016-01-26  Ada Chan  <adachan@apple.com>
384
385         Get WebVideoFullscreenManager and related classes to also compile for Mac platform
386         with video presentation mode support.
387         https://bugs.webkit.org/show_bug.cgi?id=153221
388
389         Reviewed by Eric Carlson.
390
391         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
392         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
393         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
394         Enabled also for Mac with video presentation mode support.
395         (-[WKLayerHostView makeBackingLayer]):
396         Make sure this view uses CALayerHost for its layer.
397         (WebKit::WebVideoFullscreenManagerProxy::invalidate):
398         (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface):
399         (WebKit::WebVideoFullscreenManagerProxy::ensureInterface):
400         (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
401         Replace WebCore::WebVideoFullscreenInterfaceAVKit with PlatformWebVideoFullscreenInterface.
402         (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
403         +[UIWindow _synchronizeDrawingAcrossProcesses] is not available on Mac.
404
405         * UIProcess/WebPageProxy.cpp:
406         (WebKit::WebPageProxy::WebPageProxy):
407         (WebKit::WebPageProxy::reattachToWebProcess):
408         (WebKit::WebPageProxy::viewDidLeaveWindow):
409         (WebKit::WebPageProxy::resetState):
410         * UIProcess/WebPageProxy.h:
411         The code that creates m_videoFullscreenManager is now enabled also on Mac with video
412         presentation mode support.
413
414         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
415         * WebProcess/WebCoreSupport/WebChromeClient.h:
416         Enable the API related to the video fullscreen layer also on Mac with video presentation
417         mode support.
418
419         * WebProcess/WebPage/WebPage.cpp:
420         * WebProcess/WebPage/WebPage.h:
421         The code that creates m_videoFullscreenManager is now enabled also on Mac with video
422         presentation mode support.
423
424         * WebProcess/cocoa/WebVideoFullscreenManager.h:
425         * WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
426         * WebProcess/cocoa/WebVideoFullscreenManager.mm:
427         Enabled also for Mac with video presentation mode support.
428         (WebKit::WebVideoFullscreenManager::supportsVideoFullscreen):
429         Return false for now on Mac.
430
431 2016-01-28  Darin Adler  <darin@apple.com>
432
433         Remove equalIgnoringCase since all callers really wanted equalIgnoringASCIICase
434         https://bugs.webkit.org/show_bug.cgi?id=153411
435
436         Reviewed by Ryosuke Niwa.
437
438         * Shared/API/c/WKString.cpp:
439         (WKStringIsEqualToUTF8CStringIgnoringCase): Use equalIgnoringASCIICase.
440         This is a change in behavior for callers who passed non-ASCII letters to
441         this function and expected case insensitive comparison.
442
443         * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
444         (WebKit::PDFPlugin::streamDidReceiveResponse): Use equalIgnoringASCIICase.
445         No change in behavior because this is just checking a fixed ASCII MIME type.
446         (WebKit::PDFPlugin::manualStreamDidReceiveResponse): Ditto.
447         * WebProcess/Plugins/PDF/PDFPlugin.mm:
448         (WebKit::PDFPlugin::streamDidReceiveResponse): Ditto.
449         (WebKit::PDFPlugin::manualStreamDidReceiveResponse): Ditto.
450
451 2016-01-27  Alex Christensen  <achristensen@webkit.org>
452
453         Fix CMake build after r195722.
454
455         * PlatformMac.cmake:
456         Include new file.
457
458 2016-01-27  Dan Bernstein  <mitz@apple.com>
459
460         Fix other builds.
461
462         * Configurations/WebKit.xcconfig:
463
464 2016-01-27  Anders Carlsson  <andersca@apple.com>
465
466         Fix build.
467
468         * Configurations/WebKit.xcconfig:
469
470 2016-01-27  Krzysztof Czech  <k.czech@samsung.com>
471
472         [EFL] Remove unused accessibility related code
473         https://bugs.webkit.org/show_bug.cgi?id=153543
474
475         Reviewed by Darin Adler.
476
477         Do not need to load external library to expose WebKit's
478         accessibility tree. There have been changes in EFL/Elementary
479         in terms of support of accessibility and we should follow those.
480
481         * WebProcess/efl/WebProcessMainEfl.cpp:
482         (eailLibraryPath): Deleted.
483         (eail): Deleted.
484
485 2016-01-27  Enrica Casucci  <enrica@apple.com>
486
487         Cache results of data detection in the UI process when load completes.
488         https://bugs.webkit.org/show_bug.cgi?id=153560
489
490         Reviewed by Tim Horton.
491
492         This patch changes when the results of data detections are sent to the
493         UIProcess. Before this change, they were only provided as part of
494         InteractionInformationAtPosition, which is populated when long press
495         gesture is triggered.
496         We need to have the results available if the client wants to allow navigation
497         to a data detector link, in order to allow them to retrieve the full url.
498         With this change, we now send the results as soon as they are computed
499         and keep them in the WebPageProxy object so that they can be fetched when
500         necessary from a WKWebView private interface.
501
502         * Shared/Cocoa/DataDetectionResult.h: Added.
503         * Shared/Cocoa/DataDetectionResult.mm: Added.
504         (WebKit::DataDetectionResult::encode):
505         (WebKit::DataDetectionResult::decode):
506         * UIProcess/API/Cocoa/WKWebView.mm:
507         (-[WKWebView _snapshotLayerContentsForBackForwardListItem:]):
508         (-[WKWebView _dataDetectionResults]):
509         (-[WKWebView _didRelaunchProcess]):
510         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
511         * UIProcess/Cocoa/WebPageProxyCocoa.mm:
512         (WebKit::WebPageProxy::setDataDetectionResult):
513         (WebKit::WebPageProxy::saveRecentSearches):
514         * UIProcess/WebPageProxy.h:
515         (WebKit::WebPageProxy::websiteDataStore):
516         (WebKit::WebPageProxy::dataDetectionResults):
517         (WebKit::WebPageProxy::scrollingCoordinatorProxy):
518         * UIProcess/WebPageProxy.messages.in:
519         * UIProcess/ios/WKContentViewInteraction.h:
520         * UIProcess/ios/WKContentViewInteraction.mm:
521         (-[WKContentView ensurePositionInformationIsUpToDate:]):
522         (-[WKContentView _dataDetectionResults]):
523         (-[WKContentView gestureRecognizerShouldBegin:]):
524         * WebKit2.xcodeproj/project.pbxproj:
525         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
526         (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
527         (WebKit::WebFrameLoaderClient::dispatchDidFinishDataDetection):
528         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
529         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
530         * WebProcess/WebPage/WebPage.cpp:
531         (WebKit::WebPage::updatePreferences):
532         (WebKit::WebPage::setDataDetectionResults):
533         (WebKit::WebPage::willCommitLayerTree):
534         * WebProcess/WebPage/WebPage.h:
535         (WebKit::WebPage::shouldExtendIncrementalRenderingSuppression):
536
537 2016-01-27  Anders Carlsson  <andersca@apple.com>
538
539         Include the right WebKitAdditions files
540         https://bugs.webkit.org/show_bug.cgi?id=153572
541
542         Reviewed by Tim Horton.
543
544         * UIProcess/WebPageProxy.cpp:
545         (WebKit::WebPageProxy::WebPageProxy):
546         (WebKit::WebPageProxy::reattachToWebProcess):
547
548 2016-01-27  Daniel Bates  <dabates@apple.com>
549
550         Move ContentSecurityPolicy.{cpp, h} to its own directory
551         https://bugs.webkit.org/show_bug.cgi?id=153527
552         <rdar://problem/24359892>
553
554         Reviewed by Sam Weinig.
555
556         Add ${WEBCORE_DIR}/page/csp to the list of WebKit2 include directories.
557
558         * CMakeLists.txt:
559
560 2016-01-27  Anders Carlsson  <andersca@apple.com>
561
562         Add WebKitAdditions extension points to WebCore, WebKit and WebKitLegacy
563         https://bugs.webkit.org/show_bug.cgi?id=153550
564
565         Reviewed by Sam Weinig.
566
567         * DerivedSources.make:
568         Add the ability for WebKitAdditions to add new message receivers.
569
570         * Shared/Cocoa/WebKitAdditions.mm: Added.
571         Add addition files.
572
573         * Shared/WebCoreArgumentCoders.h:
574         Add extension points.
575
576         * UIProcess/WebPageProxy.cpp:
577         (WebKit::WebPageProxy::WebPageProxy):
578         (WebKit::WebPageProxy::reattachToWebProcess):
579         (WebKit::WebPageProxy::resetState):
580         Add extension points.
581
582         * UIProcess/WebPageProxy.h:
583         Add extension points.
584
585         * WebKit2.xcodeproj/project.pbxproj:
586         Add new files.
587
588         * WebProcess/WebPage/WebPage.cpp:
589         Add extension points.
590
591 2016-01-27  Chris Dumez  <cdumez@apple.com>
592
593         window.atob() should ignore spaces in input
594         https://bugs.webkit.org/show_bug.cgi?id=153522
595         <rdar://problem/24357822>
596
597         Reviewed by Benjamin Poulain.
598
599         * UIProcess/mac/WebInspectorProxyMac.mm:
600         (WebKit::WebInspectorProxy::platformSave):
601
602 2016-01-27  Ryosuke Niwa  <rniwa@webkit.org>
603
604         Add API to access closed shadowRoot in InjectedBundle
605         https://bugs.webkit.org/show_bug.cgi?id=153533
606
607         Reviewed by Antti Koivisto.
608
609         Added WKBundleScriptWorldMakeAllShadowRootsOpen to make all shadow roots open.
610         This is needed to keep supporting certain browser-level features such as autofill.
611
612         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
613         (WKBundleScriptWorldMakeAllShadowRootsOpen): Added.
614         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
615         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
616         (WebKit::InjectedBundleScriptWorld::makeAllShadowRootsOpen): Added.
617         * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
618
619 2016-01-27  Zhuo Li  <zachli@apple.com>
620
621         Need ability to specify alternate image for AutoFill button in input fields.
622         https://bugs.webkit.org/show_bug.cgi?id=153116.
623         rdar://problem/23384854.
624
625         Reviewed by Darin Adler.
626
627         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
628         (toAutoFillButtonType): Convert the WebKit AutoFill button type enum to WebCore AutoFill button
629         type enum.
630         (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabledWithButtonType): Added to be able to specify
631         what the AutoFill button type is. None means the AutoFill button is not shown.
632         (WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabled): Deprecate this method.
633         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Declare an AutoFill button type enum.
634         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
635         (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFillButtonEnabled): None means the AutoFill button is not enabled.
636         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFillButtonEnabledWithButtonType): Use the new parameter to specify
637         what the AutoFill button type is.
638         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
639
640 2016-01-27  Dan Bernstein  <mitz@apple.com>
641
642         More trying to fix the build.
643
644         * Configurations/WebKit.xcconfig:
645
646 2016-01-27  Alexey Proskuryakov  <ap@apple.com>
647
648         Remove ENABLE_CURRENTSRC
649         https://bugs.webkit.org/show_bug.cgi?id=153545
650
651         Reviewed by Simon Fraser.
652
653         * Configurations/FeatureDefines.xcconfig:
654
655 2016-01-27  Sam Weinig  <sam@webkit.org>
656
657         Try to fix the build.
658
659         * Configurations/WebKit.xcconfig:
660
661 2016-01-26  Sam Weinig  <sam@webkit.org>
662
663         Attempt to force a rebuild.
664
665         * DerivedSources.make:
666
667 2016-01-26  Tim Horton  <timothy_horton@apple.com>
668
669         REGRESSION (r194557): Keyboard shortcuts stop working after the WKWebView is unparented and reparented
670         https://bugs.webkit.org/show_bug.cgi?id=153492
671         <rdar://problem/24138989>
672
673         Reviewed by Dan Bernstein.
674
675         * UIProcess/ios/WKContentViewInteraction.h:
676         * UIProcess/ios/WKContentViewInteraction.mm:
677         (-[WKContentView canBecomeFirstResponder]):
678         (-[WKContentView becomeFirstResponder]):
679         (-[WKContentView resignFirstResponder]):
680         When WKWebView is unparented, WKContentView will attempt to resignFirstResponder upwards,
681         first asking WKWebView. After r194557, WKWebView will accept first responder and forward
682         it on to the WKContentView, which will happily accept it again, despite being the view
683         that's trying to resign. This will cause us to completely lose first responder,
684         where it was actually supposed to propagate up above WKWebView to the client.
685
686         Keep track of when WKContentView is resigning first responder, and don't
687         let it become first responder while it is doing so, breaking the cycle.
688
689         * UIProcess/ios/WKContentView.h:
690         * UIProcess/API/Cocoa/WKWebView.mm:
691         (-[WKWebView canBecomeFirstResponder]):
692         If the WKContentView is currently in the process of resigning first responder status,
693         we shouldn't accept it, because clients expect to receive it.
694
695 2016-01-26  I-Ting Liu  <iting_liu@apple.com>
696
697         Implement wildcard matching for plug-in policy host.
698         https://bugs.webkit.org/show_bug.cgi?id=153090
699
700         Reviewed by Darin Adler.
701
702         WebPlatformStrategies decides the plug-in load policy for a host by looking
703         for a matched hostname in the list of plug-in policies sent by Safari. This
704         patch adds support for wildcard matching -- if there's a policy with hostname
705         "*.example.com," the policy for "foo.example.com" would be replaced with that
706         of "*.example.com" if there's no policy for this hostname. If there is more
707         than one wildcard hostname, the host with the longest wildcard hostname will
708         be used.
709
710         This patch adds a helper function in StringUtilites that matches a string to
711         another string, which may contain wildcard ('*') characters.
712
713         * Platform/mac/StringUtilities.h:
714         - Add WebKit::stringMatchesWildcardString.
715         - Remove #if ENABLE(TELEPHONE_NUMBER_DETECTION) && PLATFORM(MAC) flag so that
716         the compiler allows exposing StringUtilities.h.
717         - Add #if __OBJC__ to allow the file to be included in WebPltformStrategies.cpp
718
719         * Platform/mac/StringUtilities.mm:
720         (WebKit::stringMatchesWildcardString):
721         Return true if the entire first given String matches the second. The second string 
722         may contain wildcard characters.
723         (WebKit::wildcardRegexPatternString):
724         Return the regex expression from a wildcard string by replacing the wildcard
725         character ('*') with (".*") and escaping regular expression metacharacters.
726         (WebKit::formattedPhoneNumberString):
727         To expose StringUtilities.h for tests, we removed #if ENABLE(TELEPHONE_NUMBER_DETECTION)
728         && PLATFORM(MAC) flag in the header. Add a function that returns nil for
729         #if !(ENABLE(TELEPHONE_NUMBER_DETECTION) && PLATFORM(MAC)) to fix the removal
730         of the flag in the header file.
731
732         * WebKit2.xcodeproj/project.pbxproj:
733         Change the file attribute of StringUtilities.h from Project to Private for
734         testing in TestWebKitAPI.
735
736         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
737         (WebKit::WebPlatformStrategies::longestMatchedWildcardHostForHost):
738         Return the wildcard hostname whose matched substring with the host is the longest.
739         (WebKit::WebPlatformStrategies::replaceHostWithMatchedWildcardHost):
740         Replace the look-up host with a matched wildcard host if there is a match and that
741         the matched wildcard host's plug-in identifier is the same as that of the host.
742         (WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost):
743         Try to replace the look-up host with the wildcard host if there's no policy for
744         the host. Restructure the function to reduce hashmap lookup.
745
746         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
747         Declare the methods.
748
749 2016-01-26  Anders Carlsson  <andersca@apple.com>
750
751         Remove -d flag from make invocation.
752
753         * WebKit2.xcodeproj/project.pbxproj:
754
755 2016-01-26  Joseph Pecoraro  <pecoraro@apple.com>
756
757         Generalize ResourceUsageData gathering to be used outside of ResourceUsageOverlay
758         https://bugs.webkit.org/show_bug.cgi?id=153509
759         <rdar://problem/24354291>
760
761         Reviewed by Andreas Kling.
762
763         * WebProcess/WebPage/WebPage.cpp:
764         (WebKit::WebPage::updatePreferences):
765         Rename the ENABLE flag.
766
767 2016-01-26  Commit Queue  <commit-queue@webkit.org>
768
769         Unreviewed, rolling out r195602.
770         https://bugs.webkit.org/show_bug.cgi?id=153526
771
772         broke more than it fixed (Requested by thorton on #webkit).
773
774         Reverted changeset:
775
776         "REGRESSION (r194557): Keyboard shortcuts stop working after
777         the WKWebView is unparented and reparented"
778         https://bugs.webkit.org/show_bug.cgi?id=153492
779         http://trac.webkit.org/changeset/195602
780
781 2016-01-26  Anders Carlsson  <andersca@apple.com>
782
783         WebKitAdditions should be able to modify derived source rules
784         https://bugs.webkit.org/show_bug.cgi?id=153514
785
786         Reviewed by Tim Horton.
787
788         * Configurations/BaseTarget.xcconfig:
789         * Configurations/WebKit.xcconfig:
790         Set WEBKITADDITIONS_HEADER_SEARCH_PATHS.
791
792         * DerivedSources.make:
793         Move the path computation earlier and include WebKitDerivedSourcesAdditions.make.
794
795         * WebKit2.xcodeproj/project.pbxproj:
796         Pass our WebKitAdditions paths as include paths to make.
797
798 2016-01-26  Anders Carlsson  <andersca@apple.com>
799
800         Add a private WKUIDelegate method for getting a presenting view controller for a WKWebView on iOS
801         https://bugs.webkit.org/show_bug.cgi?id=153510
802
803         Reviewed by Dan Bernstein.
804
805         * UIProcess/API/APIUIClient.h:
806         (API::UIClient::presentingViewController):
807         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
808         * UIProcess/Cocoa/UIDelegate.h:
809         * UIProcess/Cocoa/UIDelegate.mm:
810         (WebKit::UIDelegate::setDelegate):
811         (WebKit::UIDelegate::UIClient::presentingViewController):
812
813 2016-01-26  Dean Jackson  <dino@apple.com>
814
815         [iOS] Documents without an explicit width should not get fast tapping
816         https://bugs.webkit.org/show_bug.cgi?id=153465
817         <rdar://problem/23962529>
818
819         Reviewed by Simon Fraser (and Wenson Hseih).
820
821         As the title says, documents that do not set a viewport should
822         not get the fast click behaviour. There were complaints that we broke
823         double-tap to scroll in ImageDocuments where the image was narrow and long.
824
825         The fix is to just keep a flag that tells the UI process if the
826         width was explicit. However, it turns out that those ImageDocuments
827         are given an explicit device-width, which is fine for scaling but
828         really should behave as auto for fast tapping. So we also need
829         to tell the UIProcess if the viewport arguments came from an
830         ImageDocument.
831
832         * Shared/mac/RemoteLayerTreeTransaction.h: Add two new flags into
833         the transaction.
834         (WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidthWasExplicit):
835         (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidthWasExplicit):
836         (WebKit::RemoteLayerTreeTransaction::viewportMetaTagCameFromImageDocument):
837         (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagCameFromImageDocument):
838         * Shared/mac/RemoteLayerTreeTransaction.mm:
839         (WebKit::RemoteLayerTreeTransaction::encode):
840         (WebKit::RemoteLayerTreeTransaction::decode):
841         (WebKit::RemoteLayerTreeTransaction::description):
842
843         * UIProcess/API/Cocoa/WKWebView.mm:
844         (-[WKWebView _didCommitLayerTree:]): Notice whether or not the viewport
845         width was explicit.
846         (-[WKWebView _allowsDoubleTapGestures]): Return yes if the width
847         was not explicit, or if the viewport came from an ImageDocument.
848         * WebProcess/WebPage/WebPage.cpp:
849         (WebKit::WebPage::willCommitLayerTree):
850
851 2016-01-26  Tim Horton  <timothy_horton@apple.com>
852
853         REGRESSION (r194557): Keyboard shortcuts stop working after the WKWebView is unparented and reparented
854         https://bugs.webkit.org/show_bug.cgi?id=153492
855         <rdar://problem/24138989>
856
857         Reviewed by Dan Bernstein.
858
859         * UIProcess/ios/WKContentViewInteraction.h:
860         * UIProcess/ios/WKContentViewInteraction.mm:
861         (-[WKContentView canBecomeFirstResponder]):
862         (-[WKContentView becomeFirstResponder]):
863         (-[WKContentView resignFirstResponder]):
864         When WKWebView is unparented, WKContentView will attempt to resignFirstResponder upwards,
865         first asking WKWebView. After r194557, WKWebView will accept first responder and forward
866         it on to the WKContentView, which will happily accept it again, despite being the view
867         that's trying to resign. This will cause us to completely lose first responder,
868         where it was actually supposed to propagate up above WKWebView to the client.
869
870         Keep track of when WKContentView is resigning first responder, and don't
871         let it become first responder while it is doing so, breaking the cycle.
872
873 2016-01-25  Ada Chan  <adachan@apple.com>
874
875         Move WebVideoFullscreenManager and related classes from iOS specific folders to cocoa folders
876         https://bugs.webkit.org/show_bug.cgi?id=153473
877
878         Reviewed by Eric Carlson.
879
880         * DerivedSources.make:
881         Add new paths.
882         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h.
883         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in.
884         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm.
885         (WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
886         Fix a style error by moving the opening curly brace to the same line as the for statement.
887         * WebKit2.xcodeproj/project.pbxproj:
888         Update due to changes to the file locations.
889         * WebProcess/cocoa/WebVideoFullscreenManager.h: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.h.
890         * WebProcess/cocoa/WebVideoFullscreenManager.messages.in: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.messages.in.
891         * WebProcess/cocoa/WebVideoFullscreenManager.mm: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm.
892         (WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges):
893         Fix a style error by adding a missing space after a comma.
894
895 2016-01-26  Daniel Bates  <dabates@apple.com>
896
897         WebKitTestRunner: Credential cache is not cleared between tests
898         https://bugs.webkit.org/show_bug.cgi?id=153407
899         <rdar://problem/24280834>
900
901         Reviewed by Alexey Proskuryakov.
902
903         Expose SPI to call CredentialStorage::clearCredentials() on the default network storage
904         session to clear cached credentials.
905
906         * NetworkProcess/NetworkProcess.cpp:
907         (WebKit::NetworkProcess::clearCachedCredentials): Added.
908         * NetworkProcess/NetworkProcess.h:
909         * NetworkProcess/NetworkProcess.messages.in: Added message ClearCachedCredentials().
910         * UIProcess/API/C/WKContext.cpp:
911         (WKContextClearCachedCredentials): Added.
912         * UIProcess/API/C/WKContextPrivate.h:
913         * UIProcess/WebProcessPool.cpp:
914         (WebKit::WebProcessPool::clearCachedCredentials): Notify all web processes and the
915         network process to clear cached credentials.
916         * UIProcess/WebProcessPool.h:
917         * WebProcess/WebProcess.cpp:
918         (WebKit::WebProcess::clearCachedCredentials): Clear cached credentials in the default
919         network storage session.
920         * WebProcess/WebProcess.h:
921         * WebProcess/WebProcess.messages.in: Added message ClearCachedCredentials().
922
923 2016-01-26  Mario Sanchez Prada  <mario@endlessm.com>
924
925         [GTK] WebProcess crashes when quickly attempting many DnD operations
926         https://bugs.webkit.org/show_bug.cgi?id=138468
927
928         Reviewed by Michael Catanzaro.
929
930         Do not allow different DnD operations over the same element at the
931         same time, so that any new attempt to DnD an element happening before
932         a previous attempt has ended will take precedence, cancelling the older
933         operation before going ahead with the new one.
934
935         This is consistent with how WebCore::EventHandler handles DnD operations,
936         preventing the web process from crashing in scenarios where the user might
937         try to perform many DnD operations over the same element very quickly.
938
939         * UIProcess/gtk/DragAndDropHandler.cpp:
940         (WebKit::DragAndDropHandler::DragAndDropHandler): Initialized new member.
941         (WebKit::DragAndDropHandler::startDrag): Ensure a previous DnD operation
942         is cancelled before handling the new one that has just started.
943         (WebKit::DragAndDropHandler::fillDragData): Protect against calling this
944         function from webkitWebViewBaseDragDataGet for already cancelled operations.
945         (WebKit::DragAndDropHandler::finishDrag): Protect against calling this
946         function from webkitWebViewBaseDragEnd for already cancelled operations.
947         * UIProcess/gtk/DragAndDropHandler.h:
948
949 2016-01-25  Enrica Casucci  <enrica@apple.com>
950
951         Add support for DataDetectors in WK (iOS).
952         https://bugs.webkit.org/show_bug.cgi?id=152989
953         rdar://problem/22855960
954
955         Reviewed by Tim Horton.
956
957         Moving InteractionInformationAtPosition files to platform folder,
958         since this is only used on iOS and changing from .cpp to .mm.
959         The structure is extended to include data detection specific fields
960         and the relevant encode/decode functions have been updated to
961         handle the new fields.
962         The patch also adds a new WKUIDelegatePrivate method to allow
963         the client to provide additional context for data detection actions.
964
965         * Platform/spi/ios/UIKitSPI.h:
966         * Shared/InteractionInformationAtPosition.cpp: Removed.
967         * Shared/InteractionInformationAtPosition.h: Removed.
968         * Shared/ios/InteractionInformationAtPosition.h: Copied from Shared/InteractionInformationAtPosition.h.
969         * Shared/ios/InteractionInformationAtPosition.mm: Copied from Shared/InteractionInformationAtPosition.cpp.
970         (WebKit::InteractionInformationAtPosition::encode):
971         (WebKit::InteractionInformationAtPosition::decode):
972         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
973         * UIProcess/WebPageProxy.h:
974         * UIProcess/ios/WKActionSheetAssistant.h:
975         * UIProcess/ios/WKActionSheetAssistant.mm:
976         (-[WKActionSheetAssistant showDataDetectorsSheet]):
977         * UIProcess/ios/WKContentViewInteraction.mm:
978         (-[WKContentView actionSheetAssistantDidStopInteraction:]):
979         (-[WKContentView dataDetectionContextForActionSheetAssistant:]):
980         (-[WKContentView selectedTextForActionSheetAssistant:]):
981         (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
982         * UIProcess/ios/WebPageProxyIOS.mm:
983         * WebKit2.xcodeproj/project.pbxproj:
984         * WebProcess/WebPage/ios/WebPageIOS.mm:
985         (WebKit::WebPage::getPositionInformation):
986
987 2016-01-25  Commit Queue  <commit-queue@webkit.org>
988
989         Unreviewed, rolling out r195543.
990         https://bugs.webkit.org/show_bug.cgi?id=153451
991
992         regressed performance of test bots by ~6% (Requested by dydz
993         on #webkit).
994
995         Reverted changeset:
996
997         "WebKitTestRunner: Credential cache is not cleared between
998         tests"
999         https://bugs.webkit.org/show_bug.cgi?id=153407
1000         http://trac.webkit.org/changeset/195543
1001
1002 2016-01-25  Chris Dumez  <cdumez@apple.com>
1003
1004         [WK2][NetworkCache] Enable speculative revalidation
1005         https://bugs.webkit.org/show_bug.cgi?id=153443
1006         <rdar://problem/23092196>
1007
1008         Reviewed by Antti Koivisto.
1009
1010         Enable speculative revalidation to better evaluate performance and
1011         robustness.
1012
1013         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
1014         (WebKit::registerUserDefaultsIfNeeded):
1015
1016 2016-01-25  Beth Dakin  <bdakin@apple.com>
1017
1018         Handle soft spaces after accepted candidates
1019         https://bugs.webkit.org/show_bug.cgi?id=153331
1020         -and corresponding-
1021         rdar://problem/23958418
1022
1023         Reviewed by Darin Adler.
1024
1025         New member variable m_softSpaceRange keeps track to the NSRange of a soft 
1026         space if the last text that was inserted has a soft space at the end.
1027         * UIProcess/Cocoa/WebViewImpl.h:
1028         * UIProcess/Cocoa/WebViewImpl.mm:
1029         (WebKit::WebViewImpl::WebViewImpl):
1030
1031         The space at the end of candidates is a soft space. If that space exists, 
1032         cache the range of the space in m_softSpaceRange.
1033         (WebKit::WebViewImpl::handleAcceptedCandidate):
1034
1035         When new text is inserted, find out if it is being inserted right after a 
1036         soft space. If it is, then [NSSpellChecker deletesAutospaceBeforeString] will 
1037         tell us if the space needs to be removed. If that is the case, then set the 
1038         replacementString to the soft space.
1039         (WebKit::WebViewImpl::insertText):
1040
1041 2016-01-25  Daniel Bates  <dabates@apple.com>
1042
1043         WebKitTestRunner: Credential cache is not cleared between tests
1044         https://bugs.webkit.org/show_bug.cgi?id=153407
1045         <rdar://problem/24280834>
1046
1047         Reviewed by Brady Eidson.
1048
1049         Add SPI to call NetworkStorageSession::switchToNewTestingSession() to create a new testing session.
1050         The new testing session will have an empty credential cache.
1051
1052         * NetworkProcess/NetworkProcess.cpp:
1053         (WebKit::NetworkProcess::switchToNewTestingSession): Added.
1054         * NetworkProcess/NetworkProcess.h:
1055         * NetworkProcess/NetworkProcess.messages.in: Added message SwitchToNewTestingSession().
1056         * UIProcess/API/C/WKContext.cpp:
1057         (WKContextResetTestingNetworkSession): Added.
1058         * UIProcess/API/C/WKContextPrivate.h:
1059         * UIProcess/WebProcessPool.cpp:
1060         (WebKit::WebProcessPool::resetTestingNetworkSession): Added.
1061         * UIProcess/WebProcessPool.h:
1062         * WebProcess/WebProcess.cpp:
1063         (WebKit::WebProcess::switchToNewTestingSession): Added.
1064         * WebProcess/WebProcess.h:
1065         * WebProcess/WebProcess.messages.in: Added message SwitchToNewTestingSession().
1066
1067 2016-01-22  Ryosuke Niwa  <rniwa@webkit.org>
1068
1069         document.createElement should be able to create a custom element
1070         https://bugs.webkit.org/show_bug.cgi?id=153173
1071
1072         Reviewed by Darin Adler.
1073
1074         Use createElementForBindings here since this is for SPI.
1075
1076         * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
1077         (-[WKDOMDocument createElement:]):
1078         (-[WKDOMDocument createTextNode:]):
1079
1080 2016-01-24  Alex Christensen  <achristensen@webkit.org>
1081
1082         Report upload progress to NetworkLoadClient when using NetworkSession
1083         https://bugs.webkit.org/show_bug.cgi?id=153388
1084
1085         Reviewed by Darin Adler.
1086
1087         This fixes http/tests/xmlhttprequest/upload-onload-event.html and a few other tests.
1088
1089         * NetworkProcess/NetworkLoad.cpp:
1090         (WebKit::NetworkLoad::didBecomeDownload):
1091         (WebKit::NetworkLoad::didSendData):
1092         (WebKit::NetworkLoad::didReceiveResponseAsync):
1093         * NetworkProcess/NetworkLoad.h:
1094         * NetworkProcess/NetworkSession.h:
1095         (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
1096         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1097         (-[WKNetworkSessionDelegate initWithNetworkSession:]):
1098         (-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
1099         (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
1100
1101 2016-01-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1102
1103         Reduce PassRefPtr uses in dom - 4
1104         https://bugs.webkit.org/show_bug.cgi?id=153270
1105
1106         Reviewed by Darin Adler.
1107
1108         As a step to remove PassRefPtr uses, this patch reduces the uses in WebCore/dom.
1109
1110         * WebProcess/Plugins/PluginView.cpp:
1111         (WebKit::PluginView::focusPluginElement):
1112
1113 2016-01-23  Alex Christensen  <achristensen@webkit.org>
1114
1115         CMake build fix after r195494.
1116
1117         * PlatformMac.cmake:
1118         WebKit2 needs to be able to find DataDetectors.h.
1119
1120 2016-01-23  Alex Christensen  <achristensen@webkit.org>
1121
1122         Use credentials from a URL with NetworkSession like we did with ResourceHandle
1123         https://bugs.webkit.org/show_bug.cgi?id=153328
1124
1125         Reviewed by Alexey Proskuryakov.
1126
1127         * NetworkProcess/NetworkLoad.cpp:
1128         (WebKit::NetworkLoad::NetworkLoad):
1129         createDataTaskWithRequest is being removed, so use std::make_unique<NetworkDataTask> directly instead.
1130         Also, create the task even if we are deferring loading.  Don't call resume if we are deferring loading.
1131         * NetworkProcess/NetworkSession.h:
1132         Callbacks are not just used in NetworkSessionTaskClient, so declare them outside.
1133         The NetworkDataTask now takes a ResourceRequest so we can strip its credentials.
1134         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1135         (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
1136         Try credentials stored with the NetworkDataTask before asking the client for credentials.
1137         (WebKit::NetworkSession::~NetworkSession):
1138         (WebKit::NetworkSession::dataTaskForIdentifier):
1139         (WebKit::NetworkSession::takeDownloadID):
1140         (WebKit::NetworkDataTask::NetworkDataTask):
1141         Strip the credentials from the url before creating the task because we do not know the authentication type.
1142         We will use these credentials when a challenge is received.
1143         (WebKit::NetworkDataTask::~NetworkDataTask):
1144         (WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
1145         If we have credentials from the initial URL, try using them if it is appropriate.
1146         (WebKit::NetworkDataTask::cancel):
1147         (WebKit::NetworkSession::createDataTaskWithRequest): Deleted.
1148         * Shared/Authentication/AuthenticationManager.h:
1149
1150 2016-01-22  Dan Bernstein  <mitz@apple.com>
1151
1152         <rdar://problem/24304228> REGRESSION (r184215): Staged XPC services load non-staged shims
1153         https://bugs.webkit.org/show_bug.cgi?id=153389
1154
1155         Reviewed by Alexey Proskuryakov.
1156
1157         * Configurations/Shim.xcconfig: Don’t override the install name when using a staged install path.
1158
1159 2016-01-22  Enrica Casucci  <enrica@apple.com>
1160
1161         Add support for DataDetectors in WK (iOS).
1162         https://bugs.webkit.org/show_bug.cgi?id=152989
1163         rdar://problem/22855960
1164
1165         Reviewed by Tim Horton.
1166
1167         * UIProcess/API/Cocoa/WKWebView.mm:
1168         (fromWKDataDetectorTypes): Changed parameter to uint64_t to
1169         successfully compare against WKDataDetectorTypeAll.
1170
1171 2016-01-17  Ada Chan  <adachan@apple.com>
1172
1173         Add a mode parameter to MediaControllerInterface::supportsFullscreen() and ChromeClient::supportsVideoFullscreen().
1174         https://bugs.webkit.org/show_bug.cgi?id=153220
1175
1176         Reviewed by Eric Carlson.
1177
1178         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1179         (WebKit::WebChromeClient::supportsVideoFullscreen):
1180         * WebProcess/WebCoreSupport/WebChromeClient.h:
1181
1182 2016-01-22  Tim Horton  <timothy_horton@apple.com>
1183
1184         Reproducible "Unhanded web process message 'WebUserContentController:AddUserScripts'" and friends
1185         https://bugs.webkit.org/show_bug.cgi?id=153193
1186         <rdar://problem/24222034>
1187
1188         Reviewed by Darin Adler.
1189
1190         The WebPageProxy constructor assumes that if its WebProcess is already running,
1191         it can add itself to the existing WebUserContentController(Proxy) and all will be well.
1192
1193         However, if the API client constructs a different WKUserContentController for two views,
1194         and forces them both into the same process, WebPageProxy's constructor sends a message
1195         with a WebUserContentController ID that doesn't exist yet on the WebProcess side
1196         (because createWebPage, which usually brings it up, hasn't happened yet), and we 
1197         drop the message on the floor (and get the aforementioned logging).
1198
1199         * UIProcess/WebPageProxy.cpp:
1200         (WebKit::WebPageProxy::WebPageProxy):
1201         (WebKit::WebPageProxy::initializeWebPageAfterProcessLaunch):
1202         Instead of connecting our WebUserContentControllerProxy and WebVisitedLinkStoreProxy
1203         to our WebProcessProxy in the constructor, when doing so might send messages
1204         to the WebProcess that arrive before their corresponding WebProcess objects have
1205         been created, do this in initializeWebPageAfterProcessLaunch, which always runs
1206         during-or-after inititalizeWebPage (and always after the CreateWebPage message goes out).
1207
1208         (WebKit::WebPageProxy::initializeWebPage):
1209         Mark us as needing initializeWebPageAfterProcessLaunch run, and run it right now
1210         if the WebProcess is already up.
1211         (WebKit::WebPageProxy::processDidFinishLaunching):
1212         If the WebProcess wasn't up at the end of initializeWebPage, we'll eventually end up here
1213         after it is launched, and will initializeWebPageAfterProcessLaunch.
1214
1215         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1216         If the WebProcess dies, we don't want to initializeWebPageAfterProcessLaunch
1217         until after initializeWebPage runs again, so make sure the flag isn't set.
1218
1219         * UIProcess/WebPageProxy.h:
1220
1221 2016-01-22  Darin Adler  <darin@apple.com>
1222
1223         Reduce use of equalIgnoringCase to just ignore ASCII case
1224         https://bugs.webkit.org/show_bug.cgi?id=153266
1225
1226         Reviewed by Ryosuke Niwa.
1227
1228         * UIProcess/PageLoadState.cpp:
1229         (WebKit::PageLoadState::hasOnlySecureContent): Use the protocolIs
1230         function from WebCore instead of calling startsWith.
1231         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1232         (WebKit::NetscapePlugin::initialize): Use equalLettersIgnoringASCIICase.
1233
1234 2016-01-21  Brent Fulgham  <bfulgham@apple.com>
1235
1236         [Mac] Tooltips do not honor some types of obscuring windows
1237         https://bugs.webkit.org/show_bug.cgi?id=153263
1238         <rdar://problem/21423972>
1239
1240         Reviewed by Simon Fraser.
1241
1242         Recognize that the current WebView is obscured by comparing the current event's Window Number against
1243         the Window Number of the current WebView. If they don't match, something is in the way.
1244
1245         * UIProcess/Cocoa/WebViewImpl.h:
1246         * UIProcess/Cocoa/WebViewImpl.mm:
1247         (WebKit::WebViewImpl::windowIsFrontWindowUnderMouse): Added.
1248         * UIProcess/PageClient.h:
1249         (WebKit::PageClient::windowIsFrontWindowUnderMouse):
1250         * UIProcess/WebPageProxy.cpp:
1251         (WebKit::WebPageProxy::handleMouseEvent): Check if the current WebView is obscured. If it
1252         is, clear the tooltip and return.
1253         * UIProcess/mac/PageClientImpl.h:
1254         * UIProcess/mac/PageClientImpl.mm:
1255         (WebKit::PageClientImpl::windowIsFrontWindowUnderMouse): Added.
1256
1257 2016-01-22  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1258
1259         Remove PassRefPtr from ResourceRequest and FormData
1260         https://bugs.webkit.org/show_bug.cgi?id=153229
1261
1262         Reviewed by Chris Dumez.
1263
1264         * NetworkProcess/NetworkResourceLoadParameters.cpp:
1265         (WebKit::NetworkResourceLoadParameters::decode):
1266         * NetworkProcess/cache/NetworkCacheEntry.cpp:
1267         (WebKit::NetworkCache::Entry::Entry):
1268
1269 2016-01-21  Simon Fraser  <simon.fraser@apple.com>
1270
1271         REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top
1272         https://bugs.webkit.org/show_bug.cgi?id=136019
1273
1274         Reviewed by Dan Bernstein.
1275
1276         Now call frameView.positionForRootContentLayer(), and add a FIXME questioning the
1277         behavior in horizontal b-t documents. However, this code isn't hit now that we always
1278         do extended backgrounds, so never have shadow layers.
1279
1280         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1281         (WebKit::shadowLayerPositionForFrame):
1282
1283 2016-01-21  Dean Jackson  <dino@apple.com>
1284
1285         Move _allowsDoubleTapGestures implementation out of category
1286         https://bugs.webkit.org/show_bug.cgi?id=153329
1287         <rdar://problem/24289768>
1288
1289         Reviewed by Simon Fraser.
1290
1291         We were generating a linker warning because the implementation
1292         was located inside the WKPrivate category.
1293
1294         * UIProcess/API/Cocoa/WKWebView.mm:
1295         (-[WKWebView _allowsDoubleTapGestures]): Move this out of
1296         the category.
1297
1298 2016-01-21  Dean Jackson  <dino@apple.com>
1299
1300         [iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
1301         https://bugs.webkit.org/show_bug.cgi?id=153326
1302         <rdar://problem/24264339>
1303
1304         Reviewed by Anders Carlsson.
1305
1306         UIKit's UIGestureRecognizer could call back into the WKContentView
1307         after the associated WKWebView has disappeared. The fix is to
1308         explicitly null the WKWebView reference as we deallocate.
1309
1310         * UIProcess/API/Cocoa/WKWebView.mm:
1311         (-[WKWebView dealloc]): Tell the WKContentView we are going away.
1312         * UIProcess/ios/WKContentView.h:
1313         * UIProcess/ios/WKContentView.mm:
1314         (-[WKContentView _webViewDestroyed]):
1315         * UIProcess/ios/WKContentViewInteraction.mm:
1316         (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
1317         Only do something if the WKWebView is still around.
1318
1319 2016-01-21  Beth Dakin  <bdakin@apple.com>
1320
1321         Add the ability to update WebKitAdditions to WK2
1322         https://bugs.webkit.org/show_bug.cgi?id=153320
1323         -and corresponding-
1324         rdar://problem/23639629
1325
1326         Reviewed by Anders Carlsson.
1327
1328         * UIProcess/API/Cocoa/WKWebView.mm:
1329         * UIProcess/API/mac/WKView.mm:
1330         * UIProcess/Cocoa/WebViewImpl.h:
1331         (WebKit::WebViewImpl::createWeakPtr):
1332         * UIProcess/Cocoa/WebViewImpl.mm:
1333         (WebKit::WebViewImpl::updateWebViewImplAdditions):
1334         (WebKit::WebViewImpl::showCandidates):
1335         (WebKit::WebViewImpl::webViewImplAdditionsWillDestroyView):
1336         (WebKit::trackingAreaOptions):
1337         (WebKit::WebViewImpl::~WebViewImpl):
1338         (WebKit::WebViewImpl::becomeFirstResponder):
1339         (WebKit::WebViewImpl::selectionDidChange):
1340         (WebKit::WebViewImpl::handleRequestedCandidates):
1341         (WebKit::textCheckingResultFromNSTextCheckingResult):
1342
1343 2016-01-19  Ada Chan  <adachan@apple.com>
1344
1345         Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
1346         https://bugs.webkit.org/show_bug.cgi?id=153218
1347
1348         Reviewed by Eric Carlson.
1349
1350         * Configurations/FeatureDefines.xcconfig:
1351
1352 2016-01-20  Alex Christensen  <achristensen@webkit.org>
1353
1354         Fix CMake build after r195300.
1355
1356         * PlatformMac.cmake:
1357         Include editing/mac to find DataDetection.h.
1358
1359 2016-01-20  Alex Christensen  <achristensen@webkit.org>
1360
1361         Ask UI Process before sending redirect requests when downloading
1362         https://bugs.webkit.org/show_bug.cgi?id=153041
1363
1364         Reviewed by Darin Adler.
1365
1366         * NetworkProcess/Downloads/DownloadManager.cpp:
1367         (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
1368         (WebKit::DownloadManager::continueWillSendRequest):
1369         (WebKit::DownloadManager::convertHandleToDownload):
1370         * NetworkProcess/Downloads/DownloadManager.h:
1371         * NetworkProcess/Downloads/PendingDownload.cpp:
1372         (WebKit::PendingDownload::willSendRedirectedRequest):
1373         (WebKit::PendingDownload::continueWillSendRequest):
1374         * NetworkProcess/NetworkProcess.cpp:
1375         (WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace):
1376         (WebKit::NetworkProcess::continueWillSendRequest):
1377         (WebKit::NetworkProcess::setCacheModel):
1378         * NetworkProcess/NetworkProcess.h:
1379         * NetworkProcess/NetworkProcess.messages.in:
1380         * UIProcess/API/APIDownloadClient.h:
1381         (API::DownloadClient::didCancel):
1382         (API::DownloadClient::processDidCrash):
1383         (API::DownloadClient::canAuthenticateAgainstProtectionSpace):
1384         (API::DownloadClient::willSendRequest):
1385         * UIProcess/Downloads/DownloadProxy.cpp:
1386         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
1387         (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
1388         (WebKit::DownloadProxy::willSendRequest):
1389         (WebKit::DownloadProxy::didReceiveResponse):
1390         * UIProcess/Downloads/DownloadProxy.h:
1391         * UIProcess/Downloads/DownloadProxy.messages.in:
1392
1393 2016-01-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1394
1395         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.4 release.
1396
1397         * gtk/NEWS: Add release notes for 2.11.4.
1398
1399 2016-01-19  Enrica Casucci  <enrica@apple.com>
1400
1401         Add support for DataDetectors in WK (iOS).
1402         https://bugs.webkit.org/show_bug.cgi?id=152989
1403         rdar://problem/22855960
1404
1405         Reviewed by Tim Horton.
1406
1407         This is the first step toward implementing Data Detectors support
1408         in WK2. The patch adds a new property to the configuration
1409         object to indicate the type of detection desired and propagates
1410         to the WebProcess.
1411
1412         * Configurations/FeatureDefines.xcconfig:
1413         * Shared/WebPreferencesDefinitions.h:
1414         * UIProcess/API/Cocoa/WKWebView.mm:
1415         (fromWKDataDetectorTypes):
1416         (-[WKWebView initWithFrame:configuration:]):
1417         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1418         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1419         (-[WKWebViewConfiguration copyWithZone:]):
1420         * WebProcess/WebPage/WebPage.cpp:
1421         (WebKit::WebPage::updatePreferences):
1422
1423 2016-01-19  Commit Queue  <commit-queue@webkit.org>
1424
1425         Unreviewed, rolling out r195300.
1426         https://bugs.webkit.org/show_bug.cgi?id=153244
1427
1428         enrica wants more time to fix Windows (Requested by thorton on
1429         #webkit).
1430
1431         Reverted changeset:
1432
1433         "Add support for DataDetectors in WK (iOS)."
1434         https://bugs.webkit.org/show_bug.cgi?id=152989
1435         http://trac.webkit.org/changeset/195300
1436
1437 2016-01-19  Enrica Casucci  <enrica@apple.com>
1438
1439         Add support for DataDetectors in WK (iOS).
1440         https://bugs.webkit.org/show_bug.cgi?id=152989
1441         rdar://problem/22855960
1442
1443         Reviewed by Tim Horton.
1444
1445         This is the first step toward implementing Data Detectors support
1446         in WK2. The patch adds a new property to the configuration
1447         object to indicate the type of detection desired and propagates
1448         to the WebProcess.
1449
1450         * Configurations/FeatureDefines.xcconfig:
1451         * Shared/WebPreferencesDefinitions.h:
1452         * UIProcess/API/Cocoa/WKWebView.mm:
1453         (-[WKWebView initWithFrame:configuration:]):
1454         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1455         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1456         (-[WKWebViewConfiguration copyWithZone:]):
1457         * WebKit2.xcodeproj/project.pbxproj:
1458         * WebProcess/WebPage/Cocoa/WebPageCocoa.mm: Added.
1459         (WebKit::WebPage::fromWKDataDetectorTypes):
1460         * WebProcess/WebPage/WebPage.cpp:
1461         (WebKit::WebPage::updatePreferences):
1462         * WebProcess/WebPage/WebPage.h:
1463
1464 2016-01-19  Commit Queue  <commit-queue@webkit.org>
1465
1466         Unreviewed, rolling out r187471.
1467         https://bugs.webkit.org/show_bug.cgi?id=153236
1468
1469         purportedly caused a significant memory regression and want to
1470         see if that is true (Requested by thorton on #webkit).
1471
1472         Reverted changeset:
1473
1474         "First in-window viewStateChange synchronously blocks despite
1475         not previously being in-window"
1476         https://bugs.webkit.org/show_bug.cgi?id=147344
1477         http://trac.webkit.org/changeset/187471
1478
1479 2016-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1480
1481         [GTK] Runtime critical warnings when loading a URL after a session restore
1482         https://bugs.webkit.org/show_bug.cgi?id=153233
1483
1484         Reviewed by Michael Catanzaro.
1485
1486         This happens when doing a normal load after restoring the back
1487         forward list from session state and the list contained forward
1488         items. In that case the forward items are removed from the list
1489         and we try to reference a WebBackForwardListItem wrapper that
1490         hasn't been created. We create the wrappers on demand, and when
1491         the back forward list is populated from session state, items are
1492         added to the list without creating their wrappers. That was not
1493         possible before, and that's why we assumed that any item that is
1494         removed from the list should have a wrapper already created.
1495
1496         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
1497         (webkitBackForwardListChanged): If we don't have a wrapper for the
1498         removed item, create a new one to be passed to the signal, but
1499         without adding it to the map.
1500
1501 2016-01-19  Ryosuke Niwa  <rniwa@webkit.org>
1502
1503         CharacterData::setData doesn't need ExceptionCode as an out argument
1504         https://bugs.webkit.org/show_bug.cgi?id=153225
1505
1506         Reviewed by Antti Koivisto.
1507
1508         * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
1509         (-[WKDOMText setData:]):
1510
1511 2016-01-18  Ryuan Choi  <ryuan.choi@navercorp.com>
1512
1513         [EFL] Remove wkView() from EwkView
1514         https://bugs.webkit.org/show_bug.cgi?id=152604
1515
1516         Reviewed by Gyuyoung Kim.
1517
1518         * UIProcess/API/efl/EwkView.cpp:
1519         (EwkViewEventHandler<EVAS_CALLBACK_SHOW>::handleEvent):
1520         (EwkViewEventHandler<EVAS_CALLBACK_HIDE>::handleEvent):
1521         (EwkView::EwkView):
1522         (EwkView::create):
1523         (EwkView::wkPage):
1524         (EwkView::isVisible):
1525         (EwkView::setVisible):
1526         (EwkView::setDeviceScaleFactor):
1527         (EwkView::deviceSize):
1528         (EwkView::displayTimerFired):
1529         (EwkView::setViewportPosition):
1530         (EwkView::requestExitFullScreen):
1531         (EwkView::contentsSize):
1532         (EwkView::setThemePath):
1533         (EwkView::feedTouchEvent):
1534         (EwkView::createGLSurface):
1535         (EwkView::showContextMenu):
1536         (EwkView::requestPopupMenu):
1537         (EwkView::webView):
1538         (EwkView::handleEvasObjectCalculate):
1539         (EwkView::handleEvasObjectColorSet):
1540         (EwkView::handleEwkViewFocusIn):
1541         (EwkView::handleEwkViewFocusOut):
1542         (EwkView::feedTouchEvents):
1543         (EwkView::takeSnapshot):
1544         (EwkView::scrollBy):
1545         (EwkView::setBackgroundColor):
1546         (EwkView::backgroundColor):
1547         * UIProcess/API/efl/EwkView.h:
1548         (EwkView::wkView): Deleted.
1549         * UIProcess/API/efl/GestureRecognizer.cpp:
1550         (WebKit::GestureHandler::handleSingleTap):
1551         * UIProcess/API/efl/ewk_view.cpp:
1552         (EWKViewCreate):
1553         (EWKViewGetWKView):
1554         (ewk_view_fullscreen_exit):
1555         (ewk_view_layout_fixed_set):
1556         (ewk_view_layout_fixed_get):
1557         (ewk_view_layout_fixed_size_set):
1558         (ewk_view_layout_fixed_size_get):
1559         (ewk_view_bg_color_get):
1560         (ewk_view_contents_size_get):
1561         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
1562         (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
1563         * UIProcess/efl/ViewClientEfl.cpp:
1564         (WebKit::ViewClientEfl::webProcessDidRelaunch):
1565         (WebKit::ViewClientEfl::ViewClientEfl):
1566         (WebKit::ViewClientEfl::~ViewClientEfl):
1567
1568 2016-01-18  Zan Dobersek  <zdobersek@igalia.com>
1569
1570         Sink the Vector<uint8_t> buffer into the SerializedScriptValue constructor
1571         https://bugs.webkit.org/show_bug.cgi?id=142634
1572
1573         Reviewed by Darin Adler.
1574
1575         Update API::SerializedScriptValue::adopt() to take in a Vector<uint8_t>
1576         rvalue, moving it into the WebCore::SerializedScriptValue::adopt() call.
1577
1578         Update other places that are affected by the SerializedScriptValue changes.
1579
1580         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
1581         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
1582         * Shared/API/APISerializedScriptValue.h:
1583         (API::SerializedScriptValue::adopt):
1584         * Shared/UserData.cpp:
1585         (WebKit::UserData::decode):
1586         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
1587         (WebKit::WebUserContentControllerProxy::didPostMessage):
1588         * UIProcess/WebPageProxy.cpp:
1589         (WebKit::WebPageProxy::scriptValueCallback):
1590         * WebProcess/WebCoreSupport/SessionStateConversion.cpp:
1591         (WebKit::applyFrameState):
1592
1593 2016-01-18  Olivier Blin  <olivier.blin@softathome.com>
1594
1595         [EFL][GTK][WK2] Fix UIProcess build with GStreamer and without VIDEO
1596         https://bugs.webkit.org/show_bug.cgi?id=153135
1597
1598         Reviewed by Michael Catanzaro.
1599
1600         GStreamer builds fail when WebAudio is enabled but VIDEO disabled.
1601
1602         This change makes the flag more consistent around the
1603         decicePolicyForInstallMissingMediaPluginsPermissionRequest() method:
1604         ENABLE(VIDEO) && USE(GSTREAMER) everywhere, while the code used to
1605         test either one or the other.
1606
1607         This does not enable InstallMissingMediaPlugins for WebAudio, since no
1608         code makes use of this in WebKitWebAudioSourceGStreamer.
1609
1610         It also fixes a naming typo for the following method:
1611         decidePolicyForInstallMissingMediaPluginsPermissionRequest()
1612
1613         * UIProcess/API/gtk/PageClientImpl.cpp:
1614         (WebKit::PageClientImpl::decidePolicyForInstallMissingMediaPluginsPermissionRequest):
1615         * UIProcess/API/gtk/PageClientImpl.h:
1616         * UIProcess/PageClient.h:
1617         * UIProcess/efl/WebViewEfl.h:
1618         * UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
1619         (WebKit::WebPageProxy::requestInstallMissingMediaPlugins):
1620
1621 2016-01-17  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>
1622
1623         Add quotes around ${CMAKE_SHARED_LINKER_FLAGS} in case it is unset
1624         https://bugs.webkit.org/show_bug.cgi?id=153175
1625
1626         Reviewed by Michael Catanzaro.
1627
1628         * PlatformGTK.cmake:
1629
1630 2016-01-16  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>
1631
1632         Remove a now-irrelevant darwin build hack
1633         https://bugs.webkit.org/show_bug.cgi?id=153117
1634
1635         Reviewed by Michael Catanzaro.
1636
1637         * PlatformGTK.cmake:
1638
1639 2016-01-16  Jon Honeycutt  <jhoneycutt@apple.com>
1640
1641         [iOS] Replace deprecated -[UIDocumentMenuViewController
1642         _setIgnoreApplicationEntitlementForImport:]
1643
1644         <https://bugs.webkit.org/show_bug.cgi?id=145690>
1645         <rdar://problem/20636577>
1646
1647         Reviewed by Brent Fulgham.
1648
1649         * Platform/spi/ios/UIKitSPI.h:
1650         Replace deprecated SPI with newer SPI.
1651
1652         * UIProcess/ios/forms/WKFileUploadPanel.mm:
1653         (-[WKFileUploadPanel presentWithParameters:resultListener:]):
1654         (-[WKFileUploadPanel _showDocumentPickerMenu]):
1655         Ditto.
1656
1657 2016-01-16  Michael Catanzaro  <mcatanzaro@igalia.com>
1658
1659         [GTK] Unreviewed. Fix a typo in an API comment.
1660
1661         * UIProcess/API/gtk/WebKitWebViewSessionState.cpp:
1662
1663 2016-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1664
1665         [GTK] GVariant runtime critical errors when encoding session data
1666         https://bugs.webkit.org/show_bug.cgi?id=153130
1667
1668         Reviewed by Michael Catanzaro.
1669
1670         It happens when the FrameState has children, because the recursive
1671         serialization is wrong. Also fix serialization of
1672         documentSequenceNumber and itemSequenceNumber that are gint64, not
1673         guint64.
1674
1675         * UIProcess/API/gtk/WebKitWebViewSessionState.cpp:
1676         (encodeFrameState): Let the caller open/init the given
1677         builder. Use a new builder to encode child states recursively.
1678         (encodePageState): Do the builder open/close for the FrameState encoding.
1679         (decodeFrameState): Get the variant of every child.
1680
1681 2016-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>
1682
1683         Fix internal Windows build
1684         https://bugs.webkit.org/show_bug.cgi?id=153142
1685
1686         Unreviewed addition to Alex's JSC patch, which was reviewed by Brent Fulgham. Pass
1687         -I${JAVASCRIPTCORE_DIR} to g-ir-scanner.
1688
1689         * PlatformGTK.cmake:
1690
1691 2016-01-14  Simon Fraser  <simon.fraser@apple.com>
1692
1693         Remove workaround for rdar://problem/23623670
1694         https://bugs.webkit.org/show_bug.cgi?id=153107
1695         rdar://problem/23633319
1696
1697         Reviewed by Tim Horton.
1698
1699         Remove the code that uses IOSurfaceAcceleratorTransformSurface() when copying from
1700         back-to-front buffer, now that CGIOSurfaceContextCreate()-code path works correctly.
1701
1702         * Shared/mac/RemoteLayerBackingStore.mm:
1703         (WebKit::RemoteLayerBackingStore::display):
1704
1705 2016-01-14  Beth Dakin  <bdakin@apple.com>
1706
1707         WK1 and WK2 should share more candidate request code
1708         https://bugs.webkit.org/show_bug.cgi?id=153108
1709
1710         Reviewed by Simon Fraser.
1711
1712         requestCandidatesForSelection() does not need to be exposed as an 
1713         EditorClient function. WK1 can just call invoke this code from the existing 
1714         respondToChangedSelection EditorClient function, which is what WK2 does.
1715         * WebProcess/WebCoreSupport/WebEditorClient.h:
1716
1717 2016-01-14  Beth Dakin  <bdakin@apple.com>
1718
1719         WK2: Request completion candidates when needed
1720         https://bugs.webkit.org/show_bug.cgi?id=153040
1721         -and corresponding-
1722         rdar://problem/24155631
1723
1724         Reviewed by Enrica Casucci and Tim Horton.
1725
1726         Mac needs to support postLayoutData in order to have some layout-related 
1727         editing information to request candidates. This patch re-shuffles some items 
1728         in the struct so that they can be shared by Mac and iOS, and it adds 3 new 
1729         items for Mac only.
1730         * Shared/EditorState.cpp:
1731         (WebKit::EditorState::encode):
1732         (WebKit::EditorState::decode):
1733         (WebKit::EditorState::PostLayoutData::encode):
1734         (WebKit::EditorState::PostLayoutData::decode):
1735         * Shared/EditorState.h:
1736
1737         Request and handle candidates here in WebViewImpl, and cache the 
1738         m_lastStringForCandidateRequest so that we can ensure the results we receive 
1739         were received in a timely enough manner that they are still for the same 
1740         String.
1741         * UIProcess/Cocoa/WebViewImpl.h:
1742         * UIProcess/Cocoa/WebViewImpl.mm:
1743         (WebKit::WebViewImpl::selectionDidChange):
1744
1745         When selection changes, request new candidates.
1746         (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
1747
1748         Once candidates have been received, we ask the sharedSpellChecker to show 
1749         them.
1750         (WebKit::WebViewImpl::handleRequestedCandidates):
1751
1752         If a candidate is accepted, we ask the WebProcess to accept it, so we start 
1753         by converting the NSTextCheckingResult to a WebCore::TextCheckingResult.
1754         (WebKit::textCheckingResultFromNSTextCheckingResult):
1755         (WebKit::WebViewImpl::handleAcceptedCandidate):
1756
1757         Ask the WebProcess to handle accepting the candidate.
1758         * UIProcess/WebPageProxy.cpp:
1759         (WebKit::WebPageProxy::handleAcceptedCandidate):
1760         * UIProcess/WebPageProxy.h:
1761         * WebProcess/WebPage/WebPage.h:
1762         (WebKit::WebPage:: handleAcceptedCandidate):
1763         * WebProcess/WebPage/WebPage.messages.in:
1764
1765         Now that Mac has some postLayoutData in the EditorState, fill that in in 
1766         platformEditorState().
1767         * WebProcess/WebPage/mac/WebPageMac.mm:
1768         (WebKit::WebPage::platformEditorState):
1769
1770         Ask WebCore::Editor to handle the accepted candidate.
1771         (WebKit::WebPage::handleAcceptedCandidate):
1772
1773 2016-01-14  Commit Queue  <commit-queue@webkit.org>
1774
1775         Unreviewed, rolling out r195002.
1776         https://bugs.webkit.org/show_bug.cgi?id=153098
1777
1778         Crashes many/most editing tests (Requested by ap on #webkit).
1779
1780         Reverted changeset:
1781
1782         "WK2: Request completion candidates when needed"
1783         https://bugs.webkit.org/show_bug.cgi?id=153040
1784         http://trac.webkit.org/changeset/195002
1785
1786 2016-01-14  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1787
1788         [EFL][GTK][SeccompFilter] Fix build break when enabling --seccomp-filters
1789         https://bugs.webkit.org/show_bug.cgi?id=153094
1790
1791         Reviewed by Csaba Osztrogonác.
1792
1793         diskCacheDirectory and cookiePersistentStoragePath were removed by r192796.
1794         But SyscallPolicy::addDefaultWebProcessPolicy has added directory permission
1795         to the removed paths.
1796
1797         It looks two paths needs to be handled by network process.
1798
1799         * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
1800         (WebKit::SyscallPolicy::addDefaultWebProcessPolicy): Deleted.
1801
1802 2016-01-13  Alex Christensen  <achristensen@webkit.org>
1803
1804         Implement custom protocols when using NetworkSession
1805         https://bugs.webkit.org/show_bug.cgi?id=153078
1806
1807         Reviewed by Andy Estes.
1808
1809         * NetworkProcess/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
1810         (WebKit::generateCustomProtocolID):
1811         (+[WKCustomProtocol canInitWithRequest:]):
1812         (+[WKCustomProtocol canonicalRequestForRequest:]):
1813         (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
1814         (-[WKCustomProtocol startLoading]):
1815         (-[WKCustomProtocol stopLoading]):
1816         There's no need to have a static pointer when we can use NetworkProcess::singleton to access 
1817         the process-global CustomProtocolManager, and add null checks because that's a good thing to do.
1818         (WebKit::CustomProtocolManager::CustomProtocolManager):
1819         Call UTF8Encoding when creating the CustomProtocolManager on the main thread to make sure it exists
1820         for when we decode URLS in ResourceResponses from IPC later, which is done on a different WorkQueue.
1821         (WebKit::CustomProtocolManager::initializeConnection):
1822         (WebKit::CustomProtocolManager::initialize):
1823         (WebKit::CustomProtocolManager::removeCustomProtocol):
1824         (WebKit::CustomProtocolManager::registerProtocolClass):
1825         (WebKit::CustomProtocolManager::registerScheme):
1826         * NetworkProcess/CustomProtocols/CustomProtocolManager.h:
1827         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1828         (WebKit::NetworkSession::NetworkSession):
1829         Call registerProtocolClass to set configuration.protocolClasses if there is a CustomProtocolManager.
1830
1831 2016-01-13  Beth Dakin  <bdakin@apple.com>
1832
1833         WK2: Request completion candidates when needed
1834         https://bugs.webkit.org/show_bug.cgi?id=153040
1835         -and corresponding-
1836         rdar://problem/24155631
1837
1838         Reviewed by Enrica Casucci.
1839
1840         Mac needs to support postLayoutData in order to have some layout-related 
1841         editing information to request candidates. This patch re-shuffles some items 
1842         in the struct so that they can be shared by Mac and iOS, and it adds 3 new 
1843         items for Mac only.
1844         * Shared/EditorState.cpp:
1845         (WebKit::EditorState::encode):
1846         (WebKit::EditorState::decode):
1847         (WebKit::EditorState::PostLayoutData::encode):
1848         (WebKit::EditorState::PostLayoutData::decode):
1849         * Shared/EditorState.h:
1850
1851         Request and handle candidates here in WebViewImpl, and cache the 
1852         m_lastStringForCandidateRequest so that we can ensure the results we receive 
1853         were received in a timely enough manner that they are still for the same 
1854         String.
1855         * UIProcess/Cocoa/WebViewImpl.h:
1856         * UIProcess/Cocoa/WebViewImpl.mm:
1857         (WebKit::WebViewImpl::selectionDidChange):
1858
1859         When selection changes, request new candidates.
1860         (WebKit::WebViewImpl::requestCandidatesForSelectionIfNeeded):
1861
1862         Once candidates have been received, we ask the sharedSpellChecker to show 
1863         them.
1864         (WebKit::WebViewImpl::handleRequestedCandidates):
1865
1866         If a candidate is accepted, we ask the WebProcess to accept it, so we start 
1867         by converting the NSTextCheckingResult to a WebCore::TextCheckingResult.
1868         (WebKit::textCheckingResultFromNSTextCheckingResult):
1869         (WebKit::WebViewImpl::handleAcceptedCandidate):
1870
1871         Ask the WebProcess to handle accepting the candidate.
1872         * UIProcess/WebPageProxy.cpp:
1873         (WebKit::WebPageProxy::handleAcceptedCandidate):
1874         * UIProcess/WebPageProxy.h:
1875         * WebProcess/WebPage/WebPage.h:
1876         (WebKit::WebPage:: handleAcceptedCandidate):
1877         * WebProcess/WebPage/WebPage.messages.in:
1878
1879         Now that Mac has some postLayoutData in the EditorState, fill that in in 
1880         platformEditorState().
1881         * WebProcess/WebPage/mac/WebPageMac.mm:
1882         (WebKit::WebPage::platformEditorState):
1883
1884         Ask WebCore::Editor to handle the accepted candidate.
1885         (WebKit::WebPage::handleAcceptedCandidate):
1886
1887 2016-01-12  Geoffrey Garen  <ggaren@apple.com>
1888
1889         WebKit2 should have an API for eagerly querying whether the web process is responsive
1890         https://bugs.webkit.org/show_bug.cgi?id=153037
1891
1892         Reviewed by Tim Horton.
1893
1894         WebKit2 provides a delegate notification when the web process doesn't
1895         respond to a message after a while. But there's no way to send a message
1896         eagerly and check for reply.
1897
1898         We want this new mechanism so that navigation can terminate the web
1899         process eagerly if it is hung.
1900
1901         * UIProcess/API/C/WKPage.cpp:
1902         (WKPageGetWebProcessIsResponsive):
1903         * UIProcess/API/C/WKPagePrivate.h: This is the new API.
1904
1905         * UIProcess/WebPageProxy.cpp:
1906         (WebKit::WebPageProxy::sendWheelEvent): Updated for interface change.
1907
1908         (WebKit::WebPageProxy::getWebProcessIsResponsive): Calls through to the
1909         web process proxy. We claim that we are responsive when there is no
1910         web process because we assume that a fresh web process will not hang.
1911
1912         * UIProcess/WebPageProxy.h:
1913
1914         * UIProcess/WebProcessProxy.cpp:
1915         (WebKit::WebProcessProxy::WebProcessProxy):
1916         (WebKit::WebProcessProxy::didBecomeUnresponsive): Keep a flag indicating
1917         whether the process is unresponsive so that we can fire unresponsiveness
1918         callbacks immediately for a hung process instead of waiting another 3s.
1919
1920         (WebKit::WebProcessProxy::didBecomeResponsive): We don't fire responsiveness
1921         callbacks inside didBecomeResponsive because we assume that a responsive
1922         web process will invoke didReceiveMainThreadPing -- and we fire the
1923         callbacks there.
1924
1925         (WebKit::WebProcessProxy::getIsResponsive): If the web process is already
1926         known to be unresponsive, fire the callback right away. Otherwise, queue
1927         it up to fire once we have an answer from a main thread ping.
1928
1929         (WebKit::WebProcessProxy::didReceiveMainThreadPing): Fire any pending
1930         callbacks when we learn that the web process is responsive.
1931
1932         * UIProcess/WebProcessProxy.h:
1933
1934 2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1935
1936         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.3 release.
1937
1938         * gtk/NEWS: Add release notes for 2.11.3.
1939
1940 2016-01-12  Geoffrey Garen  <ggaren@apple.com>
1941
1942         WebPageProxy should reattach to the web process before navigating
1943         https://bugs.webkit.org/show_bug.cgi?id=153026
1944
1945         Reviewed by Anders Carlsson.
1946
1947         This fixes a crash (and lots of other corruption) when force-quitting
1948         the web process during navigation.
1949
1950         Some objects (like ViewGestureController) use one-time initialization
1951         to point to a ChildProcessProxy -- and, by design, we destroy them when
1952         the ChildProcessProxy becomes invalid (i.e., crashes or quits).
1953
1954         If we navigate *before* creating a new, valid ChildProcessProxy, then
1955         we accidentally re-create these objects pointing to the old, invalid
1956         ChildProcessProxy.
1957
1958         We need to wait until we have a valid ChildProcessProxy before we
1959         initialize these objects.
1960
1961         * UIProcess/WebPageProxy.cpp:
1962         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Navigate after
1963         reattaching to the web process so that lazily allocated helper objects
1964         point to the right ChildProcessProxy.
1965
1966 2016-01-12  Ryosuke Niwa  <rniwa@webkit.org>
1967
1968         Add a build flag for custom element
1969         https://bugs.webkit.org/show_bug.cgi?id=153005
1970
1971         Reviewed by Alex Christensen.
1972
1973         * Configurations/FeatureDefines.xcconfig:
1974
1975 2016-01-12  Alex Christensen  <achristensen@webkit.org>
1976
1977         Ask for UI Process approval of ProtectionSpace when authenticating downloads with NetworkSession
1978         https://bugs.webkit.org/show_bug.cgi?id=152999
1979
1980         Reviewed by Brady Eidson.
1981
1982         * DerivedSources.make:
1983         I mistakenly added PendingDownload.messages.in in r194810, but this will not be needed because
1984         the PendingDownload is not a MessageReceiver.  Rather, the NetworkProcess receives the messages
1985         and forwards their contents to the PendingDownload through its DownloadManager.
1986         * NetworkProcess/Downloads/DownloadManager.cpp:
1987         (WebKit::DownloadManager::dataTaskBecameDownloadTask):
1988         (WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
1989         (WebKit::DownloadManager::convertHandleToDownload):
1990         * NetworkProcess/Downloads/DownloadManager.h:
1991         * NetworkProcess/Downloads/PendingDownload.cpp:
1992         (WebKit::PendingDownload::continueWillSendRequest):
1993         (WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync):
1994         Instead of taking a shortcut I added in r194810, send a message to the UI process and wait for its
1995         asynchronous reply to determine if we can authenticate against this protection space.
1996         (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
1997         (WebKit::PendingDownload::didConvertToDownload):
1998         * NetworkProcess/Downloads/PendingDownload.h:
1999         * NetworkProcess/Downloads/PendingDownload.messages.in: Removed.
2000         * NetworkProcess/NetworkProcess.cpp:
2001         (WebKit::NetworkProcess::cancelDownload):
2002         (WebKit::NetworkProcess::continueCanAuthenticateAgainstProtectionSpace):
2003         (WebKit::NetworkProcess::setCacheModel):
2004         * NetworkProcess/NetworkProcess.h:
2005         * NetworkProcess/NetworkProcess.messages.in:
2006         * Shared/Authentication/AuthenticationManager.h:
2007         * UIProcess/API/APIDownloadClient.h:
2008         (API::DownloadClient::didFail):
2009         (API::DownloadClient::didCancel):
2010         (API::DownloadClient::processDidCrash):
2011         (API::DownloadClient::canAuthenticateAgainstProtectionSpace):
2012         * UIProcess/Downloads/DownloadProxy.cpp:
2013         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
2014         (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
2015         (WebKit::DownloadProxy::didReceiveResponse):
2016         * UIProcess/Downloads/DownloadProxy.h:
2017         * UIProcess/Downloads/DownloadProxy.messages.in:
2018         * WebKit2.xcodeproj/project.pbxproj:
2019
2020 2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2021
2022         Move ChildProcessProxy from Shared to UIProcess
2023         https://bugs.webkit.org/show_bug.cgi?id=125570
2024
2025         Reviewed by Darin Adler.
2026
2027         ChildProcessProxy is only used by the UI process.
2028
2029         * CMakeLists.txt:
2030         * PlatformGTK.cmake:
2031         * UIProcess/ChildProcessProxy.cpp: Renamed from Source/WebKit2/Shared/ChildProcessProxy.cpp.
2032         (WebKit::ChildProcessProxy::ChildProcessProxy):
2033         (WebKit::ChildProcessProxy::~ChildProcessProxy):
2034         (WebKit::ChildProcessProxy::fromConnection):
2035         (WebKit::ChildProcessProxy::getLaunchOptions):
2036         (WebKit::ChildProcessProxy::connect):
2037         (WebKit::ChildProcessProxy::terminate):
2038         (WebKit::ChildProcessProxy::state):
2039         (WebKit::ChildProcessProxy::sendMessage):
2040         (WebKit::ChildProcessProxy::addMessageReceiver):
2041         (WebKit::ChildProcessProxy::removeMessageReceiver):
2042         (WebKit::ChildProcessProxy::dispatchMessage):
2043         (WebKit::ChildProcessProxy::dispatchSyncMessage):
2044         (WebKit::ChildProcessProxy::didFinishLaunching):
2045         (WebKit::ChildProcessProxy::shutDownProcess):
2046         (WebKit::ChildProcessProxy::connectionWillOpen):
2047         * UIProcess/ChildProcessProxy.h: Renamed from Source/WebKit2/Shared/ChildProcessProxy.h.
2048         (WebKit::ChildProcessProxy::connection):
2049         (WebKit::ChildProcessProxy::processIdentifier):
2050         (WebKit::ChildProcessProxy::canSendMessage):
2051         (WebKit::ChildProcessProxy::send):
2052         (WebKit::ChildProcessProxy::sendSync):
2053         * WebKit2.xcodeproj/project.pbxproj:
2054
2055 2016-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2056
2057         [GTK] UI process crashes if webkit_web_view_get_tls_info is called before internal load-committed event
2058         https://bugs.webkit.org/show_bug.cgi?id=142375
2059
2060         Reviewed by Michael Catanzaro.
2061
2062         Remove all the hacks to emit delayed load events now that the
2063         page cache resource load delegates are consistent with all other
2064         resource loads.
2065
2066         * UIProcess/API/gtk/WebKitWebView.cpp:
2067         (webkitWebViewLoadChanged):
2068         (webkitWebViewResourceLoadStarted):
2069         (webkit_web_view_get_tls_info): Add a g_return_val_if_fail to
2070         prevent this function from being misused.
2071         (webkitWebViewDisconnectMainResourceResponseChangedSignalHandler): Deleted.
2072         (webkitWebViewDispose): Deleted.
2073         (webkitWebViewEmitLoadChanged): Deleted.
2074         (webkitWebViewEmitDelayedLoadEvents): Deleted.
2075         (mainResourceResponseChangedCallback): Deleted.
2076         (waitForMainResourceResponseIfWaitingForResource): Deleted.
2077
2078 2016-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2079
2080         REGRESSION(r190717): [GTK] Popup menus stop working after being dismissed without selecting an item
2081         https://bugs.webkit.org/show_bug.cgi?id=152977
2082
2083         Reviewed by Michael Catanzaro.
2084
2085         This happens since r190717 when you open a popup menu and without
2086         selecting any option it's dismissed (press ESC or click somewhere
2087         else). This is because I removed the code to track when the menu
2088         is unmapped, thinking that it was no longer necessary. But we need
2089         to send the DidChangeSelectedIndexForActivePopupMenu to the
2090         WebProcess with -1 as index to keep the web process in sync.
2091
2092         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
2093         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
2094         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
2095         (WebKit::WebPopupMenuProxyGtk::cancelTracking):
2096         (WebKit::WebPopupMenuProxyGtk::menuItemActivated):
2097         (WebKit::WebPopupMenuProxyGtk::dismissMenuTimerFired):
2098         (WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback):
2099         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
2100
2101 2016-01-09  Andy Estes  <aestes@apple.com>
2102
2103         [Cocoa] Add SPI to opt out a URL scheme from the memory cache
2104         https://bugs.webkit.org/show_bug.cgi?id=152950
2105         rdar://problem/24066652
2106
2107         Reviewed by Tim Horton.
2108
2109         Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these
2110         schemes to SchemeRegistry when initializing a new web process.
2111
2112         * Shared/API/Cocoa/WKFoundation.h: Added a newline to force re-postprocessing.
2113         * Shared/WebProcessCreationParameters.cpp:
2114         (WebKit::WebProcessCreationParameters::encode):
2115         (WebKit::WebProcessCreationParameters::decode):
2116         * Shared/WebProcessCreationParameters.h:
2117         * UIProcess/API/APIProcessPoolConfiguration.cpp:
2118         (API::ProcessPoolConfiguration::copy):
2119         * UIProcess/API/APIProcessPoolConfiguration.h:
2120         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
2121         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
2122         (-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]):
2123         (-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]):
2124         * UIProcess/WebProcessPool.cpp:
2125         (WebKit::WebProcessPool::createNewWebProcess):
2126         * UIProcess/WebProcessPool.h:
2127         * WebProcess/WebProcess.cpp:
2128         (WebKit::WebProcess::initializeWebProcess):
2129         (WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated):
2130         * WebProcess/WebProcess.h:
2131
2132 2016-01-11  Anders Carlsson  <andersca@apple.com>
2133
2134         Get rid of CFMakeCollectable, it is a no-op
2135         https://bugs.webkit.org/show_bug.cgi?id=152988
2136
2137         Reviewed by Sam Weinig.
2138
2139         * Shared/Cocoa/WKNSString.mm:
2140         * Shared/Cocoa/WKNSURL.mm:
2141         (-[WKNSURL _web_createTarget]):
2142
2143 2016-01-11  Commit Queue  <commit-queue@webkit.org>
2144
2145         Unreviewed, rolling out r194866.
2146         https://bugs.webkit.org/show_bug.cgi?id=152986
2147
2148         This change broke the mac build (Requested by ryanhaddad on
2149         #webkit).
2150
2151         Reverted changeset:
2152
2153         "[Cocoa] Add SPI to opt out a URL scheme from the memory
2154         cache"
2155         https://bugs.webkit.org/show_bug.cgi?id=152950
2156         http://trac.webkit.org/changeset/194866
2157
2158 2016-01-11  Andy Estes  <aestes@apple.com>
2159
2160         [Cocoa] Add SPI to opt out a URL scheme from the memory cache
2161         https://bugs.webkit.org/show_bug.cgi?id=152950
2162         rdar://problem/24066652
2163
2164         Reviewed by Tim Horton.
2165
2166         Added a alwaysRevalidatedURLSchemes property to _WKProcessPoolConfiguration. Taught WebProcess to add these
2167         schemes to SchemeRegistry when initializing a new web process.
2168
2169         * Shared/WebProcessCreationParameters.cpp:
2170         (WebKit::WebProcessCreationParameters::encode):
2171         (WebKit::WebProcessCreationParameters::decode):
2172         * Shared/WebProcessCreationParameters.h:
2173         * UIProcess/API/APIProcessPoolConfiguration.cpp:
2174         (API::ProcessPoolConfiguration::copy):
2175         * UIProcess/API/APIProcessPoolConfiguration.h:
2176         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
2177         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
2178         (-[_WKProcessPoolConfiguration alwaysRevalidatedURLSchemes]):
2179         (-[_WKProcessPoolConfiguration setAlwaysRevalidatedURLSchemes:]):
2180         * UIProcess/WebProcessPool.cpp:
2181         (WebKit::WebProcessPool::createNewWebProcess):
2182         * UIProcess/WebProcessPool.h:
2183         * WebProcess/WebProcess.cpp:
2184         (WebKit::WebProcess::initializeWebProcess):
2185         (WebKit::WebProcess::registerURLSchemeAsAlwaysRevalidated):
2186         * WebProcess/WebProcess.h:
2187
2188 2016-01-11  Alex Christensen  <achristensen@webkit.org>
2189
2190         Fix Mac CMake build after r194810.
2191
2192         * PlatformMac.cmake:
2193         PendingDownload isn't needed until NETWORK_SESSION is used by default.
2194         I'll figure this out when I make the switch.
2195
2196 2016-01-11  Mario Sanchez Prada  <mario@endlessm.com>
2197
2198         [WK2][GTK] Propagate motion-notify-event signals from the WebView
2199         https://bugs.webkit.org/show_bug.cgi?id=152974
2200
2201         Reviewed by Carlos Garcia Campos.
2202
2203         Always propagate motion-notify-event signals, regardless of what the
2204         web process does, so that we can listen for those events (which does
2205         not act on specific targets inside the webview) from the container
2206         widget too, and not just from the WebView itself.
2207
2208         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2209         (webkitWebViewBaseMotionNotifyEvent): Ensure the signal gets propagated.
2210
2211 2016-01-10  Dan Bernstein  <mitz@apple.com>
2212
2213         [Cocoa] Disable header postprocessing when building for El Capitan
2214         https://bugs.webkit.org/show_bug.cgi?id=152962
2215
2216         Reviewed by Anders Carlsson.
2217
2218         * Configurations/WebKit.xcconfig:
2219
2220 2016-01-09  Dan Bernstein  <mitz@apple.com>
2221
2222         [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
2223         https://bugs.webkit.org/show_bug.cgi?id=152926
2224
2225         Reviewed by Tim Horton.
2226
2227         Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
2228         where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
2229         WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
2230
2231         Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
2232
2233         * Configurations/BaseTarget.xcconfig:
2234         - Add quotes to account for spaces.
2235         - Define WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
2236           WK_OVERRIDE_FRAMEWORKS_DIR.
2237
2238         * WebKit2.xcodeproj/project.pbxproj:
2239         - In the Migrate WebKitLegacy Headers build phase, work around make’s inability to handle
2240           spaces in paths by creating a symlink to WEBKIT_LEGACY_PRIVATE_HEADERS_DIR under
2241           BUILT_PRODUCTS_DIR and using the symlink as the value of
2242           WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.
2243         - In the Postprocess WKBase.h and Postprocess WKFoundation.h build phases, add quotes to
2244           account for spaces.
2245
2246         * mac/MigrateHeadersFromWebKitLegacy.make:
2247           Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based
2248           one in order to avoid spaces.
2249
2250         * mac/postprocess-framework-headers.sh:
2251           Add quotes to account for spaces.
2252
2253 2016-01-08  Alex Christensen  <achristensen@webkit.org>
2254
2255         Implement download authentication with NetworkSession
2256         https://bugs.webkit.org/show_bug.cgi?id=152878
2257
2258         Reviewed by Brady Eidson.
2259
2260         * DerivedSources.make:
2261         * NetworkProcess/Downloads/Download.h:
2262         * NetworkProcess/Downloads/DownloadManager.cpp:
2263         (WebKit::DownloadManager::startDownload):
2264         * NetworkProcess/Downloads/PendingDownload.cpp: Added.
2265         (WebKit::PendingDownload::PendingDownload):
2266         (WebKit::PendingDownload::willSendRedirectedRequest):
2267         (WebKit::PendingDownload::continueWillSendRequest):
2268         (WebKit::PendingDownload::canAuthenticateAgainstProtectionSpaceAsync):
2269         (WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
2270         (WebKit::PendingDownload::didConvertToDownload):
2271         (WebKit::PendingDownload::messageSenderConnection):
2272         (WebKit::PendingDownload::messageSenderDestinationID):
2273         * NetworkProcess/Downloads/PendingDownload.h:
2274         (WebKit::PendingDownload::PendingDownload): Deleted.
2275         * NetworkProcess/Downloads/PendingDownload.messages.in: Added.
2276         * NetworkProcess/NetworkLoad.cpp:
2277         (WebKit::NetworkLoad::continueWillSendRequest):
2278         The completion handler should always be called.  If m_currentRequest is null, then the request will not proceed, which is the same as canceling it.
2279         (WebKit::NetworkLoad::setPendingDownloadID):
2280         (WebKit::NetworkLoad::setPendingDownload):
2281         (WebKit::NetworkLoad::willPerformHTTPRedirection):
2282         (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
2283         If this load is going to become a download, then call the PendingDownload version of didReceiveAuthenticationChallenge to communicate with the 
2284         UI process directly because there wasn't necessarily a web process associated with this request that will become a download.
2285         * NetworkProcess/NetworkLoad.h:
2286         (WebKit::NetworkLoad::pendingDownloadID):
2287         * NetworkProcess/NetworkSession.h:
2288         (WebKit::NetworkDataTask::client):
2289         (WebKit::NetworkDataTask::pendingDownloadID):
2290         (WebKit::NetworkDataTask::pendingDownload):
2291         (WebKit::NetworkDataTask::setPendingDownloadID):
2292         (WebKit::NetworkDataTask::setPendingDownload):
2293         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2294         * PlatformMac.cmake:
2295         * Shared/Authentication/AuthenticationManager.cpp:
2296         (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
2297         * Shared/Authentication/AuthenticationManager.h:
2298         * WebKit2.xcodeproj/project.pbxproj:
2299         * WebProcess/Network/WebResourceLoader.cpp:
2300         (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
2301         Removed unnecessary protection and move null check to before using the pointer it checks.
2302
2303 2016-01-07  Simon Fraser  <simon.fraser@apple.com>
2304
2305         Use an appropriate buffer format for swipe snapshots
2306         https://bugs.webkit.org/show_bug.cgi?id=152880
2307         rdar://problem/23728299
2308
2309         Reviewed by Tim Horton.
2310         
2311         Choose an appropriate buffer format for swipe snapshots, and avoid converting
2312         them to YUV422.
2313
2314         * UIProcess/API/Cocoa/WKWebView.mm:
2315         (WebKit::bufferFormat):
2316         (-[WKWebView _takeViewSnapshot]):
2317
2318 2016-01-07  Alex Christensen  <achristensen@webkit.org>
2319
2320         Progress towards implementing downloads with NetworkSession
2321         https://bugs.webkit.org/show_bug.cgi?id=152760
2322
2323         Reviewed by Brady Eidson.
2324
2325         * NetworkProcess/Downloads/Download.cpp:
2326         (WebKit::Download::Download):
2327         There's no need to store the unused NetworkSession&.
2328         (WebKit::Download::didStart):
2329         (WebKit::Download::didReceiveAuthenticationChallenge):
2330         Downloads with NetworkSession are NetworkLoads until the response is received, which is after authentication
2331         challenges are handled by NetworkLoad's code.
2332         (WebKit::Download::didReceiveResponse):
2333         * NetworkProcess/Downloads/Download.h:
2334         * NetworkProcess/Downloads/DownloadManager.cpp:
2335         (WebKit::DownloadManager::startDownload):
2336         Create a PendingDownload, which is basically a NetworkLoad that knows that it will become a Download 
2337         when the response is received, regardless of whether or not there is a Content-Disposition header.
2338         (WebKit::DownloadManager::dataTaskBecameDownloadTask):
2339         * NetworkProcess/Downloads/DownloadManager.h:
2340         * NetworkProcess/Downloads/PendingDownload.h: Added.
2341         (WebKit::PendingDownload::PendingDownload):
2342         Added a new NetworkLoadClient for requests that will become downloads.
2343         A PendingDownload contains a NetworkLoad so we can always keep them together
2344         and so it can handle setting its pending download id.
2345         * WebKit2.xcodeproj/project.pbxproj:
2346         * NetworkProcess/NetworkLoad.cpp:
2347         (WebKit::NetworkLoad::NetworkLoad):
2348         Avoid dereferencing a pointer if the NetworkSession hadn't been created when a NetworkLoad starts.
2349         This shouldn't be possible, but it's good to not assume that all pointers are non-null.
2350         (WebKit::NetworkLoad::cancel):
2351         Add a null check in case the constructor doesn't make m_task.
2352         (WebKit::NetworkLoad::convertTaskToDownload):
2353         (WebKit::NetworkLoad::setPendingDownloadID):
2354         Added for downloads that start with startDownload.  The pending DownloadID is used to indicate that
2355         this request should always become a download, regardless of whether or not the response has a 
2356         Content-Disposition header.
2357         (WebKit::NetworkLoad::willPerformHTTPRedirection):
2358         (WebKit::NetworkLoad::didReceiveResponse):
2359         * NetworkProcess/NetworkLoad.h:
2360         There's no need to store a DownloadID here.  It's stored in the NetworkDataTask (m_task).
2361         * NetworkProcess/NetworkSession.h:
2362         (WebKit::NetworkDataTask::client):
2363         (WebKit::NetworkDataTask::pendingDownloadID):
2364         (WebKit::NetworkDataTask::setPendingDownloadID):
2365         (WebKit::NetworkDataTask::downloadID): Deleted.
2366         (WebKit::NetworkDataTask::setDownloadID): Deleted.
2367         Renamed downloadID and setDownloadID to pendingDownloadID and setPendingDownloadID, respectively,
2368         to indicate their use.  They are not the current downloadID, but they are the downloadID of the download
2369         that will happen once the response is received and PolicyDownload will be returned in the completion handler.
2370         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2371         (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
2372         Call dataTaskBecameDownloadTask after didBecomeDownload because the networkDataTask is deleted by removing it 
2373         from m_pendingDownloads in dataTaskBecameDownloadTask.
2374
2375 2016-01-06  Simon Fraser  <simon.fraser@apple.com>
2376
2377         Add a setting and preferences to enable display-list drawing. Does nothing yet.
2378         https://bugs.webkit.org/show_bug.cgi?id=152807
2379
2380         Reviewed by Zalan Bujtas.
2381         
2382         WK2 debug pref for display-list drawing, defaults to off.
2383
2384         * Shared/WebPreferencesDefinitions.h:
2385         * UIProcess/API/Cocoa/WKPreferences.mm:
2386         (-[WKPreferences _displayListDrawingEnabled]):
2387         (-[WKPreferences _setDisplayListDrawingEnabled:]):
2388         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2389         * WebProcess/WebPage/WebPage.cpp:
2390         (WebKit::WebPage::updatePreferences):
2391
2392 2016-01-06  Daniel Bates  <dabates@apple.com>
2393
2394         Use code signed identifier as part of user directory suffix
2395         https://bugs.webkit.org/show_bug.cgi?id=152310
2396         <rdar://problem/13352225>
2397
2398         As pointed out by Sam Weinig, the year is 2016! I inadvertently added the copyright year 2015 instead of 2016.
2399
2400         * Shared/mac/ChildProcessMac.mm:
2401
2402 2016-01-06  Simon Fraser  <simon.fraser@apple.com>
2403
2404         [iOS] Revert overflow:hidden on the body affecting viewport scale (r186786)
2405         https://bugs.webkit.org/show_bug.cgi?id=152803
2406         rdar://problem/22242515
2407
2408         Reviewed by Tim Horton.
2409
2410         You can't assume that if an author uses overflow:hidden on the body, they have no
2411         content outside the body that is important. Sites like Google Translate put
2412         abspos elements outside the body.
2413         
2414         So revert the change.
2415
2416         * WebProcess/WebPage/WebPage.cpp:
2417         (WebKit::WebPage::mainFrameDidLayout): Go back to using contents size.
2418
2419 2016-01-06  Anders Carlsson  <andersca@apple.com>
2420
2421         Add a smart block pointer
2422         https://bugs.webkit.org/show_bug.cgi?id=152799
2423
2424         Reviewed by Tim Horton.
2425
2426         Use WTF::BlockPtr.
2427
2428         * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
2429         (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
2430         (-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
2431         (-[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
2432
2433 2016-01-06  Daniel Bates  <dabates@apple.com>
2434
2435         Use code signed identifier as part of user directory suffix
2436         https://bugs.webkit.org/show_bug.cgi?id=152310
2437         <rdar://problem/13352225>
2438
2439         Reviewed by Brent Fulgham.
2440
2441         * Shared/mac/ChildProcessMac.mm:
2442         (WebKit::findSecCodeForProcess): Added.
2443         (WebKit::ChildProcess::initializeSandbox): Modified to use an identifier
2444         from the code signature of the app/tool as part of the user directory suffix.
2445
2446 2016-01-06  Brian Burg  <bburg@apple.com>
2447
2448         Add a WebKit SPI for registering an automation controller with RemoteInspector
2449         https://bugs.webkit.org/show_bug.cgi?id=151576
2450
2451         Reviewed by Dan Bernstein and Joseph Pecoraro.
2452
2453         _WKAutomationDelegate is a new SPI that allows WKProcessPool clients to decide
2454         policy and implement actions for remote automation.
2455
2456         The SPI's implementation connects the client's delegate to RemoteInspector::Client.
2457         This allows the delegate to handle some commands, such as requestAutomationSession,
2458         that come over XPC from an external test runner but are not associated with a specific
2459         automation target.
2460
2461         * PlatformMac.cmake:
2462         * UIProcess/API/APIAutomationClient.h: Added. Boilerplate for WebKit::AutomationClient.
2463         (API::AutomationClient::~AutomationClient):
2464         (API::AutomationClient::allowsRemoteAutomation):
2465         (API::AutomationClient::requestAutomationSession):
2466         * UIProcess/API/Cocoa/WKProcessPool.mm:
2467         (-[WKProcessPool _automationDelegate]): Added.
2468         (-[WKProcessPool _setAutomationDelegate:]): Added.
2469         (-[WKProcessPool _automationCapabilitiesDidChange]): Added.
2470         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Add delegate.
2471         * UIProcess/API/Cocoa/_WKAutomationDelegate.h: Added.
2472
2473             This is a new delegate SPI of WKProcessPool; it corresponds to AutomationClient.
2474
2475         * UIProcess/Cocoa/AutomationClient.h: Added.
2476         * UIProcess/Cocoa/AutomationClient.mm: Added.
2477
2478             This implements a bridge between RemoteInspector::Client and _WKAutomationDelegate.
2479             Since the delegate can be called from JavaScriptCore, save the delegating
2480             WKProcessPool and pass it as the self parameter to delegate methods.
2481
2482         (WebKit::AutomationClient::AutomationClient):
2483         (WebKit::AutomationClient::~AutomationClient):
2484
2485             This client automatically registers and unregisters as a RemoteInspector::Client.
2486
2487         (WebKit::AutomationClient::remoteAutomationAllowed):
2488         (WebKit::AutomationClient::requestAutomationSession):
2489
2490             Forward requests from RemoteInspector to the automation delegate.
2491
2492         * UIProcess/WebProcessPool.cpp:
2493         (WebKit::WebProcessPool::WebProcessPool):
2494         (WebKit::WebProcessPool::setAutomationClient): Added.
2495         (WebKit::WebProcessPool::updateAutomationCapabilities): Added, it notifies RemoteInspector.
2496         * UIProcess/WebProcessPool.h:
2497         * WebKit2.xcodeproj/project.pbxproj:
2498
2499 2016-01-06  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2500
2501         [EFL] Set WebKit2 process output name
2502         https://bugs.webkit.org/show_bug.cgi?id=152773
2503
2504         Reviewed by Benjamin Poulain.
2505
2506         If we add *WebKit* prefix to each WK2 process, it is more clear when checking what process is running.
2507         So this patch sets wk2 process output name.
2508
2509         * PlatformEfl.cmake:
2510
2511 2016-01-05  Alex Christensen  <achristensen@webkit.org>
2512
2513         Implement defersLoading with NetworkSession
2514         https://bugs.webkit.org/show_bug.cgi?id=151818
2515
2516         Reviewed by Darin Adler.
2517
2518         * NetworkProcess/NetworkLoad.cpp:
2519         (WebKit::NetworkLoad::NetworkLoad):
2520         (WebKit::NetworkLoad::setDefersLoading):
2521         * NetworkProcess/NetworkSession.h:
2522         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2523         (WebKit::NetworkDataTask::resume):
2524         (WebKit::NetworkDataTask::suspend):
2525
2526 2016-01-05  Tim Horton  <timothy_horton@apple.com>
2527
2528         REGRESSION (r192432): Keyboard repeat doesn't work anymore for arrow keys/spacebar
2529         https://bugs.webkit.org/show_bug.cgi?id=152767
2530         <rdar://problem/24017380>
2531
2532         Reviewed by Dan Bernstein.
2533
2534         * UIProcess/ios/WKContentViewInteraction.mm:
2535         (-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
2536         Instead of always bailing, call [super _handleKeyUIEvent:] if we aren't
2537         in an editable area, because we won't have done so in _handleKeyUIEvent.
2538
2539         It's important that the event makes it to the root UIResponder (even if
2540         we handled it!) for key repeat to function.
2541
2542         The double-scrolling case is still fixed because we notice the resent
2543         event coming back in to us and bail if we've already seen it.
2544
2545 2016-01-05  Jer Noble  <jer.noble@apple.com>
2546
2547         [Mac] Exiting fullscreen via Mission Control leaves fullcreen window frontmost on desktop
2548         https://bugs.webkit.org/show_bug.cgi?id=152733
2549
2550         Reviewed by Eric Carlson.
2551
2552         Rather than ignore -windowDidExitFullScreen: notifications when fullscreen exit was
2553         not initiated by WebKit (and the -window:startCustomAnimationToEnterFullScreenWithDuration:
2554         method was not called), continue to exit fullscreen normally.
2555
2556         * UIProcess/mac/WKFullScreenWindowController.mm:
2557         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
2558
2559 2016-01-05  Alex Christensen  <achristensen@webkit.org>
2560
2561         Clean up download code
2562         https://bugs.webkit.org/show_bug.cgi?id=152739
2563
2564         Reviewed by Brady Eidson.
2565
2566         * NetworkProcess/Downloads/DownloadManager.cpp:
2567         (WebKit::DownloadManager::DownloadManager):
2568         (WebKit::DownloadManager::didCreateDownload):
2569         (WebKit::DownloadManager::didDestroyDownload):
2570         (WebKit::DownloadManager::downloadProxyConnection):
2571         (WebKit::DownloadManager::downloadsAuthenticationManager):
2572         * NetworkProcess/Downloads/DownloadManager.h:
2573         Keep a Client& instead of a Client*.
2574         * NetworkProcess/NetworkProcess.cpp:
2575         (WebKit::NetworkProcess::downloadManager):
2576         * NetworkProcess/NetworkSession.h:
2577         m_sessionID is not used. There is no need to store the sessionID if it is only used in the NetworkSession constructor.
2578         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2579         (WebKit::NetworkSession::defaultSession):
2580         (WebKit::NetworkSession::NetworkSession):
2581
2582 2016-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2583
2584         [GTK] Allow to save and restore session
2585         https://bugs.webkit.org/show_bug.cgi?id=115600
2586
2587         Reviewed by Michael Catanzaro.
2588
2589         Add new API to get and resore the web view session state.
2590
2591         * PlatformGTK.cmake: Add new files to compilation.
2592         * UIProcess/API/gtk/WebKitWebView.cpp:
2593         (webkit_web_view_get_session_state): Create a new
2594         WebKitWebViewSessionState representing the current session state.
2595         (webkit_web_view_restore_session_state): Restore the web view
2596         session state from the given WebKitWebViewSessionState.
2597         * UIProcess/API/gtk/WebKitWebView.h:
2598         * UIProcess/API/gtk/WebKitWebViewSessionState.cpp: Added.
2599         (_WebKitWebViewSessionState::_WebKitWebViewSessionState):
2600         (toExternalURLsPolicy):
2601         (toWebCoreExternalURLsPolicy):
2602         (toHTMLBodyElementType):
2603         (toHTTPBodyElementType):
2604         (encodeHTTPBody):
2605         (encodeFrameState):
2606         (encodePageState):
2607         (encodeBackForwardListItemState):
2608         (encodeBackForwardListState):
2609         (encodeSessionState):
2610         (decodeHTTPBody):
2611         (decodeFrameState):
2612         (decodeBackForwardListItemState):
2613         (decodeSessionState):
2614         (webkitWebViewSessionStateCreate):
2615         (webkitWebViewSessionStateGetSessionState):
2616         (webkit_web_view_session_state_new): Create a
2617         WebKitWebViewSessionState from serialized data.
2618         (webkit_web_view_session_state_ref):
2619         (webkit_web_view_session_state_unref):
2620         (webkit_web_view_session_state_serialize): Serialize the WebKitWebViewSessionState.
2621         * UIProcess/API/gtk/WebKitWebViewSessionState.h: Added.
2622         * UIProcess/API/gtk/WebKitWebViewSessionStatePrivate.h: Added.
2623         * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
2624         * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_web_view_session_state_get_type.
2625         * UIProcess/API/gtk/webkit2.h: Include WebKitWebViewSessionState.h.
2626
2627 2016-01-04  Alex Christensen  <achristensen@webkit.org>
2628
2629         Use unique_ptr for NetworkDataTasks and references for NetworkSessionTaskClients
2630         https://bugs.webkit.org/show_bug.cgi?id=152724
2631
2632         Reviewed by Andy Estes.
2633
2634         There is no reason to have a NetworkSessionTaskClient* instead of a 
2635         NetworkSessionTaskClient& just so we can clear it in the NetworkLoad destructor, 
2636         which immediately calls ~NetworkDataTask.
2637         Also, NetworkDataTasks are owned only by the NetworkLoad, so there's no reason to refcount them.
2638
2639         * NetworkProcess/Downloads/Download.h:
2640         * NetworkProcess/Downloads/DownloadManager.h:
2641         * NetworkProcess/NetworkLoad.cpp:
2642         (WebKit::NetworkLoad::~NetworkLoad):
2643         * NetworkProcess/NetworkLoad.h:
2644         * NetworkProcess/NetworkSession.h:
2645         (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
2646         (WebKit::NetworkDataTask::client):
2647         (WebKit::NetworkDataTask::downloadID):
2648         (WebKit::NetworkDataTask::setDownloadID):
2649         (WebKit::NetworkDataTask::clearClient): Deleted.
2650         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2651         (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
2652         (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
2653         (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
2654         (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
2655         (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
2656         (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
2657         (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
2658         (WebKit::NetworkSession::~NetworkSession):
2659         (WebKit::NetworkSession::createDataTaskWithRequest):
2660         (WebKit::NetworkSession::dataTaskForIdentifier):
2661         (WebKit::NetworkDataTask::NetworkDataTask):
2662
2663 2016-01-04  Alex Christensen  <achristensen@webkit.org>
2664
2665         Progress towards implementing downloads with NetworkSession
2666         https://bugs.webkit.org/show_bug.cgi?id=152716
2667
2668         Reviewed by Brady Eidson.
2669
2670         * NetworkProcess/Downloads/Download.h:
2671         * NetworkProcess/Downloads/DownloadID.h:
2672         (WebKit::DownloadID::DownloadID):
2673         (WebKit::DownloadID::operator==):
2674         (WebKit::DownloadID::operator!=):
2675         (WebKit::DownloadID::downloadID):
2676         * NetworkProcess/Downloads/DownloadManager.cpp:
2677         (WebKit::DownloadManager::startDownload):
2678         * NetworkProcess/Downloads/DownloadManager.h:
2679         (WebKit::DownloadManager::download):
2680         (WebKit::DownloadManager::isDownloading):
2681         * NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
2682         (WebKit::Download::resume):
2683         (WebKit::Download::platformInvalidate):
2684         (WebKit::Download::platformDidFinish):
2685         (WebKit::Download::start): Deleted.
2686         * NetworkProcess/NetworkSession.h:
2687         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2688         (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
2689         (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
2690         (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
2691         (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
2692         (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
2693         (-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
2694         (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
2695         (-[WKNetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
2696         (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
2697
2698         When using NSURLSession, a data task is converted to a download task after the connection has already
2699         been established, the headers have been received, and WebCore looks at the response and decides that
2700         this connection should become a download.  We call the didReceiveResponse to match the behavior of 
2701         NSURLDownload, but this could be cleaned up later to match what is actually happening.  We also do not
2702         need to tell the download to start because it has already started.
2703
2704         (WebKit::NetworkSession::dataTaskForIdentifier):
2705         (WebKit::NetworkSession::addDownloadID):
2706         (WebKit::NetworkSession::downloadID):
2707         (WebKit::NetworkSession::takeDownloadID):
2708         (WebKit::NetworkDataTask::NetworkDataTask):
2709
2710         NSURLSessionDownloadTask taskIdentifiers are unique to that NSURLSession, but we have one global DownloadManager
2711         in the NetworkProcess.  We need to have each NetworkSession keep a map of taskIdentifiers to global DownloadID.
2712
2713 2016-01-04  Tim Horton  <timothy_horton@apple.com>
2714
2715         Turn on gesture events when building for Yosemite
2716         https://bugs.webkit.org/show_bug.cgi?id=152704
2717         rdar://problem/24042472
2718
2719         Reviewed by Anders Carlsson.
2720
2721         * Configurations/FeatureDefines.xcconfig:
2722
2723 2016-01-04  Tim Horton  <timothy_horton@apple.com>
2724
2725         Hardware keyboard key-commands stop responding when viewing PDFs
2726         https://bugs.webkit.org/show_bug.cgi?id=152712
2727         <rdar://problem/23014457>
2728
2729         Reviewed by Dan Bernstein.
2730
2731         Maintain first responder status through any content view swapping, by
2732         making WKWebView become first responder if needed, and pushing first
2733         responder status down to the swapped-in content view if possible.
2734
2735         * UIProcess/API/Cocoa/WKWebView.mm:
2736         (-[WKWebView becomeFirstResponder]):
2737         Make the current content view first responder instead of the WKContentView,
2738         in case we have a custom content view installed.
2739
2740         (-[WKWebView canBecomeFirstResponder]):
2741         WKWebView can always become first responder, even if none of its children can.
2742         This makes it so that if a custom content view can't become first responder,
2743         WKWebView will take the responsibility.
2744
2745         (-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
2746         Return the responsibility of being first responder to the newly-installed
2747         content view if WKWebView is currently the first responder (either because
2748         of tab switching or because the previous content view did not support
2749         being first responder), if it supports being first responder.
2750
2751 2016-01-04  Commit Queue  <commit-queue@webkit.org>
2752
2753         Unreviewed, rolling out r194544.
2754         https://bugs.webkit.org/show_bug.cgi?id=152711
2755
2756         This change caused assertions in existing inspector tests
2757         (Requested by ryanhaddad on #webkit).
2758
2759         Reverted changeset:
2760
2761         "Web Inspector: reproducible debug ASSERT when inspecting the
2762         inspector (WK2)"
2763         https://bugs.webkit.org/show_bug.cgi?id=152080
2764         http://trac.webkit.org/changeset/194544
2765
2766 2016-01-04  Alex Christensen  <achristensen@webkit.org>
2767
2768         Fix Mac CMake build after r194378.
2769
2770         * CMakeLists.txt:
2771
2772 2016-01-04  Brian Burg  <bburg@apple.com>
2773
2774         Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2)
2775         https://bugs.webkit.org/show_bug.cgi?id=152080
2776
2777         Reviewed by Timothy Hatcher.
2778
2779         We hit an assert underneath ChildProcessProxy::addMessageReceiver when opening Inspector[2]
2780         because we try to add WebInpectorProxy as a message receiver twice for the same process.
2781
2782         On investigating, I found several interrelated issues that caused this state of affairs:
2783
2784          - WebInspectorProxy adds message receivers for inspector page's WebProcess and the
2785         inspected page's WebProcess. When inspecting the inspector, we mistakenly add a receiver
2786         again because the inspector is now the inspected page.
2787          - We mixed up process ids when adding message receivers.
2788          - invalidate() is re-entrant, causing us to try and double-remove the message receiver.
2789
2790         Fix this by removing add/remove of message recievers for the inspector page when then
2791         inspected page is itself an inspector page. In that case, the receivers are managed by
2792         the inspector page's WebInspectorProxy instance.
2793
2794         * UIProcess/WebInspectorProxy.cpp:
2795         (WebKit::WebInspectorProxy::invalidate): Re-arrange to guard against useless reentrancy.
2796         (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
2797         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
2798         (WebKit::WebInspectorProxy::didClose):
2799
2800 2016-01-04  Alex Christensen  <achristensen@webkit.org>
2801
2802         Build fix after r194536 when using NetworkSession.
2803
2804         * NetworkProcess/Downloads/DownloadManager.cpp:
2805         (WebKit::DownloadManager::dataTaskBecameDownloadTask):
2806         (WebKit::DownloadManager::convertHandleToDownload):
2807         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2808         (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
2809         WTFMove changed underneath me.
2810
2811 2016-01-04  Alex Christensen  <achristensen@webkit.org>
2812
2813         Progress towards implementing downloads with NetworkSession
2814         https://bugs.webkit.org/show_bug.cgi?id=152576
2815
2816         Reviewed by Brady Eidson.
2817
2818         * NetworkProcess/Downloads/Download.cpp:
2819         (WebKit::Download::Download):
2820         (WebKit::Download::~Download):
2821         (WebKit::Download::didStart):
2822         (WebKit::Download::didReceiveAuthenticationChallenge):
2823         * NetworkProcess/Downloads/Download.h:
2824         (WebKit::Download::downloadID):
2825         * NetworkProcess/Downloads/DownloadManager.cpp:
2826         (WebKit::DownloadManager::startDownload):
2827         (WebKit::DownloadManager::dataTaskBecameDownloadTask):
2828         (WebKit::DownloadManager::convertHandleToDownload):
2829         * NetworkProcess/Downloads/DownloadManager.h:
2830         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2831         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
2832         * NetworkProcess/NetworkLoad.cpp:
2833         (WebKit::NetworkLoad::convertTaskToDownload):
2834         * NetworkProcess/NetworkLoad.h:
2835         * NetworkProcess/NetworkSession.h:
2836         (WebKit::NetworkDataTask::client):
2837         (WebKit::NetworkDataTask::clearClient):
2838         (WebKit::NetworkDataTask::downloadID):
2839         (WebKit::NetworkDataTask::setDownloadID):
2840         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2841         (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
2842         (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
2843
2844 2016-01-04  Michael Catanzaro  <mcatanzaro@igalia.com>
2845
2846         [GTK] Rename _WebKitWebContextPrivate.context to _WebKitWebContextPrivate.processPool
2847         https://bugs.webkit.org/show_bug.cgi?id=152672
2848
2849         Reviewed by Carlos Garcia Campos.
2850
2851         * UIProcess/API/gtk/WebKitDownloadClient.cpp:
2852         (attachDownloadClientToContext):
2853         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
2854         (attachInjectedBundleClientToContext):
2855         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
2856         (registerSecurityPolicyForURIScheme):
2857         * UIProcess/API/gtk/WebKitWebContext.cpp:
2858         (webkitWebContextConstructed):
2859         (webkitWebContextDispose):
2860         (webkit_web_context_set_cache_model):
2861         (webkit_web_context_get_cache_model):
2862         (webkit_web_context_clear_cache):
2863         (webkit_web_context_get_cookie_manager):
2864         (ensureFaviconDatabase):
2865         (webkit_web_context_set_favicon_database_directory):
2866         (webkit_web_context_set_additional_plugins_directory):
2867         (webkitWebContextGetPluginThread):
2868         (webkit_web_context_set_tls_errors_policy):
2869         (webkit_web_context_set_disk_cache_directory):
2870         (webkit_web_context_prefetch_dns):
2871         (webkit_web_context_allow_tls_certificate_for_host):
2872         (webkit_web_context_set_process_model):
2873         (webkit_web_context_set_web_process_count_limit):
2874         (webkitWebContextStartDownload):
2875         (webkitWebContextGetProcessPool):
2876         (webkitWebContextCreatePageForWebView):
2877         (webkitWebContextGetContext): Deleted.
2878         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
2879
2880 2016-01-03  Simon Fraser  <simon.fraser@apple.com>
2881
2882         Rename scrollPosition(Scrollbar*) to scrollOffset(ScrollbarOrientation)
2883         https://bugs.webkit.org/show_bug.cgi?id=152666
2884
2885         Reviewed by Dan Bernstein.
2886
2887         Scrollbar values take offsets (zero-based), so rename the accessor used
2888         by scrollbars to set their value, and pass in an orientation, rather than
2889         a pointer to the scrollbar.
2890
2891         * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.h:
2892         * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
2893         (WebKit::PDFPlugin::scrollOffset):
2894         (WebKit::PDFPlugin::scrollPosition): Renamed.
2895
2896 2015-12-31  Andy Estes  <aestes@apple.com>
2897
2898         Replace WTF::move with WTFMove
2899         https://bugs.webkit.org/show_bug.cgi?id=152601
2900
2901         Reviewed by Brady Eidson.
2902
2903         * DatabaseProcess/DatabaseProcess.cpp:
2904         (WebKit::DatabaseProcess::postDatabaseTask):
2905         (WebKit::DatabaseProcess::fetchWebsiteData):
2906         (WebKit::DatabaseProcess::deleteWebsiteData):
2907         (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
2908         (WebKit::DatabaseProcess::indexedDatabaseOrigins):
2909         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2910         (WebKit::UniqueIDBDatabase::postTransactionOperation):
2911         (WebKit::UniqueIDBDatabase::postMainThreadTask):
2912         (WebKit::UniqueIDBDatabase::postDatabaseTask):
2913         * NetworkProcess/Downloads/DownloadManager.cpp:
2914         (WebKit::DownloadManager::startDownload):
2915         (WebKit::DownloadManager::convertHandleToDownload):
2916         (WebKit::DownloadManager::resumeDownload):
2917         * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
2918         (WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
2919         * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
2920         (WebKit::NetworkBlobRegistry::registerBlobURL):
2921         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2922         (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
2923         (WebKit::NetworkConnectionToWebProcess::registerBlobURL):
2924         * NetworkProcess/NetworkLoad.cpp:
2925         (WebKit::NetworkLoad::didReceiveData):
2926         (WebKit::NetworkLoad::didReceiveBuffer):
2927         (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
2928         * NetworkProcess/NetworkProcess.cpp:
2929         (WebKit::fetchDiskCacheEntries):
2930         (WebKit::NetworkProcess::fetchWebsiteData):
2931         (WebKit::NetworkProcess::deleteWebsiteData):
2932         (WebKit::clearDiskCacheEntries):
2933         (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
2934         * NetworkProcess/NetworkResourceLoader.cpp:
2935         (WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
2936         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
2937         (WebKit::NetworkResourceLoader::retrieveCacheEntry):
2938         (WebKit::NetworkResourceLoader::didFinishLoading):
2939         (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
2940         (WebKit::NetworkResourceLoader::validateCacheEntry):
2941         * NetworkProcess/NetworkResourceLoader.h:
2942         * NetworkProcess/cache/NetworkCache.cpp:
2943         (WebKit::NetworkCache::Cache::retrieve):
2944         (WebKit::NetworkCache::Cache::store):
2945         (WebKit::NetworkCache::Cache::clear):
2946         * NetworkProcess/cache/NetworkCacheCoders.h:
2947         * NetworkProcess/cache/NetworkCacheDataSoup.cpp:
2948         (WebKit::NetworkCache::Data::empty):
2949         (WebKit::NetworkCache::Data::subrange):
2950         (WebKit::NetworkCache::concatenate):
2951         (WebKit::NetworkCache::Data::adoptMap):
2952         * NetworkProcess/cache/NetworkCacheEntry.cpp:
2953         (WebKit::NetworkCache::Entry::Entry):
2954         * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
2955         (WebKit::NetworkCache::runTaskInQueue):
2956         (WebKit::NetworkCache::fillDataFromReadBuffer):
2957         (WebKit::NetworkCache::IOChannel::readSyncInThread):
2958         * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
2959         (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
2960         (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
2961         (WebKit::NetworkCache::SpeculativeLoad::didComplete):
2962         * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
2963         (WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry):
2964         (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
2965         (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::takeCacheEntry):
2966         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::create):
2967         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::setExistingSubresourcesEntry):
2968         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):
2969         (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
2970         (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
2971         (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
2972         (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
2973         (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
2974         (WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):
2975         * NetworkProcess/cache/NetworkCacheStatistics.cpp:
2976         (WebKit::NetworkCache::Statistics::queryWasEverRequested):
2977         * NetworkProcess/cache/NetworkCacheStorage.cpp:
2978         (WebKit::NetworkCache::Storage::ReadOperation::finish):
2979         (WebKit::NetworkCache::Storage::synchronize):
2980         (WebKit::NetworkCache::Storage::dispatchReadOperation):
2981         (WebKit::NetworkCache::Storage::dispatchWriteOperation):
2982         (WebKit::NetworkCache::Storage::retrieve):
2983         (WebKit::NetworkCache::Storage::store):
2984         (WebKit::NetworkCache::Storage::traverse):
2985         (WebKit::NetworkCache::Storage::clear):
2986         * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
2987         (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
2988         (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceKeys):
2989         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2990         (WebKit::NetworkDataTask::NetworkDataTask):
2991         * NetworkProcess/soup/NetworkProcessSoup.cpp:
2992         (WebKit::NetworkProcess::clearDiskCache):
2993         * Platform/IPC/ArgumentCoders.h:
2994         (IPC::ArgumentCoder<WTF::Optional<T>>::decode):
2995         * Platform/IPC/ArgumentDecoder.cpp:
2996         (IPC::ArgumentDecoder::ArgumentDecoder):
2997         * Platform/IPC/ArgumentEncoder.cpp:
2998         (IPC::ArgumentEncoder::addAttachment):
2999         (IPC::ArgumentEncoder::releaseAttachments):
3000         * Platform/IPC/Attachment.cpp:
3001         (IPC::Attachment::encode):
3002         * Platform/IPC/Connection.cpp:
3003         (IPC::Connection::SyncMessageState::processIncomingMessage):
3004         (IPC::Connection::SyncMessageState::dispatchMessages):
3005         (IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
3006         (IPC::Connection::sendMessage):
3007         (IPC::Connection::sendSyncReply):
3008         (IPC::Connection::waitForMessage):
3009         (IPC::Connection::sendSyncMessage):
3010         (IPC::Connection::sendSyncMessageFromSecondaryThread):
3011         (IPC::Connection::waitForSyncReply):
3012         (IPC::Connection::processIncomingSyncReply):
3013         (IPC::Connection::processIncomingMessage):
3014         (IPC::Connection::sendOutgoingMessages):
3015         (IPC::Connection::dispatchSyncMessage):
3016         (IPC::Connection::enqueueIncomingMessage):
3017         (IPC::Connection::dispatchOneMessage):
3018         * Platform/IPC/Connection.h:
3019         (IPC::Connection::Identifier::Identifier):
3020         (IPC::Connection::send):
3021         (IPC::Connection::sendSync):
3022         * Platform/IPC/HandleMessage.h:
3023         (IPC::handleMessage):
3024         (IPC::handleMessageDelayed):
3025         * Platform/IPC/MessageDecoder.cpp:
3026         (IPC::MessageDecoder::MessageDecoder):
3027         (IPC::MessageDecoder::setImportanceAssertion):
3028         (IPC::MessageDecoder::unwrapForTesting):
3029         * Platform/IPC/MessageDecoder.h:
3030         (IPC::MessageDecoder::setMessageProcessingToken):
3031         * Platform/IPC/MessageEncoder.cpp:
3032         (IPC::MessageEncoder::wrapForTesting):
3033         * Platform/IPC/MessageRecorder.cpp:
3034         (IPC::MessageRecorder::recordOutgoingMessage):
3035         (IPC::MessageRecorder::recordIncomingMessage):
3036         (IPC::MessageRecorder::MessageProcessingToken::MessageProcessingToken):
3037         * Platform/IPC/MessageSender.cpp:
3038         (IPC::MessageSender::sendMessage):
3039         * Platform/IPC/MessageSender.h:
3040         (IPC::MessageSender::send):
3041         (IPC::MessageSender::sendSync):
3042         * Platform/IPC/glib/GSocketMonitor.cpp:
3043         (IPC::GSocketMonitor::start):
3044         * Platform/IPC/mac/ConnectionMac.mm:
3045         (IPC::Connection::open):
3046         (IPC::createMessageDecoder):
3047         (IPC::Connection::receiveSourceEventHandler):
3048         * Platform/IPC/unix/ConnectionUnix.cpp:
3049         (IPC::Connection::processMessage):
3050         * Platform/unix/SharedMemoryUnix.cpp:
3051         (WebKit::SharedMemory::Handle::decode):
3052         (WebKit::SharedMemory::Handle::releaseAttachment):
3053         (WebKit::SharedMemory::Handle::adoptAttachment):
3054         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
3055         (WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
3056         * PluginProcess/PluginProcess.cpp:
3057         (WebKit::PluginProcess::initializePluginProcess):
3058         * PluginProcess/WebProcessConnection.cpp:
3059         (WebKit::WebProcessConnection::addPluginControllerProxy):
3060         (WebKit::WebProcessConnection::createPluginInternal):
3061         * PluginProcess/mac/PluginProcessMac.mm:
3062         (WebKit::PluginProcess::platformInitializePluginProcess):
3063         * Scripts/webkit/LegacyMessageReceiver-expected.cpp:
3064         (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
3065         (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
3066         (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
3067         (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
3068         * Scripts/webkit/MessageReceiver-expected.cpp:
3069         (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
3070         (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
3071         (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
3072         (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
3073         * Scripts/webkit/messages.py:
3074         (generate_message_handler):
3075         * Shared/API/APIArray.cpp:
3076         (API::Array::create):
3077         (API::Array::createStringArray):
3078         (API::Array::copy):
3079         * Shared/API/APIArray.h:
3080         * Shared/API/APIDictionary.cpp:
3081         (API::Dictionary::create):
3082         (API::Dictionary::Dictionary):
3083         (API::Dictionary::keys):
3084         * Shared/API/APIPageGroupHandle.cpp:
3085         (API::PageGroupHandle::create):
3086         (API::PageGroupHandle::PageGroupHandle):
3087         (API::PageGroupHandle::decode):
3088         * Shared/API/APIString.h:
3089         * Shared/API/APIURL.h:
3090         (API::URL::create):
3091         (API::URL::URL):
3092         * Shared/API/Cocoa/RemoteObjectInvocation.h:
3093         (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
3094         * Shared/API/Cocoa/RemoteObjectInvocation.mm:
3095         (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
3096         (WebKit::RemoteObjectInvocation::decode):
3097         * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
3098         (ensureObjectStream):
3099         (createEncodedObject):
3100         * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
3101         (initializeMethod):
3102         (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:ofReply:]):
3103         * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
3104         (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
3105         * Shared/API/c/WKArray.cpp:
3106         (WKArrayCreate):
3107         (WKArrayCreateAdoptingValues):
3108         * Shared/API/c/WKDictionary.cpp:
3109         (WKDictionaryCreate):
3110         * Shared/API/c/WKSharedAPICast.h:
3111         (WebKit::ProxyingRefPtr::ProxyingRefPtr):
3112         * Shared/APIWebArchive.mm:
3113         (API::WebArchive::WebArchive):
3114         (API::WebArchive::subresources):
3115         (API::WebArchive::subframeArchives):
3116         * Shared/AsyncRequest.cpp:
3117         (WebKit::AsyncRequest::AsyncRequest):
3118         (WebKit::AsyncRequest::setAbortHandler):
3119         * Shared/AsyncRequest.h:
3120         * Shared/BlockingResponseMap.h:
3121         (BlockingResponseMap::didReceiveResponse):
3122         * Shared/ChildProcessProxy.cpp:
3123         (WebKit::ChildProcessProxy::sendMessage):
3124         (WebKit::ChildProcessProxy::didFinishLaunching):
3125         * Shared/ChildProcessProxy.h:
3126         (WebKit::ChildProcessProxy::send):
3127         (WebKit::ChildProcessProxy::sendSync):
3128         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
3129         (WebKit::CoordinatedGraphicsScene::dispatchOnMainThread):
3130         (WebKit::CoordinatedGraphicsScene::dispatchOnClientRunLoop):
3131         (WebKit::CoordinatedGraphicsScene::createLayer):
3132         (WebKit::CoordinatedGraphicsScene::syncRemoteContent):
3133         (WebKit::CoordinatedGraphicsScene::appendUpdate):
3134         * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
3135         (WebKit::ThreadSafeCoordinatedSurface::create):
3136         (WebKit::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface):
3137         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
3138         (WebKit::CompositingRunLoop::CompositingRunLoop):
3139         (WebKit::CompositingRunLoop::callOnCompositingRunLoop):
3140         (WebKit::ThreadedCompositor::callOnCompositingThread):
3141         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
3142         (WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
3143         (WebKit::XPCServiceInitializer):
3144         * Shared/Plugins/Netscape/PluginInformation.cpp:
3145         (WebKit::createPluginInformationDictionary):
3146         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
3147         (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode):
3148         * Shared/SessionTracker.cpp:
3149         (WebKit::SessionTracker::setSession):
3150         * Shared/UserData.cpp:
3151         (WebKit::UserData::UserData):
3152         (WebKit::transformGraph):
3153         (WebKit::UserData::decode):
3154         * Shared/WebBackForwardListItem.cpp:
3155         (WebKit::WebBackForwardListItem::create):
3156         (WebKit::WebBackForwardListItem::WebBackForwardListItem):
3157         * Shared/WebBackForwardListItem.h:
3158         (WebKit::WebBackForwardListItem::setPageState):
3159         * Shared/WebCompiledContentExtension.cpp:
3160         (WebKit::WebCompiledContentExtension::create):
3161         (WebKit::WebCompiledContentExtension::WebCompiledContentExtension):
3162         * Shared/WebCompiledContentExtensionData.h:
3163         (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData):
3164         * Shared/WebContextMenuItem.cpp:
3165         (WebKit::WebContextMenuItem::submenuItemsAsAPIArray):
3166         * Shared/WebCoreArgumentCoders.cpp:
3167         (IPC::ArgumentCoder<UserStyleSheet>::decode):
3168         (IPC::ArgumentCoder<UserScript>::decode):
3169         (IPC::ArgumentCoder<FilterOperations>::decode):
3170         (IPC::ArgumentCoder<BlobPart>::decode):
3171         * Shared/WebKeyboardEvent.cpp:
3172         (WebKit::WebKeyboardEvent::WebKeyboardEvent):
3173         * Shared/WebPreferencesStore.h:
3174         (WebKit::WebPreferencesStore::Value::Value):
3175         * Shared/WebRenderLayer.cpp:
3176         (WebKit::WebRenderLayer::createArrayFromLayerList):
3177         * Shared/WebRenderObject.cpp:
3178         (WebKit::WebRenderObject::WebRenderObject):
3179         * Shared/WebTouchEvent.cpp:
3180         (WebKit::WebTouchEvent::WebTouchEvent):
3181         * Shared/efl/WebEventFactory.cpp:
3182         (WebKit::WebEventFactory::createWebTouchEvent):
3183         * Shared/gtk/NativeWebKeyboardEventGtk.cpp:
3184         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
3185         * Shared/gtk/NativeWebTouchEventGtk.cpp:
3186         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
3187         * Shared/gtk/WebContextMenuItemGtk.cpp:
3188         (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk):
3189         * Shared/gtk/WebEventFactory.cpp:
3190         (WebKit::WebEventFactory::createWebKeyboardEvent):
3191         (WebKit::WebEventFactory::createWebTouchEvent):
3192         * Shared/linux/SeccompFilters/OpenSyscall.cpp:
3193         (WebKit::OpenSyscall::createFromOpenatContext):
3194         (WebKit::OpenSyscall::createFromCreatContext):
3195         (WebKit::OpenSyscallResult::encode):
3196         * Shared/mac/ObjCObjectGraph.mm:
3197         (WebKit::ObjCObjectGraph::decode):
3198         * Shared/mac/RemoteLayerBackingStore.mm:
3199         (WebKit::RemoteLayerBackingStore::takeFrontContextPendingFlush):
3200         (WebKit::RemoteLayerBackingStore::Buffer::discard):
3201         * Shared/mac/RemoteLayerTreeTransaction.h:
3202         (WebKit::RemoteLayerTreeTransaction::setCallbackIDs):
3203         * Shared/mac/RemoteLayerTreeTransaction.mm:
3204         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
3205         (WebKit::RemoteLayerTreeTransaction::decode):
3206         (WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
3207         (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
3208         (WebKit::RemoteLayerTreeTransaction::setLayerIDsWithNewlyUnreachableBackingStore):
3209         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
3210         (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
3211         * UIProcess/API/APIProcessPoolConfiguration.h:
3212         * UIProcess/API/APISessionState.cpp:
3213         (API::SessionState::create):
3214         (API::SessionState::SessionState):
3215         * UIProcess/API/APIUserContentExtension.cpp:
3216         (API::UserContentExtension::UserContentExtension):
3217         * UIProcess/API/APIUserContentExtension.h:
3218         * UIProcess/API/APIUserContentExtensionStore.cpp:
3219         (API::compiledToFile):
3220         (API::createExtension):
3221         (API::UserContentExtensionStore::compileContentExtension):
3222         * UIProcess/API/APIUserScript.h:
3223         * UIProcess/API/APIWebsiteDataRecord.cpp:
3224         (API::WebsiteDataRecord::create):
3225         (API::WebsiteDataRecord::WebsiteDataRecord):
3226         * UIProcess/API/APIWebsiteDataStore.cpp:
3227         (API::WebsiteDataStore::create):
3228         (API::WebsiteDataStore::WebsiteDataStore):
3229         * UIProcess/API/C/WKApplicationCacheManager.cpp:
3230         (WKApplicationCacheManagerGetApplicationCacheOrigins):
3231         * UIProcess/API/C/WKKeyValueStorageManager.cpp:
3232         (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
3233         (WKKeyValueStorageManagerGetStorageDetailsByOrigin):
3234         * UIProcess/API/C/WKPage.cpp:
3235         (WKPageCopySessionState):
3236         (WKPageRestoreFromSessionState):
3237         (WKPageSetPageContextMenuClient):
3238         (WKPageSetPageFindMatchesClient):
3239         (WKPageSetPageLoaderClient):
3240         (WebKit::RunJavaScriptAlertResultListener::create):
3241         (WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener):
3242         (WebKit::RunJavaScriptConfirmResultListener::create):
3243         (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
3244         (WebKit::RunJavaScriptPromptResultListener::create):
3245         (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
3246         (WKPageSetPageUIClient):
3247         (WKPageSetPageNavigationClient):
3248         (WKPageCopyRelatedPages):
3249         * UIProcess/API/C/WKResourceCacheManager.cpp:
3250         (WKResourceCacheManagerGetCacheOrigins):
3251         * UIProcess/API/C/WKSessionStateRef.cpp:
3252         (WKSessionStateCreateFromData):
3253         * UIProcess/API/C/mac/WKContextPrivateMac.mm:
3254         (WKContextGetInfoForInstalledPlugIns):
3255         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
3256         (-[WKObservablePageState initWithPage:]):
3257         * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
3258         (createWKArray):
3259         * UIProcess/API/Cocoa/WKWebView.mm:
3260         (-[WKWebView initWithFrame:configuration:]):
3261         (-[WKWebView _takeViewSnapshot]):
3262         (-[WKWebView _restoreFromSessionStateData:]):
3263         (-[WKWebView _setInputDelegate:]):
3264         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
3265         (LazyInitialized::set):
3266         * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
3267         (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
3268         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
3269         (-[_WKProcessPoolConfiguration setCachePartitionedURLSchemes:]):
3270         * UIProcess/API/Cocoa/_WKSessionState.mm:
3271         (-[_WKSessionState _initWithSessionState:]):
3272         * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm:
3273         (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]):
3274         * UIProcess/API/efl/ewk_database_manager.cpp:
3275         (EwkDatabaseManager::getDatabaseOrigins):
3276         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
3277         (webkitContextMenuItemToWebContextMenuItemGtk):
3278         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
3279         (webkit_file_chooser_request_select_files):
3280         * UIProcess/API/gtk/WebKitNotificationProvider.cpp:
3281         (WebKitNotificationProvider::notificationCloseCallback):
3282         * UIProcess/API/gtk/WebKitWebContext.cpp:
3283         (webkit_web_context_prefetch_dns):
3284         (webkitWebContextCreatePageForWebView):
3285         * UIProcess/API/gtk/WebKitWebView.cpp:
3286         (webkit_web_view_get_snapshot):
3287         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3288         (webkitWebViewBaseTouchEvent):
3289         (webkitWebViewBaseCreateWebPage):
3290         * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
3291         (webkitWebsiteDataManagerCreate):
3292         (webkitWebsiteDataManagerGetDataStore):
3293         * UIProcess/API/mac/WKView.mm:
3294         (-[WKView initWithFrame:processPool:configuration:webView:]):
3295         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3296         (-[WKView initWithFrame:configurationRef:]):
3297         * UIProcess/Cocoa/NavigationState.mm:
3298         (WebKit::tryAppLink):
3299         (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
3300         (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):
3301         * UIProcess/Cocoa/WebViewImpl.mm:
3302         (WebKit::WebViewImpl::WebViewImpl):
3303         (WebKit::WebViewImpl::takeViewSnapshot):
3304         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
3305         (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
3306         * UIProcess/Databases/DatabaseProcessProxy.cpp:
3307         (WebKit::DatabaseProcessProxy::fetchWebsiteData):
3308         (WebKit::DatabaseProcessProxy::deleteWebsiteData):
3309         (WebKit::DatabaseProcessProxy::deleteWebsiteDataForOrigins):
3310         * UIProcess/GenericCallback.h:
3311         (WebKit::CallbackMap::put):
3312         * UIProcess/InspectorServer/WebSocketServer.cpp:
3313         (WebKit::WebSocketServer::didAcceptConnection):
3314         * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
3315         (WebKit::connectionCallback):
3316         * UIProcess/Network/NetworkProcessProxy.cpp:
3317         (WebKit::NetworkProcessProxy::fetchWebsiteData):
3318         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
3319         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
3320         * UIProcess/Notifications/WebNotificationProvider.cpp:
3321         (WebKit::WebNotificationProvider::clearNotifications):
3322         * UIProcess/PageLoadState.cpp:
3323         (WebKit::PageLoadState::Transaction::Transaction):
3324         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
3325         (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
3326         * UIProcess/Plugins/PluginProcessManager.cpp:
3327         (WebKit::PluginProcessManager::pluginProcessToken):
3328         (WebKit::PluginProcessManager::fetchWebsiteData):
3329         (WebKit::PluginProcessManager::deleteWebsiteData):
3330         (WebKit::PluginProcessManager::deleteWebsiteDataForHostNames):
3331         * UIProcess/Plugins/PluginProcessProxy.cpp:
3332         (WebKit::PluginProcessProxy::fetchWebsiteData):
3333         (WebKit::PluginProcessProxy::deleteWebsiteData):
3334         (WebKit::PluginProcessProxy::deleteWebsiteDataForHostNames):
3335         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3336         (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree):
3337         * UIProcess/StatisticsRequest.cpp:
3338         (WebKit::StatisticsRequest::completedRequest):
3339         * UIProcess/Storage/LocalStorageDatabase.cpp:
3340         (WebKit::LocalStorageDatabase::create):
3341         (WebKit::LocalStorageDatabase::LocalStorageDatabase):
3342         * UIProcess/Storage/StorageManager.cpp:
3343         (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
3344         (WebKit::StorageManager::StorageArea::create):
3345         (WebKit::StorageManager::StorageArea::StorageArea):
3346         (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
3347         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
3348         (WebKit::StorageManager::getSessionStorageOrigins):
3349         (WebKit::StorageManager::getLocalStorageOrigins):
3350         (WebKit::StorageManager::getLocalStorageOriginDetails):
3351         (WebKit::StorageManager::createTransientLocalStorageMap):
3352         (WebKit::StorageManager::createSessionStorageMap):
3353         * UIProcess/UserContent/WebScriptMessageHandler.cpp:
3354         (WebKit::WebScriptMessageHandler::create):
3355         (WebKit::WebScriptMessageHandler::WebScriptMessageHandler):
3356         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
3357         (WebKit::WebUserContentControllerProxy::addUserStyleSheet):
3358         * UIProcess/ViewGestureController.cpp:
3359         (WebKit::ViewGestureController::SnapshotRemovalTracker::start):
3360         (WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackImmediately):
3361         * UIProcess/WebBackForwardList.cpp:
3362         (WebKit::WebBackForwardList::addItem):
3363         (WebKit::WebBackForwardList::backListAsAPIArrayWithLimit):
3364         (WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit):
3365         (WebKit::WebBackForwardList::removeAllItems):
3366         (WebKit::WebBackForwardList::clear):
3367         (WebKit::WebBackForwardList::restoreFromState):
3368         * UIProcess/WebCookieManagerProxy.cpp:
3369         (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
3370         (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
3371         * UIProcess/WebFormClient.cpp:
3372         (WebKit::WebFormClient::willSubmitForm):
3373         * UIProcess/WebFrameListenerProxy.h:
3374         (WebKit::WebFrameListenerProxy::setNavigation):
3375         * UIProcess/WebFrameProxy.h:
3376         (WebKit::WebFrameProxy::contentFilterDidBlockLoad):
3377         * UIProcess/WebGrammarDetail.cpp:
3378         (WebKit::WebGrammarDetail::guesses):
3379         * UIProcess/WebInspectorProxy.cpp:
3380         (WebKit::WebInspectorProxy::createInspectorPage):
3381         * UIProcess/WebMediaCacheManagerProxy.cpp:
3382         (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
3383         * UIProcess/WebPageProxy.cpp:
3384         (WebKit::ExceededDatabaseQuotaRecords::add):
3385         (WebKit::WebPageProxy::create):
3386         (WebKit::WebPageProxy::WebPageProxy):
3387         (WebKit::WebPageProxy::setHistoryClient):
3388         (WebKit::WebPageProxy::setNavigationClient):
3389         (WebKit::WebPageProxy::setLoaderClient):
3390         (WebKit::WebPageProxy::setPolicyClient):
3391         (WebKit::WebPageProxy::setFormClient):
3392         (WebKit::WebPageProxy::setUIClient):
3393         (WebKit::WebPageProxy::setFindClient):
3394         (WebKit::WebPageProxy::setFindMatchesClient):
3395         (WebKit::WebPageProxy::setDiagnosticLoggingClient):
3396         (WebKit::WebPageProxy::setContextMenuClient):
3397         (WebKit::WebPageProxy::reattachToWebProcessForReload):
3398         (WebKit::WebPageProxy::reattachToWebProcessWithItem):
3399         (WebKit::WebPageProxy::loadRequest):
3400         (WebKit::WebPageProxy::loadFile):
3401         (WebKit::WebPageProxy::loadData):
3402         (WebKit::WebPageProxy::loadHTMLString):
3403         (WebKit::WebPageProxy::reload):
3404         (WebKit::WebPageProxy::didChangeBackForwardList):
3405         (WebKit::WebPageProxy::setInitialFocus):
3406         (WebKit::WebPageProxy::validateCommand):
3407         (WebKit::WebPageProxy::handleWheelEvent):
3408         (WebKit::WebPageProxy::processNextQueuedWheelEvent):
3409         (WebKit::WebPageProxy::restoreFromSessionState):
3410         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
3411         (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
3412         (WebKit::WebPageProxy::getSourceForFrame):
3413         (WebKit::WebPageProxy::getContentsAsString):
3414         (WebKit::WebPageProxy::getBytecodeProfile):
3415         (WebKit::WebPageProxy::getContentsAsMHTMLData):
3416         (WebKit::WebPageProxy::getSelectionOrContentsAsString):
3417         (WebKit::WebPageProxy::getSelectionAsWebArchiveData):
3418         (WebKit::WebPageProxy::getMainResourceDataOfFrame):
3419         (WebKit::WebPageProxy::getResourceDataFromFrame):
3420         (WebKit::WebPageProxy::getWebArchiveOfFrame):
3421         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
3422         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
3423         (WebKit::WebPageProxy::decidePolicyForResponse):
3424         (WebKit::WebPageProxy::sendMessage):
3425         (WebKit::WebPageProxy::exceededDatabaseQuota):
3426         (WebKit::WebPageProxy::getMarkedRangeAsync):
3427         (WebKit::WebPageProxy::getSelectedRangeAsync):
3428         (WebKit::WebPageProxy::characterIndexForPointAsync):
3429         (WebKit::WebPageProxy::firstRectForCharacterRangeAsync):
3430         (WebKit::WebPageProxy::takeSnapshot):
3431         * UIProcess/WebProcessPool.cpp:
3432         (WebKit::WebProcessPool::setHistoryClient):
3433         (WebKit::WebProcessPool::setDownloadClient):
3434         (WebKit::WebProcessPool::createWebPage):
3435         (WebKit::WebProcessPool::getStatistics):