096a8f22fc8ff4cf5be8191adf94dc4425bfc9c8
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2016-09-06  Daniel Bates  <dabates@apple.com>
2
3         [iOS] WebKit2 fails to build with iOS 10 beta SDK - "'UIWKTextInteractionAssistant' may not respond to 'selectAll:'"
4         https://bugs.webkit.org/show_bug.cgi?id=161663
5
6         Reviewed by Darin Adler.
7
8         The UIResponderStandardEditActions extensions, including the selectAll: message, are now
9         part of a formal protocol by the same name as of the iOS 10 beta SDK.
10
11         * Platform/spi/ios/UIKitSPI.h:
12
13 2016-09-06  Ryosuke Niwa  <rniwa@webkit.org>
14
15         Enable custom elements API in Safari Technology Preview
16         https://bugs.webkit.org/show_bug.cgi?id=161518
17
18         Reviewed by Chris Dumez.
19
20         Re-enable custom elements API in Safari Technology Preview after r203296
21         now that our implementation has caught up to the latest specification changes.
22
23         * Shared/WebPreferencesDefinitions.h:
24
25 2016-09-01  Simon Fraser  <simon.fraser@apple.com>
26
27         Use TemporaryChange<> to maintain m_userIsInteracting
28         https://bugs.webkit.org/show_bug.cgi?id=161497
29
30         Reviewed by Tim Horton.
31
32         Replace some error-prone manual set/clear of m_userIsInteracting with
33         TemporaryChange<>.
34
35         No behavior change.
36
37         * WebProcess/WebPage/WebPage.cpp:
38         (WebKit::WebPage::mouseEvent):
39         (WebKit::WebPage::keyEvent):
40         (WebKit::WebPage::dispatchTouchEvent):
41
42 2016-09-06  Tim Horton  <timothy_horton@apple.com>
43
44         Remove SwipeTransitionStyle; only Overlap has ever been used
45         https://bugs.webkit.org/show_bug.cgi?id=161617
46
47         Reviewed by Alex Christensen.
48
49         * UIProcess/mac/ViewGestureController.h:
50         * UIProcess/mac/ViewGestureControllerMac.mm:
51         (WebKit::ViewGestureController::beginSwipeGesture):
52         (WebKit::ViewGestureController::handleSwipeGesture):
53         Remove SwipeTransitionStyle::Push, and SwipeTransitionStyle itself entirely,
54         because we've never used it and it is only supported by the Mac
55         implementation of ViewGestureController.
56
57 2016-09-06  Daniel Bates  <dabates@apple.com>
58
59         Remove EXTERN_C from WTF
60         https://bugs.webkit.org/show_bug.cgi?id=161090
61
62         Reviewed by Brent Fulgham.
63
64         Guard external C declarations in WTF_EXTERN_C_BEGIN, WTF_EXTERN_C_END.
65
66         * Platform/spi/ios/ManagedConfigurationSPI.h:
67
68 2016-09-06  Ryan Haddad  <ryanhaddad@apple.com>
69
70         Unreviewed, rolling out r205407.
71
72         Not the correct way to implement this functionality
73
74         Reverted changeset:
75
76         "Consult with the FrameLoaderClient about whether or not
77         content extensions should be enabled when loading this URL."
78         https://bugs.webkit.org/show_bug.cgi?id=161441
79         http://trac.webkit.org/changeset/205407
80
81 2016-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
82
83         [GTK][Wayland] evince-browser-plugin prevents viewing PDFs
84         https://bugs.webkit.org/show_bug.cgi?id=158697
85
86         Reviewed by Michael Catanzaro.
87
88         Use a different cache file for plugins depending on the current platform display. Plugins can claim to work on
89         X11 but not on Wayland, for example, if they need XEmebed to work. That's the case of the evince browser plugin.
90
91         * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
92         (WebKit::cacheFilenameForCurrentDisplay):
93         (WebKit::PluginInfoCache::PluginInfoCache):
94
95 2016-09-06  Carlos Garcia Campos  <cgarcia@igalia.com>
96
97         [Threaded Compositor] Update timer should have lower priority than tasks scheduled in compositing thread
98         https://bugs.webkit.org/show_bug.cgi?id=161625
99
100         Reviewed by Sergio Villar Senin.
101
102         This way, if a resize is scheduled, for example, and there are pending updates, the resize will happen first,
103         and then the updates will happen at the right size.
104
105         * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
106         (WebKit::CompositingRunLoop::CompositingRunLoop): Use G_PRIORITY_HIGH_IDLE as update timer priority. The actual
107         priority doesn't really matter as long as it's lower than G_PRIORITY_DEFAULT, because there are only two
108         possible sources in the compositing run loop, one for the tasks scheduled, and another one for the update timer.
109
110 2016-09-06  Emanuele Aina  <emanuele.aina@collabora.com>
111
112         [GTK] glImageTargetTexture2D() is a GL function, rename accordingly
113         https://bugs.webkit.org/show_bug.cgi?id=161622
114
115         Reviewed by Carlos Garcia Campos.
116
117         glImageTargetTexture2D() is a GL function, not EGL, using the 'egl'
118         prefix is misleading.
119
120         * UIProcess/gtk/WaylandCompositor.cpp:
121         (WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
122         (WebKit::WaylandCompositor::initializeEGL):
123
124 2016-09-06  Emanuele Aina  <emanuele.aina@collabora.com>
125
126         [GTK][EFL] Make *_PROCESS_CMD_PREFIX conditional on DEVELOPER_MODE
127         https://bugs.webkit.org/show_bug.cgi?id=161621
128
129         Reviewed by Carlos Garcia Campos.
130
131         Instead of enabling support for the *_PROCESS_CMD_PREFIX set of
132         environment valiables (eg. WEB_PROCESS_CMD_PREFIX) on debug builds
133         only, enable it when DEVELOPER_MODE is enabled as it already guards
134         similar features (eg. WEBKIT_EXEC_PATH).
135
136         * UIProcess/ChildProcessProxy.cpp:
137         (WebKit::ChildProcessProxy::getLaunchOptions):
138         * UIProcess/Launcher/ProcessLauncher.h:
139         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
140         (WebKit::ProcessLauncher::launchProcess):
141         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
142         (WebKit::ProcessLauncher::launchProcess):
143
144 2016-09-05  Zan Dobersek  <zdobersek@igalia.com>
145
146         Fix ENABLE(GAMEPAD) build errors on non-Cocoa platforms
147         https://bugs.webkit.org/show_bug.cgi?id=161596
148
149         Reviewed by Darin Adler.
150
151         This patch fixes build errors popping up when enabling Gamepad
152         feature on non-Cocoa platforms.
153
154         * CMakeLists.txt: Add the Source/WebCore/platform/gamepad/ directory to
155         WebKit2_INCLUDE_DIRECTORIES. Add GamepadData.cpp, UIGamepad.cpp files to the build.
156         * UIProcess/Gamepad/UIGamepadProvider.cpp: Don't include Cocoa-specific
157         HIDGamepadProvider.h file. Update methods for the UIGamepadProvider class.
158         (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput):
159         (WebKit::UIGamepadProvider::platformStartMonitoringGamepads): Deleted.
160         (WebKit::UIGamepadProvider::platformStopMonitoringGamepads): Deleted.
161         (WebKit::UIGamepadProvider::platformGamepads): Deleted.
162         (WebKit::UIGamepadProvider::platformWebProcessProxyForGamepadInput): Deleted.
163
164 2016-09-05  Tim Horton  <timothy_horton@apple.com>
165
166         Remove some dead code in ViewGestureControllerMac
167         https://bugs.webkit.org/show_bug.cgi?id=161616
168
169         Reviewed by Darin Adler.
170
171         * UIProcess/mac/ViewGestureControllerMac.mm:
172         (WebKit::ViewGestureController::endSwipeGesture):
173         All other LEGACY_SWIPE_SHADOW_STYLE code has been removed, except for this.
174
175 2016-09-05  Darin Adler  <darin@apple.com>
176
177         More bindings improvements, particularly things not needed for JavaScript bindings
178         https://bugs.webkit.org/show_bug.cgi?id=161572
179
180         Reviewed by Sam Weinig.
181
182         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
183         (webkit_dom_dom_implementation_has_feature): Call SVGTests::hasFeatureForLegacyBindings
184         instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
185         since this does not do anything that can invoke JavaScript.
186
187         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp:
188         (webkit_dom_document_get_default_charset): Call defaultCharsetForLegacyBindings.
189         Also removed JSMainThreadNullState.
190
191         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
192         (webkit_dom_document_type_get_entities): Changed to simply return nullptr; same behavior
193         as before, but with no dependency on WebCore. Also removed JSMainThreadNullState.
194         (webkit_dom_document_type_get_notations): Ditto.
195         (webkit_dom_document_type_get_internal_subset): Ditto.
196
197         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
198         (webkit_dom_node_is_supported): Call SVGTests::hasFeatureForLegacyBindings
199         instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.
200
201 2016-09-05  Michael Catanzaro  <mcatanzaro@igalia.com>
202
203         Unreviewed, update stale variable name
204
205         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
206         (webkitWebViewBaseCreateWebPage):
207
208 2016-08-31  Filip Pizlo  <fpizlo@apple.com>
209
210         Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
211         https://bugs.webkit.org/show_bug.cgi?id=160125
212
213         Reviewed by Geoffrey Garen and Keith Miller.
214         
215         Just rewiring some #includes.
216
217         * UIProcess/ViewGestureController.cpp:
218         * UIProcess/WebPageProxy.cpp:
219         * UIProcess/WebProcessPool.cpp:
220         * UIProcess/WebProcessProxy.cpp:
221         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
222         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
223
224 2016-09-05  Michael Catanzaro  <mcatanzaro@igalia.com>
225
226         Unreviewed error message typo fix
227
228         * WebProcess/UserContent/WebUserContentController.cpp:
229         (WebKit::WebUserContentController::removeUserContentWorlds):
230
231 2016-09-05  Dan Bernstein  <mitz@apple.com>
232
233         [Cocoa] Drop ".Development" suffix from XPC service bundle IDs, leave it only on the executable
234         https://bugs.webkit.org/show_bug.cgi?id=161575
235
236         Reviewed by Sam Weinig.
237
238         Append the ".Development" suffix to the executable names, but not to the bundle names and
239         bundle IDs.
240
241         * Configurations/BaseTarget.xcconfig: No need for a preprocessor definition anymore.
242         * Configurations/BaseXPCService.xcconfig: Set EXECUTABLE_SUFFIX.
243         * Configurations/DatabaseService.xcconfig: No need to suffix the service name and bundle ID.
244         * Configurations/NetworkService.xcconfig: Ditto.
245         * Configurations/PluginService.32.xcconfig: Ditto.
246         * Configurations/PluginService.64.xcconfig: Ditto.
247         * Configurations/WebContentService.xcconfig: Ditto.
248         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
249         (WebKit::serviceName): Service names are no longer suffixed.
250         * WebKit2.xcodeproj/project.pbxproj: Ditto.
251
252 2016-09-05  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
253
254         [GTK] GL_PACK_ROW_LENGTH is not available in GLES2
255         https://bugs.webkit.org/show_bug.cgi?id=161484
256
257         Reviewed by Carlos Garcia Campos.
258
259         * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
260         (WebKit::AcceleratedBackingStoreWayland::paint): when under GLES2 we cannot rely on
261         GL_PACK_ROW_LENGTH; use glReadPixel directly when stride matches width, read line
262         by line manually otherwise. Colour conversion is also required to get the data out
263         correctly.
264
265 2016-09-05  Carlos Garcia Campos  <cgarcia@igalia.com>
266
267         [GTK] SetNativeSurfaceHandleForCompositing should not be compiled in for wayland build
268         https://bugs.webkit.org/show_bug.cgi?id=161483
269
270         Reviewed by Žan Doberšek.
271
272         SetNativeSurfaceHandleForCompositing and DestroyNativeSurfaceHandleForCompositing messages should only be used
273         for GTK+ port when compiled with OpenGL and X11 enabled and redirected XComposite window disabled. So, we should
274         use USE(TEXTURE_MAPPER) && PLATFORM(GTK) && PLATFORM(X11) && !USE(REDIRECTED_XCOMPOSITE_WINDOW) consistently.
275         This fixes the build when building the GTK+ port with Wayland enabled and X11 disabled.
276
277         * UIProcess/AcceleratedDrawingAreaProxy.cpp:
278         (WebKit::AcceleratedDrawingAreaProxy::didUpdateBackingStoreState):
279         * UIProcess/AcceleratedDrawingAreaProxy.h:
280         * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
281         (WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
282         * WebProcess/WebPage/AcceleratedDrawingArea.h:
283         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
284         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
285         * WebProcess/WebPage/DrawingArea.h:
286         * WebProcess/WebPage/DrawingArea.messages.in:
287         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
288         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
289
290 2016-09-05  Zan Dobersek  <zdobersek@igalia.com>
291
292         [GObject bindings] override handleEvent() method in GObjectEventListener
293         https://bugs.webkit.org/show_bug.cgi?id=161593
294
295         Reviewed by Carlos Garcia Campos.
296
297         * WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.h: Override
298         the handleMethod() which is inherited from the WebCore EventListener class.
299         Suppresses the -Winconsistent-missing-override warning that Clang propagates.
300
301 2016-09-04  Joseph Pecoraro  <pecoraro@apple.com>
302
303         Remove unnecessary RetainPtr.
304
305         Review comments on earlier change.
306
307         * UIProcess/mac/WKImmediateActionController.mm:
308         (-[WKImmediateActionController _defaultAnimationController]):
309
310 2016-09-04  Dan Bernstein  <mitz@apple.com>
311
312         [Cocoa] Wrapping XPC service execution in os_activity is no longer needed
313         https://bugs.webkit.org/show_bug.cgi?id=161577
314
315         Reviewed by Sam Weinig.
316
317         Removed code that created an os_activity around the execution of the XPC service
318         code, because this workaround is no longer needed.
319
320         * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
321         (DatabaseServiceInitializer):
322         * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
323         (NetworkServiceInitializer):
324         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
325         (PluginServiceInitializer):
326         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
327         (WebContentServiceInitializer):
328
329 2016-09-04  Commit Queue  <commit-queue@webkit.org>
330
331         Unreviewed, rolling out r205415.
332         https://bugs.webkit.org/show_bug.cgi?id=161573
333
334         Many bots see inspector test failures, rolling out now and
335         investigating later. (Requested by brrian on #webkit).
336
337         Reverted changeset:
338
339         "Web Inspector: unify Main.html and Test.html sources and
340         generate different copies with the preprocessor"
341         https://bugs.webkit.org/show_bug.cgi?id=161212
342         http://trac.webkit.org/changeset/205415
343
344 2016-09-01  Brian Burg  <bburg@apple.com>
345
346         Web Inspector: unify Main.html and Test.html sources and generate different copies with the preprocessor
347         https://bugs.webkit.org/show_bug.cgi?id=161212
348         <rdar://problem/28017961>
349
350         Reviewed by Joseph Pecoraro.
351
352         Rearrange CMake rules so that most Inspector UI work is done in WebInspectorUI.
353
354         * PlatformGTK.cmake:
355         - Move the list of Inspector resources into WebInspectorUI/CMakeLists.txt.
356         - Move generation of InspectorGResourceBundle into WebInspectorUI.
357         - Copy over InspectorGResourceBundle.c into WebKit2's Derived Sources before compiling.
358
359 2016-09-03  Wenson Hsieh  <wenson_hsieh@apple.com>
360
361         Refactor the heuristic for showing media controls to take all media sessions into account
362         https://bugs.webkit.org/show_bug.cgi?id=161503
363         <rdar://problem/28033783>
364
365         Reviewed by Darin Adler.
366
367         Adds an SPI testing hook for sending the element ID of the currently controlled video element from the web
368         process to the UI process. See VideoControlsManager.mm in Tools/TestWebKitAPI/ for usage.
369
370         * UIProcess/API/Cocoa/WKWebView.mm:
371         (-[WKWebView _requestControlledElementID]):
372         (-[WKWebView _handleControlledElementIDResponse:]):
373         (-[WKWebView _hasActiveVideoForControlsManager]): Deleted.
374         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
375         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
376         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
377         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
378         (WebKit::WebPlaybackSessionManagerProxy::handleControlledElementIDResponse):
379         (WebKit::WebPlaybackSessionManagerProxy::requestControlledElementID):
380         * UIProcess/PageClient.h:
381         * UIProcess/WebPageProxy.cpp:
382         (WebKit::WebPageProxy::requestControlledElementID):
383         (WebKit::WebPageProxy::handleControlledElementIDResponse):
384         * UIProcess/WebPageProxy.h:
385         * UIProcess/mac/PageClientImpl.h:
386         * UIProcess/mac/PageClientImpl.mm:
387         (WebKit::PageClientImpl::handleControlledElementIDResponse):
388         * WebProcess/cocoa/WebPlaybackSessionManager.h:
389         * WebProcess/cocoa/WebPlaybackSessionManager.messages.in:
390         * WebProcess/cocoa/WebPlaybackSessionManager.mm:
391         (WebKit::WebPlaybackSessionManager::handleControlledElementIDRequest):
392
393 2016-09-03  Darin Adler  <darin@apple.com>
394
395         Streamline DOMImplementation, and move it to our new DOM exception system
396         https://bugs.webkit.org/show_bug.cgi?id=161295
397
398         Reviewed by Ryosuke Niwa.
399
400         * UIProcess/WebFrameProxy.cpp:
401         (WebKit::WebFrameProxy::isDisplayingMarkupDocument): Use isXMLMIMEType in its
402         new location in MIMETypeRegistry rather than in DOMImplementation.
403         (WebKit::WebFrameProxy::isDisplayingPDFDocument): Removed unneeded redundant
404         check for empty string, already done by MIMETypeRegistry.
405
406 2016-09-03  Brian Weinstein  <bweinstein@apple.com>
407
408         Implement WebFrameLoaderClient::shouldUseContentExtensionsForURL and consult the InjectedBundlePageLoaderClient.
409         https://bugs.webkit.org/show_bug.cgi?id=161441
410
411         Reviewed by Darin Adler.
412
413         WebFrameLoaderClient::shouldUseContentExtensionsForURL only consults the injected bundle, because we don't want to
414         defer the loading of every main resource to consult with the UI Process about whether or not we should use content
415         extensions for the load.
416
417         * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Bump the latest version to WKBundlePageLoaderClientV9 and
418         add WKBundlePageShouldUseContentExtensionsForURLCallback.
419         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
420         (WebKit::InjectedBundlePageLoaderClient::shouldUseContentExtensionsForURL): Ask the client if we should use content
421         extensions for this URL.
422         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
423         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
424         (WebKit::WebFrameLoaderClient::shouldUseContentExtensionsForURL): Only consult with the injected bundle about whether
425         or not we should use content extensions for this URL.
426         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
427
428         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
429         (webkit_dom_dom_implementation_create_document_type): Updated to work with ExceptionOr.
430         (webkit_dom_dom_implementation_create_document): Updated to work with ExceptionOr.
431         (webkit_dom_dom_implementation_create_css_style_sheet): Updated since this function
432         can no longer raise an exception.
433
434         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
435         (webkit_dom_document_set_xml_standalone): Updated since this function can no longer
436         raise an exception.
437
438 2016-09-03  Joseph Pecoraro  <pecoraro@apple.com>
439
440         Web Inspector: Move WebKit2 WebInspector files to #pragma once
441         https://bugs.webkit.org/show_bug.cgi?id=161550
442
443         Reviewed by Darin Adler.
444
445         * UIProcess/InspectorServer/WebInspectorServer.h:
446         * UIProcess/WebInspectorProxy.h:
447         * UIProcess/gtk/WebInspectorClientGtk.h:
448         * WebProcess/WebCoreSupport/WebInspectorClient.h:
449         * WebProcess/WebPage/WebInspector.h:
450         * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h:
451         * WebProcess/WebPage/WebInspectorUI.h:
452
453 2016-09-02  Michael Catanzaro  <mcatanzaro@igalia.com>
454
455         [GTK] -Wmissing-field-initializers on WaylandCompositor.cpp:295
456         https://bugs.webkit.org/show_bug.cgi?id=161524
457
458         Reviewed by Carlos Garcia Campos.
459
460         * UIProcess/gtk/WaylandCompositor.cpp:
461
462 2016-09-02  Carlos Garcia Campos  <cgarcia@igalia.com>
463
464         [Threaded Compositor] Move the viewport controller off the compositing thread
465         https://bugs.webkit.org/show_bug.cgi?id=161532
466
467         Reviewed by Michael Catanzaro.
468
469         While working on bug #161242 I've realized that having the view port controller in the compositing thread makes
470         everything more complex. The viewport controller receives changes about things like contents size, viewport
471         size, etc. and uses that information to compute the visible contents rect and page scale factor. Then it
472         notifies back to main thread about the computed visible contents rect and page scale. Those computations are not
473         heave at all, so they could be done in the main thread and we would avoid communications between the main and
474         compositing thread in both directions. The main thread needs the visible contents rect to notify the compositing
475         coordinator and the page cale to scale the page in case of pixed layout. But the compositing thread only needs
476         to know the effective scale and scroll position. So, instead of going to the compositing thread after every
477         change that might update the visible contents rect and page scale factor, we could do those calculations in the
478         main thread and only notify the compositing thread about the actual changes in the scroll position and effective scale.
479
480         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
481         (WebKit::CoordinatedGraphicsScene::createTilesIfNeeded): Return early if backingStore is nullptr, which can
482         happen if the layer shouldn't have a backing store and was removed by the previous call to prepareContentBackingStore().
483         (WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded): Ditto.
484         * Shared/CoordinatedGraphics/SimpleViewportController.cpp:
485         (WebKit::SimpleViewportController::SimpleViewportController): Remove the client since we no longer need to
486         notify about changes.
487         (WebKit::SimpleViewportController::didChangeViewportSize): Remove call to syncVisibleContents().
488         (WebKit::SimpleViewportController::didChangeContentsSize): Ditto.
489         (WebKit::SimpleViewportController::didChangeViewportAttributes): Ditto.
490         (WebKit::SimpleViewportController::didScroll): Removed unused scrollBy methods and renamed scrollTo as
491         didiScroll for consistency. Save the position without calling boundContentsPosition, because that's already
492         donde when the position is used to compute the contents visible rectangle.
493         (WebKit::SimpleViewportController::visibleContentsRect): No need to notify about the changes.
494         (WebKit::SimpleViewportController::visibleContentsSize): Deleted.
495         * Shared/CoordinatedGraphics/SimpleViewportController.h:
496         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
497         (WebKit::ThreadedCompositor::create): Pass a reference to the client instead of a pointer. It's no longer
498         possible to have a valid pointer when the object has been destroyed, so we can better use a reference now.
499         (WebKit::ThreadedCompositor::ThreadedCompositor): Ditto.
500         (WebKit::ThreadedCompositor::~ThreadedCompositor): Remove assert.
501         (WebKit::ThreadedCompositor::invalidate): No need to invalidate the client.
502         (WebKit::ThreadedCompositor::setScaleFactor): Set the effective scale factor that should be used for rendering.
503         (WebKit::ThreadedCompositor::setScrollPosition): Set the current scroll position and effective scale factor.
504         (WebKit::ThreadedCompositor::setViewportSize): Set the viewport size and effective scale factor.
505         (WebKit::ThreadedCompositor::renderNextFrame): Update m_client use that is no longer a pointer.
506         (WebKit::ThreadedCompositor::commitScrollOffset): Ditto.
507         (WebKit::ThreadedCompositor::renderLayerTree): Call glViewport after a resize and use m_viewportSize,
508         m_scrollPosition and m_scaleFactor members.
509         (WebKit::ThreadedCompositor::didChangeVisibleRect): Deleted.
510         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
511         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
512         (WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Pass the compositor client as a
513         reference to ThreadedCompositor constructor.
514         (WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Update the viewport and call didChangeViewport().
515         (WebKit::ThreadedCoordinatedLayerTreeHost::contentsSizeChanged): Ditto.
516         (WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): Pass the effective scale factor to
517         the compositor.
518         (WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange): Update the viewport, the compositor and call didChangeViewport().
519         (WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewportProperties): Update the viewport and call didChangeViewport().
520         (WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewport): Notify the compositing coordinator about the new
521         visible contents rectangle, and update the threaded compositor if needed.
522         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
523
524 2016-09-02  Beth Dakin  <bdakin@apple.com>
525
526         Need to updateEditorState if an element change edit-ability without changing 
527         selection
528         https://bugs.webkit.org/show_bug.cgi?id=161546
529         -and corresponding-
530         rdar://problem/27806012
531
532         Reviewed by Ryosuke Niwa.
533
534         Every time WebPage::editorState() is called, we now save whether the last state 
535         was contentEditable. That way in updateEditorStateAfterLayoutIfNeeded() we can 
536         assess whether or not edit-ability has changed. 
537
538         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
539         (WebKit::WebEditorClient:: updateEditorStateAfterLayoutIfEditabilityChanged):
540         * WebProcess/WebCoreSupport/WebEditorClient.h:
541         * WebProcess/WebPage/WebPage.cpp:
542         (WebKit::WebPage::editorState):
543         (WebKit::WebPage:: updateEditorStateAfterLayoutIfEditabilityChanged):
544         (WebKit::WebPage::didStartPageTransition):
545         * WebProcess/WebPage/WebPage.h:
546
547 2016-09-02  Jonathan Bedard  <jbedard@apple.com>
548
549         WebKitTestRunner needs layoutTestController.setDashboardCompatibilityMode
550         https://bugs.webkit.org/show_bug.cgi?id=42547
551
552         Reviewed by Darin Adler.
553
554         Added access to setUseDashBoardCompatibilityMode for WebKit2.
555         Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
556
557         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
558         (WKBundleSetUseDashboardCompatibilityMode): Added dashboard compatiblity mode setter.
559         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Ditto.
560         * WebProcess/InjectedBundle/InjectedBundle.cpp:
561         (WebKit::InjectedBundle::setUseDashboardCompatibilityMode): Ditto.
562         * WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
563
564 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
565
566         [Mac] RetainPtr misuse, AnimationController leaks
567         https://bugs.webkit.org/show_bug.cgi?id=161552
568
569         Reviewed by Tim Horton.
570
571         * UIProcess/mac/WKImmediateActionController.mm:
572         (-[WKImmediateActionController _defaultAnimationController]):
573
574 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
575
576         [Mac] RetainPtr misuse, DDActionContext leaks
577         https://bugs.webkit.org/show_bug.cgi?id=161551
578
579         Reviewed by Tim Horton.
580
581         * Platform/mac/MenuUtilities.mm:
582         (WebKit::menuItemForTelephoneNumber):
583         (WebKit::menuForTelephoneNumber):
584
585 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
586
587         Fix Mac CMake build, missing _WKRemoteWebInspectorViewController.mm
588
589         Unreviewed build fix.
590
591         * PlatformMac.cmake:
592
593 2016-09-02  Jer Noble  <jer.noble@apple.com>
594
595         Unreviewed build fix; partial roll out of r205365 to remove unintentional change in WKWebView.mm.
596
597         * UIProcess/API/Cocoa/WKWebView.mm:
598         (-[WKWebView _initializeWithConfiguration:]):
599
600 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
601
602         Web Inspector: If inspector process crashes, re-inspecting the page does not work
603         https://bugs.webkit.org/show_bug.cgi?id=161502
604         <rdar://problem/28120368>
605
606         Reviewed by Brian Burg.
607
608         This is an issue on Mac because WebInspectorProxyMac's platformDidClose
609         doesn't immediately get rid of the WKWebView for the inspector. This is
610         intended so that a quick close and reopen of Web Inspector is faster,
611         however in the case where the WebPage under the WKWebView crashed, we
612         actually should clear things instead of using the timer path. Provide
613         a stronger platform close handler when the inspector page crashed.
614
615         * UIProcess/WebInspectorProxy.cpp:
616         (WebKit::WebInspectorProxy::closeForCrash):
617         (WebKit::webProcessDidCrash):
618         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
619         Go through a stronger path when the web process crashes.
620         Some platforms may want to handle this differently then the user
621         closing a web inspector window.
622         
623         * UIProcess/WebInspectorProxy.h:
624         * UIProcess/efl/WebInspectorProxyEfl.cpp:
625         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
626         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
627         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
628         These platforms do not need to do anything special.
629
630         * UIProcess/mac/WebInspectorProxyMac.mm:
631         (WebKit::WebInspectorProxy::closeTimerFired):
632         Loosen this code. There is no need for it to be so strict.
633
634         (WebKit::WebInspectorProxy::platformDidCloseForCrash):
635         If the inspector page crashed, close our handles immediately.
636
637 2016-09-02  Joseph Pecoraro  <pecoraro@apple.com>
638
639         Web Inspector: Provide a way to open an inspector frontend for a remote target
640         https://bugs.webkit.org/show_bug.cgi?id=161515
641         <rdar://problem/13182127>
642
643         Reviewed by Brian Burg.
644
645         Provide an interface to open a Web Inspector window/webView for a
646         remote debuggable. Unlike the local Web Inspector, the remote
647         debuggable may be either a JSContext or WebPage, and may only
648         support an older version of the protocol. The Inspector frontend
649         already supports these configurations.
650
651         This adds new RemoteWebInspector/Proxy classes that mirror the
652         WebInspector/Proxy classes for local inspection, but have
653         slightly different behavior as the inspected target is not
654         directly available (and may not be a web page).
655
656         The remote and local classes share a lot of inspector
657         frontend implementation:
658
659           - share most of the inspector frontend host implementation
660           - share much of the frontend webview/window handling
661           - use an inspector process for the frontend page
662
663         But remains separate in some ways:
664
665           - inspected target is unavailable
666           - docking is never available
667           - a few inspector frontend host methods are duplicated
668           - some of the webview/window handling is duplicated
669
670         * UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h: Added.
671         * UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm: Added.
672         (-[_WKRemoteWebInspectorViewController init]):
673         (-[_WKRemoteWebInspectorViewController window]):
674         (-[_WKRemoteWebInspectorViewController webView]):
675         (-[_WKRemoteWebInspectorViewController loadForDebuggableType:backendCommandsURL:]):
676         (-[_WKRemoteWebInspectorViewController close]):
677         (-[_WKRemoteWebInspectorViewController show]):
678         (-[_WKRemoteWebInspectorViewController sendMessageToFrontend:]):
679         (-[_WKRemoteWebInspectorViewController sendMessageToBackend:]):
680         (-[_WKRemoteWebInspectorViewController closeFromFrontend]):
681         The interface that may be used to open an inspector window for
682         a remote debuggable. There are only a few delegates to handle
683         sending messages to the backend and knowing if the frontend
684         closed itself (InspectorFrontendHost.closeWindow() or crashed).
685
686         * UIProcess/WebInspectorUtilities.h:
687         * UIProcess/WebInspectorUtilities.cpp: Added.
688         (WebKit::pageLevelMap):
689         (WebKit::inspectorLevelForPage):
690         (WebKit::inspectorPageGroupIdentifierForPage):
691         (WebKit::trackInspectorPage):
692         (WebKit::untrackInspectorPage):
693         (WebKit::inspectorProcessPool):
694         (WebKit::isInspectorProcessPool):
695         (WebKit::isInspectorPage):
696         Extract utilities for determining if a page contains an inspector frontend.
697         Previously this was part of WebInspectorProxy and subclasses but can
698         now be used by multiple classes.
699
700         * UIProcess/WebInspectorProxy.h:
701         * UIProcess/WebInspectorProxy.cpp:
702         (WebKit::WebInspectorProxy::inspectionLevel):
703         (WebKit::WebInspectorProxy::invalidate):
704         (WebKit::WebInspectorProxy::isMainOrTestInspectorPage):
705         (WebKit::decidePolicyForNavigationAction):
706         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
707         (WebKit::WebInspectorProxy::didClose):
708         (WebKit::pageLevelMap): Deleted.
709         (WebKit::WebInspectorProxy::inspectorPageGroupIdentifier): Deleted.
710         (WebKit::WebInspectorProxy::inspectorProcessPool): Deleted.
711         (WebKit::WebInspectorProxy::isInspectorProcessPool): Deleted.
712         (WebKit::WebInspectorProxy::isInspectorPage): Deleted.
713         (WebKit::isMainOrTestInspectorPage): Deleted.
714         * UIProcess/WebPageProxy.cpp:
715         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
716         * UIProcess/WebProcessProxy.cpp:
717         (WebKit::WebProcessProxy::getLaunchOptions):
718         * UIProcess/efl/WebInspectorProxyEfl.cpp:
719         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
720         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
721         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
722         Extract methods to utilities and use them.
723
724         Also address an issue where WebInspectorProxy was untracking
725         the wrong page. It should have been untracking the inspector
726         page but was untracking the inspected page.
727
728         * UIProcess/RemoteWebInspectorProxy.cpp: Added.
729         (WebKit::RemoteWebInspectorProxy::RemoteWebInspectorProxy):
730         (WebKit::RemoteWebInspectorProxy::~RemoteWebInspectorProxy):
731         (WebKit::RemoteWebInspectorProxy::invalidate):
732         (WebKit::RemoteWebInspectorProxy::load):
733         (WebKit::RemoteWebInspectorProxy::closeFromBackend):
734         (WebKit::RemoteWebInspectorProxy::closeFromCrash):
735         (WebKit::RemoteWebInspectorProxy::show):
736         (WebKit::RemoteWebInspectorProxy::sendMessageToFrontend):
737         (WebKit::RemoteWebInspectorProxy::frontendDidClose):
738         (WebKit::RemoteWebInspectorProxy::bringToFront):
739         (WebKit::RemoteWebInspectorProxy::save):
740         (WebKit::RemoteWebInspectorProxy::append):
741         (WebKit::RemoteWebInspectorProxy::startWindowDrag):
742         (WebKit::RemoteWebInspectorProxy::openInNewTab):
743         (WebKit::RemoteWebInspectorProxy::sendMessageToBackend):
744         (WebKit::RemoteWebInspectorProxy::createFrontendPageAndWindow):
745         (WebKit::RemoteWebInspectorProxy::closeFrontendPageAndWindow):
746         This class behaves like WebInspectorProxy but without having a
747         reference to the inspected target. It communicates with
748         RemoteInspectorUI in an Inspector process to send and receive
749         frontend messages. What can't be easily shared is duplicated.
750
751         * UIProcess/mac/RemoteWebInspectorProxyMac.mm: Added.
752         (-[WKRemoteWebInspectorProxyObjCAdapter initWithRemoteWebInspectorProxy:]):
753         (-[WKRemoteWebInspectorProxyObjCAdapter webViewWebContentProcessDidTerminate:]):
754         (-[WKRemoteWebInspectorProxyObjCAdapter webView:decidePolicyForNavigationAction:decisionHandler:]):
755         (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
756         (WebKit::RemoteWebInspectorProxy::platformCloseFrontendPageAndWindow):
757         (WebKit::RemoteWebInspectorProxy::platformBringToFront):
758         (WebKit::RemoteWebInspectorProxy::platformSave):
759         (WebKit::RemoteWebInspectorProxy::platformAppend):
760         (WebKit::RemoteWebInspectorProxy::platformStartWindowDrag):
761         (WebKit::RemoteWebInspectorProxy::platformOpenInNewTab):
762         Platform implementation for the bits that are platform specific.
763         What can't be easily shared is duplicated. Ideally we will
764         eventually share this with WebInspectorProxyMac.
765
766         * UIProcess/mac/WKWebInspectorWKWebView.h:
767         * UIProcess/mac/WKWebInspectorWKWebView.mm: Added.
768         (WebKit::getWindowFrame):
769         (WebKit::setWindowFrame):
770         (WebKit::exceededDatabaseQuota):
771         (WebKit::runOpenPanel):
772         (-[WKWebInspectorWKWebView initWithFrame:configuration:]):
773         (-[WKWebInspectorWKWebView tag]):
774         Extract Mac platform code for the inspector webview from WebInspectorProxyMac.
775
776         * UIProcess/mac/WebInspectorProxyMac.mm:
777         (WebKit::WebInspectorProxy::closeTimerFired):
778         (WebKit::WebInspectorProxy::createInspectorWindow):
779         (WebKit::WebInspectorProxy::createFrontendConfiguration):
780         (WebKit::WebInspectorProxy::createFrontendWindow):
781         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
782         (-[WKWebInspectorWKWebView tag]): Deleted.
783         (WebKit::getWindowFrame): Deleted.
784         (WebKit::setWindowFrame): Deleted.
785         (WebKit::exceededDatabaseQuota): Deleted.
786         (WebKit::runOpenPanel): Deleted.
787         Extact Mac platform code to be shared for construction of a
788         WKWebViewConfiguration, WKWebView, and NSWindow for an inspector webview.
789         
790         * WebProcess/WebPage/RemoteWebInspectorUI.cpp: Added.
791         (WebKit::RemoteWebInspectorUI::create):
792         (WebKit::RemoteWebInspectorUI::RemoteWebInspectorUI):
793         (WebKit::RemoteWebInspectorUI::initialize):
794         (WebKit::RemoteWebInspectorUI::didSave):
795         (WebKit::RemoteWebInspectorUI::didAppend):
796         (WebKit::RemoteWebInspectorUI::sendMessageToFrontend):
797         (WebKit::RemoteWebInspectorUI::sendMessageToBackend):
798         (WebKit::RemoteWebInspectorUI::windowObjectCleared):
799         (WebKit::RemoteWebInspectorUI::frontendLoaded):
800         (WebKit::RemoteWebInspectorUI::startWindowDrag):
801         (WebKit::RemoteWebInspectorUI::moveWindowBy):
802         (WebKit::RemoteWebInspectorUI::bringToFront):
803         (WebKit::RemoteWebInspectorUI::closeWindow):
804         (WebKit::RemoteWebInspectorUI::openInNewTab):
805         (WebKit::RemoteWebInspectorUI::save):
806         (WebKit::RemoteWebInspectorUI::append):
807         (WebKit::RemoteWebInspectorUI::inspectedURLChanged):
808         * WebProcess/WebPage/RemoteWebInspectorUI.h: Added.
809         * WebProcess/WebPage/RemoteWebInspectorUI.messages.in: Added.
810         * UIProcess/RemoteWebInspectorProxy.messages.in: Added.
811         * UIProcess/RemoteWebInspectorProxy.mm: Added.
812         Inspector frontend client that knows to talk
813         with a RemoteWebInspectorProxy instead of a WebInspectorProxy.
814
815         * WebProcess/WebPage/WebInspectorUI.cpp:
816         * WebProcess/WebPage/WebInspectorUI.h:
817         * WebProcess/WebPage/mac/WebInspectorUIMac.mm:
818         (WebKit::webInspectorUILocalizedStringsURL):
819         (WebKit::WebInspectorUI::localizedStringsURL):
820         (WebKit::RemoteWebInspectorUI::localizedStringsURL):
821         Simplify localized string URL lookup.
822
823         * DerivedSources.make:
824         * WebKit2.xcodeproj/project.pbxproj:
825         New files.
826
827         * WebProcess/WebPage/WebPage.cpp:
828         (WebKit::WebPage::WebPage):
829         (WebKit::WebPage::~WebPage):
830         (WebKit::WebPage::remoteInspectorUI):
831         (WebKit::WebPage::didReceiveMessage):
832         * WebProcess/WebPage/WebPage.h:
833         (WebKit::WebPage::isInspectorPage):
834         An InspectorProcess WebPage may have either a WebInspectorUI or a RemoteWebInspectorUI.
835
836 2016-07-08  Jer Noble  <jer.noble@apple.com>
837
838         Refactor WebPlaybackSessionModelMediaElement to be client based.
839         https://bugs.webkit.org/show_bug.cgi?id=159580
840
841         Reviewed by Eric Carlson.
842
843         Adopt the changes made in the WebPlaybackSessionModel,Interface and WebVideoFullscreenModel,Interface
844         in the WebPlaybackSessionManager,Proxy classes.
845
846         * UIProcess/API/Cocoa/WKWebView.mm:
847         (-[WKWebView _initializeWithConfiguration:]): Deleted.
848         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
849         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
850         (WebKit::WebPlaybackSessionModelContext::addClient):
851         (WebKit::WebPlaybackSessionModelContext::removeClient):
852         (WebKit::WebPlaybackSessionModelContext::setDuration):
853         (WebKit::WebPlaybackSessionModelContext::setCurrentTime):
854         (WebKit::WebPlaybackSessionModelContext::setBufferedTime):
855         (WebKit::WebPlaybackSessionModelContext::setRate):
856         (WebKit::WebPlaybackSessionModelContext::setSeekableRanges):
857         (WebKit::WebPlaybackSessionModelContext::setCanPlayFastReverse):
858         (WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionOptions):
859         (WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionOptions):
860         (WebKit::WebPlaybackSessionModelContext::setExternalPlayback):
861         (WebKit::WebPlaybackSessionModelContext::setWirelessVideoPlaybackDisabled):
862         (WebKit::WebPlaybackSessionManagerProxy::createModelAndInterface):
863         (WebKit::WebPlaybackSessionManagerProxy::removeClientForContext):
864         (WebKit::WebPlaybackSessionManagerProxy::setCurrentTime):
865         (WebKit::WebPlaybackSessionManagerProxy::setBufferedTime):
866         (WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector):
867         (WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse):
868         (WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
869         (WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
870         (WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties):
871         (WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled):
872         (WebKit::WebPlaybackSessionManagerProxy::setDuration):
873         (WebKit::WebPlaybackSessionManagerProxy::setRate):
874         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
875         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
876         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
877         (WebKit::WebVideoFullscreenModelContext::addClient):
878         (WebKit::WebVideoFullscreenModelContext::removeClient):
879         (WebKit::WebVideoFullscreenManagerProxy::setHasVideo):
880         (WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions):
881         * WebProcess/cocoa/WebPlaybackSessionManager.h:
882         * WebProcess/cocoa/WebPlaybackSessionManager.mm:
883         (WebKit::WebPlaybackSessionInterfaceContext::durationChanged):
884         (WebKit::WebPlaybackSessionInterfaceContext::currentTimeChanged):
885         (WebKit::WebPlaybackSessionInterfaceContext::bufferedTimeChanged):
886         (WebKit::WebPlaybackSessionInterfaceContext::rateChanged):
887         (WebKit::WebPlaybackSessionInterfaceContext::seekableRangesChanged):
888         (WebKit::WebPlaybackSessionInterfaceContext::canPlayFastReverseChanged):
889         (WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionOptionsChanged):
890         (WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionOptionsChanged):
891         (WebKit::WebPlaybackSessionInterfaceContext::externalPlaybackChanged):
892         (WebKit::WebPlaybackSessionInterfaceContext::wirelessVideoPlaybackDisabledChanged):
893         (WebKit::WebPlaybackSessionManager::~WebPlaybackSessionManager):
894         (WebKit::WebPlaybackSessionManager::createModelAndInterface):
895         (WebKit::WebPlaybackSessionManager::removeContext):
896         (WebKit::WebPlaybackSessionManager::durationChanged):
897         (WebKit::WebPlaybackSessionManager::currentTimeChanged):
898         (WebKit::WebPlaybackSessionManager::bufferedTimeChanged):
899         (WebKit::WebPlaybackSessionManager::rateChanged):
900         (WebKit::WebPlaybackSessionManager::seekableRangesChanged):
901         (WebKit::WebPlaybackSessionManager::canPlayFastReverseChanged):
902         (WebKit::WebPlaybackSessionManager::audioMediaSelectionOptionsChanged):
903         (WebKit::WebPlaybackSessionManager::legibleMediaSelectionOptionsChanged):
904         (WebKit::WebPlaybackSessionManager::externalPlaybackChanged):
905         (WebKit::WebPlaybackSessionManager::wirelessVideoPlaybackDisabledChanged):
906         (WebKit::WebPlaybackSessionInterfaceContext::setDuration): Deleted.
907         (WebKit::WebPlaybackSessionInterfaceContext::setCurrentTime): Deleted.
908         (WebKit::WebPlaybackSessionInterfaceContext::setBufferedTime): Deleted.
909         (WebKit::WebPlaybackSessionInterfaceContext::setRate): Deleted.
910         (WebKit::WebPlaybackSessionInterfaceContext::setSeekableRanges): Deleted.
911         (WebKit::WebPlaybackSessionInterfaceContext::setCanPlayFastReverse): Deleted.
912         (WebKit::WebPlaybackSessionInterfaceContext::setAudioMediaSelectionOptions): Deleted.
913         (WebKit::WebPlaybackSessionInterfaceContext::setLegibleMediaSelectionOptions): Deleted.
914         (WebKit::WebPlaybackSessionInterfaceContext::setExternalPlayback): Deleted.
915         (WebKit::WebPlaybackSessionInterfaceContext::setWirelessVideoPlaybackDisabled): Deleted.
916         (WebKit::WebPlaybackSessionManager::setDuration): Deleted.
917         (WebKit::WebPlaybackSessionManager::setCurrentTime): Deleted.
918         (WebKit::WebPlaybackSessionManager::setBufferedTime): Deleted.
919         (WebKit::WebPlaybackSessionManager::setRate): Deleted.
920         (WebKit::WebPlaybackSessionManager::setSeekableRanges): Deleted.
921         (WebKit::WebPlaybackSessionManager::setCanPlayFastReverse): Deleted.
922         (WebKit::WebPlaybackSessionManager::setAudioMediaSelectionOptions): Deleted.
923         (WebKit::WebPlaybackSessionManager::setLegibleMediaSelectionOptions): Deleted.
924         (WebKit::WebPlaybackSessionManager::setExternalPlayback): Deleted.
925         (WebKit::WebPlaybackSessionManager::setWirelessVideoPlaybackDisabled): Deleted.
926         * WebProcess/cocoa/WebVideoFullscreenManager.h:
927         (WebKit::WebVideoFullscreenInterfaceContext::create):
928         * WebProcess/cocoa/WebVideoFullscreenManager.mm:
929         (WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext):
930         (WebKit::WebVideoFullscreenInterfaceContext::hasVideoChanged):
931         (WebKit::WebVideoFullscreenInterfaceContext::videoDimensionsChanged):
932         (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
933         (WebKit::WebVideoFullscreenManager::createModelAndInterface):
934         (WebKit::WebVideoFullscreenManager::removeContext):
935         (WebKit::WebVideoFullscreenManager::hasVideoChanged):
936         (WebKit::WebVideoFullscreenManager::videoDimensionsChanged):
937         (WebKit::WebVideoFullscreenInterfaceContext::resetMediaState): Deleted.
938         (WebKit::WebVideoFullscreenInterfaceContext::setDuration): Deleted.
939         (WebKit::WebVideoFullscreenInterfaceContext::setCurrentTime): Deleted.
940         (WebKit::WebVideoFullscreenInterfaceContext::setBufferedTime): Deleted.
941         (WebKit::WebVideoFullscreenInterfaceContext::setRate): Deleted.
942         (WebKit::WebVideoFullscreenInterfaceContext::setVideoDimensions): Deleted.
943         (WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges): Deleted.
944         (WebKit::WebVideoFullscreenInterfaceContext::setCanPlayFastReverse): Deleted.
945         (WebKit::WebVideoFullscreenInterfaceContext::setAudioMediaSelectionOptions): Deleted.
946         (WebKit::WebVideoFullscreenInterfaceContext::setLegibleMediaSelectionOptions): Deleted.
947         (WebKit::WebVideoFullscreenInterfaceContext::setExternalPlayback): Deleted.
948         (WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled): Deleted.
949         (WebKit::WebVideoFullscreenManager::setVideoDimensions): Deleted.
950
951 2016-09-02  Zan Dobersek  <zdobersek@igalia.com>
952
953         Fix GObject bindings build breakage when compiling with ENABLE_USER_TIMING disabled.
954
955         Rubber-stamped by Carlos Garcia Campos.
956
957         Add additional ENABLE(USER_TIMING) build guards to WebKitDOMPerformance bindings,
958         avoiding build errors when building with that feature disabled. Previously this
959         wasn't a problem because the four amended binding functions weren't generated
960         when the feature was disabled due to the similar use of guards in the Performance.idl
961         file.
962
963         * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.cpp:
964         (webkit_dom_performance_webkit_mark):
965         (webkit_dom_performance_webkit_clear_marks):
966         (webkit_dom_performance_webkit_measure):
967         (webkit_dom_performance_webkit_clear_measures):
968
969 2016-09-02  Zan Dobersek  <zdobersek@igalia.com>
970
971         Unreviewed GTK+ build fix when compiling with Clang.
972
973         * WebProcess/WebPage/gtk/AcceleratedSurface.cpp: Include WebPage.h.
974
975 2016-09-01  Yusuke Suzuki  <utatane.tea@gmail.com>
976
977         Unreviewed, build fix after r205327
978
979         * UIProcess/API/gtk/WebKitUIClient.cpp:
980
981 2016-09-01  Dan Bernstein  <mitz@apple.com>
982
983         Build fix.
984
985         * Configurations/FeatureDefines.xcconfig:
986
987 2016-09-01  Anders Carlsson  <andersca@apple.com>
988
989         Use WTF::Function for completion handlers in API::UIClient
990         https://bugs.webkit.org/show_bug.cgi?id=161516
991
992         Reviewed by Tim Horton.
993
994         * UIProcess/API/APIUIClient.h:
995         (API::UIClient::runJavaScriptAlert):
996         (API::UIClient::runJavaScriptConfirm):
997         (API::UIClient::runJavaScriptPrompt):
998         (API::UIClient::runBeforeUnloadConfirmPanel):
999         (API::UIClient::exceededDatabaseQuota):
1000         (API::UIClient::reachedApplicationCacheOriginQuota):
1001         * UIProcess/API/C/WKPage.cpp:
1002         (WebKit::RunBeforeUnloadConfirmPanelResultListener::create):
1003         (WebKit::RunBeforeUnloadConfirmPanelResultListener::RunBeforeUnloadConfirmPanelResultListener):
1004         (WebKit::RunJavaScriptAlertResultListener::create):
1005         (WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener):
1006         (WebKit::RunJavaScriptConfirmResultListener::create):
1007         (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
1008         (WebKit::RunJavaScriptPromptResultListener::create):
1009         (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
1010         (WKPageSetPageUIClient):
1011         * UIProcess/Cocoa/UIDelegate.h:
1012         * UIProcess/Cocoa/UIDelegate.mm:
1013         (WebKit::UIDelegate::UIClient::runJavaScriptAlert):
1014         (WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
1015         (WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
1016         (WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
1017         (WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):
1018
1019 2016-09-01  JF Bastien  <jfbastien@apple.com>
1020
1021         Fix cmake build, missing SecItemShim.messages.in
1022         https://bugs.webkit.org/show_bug.cgi?id=161496
1023
1024         Reviewed by Alex Christensen.
1025
1026         * PlatformMac.cmake:
1027
1028 2016-09-01  Joseph Pecoraro  <pecoraro@apple.com>
1029
1030         [Mac] Web Inspector: Remove stale inspector process termination code
1031         https://bugs.webkit.org/show_bug.cgi?id=161465
1032         <rdar://problem/28106584>
1033
1034         Reviewed by Brian Burg.
1035
1036         * UIProcess/WebInspectorProxy.cpp:
1037         (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess): Deleted.
1038         * UIProcess/WebInspectorProxy.h:
1039         * UIProcess/mac/WebInspectorProxyMac.mm:
1040         (-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]): Deleted.
1041         (-[WKWebInspectorWKWebView _didRelaunchProcess]): Deleted.
1042         This code doesn't appear to be run when the WebContent process inside
1043         of an Inspector process crashes. The general WebInspectorProxy has its
1044         own handling of when the page inside an inspector process crashes, so
1045         this Mac specific path appears to be unused and stale.
1046
1047 2016-09-01  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>
1048
1049         [GTK] Fix configuration without wayland support
1050         https://bugs.webkit.org/show_bug.cgi?id=161475
1051
1052         WebKit2WaylandClientProtocol.c is a derived source that is created
1053         conditionally on ENABLE_WAYLAND_TARGET.  It was being included
1054         in the sources list unconditionally, so configure failed whenever
1055         wayland support was unavailable.
1056
1057         Reviewed by Žan Doberšek.
1058
1059         * PlatformGTK.cmake: Include WebKit2WaylandClientProtocol.c in source list conditional on ENABLE_WAYLAND_TARGET
1060
1061 2016-08-31  Carlos Garcia Campos  <cgarcia@igalia.com>
1062
1063         [GTK] Move GObject DOM bindings to WebKit2 layer and stop auto generating them
1064         https://bugs.webkit.org/show_bug.cgi?id=161438
1065
1066         Reviewed by Michael Catanzaro.
1067
1068         Move all GObject bindings code to WebProcess/InjectedBundle/API/gtk/DOM.
1069
1070         * PlatformGTK.cmake:
1071         * WebProcess/InjectedBundle/API/gtk/DOM:
1072
1073 2016-08-31  Keith Rollin  <krollin@apple.com>
1074
1075         WebKit should set a subsystem for os_log so it's easier to filter for WebKit log messages
1076         https://bugs.webkit.org/show_bug.cgi?id=160969
1077         <rdar://problem/26068734>
1078
1079         Reviewed by Simon Fraser.
1080
1081         - Specify a channel when using RELEASE_LOG macros.
1082         - Add some new channels so that we have something to pass to the
1083           RELEASE_LOG macros (ProcessSuspension, IPC, Layers).
1084         - Enable subsystem- and channel-related data and functions when using
1085           RELEASE_LOG macros.
1086         - Use the DECLARE_LOG_CHANNEL, DEFINE_LOG_CHANNEL, and
1087           LOG_CHANNEL_ADDRESS macros that are now defined in WTF.
1088
1089         * NetworkProcess/Downloads/Download.cpp:
1090         * NetworkProcess/NetworkProcess.cpp:
1091         (WebKit::NetworkProcess::prepareToSuspend):
1092         (WebKit::NetworkProcess::cancelPrepareToSuspend):
1093         (WebKit::NetworkProcess::processDidResume):
1094         * NetworkProcess/NetworkResourceLoader.cpp:
1095         * Platform/IPC/Connection.cpp:
1096         (IPC::Connection::waitForSyncReply):
1097         * Platform/LogInitialization.h:
1098         * Platform/Logging.cpp:
1099         (WebKit::initializeLogChannelsIfNecessary):
1100         * Platform/Logging.h:
1101         * Platform/foundation/LoggingFoundation.mm:
1102         * Platform/unix/LoggingUnix.cpp:
1103         * Shared/ChildProcess.cpp:
1104         (WebKit::didCloseOnConnectionWorkQueue):
1105         * Shared/WebKit2Initialize.cpp:
1106         (WebKit::InitializeWebKit2):
1107         * UIProcess/Cocoa/NavigationState.mm:
1108         (WebKit::NavigationState::releaseNetworkActivityToken):
1109         (WebKit::NavigationState::didChangeIsLoading):
1110         * UIProcess/Network/NetworkProcessProxy.cpp:
1111         (WebKit::NetworkProcessProxy::fetchWebsiteData):
1112         (WebKit::NetworkProcessProxy::deleteWebsiteData):
1113         (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
1114         (WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
1115         * UIProcess/ProcessThrottler.cpp:
1116         (WebKit::ProcessThrottler::updateAssertionNow):
1117         (WebKit::ProcessThrottler::updateAssertion):
1118         * UIProcess/WebPageProxy.cpp:
1119         * UIProcess/WebProcessPool.cpp:
1120         (WebKit::m_hiddenPageThrottlingTimer):
1121         * UIProcess/WebProcessProxy.cpp:
1122         (WebKit::WebProcessProxy::fetchWebsiteData):
1123         (WebKit::WebProcessProxy::deleteWebsiteData):
1124         (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
1125         (WebKit::WebProcessProxy::didSetAssertionState):
1126         (WebKit::WebProcessProxy::setIsHoldingLockedFiles):
1127         * UIProcess/ios/ProcessAssertionIOS.mm:
1128         (-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
1129         (WebKit::ProcessAssertion::ProcessAssertion):
1130         * WebProcess/Network/WebLoaderStrategy.cpp:
1131         * WebProcess/Network/WebResourceLoader.cpp:
1132         * WebProcess/WebPage/WebPage.cpp:
1133         (WebKit::WebPage::layerVolatilityTimerFired):
1134         * WebProcess/WebProcess.cpp:
1135         (WebKit::WebProcess::actualPrepareToSuspend):
1136         (WebKit::WebProcess::processWillSuspendImminently):
1137         (WebKit::WebProcess::prepareToSuspend):
1138         (WebKit::WebProcess::cancelPrepareToSuspend):
1139         (WebKit::WebProcess::markAllLayersVolatile):
1140         (WebKit::WebProcess::processDidResume):
1141
1142 2016-08-31  Yoav Weiss  <yoav@yoav.ws>
1143
1144         Add event support for link preload.
1145         https://bugs.webkit.org/show_bug.cgi?id=158466
1146
1147         Reviewed by Alex Christensen.
1148
1149         * WebProcess/Network/WebLoaderStrategy.cpp:
1150         (WebKit::maximumBufferingTime): Removed LinkPreload.
1151
1152 2016-08-31  Alex Christensen  <achristensen@webkit.org>
1153
1154         Add runtime flag for using URLParser
1155         https://bugs.webkit.org/show_bug.cgi?id=161363
1156
1157         Reviewed by Sam Weinig.
1158
1159         * NetworkProcess/NetworkProcess.cpp:
1160         (WebKit::NetworkProcess::initializeNetworkProcess):
1161         * NetworkProcess/NetworkProcessCreationParameters.cpp:
1162         (WebKit::NetworkProcessCreationParameters::encode):
1163         (WebKit::NetworkProcessCreationParameters::decode):
1164         * NetworkProcess/NetworkProcessCreationParameters.h:
1165         * PlatformEfl.cmake:
1166         * PlatformGTK.cmake:
1167         * PlatformMac.cmake:
1168         * Shared/Cocoa/WebKit2InitializeCocoa.mm: Added.
1169         (WebKit::platformInitializeWebKit2):
1170         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
1171         (WebKit::XPCServiceInitializer):
1172         * Shared/WebKit2Initialize.cpp:
1173         (WebKit::InitializeWebKit2):
1174         * Shared/WebKit2Initialize.h:
1175         * Shared/WebProcessCreationParameters.cpp:
1176         (WebKit::WebProcessCreationParameters::encode):
1177         (WebKit::WebProcessCreationParameters::decode):
1178         * Shared/WebProcessCreationParameters.h:
1179         * Shared/efl/WebKit2InitializeEFL.cpp: Added.
1180         (WebKit::platformInitializeWebKit2):
1181         * Shared/gtk/WebKit2InitializeGTK.cpp: Added.
1182         (WebKit::platformInitializeWebKit2):
1183         * UIProcess/WebProcessPool.cpp:
1184         (WebKit::WebProcessPool::ensureNetworkProcess):
1185         (WebKit::WebProcessPool::createNewWebProcess):
1186         * WebKit2.xcodeproj/project.pbxproj:
1187         * WebProcess/WebProcess.cpp:
1188         (WebKit::WebProcess::initializeWebProcess):
1189
1190 2016-08-30  Anders Carlsson  <andersca@apple.com>
1191
1192         Use Connection::sendWithReply for the SecItem shim messages
1193         https://bugs.webkit.org/show_bug.cgi?id=161419
1194
1195         Reviewed by Tim Horton.
1196
1197         * DerivedSources.make:
1198         * NetworkProcess/NetworkProcess.cpp:
1199         (WebKit::NetworkProcess::initializeConnection):
1200         * NetworkProcess/mac/NetworkProcessMac.mm:
1201         (WebKit::NetworkProcess::platformInitializeNetworkProcess):
1202         * Shared/mac/SecItemShim.cpp:
1203         (WebKit::workQueue):
1204         (WebKit::sendSecItemRequest):
1205         (WebKit::webSecItemCopyMatching):
1206         (WebKit::webSecItemAdd):
1207         (WebKit::webSecItemUpdate):
1208         (WebKit::webSecItemDelete):
1209         (WebKit::initializeSecItemShim):
1210         (WebKit::responseMap): Deleted.
1211         (WebKit::SecItemShim::singleton): Deleted.
1212         (WebKit::SecItemShim::SecItemShim): Deleted.
1213         (WebKit::generateSecItemRequestID): Deleted.
1214         (WebKit::SecItemShim::secItemResponse): Deleted.
1215         (WebKit::SecItemShim::initialize): Deleted.
1216         (WebKit::SecItemShim::initializeConnection): Deleted.
1217         * Shared/mac/SecItemShim.h:
1218         * Shared/mac/SecItemShim.messages.in: Removed.
1219         * UIProcess/mac/SecItemShimProxy.cpp:
1220         (WebKit::SecItemShimProxy::didReceiveMessage):
1221         (WebKit::SecItemShimProxy::secItemRequest):
1222         * UIProcess/mac/SecItemShimProxy.h:
1223         * UIProcess/mac/SecItemShimProxy.messages.in:
1224         * WebKit2.xcodeproj/project.pbxproj:
1225         * WebProcess/WebProcess.cpp:
1226         (WebKit::WebProcess::initializeConnection):
1227         * WebProcess/cocoa/WebProcessCocoa.mm:
1228         (WebKit::WebProcess::platformInitializeProcess):
1229
1230 2016-08-31  Andreas Kling  <akling@apple.com>
1231
1232         DOM event handling should pass Event around by reference.
1233         <https://webkit.org/b/161398>
1234
1235         Reviewed by Chris Dumez.
1236
1237         * WebProcess/WebPage/mac/WebPageMac.mm:
1238         (WebKit::WebPage::performNonEditingBehaviorForSelector):
1239
1240 2016-08-31  Brady Eidson  <beidson@apple.com>
1241
1242         WK2 Gamepad provider on iOS.
1243         https://bugs.webkit.org/show_bug.cgi?id=161412
1244
1245         Reviewed by Tim Horton.
1246
1247         * Configurations/FeatureDefines.xcconfig:
1248
1249         * Platform/spi/ios/UIKitSPI.h:
1250
1251         * UIProcess/Gamepad/UIGamepadProvider.cpp:
1252
1253         * UIProcess/Gamepad/ios/UIGamepadProviderIOS.mm: Copied from Source/WebKit2/UIProcess/Gamepad/mac/UIGamepadProviderMac.mm.
1254         (WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput):
1255
1256         * UIProcess/Gamepad/mac/UIGamepadProviderMac.mm:
1257
1258         * WebKit2.xcodeproj/project.pbxproj:
1259
1260 2016-08-30  Anders Carlsson  <andersca@apple.com>
1261
1262         Try to fix the 32-bit build.
1263
1264         * UIProcess/WebProcessProxy.cpp:
1265         (WebKit::WebProcessProxy::deleteWebsiteData):
1266         (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
1267         * UIProcess/WebProcessProxy.h:
1268
1269 2016-08-30  Anders Carlsson  <andersca@apple.com>
1270
1271         Switch more messages over to Connection::sendWithReply
1272         https://bugs.webkit.org/show_bug.cgi?id=161415
1273
1274         Reviewed by Tim Horton.
1275
1276         * UIProcess/WebProcessProxy.cpp:
1277         (WebKit::WebProcessProxy::~WebProcessProxy):
1278         (WebKit::WebProcessProxy::processWillShutDown):
1279         (WebKit::WebProcessProxy::canTerminateChildProcess):
1280         (WebKit::WebProcessProxy::deleteWebsiteData):
1281         (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
1282         (WebKit::generateCallbackID): Deleted.
1283         (WebKit::WebProcessProxy::didDeleteWebsiteData): Deleted.
1284         (WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): Deleted.
1285         * UIProcess/WebProcessProxy.h:
1286         * UIProcess/WebProcessProxy.messages.in:
1287         * WebProcess/WebProcess.cpp:
1288         (WebKit::WebProcess::deleteWebsiteData):
1289         (WebKit::WebProcess::deleteWebsiteDataForOrigins):
1290         * WebProcess/WebProcess.h:
1291         * WebProcess/WebProcess.messages.in:
1292
1293 2016-08-30  Anders Carlsson  <andersca@apple.com>
1294
1295         Add Connection::sendWithReply
1296         https://bugs.webkit.org/show_bug.cgi?id=161399
1297
1298         Reviewed by Tim Horton.
1299
1300         Connection::sendWithReply makes it easy to send a message and process its reply asynchronously on a given WorkQueue or RunLoop.
1301         The reply handler is guaranteed to be called. If the reply is successfully received, it will consist of an std::tuple with the arguments,
1302         otherwise it will be called with Nullopt.
1303
1304         * Platform/IPC/Connection.cpp:
1305         (IPC::Connection::invalidate):
1306         Go through all reply handlers and dispatch them with a null Decoder.
1307
1308         (IPC::Connection::sendMessageWithReply):
1309         Add the reply handler to the m_replyHandlers hash map, and send the message.
1310
1311         (IPC::Connection::processIncomingSyncReply):
1312         Check if the incoming reply has an entry in m_replyHandlers. If it does, dispatch its handler using the given dispatcher.
1313
1314         (IPC::Connection::connectionDidClose):
1315         Go through all reply handlers and dispatch them with a null Decoder.
1316
1317         * Platform/IPC/Connection.h:
1318         (IPC::Connection::sendWithReply):
1319         Encode the message (we use the sync message ID infrastructure for this), then call sendMessageWithReply with a reply handler that
1320         decodes the reply and calls the real reply handler.
1321
1322         * Platform/IPC/HandleMessage.h:
1323         Forward declare Connection.
1324
1325         * UIProcess/Databases/DatabaseProcessProxy.h:
1326         * UIProcess/Network/NetworkProcessProxy.h:
1327         Forward declare WebsiteData.
1328
1329         * UIProcess/WebProcessProxy.cpp:
1330         (WebKit::WebProcessProxy::~WebProcessProxy):
1331         (WebKit::WebProcessProxy::processWillShutDown):
1332         Remove m_pendingFetchWebsiteDataCallbacks.
1333
1334         (WebKit::WebProcessProxy::fetchWebsiteData):
1335         Use Connection::sendWithReply.
1336
1337         (WebKit::WebProcessProxy::didFetchWebsiteData): Deleted.
1338
1339         * UIProcess/WebProcessProxy.h:
1340         Remove members.
1341
1342         * UIProcess/WebProcessProxy.messages.in:
1343         Remove DidFetchWebsiteData.
1344
1345         * WebProcess/WebProcess.cpp:
1346         (WebKit::WebProcess::fetchWebsiteData):
1347         * WebProcess/WebProcess.h:
1348         * WebProcess/WebProcess.messages.in:
1349         Update the FetchWebsiteData message to have a reply parameter.
1350
1351 2016-08-30  Brady Eidson  <beidson@apple.com>
1352
1353         Fix runtime error caused by missing export after https://bugs.webkit.org/show_bug.cgi?id=160846
1354
1355         Rubberstamped by Dan Bernstein.
1356
1357         * UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
1358
1359 2016-08-30  Brady Eidson  <beidson@apple.com>
1360
1361         GameController.framework backend for gamepad API.
1362         https://bugs.webkit.org/show_bug.cgi?id=161086
1363
1364         Reviewed by Alex Christensen.
1365
1366         * UIProcess/API/Cocoa/WKProcessPool.mm:
1367         (+[WKProcessPool _forceGameControllerFramework]):
1368         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
1369
1370         * UIProcess/Gamepad/UIGamepadProvider.h:
1371
1372         * UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm: Renamed from Source/WebKit2/UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp.
1373         (WebKit::UIGamepadProvider::setUsesGameControllerFramework):
1374         (WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
1375         (WebKit::UIGamepadProvider::platformStopMonitoringInput):
1376         (WebKit::UIGamepadProvider::platformStartMonitoringInput):
1377
1378         * WebKit2.xcodeproj/project.pbxproj:
1379
1380 2016-08-30  Mark Lam  <mark.lam@apple.com>
1381
1382         Introduce the ThrowScope and force every throw site to instantiate a ThrowScope.
1383         https://bugs.webkit.org/show_bug.cgi?id=161171
1384
1385         Reviewed by Filip Pizlo and Geoffrey Garen.
1386
1387         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1388         (WebKit::callMethod):
1389         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1390         (WebKit::JSNPObject::callMethod):
1391         (WebKit::JSNPObject::callObject):
1392         (WebKit::JSNPObject::callConstructor):
1393         (WebKit::JSNPObject::getOwnPropertySlot):
1394         (WebKit::JSNPObject::put):
1395         (WebKit::JSNPObject::deleteProperty):
1396         (WebKit::JSNPObject::getOwnPropertyNames):
1397         (WebKit::JSNPObject::propertyGetter):
1398         (WebKit::JSNPObject::methodGetter):
1399         (WebKit::JSNPObject::throwInvalidAccessError):
1400         * WebProcess/Plugins/Netscape/JSNPObject.h:
1401         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1402         (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
1403
1404 2016-08-29  Anders Carlsson  <andersca@apple.com>
1405
1406         Stop using m_client to indicate whether an IPC::Connection is valid
1407         https://bugs.webkit.org/show_bug.cgi?id=161362
1408
1409         Reviewed by Andreas Kling.
1410
1411         Instead, add an std::atomic<bool> so we can reliably check the state from other threads.
1412
1413         * Platform/IPC/Connection.cpp:
1414         (IPC::Connection::Connection):
1415         (IPC::Connection::invalidate):
1416         (IPC::Connection::connectionDidClose):
1417         (IPC::Connection::dispatchSyncMessage):
1418         (IPC::Connection::dispatchDidReceiveInvalidMessage):
1419         (IPC::Connection::dispatchMessage):
1420         * Platform/IPC/Connection.h:
1421         (IPC::Connection::client):
1422         (IPC::Connection::isValid):
1423         (IPC::Connection::waitForAndDispatchImmediately):
1424         * UIProcess/WebGeolocationManagerProxy.cpp:
1425         (WebKit::WebGeolocationManagerProxy::startUpdating):
1426         (WebKit::WebGeolocationManagerProxy::stopUpdating):
1427         (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
1428
1429 2016-08-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1430
1431         REGRESSION(r194846): [GTK] UI process crash visiting sites protected with HTTP auth when using GTK+ < 3.14
1432         https://bugs.webkit.org/show_bug.cgi?id=161385
1433
1434         Reviewed by Antonio Gomes.
1435
1436         Since r194846, we are chaining up webkitWebViewBaseMotionNotifyEvent, but before GTK+ 3.14
1437         GtkWidget::motion_notify_event was nullptr, so it can't be used unconditionally.
1438
1439         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1440         (webkitWebViewBaseMotionNotifyEvent):
1441
1442 2016-08-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1443
1444         Unreviewed. Fix GTK+ build after r205150.
1445
1446         * UIProcess/API/gtk/WebKitUserContentManager.cpp:
1447
1448 2016-08-29  Gyuyoung Kim  <gyuyoung.kim@navercorp.com>
1449
1450         Unreviewed EFL/GTK build fix since r205150
1451
1452         * CMakeLists.txt: Add Shared/FrameInfoData.cpp.
1453
1454 2016-08-29  Anders Carlsson  <andersca@apple.com>
1455
1456         Get rid of ChildProcessProxy::fromConnection
1457         https://bugs.webkit.org/show_bug.cgi?id=161357
1458
1459         Reviewed by Tim Horton.
1460
1461         * UIProcess/ChildProcessProxy.cpp:
1462         (WebKit::ChildProcessProxy::fromConnection): Deleted.
1463         * UIProcess/ChildProcessProxy.h:
1464         * UIProcess/WebProcessProxy.h:
1465         (WebKit::WebProcessProxy::fromConnection): Deleted.
1466
1467 2016-08-29  Anders Carlsson  <andersca@apple.com>
1468
1469         Remove the last uses of WebProcessProxy::fromConnection
1470         https://bugs.webkit.org/show_bug.cgi?id=161355
1471
1472         Reviewed by Tim Horton.
1473
1474         * UIProcess/WebProcessPool.cpp:
1475         (WebKit::webProcessProxyFromConnection):
1476         (WebKit::WebProcessPool::handleMessage):
1477         (WebKit::WebProcessPool::handleSynchronousMessage):
1478         (WebKit::WebProcessPool::startedUsingGamepads):
1479         (WebKit::WebProcessPool::stoppedUsingGamepads):
1480
1481 2016-08-29  Anders Carlsson  <andersca@apple.com>
1482
1483         Get rid of another use of WebProcessProxy::fromConnection
1484         https://bugs.webkit.org/show_bug.cgi?id=161331
1485
1486         Reviewed by Dan Bernstein.
1487
1488         WebUserContentControllerProxy::didPostMessage uses WebProcessProxy::fromConnection to be able to find a WebFrameProxy from
1489         a given frame ID. Since the WebFrameProxy is only used to construct an API::FrameInfo object from, introduce a FrameInfoData object
1490         and fill it in on the web process side and send it over to the UI process where an API::FrameInfo object can be created.
1491
1492         * Shared/FrameInfoData.cpp: Added.
1493         (WebKit::FrameInfoData::encode):
1494         (WebKit::FrameInfoData::decode):
1495         * Shared/FrameInfoData.h: Added.
1496         * UIProcess/API/APIFrameInfo.cpp:
1497         (API::FrameInfo::create):
1498         (API::FrameInfo::FrameInfo):
1499         * UIProcess/API/APIFrameInfo.h:
1500         * UIProcess/API/Cocoa/WKUserContentController.mm:
1501         * UIProcess/UserContent/WebScriptMessageHandler.h:
1502         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
1503         (WebKit::WebUserContentControllerProxy::didPostMessage):
1504         * UIProcess/UserContent/WebUserContentControllerProxy.h:
1505         * UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
1506         * WebKit2.xcodeproj/project.pbxproj:
1507         * WebProcess/UserContent/WebUserContentController.cpp:
1508         * WebProcess/WebPage/WebFrame.cpp:
1509         (WebKit::WebFrame::info):
1510         * WebProcess/WebPage/WebFrame.h:
1511
1512 2016-08-29  Anders Carlsson  <andersca@apple.com>
1513
1514         Stop using WebProcessProxy::fromConnection in WebPageProxy
1515         https://bugs.webkit.org/show_bug.cgi?id=161322
1516
1517         Reviewed by Dan Bernstein.
1518
1519         The WebPageProxy already knows its WebProcessProxy - no need to look it up from the connection.
1520
1521         * UIProcess/WebPageProxy.cpp:
1522         (WebKit::WebPageProxy::handleMessage):
1523         (WebKit::WebPageProxy::handleSynchronousMessage):
1524
1525 2016-08-29  Anders Carlsson  <andersca@apple.com>
1526
1527         Move some structs into Connection.cpp
1528         https://bugs.webkit.org/show_bug.cgi?id=161320
1529
1530         Reviewed by Darin Adler.
1531
1532         * Platform/IPC/Connection.cpp:
1533         (IPC::Connection::PendingSyncReply::PendingSyncReply):
1534         * Platform/IPC/Connection.h:
1535         (IPC::Connection::PendingSyncReply::PendingSyncReply): Deleted.
1536
1537 2016-08-26  Anders Carlsson  <andersca@apple.com>
1538
1539         Remove sync message sending from secondary threads
1540         https://bugs.webkit.org/show_bug.cgi?id=161277
1541
1542         Reviewed by Sam Weinig.
1543
1544         This codepath hasn't been used for some time, and removing it will make it easier to make IPC::Connection backed by libxpc.
1545
1546         * Platform/IPC/Connection.cpp:
1547         (IPC::Connection::sendSyncMessage):
1548         (IPC::Connection::processIncomingSyncReply):
1549         (IPC::Connection::connectionDidClose):
1550         (IPC::Connection::sendSyncMessageFromSecondaryThread): Deleted.
1551         * Platform/IPC/Connection.h:
1552
1553 2016-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1554
1555         [GTK] Accelerated compositing does not work in Wayland
1556         https://bugs.webkit.org/show_bug.cgi?id=115803
1557
1558         Reviewed by Michael Catanzaro.
1559
1560         This is the initial implementation of accelerated compositing support in Wayland for the GTK+ port. It's based
1561         on previous patches written by Iago Toral, Žan Doberšek, Emanuele Aina and Emilio Pozuelo Monfort.
1562
1563         The existing WebKitGTK+ Wayland interface previously added for this to WebCore has been moved to the WebKit2
1564         layer, since it's actually specific to WebKit2, and it's now actually used. The UI process runs a nested Wayland
1565         compositor that web processes connect to. Web processes create a Wayland surface in the nested compositor for
1566         the web page, and using the WebKitGTK+ Wayland protocol interface they tell the nested compositor the web page
1567         associated to the surface. A Wayland window is created for that surface that is then used as the native window
1568         handle for compositing. To communicate with the nested compositor and to ensure all GL operations happen in the
1569         nested compositor display, the web process creates a Wayland display that connects to the nested compositor,
1570         uses the WebKitGTK+ Wayland interface and it's set as the global shared display for compositing.
1571
1572         The nested Wayland compositor creates a new display with a unique name that is sent to the web processes at
1573         start up. It implements the Wayland surface interface to handle the Wayland buffers created for every surface
1574         and scheduling redraws on the web pages when updates are available. It uses the WebKitGTK+ Wayland interface to
1575         associate the surfaces to a particular web page. A texture is created for every surface and updated with the
1576         Wayland buffer contents using an EGLImageKHR and eglImageTargetTexture2d API.
1577
1578         To abstract the platform differences and avoid ifdefs as much as possible, new abstract classes have been added
1579         to represent the surfaces used in accelerated compositing. AcceleratedSurface is used by the web process and
1580         represents the surface where contents are rendered into. The X11 implementation is the redirected XComposite
1581         window, and the Wayland implementation is equivalent to the previous Wayland surface added to WebCore but never
1582         used. In the UI process the web view creates an abstract AcceleratedBackingStore that is used to render the
1583         AcceleratedSurface into the web view using cairo. The X11 implementation creates the cairo surface for the
1584         redirected XComposite window pixmap and uses XDamage extension to schedule redraws. The Wayland implementation
1585         asks the nested Wayland compositor for the texture associated to the web view page.
1586
1587         Accelerated compositing is now always enabled by default in both X11 and Wayland, unless it's explicitly
1588         disabled by the user using the WEBKIT_DISABLE_COMPOSITING_MODE environment variable, or if any extension or
1589         feature required by X11 or Wayland implementations are not available.
1590
1591         * PlatformGTK.cmake:
1592         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
1593         (WebKit::ThreadedCompositor::glContext): Pass the shared display for compositing to GLContext::createContextForWindow()
1594         * Shared/WebProcessCreationParameters.cpp:
1595         (WebKit::WebProcessCreationParameters::encode): Encode wayland compositor display name.
1596         (WebKit::WebProcessCreationParameters::decode): Decode wayland compositor display name.
1597         * Shared/WebProcessCreationParameters.h: Add wayland compositor display name initial parameter.
1598         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1599         (webkitWebViewBaseDispose):
1600         (webkitWebViewBaseDraw):
1601         (webkitWebViewBaseCreateWebPage):
1602         (webkitWebViewBaseEnterAcceleratedCompositingMode):
1603         (webkitWebViewBaseUpdateAcceleratedCompositingMode):
1604         (webkitWebViewBaseExitAcceleratedCompositingMode):
1605         (webkitWebViewBasePageClosed):
1606         * UIProcess/WebProcessPool.cpp:
1607         (WebKit::WebProcessPool::createNewWebProcess): Initialize the wayland compositor display name initial parameter.
1608         * UIProcess/gtk/AcceleratedBackingStore.cpp: Added.
1609         (WebKit::AcceleratedBackingStore::create):
1610         (WebKit::AcceleratedBackingStore::AcceleratedBackingStore):
1611         (WebKit::AcceleratedBackingStore::~AcceleratedBackingStore):
1612         (WebKit::AcceleratedBackingStore::paint):
1613         * UIProcess/gtk/AcceleratedBackingStore.h: Added.
1614         (WebKit::AcceleratedBackingStore::update):
1615         * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: Added.
1616         (WebKit::AcceleratedBackingStoreWayland::create):
1617         (WebKit::AcceleratedBackingStoreWayland::AcceleratedBackingStoreWayland):
1618         (WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland):
1619         (WebKit::AcceleratedBackingStoreWayland::paint):
1620         * UIProcess/gtk/AcceleratedBackingStoreWayland.h: Added.
1621         * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: Added.
1622         (WebKit::XDamageNotifier::singleton):
1623         (WebKit::XDamageNotifier::add):
1624         (WebKit::XDamageNotifier::remove):
1625         (WebKit::XDamageNotifier::filterXDamageEvent):
1626         (WebKit::XDamageNotifier::notify):
1627         (WebKit::AcceleratedBackingStoreX11::create):
1628         (WebKit::AcceleratedBackingStoreX11::AcceleratedBackingStoreX11):
1629         (WebKit::AcceleratedBackingStoreX11::~AcceleratedBackingStoreX11):
1630         (WebKit::AcceleratedBackingStoreX11::update):
1631         (WebKit::AcceleratedBackingStoreX11::paint):
1632         * UIProcess/gtk/AcceleratedBackingStoreX11.h: Added.
1633         * UIProcess/gtk/WaylandCompositor.cpp: Added.
1634         (WebKit::WaylandCompositor::singleton):
1635         (WebKit::WaylandCompositor::Buffer::getOrCreate):
1636         (WebKit::WaylandCompositor::Buffer::Buffer):
1637         (WebKit::WaylandCompositor::Buffer::~Buffer):
1638         (WebKit::WaylandCompositor::Buffer::destroyListenerCallback):
1639         (WebKit::WaylandCompositor::Buffer::use):
1640         (WebKit::WaylandCompositor::Buffer::unuse):
1641         (WebKit::WaylandCompositor::Buffer::createImage):
1642         (WebKit::WaylandCompositor::Buffer::size):
1643         (WebKit::WaylandCompositor::Surface::Surface):
1644         (WebKit::WaylandCompositor::Surface::~Surface):
1645         (WebKit::WaylandCompositor::Surface::makePendingBufferCurrent):
1646         (WebKit::WaylandCompositor::Surface::attachBuffer):
1647         (WebKit::WaylandCompositor::Surface::requestFrame):
1648         (WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
1649         (WebKit::WaylandCompositor::Surface::commit):
1650         (WebKit::WaylandCompositor::initializeEGL):
1651         (WebKit::createWaylandLoopSource):
1652         (WebKit::WaylandCompositor::WaylandCompositor):
1653         (WebKit::WaylandCompositor::getTexture):
1654         (WebKit::WaylandCompositor::bindSurfaceToWebPage):
1655         (WebKit::WaylandCompositor::registerWebPage):
1656         (WebKit::WaylandCompositor::unregisterWebPage):
1657         * UIProcess/gtk/WaylandCompositor.h: Added.
1658         (WebKit::WaylandCompositor::Buffer::createWeakPtr):
1659         (WebKit::WaylandCompositor::Surface::setWebPage):
1660         (WebKit::WaylandCompositor::isRunning):
1661         (WebKit::WaylandCompositor::displayName):
1662         * UIProcess/gtk/WebPreferencesGtk.cpp:
1663         (WebKit::WebPreferences::platformInitializeStore):
1664         * UIProcess/gtk/XDamageNotifier.cpp: Removed.
1665         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
1666         (WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost):
1667         (WebKit::ThreadedCoordinatedLayerTreeHost::invalidate):
1668         (WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
1669         (WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange):
1670         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
1671         * WebProcess/WebPage/gtk/AcceleratedSurface.cpp: Added.
1672         (WebKit::AcceleratedSurface::create):
1673         (WebKit::AcceleratedSurface::AcceleratedSurface):
1674         (WebKit::AcceleratedSurface::~AcceleratedSurface):
1675         (WebKit::AcceleratedSurface::resize):
1676         * WebProcess/WebPage/gtk/AcceleratedSurface.h: Added.
1677         (WebKit::AcceleratedSurface::window):
1678         (WebKit::AcceleratedSurface::surfaceID):
1679         * WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp: Added.
1680         (WebKit::waylandCompositorDisplay):
1681         (WebKit::AcceleratedSurfaceWayland::create):
1682         (WebKit::AcceleratedSurfaceWayland::AcceleratedSurfaceWayland):
1683         (WebKit::AcceleratedSurfaceWayland::~AcceleratedSurfaceWayland):
1684         (WebKit::AcceleratedSurfaceWayland::resize):
1685         * WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: Added.
1686         * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/RedirectedXCompositeWindow.cpp.
1687         (WebKit::AcceleratedSurfaceX11::create):
1688         (WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11):
1689         (WebKit::AcceleratedSurfaceX11::~AcceleratedSurfaceX11):
1690         (WebKit::AcceleratedSurfaceX11::resize):
1691         * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/RedirectedXCompositeWindow.h.
1692         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1693         (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
1694         (WebKit::LayerTreeHostGtk::makeContextCurrent):
1695         (WebKit::LayerTreeHostGtk::invalidate):
1696         (WebKit::LayerTreeHostGtk::sizeDidChange):
1697         (WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
1698         (WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler): Deleted.
1699         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1700         * WebProcess/WebProcess.cpp:
1701         (WebKit::WebProcess::initializeWebProcess): Initialize the wayland compositor display name.
1702         * WebProcess/WebProcess.h:
1703         (WebKit::WebProcess::waylandCompositorDisplayName): Return the wayland compositor display name.
1704
1705 2016-08-27  Jonathan Bedard  <jbedard@apple.com>
1706
1707         WTR needs an implementation of setAutomaticLinkDetectionEnabled
1708         https://bugs.webkit.org/show_bug.cgi?id=87162
1709
1710         Reviewed by Darin Adler
1711
1712         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1713         (WKBundleSetAutomaticLinkDetectionEnabled): Added WKBundleSetAutomaticLinkDetectionEnabled definition.
1714         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetAutomaticLinkDetectionEnabled declaration.
1715         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1716         (WebKit::InjectedBundle::setAutomaticLinkDetectionEnabled): Added setAutomaticLinkDetectionEnabled definition.
1717         * WebProcess/InjectedBundle/InjectedBundle.h: Added setAutomaticLinkDetectionEnabled declaration.
1718         * WebProcess/WebProcess.h: Declared setTextCheckerState public.
1719
1720 2016-08-27  Carlos Garcia Campos  <cgarcia@igalia.com>
1721
1722         [GTK][Threaded Compositor] Several flaky tests
1723         https://bugs.webkit.org/show_bug.cgi?id=161242
1724
1725         Reviewed by Michael Catanzaro.
1726
1727         We still have a lot of flaky tests since we switched to the threaded compositor. The UI process might
1728         take the screenshot too early, before everything is actually painted. I can't reproduce the problem, so this is
1729         actually a speculative fix or workaround. Our implementation of DrawingArea::dispatchAfterEnsuringDrawing() is
1730         quite simple, we just dispatch the callback in the next run loop iteration, which doesn't really ensures any
1731         drawing at all. So, we can wait for draw events before dispatching the given callback. Since we don't really
1732         know if draw events were already processed before dispatchAfterEnsuringDrawing() is called, or if there will be
1733         more than one damage event in a short time, this patch waits up to 1 second for draw events, and if a draw
1734         happens it stops if there isn't another draw event in the next 100ms. This should ensure a drawing if it was
1735         really needed.
1736
1737         * UIProcess/DrawingAreaProxyImpl.cpp:
1738         (WebKit::DrawingAreaProxyImpl::DrawingMonitor::DrawingMonitor):
1739         (WebKit::DrawingAreaProxyImpl::DrawingMonitor::~DrawingMonitor):
1740         (WebKit::DrawingAreaProxyImpl::DrawingMonitor::webViewDrawCallback):
1741         (WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
1742         (WebKit::DrawingAreaProxyImpl::DrawingMonitor::stop):
1743         (WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
1744         (WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):
1745         * UIProcess/DrawingAreaProxyImpl.h:
1746
1747 2016-08-26  Sam Weinig  <sam@webkit.org>
1748
1749         Remove support for ENABLE_LEGACY_WEB_AUDIO
1750         https://bugs.webkit.org/show_bug.cgi?id=161262
1751
1752         Reviewed by Anders Carlsson.
1753
1754         * Configurations/FeatureDefines.xcconfig:
1755         Remove ENABLE_LEGACY_WEB_AUDIO.
1756
1757 2016-08-26  Anders Carlsson  <andersca@apple.com>
1758
1759         Get rid of NetworkResourceLoader::sendAbortingOnFailure
1760         https://bugs.webkit.org/show_bug.cgi?id=161267
1761
1762         Reviewed by Dan Bernstein.
1763
1764         NetworkResourceLoader::sendAbortingOnFailure sends an IPC message, and if IPC::Connection::send returns false,
1765         it will abort the network resource load.
1766
1767         IPC::Connection::send will only return false if the connection is invalid, and when it becomes invalidated the
1768         connection client member function "didClose" is invoked. For the network process, this will call abort on all outstanding
1769         network loads.
1770
1771         Auditing all the sendAbortingOnFailure call sites, shows that none of them can be called with an invalid connection,
1772         so replace sendAbortingOnFailure with send.
1773
1774         * NetworkProcess/NetworkResourceLoader.cpp:
1775         (WebKit::NetworkResourceLoader::didReceiveResponse):
1776         This is a NetworkLoadClient function which won't be called if the load has been aborted.
1777
1778         (WebKit::NetworkResourceLoader::didReceiveBuffer):
1779         Ditto.
1780
1781         (WebKit::NetworkResourceLoader::didFinishLoading):
1782         Ditto. Also, update a call to sendBufferMaybeAborting to sendBuffer.
1783
1784         (WebKit::NetworkResourceLoader::willSendRedirectedRequest):
1785         This is another NetworkLoadClient function.
1786
1787         (WebKit::NetworkResourceLoader::bufferingTimerFired):
1788         The buffering timer is stopped when abort() is called.
1789
1790         (WebKit::NetworkResourceLoader::sendBuffer):
1791         Rename this from sendBufferMaybeAborting. It has three call sites:
1792         - didReceiveBuffer and didFinishLoading are both NetworkLoadClient functions.
1793         - didRetrieveCacheEntry is called from didFinishLoading (a NetworkLoadClient function) and from
1794           the completion function of retrieveCacheEntry, which has an early return for when the loader has been aborted.
1795
1796         (WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
1797         This is called from the retrieveCacheEntry completion function, which has an early return for when the loader has been aborted.
1798
1799         (WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
1800         Ditto.
1801
1802         (WebKit::NetworkResourceLoader::sendAbortingOnFailure): Deleted.
1803         * NetworkProcess/NetworkResourceLoader.h:
1804
1805 2016-08-26  Dan Bernstein  <mitz@apple.com>
1806
1807         [Cocoa] Infinite recursion calling -charValue on a WKNSNumber
1808         https://bugs.webkit.org/show_bug.cgi?id=161258
1809
1810         Reviewed by Anders Carlsson.
1811
1812         * Shared/Cocoa/WKNSNumber.mm:
1813         (-[WKNSNumber charValue]): Override this…
1814         (-[WKNSNumber boolValue]): …not this.
1815
1816 2016-08-26  Csaba Osztrogonác  <ossy@webkit.org>
1817
1818         [EFL][GTK] REGRESSION(204877): Fix the clean build
1819         https://bugs.webkit.org/show_bug.cgi?id=161240
1820
1821         Reviewed by Carlos Garcia Campos.
1822
1823         * Scripts/generate-forwarding-headers.pl: Added back multiple include-path support. (removed by r183389)
1824
1825 2016-08-26  Gyuyoung Kim  <gyuyoung.kim@navercorp.com>
1826
1827         Unreviewed EFL build fix since r204996.
1828
1829         * UIProcess/efl/WebPageProxyEfl.cpp:
1830         (WebKit::WebPageProxy::editorStateChanged):
1831         (WebKit::WebPageProxy::setThemePath):
1832         (WebKit::WebPageProxy::confirmComposition):
1833         (WebKit::WebPageProxy::setComposition):
1834         (WebKit::WebPageProxy::cancelComposition):
1835
1836 2016-08-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1837
1838         Unreviewed. Fix GTK+ build after r204986 and r204996.
1839
1840         * Platform/IPC/unix/ConnectionUnix.cpp:
1841         (IPC::Connection::willSendSyncMessage):
1842         (IPC::Connection::didReceiveSyncReply):
1843         * UIProcess/WebPageProxy.cpp:
1844         (WebKit::WebPageProxy::drawPagesForPrinting):
1845
1846 2016-08-25  Anders Carlsson  <andersca@apple.com>
1847
1848         Replace all IPC message send flags with OptionSet
1849         https://bugs.webkit.org/show_bug.cgi?id=161211
1850
1851         Reviewed by Tim Horton.
1852
1853         * NetworkProcess/NetworkResourceLoader.cpp:
1854         (WebKit::NetworkResourceLoader::didFailLoading):
1855         (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
1856         * NetworkProcess/NetworkResourceLoader.h:
1857         * Platform/IPC/Connection.cpp:
1858         (IPC::WaitForMessageState::WaitForMessageState):
1859         (IPC::Connection::sendMessage):
1860         (IPC::Connection::sendSyncReply):
1861         (IPC::Connection::waitForMessage):
1862         (IPC::Connection::sendSyncMessage):
1863         (IPC::Connection::sendSyncMessageFromSecondaryThread):
1864         (IPC::Connection::waitForSyncReply):
1865         (IPC::Connection::processIncomingMessage):
1866         * Platform/IPC/Connection.h:
1867         (IPC::Connection::send):
1868         (IPC::Connection::sendSync):
1869         (IPC::Connection::waitForAndDispatchImmediately):
1870         * Platform/IPC/MessageSender.cpp:
1871         (IPC::MessageSender::sendMessage):
1872         * Platform/IPC/MessageSender.h:
1873         (IPC::MessageSender::send):
1874         (IPC::MessageSender::sendSync):
1875         * Platform/IPC/mac/ConnectionMac.mm:
1876         (IPC::Connection::open):
1877         (IPC::Connection::willSendSyncMessage):
1878         (IPC::Connection::didReceiveSyncReply):
1879         * PluginProcess/mac/PluginControllerProxyMac.mm:
1880         (WebKit::PluginControllerProxy::setComplexTextInputState):
1881         * UIProcess/ChildProcessProxy.cpp:
1882         (WebKit::ChildProcessProxy::sendMessage):
1883         (WebKit::ChildProcessProxy::didFinishLaunching):
1884         * UIProcess/ChildProcessProxy.h:
1885         (WebKit::ChildProcessProxy::send):
1886         (WebKit::ChildProcessProxy::sendSync):
1887         * UIProcess/Databases/DatabaseProcessProxy.cpp:
1888         (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
1889         * UIProcess/Network/NetworkProcessProxy.cpp:
1890         (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
1891         * UIProcess/Plugins/PluginProcessProxy.cpp:
1892         (WebKit::PluginProcessProxy::getPluginProcessConnection):
1893         * UIProcess/WebEditCommandProxy.cpp:
1894         (WebKit::WebEditCommandProxy::unapply):
1895         (WebKit::WebEditCommandProxy::reapply):
1896         * UIProcess/WebPageProxy.cpp:
1897         (WebKit::printingSendOptions):
1898         (WebKit::WebPageProxy::preferencesDidChange):
1899         (WebKit::WebPageProxy::sendMessage):
1900         (WebKit::WebPageProxy::beginPrinting):
1901         (WebKit::WebPageProxy::endPrinting):
1902         (WebKit::WebPageProxy::computePagesForPrinting):
1903         (WebKit::WebPageProxy::drawRectToImage):
1904         (WebKit::WebPageProxy::drawPagesToPDF):
1905         (WebKit::WebPageProxy::drawPagesForPrinting):
1906         (WebKit::WebPageProxy::setMinimumLayoutSize): Deleted.
1907         (WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight): Deleted.
1908         (WebKit::WebPageProxy::handleAlternativeTextUIResult): Deleted.
1909         * UIProcess/WebPageProxy.h:
1910         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1911         (WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
1912         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1913         (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState):
1914         * WebProcess/Plugins/PluginProxy.cpp:
1915         (WebKit::PluginProxy::geometryDidChange):
1916         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1917         (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
1918         (WebKit::WebChromeClient::runJavaScriptAlert):
1919         (WebKit::WebChromeClient::runJavaScriptConfirm):
1920         (WebKit::WebChromeClient::runJavaScriptPrompt):
1921         (WebKit::WebChromeClient::print):
1922         (WebKit::WebChromeClient::exceededDatabaseQuota):
1923         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
1924         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1925         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
1926         * WebProcess/WebPage/WebFrame.cpp:
1927         (WebKit::WebFrame::createWithCoreMainFrame):
1928         (WebKit::WebFrame::createSubframe):
1929         * WebProcess/WebPage/WebPage.cpp:
1930         (WebKit::WebPage::sendPostLayoutEditorStateIfNeeded):
1931         (WebKit::WebPage::postSynchronousMessageForTesting):
1932         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1933         (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
1934
1935 2016-08-25  Anders Carlsson  <andersca@apple.com>
1936
1937         Remove some more MessageRecorder gunk
1938         https://bugs.webkit.org/show_bug.cgi?id=161209
1939
1940         Reviewed by Tim Horton.
1941
1942         * DatabaseProcess/DatabaseProcess.h:
1943         * DatabaseProcess/DatabaseToWebProcessConnection.h:
1944         * NetworkProcess/NetworkConnectionToWebProcess.h:
1945         * NetworkProcess/NetworkProcess.h:
1946         * Platform/IPC/Connection.h:
1947         * Platform/IPC/ProcessType.h: Removed.
1948         * PluginProcess/PluginProcess.h:
1949         * PluginProcess/WebProcessConnection.h:
1950         * UIProcess/Databases/DatabaseProcessProxy.h:
1951         * UIProcess/Network/NetworkProcessProxy.h:
1952         * UIProcess/Plugins/PluginProcessProxy.h:
1953         * UIProcess/WebProcessProxy.h:
1954         * WebKit2.xcodeproj/project.pbxproj:
1955         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
1956         * WebProcess/Network/NetworkProcessConnection.h:
1957         * WebProcess/Plugins/PluginProcessConnection.h:
1958         * WebProcess/WebPage/WebInspector.h:
1959         * WebProcess/WebPage/WebInspectorUI.h:
1960         * WebProcess/WebProcess.h:
1961
1962 2016-08-25  Johan K. Jensen  <johan_jensen@apple.com>
1963
1964         Don't store networkLoadTiming in the disk cache
1965         https://bugs.webkit.org/show_bug.cgi?id=161161
1966
1967         Reviewed by Antti Koivisto.
1968
1969         * NetworkProcess/cache/NetworkCacheStorage.h: Updated version to 10.
1970         * NetworkProcess/cache/NetworkCacheDecoder.h:
1971         * NetworkProcess/cache/NetworkCacheEncoder.h:
1972         * Platform/IPC/Decoder.h:
1973         * Platform/IPC/Encoder.h:
1974         Added isIPCDecoder/isIPCEncoder static members.
1975
1976 2016-08-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1977
1978         [GTK][Threaded Compositor] Several flaky tests due to differences in scrollbars
1979         https://bugs.webkit.org/show_bug.cgi?id=160450
1980
1981         Reviewed by Michael Catanzaro.
1982
1983         The issue is that ThreadedCompositor::didChangeVisibleRect() dispatches the setVisibleContentsRect() call that
1984         ends up in CompositingCoordinator. Since we're compositing the scrollbars as well, this visible contents rect
1985         needs to encompass the complete width of the view, but that's not happening.
1986         In case of non-overlay scrollbars, the scrollbars are clipped from this rect, but that doesn't prevent the
1987         scrollbar overlay layers to be flushed and rendered. What does happen is that during tile creation in the
1988         backing store the tiles that would normally intersect the visible rect of the view (if it were spanning over the
1989         whole actual visible area) are sorted by distance to the visible rect.
1990         The top of the two tiles used for the scrollbar is closer to the visible rect, so that gets created and filled
1991         in first. The second tile is stored as pending for creation, and does get rendered at the point of the next
1992         layer flush.
1993
1994         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
1995         (WebKit::ThreadedCoordinatedLayerTreeHost::setVisibleContentsRect): Update the visible rect taking into account
1996         the non-overlay scrollbars before passing it to the compositor.
1997
1998 2016-08-24  JF Bastien  <jfbastien@apple.com>
1999
2000         cmake build broken by MessageRecorder removal
2001         https://bugs.webkit.org/show_bug.cgi?id=161175
2002
2003         Reviewed by Dean Jackson.
2004
2005         * PlatformMac.cmake:
2006
2007 2016-08-24  Jonathan Bedard  <jbedard@apple.com>
2008
2009         FocusController multiple dereferenced NULL pointers
2010         https://bugs.webkit.org/show_bug.cgi?id=160808
2011
2012         Reviewed by Darin Adler.
2013
2014         * WebProcess/WebPage/WebPage.cpp:
2015         (WebKit::WebPage::setInitialFocus): Should use nullptr, not 0 to initialize NULL pointer.
2016
2017 2016-08-23  Anders Carlsson  <andersca@apple.com>
2018
2019         Add enum traits and use them in the IPC::Decoder
2020         https://bugs.webkit.org/show_bug.cgi?id=161103
2021
2022         Reviewed by Sam Weinig.
2023
2024         * Platform/IPC/Decoder.h:
2025         * Platform/IPC/Encoder.h:
2026         Add new encode/decode functions.
2027
2028         * Shared/mac/ArgumentCodersMac.mm:
2029         Change NSType to be a strongly typed enum. Use encode/decode
2030         instead of encodeEnum/decodeEnum since the latter don't have the
2031         enum check.
2032
2033 2016-08-24  Filip Pizlo  <fpizlo@apple.com>
2034
2035         Unreviewed, roll out r204901, r204897, r204866, r204856, r204854.
2036
2037         * UIProcess/ViewGestureController.cpp:
2038         * UIProcess/WebPageProxy.cpp:
2039         * UIProcess/WebProcessPool.cpp:
2040         * UIProcess/WebProcessProxy.cpp:
2041         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2042         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2043
2044 2016-08-24  Anders Carlsson  <andersca@apple.com>
2045
2046         In some cases, an IPC::Connection won't know when the other end has gone away
2047         https://bugs.webkit.org/show_bug.cgi?id=161153
2048         rdar://problem/27896368
2049
2050         Reviewed by Dan Bernstein.
2051
2052         When being asked to invalidate a connection that isn't yet connected, make sure to release
2053         our send and receive rights so that the other end will get a failure when trying to connect.
2054
2055         * Platform/IPC/mac/ConnectionMac.mm:
2056         (IPC::Connection::platformInvalidate):
2057
2058 2016-08-24  Dan Bernstein  <mitz@apple.com>
2059
2060         Add a convenience function for creating a WKFrameHandleRef from a WKFrameRef without going through WKFrameInfoRef
2061         https://bugs.webkit.org/show_bug.cgi?id=161152
2062
2063         Reviewed by Anders Carlsson.
2064
2065         * UIProcess/API/C/WKFrame.cpp:
2066         (WKFrameCreateFrameHandle): Added. Creates a handle with the frame’s frameID.
2067         * UIProcess/API/C/WKFrame.h:
2068
2069 2016-08-24  Dan Bernstein  <mitz@apple.com>
2070
2071         [Cocoa] Can’t "po" WKObject instances
2072         https://bugs.webkit.org/show_bug.cgi?id=161151
2073
2074         Reviewed by Anders Carlsson.
2075
2076         * Shared/Cocoa/WKObject.mm:
2077         (-[WKObject debugDescription]): Implement and forward to the target or print a generic
2078           description.
2079
2080 2016-08-24  Brady Eidson  <beidson@apple.com>
2081
2082         Get timestamps and ids working in WK2 gamepads (and test them!)
2083         https://bugs.webkit.org/show_bug.cgi?id=161112
2084
2085         Reviewed by Alex Christensen.
2086
2087         * Shared/Gamepad/GamepadData.cpp:
2088         (WebKit::GamepadData::GamepadData):
2089         (WebKit::GamepadData::encode):
2090         (WebKit::GamepadData::decode):
2091         * Shared/Gamepad/GamepadData.h:
2092         (WebKit::GamepadData::id):
2093         (WebKit::GamepadData::index): Deleted.
2094         
2095         * UIProcess/Gamepad/UIGamepad.cpp:
2096         (WebKit::UIGamepad::UIGamepad):
2097         (WebKit::UIGamepad::condensedGamepadData):
2098         (WebKit::UIGamepad::fullGamepadData): Include the ID for initial WebGamepad creation.
2099         (WebKit::UIGamepad::gamepadData): Deleted.
2100         * UIProcess/Gamepad/UIGamepad.h:
2101         
2102         * UIProcess/Gamepad/UIGamepadProvider.cpp:
2103         (WebKit::UIGamepadProvider::snapshotGamepads):
2104         
2105         * UIProcess/WebProcessPool.cpp:
2106         (WebKit::WebProcessPool::gamepadConnected):
2107         (WebKit::WebProcessPool::setInitialConnectedGamepads):
2108         
2109         * WebProcess/Gamepad/WebGamepad.cpp:
2110         (WebKit::WebGamepad::WebGamepad):
2111         (WebKit::WebGamepad::updateValues):
2112
2113 2016-08-24  Hunseop Jeong  <hs85.jeong@samsung.com>
2114
2115         [EFL] Fix test_ewk2_view
2116         https://bugs.webkit.org/show_bug.cgi?id=161131
2117
2118         Reviewed by Gyuyoung Kim.
2119
2120         ewk_view_title_changed: null is treated as the string "null" after r203487.
2121
2122         ewk_view_page_contents_get: aligned encoding labels after r204605.
2123
2124         * UIProcess/API/efl/tests/resources/resultMHTML.mht:
2125         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2126         (TEST_F):
2127
2128 2016-08-23  Simon Fraser  <simon.fraser@apple.com>
2129
2130         Add some logging for WKSelectionDrawingInfo
2131         https://bugs.webkit.org/show_bug.cgi?id=161055
2132
2133         Reviewed by Tim Horton.
2134
2135         Add a Selection logging channel for WK2, and dump WKSelectionDrawingInfo when it changes.
2136
2137         * Platform/Logging.h:
2138         * UIProcess/ios/WKContentViewInteraction.h:
2139         * UIProcess/ios/WKContentViewInteraction.mm:
2140         (WebKit::operator<<):
2141         (-[WKContentView _updateChangedSelection:]):
2142
2143 2016-08-23  Ryosuke Niwa  <rniwa@webkit.org>
2144
2145         Another CMake build fix attempt after r204852.
2146
2147         * CMakeLists.txt:
2148
2149 2016-08-22  Filip Pizlo  <fpizlo@apple.com>
2150
2151         Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
2152         https://bugs.webkit.org/show_bug.cgi?id=160125
2153
2154         Reviewed by Geoffrey Garen.
2155         
2156         Just rewiring some #includes.
2157
2158         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2159         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2160
2161 2016-08-23  Brady Eidson  <beidson@apple.com>
2162
2163         WK2 Gamepad layout test support.
2164         https://bugs.webkit.org/show_bug.cgi?id=134671
2165
2166         Reviewed by Alex Christensen.
2167         
2168         - Teach the UIGamepadProvider to use the default shared provider.
2169         - Especially if its the MockGamepadProvider, don't overwrite it.
2170
2171         * Shared/Gamepad/GamepadData.cpp:
2172         (WebKit::GamepadData::GamepadData):
2173         (WebKit::GamepadData::encode):
2174         (WebKit::GamepadData::decode):
2175         (WebKit::GamepadData::loggingString):
2176         (WebKit::GamepadData::isNull): Deleted.
2177         * Shared/Gamepad/GamepadData.h:
2178         (WebKit::GamepadData::GamepadData):
2179         (WebKit::GamepadData::isNull):
2180         (WebKit::GamepadData::index):
2181         (WebKit::GamepadData::axisValues):
2182         (WebKit::GamepadData::buttonValues):
2183
2184         * UIProcess/Gamepad/UIGamepad.h:
2185
2186         * UIProcess/Gamepad/UIGamepadProvider.cpp:
2187         (WebKit::UIGamepadProvider::UIGamepadProvider):
2188         (WebKit::UIGamepadProvider::~UIGamepadProvider):
2189         (WebKit::UIGamepadProvider::platformGamepadInputActivity):
2190         (WebKit::UIGamepadProvider::startMonitoringGamepads):
2191         (WebKit::UIGamepadProvider::stopMonitoringGamepads):
2192         (WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
2193         * UIProcess/Gamepad/UIGamepadProvider.h:
2194
2195         * UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp:
2196         (WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
2197         (WebKit::UIGamepadProvider::platformStopMonitoringInput):
2198         (WebKit::UIGamepadProvider::platformStartMonitoringInput):
2199         (WebKit::UIGamepadProvider::platformStartMonitoringGamepads): Deleted.
2200         (WebKit::UIGamepadProvider::platformStopMonitoringGamepads): Deleted.
2201         (WebKit::UIGamepadProvider::platformGamepads): Deleted.
2202
2203         * UIProcess/WebPageProxy.h:
2204
2205         * WebProcess/Gamepad/WebGamepad.cpp:
2206         (WebKit::WebGamepad::WebGamepad):
2207         (WebKit::WebGamepad::updateValues):
2208         * WebProcess/Gamepad/WebGamepad.h:
2209
2210         * WebProcess/Gamepad/WebGamepadProvider.cpp:
2211         (WebKit::WebGamepadProvider::gamepadConnected):
2212         * WebProcess/Gamepad/WebGamepadProvider.h:
2213
2214         * WebProcess/WebPage/WebPage.h:
2215         * WebProcess/WebProcess.h:
2216
2217 2016-08-23  Dave Hyatt  <hyatt@apple.com>
2218
2219         Add pref for enabling new CSS parsing and move parser files into subdirectory.
2220         https://bugs.webkit.org/show_bug.cgi?id=161095
2221
2222         Reviewed by Sam Weinig.
2223
2224         * Shared/WebPreferencesDefinitions.h:
2225         * UIProcess/API/C/WKPreferences.cpp:
2226         (WKPreferencesSetNewCSSParserEnabled):
2227         (WKPreferencesGetNewCSSParserEnabled):
2228         * UIProcess/API/C/WKPreferencesRefPrivate.h:
2229         * WebProcess/WebPage/WebPage.cpp:
2230         (WebKit::WebPage::updatePreferences):
2231
2232 2016-08-23  Chris Dumez  <cdumez@apple.com>
2233
2234         Unreviewed, rolling out r204243.
2235
2236         Caused some layout test failures
2237
2238         Reverted changeset:
2239
2240         "Write API test to cover crash fix in r204135"
2241         https://bugs.webkit.org/show_bug.cgi?id=160587
2242         http://trac.webkit.org/changeset/204243
2243
2244 2016-08-23  Hunseop Jeong  <hs85.jeong@samsung.com>
2245
2246         [EFL] URTBF after r204743.
2247
2248         * Shared/WebBatteryStatus.cpp: Remove Arguments.h.
2249
2250 2016-08-22  Yusuke Suzuki  <utatane.tea@gmail.com>
2251
2252         Use Messages::XXX...::Reply explicitly
2253         https://bugs.webkit.org/show_bug.cgi?id=161075
2254
2255         Reviewed by Carlos Garcia Campos.
2256
2257         std::tuple's constructor is annotated as `explicit`.
2258         So we cannot use the implicit conversion here.
2259         This causes the build failure in EFL and GTK.
2260
2261         Looking through code, the other places use ::Reply explicitly.
2262         So in this patch, we follow that.
2263
2264         * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
2265         (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
2266         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
2267         (WebKit::InjectedBundlePageFullScreenClient::supportsFullScreen):
2268
2269 2016-08-22  Anders Carlsson  <andersca@apple.com>
2270
2271         Remove Arguments.h
2272         https://bugs.webkit.org/show_bug.cgi?id=161060
2273
2274         Reviewed by Tim Horton.
2275
2276         * Platform/IPC/Arguments.h: Removed.
2277         (IPC::Arguments::Arguments): Deleted.
2278         (IPC::Arguments::encode): Deleted.
2279         (IPC::Arguments::decode): Deleted.
2280         * Platform/IPC/Connection.h:
2281         * Platform/IPC/HandleMessage.h:
2282         * Shared/AssistedNodeInformation.cpp:
2283         * Shared/Cocoa/DataDetectionResult.mm:
2284         * Shared/EditorState.cpp:
2285         * Shared/WebContextMenuItemData.cpp:
2286         * Shared/WebMouseEvent.cpp:
2287         * Shared/WebPlatformTouchPoint.cpp:
2288         * Shared/WebPopupItem.cpp:
2289         * Shared/WebTouchEvent.cpp:
2290         * Shared/WebWheelEvent.cpp:
2291         * Shared/ios/InteractionInformationAtPosition.mm:
2292         * Shared/ios/WebPlatformTouchPointIOS.cpp:
2293         * Shared/ios/WebTouchEventIOS.cpp:
2294         * Shared/mac/WebGestureEvent.cpp:
2295         * WebKit2.xcodeproj/project.pbxproj:
2296         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2297         * WebProcess/WebPage/WebPage.cpp:
2298
2299 2016-08-22  Anders Carlsson  <andersca@apple.com>
2300
2301         Move tuple coding to ArgumentCoders.h
2302         https://bugs.webkit.org/show_bug.cgi?id=161059
2303
2304         Reviewed by Tim Horton.
2305
2306         * Platform/IPC/ArgumentCoders.h:
2307         (IPC::TupleCoder::encode):
2308         (IPC::TupleCoder::decode):
2309         * Platform/IPC/Arguments.h:
2310         (IPC::TupleCoder::encode): Deleted.
2311         (IPC::TupleCoder::decode): Deleted.
2312         * Scripts/webkit/messages.py:
2313         (forward_declarations_and_headers):
2314
2315 2016-08-22  Anders Carlsson  <andersca@apple.com>
2316
2317         Simplify the generated message structs
2318         https://bugs.webkit.org/show_bug.cgi?id=161057
2319
2320         Reviewed by Geoffrey Garen.
2321
2322         Use a class template to transform the Reply and Argument tuple types for encoding/decoding
2323         instead of generating them for each message.
2324
2325         * Platform/IPC/HandleMessage.h:
2326         (IPC::handleMessage):
2327         (IPC::handleMessageDelayed):
2328         * Scripts/webkit/messages.py:
2329         (reply_type):
2330         (message_to_struct_declaration):
2331         (decode_type): Deleted.
2332
2333 2016-08-19  Anders Carlsson  <andersca@apple.com>
2334
2335         Remove MessageRecorder
2336         https://bugs.webkit.org/show_bug.cgi?id=161022
2337
2338         Reviewed by Tim Horton.
2339
2340         * Platform/IPC/ArgumentCoders.cpp:
2341         (IPC::ArgumentCoder<uuid_t>::encode): Deleted.
2342         (IPC::ArgumentCoder<uuid_t>::decode): Deleted.
2343         * Platform/IPC/ArgumentCoders.h:
2344         * Platform/IPC/Connection.cpp:
2345         (IPC::Connection::sendMessage):
2346         (IPC::Connection::sendSyncMessage):
2347         (IPC::Connection::sendSyncMessageFromSecondaryThread):
2348         (IPC::Connection::dispatchSyncMessage): Deleted.
2349         (IPC::Connection::dispatchMessage): Deleted.
2350         * Platform/IPC/Connection.h:
2351         * Platform/IPC/Encoder.cpp:
2352         (IPC::Encoder::encodeHeader): Deleted.
2353         * Platform/IPC/MessageRecorder.cpp: Removed.
2354         (IPC::MessageRecorder::isEnabled): Deleted.
2355         (IPC::MessageRecorder::recordOutgoingMessage): Deleted.
2356         (IPC::MessageRecorder::recordIncomingMessage): Deleted.
2357         (IPC::MessageRecorder::MessageProcessingToken::MessageProcessingToken): Deleted.
2358         (IPC::MessageRecorder::MessageProcessingToken::~MessageProcessingToken): Deleted.
2359         * Platform/IPC/MessageRecorder.h: Removed.
2360         (IPC::MessageRecorder::MessageRecorder): Deleted.
2361         * Platform/IPC/MessageRecorderProbes.d: Removed.
2362         * WebKit2.xcodeproj/project.pbxproj:
2363
2364 2016-08-22  Alex Christensen  <achristensen@webkit.org>
2365
2366         Fix Mac CMake build after r204717.
2367
2368         * PlatformMac.cmake:
2369
2370 2016-08-22  Simon Fraser  <simon.fraser@apple.com>
2371
2372         <select> menu on iPad causes shifting of hit-testing areas
2373         https://bugs.webkit.org/show_bug.cgi?id=150079
2374
2375         Reviewed by Tim Horton.
2376
2377         -isAssistingNode (aka the poorly named isEditable) is input into WebPageProxy::computeCustomFixedPositionRect(),
2378         so when it changes we have to update visible rects. We were doing this on focus, but failing
2379         to do it on blur.
2380
2381         Added the ability to test by:
2382         1. Making it possible to initiate an animated scroll in the UI process
2383         2. Adding callbacks for starting and ending interaction with a form control. Sadly
2384         the "ending interaction" for <select> popovers on iPad isn't late enough, since we
2385         have no way currently to know when the dimming view behind the popover animates out,
2386         so for now the test keeps trying to tap a button.
2387
2388         Test: fast/forms/ios/ipad/unfocus-inside-fixed-hittest.html
2389
2390         * UIProcess/API/Cocoa/WKWebView.mm:
2391         (-[WKWebView _zoomToPoint:atScale:animated:]):
2392         (-[WKWebView _scrollToRect:origin:minimumScrollDistance:]):
2393         (-[WKWebView _scrollByContentOffset:]):
2394         (-[WKWebView _zoomToFocusRect:selectionRect:fontSize:minimumScale:maximumScale:allowScaling:forceScroll:]):
2395         (-[WKWebView didStartFormControlInteraction]):
2396         (-[WKWebView didEndFormControlInteraction]):
2397         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2398         * UIProcess/ios/WKContentView.mm:
2399         (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]):
2400         * UIProcess/ios/WKContentViewInteraction.mm:
2401         (-[WKContentView setIsEditable:]):
2402         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
2403         (-[WKContentView _stopAssistingNode]):
2404
2405 2016-08-22  Daniel Bates  <dabates@apple.com>
2406
2407         [iOS] <a ping> and <area ping> tests time out
2408         https://bugs.webkit.org/show_bug.cgi?id=156857
2409
2410         Reviewed by Simon Fraser.
2411
2412         Support single tapping on an HTML area element in WebKit2 just as we do in Legacy WebKit.
2413
2414         WebKit2 commits to clicking a "clickable" DOM node on a single tap only if it has a
2415         renderer. An HTML area element represents a hyperlink in an image map and does not have
2416         a renderer.
2417
2418         * WebProcess/WebPage/ios/WebPageIOS.mm:
2419         (WebKit::WebPage::sendTapHighlightForNodeIfNecessary): Compute the tap highlight with respect
2420         to the renderer for the image map associated with the tapped HTML area element (if it has one).
2421         (WebKit::WebPage::commitPotentialTap): Allow committing a potential tap on an HTML area element.
2422
2423 2016-08-22  Darin Adler  <darin@apple.com>
2424
2425         Move Objective-C DOM bindings from WebCore to legacy WebKit
2426         https://bugs.webkit.org/show_bug.cgi?id=160654
2427
2428         Reviewed by Alex Christensen.
2429
2430         * WebProcess/WebCoreSupport/WebEditorClient.h: Updated to use RefPtr.
2431         * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
2432         (WebKit::WebEditorClient::documentFragmentFromDelegate): Ditto.
2433
2434         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Removed unneeded includes
2435         of Objective-C DOM headers that are now part of legacy WebKit, not WebCore.
2436         But this file doesn't need to depend on those headers at all.
2437
2438 2016-08-22  Chris Dumez  <cdumez@apple.com>
2439
2440         [iOS] Wait a few seconds before release network activity assertion after a load
2441         https://bugs.webkit.org/show_bug.cgi?id=160975
2442         <rdar://problem/27910964>
2443
2444         Reviewed by Darin Adler.
2445
2446         Some apps do several loads one after the other in a non-visible view.
2447         This causes us to release the background assertion every time a load
2448         completes and then take one again less than a second after. Every
2449         time we release the assertion, we send a PrepareToSuspend IPC to the
2450         WebContent process, which does all the clean up to get ready to
2451         suspend, only to get a CancelPrepareReadyToSuspend later on because
2452         the next load has started. To work around this problem, we now wait
2453         a few seconds before releasing the background activity after a load.
2454
2455         * UIProcess/Cocoa/NavigationState.h:
2456         * UIProcess/Cocoa/NavigationState.mm:
2457         (WebKit::NavigationState::NavigationState):
2458         (WebKit::NavigationState::releaseNetworkActivityToken):
2459         (WebKit::NavigationState::didChangeIsLoading):
2460
2461 2016-08-22  Youenn Fablet  <youenn@apple.com>
2462
2463         [Fetch API] Activate fetch api runtime flag by default
2464         https://bugs.webkit.org/show_bug.cgi?id=160452
2465
2466         Reviewed by Alex Christensen.
2467
2468         * Shared/WebPreferencesDefinitions.h:
2469
2470 2016-08-22  Gyuyoung Kim  <gyuyoung.kim@navercorp.com>
2471
2472         [SOUP] Change MessageDecoder with Decoder
2473         https://bugs.webkit.org/show_bug.cgi?id=161040
2474
2475         Reviewed by Darin Adler.
2476
2477         Clean up MessageDecoder in files of Soup.
2478
2479         * Scripts/webkit/MessageReceiverSuperclass-expected.cpp:
2480         (WebKit::WebPage::didReceiveMessage):
2481         * UIProcess/soup/WebSoupRequestManagerProxy.h:
2482         * WebProcess/soup/WebSoupRequestManager.h:
2483
2484 2016-08-21  Alex Christensen  <achristensen@webkit.org>
2485
2486         Use Document& instead of Document* when getting cookies
2487         https://bugs.webkit.org/show_bug.cgi?id=161011
2488
2489         Reviewed by Darin Adler.
2490
2491         * WebProcess/Automation/WebAutomationSessionProxy.cpp:
2492         (WebKit::WebAutomationSessionProxy::getCookiesForFrame):
2493         (WebKit::WebAutomationSessionProxy::deleteCookie):
2494         * WebProcess/Plugins/PluginView.cpp:
2495         (WebKit::PluginView::cookiesForURL):
2496         (WebKit::PluginView::setCookiesForURL):
2497         (WebKit::PluginView::getAuthenticationInfo):
2498
2499 2016-08-20  Gyuyoung Kim  <gyuyoung.kim@navercorp.com>
2500
2501         Unreviewed EFL build fix since r204668
2502
2503         r204668 changed MessageDecoder with Decoder though, MessageDecoder remained
2504         in EFL specific files.
2505
2506         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
2507         * UIProcess/WebVibrationProxy.h:
2508         * WebProcess/Battery/WebBatteryManager.h:
2509         * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
2510         (WebKit::AcceleratedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):
2511         * WebProcess/WebPage/AcceleratedDrawingArea.h:
2512         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2513         * WebProcess/WebPage/LayerTreeHost.h:
2514
2515 2016-08-20  Dan Bernstein  <mitz@apple.com>
2516
2517         [Mac] Web Content service with a restricted entitlement may load arbitrary dylibs
2518         https://bugs.webkit.org/show_bug.cgi?id=156668
2519         <rdar://problem/25429784>
2520
2521         Reviewed by Sam Weinig.
2522
2523         * Configurations/WebContentService.xcconfig: Enable library validation when the Web Content
2524           service is given the XPC domain extension entitlement.
2525
2526 2016-08-20  Javier Fernandez  <jfernandez@igalia.com>
2527
2528         [GTK] Unreviewed GTK build fix since r204665 and 204668
2529         https://bugs.webkit.org/show_bug.cgi?id=161020
2530
2531         * CMakeLists.txt:
2532         * Platform/IPC/MessageRecorder.cpp:
2533         (IPC::MessageRecorder::recordOutgoingMessage):
2534         * Platform/IPC/unix/ConnectionUnix.cpp:
2535         (IPC::Connection::processMessage):
2536         (IPC::Connection::sendOutgoingMessage):
2537         * Platform/unix/SharedMemoryUnix.cpp:
2538         (WebKit::SharedMemory::Handle::encode):
2539         (WebKit::SharedMemory::Handle::decode):
2540         * PlatformGTK.cmake:
2541         * Scripts/webkit/LegacyMessageReceiver-expected.cpp:
2542         (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
2543         (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
2544         (WebKit::WebPage::didReceiveWebPageMessage):
2545         (WebKit::WebPage::didReceiveSyncWebPageMessage):
2546         * Scripts/webkit/LegacyMessages-expected.h:
2547         * Scripts/webkit/MessageReceiver-expected.cpp:
2548         (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply):
2549         (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply):
2550         (WebKit::WebPage::didReceiveMessage):
2551         (WebKit::WebPage::didReceiveSyncMessage):
2552         * Scripts/webkit/Messages-expected.h:
2553         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2554         (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
2555         (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
2556         (IPC::ArgumentCoder<TransformOperations>::encode):
2557         (IPC::ArgumentCoder<TransformOperations>::decode):
2558         (IPC::encodeTimingFunction):
2559         (IPC::decodeTimingFunction):
2560         (IPC::ArgumentCoder<TextureMapperAnimation>::encode):
2561         (IPC::ArgumentCoder<TextureMapperAnimation>::decode):
2562         (IPC::ArgumentCoder<TextureMapperAnimations>::encode):
2563         (IPC::ArgumentCoder<TextureMapperAnimations>::decode):
2564         (IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::encode):
2565         (IPC::ArgumentCoder<WebCore::GraphicsSurfaceToken>::decode):
2566         (IPC::ArgumentCoder<SurfaceUpdateInfo>::encode):
2567         (IPC::ArgumentCoder<SurfaceUpdateInfo>::decode):
2568         (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
2569         (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
2570         (IPC::ArgumentCoder<TileUpdateInfo>::encode):
2571         (IPC::ArgumentCoder<TileUpdateInfo>::decode):
2572         (IPC::ArgumentCoder<TileCreationInfo>::encode):
2573         (IPC::ArgumentCoder<TileCreationInfo>::decode):
2574         (IPC::encodeCoordinatedSurface):
2575         (IPC::decodeCoordinatedSurface):
2576         (IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
2577         (IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
2578         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
2579         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
2580         (WebKit::WebCoordinatedSurface::Handle::encode):
2581         (WebKit::WebCoordinatedSurface::Handle::decode):
2582         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
2583         * Shared/WebBatteryStatus.cpp:
2584         (WebKit::WebBatteryStatus::Data::encode):
2585         (WebKit::WebBatteryStatus::Data::decode):
2586         * Shared/WebBatteryStatus.h:
2587         * Shared/gtk/ArgumentCodersGtk.cpp:
2588         (IPC::encodeImage):
2589         (IPC::decodeImage):
2590         (IPC::encodeDataObject):
2591         (IPC::decodeDataObject):
2592         (IPC::ArgumentCoder<DragData>::encode):
2593         (IPC::ArgumentCoder<DragData>::decode):
2594         (IPC::encodeGKeyFile):
2595         (IPC::decodeGKeyFile):
2596         (IPC::encode):
2597         (IPC::decode):
2598         * Shared/gtk/ArgumentCodersGtk.h:
2599         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
2600         (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
2601         (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
2602         (IPC::ArgumentCoder<CertificateInfo>::encode):
2603         (IPC::ArgumentCoder<CertificateInfo>::decode):
2604         (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
2605         (IPC::ArgumentCoder<ResourceError>::decodePlatformData):
2606         (IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
2607         (IPC::ArgumentCoder<ProtectionSpace>::decodePlatformData):
2608         (IPC::ArgumentCoder<Credential>::encodePlatformData):
2609         (IPC::ArgumentCoder<Credential>::decodePlatformData):
2610         * UIProcess/LegacySessionStateCodingNone.cpp:
2611         (WebKit::encodeLegacySessionState):
2612         (WebKit::decodeLegacySessionState):
2613         * UIProcess/WebBatteryManagerProxy.h:
2614
2615 2016-08-20  Yusuke Suzuki  <utatane.tea@gmail.com>
2616
2617         Unreviewed, build fix attempt after r204665 and r204668.
2618
2619         * PlatformGTK.cmake:
2620
2621 2016-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2622
2623         Another build fix attempt after r204665 and r204668.
2624
2625         * CMakeLists.txt:
2626
2627 2016-08-19  Ryosuke Niwa  <rniwa@webkit.org>
2628
2629         GTK+ / EFL build fix attempt after r204665.
2630
2631         * CMakeLists.txt:
2632
2633 2016-08-19  Anders Carlsson  <andersca@apple.com>
2634
2635         Merge MessageDecoder and ArgumentDecoder into Decoder
2636         https://bugs.webkit.org/show_bug.cgi?id=161019
2637
2638         Reviewed by Tim Horton.
2639
2640         * DatabaseProcess/DatabaseProcess.cpp:
2641         * DatabaseProcess/DatabaseProcess.h:
2642         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
2643         * DatabaseProcess/DatabaseToWebProcessConnection.h:
2644         * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h:
2645         * NetworkProcess/CustomProtocols/CustomProtocolManager.h:
2646         * NetworkProcess/Downloads/DownloadID.h:
2647         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2648         * NetworkProcess/NetworkConnectionToWebProcess.h:
2649         * NetworkProcess/NetworkProcess.cpp:
2650         * NetworkProcess/NetworkProcess.h:
2651         * NetworkProcess/NetworkProcessCreationParameters.cpp:
2652         * NetworkProcess/NetworkProcessCreationParameters.h:
2653         * NetworkProcess/NetworkResourceLoadParameters.cpp:
2654         * NetworkProcess/NetworkResourceLoadParameters.h:
2655         * NetworkProcess/NetworkResourceLoader.h:
2656         * Platform/IPC/ArgumentCoder.h:
2657         * Platform/IPC/ArgumentCoders.cpp:
2658         * Platform/IPC/ArgumentCoders.h:
2659         * Platform/IPC/ArgumentDecoder.cpp:
2660         * Platform/IPC/ArgumentDecoder.h:
2661         * Platform/IPC/Arguments.h:
2662         * Platform/IPC/Attachment.cpp:
2663         * Platform/IPC/Attachment.h:
2664         * Platform/IPC/Connection.cpp:
2665         * Platform/IPC/Connection.h:
2666         * Platform/IPC/DataReference.cpp:
2667         * Platform/IPC/DataReference.h:
2668         * Platform/IPC/Decoder.cpp: Renamed from Source/WebKit2/Platform/IPC/ArgumentDecoder.cpp.
2669         * Platform/IPC/Decoder.h: Renamed from Source/WebKit2/Platform/IPC/ArgumentDecoder.h.
2670         * Platform/IPC/HandleMessage.h:
2671         * Platform/IPC/MessageDecoder.cpp: Removed.
2672         * Platform/IPC/MessageDecoder.h: Removed.
2673         * Platform/IPC/MessageReceiver.h:
2674         * Platform/IPC/MessageReceiverMap.cpp:
2675         * Platform/IPC/MessageReceiverMap.h:
2676         * Platform/IPC/MessageRecorder.cpp:
2677         * Platform/IPC/MessageRecorder.h:
2678         * Platform/IPC/StringReference.cpp:
2679         * Platform/IPC/StringReference.h:
2680         * Platform/IPC/mac/ConnectionMac.mm:
2681         * Platform/IPC/mac/MachPort.h:
2682         * Platform/SharedMemory.h:
2683         * Platform/mac/SharedMemoryMac.cpp:
2684         * PluginProcess/PluginControllerProxy.h:
2685         * PluginProcess/PluginCreationParameters.cpp:
2686         * PluginProcess/PluginCreationParameters.h:
2687         * PluginProcess/PluginProcess.cpp:
2688         * PluginProcess/PluginProcess.h:
2689         * PluginProcess/WebProcessConnection.cpp:
2690         * PluginProcess/WebProcessConnection.h:
2691         * Scripts/webkit/messages.py:
2692         * Shared/API/APIData.cpp:
2693         * Shared/API/APIData.h:
2694         * Shared/API/APIError.cpp:
2695         * Shared/API/APIError.h:
2696         * Shared/API/APIFrameHandle.cpp:
2697         * Shared/API/APIFrameHandle.h:
2698         * Shared/API/APIGeometry.cpp:
2699         * Shared/API/APIGeometry.h:
2700         * Shared/API/APINumber.h:
2701         * Shared/API/APIPageGroupHandle.cpp:
2702         * Shared/API/APIPageGroupHandle.h:
2703         * Shared/API/APIPageHandle.cpp:
2704         * Shared/API/APIPageHandle.h:
2705         * Shared/API/APIURL.h:
2706         * Shared/API/APIURLRequest.cpp:
2707         * Shared/API/APIURLRequest.h:
2708         * Shared/API/APIURLResponse.cpp:
2709         * Shared/API/APIURLResponse.h:
2710         * Shared/API/Cocoa/RemoteObjectInvocation.h:
2711         * Shared/API/Cocoa/RemoteObjectInvocation.mm:
2712         * Shared/API/Cocoa/RemoteObjectRegistry.h:
2713         * Shared/AssistedNodeInformation.cpp:
2714         * Shared/AssistedNodeInformation.h:
2715         * Shared/Authentication/AuthenticationManager.h:
2716         * Shared/ChildProcess.h:
2717         * Shared/Cocoa/DataDetectionResult.h:
2718         * Shared/Cocoa/DataDetectionResult.mm:
2719         * Shared/Cocoa/LoadParametersCocoa.mm:
2720         * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
2721         * Shared/ContextMenuContextData.cpp:
2722         * Shared/ContextMenuContextData.h:
2723         * Shared/Databases/DatabaseProcessCreationParameters.cpp:
2724         * Shared/Databases/DatabaseProcessCreationParameters.h:
2725         * Shared/Databases/IndexedDB/WebIDBResult.cpp:
2726         * Shared/Databases/IndexedDB/WebIDBResult.h:
2727         * Shared/EditorState.cpp:
2728         * Shared/EditorState.h:
2729         * Shared/FontInfo.cpp:
2730         * Shared/FontInfo.h:
2731         * Shared/Gamepad/GamepadData.cpp:
2732         * Shared/Gamepad/GamepadData.h:
2733         * Shared/LayerTreeContext.cpp:
2734         * Shared/LayerTreeContext.h:
2735         * Shared/LoadParameters.cpp:
2736         * Shared/LoadParameters.h:
2737         * Shared/NavigationActionData.cpp:
2738         * Shared/NavigationActionData.h:
2739         * Shared/PlatformPopupMenuData.cpp:
2740         * Shared/PlatformPopupMenuData.h:
2741         * Shared/Plugins/NPIdentifierData.cpp:
2742         * Shared/Plugins/NPIdentifierData.h:
2743         * Shared/Plugins/NPObjectMessageReceiver.h:
2744         * Shared/Plugins/NPRemoteObjectMap.cpp:
2745         * Shared/Plugins/NPRemoteObjectMap.h:
2746         * Shared/Plugins/NPVariantData.cpp:
2747         * Shared/Plugins/NPVariantData.h:
2748         * Shared/Plugins/PluginProcessCreationParameters.cpp:
2749         * Shared/Plugins/PluginProcessCreationParameters.h:
2750         * Shared/PrintInfo.cpp:
2751         * Shared/PrintInfo.h:
2752         * Shared/SandboxExtension.h:
2753         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
2754         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
2755         * Shared/SessionState.cpp:
2756         * Shared/SessionState.h:
2757         * Shared/ShareableBitmap.cpp:
2758         * Shared/ShareableBitmap.h:
2759         * Shared/ShareableResource.cpp:
2760         * Shared/ShareableResource.h:
2761         * Shared/StatisticsData.cpp:
2762         * Shared/StatisticsData.h:
2763         * Shared/UpdateInfo.cpp:
2764         * Shared/UpdateInfo.h:
2765         * Shared/UserData.cpp:
2766         * Shared/UserData.h:
2767         * Shared/VisibleContentRectUpdateInfo.cpp:
2768         * Shared/VisibleContentRectUpdateInfo.h:
2769         * Shared/WebBackForwardListItem.h:
2770         * Shared/WebCompiledContentExtensionData.cpp:
2771         * Shared/WebCompiledContentExtensionData.h:
2772         * Shared/WebConnection.h:
2773         * Shared/WebContextMenuItemData.cpp:
2774         * Shared/WebContextMenuItemData.h:
2775         * Shared/WebCoreArgumentCoders.cpp:
2776         * Shared/WebCoreArgumentCoders.h:
2777         * Shared/WebEvent.cpp:
2778         * Shared/WebEvent.h:
2779         * Shared/WebGeolocationPosition.cpp:
2780         * Shared/WebGeolocationPosition.h:
2781         * Shared/WebHitTestResultData.cpp:
2782         * Shared/WebHitTestResultData.h:
2783         * Shared/WebKeyboardEvent.cpp:
2784         * Shared/WebMouseEvent.cpp:
2785         * Shared/WebNavigationDataStore.h:
2786         * Shared/WebPageCreationParameters.cpp:
2787         * Shared/WebPageCreationParameters.h:
2788         * Shared/WebPageGroupData.cpp:
2789         * Shared/WebPageGroupData.h:
2790         * Shared/WebPlatformTouchPoint.cpp:
2791         * Shared/WebPopupItem.cpp:
2792         * Shared/WebPopupItem.h:
2793         * Shared/WebPreferencesStore.cpp:
2794         * Shared/WebPreferencesStore.h:
2795         * Shared/WebProcessCreationParameters.cpp:
2796         * Shared/WebProcessCreationParameters.h:
2797         * Shared/WebTouchEvent.cpp:
2798         * Shared/WebUserContentControllerDataTypes.cpp:
2799         * Shared/WebUserContentControllerDataTypes.h:
2800         * Shared/WebWheelEvent.cpp:
2801         * Shared/WebsiteData/WebsiteData.cpp:
2802         * Shared/WebsiteData/WebsiteData.h:
2803         * Shared/cf/ArgumentCodersCF.cpp:
2804         * Shared/cf/ArgumentCodersCF.h:
2805         * Shared/ios/InteractionInformationAtPosition.h:
2806         * Shared/ios/InteractionInformationAtPosition.mm:
2807         * Shared/ios/QuickLookDocumentData.cpp:
2808         * Shared/ios/QuickLookDocumentData.h:
2809         * Shared/ios/WebPlatformTouchPointIOS.cpp:
2810         * Shared/ios/WebTouchEventIOS.cpp:
2811         * Shared/mac/ArgumentCodersMac.h:
2812         * Shared/mac/ArgumentCodersMac.mm:
2813         * Shared/mac/AttributedString.h:
2814         * Shared/mac/AttributedString.mm:
2815         * Shared/mac/ColorSpaceData.h:
2816         * Shared/mac/ColorSpaceData.mm:
2817         * Shared/mac/ObjCObjectGraph.h:
2818         * Shared/mac/ObjCObjectGraph.mm:
2819         * Shared/mac/RemoteLayerBackingStore.h:
2820         * Shared/mac/RemoteLayerBackingStore.mm:
2821         * Shared/mac/RemoteLayerTreeTransaction.h:
2822         * Shared/mac/RemoteLayerTreeTransaction.mm:
2823         * Shared/mac/SandboxExtensionMac.mm:
2824         * Shared/mac/SecItemRequestData.cpp:
2825         * Shared/mac/SecItemRequestData.h:
2826         * Shared/mac/SecItemResponseData.cpp:
2827         * Shared/mac/SecItemResponseData.h:
2828         * Shared/mac/SecItemShim.h:
2829         * Shared/mac/WebCoreArgumentCodersMac.mm:
2830         * Shared/mac/WebGestureEvent.cpp:
2831         * Shared/mac/WebGestureEvent.h:
2832         * Shared/mac/WebHitTestResultData.mm:
2833         * UIProcess/API/APIHitTestResult.h:
2834         * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
2835         * UIProcess/Automation/WebAutomationSession.h:
2836         * UIProcess/ChildProcessProxy.cpp:
2837         * UIProcess/ChildProcessProxy.h:
2838         * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
2839         * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
2840         * UIProcess/Databases/DatabaseProcessProxy.cpp:
2841         * UIProcess/Databases/DatabaseProcessProxy.h:
2842         * UIProcess/Downloads/DownloadProxy.h:
2843         * UIProcess/DrawingAreaProxy.h:
2844         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2845         * UIProcess/Network/NetworkProcessProxy.cpp:
2846         * UIProcess/Network/NetworkProcessProxy.h:
2847         * UIProcess/Plugins/PluginProcessProxy.h:
2848         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
2849         * UIProcess/Storage/StorageManager.h:
2850         * UIProcess/UserContent/WebUserContentControllerProxy.h:
2851         * UIProcess/VisitedLinkStore.h:
2852         * UIProcess/WebCookieManagerProxy.h:
2853         * UIProcess/WebFrameProxy.h:
2854         * UIProcess/WebFullScreenManagerProxy.h:
2855         * UIProcess/WebGeolocationManagerProxy.h:
2856         * UIProcess/WebIconDatabase.h:
2857         * UIProcess/WebInspectorProxy.h:
2858         * UIProcess/WebPageProxy.h:
2859         * UIProcess/WebPasteboardProxy.h:
2860         * UIProcess/WebProcessPool.cpp:
2861         * UIProcess/WebProcessPool.h:
2862         * UIProcess/WebProcessProxy.cpp:
2863         * UIProcess/WebProcessProxy.h:
2864         * UIProcess/WebResourceLoadStatisticsStore.h:
2865         * UIProcess/ios/SmartMagnificationController.h:
2866         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
2867         * UIProcess/mac/SecItemShimProxy.h:
2868         * UIProcess/mac/ViewGestureController.h:
2869         * WebKit2.xcodeproj/project.pbxproj:
2870         * WebProcess/ApplePay/WebPaymentCoordinator.h:
2871         * WebProcess/Automation/WebAutomationSessionProxy.h:
2872         * WebProcess/Cookies/WebCookieManager.h:
2873         * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:
2874         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
2875         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
2876         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2877         * WebProcess/FullScreen/WebFullScreenManager.h:
2878         * WebProcess/Geolocation/WebGeolocationManager.h:
2879         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
2880         * WebProcess/InjectedBundle/InjectedBundle.h:
2881         * WebProcess/Network/NetworkProcessConnection.cpp:
2882         * WebProcess/Network/NetworkProcessConnection.h:
2883         * WebProcess/Network/WebResourceLoader.h:
2884         * WebProcess/Notifications/WebNotificationManager.h:
2885         * WebProcess/Plugins/Plugin.cpp:
2886         * WebProcess/Plugins/Plugin.h:
2887         * WebProcess/Plugins/PluginProcessConnection.cpp:
2888         * WebProcess/Plugins/PluginProcessConnection.h:
2889         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2890         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2891         * WebProcess/Plugins/PluginProxy.h:
2892         * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
2893         * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
2894         * WebProcess/Storage/StorageAreaMap.h:
2895         * WebProcess/UserContent/WebUserContentController.h:
2896         * WebProcess/WebPage/DrawingArea.h:
2897         * WebProcess/WebPage/EventDispatcher.h:
2898         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
2899         * WebProcess/WebPage/ViewUpdateDispatcher.h:
2900         * WebProcess/WebPage/VisitedLinkTableController.h:
2901         * WebProcess/WebPage/WebInspector.h:
2902         * WebProcess/WebPage/WebInspectorUI.h:
2903         * WebProcess/WebPage/WebPage.cpp:
2904         * WebProcess/WebPage/WebPage.h:
2905         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
2906         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
2907         * WebProcess/WebProcess.cpp:
2908         * WebProcess/WebProcess.h:
2909         * WebProcess/cocoa/WebPlaybackSessionManager.h:
2910         * WebProcess/cocoa/WebVideoFullscreenManager.h:
2911
2912 2016-08-19  Anders Carlsson  <andersca@apple.com>
2913
2914         Update Xcode project.
2915
2916         * WebKit2.xcodeproj/project.pbxproj:
2917
2918 2016-08-19  Anders Carlsson  <andersca@apple.com>
2919
2920         Merge MessageEncoder and ArgumentEncoder into Encoder
2921         https://bugs.webkit.org/show_bug.cgi?id=161016
2922
2923         Reviewed by Tim Horton.
2924
2925         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
2926         (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage):
2927         * DatabaseProcess/DatabaseToWebProcessConnection.h:
2928         * NetworkProcess/Downloads/DownloadID.h:
2929         (IPC::ArgumentCoder<WebKit::DownloadID>::encode):
2930         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2931         (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
2932         * NetworkProcess/NetworkConnectionToWebProcess.h:
2933         * NetworkProcess/NetworkProcess.cpp:
2934         (WebKit::NetworkProcess::didReceiveSyncMessage):
2935         * NetworkProcess/NetworkProcess.h:
2936         * NetworkProcess/NetworkProcessCreationParameters.cpp:
2937         (WebKit::NetworkProcessCreationParameters::encode):
2938         * NetworkProcess/NetworkProcessCreationParameters.h:
2939         * NetworkProcess/NetworkResourceLoadParameters.cpp:
2940         (WebKit::NetworkResourceLoadParameters::encode):
2941         * NetworkProcess/NetworkResourceLoadParameters.h:
2942         * Platform/IPC/ArgumentCoder.h:
2943         (IPC::ArgumentCoder::encode):
2944         * Platform/IPC/ArgumentCoders.cpp:
2945         (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::encode):
2946         (IPC::ArgumentCoder<AtomicString>::encode):
2947         (IPC::ArgumentCoder<CString>::encode):
2948         (IPC::ArgumentCoder<String>::encode):
2949         (IPC::ArgumentCoder<uuid_t>::encode):
2950         * Platform/IPC/ArgumentCoders.h:
2951         (IPC::SimpleArgumentCoder::encode):
2952         (IPC::ArgumentCoder<OptionSet<T>>::encode):
2953         (IPC::ArgumentCoder<WTF::Optional<T>>::encode):
2954         * Platform/IPC/ArgumentEncoder.cpp:
2955         (IPC::allocBuffer): Deleted.
2956         (IPC::freeBuffer): Deleted.
2957         (IPC::ArgumentEncoder::ArgumentEncoder): Deleted.
2958         (IPC::ArgumentEncoder::~ArgumentEncoder): Deleted.
2959         (IPC::roundUpToAlignment): Deleted.
2960         (IPC::ArgumentEncoder::reserve): Deleted.
2961         (IPC::ArgumentEncoder::grow): Deleted.
2962         (IPC::ArgumentEncoder::encodeFixedLengthData): Deleted.
2963         (IPC::ArgumentEncoder::encodeVariableLengthByteArray): Deleted.
2964         (IPC::copyValueToBuffer): Deleted.
2965         (IPC::ArgumentEncoder::encode): Deleted.
2966         (IPC::ArgumentEncoder::addAttachment): Deleted.
2967         (IPC::ArgumentEncoder::releaseAttachments): Deleted.
2968         * Platform/IPC/ArgumentEncoder.h:
2969         (IPC::ArgumentEncoder::encodeEnum): Deleted.
2970         (IPC::ArgumentEncoder::encode): Deleted.
2971         (IPC::ArgumentEncoder::operator<<): Deleted.
2972         (IPC::ArgumentEncoder::buffer): Deleted.
2973         (IPC::ArgumentEncoder::bufferSize): Deleted.
2974         * Platform/IPC/Arguments.h:
2975         (IPC::TupleCoder::encode):
2976         (IPC::Arguments::encode):
2977         * Platform/IPC/Attachment.cpp:
2978         (IPC::Attachment::encode):
2979         * Platform/IPC/Attachment.h:
2980         * Platform/IPC/Connection.cpp:
2981         (IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
2982         (IPC::Connection::createSyncMessageEncoder):
2983         (IPC::Connection::sendMessage):
2984         (IPC::Connection::sendSyncReply):
2985         (IPC::Connection::sendSyncMessage):
2986         (IPC::Connection::sendSyncMessageFromSecondaryThread):
2987         (IPC::Connection::sendOutgoingMessages):
2988         (IPC::Connection::dispatchSyncMessage):
2989         * Platform/IPC/Connection.h:
2990         (IPC::Connection::send):
2991         (IPC::Connection::sendSync):
2992         * Platform/IPC/DataReference.cpp:
2993         (IPC::DataReference::encode):
2994         (IPC::SharedBufferDataReference::encode):
2995         * Platform/IPC/DataReference.h:
2996         * Platform/IPC/Encoder.cpp: Renamed from Source/WebKit2/Platform/IPC/ArgumentEncoder.cpp.
2997         (IPC::allocBuffer):
2998         (IPC::freeBuffer):
2999         (IPC::Encoder::Encoder):
3000         (IPC::Encoder::~Encoder):
3001         (IPC::Encoder::isSyncMessage):
3002         (IPC::Encoder::shouldDispatchMessageWhenWaitingForSyncReply):
3003         (IPC::Encoder::setIsSyncMessage):
3004         (IPC::Encoder::setShouldDispatchMessageWhenWaitingForSyncReply):
3005         (IPC::Encoder::setFullySynchronousModeForTesting):
3006         (IPC::Encoder::wrapForTesting):
3007         (IPC::roundUpToAlignment):
3008         (IPC::Encoder::reserve):
3009         (IPC::Encoder::encodeHeader):
3010         (IPC::Encoder::grow):
3011         (IPC::Encoder::encodeFixedLengthData):
3012         (IPC::Encoder::encodeVariableLengthByteArray):
3013         (IPC::copyValueToBuffer):
3014         (IPC::Encoder::encode):
3015         (IPC::Encoder::addAttachment):
3016         (IPC::Encoder::releaseAttachments):
3017         * Platform/IPC/Encoder.h: Renamed from Source/WebKit2/Platform/IPC/ArgumentEncoder.h.
3018         * Platform/IPC/HandleMessage.h:
3019         (IPC::handleMessage):
3020         (IPC::handleMessageDelayed):
3021         * Platform/IPC/MessageEncoder.cpp: Removed.
3022         (IPC::MessageEncoder::MessageEncoder): Deleted.
3023         (IPC::MessageEncoder::~MessageEncoder): Deleted.
3024         (IPC::MessageEncoder::encodeHeader): Deleted.
3025         (IPC::MessageEncoder::isSyncMessage): Deleted.
3026         (IPC::MessageEncoder::shouldDispatchMessageWhenWaitingForSyncReply): Deleted.
3027         (IPC::MessageEncoder::setIsSyncMessage): Deleted.
3028         (IPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply): Deleted.
3029         (IPC::MessageEncoder::setFullySynchronousModeForTesting): Deleted.
3030         (IPC::MessageEncoder::wrapForTesting): Deleted.
3031         * Platform/IPC/MessageEncoder.h: Removed.
3032         (IPC::MessageEncoder::messageReceiverName): Deleted.
3033         (IPC::MessageEncoder::messageName): Deleted.
3034         (IPC::MessageEncoder::destinationID): Deleted.
3035         (IPC::MessageEncoder::UUID): Deleted.
3036         * Platform/IPC/MessageReceiver.h:
3037         (IPC::MessageReceiver::didReceiveSyncMessage):
3038         * Platform/IPC/MessageReceiverMap.cpp:
3039         (IPC::MessageReceiverMap::dispatchSyncMessage):
3040         * Platform/IPC/MessageReceiverMap.h:
3041         * Platform/IPC/MessageRecorder.h:
3042         * Platform/IPC/MessageSender.cpp:
3043         (IPC::MessageSender::sendMessage):
3044         * Platform/IPC/MessageSender.h:
3045         (IPC::MessageSender::send):
3046         * Platform/IPC/StringReference.cpp:
3047         (IPC::StringReference::encode):
3048         * Platform/IPC/StringReference.h:
3049         * Platform/IPC/mac/ConnectionMac.mm:
3050         (IPC::Connection::open):
3051         (IPC::Connection::sendOutgoingMessage):
3052         * Platform/IPC/mac/MachPort.h:
3053         (IPC::MachPort::encode):
3054         * Platform/SharedMemory.h:
3055         * Platform/mac/SharedMemoryMac.cpp:
3056         (WebKit::SharedMemory::Handle::encode):
3057         * PluginProcess/PluginControllerProxy.h:
3058         * PluginProcess/PluginCreationParameters.cpp:
3059         (WebKit::PluginCreationParameters::encode):
3060         * PluginProcess/PluginCreationParameters.h:
3061         * PluginProcess/WebProcessConnection.cpp:
3062         (WebKit::WebProcessConnection::didReceiveSyncMessage):
3063         * PluginProcess/WebProcessConnection.h:
3064         * Scripts/webkit/messages.py:
3065         (message_to_struct_declaration):
3066         (forward_declarations_and_headers):
3067         (generate_message_handler):
3068         (headers_for_type): Deleted.
3069         * Shared/API/APIData.cpp:
3070         (API::Data::encode):
3071         * Shared/API/APIData.h:
3072         * Shared/API/APIError.cpp:
3073         (API::Error::encode):
3074         * Shared/API/APIError.h:
3075         * Shared/API/APIFrameHandle.cpp:
3076         (API::FrameHandle::encode):
3077         * Shared/API/APIFrameHandle.h:
3078         * Shared/API/APIGeometry.cpp:
3079         (API::Point::encode):
3080         (API::Size::encode):
3081         (API::Rect::encode):
3082         * Shared/API/APIGeometry.h:
3083         * Shared/API/APINumber.h:
3084         (API::Number::encode):
3085         * Shared/API/APIPageGroupHandle.cpp:
3086         (API::PageGroupHandle::encode):
3087         * Shared/API/APIPageGroupHandle.h:
3088         * Shared/API/APIPageHandle.cpp:
3089         (API::PageHandle::encode):
3090         * Shared/API/APIPageHandle.h:
3091         * Shared/API/APIURL.h:
3092         (API::URL::encode):
3093         * Shared/API/APIURLRequest.cpp:
3094         (API::URLRequest::encode):
3095         * Shared/API/APIURLRequest.h:
3096         * Shared/API/APIURLResponse.cpp:
3097         (API::URLResponse::encode):
3098         * Shared/API/APIURLResponse.h:
3099         * Shared/API/Cocoa/RemoteObjectInvocation.h:
3100         * Shared/API/Cocoa/RemoteObjectInvocation.mm:
3101         (WebKit::RemoteObjectInvocation::encode):
3102         * Shared/AssistedNodeInformation.cpp:
3103         (WebKit::OptionItem::encode):
3104         (WebKit::AssistedNodeInformation::encode):
3105         * Shared/AssistedNodeInformation.h:
3106         * Shared/Cocoa/DataDetectionResult.h:
3107         * Shared/Cocoa/DataDetectionResult.mm:
3108         (WebKit::DataDetectionResult::encode):
3109         * Shared/Cocoa/LoadParametersCocoa.mm:
3110         (WebKit::LoadParameters::platformEncode):
3111         * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
3112         (IPC::ArgumentCoder<WebCore::Payment>::encode):
3113         (IPC::ArgumentCoder<WebCore::PaymentContact>::encode):
3114         (IPC::ArgumentCoder<WebCore::PaymentMerchantSession>::encode):
3115         (IPC::ArgumentCoder<WebCore::PaymentMethod>::encode):
3116         (IPC::ArgumentCoder<PaymentRequest>::encode):
3117         (IPC::ArgumentCoder<PaymentRequest::ContactFields>::encode):
3118         (IPC::ArgumentCoder<PaymentRequest::LineItem>::encode):
3119         (IPC::ArgumentCoder<PaymentRequest::MerchantCapabilities>::encode):
3120         (IPC::ArgumentCoder<PaymentRequest::ShippingMethod>::encode):
3121         (IPC::ArgumentCoder<PaymentRequest::TotalAndLineItems>::encode):
3122         * Shared/ContextMenuContextData.cpp:
3123         (WebKit::ContextMenuContextData::encode):
3124         * Shared/ContextMenuContextData.h:
3125         * Shared/Databases/DatabaseProcessCreationParameters.cpp:
3126         (WebKit::DatabaseProcessCreationParameters::encode):
3127         * Shared/Databases/DatabaseProcessCreationParameters.h:
3128         * Shared/Databases/IndexedDB/WebIDBResult.cpp:
3129         (WebKit::WebIDBResult::encode):
3130         * Shared/Databases/IndexedDB/WebIDBResult.h:
3131         * Shared/EditorState.cpp:
3132         (WebKit::EditorState::encode):
3133         (WebKit::EditorState::PostLayoutData::encode):
3134         * Shared/EditorState.h:
3135         * Shared/FontInfo.cpp:
3136         (WebKit::FontInfo::encode):
3137         * Shared/FontInfo.h:
3138         * Shared/Gamepad/GamepadData.cpp:
3139         (WebKit::GamepadData::encode):
3140         * Shared/Gamepad/GamepadData.h:
3141         * Shared/LayerTreeContext.cpp:
3142         (WebKit::LayerTreeContext::encode):
3143         * Shared/LayerTreeContext.h:
3144         * Shared/LoadParameters.cpp:
3145         (WebKit::LoadParameters::encode):
3146         (WebKit::LoadParameters::platformEncode):
3147         * Shared/LoadParameters.h:
3148         * Shared/NavigationActionData.cpp:
3149         (WebKit::NavigationActionData::encode):
3150         * Shared/NavigationActionData.h:
3151         * Shared/PlatformPopupMenuData.cpp:
3152         (WebKit::PlatformPopupMenuData::encode):
3153         * Shared/PlatformPopupMenuData.h:
3154         * Shared/Plugins/NPIdentifierData.cpp:
3155         (WebKit::NPIdentifierData::encode):
3156         * Shared/Plugins/NPIdentifierData.h:
3157         * Shared/Plugins/NPObjectMessageReceiver.h:
3158         * Shared/Plugins/NPRemoteObjectMap.cpp:
3159         (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
3160         * Shared/Plugins/NPRemoteObjectMap.h:
3161         * Shared/Plugins/NPVariantData.cpp:
3162         (WebKit::NPVariantData::encode):
3163         * Shared/Plugins/NPVariantData.h:
3164         * Shared/Plugins/PluginProcessCreationParameters.cpp:
3165         (WebKit::PluginProcessCreationParameters::encode):
3166         * Shared/Plugins/PluginProcessCreationParameters.h:
3167         * Shared/PrintInfo.cpp:
3168         (WebKit::PrintInfo::encode):
3169         * Shared/PrintInfo.h:
3170         * Shared/SandboxExtension.h:
3171         (WebKit::SandboxExtension::Handle::encode):
3172         (WebKit::SandboxExtension::HandleArray::encode):
3173         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
3174         (ArgumentCoder<ScrollingStateNode>::encode):
3175         (ArgumentCoder<ScrollingStateScrollingNode>::encode):
3176         (ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
3177         (ArgumentCoder<ScrollingStateOverflowScrollingNode>::encode):
3178         (ArgumentCoder<ScrollingStateFixedNode>::encode):
3179         (ArgumentCoder<ScrollingStateStickyNode>::encode):
3180         (WebKit::encodeNodeAndDescendants):
3181         (WebKit::RemoteScrollingCoordinatorTransaction::encode):
3182         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
3183         * Shared/SessionState.cpp:
3184         (WebKit::HTTPBody::Element::encode):
3185         (WebKit::HTTPBody::encode):
3186         (WebKit::FrameState::encode):
3187         (WebKit::PageState::encode):
3188         (WebKit::BackForwardListItemState::encode):
3189         (WebKit::BackForwardListState::encode):
3190         * Shared/SessionState.h:
3191         * Shared/ShareableBitmap.cpp:
3192         (WebKit::ShareableBitmap::Handle::encode):
3193         * Shared/ShareableBitmap.h:
3194         * Shared/ShareableResource.cpp:
3195         (WebKit::ShareableResource::Handle::encode):
3196         * Shared/ShareableResource.h:
3197         * Shared/StatisticsData.cpp:
3198         (WebKit::StatisticsData::encode):
3199         * Shared/StatisticsData.h:
3200         * Shared/UpdateInfo.cpp:
3201         (WebKit::UpdateInfo::encode):
3202         * Shared/UpdateInfo.h:
3203         * Shared/UserData.cpp:
3204         (WebKit::UserData::encode):
3205         * Shared/UserData.h:
3206         * Shared/VisibleContentRectUpdateInfo.cpp:
3207         (WebKit::VisibleContentRectUpdateInfo::encode):
3208         * Shared/VisibleContentRectUpdateInfo.h:
3209         * Shared/WebBackForwardListItem.h:
3210         * Shared/WebCompiledContentExtensionData.cpp:
3211         (WebKit::WebCompiledContentExtensionData::encode):
3212         * Shared/WebCompiledContentExtensionData.h:
3213         * Shared/WebContextMenuItemData.cpp:
3214         (WebKit::WebContextMenuItemData::encode):
3215         * Shared/WebContextMenuItemData.h:
3216         * Shared/WebCoreArgumentCoders.cpp:
3217         (IPC::ArgumentCoder<AffineTransform>::encode):
3218         (IPC::ArgumentCoder<EventTrackingRegions>::encode):
3219         (IPC::ArgumentCoder<TransformationMatrix>::encode):
3220         (IPC::ArgumentCoder<LinearTimingFunction>::encode):
3221         (IPC::ArgumentCoder<CubicBezierTimingFunction>::encode):
3222         (IPC::ArgumentCoder<StepsTimingFunction>::encode):
3223         (IPC::ArgumentCoder<SpringTimingFunction>::encode):
3224         (IPC::ArgumentCoder<FloatPoint>::encode):
3225         (IPC::ArgumentCoder<FloatPoint3D>::encode):
3226         (IPC::ArgumentCoder<FloatRect>::encode):
3227         (IPC::ArgumentCoder<FloatSize>::encode):
3228         (IPC::ArgumentCoder<FloatRoundedRect>::encode):
3229         (IPC::ArgumentCoder<FloatQuad>::encode):
3230         (IPC::ArgumentCoder<ViewportArguments>::encode):
3231         (IPC::ArgumentCoder<IntPoint>::encode):
3232         (IPC::ArgumentCoder<IntRect>::encode):
3233         (IPC::ArgumentCoder<IntSize>::encode):
3234         (IPC::pathEncodeApplierFunction):
3235         (IPC::ArgumentCoder<Path>::encode):
3236         (IPC::ArgumentCoder<RecentSearch>::encode):
3237         (IPC::ArgumentCoder<Region::Span>::encode):
3238         (IPC::ArgumentCoder<Region>::encode):
3239         (IPC::ArgumentCoder<Length>::encode):
3240         (IPC::ArgumentCoder<ViewportAttributes>::encode):
3241         (IPC::ArgumentCoder<MimeClassInfo>::encode):
3242         (IPC::ArgumentCoder<PluginInfo>::encode):
3243         (IPC::ArgumentCoder<AuthenticationChallenge>::encode):
3244         (IPC::ArgumentCoder<ProtectionSpace>::encode):
3245         (IPC::ArgumentCoder<Credential>::encode):
3246         (IPC::encodeImage):
3247         (IPC::encodeOptionalImage):
3248         (IPC::ArgumentCoder<Cursor>::encode):
3249         (IPC::ArgumentCoder<ResourceRequest>::encode):
3250         (IPC::ArgumentCoder<ResourceError>::encode):
3251         (IPC::ArgumentCoder<SelectionRect>::encode):
3252         (IPC::ArgumentCoder<WindowFeatures>::encode):
3253         (IPC::ArgumentCoder<Color>::encode):
3254         (IPC::ArgumentCoder<CompositionUnderline>::encode):
3255         (IPC::ArgumentCoder<Cookie>::encode):
3256         (IPC::ArgumentCoder<DatabaseDetails>::encode):
3257         (IPC::ArgumentCoder<Highlight>::encode):
3258         (IPC::encodeSharedBuffer):
3259         (IPC::ArgumentCoder<PasteboardWebContent>::encode):
3260         (IPC::ArgumentCoder<PasteboardImage>::encode):
3261         (IPC::ArgumentCoder<DictationAlternative>::encode):
3262         (IPC::ArgumentCoder<FileChooserSettings>::encode):
3263         (IPC::ArgumentCoder<GrammarDetail>::encode):
3264         (IPC::ArgumentCoder<TextCheckingRequestData>::encode):
3265         (IPC::ArgumentCoder<TextCheckingResult>::encode):
3266         (IPC::ArgumentCoder<URL>::encode):
3267         (IPC::ArgumentCoder<UserStyleSheet>::encode):
3268         (IPC::ArgumentCoder<MediaSessionMetadata>::encode):
3269         (IPC::ArgumentCoder<UserScript>::encode):
3270         (IPC::ArgumentCoder<ScrollableAreaParameters>::encode):
3271         (IPC::ArgumentCoder<FixedPositionViewportConstraints>::encode):
3272         (IPC::ArgumentCoder<StickyPositionViewportConstraints>::encode):
3273         (IPC::ArgumentCoder<FilterOperation>::encode):
3274         (IPC::ArgumentCoder<FilterOperations>::encode):
3275         (IPC::ArgumentCoder<SessionID>::encode):
3276         (IPC::ArgumentCoder<BlobPart>::encode):
3277         (IPC::ArgumentCoder<TextIndicatorData>::encode):
3278         (IPC::ArgumentCoder<MediaPlaybackTargetContext>::encode):
3279         (IPC::ArgumentCoder<DictionaryPopupInfo>::encode):
3280         (IPC::ArgumentCoder<ExceptionDetails>::encode):
3281         (IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
3282         * Shared/WebCoreArgumentCoders.h:
3283         * Shared/WebEvent.cpp:
3284         (WebKit::WebEvent::encode):
3285         * Shared/WebEvent.h:
3286         * Shared/WebGeolocationPosition.cpp:
3287         (WebKit::WebGeolocationPosition::Data::encode):
3288         * Shared/WebGeolocationPosition.h:
3289         * Shared/WebHitTestResultData.cpp:
3290         (WebKit::WebHitTestResultData::encode):
3291         (WebKit::WebHitTestResultData::platformEncode):
3292         * Shared/WebHitTestResultData.h:
3293         * Shared/WebKeyboardEvent.cpp:
3294         (WebKit::WebKeyboardEvent::encode):
3295         * Shared/WebMouseEvent.cpp:
3296         (WebKit::WebMouseEvent::encode):
3297         * Shared/WebNavigationDataStore.h:
3298         (WebKit::WebNavigationDataStore::encode):
3299         * Shared/WebPageCreationParameters.cpp:
3300         (WebKit::WebPageCreationParameters::encode):
3301         * Shared/WebPageCreationParameters.h:
3302         * Shared/WebPageGroupData.cpp:
3303         (WebKit::WebPageGroupData::encode):
3304         * Shared/WebPageGroupData.h:
3305         * Shared/WebPlatformTouchPoint.cpp:
3306         (WebKit::WebPlatformTouchPoint::encode):
3307         * Shared/WebPopupItem.cpp:
3308         (WebKit::WebPopupItem::encode):
3309         * Shared/WebPopupItem.h:
3310         * Shared/WebPreferencesStore.cpp:
3311         (WebKit::WebPreferencesStore::Value::encode):
3312         (WebKit::WebPreferencesStore::encode):
3313         * Shared/WebPreferencesStore.h:
3314         * Shared/WebProcessCreationParameters.cpp:
3315         (WebKit::WebProcessCreationParameters::encode):
3316         * Shared/WebProcessCreationParameters.h:
3317         * Shared/WebTouchEvent.cpp:
3318         (WebKit::WebTouchEvent::encode):
3319         * Shared/WebUserContentControllerDataTypes.cpp:
3320         (WebKit::WebUserScriptData::encode):
3321         (WebKit::WebUserStyleSheetData::encode):
3322         (WebKit::WebScriptMessageHandlerData::encode):
3323         * Shared/WebUserContentControllerDataTypes.h:
3324         * Shared/WebWheelEvent.cpp:
3325         (WebKit::WebWheelEvent::encode):
3326         * Shared/WebsiteData/WebsiteData.cpp:
3327         (WebKit::WebsiteData::Entry::encode):
3328         (WebKit::WebsiteData::encode):
3329         * Shared/WebsiteData/WebsiteData.h:
3330         * Shared/cf/ArgumentCodersCF.cpp:
3331         (IPC::encode):
3332         * Shared/cf/ArgumentCodersCF.h:
3333         * Shared/ios/InteractionInformationAtPosition.h:
3334         * Shared/ios/InteractionInformationAtPosition.mm:
3335         (WebKit::InteractionInformationAtPosition::encode):
3336         * Shared/ios/QuickLookDocumentData.cpp:
3337         (WebKit::QuickLookDocumentData::encode):
3338         * Shared/ios/QuickLookDocumentData.h:
3339         * Shared/ios/WebPlatformTouchPointIOS.cpp:
3340         (WebKit::WebPlatformTouchPoint::encode):
3341         * Shared/ios/WebTouchEventIOS.cpp:
3342         (WebKit::WebTouchEvent::encode):
3343         * Shared/mac/ArgumentCodersMac.h:
3344         * Shared/mac/ArgumentCodersMac.mm:
3345         (IPC::encode):
3346         * Shared/mac/AttributedString.h:
3347         * Shared/mac/AttributedString.mm:
3348         (WebKit::AttributedString::encode):
3349         * Shared/mac/ColorSpaceData.h:
3350         * Shared/mac/ColorSpaceData.mm:
3351         (WebKit::ColorSpaceData::encode):
3352         * Shared/mac/ObjCObjectGraph.h:
3353         * Shared/mac/ObjCObjectGraph.mm:
3354         (WebKit::ObjCObjectGraph::encode):
3355         * Shared/mac/RemoteLayerBackingStore.h:
3356         * Shared/mac/RemoteLayerBackingStore.mm:
3357         (WebKit::RemoteLayerBackingStore::encode):
3358         * Shared/mac/RemoteLayerTreeTransaction.h:
3359         * Shared/mac/RemoteLayerTreeTransaction.mm:
3360         (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
3361         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
3362         (WebKit::RemoteLayerTreeTransaction::encode):
3363         * Shared/mac/SandboxExtensionMac.mm:
3364         (WebKit::SandboxExtension::Handle::encode):
3365         (WebKit::SandboxExtension::HandleArray::encode):
3366         * Shared/mac/SecItemRequestData.cpp:
3367         (WebKit::SecItemRequestData::encode):
3368         * Shared/mac/SecItemRequestData.h:
3369         * Shared/mac/SecItemResponseData.cpp:
3370         (WebKit::SecItemResponseData::encode):
3371         * Shared/mac/SecItemResponseData.h:
3372         * Shared/mac/WebCoreArgumentCodersMac.mm:
3373         (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
3374         (IPC::ArgumentCoder<CertificateInfo>::encode):
3375         (IPC::encodeNSError):
3376         (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
3377         (IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData):
3378         (IPC::ArgumentCoder<Credential>::encodePlatformData):
3379         (IPC::ArgumentCoder<MachSendRight>::encode):
3380         (IPC::ArgumentCoder<KeypressCommand>::encode):
3381         (IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
3382         (IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData):
3383         * Shared/mac/WebGestureEvent.cpp:
3384         (WebKit::WebGestureEvent::encode):
3385         * Shared/mac/WebGestureEvent.h:
3386         * Shared/mac/WebHitTestResultData.mm:
3387         (WebKit::WebHitTestResultData::platformEncode):
3388         * UIProcess/API/APIHitTestResult.h:
3389         * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
3390         * UIProcess/ChildProcessProxy.cpp:
3391         (WebKit::ChildProcessProxy::sendMessage):
3392         (WebKit::ChildProcessProxy::dispatchSyncMessage):
3393         (WebKit::ChildProcessProxy::didFinishLaunching):
3394         * UIProcess/ChildProcessProxy.h:
3395         (WebKit::ChildProcessProxy::send):
3396         * UIProcess/Downloads/DownloadProxy.h:
3397         * UIProcess/Network/NetworkProcessProxy.cpp:
3398         (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
3399         * UIProcess/Network/NetworkProcessProxy.h:
3400         * UIProcess/Notifications/WebNotification.cpp:
3401         * UIProcess/Notifications/WebNotification.h:
3402         * UIProcess/Plugins/PluginProcessManager.h:
3403         * UIProcess/Plugins/PluginProcessProxy.h:
3404         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
3405         * UIProcess/Storage/StorageManager.h:
3406         * UIProcess/WebFullScreenManagerProxy.h:
3407         * UIProcess/WebIconDatabase.h:
3408         * UIProcess/WebPageProxy.cpp:
3409         (WebKit::WebPageProxy::sendMessage):
3410         * UIProcess/WebPageProxy.h:
3411         * UIProcess/WebPasteboardProxy.h:
3412         * UIProcess/WebProcessPool.cpp:
3413         (WebKit::WebProcessPool::dispatchSyncMessage):
3414         * UIProcess/WebProcessPool.h:
3415         * UIProcess/WebProcessProxy.cpp:
3416         (WebKit::WebProcessProxy::didReceiveSyncMessage):
3417         * UIProcess/WebProcessProxy.h:
3418         * WebKit2.xcodeproj/project.pbxproj:
3419         * WebProcess/Network/NetworkProcessConnection.cpp:
3420         (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
3421         * WebProcess/Network/NetworkProcessConnection.h:
3422         * WebProcess/Plugins/Plugin.cpp:
3423         (WebKit::Plugin::Parameters::encode):
3424         * WebProcess/Plugins/Plugin.h:
3425         * WebProcess/Plugins/PluginProcessConnection.cpp:
3426         (WebKit::PluginProcessConnection::didReceiveSyncMessage):
3427         * WebProcess/Plugins/PluginProcessConnection.h:
3428         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3429         * WebProcess/Plugins/PluginProxy.h:
3430         * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
3431         * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
3432         * WebProcess/WebPage/DrawingArea.h:
3433         * WebProcess/WebPage/WebPage.cpp:
3434         (WebKit::WebPage::didReceiveSyncMessage):
3435         * WebProcess/WebPage/WebPage.h:
3436         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
3437         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
3438         (WebKit::PlatformCAAnimationRemote::KeyframeValue::encode):
3439         (WebKit::PlatformCAAnimationRemote::Properties::encode):
3440         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3441         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3442         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
3443         (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
3444         (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::BackingStoreFlusher):
3445         * WebProcess/WebProcess.cpp:
3446         (WebKit::WebProcess::didReceiveSyncMessage):
3447         * WebProcess/WebProcess.h:
3448
3449 2016-08-16  Simon Fraser  <simon.fraser@apple.com>
3450
3451         Rename didLayout(LayoutMilestones) to didReachLayoutMilestone(), and related WK2 functions
3452         https://bugs.webkit.org/show_bug.cgi?id=160923
3453
3454         Reviewed by Tim Horton.
3455
3456         didLayout(LayoutMilestones) -> didReachLayoutMilestone(LayoutMilestones)
3457         dispatchDidLayout(LayoutMilestones) -> dispatchDidReachLayoutMilestone(LayoutMilestones)
3458
3459         Avoided changing functions that are exposed as API/SPI.
3460
3461         * UIProcess/API/APILoaderClient.h:
3462         (API::LoaderClient::didReachLayoutMilestone):
3463         (API::LoaderClient::didLayout): Deleted.
3464         * UIProcess/API/C/WKPage.cpp:
3465         (WKPageSetPageLoaderClient):
3466         * UIProcess/WebPageProxy.cpp:
3467         (WebKit::WebPageProxy::didLayoutForCustomContentProvider):
3468         (WebKit::WebPageProxy::didReachLayoutMilestone):
3469         (WebKit::WebPageProxy::didLayout): Deleted.
3470         * UIProcess/WebPageProxy.h:
3471         * UIProcess/WebPageProxy.messages.in:
3472         * UIProcess/ios/WebPageProxyIOS.mm:
3473         (WebKit::WebPageProxy::didCommitLayerTree):
3474         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
3475         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
3476         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
3477         (didReachLayoutMilestone):
3478         (setUpPageLoaderClient):
3479         (didLayout): Deleted.
3480         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
3481         (WebKit::InjectedBundlePageLoaderClient::didReachLayoutMilestone):
3482         (WebKit::InjectedBundlePageLoaderClient::didLayout): Deleted.
3483         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
3484         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3485         (WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
3486         (WebKit::WebFrameLoaderClient::dispatchDidLayout): Deleted.
3487         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3488         * WebProcess/WebPage/DrawingArea.h:
3489         (WebKit::DrawingArea::dispatchDidReachLayoutMilestone):
3490         (WebKit::DrawingArea::dispatchDidLayout): Deleted.
3491         * WebProcess/WebPage/WebPage.cpp:
3492         (WebKit::WebPage::dispatchDidReachLayoutMilestone):
3493         (WebKit::WebPage::dispatchDidLayout): Deleted.
3494         * WebProcess/WebPage/WebPage.h:
3495         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
3496         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3497         (WebKit::RemoteLayerTreeDrawingArea::dispatchDidReachLayoutMilestone):
3498         (WebKit::RemoteLayerTreeDrawingArea::dispatchDidLayout): Deleted.
3499
3500 2016-08-18  Daniel Bates  <dabates@apple.com>
3501
3502         Ld warns of non-existent PrivateFrameworks directory when building WebKit with the public iOS 9.3 SDK
3503         https://bugs.webkit.org/show_bug.cgi?id=160979
3504
3505         Rubber-stamped by Simon Fraser.
3506
3507         Only add the SDK PrivateFrameworks directory to the FRAMEWORK_SEARCH_PATH when building for
3508         iOS Simulator, building with an iOS SDK that does not support text-based stubs, or building
3509         an Apple-internal build.
3510
3511         * Configurations/BaseTarget.xcconfig:
3512
3513 2016-08-18  Hunseop Jeong  <hs85.jeong@samsung.com>
3514
3515         Unreviewed, Fix CMake build after r204614
3516
3517         * PlatformMac.cmake:
3518
3519 2016-08-18  Chris Dumez  <cdumez@apple.com>
3520
3521         [iOS] Network Processes & Database processes do not exit promptly
3522         https://bugs.webkit.org/show_bug.cgi?id=160978
3523         <rdar://problem/27914081>
3524
3525         Reviewed by Anders Carlsson.
3526
3527         Network Processes & Database processes do not exit promptly. They hang
3528         for 10 seconds until they log the following message:
3529         > com.apple.WebKit.Networking: (WebKit) #WK: Exiting process early due to unacknowledged closed-connection
3530
3531         Then forcefully call exit(0).
3532
3533         To address the issue, we now call ChildProcess::stopRunLoop() instead
3534         of RunLoop::current().stop(). stopRunLoop() works as expected on iOS
3535         after r202723.
3536
3537         There is no impact on Mac because stopRunLoop() calls
3538         RunLoop::current().stop().
3539
3540         * DatabaseProcess/DatabaseProcess.cpp:
3541         (WebKit::DatabaseProcess::didClose):
3542         (WebKit::DatabaseProcess::didReceiveInvalidMessage):
3543         * NetworkProcess/NetworkProcess.cpp:
3544         (WebKit::NetworkProcess::didClose):
3545         (WebKit::NetworkProcess::didReceiveInvalidMessage):
3546
3547 2016-08-18  Dan Bernstein  <mitz@apple.com>
3548
3549         [Cocoa] API::Number needs to be wrapped by an NSNumber
3550         https://bugs.webkit.org/show_bug.cgi?id=160977
3551         <rdar://problem/27877735>
3552
3553         Reviewed by Anders Carlsson.
3554
3555         We introduce a single WKNSNumber class to wrap three distinct API::Number instantiations
3556         corresponding to the Boolean, UInt64 and Double types.
3557
3558         Test: TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm
3559
3560         * Shared/Cocoa/APIObject.mm:
3561         (API::Object::newObject): Create a WKNSNumber to contain any of the number types, and set
3562           its _type ivar accordingly.
3563         * Shared/Cocoa/WKNSNumber.h: Added.
3564         (WebKit::wrapper):
3565         * Shared/Cocoa/WKNSNumber.mm: Added.
3566         (-[WKNSNumber dealloc]): Call the appropriate destructor.
3567         (-[WKNSNumber objCType]): Implement this NSValue primitive method.
3568         (-[WKNSNumber getValue:]): Ditto.
3569         (-[WKNSNumber boolValue]): Implement this NSNumber method corresponding to one of our
3570           possible types.
3571         (-[WKNSNumber doubleValue]): Ditto.
3572         (-[WKNSNumber unsignedLongLongValue]): Ditto.
3573         (-[WKNSNumber copyWithZone:]): Implement this NSCopying method by retaining self.
3574         (-[WKNSNumber _apiObject]): Implement this WKObject method by returning the appropriate
3575           API object.
3576
3577         * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
3578
3579 2016-08-18  Andy Estes  <aestes@apple.com>
3580
3581         [Cocoa] Add SPI to WKProcessPool for enabling cookie storage partitioning
3582         https://bugs.webkit.org/show_bug.cgi?id=160964
3583
3584         Reviewed by Anders Carlsson.
3585
3586         Followed the guidelines for SPI naming.
3587
3588         * UIProcess/API/Cocoa/WKProcessPool.mm:
3589         (-[WKProcessPool _isCookieStoragePartitioningEnabled]): Renamed from -cookieStoragePartitioningEnabled.
3590         (-[WKProcessPool _setCookieStoragePartitioningEnabled:]): Renamed from -setCookieStoragePartitioningEnabled:.
3591         (-[WKProcessPool cookieStoragePartitioningEnabled]): Renamed to -_isCookieStoragePartitioningEnabled.
3592         (-[WKProcessPool setCookieStoragePartitioningEnabled:]): Renamed to -_setCookieStoragePartitioningEnabled:.
3593         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
3594
3595 2016-08-18  Andy Estes  <aestes@apple.com>
3596
3597         Generated messages headers should use #pragma once
3598         https://bugs.webkit.org/show_bug.cgi?id=160965
3599
3600         Reviewed by Anders Carlsson.
3601
3602         * Scripts/webkit/messages.py:
3603         (generate_messages_header): Used #pragma once instead of a header guard.
3604
3605 2016-08-18  Andy Estes  <aestes@apple.com>
3606
3607         [Cocoa] Add SPI to WKProcessPool for enabling cookie storage partitioning
3608         https://bugs.webkit.org/show_bug.cgi?id=160964
3609
3610         Reviewed by Brent Fulgham.
3611
3612         * NetworkProcess/NetworkProcess.h: Declared setCookieStoragePartitioningEnabled().
3613         * NetworkProcess/NetworkProcess.messages.in: Added message SetCookieStoragePartitioningEnabled.
3614         * NetworkProcess/NetworkProcessCreationParameters.cpp:
3615         (WebKit::NetworkProcessCreationParameters::encode): Encoded cookieStoragePartitioningEnabled.
3616         (WebKit::NetworkProcessCreationParameters::decode): Decoded cookieStoragePartitioningEnabled.
3617         * NetworkProcess/NetworkProcessCreationParameters.h: Declared cookieStoragePartitioningEnabled.
3618         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3619         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
3620         Called NetworkStorageSession::setCookieStoragePartitioningEnabled() given the cookieStoragePartitioningEnabled parameter.
3621         (WebKit::NetworkProcess::setCookieStoragePartitioningEnabled):
3622         Called NetworkStorageSession::setCookieStoragePartitioningEnabled().
3623         * UIProcess/API/Cocoa/WKProcessPool.mm:
3624         (-[WKProcessPool cookieStoragePartitioningEnabled]): Returned WebProcessPool::cookieStoragePartitioningEnabled().
3625         (-[WKProcessPool setCookieStoragePartitioningEnabled:]): Called WebProcessPool::setCookieStoragePartitioningEnabled().
3626         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: Declared cookieStoragePartitioningEnabled as a property.
3627         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3628         (WebKit::WebProcessPool::platformInitializeNetworkProcess):
3629         Set the cookieStoragePartitioningEnabled parameter from m_cookieStoragePartitioningEnabled.
3630         (WebKit::WebProcessPool::setCookieStoragePartitioningEnabled):
3631         Set m_cookieStoragePartitioningEnabled and sent the NetworkProcess::SetCookieStoragePartitioningEnabled message.
3632         * UIProcess/WebProcessPool.h: Declared cookieStoragePartitioningEnabled.
3633
3634 2016-08-17  Anders Carlsson  <andersca@apple.com>
3635
3636         Add support for additional networks
3637         https://bugs.webkit.org/show_bug.cgi?id=160951
3638         rdar://problem/27807479
3639
3640         Reviewed by Sam Weinig.
3641
3642         * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
3643         (IPC::ArgumentCoder<PaymentRequest>::decode):
3644         (IPC::ArgumentCoder<PaymentRequest::SupportedNetworks>::encode): Deleted.
3645         (IPC::ArgumentCoder<PaymentRequest::SupportedNetworks>::decode): Deleted.
3646         * Shared/WebCoreArgumentCoders.h:
3647         * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
3648         (WebKit::toAdditionalSupportedNetwork):
3649         (WebKit::toSupportedNetwork):
3650         (WebKit::toSupportedNetworks):
3651         * WebProcess/ApplePay/WebPaymentCoordinator.cpp:
3652         (WebKit::WebPaymentCoordinator::supportsVersion):
3653
3654 2016-08-17  Anders Carlsson  <andersca@apple.com>
3655
3656         Remove a couple of unused WKSI function pointers
3657         https://bugs.webkit.org/show_bug.cgi?id=160946
3658
3659         Reviewed by Dan Bernstein.
3660
3661         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3662         (InitWebCoreSystemInterface): Deleted.
3663
3664 2016-08-17  Dan Bernstein  <mitz@apple.com>
3665
3666         [Cocoa] -[NSString isEqualToString:] returns NO for any WKNSString argument
3667         https://bugs.webkit.org/show_bug.cgi?id=160938
3668         <rdar://problem/27876652>
3669
3670         Reviewed by Anders Carlsson.
3671
3672         -[NSString isEqualToString:] calls an internal NSObject method on its argument, which
3673         NSString subclasses override to return YES, but WKObject does not override and does not
3674         forward to its target NSString.
3675
3676         To fix this issue and other similar issues, we make WKObject a root class instead of an
3677         NSObject subclass.
3678
3679         Test: TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm
3680
3681         * Platform/spi/Cocoa/objcSPI.h: Added.
3682
3683         * Shared/Cocoa/WKObject.h: Make WKObject a root class instead of inhereting from NSObject.
3684
3685         * Shared/Cocoa/WKObject.mm:
3686         (+[WKObject class]): Return self.
3687         (-[WKObject allowsWeakReference]): Added. Called by the Objective-C runtime.
3688         (-[WKObject retainWeakReference]): Ditto.
3689         (-[WKObject hash]): If we don’t have a target, return our address.
3690         (-[WKObject superclass]): Implement this NSObject protocol method.
3691         (-[WKObject class]): Ditto.
3692         (-[WKObject self]): Ditto.
3693         (-[WKObject performSelector:]): Ditto.
3694         (-[WKObject performSelector:withObject:]): Ditto.
3695         (-[WKObject performSelector:withObject:withObject:]): Ditto.
3696         (-[WKObject isProxy]): Ditto.
3697         (-[WKObject respondsToSelector:]): Changed to not call super.
3698         (-[WKObject conformsToProtocol:]): Ditto.
3699         (-[WKObject description]): Ditto.
3700         (-[WKObject retain]): Implement this NSObject protocol method.
3701         (-[WKObject release]): Ditto.
3702         (-[WKObject autorelease]): Ditto.
3703         (-[WKObject retainCount]): Ditto.
3704         (-[WKObject zone]): Ditto.
3705         (-[WKObject dealloc]): Deleted.
3706         (-[WKObject classForCoder]): Deleted.
3707         (-[WKObject classForKeyedArchiver]): Deleted.
3708         (-[WKObject _cfTypeID]): Deleted.
3709
3710         * WebKit2.xcodeproj/project.pbxproj: Added reference to new file.
3711
3712 2016-08-17  Hunseop Jeong  <hs85.jeong@samsung.com>
3713
3714         [EFL] Fix test_ewk2_view after r203612 
3715         https://bugs.webkit.org/show_bug.cgi?id=160937
3716
3717         Reviewed by Gyuyoung Kim.
3718
3719         Default parameter values for window.alert() / prompt() / confirm() was
3720         changed from "undefined" to the empty string after r203612.
3721
3722         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3723         (TEST_F):
3724
3725 2016-08-16  Simon Fraser  <simon.fraser@apple.com>
3726
3727         [iOS WK2] Don't throw touchMove events on the floor
3728         https://bugs.webkit.org/show_bug.cgi?id=160935
3729
3730         Reviewed by Tim Horton.
3731         
3732         EventDispatcher claimed to coalesce touchMove events, but actually threw away any
3733         touchMove if there was one in the queue when the next non-move event came along.
3734         
3735         Fix to strictly coalesce touchMove events, so a start/move/end stream always fires
3736         a move event. This is necessary for move-based interaction to work in testing,
3737         for example the added range slider test.
3738         
3739         Test: fast/forms/ios/drag-range-thumb.html
3740
3741         * WebProcess/WebPage/EventDispatcher.cpp:
3742         (WebKit::EventDispatcher::touchEvent):
3743
3744 2016-08-16  Simon Fraser  <simon.fraser@apple.com>
3745
3746         [iOS WK2] Clean up form select code
3747         https://bugs.webkit.org/show_bug.cgi?id=160915
3748
3749         Reviewed by Enrica Casucci.
3750         
3751         Some minor forms-related cleanup:
3752         1. Give WKFormSelectPopover and WKFormSelectPicker their own header files, making
3753         things easier to find.
3754         
3755         2. Remove WKContentView *_view member variables from classes which also stored
3756         the view in their base classes.
3757         
3758         Sort the project file.
3759
3760         * UIProcess/ios/forms/WKFormPopover.h:
3761         * UIProcess/ios/forms/WKFormPopover.mm:
3762         (-[WKFormRotatingAccessoryPopover accessoryDone]):
3763         (-[WKFormRotatingAccessoryPopover initWithView:]): Deleted.
3764         * UIProcess/ios/forms/WKFormSelectControl.h:
3765         * UIProcess/ios/forms/WKFormSelectControl.mm:
3766         * UIProcess/ios/forms/WKFormSelectPicker.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
3767         * UIProcess/ios/forms/WKFormSelectPicker.mm:
3768         * UIProcess/ios/forms/WKFormSelectPopover.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
3769         * UIProcess/ios/forms/WKFormSelectPopover.mm:
3770         (-[WKSelectPopover initWithView:hasGroups:]):
3771         * WebKit2.xcodeproj/project.pbxproj:
3772
3773 2016-08-16  Daniel Bates  <dabates@apple.com>
3774
3775         WKSI static library should be named by major iOS revision, not individual updates
3776         https://bugs.webkit.org/show_bug.cgi?id=160727
3777         <rdar://problem/22274848>
3778
3779         Reviewed by Alexey Proskuryakov.
3780
3781         * Configurations/Base.xcconfig:
3782         * Configurations/BaseTarget.xcconfig:
3783         * Configurations/DebugRelease.xcconfig:
3784
3785 2016-08-16  Simon Fraser  <simon.fraser@apple.com>
3786
3787         Make it possible to test iOS select elements, and add iPhone and iPad tests for them
3788         https://bugs.webkit.org/show_bug.cgi?id=160909
3789
3790         Reviewed by Enrica Casucci.
3791         
3792         Hook up form-related UIScriptController functions, and plumb through the various
3793         <select> pickers the ability to select a row.
3794
3795         * UIProcess/API/Cocoa/WKWebView.mm:
3796         (-[WKWebView dismissFormAccessoryView]):
3797         (-[WKWebView selectFormAccessoryPickerRow:]):
3798         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3799         * UIProcess/ios/WKContentViewInteraction.h:
3800         * UIProcess/ios/WKContentViewInteraction.mm:
3801         (-[WKContentView selectFormAccessoryPickerRow:]):
3802         * UIProcess/ios/forms/WKFormSelectControl.h:
3803         * UIProcess/ios/forms/WKFormSelectControl.mm:
3804         (-[WKFormSelectControl selectRow:inComponent:extendingSelection:]):
3805         * UIProcess/ios/forms/WKFormSelectPicker.mm:
3806         (-[WKMultipleSelectPicker selectRow:inComponent:extendingSelection:]):
3807         (-[WKSelectSinglePicker selectRow:inComponent:extendingSelection:]):
3808         * UIProcess/ios/forms/WKFormSelectPopover.mm:
3809         (-[WKSelectPopover selectRow:inComponent:extendingSelection:]):
3810
3811 2016-08-16  Brady Eidson  <beidson@apple.com>
3812
3813         Cleanup WK2 platform gamepad handling.
3814         https://bugs.webkit.org/show_bug.cgi?id=160871
3815
3816         Reviewed by Alex Christensen.
3817
3818         This patch does a few things:
3819         1 - Separates the concepts of "monitoring gamepads" and "monitoring gamepad inputs"
3820         2 - Uses this new concept to much more cleanly handle the case where we are not currently
3821             monitoring gamepad inputs because an interested WKWebView is not front and center.
3822         3 - Pre-populates the "initial set of gamepads" in WebProcesses that start listening for gamepads.
3823         
3824         * Platform/Logging.h:
3825         
3826         * UIProcess/Gamepad/UIGamepadProvider.cpp:
3827         (WebKit::UIGamepadProvider::gamepadSyncTimerFired):
3828         (WebKit::UIGamepadProvider::setInitialConnectedGamepads):
3829         (WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
3830         (WebKit::UIGamepadProvider::viewBecameActive):
3831         (WebKit::UIGamepadProvider::viewBecameInactive):
3832         (WebKit::UIGamepadProvider::stopMonitoringGamepads):
3833         (WebKit::UIGamepadProvider::snapshotGamepads):
3834         (WebKit::UIGamepadProvider::platformStopMonitoringInput):
3835         (WebKit::UIGamepadProvider::platformStartMonitoringInput):
3836         (WebKit::UIGamepadProvider::UIGamepadProvider): Deleted.
3837         (WebKit::UIGamepadProvider::scheduleDisableGamepadMonitoring): Deleted.
3838         (WebKit::UIGamepadProvider::disableMonitoringTimerFired): Deleted.
3839         * UIProcess/Gamepad/UIGamepadProvider.h:
3840         
3841         * UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp:
3842         (WebKit::UIGamepadProvider::platformStopMonitoringInput):
3843         (WebKit::UIGamepadProvider::platformStartMonitoringInput):
3844         
3845         * UIProcess/WebProcessPool.cpp:
3846         (WebKit::WebProcessPool::setInitialConnectedGamepads):
3847         * UIProcess/WebProcessPool.h:
3848         
3849         * WebProcess/Gamepad/WebGamepadProvider.cpp:
3850         (WebKit::WebGamepadProvider::setInitialGamepads):
3851         * WebProcess/Gamepad/WebGamepadProvider.h:
3852         
3853         * WebProcess/WebProcess.cpp:
3854         (WebKit::WebProcess::setInitialGamepads):
3855         * WebProcess/WebProcess.h:
3856         * WebProcess/WebProcess.messages.in:
3857
3858 2016-08-15  Simon Fraser  <simon.fraser@apple.com>
3859
3860         [iOS] Add iPad viewport and form tests, and revert the iPad-testing part of r202132
3861         https://bugs.webkit.org/show_bug.cgi?id=160878
3862
3863         Reviewed by Tim Horton.
3864
3865         Remove testing-specific "forceIPadStyleZoomOnInputFocus" behavior added in r202132
3866         now that we have the ability to run tests in the iPad simulator.
3867
3868         * UIProcess/API/Cocoa/WKWebView.mm:
3869         (-[WKWebView forceIPadStyleZoomOnInputFocus]): Deleted.
3870         (-[WKWebView setForceIPadStyleZoomOnInputFocus:]): Deleted.
3871         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3872         * UIProcess/ios/WKContentViewInteraction.h:
3873         * UIProcess/ios/WKContentViewInteraction.mm:
3874         (-[WKContentView _displayFormNodeInputView]):
3875         (-[WKContentView requiresAccessoryView]):
3876         (-[WKContentView inputAccessoryView]):
3877         (-[WKContentView requiresAccessoryView:]): Deleted.
3878         (-[WKContentView forceIPadStyleZoomOnInputFocus]): Deleted.
3879         (-[WKContentView setForceIPadStyleZoomOnInputFocus:]): Deleted.
3880
3881 2016-08-16  Alex Christensen  <achristensen@webkit.org>
3882
3883         Clean up WebSockets
3884         https://bugs.webkit.org/show_bug.cgi?id=160889
3885
3886         Reviewed by Darin Adler.
3887
3888         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
3889         (WebKit::WebSocketServerConnection::didCloseSocketStream):
3890         (WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
3891         * UIProcess/InspectorServer/WebSocketServerConnection.h:
3892
3893 2016-08-16  Chris Dumez  <cdumez@apple.com>
3894
3895         Unreviewed, rolling out r204506.
3896
3897         Broke the build
3898
3899         Reverted changeset:
3900
3901         "Cleanup WK2 platform gamepad handling."
3902         https://bugs.webkit.org/show_bug.cgi?id=160871
3903         http://trac.webkit.org/changeset/204506
3904
3905 2016-08-16  Darin Adler  <darin@apple.com>
3906
3907         [Cocoa] Remove dependency on Objective-C bindings in WebKit2 editing code
3908         https://bugs.webkit.org/show_bug.cgi?id=160891
3909
3910         Reviewed by Anders Carlsson.
3911
3912         * WebProcess/WebCoreSupport/WebEditorClient.h: Removed documentFragmentFromAttributedString.
3913         * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
3914         (WebKit::WebEditorClient::documentFragmentFromAttributedString): Deleted.
3915         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
3916         (WebKit::createExcludedElementsForAttributedStringConversion): Deleted.
3917         (WebKit::WebEditorClient::documentFragmentFromAttributedString): Deleted.
3918
3919 2016-08-16  Brady Eidson  <beidson@apple.com>
3920
3921         Cleanup WK2 platform gamepad handling.
3922         https://bugs.webkit.org/show_bug.cgi?id=160871
3923
3924         Reviewed by Alex Christensen.
3925
3926         This patch does a few things:
3927         1 - Separates the concepts of "monitoring gamepads" and "monitoring gamepad inputs"
3928         2 - Uses this new concept to much more cleanly handle the case where we are not currently
3929             monitoring gamepad inputs because an interested WKWebView is not front and center.
3930         3 - Pre-populates the "initial set of gamepads" in WebProcesses that start listening for gamepads.
3931         
3932         * Platform/Logging.h:
3933         
3934         * UIProcess/Gamepad/UIGamepadProvider.cpp:
3935         (WebKit::UIGamepadProvider::gamepadSyncTimerFired):
3936         (WebKit::UIGamepadProvider::setInitialConnectedGamepads):
3937         (WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
3938         (WebKit::UIGamepadProvider::viewBecameActive):
3939         (WebKit::UIGamepadProvider::viewBecameInactive):
3940         (WebKit::UIGamepadProvider::stopMonitoringGamepads):
3941         (WebKit::UIGamepadProvider::snapshotGamepads):
3942         (WebKit::UIGamepadProvider::platformStopMonitoringInput):
3943         (WebKit::UIGamepadProvider::platformStartMonitoringInput):
3944         (WebKit::UIGamepadProvider::UIGamepadProvider): Deleted.
3945         (WebKit::UIGamepadProvider::scheduleDisableGamepadMonitoring): Deleted.
3946         (WebKit::UIGamepadProvider::disableMonitoringTimerFired): Deleted.
3947         * UIProcess/Gamepad/UIGamepadProvider.h:
3948         
3949         * UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp:
3950         (WebKit::UIGamepadProvider::platformStopMonitoringInput):
3951         (WebKit::UIGamepadProvider::platformStartMonitoringInput):
3952         
3953         * UIProcess/WebProcessPool.cpp:
3954         (WebKit::WebProcessPool::setInitialConnectedGamepads):
3955         * UIProcess/WebProcessPool.h:
3956         
3957         * WebProcess/Gamepad/WebGamepadProvider.cpp:
3958         (WebKit::WebGamepadProvider::setInitialGamepads):
3959         * WebProcess/Gamepad/WebGamepadProvider.h:
3960         
3961         * WebProcess/WebProcess.cpp:
3962         (WebKit::WebProcess::setInitialGamepads):
3963         * WebProcess/WebProcess.h:
3964         * WebProcess/WebProcess.messages.in:
3965
3966 2016-08-15  Alex Christensen  <achristensen@webkit.org>
3967
3968         Rename SocketStreamHandleBase to SocketStreamHandle and SocketStreamHandle to SocketStreamHandleImpl
3969         https://bugs.webkit.org/show_bug.cgi?id=160858
3970
3971         Reviewed by Brady Eidson.
3972
3973         * WebProcess/Network/WebSocketProvider.cpp:
3974         (WebKit::WebSocketProvider::createSocketStreamHandle):
3975
3976 2016-08-15  Anders Carlsson  <andersca@apple.com>
3977
3978         Fix iOS build.
3979
3980         * WebProcess/WebPage/ios/WebPageIOS.mm:
3981         (WebKit::WebPage::webGLPolicyForURL):
3982         (WebKit::WebPage::resolveWebGLPolicyForURL):
3983
3984 2016-08-15  Keith Rollin  <krollin@apple.com>
3985
3986         Rename LOG_ALWAYS
3987         https://bugs.webkit.org/show_bug.cgi?id=160768
3988
3989         Rename LOG_ALWAYS and friends, given that the first parameter to it is
3990         a boolean expression that determines whether or not logging should be
3991         performed.
3992
3993         Reviewed by Chris Dumez.
3994
3995         * NetworkProcess/Downloads/Download.cpp:
3996         (WebKit::Download::didReceiveResponse):
3997         (WebKit::Download::didReceiveData):
3998         (WebKit::Download::didFinish):
3999         (WebKit::Download::didFail):
4000         (WebKit::Download::didCancel):
4001         * NetworkProcess/NetworkProcess.cpp:
4002         (WebKit::NetworkProcess::prepareToSuspend):
4003         (WebKit::NetworkProcess::cancelPrepareToSuspend):
4004         (WebKit::NetworkProcess::processDidResume):
4005         * NetworkProcess/NetworkResourceLoader.cpp:
4006         (WebKit::NetworkResourceLoader::startNetworkLoad):
4007         (WebKit::NetworkResourceLoader::didFinishLoading):
4008         (WebKit::NetworkResourceLoader::didFailLoading):
4009         (WebKit::NetworkResourceLoader::continueWillSendRequest):
4010         * Platform/IPC/Connection.cpp:
4011         (IPC::Connection::waitForSyncReply):
4012         * Shared/ChildProcess.cpp:
4013         (WebKit::didCloseOnConnectionWorkQueue):
4014         * UIProcess/Cocoa/NavigationState.mm:
4015         (WebKit::NavigationState::didChangeIsLoading):
4016         * UIProcess/Network/NetworkProcessProxy.cpp:
4017         (WebKit::NetworkProcessProxy::fetchWebsiteData):
4018         (WebKit::NetworkProcessProxy::deleteWebsiteData):
4019         (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
4020         (WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
4021         * UIProcess/ProcessThrottler.cpp:
4022         (WebKit::ProcessThrottler::updateAssertionNow):
4023         (WebKit::ProcessThrottler::updateAssertion):
4024     &nb