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