fddea48b2fba8af5f526ae8f0d24875fc24337c9
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2015-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3         [GTK] Use a persistent main loop source in RunLoop glib implementation
4         https://bugs.webkit.org/show_bug.cgi?id=150590
5
6         Reviewed by Žan Doberšek.
7
8         Use RunLoop::dispatch() instead of
9         GMainLoopSource::scheduleAndDeleteOnDestroy in a couple of simple
10         cases.
11
12         * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
13         (WebKit::NetworkCache::runTaskInQueue):
14         * UIProcess/gtk/DragAndDropHandler.cpp:
15         (WebKit::DragAndDropHandler::dragLeave):
16
17 2015-10-28  Tim Horton  <timothy_horton@apple.com>
18
19         Fix the build
20
21         * UIProcess/mac/PageClientImpl.mm:
22         (WebKit::PageClientImpl::startWindowDrag):
23         (WebKit::PageClientImpl::platformWindow):
24
25 2015-10-28  Tim Horton  <timothy_horton@apple.com>
26
27         WKView being inside WKWebView leads to weird API issues
28         https://bugs.webkit.org/show_bug.cgi?id=150174
29
30         Reviewed by Anders Carlsson.
31
32         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
33         (WKPageGetObjectRegistry):
34         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
35         (-[WKBrowsingContextController _remoteObjectRegistry]):
36         * UIProcess/API/mac/WKView.mm:
37         (-[WKView dealloc]):
38         (-[WKView _inspectorAttachmentView]):
39         (-[WKView _setInspectorAttachmentView:]):
40         (-[WKView windowOcclusionDetectionEnabled]):
41         (-[WKView setWindowOcclusionDetectionEnabled:]):
42         (-[WKView _setTotalHeightOfBanners:]):
43         (-[WKView _totalHeightOfBanners]):
44         (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
45         (-[WKView _remoteObjectRegistry]): Deleted.
46         (-[WKView _startWindowDrag]): Deleted.
47         * UIProcess/API/mac/WKViewInternal.h:
48         * UIProcess/Cocoa/WebViewImpl.h:
49         (WebKit::WebViewImpl::setWindowOcclusionDetectionEnabled):
50         (WebKit::WebViewImpl::windowOcclusionDetectionEnabled):
51         (WebKit::WebViewImpl::setTotalHeightOfBanners):
52         (WebKit::WebViewImpl::totalHeightOfBanners):
53         * UIProcess/Cocoa/WebViewImpl.mm:
54         (WebKit::WebViewImpl::window):
55         (WebKit::WebViewImpl::setInspectorAttachmentView):
56         (WebKit::WebViewImpl::inspectorAttachmentView):
57         (WebKit::WebViewImpl::remoteObjectRegistry):
58         (WebKit::WebViewImpl::destroyRemoteObjectRegistry):
59         * UIProcess/PageClient.h:
60         * UIProcess/WebPageProxy.h:
61         * UIProcess/mac/PageClientImpl.h:
62         * UIProcess/mac/PageClientImpl.mm:
63         (WebKit::PageClientImpl::isViewVisible):
64         (WebKit::PageClientImpl::createColorPicker):
65         (WebKit::PageClientImpl::startWindowDrag):
66         (WebKit::PageClientImpl::platformWindow):
67         (WebKit::PageClientImpl::inspectorAttachmentView):
68         (WebKit::PageClientImpl::remoteObjectRegistry):
69         * UIProcess/mac/WebInspectorProxyMac.mm:
70         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
71         (WebKit::WebInspectorProxy::platformCanAttach):
72         (WebKit::WebInspectorProxy::platformBringToFront):
73         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
74         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
75         (WebKit::WebInspectorProxy::platformInspectedWindowWidth):
76         (WebKit::WebInspectorProxy::platformAttach):
77         (WebKit::WebInspectorProxy::platformDetach):
78         (WebKit::WebInspectorProxy::platformStartWindowDrag):
79         * UIProcess/mac/WebPageProxyMac.mm:
80         (WebKit::WebPageProxy::startWindowDrag):
81         (WebKit::WebPageProxy::platformWindow):
82         (WebKit::WebPageProxy::inspectorAttachmentView):
83         (WebKit::WebPageProxy::remoteObjectRegistry):
84         (WebKit::WebPageProxy::wkView): Deleted.
85         Get rid of the wkView() getters on PageClientImpl and WebPageProxy, because
86         those can't be a thing in the brave new world. Instead, plumb the four
87         callers through PageClient to WebViewImpl.
88
89         Also, move a few more things (banners, window occlusion).
90
91 2015-10-27  Anders Carlsson  <andersca@apple.com>
92
93         Stub out more of the context menu SPI
94         https://bugs.webkit.org/show_bug.cgi?id=150606
95
96         Reviewed by Dan Bernstein.
97
98         Add a delegate method that will allow the client to modify the menu. Also,
99         add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.
100
101         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
102         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
103         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
104         * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
105         * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
106         * UIProcess/Cocoa/UIDelegate.h:
107         * UIProcess/Cocoa/UIDelegate.mm:
108         (WebKit::UIDelegate::setDelegate):
109         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
110         (WebKit::UIDelegate::UIClient::createNewPage):
111         * UIProcess/mac/WebContextMenuProxyMac.mm:
112         (WebKit::WebContextMenuProxyMac::showContextMenu):
113         * WebKit2.xcodeproj/project.pbxproj:
114
115 2015-10-28  Anders Carlsson  <andersca@apple.com>
116
117         Stop using ContextMenuItem::shareMenuItem in the UI process
118         https://bugs.webkit.org/show_bug.cgi?id=150578
119
120         Reviewed by Tim Horton.
121
122         * UIProcess/mac/WebContextMenuProxyMac.h:
123         * UIProcess/mac/WebContextMenuProxyMac.mm:
124         (WebKit::WebContextMenuProxyMac::createShareMenuItem):
125         (WebKit::WebContextMenuProxyMac::createContextMenuItem):
126         (WebKit::WebContextMenuProxyMac::shareMenuItem): Deleted.
127
128 2015-10-28  Tim Horton  <timothy_horton@apple.com>
129
130         WKView being inside WKWebView leads to weird API issues
131         https://bugs.webkit.org/show_bug.cgi?id=150174
132
133         Reviewed by Anders Carlsson.
134
135         * UIProcess/API/mac/WKView.mm:
136         (-[WKView _superDoCommandBySelector:]):
137         (-[WKView _createDrawingAreaProxy]): Deleted.
138         (-[WKView _processDidExit]): Deleted.
139         (-[WKView _pageClosed]): Deleted.
140         (-[WKView _didRelaunchProcess]): Deleted.
141         (-[WKView _convertToDeviceSpace:]): Deleted.
142         (-[WKView _convertToUserSpace:]): Deleted.
143         (-[WKView _executeSavedCommandBySelector:]): Deleted.
144         (-[WKResponderChainSink initWithResponderChain:]): Deleted.
145         (-[WKResponderChainSink detach]): Deleted.
146         (-[WKResponderChainSink didReceiveUnhandledCommand]): Deleted.
147         (-[WKResponderChainSink noResponderFor:]): Deleted.
148         (-[WKResponderChainSink doCommandBySelector:]): Deleted.
149         (-[WKResponderChainSink tryToPerform:with:]): Deleted.
150         * UIProcess/API/mac/WKViewInternal.h:
151         * UIProcess/Cocoa/WebViewImpl.h:
152         * UIProcess/Cocoa/WebViewImpl.mm:
153         (-[WKResponderChainSink initWithResponderChain:]):
154         (-[WKResponderChainSink detach]):
155         (-[WKResponderChainSink didReceiveUnhandledCommand]):
156         (-[WKResponderChainSink noResponderFor:]):
157         (-[WKResponderChainSink doCommandBySelector:]):
158         (-[WKResponderChainSink tryToPerform:with:]):
159         (WebKit::WebViewImpl::createDrawingAreaProxy):
160         (WebKit::WebViewImpl::processDidExit):
161         (WebKit::WebViewImpl::pageClosed):
162         (WebKit::WebViewImpl::didRelaunchProcess):
163         (WebKit::WebViewImpl::executeSavedCommandBySelector):
164         (WebKit::WebViewImpl::resetGestureController): Deleted.
165         * UIProcess/mac/PageClientImpl.mm:
166         (WebKit::PageClientImpl::createDrawingAreaProxy):
167         (WebKit::PageClientImpl::processDidExit):
168         (WebKit::PageClientImpl::pageClosed):
169         (WebKit::PageClientImpl::didRelaunchProcess):
170         (WebKit::PageClientImpl::convertToDeviceSpace):
171         (WebKit::PageClientImpl::convertToUserSpace):
172         (WebKit::PageClientImpl::executeSavedCommandBySelector):
173         Move most of the rest of WKViewInternal.h's methods to WebViewImpl.
174
175 2015-10-28  Alex Christensen  <achristensen@webkit.org>
176
177         Compile and link with CMake on Mac
178         https://bugs.webkit.org/show_bug.cgi?id=150632
179
180         Reviewed by Tim Horton.
181
182         * CMakeLists.txt:
183         * PlatformEfl.cmake:
184         * PlatformGTK.cmake:
185         * PlatformMac.cmake:
186
187 2015-10-27  Anders Carlsson  <andersca@apple.com>
188
189         Stub out more of the context menu SPI
190         https://bugs.webkit.org/show_bug.cgi?id=150606
191
192         Reviewed by Dan Bernstein.
193
194         Add a delegate method that will allow the client to modify the menu. Also,
195         add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.
196
197         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
198         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
199         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
200         * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
201         * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
202         * UIProcess/Cocoa/UIDelegate.h:
203         * UIProcess/Cocoa/UIDelegate.mm:
204         (WebKit::UIDelegate::setDelegate):
205         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
206         (WebKit::UIDelegate::UIClient::createNewPage):
207         * UIProcess/mac/WebContextMenuProxyMac.mm:
208         (WebKit::WebContextMenuProxyMac::showContextMenu):
209         * WebKit2.xcodeproj/project.pbxproj:
210
211 2015-10-28  Chris Dumez  <cdumez@apple.com>
212
213         Use RunLoopTimer in DataURLDecoder to avoid issues related to runloops
214         https://bugs.webkit.org/show_bug.cgi?id=150609
215         <rdar://problem/22702894>
216
217         Reviewed by Antti Koivisto.
218
219         Move addSchedulePair() call to Page::platformInitialize() so that
220         RunLoopTimer can be used by any Page, even those that don't have
221         a WebPage wrapper.
222
223         * WebProcess/WebPage/mac/WebPageMac.mm:
224         (WebKit::WebPage::platformInitialize): Deleted.
225
226 2015-10-27  Tim Horton  <timothy_horton@apple.com>
227
228         Fix the 32-bit build.
229
230         * UIProcess/Cocoa/WebViewImpl.mm:
231         (WebKit::WebViewImpl::dragImageForView):
232
233 2015-10-27  Tim Horton  <timothy_horton@apple.com>
234
235         Fix the build.
236
237         * UIProcess/Cocoa/WebViewImpl.mm:
238
239 2015-10-27  Tim Horton  <timothy_horton@apple.com>
240
241         WKView being inside WKWebView leads to weird API issues
242         https://bugs.webkit.org/show_bug.cgi?id=150174
243
244         Reviewed by Anders Carlsson.
245
246         * UIProcess/API/mac/WKView.mm:
247         (-[WKView mouseDown:]):
248         (-[WKView mouseUp:]):
249         (-[WKView acceptsFirstMouse:]):
250         (-[WKView shouldDelayWindowOrderingForEvent:]):
251         (-[WKView pasteboardChangedOwner:]):
252         (-[WKView pasteboard:provideDataForType:]):
253         (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
254         (-[WKView _startWindowDrag]):
255         (-[WKView _setMouseDownEvent:]): Deleted.
256         (-[WKView _colorSpace]): Deleted.
257         (-[WKView _dragImageForView:withImage:at:linkDrag:]): Deleted.
258         (matchesExtensionOrEquivalent): Deleted.
259         (-[WKView _setFileAndURLTypes:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
260         (-[WKView _setPromisedDataForImage:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Deleted.
261         (-[WKView _setPromisedDataForAttachment:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
262         (fileExists): Deleted.
263         (pathWithUniqueFilenameForPath): Deleted.
264         (-[WKView spellCheckerDocumentTag]): Deleted.
265         (-[WKView handleAcceptedAlternativeText:]): Deleted.
266         (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
267         * UIProcess/API/mac/WKViewInternal.h:
268         * UIProcess/Cocoa/WebViewImpl.h:
269         * UIProcess/Cocoa/WebViewImpl.mm:
270         (WebKit::WebViewImpl::handleAcceptedAlternativeText):
271         (WebKit::WebViewImpl::spellCheckerDocumentTag):
272         (WebKit::WebViewImpl::startWindowDrag):
273         (WebKit::WebViewImpl::dragImageForView):
274         (WebKit::matchesExtensionOrEquivalent):
275         (WebKit::WebViewImpl::setFileAndURLTypes):
276         (WebKit::WebViewImpl::setPromisedDataForImage):
277         (WebKit::WebViewImpl::setPromisedDataForAttachment):
278         (WebKit::WebViewImpl::pasteboardChangedOwner):
279         (WebKit::WebViewImpl::provideDataForPasteboard):
280         (WebKit::fileExists):
281         (WebKit::pathWithUniqueFilenameForPath):
282         (WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):
283         (WebKit::WebViewImpl::setLastMouseDownEvent):
284         * UIProcess/mac/CorrectionPanel.h:
285         * UIProcess/mac/CorrectionPanel.mm:
286         (WebKit::CorrectionPanel::show):
287         (WebKit::CorrectionPanel::recordAutocorrectionResponse):
288         (WebKit::CorrectionPanel::handleAcceptedReplacement):
289         * UIProcess/mac/PageClientImpl.mm:
290         (WebKit::PageClientImpl::colorSpace):
291         (WebKit::PageClientImpl::setDragImage):
292         (WebKit::PageClientImpl::setPromisedDataForImage):
293         (WebKit::PageClientImpl::setPromisedDataForAttachment):
294         (WebKit::PageClientImpl::showCorrectionPanel):
295         (WebKit::PageClientImpl::recordAutocorrectionResponse):
296         (WebKit::PageClientImpl::showDictationAlternativeUI):
297         Move some pasteboard and spellcheck code.
298
299 2015-10-27  Wenson Hsieh  <wenson_hsieh@apple.com>
300
301         Implement viewport-width-based fast-click heuristic
302         https://bugs.webkit.org/show_bug.cgi?id=150604
303         <rdar://problem/23267308>
304
305         Reviewed by Simon Fraser.
306
307         Implement a new fast-click heuristic that applies to viewports with width = device-width. The basic rules are
308         as follows: when a page has viewport width = device-width and is at initial zoom scale, we disable double-tapping
309         in favor of fast-clicking. However, if the viewport scale is not the initial scale, we allow double tapping. For
310         fast-clicking to remain useful after the user pinch-zooms, we change our double-tap to zoom out behavior to zoom
311         to the initial scale rather than the minimum scale. For unscalable viewports, we default to fast-clicking behavior,
312         and for all other viewports not at device-width, we double-tap to zoom and scroll as normal.
313
314         This patch removes some logic previously used for our scroll- and zoom-based fast-clicking heuristic, and adds
315         information about the viewport width and initial scale to RemoteLayerTreeTransactions. This information is then
316         used by the UI process to determine whether double tapping should be disabled or enabled.
317
318         The fast-click heuristic can be turned off through user default preferences, and a tap highlight for debugging
319         fast-clicking can also be enabled through a user default preference. A red highlight indicates that a single-
320         tap was slow, whereas a green highlight indicates a fast single-tap.
321
322         * Shared/mac/RemoteLayerTreeTransaction.h:
323         (WebKit::RemoteLayerTreeTransaction::initialScaleFactor):
324         (WebKit::RemoteLayerTreeTransaction::setInitialScaleFactor):
325         (WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidth):
326         (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidth):
327         * Shared/mac/RemoteLayerTreeTransaction.mm:
328         (WebKit::RemoteLayerTreeTransaction::encode):
329         (WebKit::RemoteLayerTreeTransaction::decode):
330         * UIProcess/API/Cocoa/WKWebView.mm:
331         (-[WKWebView initWithFrame:configuration:]):
332         (-[WKWebView _processDidExit]):
333         (-[WKWebView _didCommitLayerTree:]):
334         (-[WKWebView _zoomToInitialScaleWithOrigin:animated:]):
335         (-[WKWebView _allowsDoubleTapGestures]):
336         (-[WKWebView _setViewportMetaTagWidth:]): Deleted.
337         (-[WKWebView _contentZoomScale]): Deleted.
338         (-[WKWebView _viewportMetaTagWidth]): Deleted.
339         (-[WKWebView _viewportIsUserScalable]): Deleted.
340         * UIProcess/API/Cocoa/WKWebViewInternal.h:
341         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
342         * UIProcess/PageClient.h:
343         * UIProcess/WebPageProxy.h:
344         * UIProcess/WebPageProxy.messages.in:
345         * UIProcess/ios/PageClientImplIOS.h:
346         * UIProcess/ios/PageClientImplIOS.mm:
347         (WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary):
348         (WebKit::PageClientImpl::didChangeViewportMetaTagWidth): Deleted.
349         (WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
350         * UIProcess/ios/SmartMagnificationController.h:
351         * UIProcess/ios/SmartMagnificationController.mm:
352         (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
353         * UIProcess/ios/WKContentView.h:
354         * UIProcess/ios/WKContentView.mm:
355         (-[WKContentView _zoomToInitialScaleWithOrigin:]):
356         * UIProcess/ios/WKContentViewInteraction.h:
357         * UIProcess/ios/WKContentViewInteraction.mm:
358         (-[WKContentView setupInteraction]):
359         (-[WKContentView _showTapHighlight]):
360         (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
361         (-[WKContentView _mayDisableDoubleTapGesturesDuringSingleTap]):
362         (-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]):
363         (-[WKContentView _finishInteraction]):
364         (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
365         (-[WKContentView _tapHighlightColorForFastClick:]):
366         (-[WKContentView _setDoubleTapGesturesEnabled:]):
367         (-[WKContentView _fastClickZoomThreshold]): Deleted.
368         (-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]): Deleted.
369         (-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]): Deleted.
370         * UIProcess/ios/WebPageProxyIOS.mm:
371         (WebKit::WebPageProxy::disableDoubleTapGesturesDuringTapIfNecessary):
372         (WebKit::WebPageProxy::viewportMetaTagWidthDidChange): Deleted.
373         (WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
374         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
375         * WebProcess/WebPage/WebPage.cpp:
376         (WebKit::WebPage::willCommitLayerTree):
377         * WebProcess/WebPage/ios/WebPageIOS.mm:
378         (WebKit::WebPage::potentialTapAtPosition):
379         (WebKit::WebPage::viewportPropertiesDidChange): Deleted.
380
381 2015-10-27  Tim Horton  <timothy_horton@apple.com>
382
383         WKView being inside WKWebView leads to weird API issues
384         https://bugs.webkit.org/show_bug.cgi?id=150174
385
386         Reviewed by Anders Carlsson.
387
388         * UIProcess/API/mac/WKView.mm:
389         (-[WKView _superAccessibilityAttributeValue:]):
390         (-[WKView accessibilityFocusedUIElement]):
391         (-[WKView accessibilityIsIgnored]):
392         (-[WKView accessibilityHitTest:]):
393         (-[WKView accessibilityAttributeValue:]):
394         (-[WKView _processDidExit]):
395         (-[WKView _pageClosed]):
396         (-[WKView _updateRemoteAccessibilityRegistration:]): Deleted.
397         (-[WKView enableAccessibilityIfNecessary]): Deleted.
398         (-[WKView _toolTipChangedFrom:to:]): Deleted.
399         (-[WKView _setAccessibilityWebProcessToken:]): Deleted.
400         (-[WKView _hasFullScreenWindowController]): Deleted.
401         (-[WKView _fullScreenWindowController]): Deleted.
402         (-[WKView _closeFullScreenWindowController]): Deleted.
403         (-[WKView _setSuppressVisibilityUpdates:]): Deleted.
404         (-[WKView _suppressVisibilityUpdates]): Deleted.
405         (-[WKView _primaryTrackingArea]): Deleted.
406         (-[WKView _setPrimaryTrackingArea:]): Deleted.
407         (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
408         * UIProcess/API/mac/WKViewInternal.h:
409         * UIProcess/Cocoa/WebViewImpl.h:
410         (WebKit::WebViewImpl::accessibilityIsIgnored):
411         (WebKit::WebViewImpl::primaryTrackingArea):
412         * UIProcess/Cocoa/WebViewImpl.mm:
413         (WebKit::trackingAreaOptions):
414         (WebKit::WebViewImpl::WebViewImpl):
415         (WebKit::WebViewImpl::setAccessibilityWebProcessToken):
416         (WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
417         (WebKit::WebViewImpl::accessibilityFocusedUIElement):
418         (WebKit::WebViewImpl::accessibilityHitTest):
419         (WebKit::WebViewImpl::enableAccessibilityIfNecessary):
420         (WebKit::WebViewImpl::accessibilityAttributeValue):
421         (WebKit::WebViewImpl::setPrimaryTrackingArea):
422         (WebKit::WebViewImpl::toolTipChanged):
423         * UIProcess/mac/PageClientImpl.mm:
424         (WebKit::PageClientImpl::toolTipChanged):
425         (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
426         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
427         (WebKit::PageClientImpl::closeFullScreenManager):
428         (WebKit::PageClientImpl::isFullScreen):
429         (WebKit::PageClientImpl::enterFullScreen):
430         (WebKit::PageClientImpl::exitFullScreen):
431         (WebKit::PageClientImpl::beganEnterFullScreen):
432         (WebKit::PageClientImpl::beganExitFullScreen):
433         Move accessibility code, and fold in some internal-only methods.
434
435 2015-10-27  Tim Horton  <timothy_horton@apple.com>
436
437         WKView being inside WKWebView leads to weird API issues
438         https://bugs.webkit.org/show_bug.cgi?id=150174
439
440         Reviewed by Anders Carlsson.
441
442         * UIProcess/API/mac/WKView.mm:
443         (-[WKView scrollWheel:]):
444         (-[WKView swipeWithEvent:]):
445         (-[WKView _superSwipeWithEvent:]):
446         (-[WKView _superMagnifyWithEvent:]):
447         (-[WKView _superSmartMagnifyWithEvent:]):
448         (-[WKView _processDidExit]):
449         (-[WKView setAllowsBackForwardNavigationGestures:]):
450         (-[WKView allowsBackForwardNavigationGestures]):
451         (-[WKView setAllowsMagnification:]):
452         (-[WKView allowsMagnification]):
453         (-[WKView magnifyWithEvent:]):
454         (-[WKView rotateWithEvent:]):
455         (-[WKView _gestureEventWasNotHandledByWebCore:]):
456         (-[WKView smartMagnifyWithEvent:]):
457         (-[WKView setMagnification:centeredAtPoint:]):
458         (-[WKView setMagnification:]):
459         (-[WKView magnification]):
460         (-[WKView _setCustomSwipeViews:]):
461         (-[WKView _setCustomSwipeViewsTopContentInset:]):
462         (-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
463         (-[WKView _setDidMoveSwipeSnapshotCallback:]):
464         (-[WKView _ensureGestureController]): Deleted.
465         (takeWindowSnapshot): Deleted.
466         (-[WKView _takeViewSnapshot]): Deleted.
467         (-[WKView _wheelEventWasNotHandledByWebCore:]): Deleted.
468         (-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]): Deleted.
469         (-[WKView _didFinishLoadForMainFrame]): Deleted.
470         (-[WKView _didFailLoadForMainFrame]): Deleted.
471         (-[WKView _didSameDocumentNavigationForMainFrame:]): Deleted.
472         (-[WKView _removeNavigationGestureSnapshot]): Deleted.
473         * UIProcess/API/mac/WKViewInternal.h:
474         * UIProcess/Cocoa/WebViewImpl.h:
475         (WebKit::WebViewImpl::gestureController):
476         (WebKit::WebViewImpl::allowsBackForwardNavigationGestures):
477         (WebKit::WebViewImpl::allowsMagnification):
478         * UIProcess/Cocoa/WebViewImpl.mm:
479         (WebKit::takeWindowSnapshot):
480         (WebKit::WebViewImpl::takeViewSnapshot):
481         (WebKit::WebViewImpl::ensureGestureController):
482         (WebKit::WebViewImpl::resetGestureController):
483         (WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
484         (WebKit::WebViewImpl::setAllowsMagnification):
485         (WebKit::WebViewImpl::setMagnification):
486         (WebKit::WebViewImpl::magnification):
487         (WebKit::WebViewImpl::setCustomSwipeViews):
488         (WebKit::WebViewImpl::setCustomSwipeViewsTopContentInset):
489         (WebKit::WebViewImpl::tryToSwipeWithEvent):
490         (WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
491         (WebKit::WebViewImpl::scrollWheel):
492         (WebKit::WebViewImpl::swipeWithEvent):
493         (WebKit::WebViewImpl::magnifyWithEvent):
494         (WebKit::WebViewImpl::smartMagnifyWithEvent):
495         (WebKit::WebViewImpl::rotateWithEvent):
496         (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
497         (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):
498         * UIProcess/mac/PageClientImpl.mm:
499         (WebKit::PageClientImpl::takeViewSnapshot):
500         (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
501         (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
502         (WebKit::PageClientImpl::didFinishLoadForMainFrame):
503         (WebKit::PageClientImpl::didFailLoadForMainFrame):
504         (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
505         (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
506         Move swipe, zoom, rotate, and snapshotting code.
507
508 2015-10-27  Zhuo Li  <zachli@apple.com>
509
510         Add WebKit API to clear data type Search Field Recent Searches.
511         https://bugs.webkit.org/show_bug.cgi?id=150019.
512
513         Reviewed by Anders Carlsson.
514
515         * Shared/WebsiteData/WebsiteDataTypes.h: Add data type Search Field Recent Searches.
516         * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
517         (dataTypesToString): Ditto.
518         * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
519         (WebKit::toWebsiteDataTypes): Ditto.
520         (WebKit::toWKWebsiteDataTypes): Ditto.
521         * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: Ditto.
522         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
523         (WebKit::WebsiteDataStore::removeData): Handle the case when data type is Search
524         Field Recent Searches.
525         * UIProcess/WebsiteData/WebsiteDataStore.h: Add a private function for removing
526         recent searches based on time.
527         * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
528         (WebKit::WebsiteDataStoreCocoa::platformRemoveRecentSearches): Call the removing
529         recent searches logic in WebCore.
530         * UIProcess/efl/WebPageProxyEfl.cpp:
531         (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.
532         * UIProcess/gtk/WebPageProxyGtk.cpp:
533         (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.
534
535 2015-10-26  Brady Eidson  <beidson@apple.com>
536
537         Make IDBKeyData from a struct to a class.
538         https://bugs.webkit.org/show_bug.cgi?id=150576
539
540         Reviewed by Alex Christensen.
541
542         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
543         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
544         * DatabaseProcess/IndexedDB/IDBSerialization.h:
545         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
546         (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
547         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
548         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
549         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
550         (WebKit::buildIndexStatement):
551         (WebKit::buildObjectStoreStatement):
552         (WebKit::SQLiteIDBCursor::establishStatement):
553         (WebKit::SQLiteIDBCursor::createSQLiteStatement):
554         (WebKit::SQLiteIDBCursor::resetAndRebindStatement):
555         (WebKit::SQLiteIDBCursor::iterate):
556         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
557         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
558         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
559         (WebKit::WebIDBServerConnection::didPutRecord):
560         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
561         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
562
563 2015-10-26  Philip Chimento  <philip.chimento@gmail.com>
564
565         [GTK] [Stable] InstallMissingMediaPluginsPermissionRequest not defined when building without GStreamer
566         https://bugs.webkit.org/show_bug.cgi?id=148607
567
568         Unreviewed, build fix.
569
570         * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h:
571         Add a stub for the InstallMissingMediaPluginsPermissionRequest class
572         for the case when video is disabled or not using GStreamer. It's OK
573         that this class does nothing, because the associated C API contains
574         an assert_not_reached if video is disabled. We just need to define
575         the symbol so that the function signature will compile.
576
577 2015-10-26  Anders Carlsson  <andersca@apple.com>
578
579         Pipe custom context menu handling through to the UIDelegate object
580         https://bugs.webkit.org/show_bug.cgi?id=150572
581
582         Reviewed by Tim Horton.
583
584         * UIProcess/API/APIContextMenuClient.h:
585         (API::ContextMenuClient::menuFromProposedMenu):
586         * UIProcess/API/Cocoa/WKWebView.mm:
587         (-[WKWebView setUIDelegate:]):
588         * UIProcess/Cocoa/UIDelegate.h:
589         * UIProcess/Cocoa/UIDelegate.mm:
590         (WebKit::UIDelegate::createContextMenuClient):
591         (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
592         (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
593         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
594         * UIProcess/mac/WebContextMenuProxyMac.mm:
595         (WebKit::WebContextMenuProxyMac::showContextMenu):
596
597 2015-10-26  Tim Horton  <timothy_horton@apple.com>
598
599         WKView being inside WKWebView leads to weird API issues
600         https://bugs.webkit.org/show_bug.cgi?id=150174
601
602         Reviewed by Anders Carlsson.
603
604         * UIProcess/API/mac/WKView.mm:
605         (-[WKView mouseDown:]):
606         (-[WKView mouseDragged:]):
607         (-[WKView draggedImage:endedAt:operation:]):
608         (-[WKView draggingEntered:]):
609         (-[WKView draggingUpdated:]):
610         (-[WKView draggingExited:]):
611         (-[WKView prepareForDragOperation:]):
612         (-[WKView performDragOperation:]):
613         (-[WKView _hitTest:dragTypes:]):
614         (-[WKView initWithFrame:processPool:configuration:webView:]):
615         (-[WKView applicationFlags:]): Deleted.
616         (maybeCreateSandboxExtensionFromPasteboard): Deleted.
617         (createSandboxExtensionsForFileUpload): Deleted.
618         (-[WKView _registerDraggedTypes]): Deleted.
619         * UIProcess/Cocoa/WebViewImpl.h:
620         (WebKit::WebViewImpl::ignoresMouseDraggedEvents):
621         * UIProcess/Cocoa/WebViewImpl.mm:
622         (WebKit::WebViewImpl::setIgnoresMouseDraggedEvents):
623         (WebKit::WebViewImpl::draggedImage):
624         (WebKit::applicationFlagsForDrag):
625         (WebKit::WebViewImpl::draggingEntered):
626         (WebKit::WebViewImpl::draggingUpdated):
627         (WebKit::WebViewImpl::draggingExited):
628         (WebKit::WebViewImpl::prepareForDragOperation):
629         (WebKit::maybeCreateSandboxExtensionFromPasteboard):
630         (WebKit::createSandboxExtensionsForFileUpload):
631         (WebKit::WebViewImpl::performDragOperation):
632         (WebKit::WebViewImpl::hitTestForDragTypes):
633         (WebKit::WebViewImpl::registerDraggedTypes):
634         Move some drag-related things to WebViewImpl.
635
636 2015-10-26  Anders Carlsson  <andersca@apple.com>
637
638         Pipe custom context menu handling through to the UIDelegate object
639         https://bugs.webkit.org/show_bug.cgi?id=150572
640
641         Reviewed by Tim Horton.
642
643         * UIProcess/API/APIContextMenuClient.h:
644         (API::ContextMenuClient::menuFromProposedMenu):
645         * UIProcess/API/Cocoa/WKWebView.mm:
646         (-[WKWebView setUIDelegate:]):
647         * UIProcess/Cocoa/UIDelegate.h:
648         * UIProcess/Cocoa/UIDelegate.mm:
649         (WebKit::UIDelegate::createContextMenuClient):
650         (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
651         (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
652         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
653         * UIProcess/mac/WebContextMenuProxyMac.mm:
654         (WebKit::WebContextMenuProxyMac::showContextMenu):
655
656 2015-10-26  Alex Christensen  <achristensen@webkit.org>
657
658         Build fix when using NETWORK_SESSION after r191457.
659
660         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
661         (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
662         Use resourceResponse.
663
664 2015-10-26  Anders Carlsson  <andersca@apple.com>
665
666         Remove more dead context menu code
667         https://bugs.webkit.org/show_bug.cgi?id=150569
668
669         Reviewed by Tim Horton.
670
671         * UIProcess/API/APIContextMenuClient.h:
672         (API::ContextMenuClient::contextMenuDismissed): Deleted.
673         * UIProcess/API/C/WKPage.cpp:
674         (WKPageSetPageContextMenuClient): Deleted.
675
676 2015-10-26  Anders Carlsson  <andersca@apple.com>
677
678         Remove dead context menu code
679         https://bugs.webkit.org/show_bug.cgi?id=150567
680
681         Reviewed by Tim Horton.
682
683         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
684         (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Deleted.
685         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
686
687 2015-10-26  Tim Horton  <timothy_horton@apple.com>
688
689         Don't expose the whitelist/blacklist in _WKUserStyleSheet
690         https://bugs.webkit.org/show_bug.cgi?id=150566
691
692         Reviewed by Anders Carlsson.
693
694         * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
695         * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
696         (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
697         (toWTFStrings): Deleted.
698         (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]): Deleted.
699         (-[_WKUserStyleSheet whitelistedURLPatterns]): Deleted.
700         (-[_WKUserStyleSheet blacklistedURLPatterns]): Deleted.
701
702 2015-10-25  Carlos Garcia Campos  <cgarcia@igalia.com>
703
704         Unreviewed. Fix GTK+ build after r191543.
705
706         * UIProcess/API/gtk/WebKitWebView.cpp:
707         (webkit_web_view_run_javascript):
708         (resourcesStreamReadCallback):
709
710 2015-10-24  Tim Horton  <timothy_horton@apple.com>
711
712         Add a way to add user style sheets to WKUserContentController
713         https://bugs.webkit.org/show_bug.cgi?id=150531
714         <rdar://problem/23191691>
715
716         Reviewed by Darin Adler.
717
718         * Shared/API/APIObject.h:
719         * Shared/Cocoa/APIObject.mm:
720         (API::Object::newObject):
721         Boilerplate for a new API::UserStyleSheet.
722
723         * UIProcess/API/APIUserStyleSheet.cpp: Added.
724         (API::generateIdentifier):
725         (API::UserStyleSheet::generateUniqueURL):
726         * UIProcess/API/APIUserStyleSheet.h: Added.
727         Added API::UserStyleSheet, borrowing URL generation code from API::UserScript.
728
729         * UIProcess/API/Cocoa/WKUserContentController.mm:
730         (-[WKUserContentController _addUserStyleSheet:]):
731         (-[WKUserContentController _removeAllUserStyleSheets]):
732         Forward add and remove-all to WebUserContentControllerProxy.
733
734         * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
735         * UIProcess/API/Cocoa/_WKUserStyleSheet.h: Added.
736         * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: Added.
737         (toWTFStrings):
738         (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]):
739         (-[_WKUserStyleSheet source]):
740         (-[_WKUserStyleSheet isForMainFrameOnly]):
741         (-[_WKUserStyleSheet copyWithZone:]):
742         (-[_WKUserStyleSheet _apiObject]):
743         * UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h: Added.
744         (API::wrapper):
745         * WebKit2.xcodeproj/project.pbxproj:
746         Add the new modern API object (as SPI for now).
747
748 2015-10-24  Tim Horton  <timothy_horton@apple.com>
749
750         Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors
751         https://bugs.webkit.org/show_bug.cgi?id=150525
752
753         Reviewed by Darin Adler.
754
755         * Scripts/webkit/messages.py:
756         (headers_for_type):
757         * Shared/WebCoreArgumentCoders.cpp:
758         (IPC::ArgumentCoder<ExceptionDetails>::encode):
759         (IPC::ArgumentCoder<ExceptionDetails>::decode):
760         * Shared/WebCoreArgumentCoders.h:
761         Learn how to en/decode ExceptionDetails.
762
763         * UIProcess/API/C/WKPage.cpp:
764         (WKPageRunJavaScriptInMainFrame):
765         * UIProcess/WebPageProxy.cpp:
766         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
767         (WebKit::WebPageProxy::scriptValueCallback):
768         * UIProcess/WebPageProxy.h:
769         * UIProcess/WebPageProxy.messages.in:
770         * WebProcess/WebPage/WebPage.cpp:
771         (WebKit::WebPage::runJavaScriptInMainFrame):
772         Plumb ExceptionDetails back through runJavaScriptInMainFrame, across the
773         process boundary.
774
775         * UIProcess/API/Cocoa/WKError.mm:
776         (localizedDescriptionForErrorCode):
777         * UIProcess/API/Cocoa/WKErrorInternal.h:
778         * UIProcess/API/Cocoa/WKErrorPrivate.h:
779         Expose localizedDescriptionForErrorCode so that WKWebView can do special
780         things with its error.
781         Add new private userInfo keys for exception info.
782
783         * UIProcess/API/Cocoa/WKWebView.mm:
784         (-[WKWebView evaluateJavaScript:completionHandler:]):
785         Fill in the NSError userInfo with the exception info.
786
787 2015-10-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
788
789         [EFL] Fix a wrong enum variable use
790         https://bugs.webkit.org/show_bug.cgi?id=150522
791
792         Reviewed by Csaba Osztrogonác.
793
794         * UIProcess/API/efl/EwkView.cpp:
795         (EwkView::requestPopupMenu):
796         Use kWKPopupItemTextDirectionLTR instead of EWK_TEXT_DIRECTION_LEFT_TO_RIGHT.
797
798 2015-10-24  Dan Bernstein  <mitz@apple.com>
799
800         [Cocoa] _WKFormInputSession should provide access to the focused element info
801         https://bugs.webkit.org/show_bug.cgi?id=150512
802
803         Reviewed by Tim Horton.
804
805         * UIProcess/API/Cocoa/_WKFormInputSession.h: Added focusedElementInfo property to the
806           protocol.
807
808         * UIProcess/ios/WKContentViewInteraction.mm:
809         (-[WKFormInputSession initWithContentView:focusedElementInfo:userObject:]): Added the
810           focusedElementInfo argument, used to initialize a new ivar.
811         (-[WKFormInputSession focusedElementInfo]): Added this getter for the new
812           _WKFormInputSession property.
813         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
814           Create the WKFocusedElementInfo unconditionally and pass it to the new WKFormInputSession
815           initializer.
816
817 2015-10-24  Dan Bernstein  <mitz@apple.com>
818
819         [iOS] Allow clients to specify a custom input view to be used for a form input session
820         https://bugs.webkit.org/show_bug.cgi?id=150395
821
822         Reviewed by Tim Horton.
823
824         * UIProcess/API/Cocoa/_WKFormInputSession.h: Added customInputView property to the protocol.
825
826         * UIProcess/ios/WKContentViewInteraction.mm:
827         (-[WKFormInputSession customInputView]): Added this getter.
828         (-[WKFormInputSession setCustomInputView:]): Added this setter, which reloads the input
829           views when the custom input view changes.
830         (-[WKContentView inputView]): Changed to return the custom view from the input session if
831           there is one.
832
833 2015-10-23  Alex Christensen  <achristensen@webkit.org>
834
835         Fix CMake compile error and add correct null check
836         https://bugs.webkit.org/show_bug.cgi?id=150520
837
838         Reviewed by Simon Fraser.
839
840         * UIProcess/API/Cocoa/WKWebView.mm:
841         (-[WKWebView _doAfterNextPresentationUpdate:]):
842
843 2015-10-23  Alex Christensen  <achristensen@webkit.org>
844
845         Progress towards CMake on Mac
846         https://bugs.webkit.org/show_bug.cgi?id=150517
847
848         Reviewed by Tim Horton.
849
850         * CMakeLists.txt:
851         * PlatformEfl.cmake:
852         * PlatformGTK.cmake:
853         * PlatformMac.cmake:
854         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Removed.
855         * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed.
856
857 2015-10-23  Tim Horton  <timothy_horton@apple.com>
858
859         WKView being inside WKWebView leads to weird API issues
860         https://bugs.webkit.org/show_bug.cgi?id=150174
861
862         * UIProcess/Cocoa/WebViewImpl.h:
863         Whoops.
864
865 2015-10-23  Tim Horton  <timothy_horton@apple.com>
866
867         WKView being inside WKWebView leads to weird API issues
868         https://bugs.webkit.org/show_bug.cgi?id=150174
869
870         Reviewed by Anders Carlsson.
871
872         * UIProcess/API/mac/WKView.mm:
873         (-[WKView hitTest:]):
874         (-[WKView _processDidExit]):
875         (-[WKView _setThumbnailView:]):
876         (-[WKView _thumbnailView]):
877         (-[WKFlippedView isFlipped]): Deleted.
878         (-[WKView dealloc]): Deleted.
879         (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
880         (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
881         (-[WKView _updateThumbnailViewLayer]): Deleted.
882         (-[WKView _reparentLayerTreeInThumbnailView]): Deleted.
883         * UIProcess/API/mac/WKViewInternal.h:
884         * UIProcess/Cocoa/WebViewImpl.h:
885         (WebKit::WebViewImpl::acceleratedCompositingRootLayer):
886         (WebKit::WebViewImpl::layerHostingView):
887         (WebKit::WebViewImpl::thumbnailView):
888         * UIProcess/Cocoa/WebViewImpl.mm:
889         (-[WKFlippedView isFlipped]):
890         (WebKit::WebViewImpl::~WebViewImpl):
891         (WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
892         (WebKit::WebViewImpl::setThumbnailView):
893         (WebKit::WebViewImpl::reparentLayerTreeInThumbnailView):
894         (WebKit::WebViewImpl::updateThumbnailViewLayer):
895         * UIProcess/mac/PageClientImpl.mm:
896         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
897         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
898         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
899         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
900         (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
901         Move accelerated compositing and thumbnail view code.
902
903 2015-10-23  Tim Horton  <timothy_horton@apple.com>
904
905         WKView being inside WKWebView leads to weird API issues
906         https://bugs.webkit.org/show_bug.cgi?id=150174
907
908         Reviewed by Anders Carlsson.
909
910         * UIProcess/API/mac/WKView.mm:
911         (-[WKView _superRemoveTrackingRect:]):
912         (-[WKView addTrackingRect:owner:userData:assumeInside:]):
913         (-[WKView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
914         (-[WKView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
915         (-[WKView removeTrackingRect:]):
916         (-[WKView _removeTrackingRects:count:]):
917         (-[WKView view:stringForToolTip:point:userData:]):
918         (-[WKView _toolTipChangedFrom:to:]):
919         (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
920         (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
921         (takeWindowSnapshot): Deleted.
922         * UIProcess/Cocoa/WebViewImpl.h:
923         * UIProcess/Cocoa/WebViewImpl.mm:
924         (WebKit::WebViewImpl::addTrackingRect):
925         (WebKit::WebViewImpl::addTrackingRectWithTrackingNum):
926         (WebKit::WebViewImpl::addTrackingRectsWithTrackingNums):
927         (WebKit::WebViewImpl::removeTrackingRect):
928         (WebKit::WebViewImpl::removeTrackingRects):
929         (WebKit::WebViewImpl::sendToolTipMouseExited):
930         (WebKit::WebViewImpl::sendToolTipMouseEntered):
931         (WebKit::WebViewImpl::stringForToolTip):
932         (WebKit::WebViewImpl::toolTipChanged):
933         Move tooltip code.
934
935 2015-10-23  Tim Horton  <timothy_horton@apple.com>
936
937         WKView being inside WKWebView leads to weird API issues
938         https://bugs.webkit.org/show_bug.cgi?id=150174
939
940         Reviewed by Anders Carlsson.
941
942         * UIProcess/API/mac/WKView.mm:
943         (-[WKView _interpretKeyEvent:completionHandler:]):
944         (-[WKView inputContext]):
945         (-[WKView performKeyEquivalent:]):
946         (-[WKView keyDown:]):
947         (-[WKView _doneWithKeyEvent:eventWasHandled:]):
948         (-[WKView _setPluginComplexTextInputState:]): Deleted.
949         (-[WKView _disableComplexTextInputIfNecessary]): Deleted.
950         (-[WKView _handlePluginComplexTextInputKeyDown:]): Deleted.
951         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): Deleted.
952         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): Deleted.
953         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Deleted.
954         (-[WKView _setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Deleted.
955         * UIProcess/API/mac/WKViewInternal.h:
956         * UIProcess/Cocoa/WebViewImpl.h:
957         (WebKit::WebViewImpl::pluginComplexTextInputState):
958         (WebKit::WebViewImpl::pluginComplexTextInputIdentifier):
959         * UIProcess/Cocoa/WebViewImpl.mm:
960         (WebKit::WebViewImpl::setPluginComplexTextInputState):
961         (WebKit::WebViewImpl::setPluginComplexTextInputStateAndIdentifier):
962         (WebKit::WebViewImpl::disableComplexTextInputIfNecessary):
963         (WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
964         (WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown):
965         (WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
966         (WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown):
967         * UIProcess/mac/PageClientImpl.mm:
968         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
969         (WebKit::PageClientImpl::setPluginComplexTextInputState):
970         Move a few more methods.
971
972 2015-10-23  Eric Carlson  <eric.carlson@apple.com>
973
974         [MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
975         https://bugs.webkit.org/show_bug.cgi?id=150503
976         <rdar://problem/23235386>
977
978         Reviewed by Dean Jackson.
979
980         * UIProcess/UserMediaPermissionRequestProxy.cpp:
981         (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): m_manager is a pointer.
982         (WebKit::UserMediaPermissionRequestProxy::allow): Return early if m_manager is null, clear it after
983           calling the manager.
984         (WebKit::UserMediaPermissionRequestProxy::deny): Ditto.
985         (WebKit::UserMediaPermissionRequestProxy::invalidate): Clear m_manager.
986         * UIProcess/UserMediaPermissionRequestProxy.h: Change m_manager from a reference to a
987           pointer so it can be cleared.
988
989 2015-10-23  Claudio Saavedra  <csaavedra@igalia.com>
990
991         [GTK] Minor web editor fixes
992         https://bugs.webkit.org/show_bug.cgi?id=150501
993
994         Reviewed by Carlos Garcia Campos.
995
996         * UIProcess/gtk/KeyBindingTranslator.cpp: Remove
997         "MoveParagraphForward/Backward" as these commands do not exist in
998         WebKit (anymore?).
999         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
1000         (WebKit::WebEditorClient::executePendingEditorCommands):
1001         Editor::Command can take a String, no need to convert to a C char.
1002
1003 2015-10-23  Timothy Horton  <timothy_horton@apple.com>
1004
1005         Fix the build by unapplying review comments.
1006
1007         * UIProcess/Cocoa/WebViewImpl.h:
1008
1009 2015-10-23  Tim Horton  <timothy_horton@apple.com>
1010
1011         WKView being inside WKWebView leads to weird API issues
1012         https://bugs.webkit.org/show_bug.cgi?id=150174
1013
1014         Reviewed by Anders Carlsson.
1015
1016         * UIProcess/API/mac/WKView.mm:
1017         (-[WKView renewGState]):
1018         (-[WKView writeSelectionToPasteboard:types:]):
1019         (-[WKView centerSelectionInVisibleArea:]):
1020         (-[WKView scrollWheel:]):
1021         (-[WKView swipeWithEvent:]):
1022         (-[WKView mouseMoved:]):
1023         (-[WKView mouseDown:]):
1024         (-[WKView mouseUp:]):
1025         (-[WKView mouseDragged:]):
1026         (-[WKView pressureChangeWithEvent:]):
1027         (-[WKView acceptsFirstMouse:]):
1028         (-[WKView shouldDelayWindowOrderingForEvent:]):
1029         (-[WKView performKeyEquivalent:]):
1030         (-[WKView keyUp:]):
1031         (-[WKView keyDown:]):
1032         (-[WKView flagsChanged:]):
1033         (-[WKView _superQuickLookWithEvent:]):
1034         (-[WKView _addFontPanelObserver]):
1035         (-[WKView viewWillMoveToWindow:]):
1036         (-[WKView viewDidMoveToWindow]):
1037         (-[WKView viewDidChangeBackingProperties]):
1038         (-[WKView enableAccessibilityIfNecessary]):
1039         (-[WKView quickLookWithEvent:]):
1040         (-[WKView _colorSpace]):
1041         (-[WKView _didRelaunchProcess]):
1042         (-[WKView _setTextIndicator:]):
1043         (-[WKView _setTextIndicator:withLifetime:]):
1044         (-[WKView _clearTextIndicatorWithAnimation:]):
1045         (-[WKView _setTextIndicatorAnimationProgress:]):
1046         (-[WKView initWithFrame:processPool:configuration:webView:]):
1047         (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
1048         (-[WKView _internalImmediateActionAnimationControllerForHitTestResult:withType:userData:]):
1049         (-[WKView _internalPrepareForImmediateActionAnimation]):
1050         (-[WKView _internalCancelImmediateActionAnimation]):
1051         (-[WKView _internalCompleteImmediateActionAnimation]):
1052         (-[WKView _internalDismissContentRelativeChildWindowsWithAnimation:]):
1053         (-[WKView beginDeferringViewInWindowChanges]):
1054         (-[WKView endDeferringViewInWindowChanges]):
1055         (-[WKView endDeferringViewInWindowChangesSync]):
1056         (-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
1057         (-[WKView isDeferringViewInWindowChanges]):
1058         (-[WKView allowsLinkPreview]):
1059         (-[WKView setAllowsLinkPreview:]):
1060         (-[WKView _setIgnoresAllEvents:]):
1061         (-[WKView _setIgnoresNonWheelMouseEvents:]):
1062         (-[WKView _setIgnoresNonWheelEvents:]):
1063         (-[WKView _ignoresNonWheelEvents]):
1064         (-[WKView _ignoresAllEvents]):
1065         (-[WKView _setOverrideDeviceScaleFactor:]):
1066         (-[WKView _overrideDeviceScaleFactor]):
1067         (-[WKView _setTopContentInset:]):
1068         (-[WKView _topContentInset]):
1069         (-[WKView _dismissContentRelativeChildWindows]):
1070         (-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
1071         (-[WKView _setAutomaticallyAdjustsContentInsets:]):
1072         (-[WKView _automaticallyAdjustsContentInsets]):
1073         (-[WKWindowVisibilityObserver initWithView:]): Deleted.
1074         (-[WKWindowVisibilityObserver startObserving:]): Deleted.
1075         (-[WKWindowVisibilityObserver stopObserving:]): Deleted.
1076         (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): Deleted.
1077         (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): Deleted.
1078         (-[WKView dealloc]): Deleted.
1079         (-[WKView _updateWindowAndViewFrames]): Deleted.
1080         (-[WKView updateFontPanelIfNeeded]): Deleted.
1081         (-[WKView _selectionChanged]): Deleted.
1082         (-[WKView addWindowObserversForWindow:]): Deleted.
1083         (-[WKView removeWindowObservers]): Deleted.
1084         (-[WKView doWindowDidChangeScreen]): Deleted.
1085         (-[WKView _windowDidBecomeKey:]): Deleted.
1086         (-[WKView _windowDidChangeScreen:]): Deleted.
1087         (-[WKView _windowDidChangeLayerHosting:]): Deleted.
1088         (-[WKView _windowDidResignKey:]): Deleted.
1089         (-[WKView _windowDidMiniaturize:]): Deleted.
1090         (-[WKView _windowDidDeminiaturize:]): Deleted.
1091         (-[WKView _windowDidMove:]): Deleted.
1092         (-[WKView _windowDidResize:]): Deleted.
1093         (-[WKView _windowDidOrderOffScreen:]): Deleted.
1094         (-[WKView _windowDidOrderOnScreen:]): Deleted.
1095         (-[WKView _windowDidChangeBackingProperties:]): Deleted.
1096         (-[WKView _windowDidChangeOcclusionState:]): Deleted.
1097         (-[WKView _prepareForDictionaryLookup]): Deleted.
1098         (-[WKView _dictionaryLookupPopoverWillClose:]): Deleted.
1099         (-[WKView _accessibilityRegisterUIProcessTokens]): Deleted.
1100         (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Deleted.
1101         (-[WKView _intrinsicDeviceScaleFactor]): Deleted.
1102         (-[WKView _preferencesDidChange]): Deleted.
1103         (-[WKView _targetWindowForMovePreparation]): Deleted.
1104         (-[WKView _updateContentInsetsIfAutomatic]): Deleted.
1105         (-[WKView observeValueForKeyPath:ofObject:change:context:]): Deleted.
1106         (-[WKView _dispatchSetTopContentInset]): Deleted.
1107         * UIProcess/API/mac/WKViewInternal.h:
1108         * UIProcess/Cocoa/WebViewImpl.h:
1109         (WebKit::WebViewImpl::automaticallyAdjustsContentInsets):
1110         (WebKit::WebViewImpl::topContentInset):
1111         (WebKit::WebViewImpl::overrideDeviceScaleFactor):
1112         (WebKit::WebViewImpl::isDeferringViewInWindowChanges):
1113         (WebKit::WebViewImpl::targetWindowForMovePreparation):
1114         (WebKit::WebViewImpl::lastPressureEvent):
1115         (WebKit::WebViewImpl::allowsLinkPreview):
1116         (WebKit::WebViewImpl::ignoresNonWheelEvents):
1117         (WebKit::WebViewImpl::ignoresAllEvents):
1118         (WebKit::WebViewImpl::createWeakPtr):
1119         * UIProcess/Cocoa/WebViewImpl.mm:
1120         (SOFT_LINK_CONSTANT_MAY_FAIL):
1121         (-[WKWindowVisibilityObserver initWithView:impl:]):
1122         (-[WKWindowVisibilityObserver dealloc]):
1123         (-[WKWindowVisibilityObserver startObserving:]):
1124         (-[WKWindowVisibilityObserver stopObserving:]):
1125         (-[WKWindowVisibilityObserver startObservingFontPanel]):
1126         (-[WKWindowVisibilityObserver startObservingLookupDismissal]):
1127         (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]):
1128         (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]):
1129         (-[WKWindowVisibilityObserver _windowDidBecomeKey:]):
1130         (-[WKWindowVisibilityObserver _windowDidResignKey:]):
1131         (-[WKWindowVisibilityObserver _windowDidMiniaturize:]):
1132         (-[WKWindowVisibilityObserver _windowDidDeminiaturize:]):
1133         (-[WKWindowVisibilityObserver _windowDidMove:]):
1134         (-[WKWindowVisibilityObserver _windowDidResize:]):
1135         (-[WKWindowVisibilityObserver _windowDidChangeBackingProperties:]):
1136         (-[WKWindowVisibilityObserver _windowDidChangeScreen:]):
1137         (-[WKWindowVisibilityObserver _windowDidChangeLayerHosting:]):
1138         (-[WKWindowVisibilityObserver _windowDidChangeOcclusionState:]):
1139         (-[WKWindowVisibilityObserver observeValueForKeyPath:ofObject:change:context:]):
1140         (-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]):
1141         (-[WKEditCommandObjC initWithWebEditCommandProxy:]):
1142         (-[WKEditCommandObjC command]):
1143         (-[WKEditorUndoTargetObjC undoEditing:]):
1144         (-[WKEditorUndoTargetObjC redoEditing:]):
1145         (WebKit::WebViewImpl::WebViewImpl):
1146         (WebKit::WebViewImpl::~WebViewImpl):
1147         (WebKit::WebViewImpl::becomeFirstResponder):
1148         (WebKit::WebViewImpl::resignFirstResponder):
1149         (WebKit::WebViewImpl::renewGState):
1150         (WebKit::WebViewImpl::updateWindowAndViewFrames):
1151         (WebKit::WebViewImpl::setAutomaticallyAdjustsContentInsets):
1152         (WebKit::WebViewImpl::updateContentInsetsIfAutomatic):
1153         (WebKit::WebViewImpl::setTopContentInset):
1154         (WebKit::WebViewImpl::dispatchSetTopContentInset):
1155         (WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
1156         (WebKit::WebViewImpl::intrinsicDeviceScaleFactor):
1157         (WebKit::WebViewImpl::windowDidOrderOffScreen):
1158         (WebKit::WebViewImpl::windowDidOrderOnScreen):
1159         (WebKit::WebViewImpl::windowDidBecomeKey):
1160         (WebKit::WebViewImpl::windowDidResignKey):
1161         (WebKit::WebViewImpl::windowDidMiniaturize):
1162         (WebKit::WebViewImpl::windowDidDeminiaturize):
1163         (WebKit::WebViewImpl::windowDidMove):
1164         (WebKit::WebViewImpl::windowDidResize):
1165         (WebKit::WebViewImpl::windowDidChangeBackingProperties):
1166         (WebKit::WebViewImpl::windowDidChangeScreen):
1167         (WebKit::WebViewImpl::windowDidChangeLayerHosting):
1168         (WebKit::WebViewImpl::windowDidChangeOcclusionState):
1169         (WebKit::WebViewImpl::viewWillMoveToWindow):
1170         (WebKit::WebViewImpl::viewDidMoveToWindow):
1171         (WebKit::WebViewImpl::viewDidChangeBackingProperties):
1172         (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
1173         (WebKit::WebViewImpl::colorSpace):
1174         (WebKit::WebViewImpl::beginDeferringViewInWindowChanges):
1175         (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
1176         (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
1177         (WebKit::WebViewImpl::prepareForMoveToWindow):
1178         (WebKit::WebViewImpl::pressureChangeWithEvent):
1179         (WebKit::WebViewImpl::isEditable):
1180         (WebKit::WebViewImpl::executeEditCommand):
1181         (WebKit::WebViewImpl::registerEditCommand):
1182         (WebKit::WebViewImpl::clearAllEditCommands):
1183         (WebKit::WebViewImpl::writeSelectionToPasteboard):
1184         (WebKit::WebViewImpl::centerSelectionInVisibleArea):
1185         (WebKit::WebViewImpl::selectionDidChange):
1186         (WebKit::WebViewImpl::startObservingFontPanel):
1187         (WebKit::WebViewImpl::updateFontPanelIfNeeded):
1188         (WebKit::WebViewImpl::preferencesDidChange):
1189         (WebKit::WebViewImpl::setTextIndicator):
1190         (WebKit::WebViewImpl::clearTextIndicatorWithAnimation):
1191         (WebKit::WebViewImpl::setTextIndicatorAnimationProgress):
1192         (WebKit::WebViewImpl::dismissContentRelativeChildWindows):
1193         (WebKit::WebViewImpl::quickLookWithEvent):
1194         (WebKit::WebViewImpl::prepareForDictionaryLookup):
1195         (WebKit::WebViewImpl::setAllowsLinkPreview):
1196         (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
1197         (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
1198         (WebKit::WebViewImpl::cancelImmediateActionAnimation):
1199         (WebKit::WebViewImpl::completeImmediateActionAnimation):
1200         (WebKit::WebViewImpl::setIgnoresNonWheelEvents):
1201         (WebKit::WebViewImpl::setIgnoresAllEvents):
1202         (WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
1203         * UIProcess/mac/PageClientImpl.h:
1204         * UIProcess/mac/PageClientImpl.mm:
1205         (WebKit::PageClientImpl::activeWindow):
1206         (WebKit::PageClientImpl::preferencesDidChange):
1207         (WebKit::PageClientImpl::registerEditCommand):
1208         (WebKit::PageClientImpl::clearAllEditCommands):
1209         (WebKit::PageClientImpl::selectionDidChange):
1210         (WebKit::PageClientImpl::didPerformDictionaryLookup):
1211         (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Deleted.
1212         (-[WKEditCommandObjC command]): Deleted.
1213         (-[WKEditorUndoTargetObjC undoEditing:]): Deleted.
1214         (-[WKEditorUndoTargetObjC redoEditing:]): Deleted.
1215         (WebKit::PageClientImpl::PageClientImpl): Deleted.
1216         Move more things to WebViewImpl.
1217         This also introduces an unfortunate pattern that is required for things which
1218         clients override on WKView, where we have a flow like this:
1219                 - somebody (PageClient, etc.) calls WebViewImpl::x
1220                 - WebViewImpl::x does nothing except call [WKView _x]
1221                 - [WKView _x] calls WebViewImpl::xFromViewOnly, which does the real work
1222         As long as no clients call the -FromViewOnly variant, this will mean that
1223         all callers are bottlenecked through the overridable WKView method.
1224         How this works with WKWebView, I am not sure yet.
1225
1226         * UIProcess/mac/WKImmediateActionController.h:
1227         * UIProcess/mac/WKImmediateActionController.mm:
1228         (-[WKImmediateActionController initWithPage:view:viewImpl:recognizer:]):
1229         (-[WKImmediateActionController willDestroyView:]):
1230         (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
1231         (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
1232         (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
1233         (-[WKImmediateActionController menuItem:viewAtScreenPoint:]):
1234         (-[WKImmediateActionController menuItem:previewItemAtPoint:]):
1235         (-[WKImmediateActionController menuItem:itemFrameForPoint:]):
1236         (-[WKImmediateActionController menuItem:maxSizeForPoint:]):
1237         (-[WKImmediateActionController _animationControllerForDataDetectedText]):
1238         (-[WKImmediateActionController _animationControllerForDataDetectedLink]):
1239         (-[WKImmediateActionController _animationControllerForText]):
1240         (-[WKImmediateActionController initWithPage:view:recognizer:]): Deleted.
1241         Keep a generic NSView, use the WebViewImpl for WK*View related things.
1242
1243 2015-10-22  Joonghun Park  <jh718.park@samsung.com>
1244
1245         [GTK] Fix build break since r191471
1246         https://bugs.webkit.org/show_bug.cgi?id=150487
1247
1248         Reviewed by Žan Doberšek.
1249
1250         * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
1251         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1252         (WebKit::WebContextMenuProxyGtk::populate):
1253
1254 2015-10-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1255
1256         [EFL] Build break since r191472 and r191473
1257         https://bugs.webkit.org/show_bug.cgi?id=150485
1258
1259         Unreviewed build fix.
1260
1261         * CMakeLists.txt: Remove icu include path and move page include path.
1262
1263 2015-10-22  Sam Weinig  <sam@webkit.org>
1264
1265         Navigations on the same host (but with different schemes and ports) should not trigger universal links
1266         <rdar://problem/22811325>
1267         https://bugs.webkit.org/show_bug.cgi?id=150481
1268
1269         Reviewed by Dan Bernstein.
1270
1271         Update the policy for following universal links to only take host into consideration.
1272
1273         * UIProcess/API/C/WKPage.cpp:
1274         (WKPageSetPageUIClient):
1275         * UIProcess/Cocoa/UIDelegate.mm:
1276         (WebKit::UIDelegate::UIClient::createNewPage):
1277         * UIProcess/WebPageProxy.cpp:
1278         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
1279         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
1280         (WebKit::WebPageProxy::createNewPage):
1281         (WebKit::WebPageProxy::showPage):
1282
1283 2015-10-22  Anders Carlsson  <andersca@apple.com>
1284
1285         Simplify menu creation
1286         https://bugs.webkit.org/show_bug.cgi?id=150476
1287
1288         Reviewed by Tim Horton.
1289
1290         Instead of creating vectors of NSMenuItem objects, just simply build the menu recursively.
1291
1292         * UIProcess/mac/WebContextMenuProxyMac.h:
1293         * UIProcess/mac/WebContextMenuProxyMac.mm:
1294         (WebKit::WebContextMenuProxyMac::createContextMenuFromItems):
1295         (WebKit::WebContextMenuProxyMac::createContextMenuItem):
1296         (WebKit::WebContextMenuProxyMac::showContextMenu):
1297         (WebKit::populateNSMenu): Deleted.
1298         (WebKit::nsMenuItem): Deleted.
1299         (WebKit::nsMenuItemVector): Deleted.
1300
1301 2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1302
1303         ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
1304         https://bugs.webkit.org/show_bug.cgi?id=150315
1305
1306         Reviewed by Andreas Kling.
1307
1308         It was introduced in r184930, that keeps the session storage area
1309         maps alive in the UI process when they are destroyed by the web
1310         process. The problem is that we also keep the listeners, so that
1311         events are also dispatched to the listeners of destroyed areas,
1312         and the message handlers were removed in the web process.
1313
1314         * UIProcess/Storage/StorageManager.cpp:
1315         (WebKit::StorageManager::createTransientLocalStorageMap): Add a
1316         listener for the new storage map ID when the map is reused.
1317         (WebKit::StorageManager::destroyStorageMap): Always remove
1318         listeners of destroyed maps.
1319
1320 2015-10-22  Tim Horton  <timothy_horton@apple.com>
1321
1322         Add a SPI variant of loadData that accepts user data to WKWebView
1323         https://bugs.webkit.org/show_bug.cgi?id=150475
1324
1325         Reviewed by Anders Carlsson.
1326
1327         * UIProcess/API/Cocoa/WKWebView.mm:
1328         (-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
1329         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1330
1331 2015-10-22  Alex Christensen  <achristensen@webkit.org>
1332
1333         Progress towards CMake on Mac
1334         https://bugs.webkit.org/show_bug.cgi?id=150466
1335
1336         Reviewed by Chris Dumez.
1337
1338         * CMakeLists.txt:
1339         * PlatformMac.cmake:
1340         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
1341
1342 2015-10-22  Anders Carlsson  <andersca@apple.com>
1343
1344         NativeContextMenuItem isn't needed anymore, remove it
1345         https://bugs.webkit.org/show_bug.cgi?id=150473
1346
1347         Reviewed by Tim Horton.
1348
1349         * PlatformEfl.cmake:
1350         * PlatformGTK.cmake:
1351         * Shared/NativeContextMenuItem.h: Removed.
1352         (WebKit::NativeContextMenuItem::~NativeContextMenuItem): Deleted.
1353         (WebKit::NativeContextMenuItem::nsMenuItem): Deleted.
1354         * Shared/WebContextMenuItem.cpp:
1355         (WebKit::WebContextMenuItem::WebContextMenuItem): Deleted.
1356         * Shared/WebContextMenuItem.h:
1357         (WebKit::WebContextMenuItem::create): Deleted.
1358         (WebKit::WebContextMenuItem::nativeContextMenuItem): Deleted.
1359         * Shared/efl/NativeContextMenuItemEfl.cpp: Removed.
1360         (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
1361         * Shared/gtk/NativeContextMenuItemGtk.cpp: Removed.
1362         (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
1363         * Shared/mac/NativeContextMenuItem.mm: Removed.
1364         (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
1365         * UIProcess/mac/WebContextMenuProxyMac.mm:
1366         (WebKit::nsMenuItem): Deleted.
1367         * WebKit2.xcodeproj/project.pbxproj:
1368
1369 2015-10-22  Anders Carlsson  <andersca@apple.com>
1370
1371         CTTE WebContextMenuItemData
1372         https://bugs.webkit.org/show_bug.cgi?id=150471
1373
1374         Reviewed by Tim Horton.
1375
1376         * Shared/API/c/WKContextMenuItem.cpp:
1377         (WKContextMenuItemGetTag):
1378         (WKContextMenuItemGetType):
1379         (WKContextMenuItemCopyTitle):
1380         (WKContextMenuItemGetEnabled):
1381         (WKContextMenuItemGetChecked):
1382         * Shared/WebContextMenuItem.cpp:
1383         (WebKit::WebContextMenuItem::create):
1384         * Shared/WebContextMenuItem.h:
1385         (WebKit::WebContextMenuItem::data):
1386         * UIProcess/API/C/WKPage.cpp:
1387         (WKPageSelectContextMenuItem):
1388         * UIProcess/mac/WebContextMenuProxyMac.mm:
1389         (WebKit::nsMenuItem):
1390         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1391         (WKBundlePageClickMenuItem):
1392         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
1393         (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
1394
1395 2015-10-22  Anders Carlsson  <andersca@apple.com>
1396
1397         Handle nil menu items.
1398
1399         * UIProcess/mac/WebContextMenuProxyMac.mm:
1400         (WebKit::nsMenuItemVector):
1401
1402 2015-10-22  Anders Carlsson  <andersca@apple.com>
1403
1404         Wait to convert the share menu item to a real share menu until after calling out to the client
1405         https://bugs.webkit.org/show_bug.cgi?id=150465
1406
1407         Reviewed by Tim Horton.
1408
1409         This will let us simplify more code in upcoming patches.
1410
1411         * UIProcess/mac/WebContextMenuProxyMac.h:
1412         * UIProcess/mac/WebContextMenuProxyMac.mm:
1413         (WebKit::nsMenuItem):
1414         (WebKit::nsMenuItemVector):
1415         (WebKit::WebContextMenuProxyMac::showContextMenu):
1416
1417 2015-10-22  Myles C. Maxfield  <mmaxfield@apple.com>
1418
1419         [Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
1420         https://bugs.webkit.org/show_bug.cgi?id=150460
1421
1422         Reviewed by Tim Horton.
1423
1424         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1425         (InitWebCoreSystemInterface): Deleted.
1426
1427 2015-10-22  Alex Christensen  <achristensen@webkit.org>
1428
1429         Initial NSURLSession WebResourceLoader implementation
1430         https://bugs.webkit.org/show_bug.cgi?id=150355
1431
1432         Reviewed by Antti Koivisto.
1433
1434         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1435         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
1436         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
1437         * NetworkProcess/NetworkResourceLoader.cpp:
1438         (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
1439         (WebKit::NetworkResourceLoader::startNetworkLoad):
1440         (WebKit::NetworkResourceLoader::setDefersLoading):
1441         (WebKit::NetworkResourceLoader::cleanup):
1442         (WebKit::NetworkResourceLoader::didConvertHandleToDownload):
1443         (WebKit::NetworkResourceLoader::abort):
1444         (WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
1445         (WebKit::NetworkResourceLoader::didReceiveChallenge):
1446         (WebKit::NetworkResourceLoader::didReceiveResponse):
1447         (WebKit::NetworkResourceLoader::didReceiveData):
1448         (WebKit::NetworkResourceLoader::didCompleteWithError):
1449         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
1450         (WebKit::NetworkResourceLoader::willSendRequestAsync):
1451         (WebKit::NetworkResourceLoader::continueWillSendRequest):
1452         (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
1453         (WebKit::NetworkResourceLoader::didSendData):
1454         (WebKit::NetworkResourceLoader::receivedCancellation):
1455         (WebKit::NetworkResourceLoader::startBufferingTimerIfNeeded):
1456         (WebKit::NetworkResourceLoader::bufferingTimerFired):
1457         (WebKit::NetworkResourceLoader::validateCacheEntry):
1458         (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
1459         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
1460         (WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
1461         (WebKit::NetworkResourceLoader::supportsDataArray):
1462         * NetworkProcess/NetworkResourceLoader.h:
1463         (WebKit::NetworkResourceLoader::create):
1464         (WebKit::NetworkResourceLoader::currentRequest):
1465         (WebKit::NetworkResourceLoader::handle):
1466         * NetworkProcess/NetworkSession.h: Added.
1467         (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
1468         (WebKit::NetworkingDataTask::client):
1469         (WebKit::NetworkingDataTask::clearClient):
1470         (WebKit::NetworkSession::~NetworkSession):
1471         * NetworkProcess/cocoa/NetworkSessionCocoa.mm: Added.
1472         (toNSURLSessionResponseDisposition):
1473         (toNSURLSessionAuthChallengeDisposition):
1474         (-[NetworkSessionDelegate initWithNetworkSession:]):
1475         (-[NetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
1476         (-[NetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
1477         (-[NetworkSessionDelegate URLSession:task:didCompleteWithError:]):
1478         (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
1479         (-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
1480         (WebKit::NetworkSession::create):
1481         (WebKit::NetworkSession::singleton):
1482         (WebKit::configurationForType):
1483         (WebKit::NetworkSession::NetworkSession):
1484         (WebKit::NetworkSession::createDataTaskWithRequest):
1485         (WebKit::NetworkSession::dataTaskForIdentifier):
1486         (WebKit::NetworkingDataTask::NetworkingDataTask):
1487         (WebKit::NetworkingDataTask::~NetworkingDataTask):
1488         (WebKit::NetworkingDataTask::suspend):
1489         (WebKit::NetworkingDataTask::resume):
1490         (WebKit::NetworkingDataTask::taskIdentifier):
1491         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
1492         (WebKit::NetworkResourceLoader::willCacheResponseAsync):
1493         * WebKit2.xcodeproj/project.pbxproj:
1494         * config.h:
1495
1496 2015-10-22  Philippe Normand  <pnormand@igalia.com>
1497
1498         Unreviewed, GTK build fix for disabled redirected XComposite window support.
1499
1500         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Add USE(REDIRECTED_XCOMPOSITE_WINDOW) guards.
1501         * UIProcess/DrawingAreaProxyImpl.h: Mark virtual methods as override to avoid compilation warnings.
1502
1503 2015-10-22  Wenson Hsieh  <wenson_hsieh@apple.com>
1504
1505         Implement touch-action: manipulation; for iOS
1506         https://bugs.webkit.org/show_bug.cgi?id=149854
1507         <rdar://problem/23017145>
1508
1509         Reviewed by Benjamin Poulain.
1510
1511         Implements the manipulation value for the CSS property touch-action. Performs hit-testing upon receiving a potential
1512         tap to determine whether to disable double-tap gesture recognition over the duration of the tap. If so, sends a message
1513         from the web process to the UI process indicating that double-tapping should be disabled, allowing single taps to
1514         avoid the delay.
1515
1516         * WebProcess/WebPage/ios/WebPageIOS.mm:
1517         (WebKit::WebPage::potentialTapAtPosition):
1518
1519 2015-10-22  Ryosuke Niwa  <rniwa@webkit.org>
1520
1521         REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
1522         https://bugs.webkit.org/show_bug.cgi?id=150428
1523
1524         Reviewed by Antti Koivisto.
1525
1526         Call updateFocusAppearance with RevealMode::DoNotReveal to avoid revealing the focused element.
1527
1528         * WebProcess/WebPage/WebPage.cpp:
1529         (WebKit::WebPage::restoreSelectionInFocusedEditableElement):
1530
1531 2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1532
1533         Unreviewed. Fix a crash in GTk+ after r191402.
1534
1535         Since r191402 WebContextMenuProxy is no longer refcounted, and
1536         std::unique_ptr is used instead. This means that when we show the
1537         context menu for the second time in a web view, a new
1538         WebContextMenuProxy is created and the previous one is
1539         destroyed. We were setting the active context menu of the WebView
1540         in the constructor of WebContextMenuProxy, and unsetting it in the
1541         destructor. Now the constructor of the new WebContextMenuProxy
1542         happens before the destructor of the current one that unsets the
1543         WebView active context menu. This patch simply makes the web view
1544         unset its active context menu when it's unmapped and a new one
1545         hasn't been set.
1546
1547         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1548         (activeContextMenuUnmapped):
1549         (webkitWebViewBaseSetActiveContextMenuProxy):
1550         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1551         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
1552
1553 2015-10-22  Hunseop Jeong  <hs85.jeong@samsung.com>
1554
1555         [GTK] Try to fix the build after r191402.
1556         https://bugs.webkit.org/show_bug.cgi?id=150435
1557
1558         Reviewed by Carlos Garcia Campos.
1559
1560         * UIProcess/API/gtk/PageClientImpl.cpp:
1561         (WebKit::PageClientImpl::createPopupMenuProxy):
1562         (WebKit::PageClientImpl::createContextMenuProxy):
1563         (WebKit::PageClientImpl::createColorPicker):
1564         * UIProcess/API/gtk/PageClientImpl.h:
1565         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1566         (WebKit::WebContextMenuProxyGtk::populate):
1567         (WebKit::WebContextMenuProxyGtk::show):
1568         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
1569         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
1570         (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
1571         (WebKit::WebContextMenuProxyGtk::showContextMenu): Deleted.
1572         (WebKit::WebContextMenuProxyGtk::hideContextMenu): Deleted.
1573         (WebKit::WebContextMenuProxyGtk::cancelTracking): Deleted.
1574         * UIProcess/gtk/WebContextMenuProxyGtk.h:
1575         (WebKit::WebContextMenuProxyGtk::gtkMenu):
1576         (WebKit::WebContextMenuProxyGtk::create): Deleted.
1577
1578 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1579
1580        Unreviewed EFL build fix. Remove customizeMenu implementation.
1581
1582         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1583         (WebKit::WebContextMenuClient::customizeMenu): Deleted.
1584
1585 2015-10-21  Alex Christensen  <achristensen@webkit.org>
1586
1587         Speculative EFL build fix.
1588
1589         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
1590         Remove another customizeMenu call.
1591
1592 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1593
1594         [EFL][GTK][WK2] Fix build break since r191402, r191401
1595         https://bugs.webkit.org/show_bug.cgi?id=150432
1596
1597         Unreviewed EFL and GTK build fix.
1598
1599         * CMakeLists.txt:
1600         * UIProcess/CoordinatedGraphics/WebView.cpp:
1601         (WebKit::WebView::createContextMenuProxy):
1602         * UIProcess/CoordinatedGraphics/WebView.h:
1603         * UIProcess/efl/WebContextMenuProxyEfl.cpp:
1604         (WebKit::WebContextMenuProxyEfl::show):
1605         * UIProcess/efl/WebContextMenuProxyEfl.h:
1606         (WebKit::WebContextMenuProxyEfl::create): Deleted.
1607         * UIProcess/efl/WebViewEfl.cpp:
1608         (WebKit::WebViewEfl::createContextMenuProxy):
1609         * UIProcess/efl/WebViewEfl.h:
1610         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1611         (WebKit::WebContextMenuClient::customizeMenu):
1612         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
1613
1614 2015-10-21  Anders Carlsson  <andersca@apple.com>
1615
1616         Get rid of WebContextMenuClient::customizeMenu, it's no longer used
1617         https://bugs.webkit.org/show_bug.cgi?id=150427
1618
1619         Reviewed by Tim Horton.
1620
1621         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1622         (WebKit::WebContextMenuClient::customizeMenu): Deleted.
1623         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
1624
1625 2015-10-21  Tim Horton  <timothy_horton@apple.com>
1626
1627         API-ify the FindMatches client
1628         https://bugs.webkit.org/show_bug.cgi?id=150422
1629
1630         Reviewed by Anders Carlsson.
1631
1632         * UIProcess/API/APIFindMatchesClient.h: Renamed from Source/WebKit2/UIProcess/WebFindClient.h.
1633         (API::FindMatchesClient::~FindMatchesClient):
1634         (API::FindMatchesClient::didFindStringMatches):
1635         (API::FindMatchesClient::didGetImageForMatchResult):
1636         * UIProcess/API/C/WKPage.cpp:
1637         (WKPageSetPageFindMatchesClient):
1638         * UIProcess/WebFindClient.cpp: Removed.
1639         * UIProcess/WebPageProxy.cpp:
1640         (WebKit::WebPageProxy::WebPageProxy):
1641         (WebKit::WebPageProxy::setFindMatchesClient):
1642         (WebKit::WebPageProxy::close):
1643         (WebKit::WebPageProxy::didGetImageForFindMatch):
1644         (WebKit::WebPageProxy::didFindStringMatches):
1645         (WebKit::WebPageProxy::initializeFindMatchesClient): Deleted.
1646         * UIProcess/WebPageProxy.h:
1647         (WebKit::WebPageProxy::findMatchesClient):
1648         * WebKit2.xcodeproj/project.pbxproj:
1649
1650 2015-10-21  Enrica Casucci  <enrica@apple.com>
1651
1652         WebProcess crashes when accessibility bundle is not found.
1653         https://bugs.webkit.org/show_bug.cgi?id=150414
1654
1655         Reviewed by Dan Bernstein.
1656
1657         The uninitialized pointer to NSError causes the print function to crash.
1658
1659         * WebProcess/cocoa/WebProcessCocoa.mm:
1660         (WebKit::registerWithAccessibility):
1661
1662 2015-10-21  Anders Carlsson  <andersca@apple.com>
1663
1664         Move services menu handling out into a separate function
1665         https://bugs.webkit.org/show_bug.cgi?id=150420
1666
1667         Reviewed by Tim Horton.
1668
1669         * UIProcess/mac/WebContextMenuProxyMac.h:
1670         * UIProcess/mac/WebContextMenuProxyMac.mm:
1671         (WebKit::WebContextMenuProxyMac::showServicesMenu):
1672         (WebKit::WebContextMenuProxyMac::show):
1673         (WebKit::WebContextMenuProxyMac::showContextMenu):
1674         (WebKit::WebContextMenuProxyMac::populate): Deleted.
1675
1676 2015-10-21  Wenson Hsieh  <wenson_hsieh@apple.com>
1677
1678         Single tapping clickable elements in unscalable pages should show a tap highlight
1679         https://bugs.webkit.org/show_bug.cgi?id=150382
1680
1681         Reviewed by Simon Fraser.
1682
1683         When the double tap gesture recognizer is disabled ahead of time (as in the case of unscalable pages) the tap is
1684         committed before the geometries come in. To fix this, we introduce a flag that allows the single tap to be
1685         committed before the tap highlight arrives. This allows the tap highlight to be immediately animated when receiving
1686         the tap highlight geometries only in the case where double tapping is disabled when recognizing the single tap.
1687
1688         * UIProcess/ios/WKContentViewInteraction.h:
1689         * UIProcess/ios/WKContentViewInteraction.mm:
1690         (-[WKContentView setupInteraction]):
1691         (-[WKContentView cleanupInteraction]):
1692         (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
1693         (-[WKContentView _singleTapRecognized:]):
1694         (-[WKContentView _singleTapCommited:]):
1695
1696 2015-10-21  Anders Carlsson  <andersca@apple.com>
1697
1698         Get rid of useBinaryEncoding from WKPageGetContentsAsMHTMLData
1699         https://bugs.webkit.org/show_bug.cgi?id=150417
1700
1701         Reviewed by Tim Horton.
1702
1703         The useBinaryEncoding parameter is always false, so just get rid of it.
1704
1705         * UIProcess/API/C/WKPage.cpp:
1706         (WKPageGetContentsAsMHTMLData):
1707         * UIProcess/API/C/WKPage.h:
1708         * UIProcess/API/efl/ewk_view.cpp:
1709         (ewk_view_page_contents_get):
1710         * UIProcess/API/gtk/WebKitWebView.cpp:
1711         (webkit_web_view_save):
1712         (webkit_web_view_save_to_file):
1713         * UIProcess/WebPageProxy.cpp:
1714         (WebKit::WebPageProxy::getContentsAsMHTMLData):
1715         * UIProcess/WebPageProxy.h:
1716         * WebProcess/WebPage/WebPage.cpp:
1717         (WebKit::WebPage::getContentsAsMHTMLData):
1718         * WebProcess/WebPage/WebPage.h:
1719         * WebProcess/WebPage/WebPage.messages.in:
1720
1721 2015-10-21  Anders Carlsson  <andersca@apple.com>
1722
1723         WebContextMenuProxyMac::setupServicesMenu doesn't need to take a context parameter
1724         https://bugs.webkit.org/show_bug.cgi?id=150418
1725
1726         Reviewed by Tim Horton.
1727
1728         * UIProcess/mac/WebContextMenuProxyMac.h:
1729         * UIProcess/mac/WebContextMenuProxyMac.mm:
1730         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
1731         (WebKit::WebContextMenuProxyMac::populate):
1732
1733 2015-10-21  Anders Carlsson  <andersca@apple.com>
1734
1735         WebContextMenuProxy doesn't have to be ref-counted
1736         https://bugs.webkit.org/show_bug.cgi?id=150415
1737
1738         Reviewed by Tim Horton.
1739
1740         Change WebContextMenuProxy to not inherit from RefCounted. Instead of using RefPtr, use std::unique_ptr.
1741         Get rid of cancelTracking and hideContextMenu and dismiss the menu whenever the menu proxy is destroyed.
1742         Also, rename showContextMenu to show.
1743
1744         * UIProcess/PageClient.h:
1745         * UIProcess/WebContextMenuProxy.h:
1746         (WebKit::WebContextMenuProxy::cancelTracking): Deleted.
1747         * UIProcess/WebPageProxy.cpp:
1748         (WebKit::WebPageProxy::close):
1749         (WebKit::WebPageProxy::internalShowContextMenu):
1750         * UIProcess/WebPageProxy.h:
1751         * UIProcess/ios/PageClientImplIOS.h:
1752         * UIProcess/ios/PageClientImplIOS.mm:
1753         (WebKit::PageClientImpl::createContextMenuProxy):
1754         * UIProcess/mac/PageClientImpl.h:
1755         * UIProcess/mac/PageClientImpl.mm:
1756         (WebKit::PageClientImpl::createContextMenuProxy):
1757         * UIProcess/mac/WebContextMenuProxyMac.h:
1758         (WebKit::WebContextMenuProxyMac::create): Deleted.
1759         * UIProcess/mac/WebContextMenuProxyMac.mm:
1760         (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
1761         (WebKit::WebContextMenuProxyMac::show):
1762         (WebKit::WebContextMenuProxyMac::showContextMenu): Deleted.
1763         (WebKit::WebContextMenuProxyMac::hideContextMenu): Deleted.
1764         (WebKit::WebContextMenuProxyMac::cancelTracking): Deleted.
1765
1766 2015-10-21  Anders Carlsson  <andersca@apple.com>
1767
1768         Stop using a popup menu button cell(!) for context menus
1769         https://bugs.webkit.org/show_bug.cgi?id=150413
1770
1771         Reviewed by Tim Horton.
1772
1773         Just use a regular NSMenu. Also, have the service menu code path store the service menu
1774         in the same member variable.
1775
1776         * UIProcess/mac/WebContextMenuProxyMac.h:
1777         * UIProcess/mac/WebContextMenuProxyMac.mm:
1778         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
1779         (WebKit::WebContextMenuProxyMac::clearServicesMenu):
1780         (WebKit::WebContextMenuProxyMac::populate):
1781         (WebKit::WebContextMenuProxyMac::showContextMenu):
1782         (WebKit::WebContextMenuProxyMac::hideContextMenu):
1783         (WebKit::WebContextMenuProxyMac::cancelTracking):
1784         (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac): Deleted.
1785
1786 2015-10-21  Chris Dumez  <cdumez@apple.com>
1787
1788         Add assertions to NetworkCache::Entry constructor to make sure a key's type is "resource"
1789         https://bugs.webkit.org/show_bug.cgi?id=150369
1790
1791         Reviewed by Antti Koivisto.
1792
1793         Add assertions to NetworkCache::Entry constructor to make sure a key's
1794         type is "resource" now that the NetworkCache storage supports other
1795         types of entries.
1796
1797         * NetworkProcess/cache/NetworkCacheEntry.cpp:
1798         (WebKit::NetworkCache::Entry::Entry):
1799
1800 2015-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1801
1802         NetworkProcess: DNS prefetch happens in the Web Process
1803         https://bugs.webkit.org/show_bug.cgi?id=147824
1804
1805         Reviewed by Chris Dumez.
1806
1807         DNS prefetch requests started in the WebProcess should be sent to
1808         the network process when it's enabled.
1809
1810         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1811         (WebKit::NetworkConnectionToWebProcess::prefetchDNS): Use NetworkProcess::prefetchDNS().
1812         * NetworkProcess/NetworkConnectionToWebProcess.h:
1813         * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Add
1814         PrefetchDNS message.
1815         * NetworkProcess/NetworkProcess.cpp:
1816         (WebKit::NetworkProcess::prefetchDNS): Do the actual DNS prefetch.
1817         * NetworkProcess/NetworkProcess.h:
1818         * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
1819         (webkitWebExtensionDidReceiveMessage): Use WebProcess::prefetchDNS().
1820         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1821         (WebKit::WebFrameLoaderClient::prefetchDNS): Use WebProcess::prefetchDNS().
1822         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1823         * WebProcess/WebPage/ios/WebPageIOS.mm:
1824         (WebKit::WebPage::sendTapHighlightForNodeIfNecessary): Use
1825         FrameLoaderClient to do the DNS prefetch.
1826         * WebProcess/WebProcess.cpp:
1827         (WebKit::WebProcess::WebProcess): Initialize the DNS prefetched
1828         hosts cleanup hysteresis activity. Clear the cache of DNS
1829         prefetched when hysteresis activity stopped.
1830         (WebKit::WebProcess::prefetchDNS): Send the request to the network
1831         process if it's enabled, otherwise do the actual DNS prefetch.
1832         * WebProcess/WebProcess.h:
1833
1834 2015-10-20  Chris Dumez  <cdumez@apple.com>
1835
1836         [WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
1837         https://bugs.webkit.org/show_bug.cgi?id=150221
1838         <rdar://problem/23149771>
1839
1840         Reviewed by Darin Adler and Antti Koivisto.
1841
1842         Generalize NetworkCacheStorage API so it can store different types of
1843         metadata alongside the network resources. This is a pre-requirement to
1844         making our NetworkCache smarter by storing information about the
1845         resources.
1846
1847         To keep the code simple, the entry type is now part of the entry key and
1848         we store records of a specific type in a 'type' subfolder. The cache
1849         structure looks like so:
1850         - WebKitCache/Version 5/[Partition]/[Type]/[Hash]
1851         - WebKitCache/Version 5/[Partition]/[Type]/[Hash]-blob (Optional)
1852
1853         Existing cache entries now that the 'resource' type as these are network
1854         resources.
1855
1856         * NetworkProcess/cache/NetworkCache.cpp:
1857         * NetworkProcess/cache/NetworkCacheKey.cpp:
1858         * NetworkProcess/cache/NetworkCacheKey.h:
1859         * NetworkProcess/cache/NetworkCacheStatistics.cpp:
1860         * NetworkProcess/cache/NetworkCacheStorage.cpp:
1861         * NetworkProcess/cache/NetworkCacheStorage.h:
1862
1863 2015-10-20  Hunseop Jeong  <hs85.jeong@samsung.com>
1864
1865         [EFL] ContextMenu doesn't work correctly on MiniBrowser after r191194.
1866         https://bugs.webkit.org/show_bug.cgi?id=150311
1867
1868         Reviewed by Gyuyoung Kim.
1869
1870         Restore the test_ewk2_context_menu API test to check the context menu whether it works correctly.
1871
1872         * PlatformEfl.cmake:
1873
1874 2015-10-13  Conrad Shultz  <conrad_shultz@apple.com>
1875
1876         _WKThumbnailView should support a snapshot-only mode
1877         https://bugs.webkit.org/show_bug.cgi?id=150106
1878
1879         Reviewed by Tim Horton.
1880
1881         Add a new property to _WKThumbnailView, exclusivelyUsesSnapshot, which causes _WKThumbnailView
1882         to bypass both layer tree reparenting and event suppression on the associated WKView.
1883
1884         Add a new method, -requestSnapshot, which clients can use to force _WKThumbnailView to refresh
1885         on demand.
1886
1887         * UIProcess/API/Cocoa/_WKThumbnailView.h:
1888         * UIProcess/API/Cocoa/_WKThumbnailView.mm:
1889         (-[_WKThumbnailView requestSnapshot]):
1890         Extracted from -_requestSnapshotIfNeeded:.
1891         (-[_WKThumbnailView _viewWasUnparented]):
1892         (-[_WKThumbnailView _viewWasParented]):
1893         (-[_WKThumbnailView _requestSnapshotIfNeeded]):
1894
1895 2015-10-20  Alexey Proskuryakov  <ap@apple.com>
1896
1897         Build fix.
1898
1899         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
1900         * UIProcess/ios/forms/WKFileUploadPanel.mm:
1901
1902 2015-10-20  Joseph Pecoraro  <pecoraro@apple.com>
1903
1904         ASSERT when right clicking on SVG Image generating Share menu - can break Web Inspector
1905         https://bugs.webkit.org/show_bug.cgi?id=150374
1906
1907         Reviewed by Brian Burg.
1908
1909         When there is no absolute URL or downloadable media URL no system share
1910         menu is created, but we were still appending the null context menu to
1911         the list of context menu items.
1912
1913         * UIProcess/mac/WebContextMenuProxyMac.mm:
1914         (WebKit::WebContextMenuProxyMac::shareMenuItem):
1915         Bail early if the context menu is null.
1916
1917         (WebKit::WebContextMenuProxyMac::showContextMenu):
1918         Only append the share context menu item if it is non-null.
1919         This matches ContextMenuController.cpp in WebCore.
1920
1921 2015-10-20  Commit Queue  <commit-queue@webkit.org>
1922
1923         Unreviewed, rolling out r191306.
1924         https://bugs.webkit.org/show_bug.cgi?id=150371
1925
1926         "May have caused a significant warm PLT regression" (Requested
1927         by cdumez_ on #webkit).
1928
1929         Reverted changeset:
1930
1931         "[WK2] Generalize NetworkCacheStorage API so it can store
1932         different types of metadata"
1933         https://bugs.webkit.org/show_bug.cgi?id=150221
1934         http://trac.webkit.org/changeset/191306
1935
1936 2015-10-20  Tim Horton  <timothy_horton@apple.com>
1937
1938         Try to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10
1939
1940         * Configurations/FeatureDefines.xcconfig:
1941
1942 2015-10-20  Commit Queue  <commit-queue@webkit.org>
1943
1944         Unreviewed, rolling out r191333.
1945         https://bugs.webkit.org/show_bug.cgi?id=150362
1946
1947         Caused assertions on regression tests (Requested by ap on
1948         #webkit).
1949
1950         Reverted changeset:
1951
1952         "ERROR: Unhandled web process message
1953         'StorageAreaMap:DispatchStorageEvent'"
1954         https://bugs.webkit.org/show_bug.cgi?id=150315
1955         http://trac.webkit.org/changeset/191333
1956
1957 2015-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1958
1959         [UNIX] ASSERTION FAILED: m_shouldWaitForSyncReplies in Connection::connectionDidClose()
1960         https://bugs.webkit.org/show_bug.cgi?id=150361
1961
1962         Reviewed by Martin Robinson.
1963
1964         It doesn't always happen because it depends on how sockets are
1965         closed, and the state of the threads. The problem is that we are
1966         not handling the case when the read fails because we closed the
1967         connection. In that case we log the error and call
1968         Connection::connectionDidClose(). But it was connectionDidClose()
1969         the one closing the socket. So, in this particular case it's not an
1970         error but a normal termination, and we shouldn't try to close the
1971         connection again. Something similar can happen while sending a
1972         message, and we get a broken pipe error, but in that case we are
1973         only printing the error, so it's harmless.
1974
1975         * Platform/IPC/unix/ConnectionUnix.cpp:
1976         (IPC::Connection::readyReadHandler): Only print error and call
1977         connectionDidClose() if we are still connected when read fails.
1978         (IPC::Connection::sendOutgoingMessage): Only print error if we are
1979         still connected when send fails.
1980
1981 2015-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1982
1983         [GTK] Graphics corruption when entering/leaving AC mode quickly
1984         https://bugs.webkit.org/show_bug.cgi?id=150323
1985
1986         Reviewed by Mario Sanchez Prada.
1987
1988         The UI process is notified when entering accelerated compositing
1989         mode after the layers have been flushed and rendered to avoid
1990         flickering. However, this is producing flickering in the GTK+
1991         port, because we use an offscreen redirected window that is
1992         resized to a minimium size to save memory when not in AC mode. The
1993         web process always uses the current size of the redirected window,
1994         so when entering AC mode, contents are rendered into the 1x1
1995         window, then the UI process is notified, the redirected window is
1996         resized to its actual size, and we force a resize to ask the web
1997         process to render again, now at the correct size. Rendering at 1x1
1998         and then resizing the window is what produces the flickering when
1999         entering AC mode, but it's also inefficient, since we need to
2000         render again after the redirected window is resized. So, this
2001         patch adds a WillEnterAcceleratedCompositing message that is sent
2002         to the UI process when the layer tree host is created but before
2003         the contents have been composited and rendered. This is
2004         implemented by the GTK+ port to prepare for entering AC mode, by
2005         resizing the redirected window. When we actually enter AC mode,
2006         the contents have already been rendered in the web process at the
2007         correct size, so we can just use the redirected window surface
2008         instead of the drawing area one, and paint in the web view without
2009         any flickering. We no longer need the forceResize either.
2010         When leaving accelerated compositing mode, we now clear the redirected
2011         window resources after a short delay. This ensures that we have
2012         already rendered the update sent in the ExitAcceleratedCompositingMode
2013         message, but also that entering/leaving AC mode quickly doesn't
2014         produce any redirected window resize.
2015
2016         * UIProcess/API/gtk/PageClientImpl.cpp:
2017         (WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
2018         * UIProcess/API/gtk/PageClientImpl.h:
2019         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2020         (webkitWebViewBaseClearRedirectedWindowSoon):
2021         (webkitWebViewBaseWillEnterAcceleratedCompositingMode):
2022         (webkitWebViewBaseEnterAcceleratedCompositingMode):
2023         (webkitWebViewBaseExitAcceleratedCompositingMode):
2024         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
2025         * UIProcess/CoordinatedGraphics/WebView.h:
2026         * UIProcess/DrawingAreaProxy.h:
2027         (WebKit::DrawingAreaProxy::willEnterAcceleratedCompositingMode):
2028         * UIProcess/DrawingAreaProxy.messages.in:
2029         * UIProcess/DrawingAreaProxyImpl.cpp:
2030         (WebKit::DrawingAreaProxyImpl::willEnterAcceleratedCompositingMode):
2031         * UIProcess/DrawingAreaProxyImpl.h:
2032         (WebKit::DrawingAreaProxyImpl::forceResize): Deleted.
2033         * UIProcess/PageClient.h:
2034         * UIProcess/WebPageProxy.cpp:
2035         (WebKit::WebPageProxy::willEnterAcceleratedCompositingMode):
2036         * UIProcess/WebPageProxy.h:
2037         * UIProcess/ios/PageClientImplIOS.h:
2038         * UIProcess/ios/PageClientImplIOS.mm:
2039         (WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
2040         * UIProcess/mac/PageClientImpl.h:
2041         * UIProcess/mac/PageClientImpl.mm:
2042         (WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
2043         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2044         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
2045
2046 2015-10-20  Sergio Villar Senin  <svillar@igalia.com>
2047
2048         [GTK] Fix build for ENABLE_PLUGIN_PROCESS_GTK2=OFF
2049         https://bugs.webkit.org/show_bug.cgi?id=150086
2050
2051         Reviewed by Darin Adler.
2052
2053         * UIProcess/cairo/BackingStoreCairo.cpp:
2054         (WebKit::BackingStore::createBackend):
2055
2056 2015-10-20  Yoav Weiss  <yoav@yoav.ws>
2057
2058         Rename the PICTURE_SIZES flag to CURRENTSRC
2059         https://bugs.webkit.org/show_bug.cgi?id=150275
2060
2061         Reviewed by Dean Jackson.
2062
2063         * Configurations/FeatureDefines.xcconfig:
2064
2065 2015-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2066
2067         ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
2068         https://bugs.webkit.org/show_bug.cgi?id=150315
2069
2070         Reviewed by Andreas Kling.
2071
2072         It was introduced in r184930, that keeps the session storage area
2073         maps alive in the UI process when they are destroyed by the web
2074         process. The problem is that we also keep the listeners, so that
2075         events are also dispatched to the listeners of destroyed areas,
2076         and the message handlers were removed in the web process.
2077
2078         * UIProcess/Storage/StorageManager.cpp:
2079         (WebKit::StorageManager::createTransientLocalStorageMap): Add a
2080         listener for the new storage map ID when the map is reused.
2081         (WebKit::StorageManager::destroyStorageMap): Always remove
2082         listeners of destroyed maps.
2083
2084 2015-10-19  Tim Horton  <timothy_horton@apple.com>
2085
2086         Remove unused support for long presses from WebKit
2087         https://bugs.webkit.org/show_bug.cgi?id=150345
2088
2089         Reviewed by Beth Dakin.
2090
2091         * Shared/WebPreferencesDefinitions.h:
2092         * UIProcess/API/APIUIClient.h:
2093         (API::UIClient::didBeginTrackingPotentialLongMousePress): Deleted.
2094         (API::UIClient::didRecognizeLongMousePress): Deleted.
2095         (API::UIClient::didCancelTrackingPotentialLongMousePress): Deleted.
2096         * UIProcess/API/C/WKPage.cpp:
2097         (WKPageSetPageUIClient): Deleted.
2098         * UIProcess/API/C/WKPageUIClient.h:
2099         * UIProcess/API/C/WKPreferences.cpp:
2100         (WKPreferencesGetLongMousePressEnabled):
2101         (WKPreferencesSetLongMousePressEnabled): Deleted.
2102         * UIProcess/API/C/WKPreferencesRefPrivate.h:
2103         * UIProcess/WebPageProxy.cpp:
2104         (WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Deleted.
2105         (WebKit::WebPageProxy::didRecognizeLongMousePress): Deleted.
2106         (WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Deleted.
2107         * UIProcess/WebPageProxy.h:
2108         * UIProcess/WebPageProxy.messages.in:
2109         * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
2110         (API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
2111         (API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Deleted.
2112         (API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.
2113         * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
2114         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
2115         (WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
2116         (WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Deleted.
2117         (WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.
2118         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
2119         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2120         (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Deleted.
2121         (WebKit::WebChromeClient::didRecognizeLongMousePress): Deleted.
2122         (WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Deleted.
2123         * WebProcess/WebCoreSupport/WebChromeClient.h:
2124         * WebProcess/WebPage/WebPage.cpp:
2125         (WebKit::WebPage::updatePreferences): Deleted.
2126
2127 2015-10-19  Chris Dumez  <cdumez@apple.com>
2128
2129         Make sure development Safari does not delete the stable Safari cache storage.
2130         https://bugs.webkit.org/show_bug.cgi?id=150343
2131
2132         Reviewed by Antti Koivisto.
2133
2134         Make sure development Safari does not delete the stable Safari disk cache
2135         storage. Development Safari now uses Version 5, while the last stable
2136         Safari uses Version 4. Since the 2 versions can co-exist, it is best not
2137         to drop the old cache version (4) at this point.
2138
2139         * NetworkProcess/cache/NetworkCacheStorage.cpp:
2140         (WebKit::NetworkCache::Storage::deleteOldVersions):
2141
2142 2015-10-19  Tim Horton  <timothy_horton@apple.com>
2143
2144         WKView being inside WKWebView leads to weird API issues
2145         https://bugs.webkit.org/show_bug.cgi?id=150174
2146
2147         Reviewed by Darin Adler.
2148
2149         * UIProcess/API/mac/WKView.mm:
2150         * UIProcess/API/mac/WKViewInternal.h:
2151         * UIProcess/Cocoa/WebViewImpl.h: Added.
2152         * UIProcess/Cocoa/WebViewImpl.mm: Added.
2153         (WebKit::WebViewImpl::WebViewImpl):
2154         (WebKit::WebViewImpl::~WebViewImpl):
2155         (WebKit::WebViewImpl::setDrawsBackground):
2156         (WebKit::WebViewImpl::drawsBackground):
2157         (WebKit::WebViewImpl::setDrawsTransparentBackground):
2158         (WebKit::WebViewImpl::drawsTransparentBackground):
2159         (WebKit::WebViewImpl::acceptsFirstResponder):
2160         (WebKit::WebViewImpl::becomeFirstResponder):
2161         (WebKit::WebViewImpl::resignFirstResponder):
2162         (WebKit::WebViewImpl::isFocused):
2163         (WebKit::WebViewImpl::viewWillStartLiveResize):
2164         (WebKit::WebViewImpl::viewDidEndLiveResize):
2165         (WebKit::WebViewImpl::setFrameSize):
2166         (WebKit::WebViewImpl::disableFrameSizeUpdates):
2167         (WebKit::WebViewImpl::enableFrameSizeUpdates):
2168         (WebKit::WebViewImpl::frameSizeUpdatesDisabled):
2169         (WebKit::WebViewImpl::setFrameAndScrollBy):
2170         (WebKit::WebViewImpl::setFixedLayoutSize):
2171         (WebKit::WebViewImpl::fixedLayoutSize):
2172         (WebKit::WebViewImpl::setDrawingAreaSize):
2173         (WebKit::WebViewImpl::setContentPreparationRect):
2174         (WebKit::WebViewImpl::updateViewExposedRect):
2175         (WebKit::WebViewImpl::setClipsToVisibleRect):
2176         (WebKit::WebViewImpl::setIntrinsicContentSize):
2177         (WebKit::WebViewImpl::intrinsicContentSize):
2178         (WebKit::WebViewImpl::setViewScale):
2179         (WebKit::WebViewImpl::viewScale):
2180         (WebKit::WebViewImpl::layoutMode):
2181         (WebKit::WebViewImpl::setLayoutMode):
2182         (WebKit::WebViewImpl::supportsArbitraryLayoutModes):
2183         (WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
2184         (WebKit::WebViewImpl::updateSecureInputState):
2185         (WebKit::WebViewImpl::resetSecureInputState):
2186         (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
2187         (WebKit::WebViewImpl::hasFullScreenWindowController):
2188         (WebKit::WebViewImpl::fullScreenWindowController):
2189         (WebKit::WebViewImpl::closeFullScreenWindowController):
2190         (WebKit::WebViewImpl::fullScreenPlaceholderView):
2191         (WebKit::WebViewImpl::createFullScreenWindow):
2192         Move the actual implementation of a number of WKView methods into a
2193         C++ class, WebViewImpl, which WKView calls directly into.
2194         Eventually, we will move all of the logic of WKView into WebViewImpl,
2195         and then duplicate the necessary forwarding in WKWebView and remove
2196         WKWebView's inner WKView.
2197
2198         * UIProcess/mac/PageClientImpl.h:
2199         * UIProcess/mac/PageClientImpl.mm:
2200         (WebKit::PageClientImpl::isViewFocused):
2201         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
2202         (WebKit::PageClientImpl::updateSecureInputState):
2203         (WebKit::PageClientImpl::resetSecureInputState):
2204         (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
2205         (WebKit::PageClientImpl::beganEnterFullScreen):
2206         (WebKit::PageClientImpl::beganExitFullScreen):
2207         For now, forward PageClient requests that can be answered by WebViewImpl
2208         to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
2209         together into one class, and these things will collapse down.
2210
2211         * UIProcess/mac/WKFullScreenWindowController.h:
2212         * UIProcess/mac/WKFullScreenWindowController.mm:
2213         (-[WKFullScreenWindowController initWithWindow:webView:page:]):
2214         (-[WKFullScreenWindowController enterFullScreen:]):
2215         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2216         (-[WKFullScreenWindowController exitFullScreen]):
2217         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
2218         (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
2219         (-[WKFullScreenWindowController _manager]):
2220         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2221         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2222         (-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
2223         (-[WKFullScreenWindowController _page]): Deleted.
2224         * UIProcess/mac/WKViewLayoutStrategy.h:
2225         * UIProcess/mac/WKViewLayoutStrategy.mm:
2226         (+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
2227         (-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
2228         (-[WKViewLayoutStrategy invalidate]):
2229         (-[WKViewLayoutStrategy didChangeFrameSize]):
2230         (-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
2231         (-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
2232         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
2233         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
2234         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
2235         (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
2236         (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
2237         (-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
2238         (-[WKViewLayoutStrategy willDestroyView:]): Deleted.
2239         (-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
2240         (-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
2241         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
2242         (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
2243         Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
2244         NSViews instead of WKView, so that eventually they will be able to work for either
2245         WKView or WKWebView, and so that they can sit underneath WebViewImpl.
2246
2247         * WebKit2.xcodeproj/project.pbxproj:
2248
2249 2015-10-19  Commit Queue  <commit-queue@webkit.org>
2250
2251         Unreviewed, rolling out r191307.
2252         https://bugs.webkit.org/show_bug.cgi?id=150338
2253
2254         broke lots of API tests, need time to figure out whats up
2255         (Requested by thorton on #webkit).
2256
2257         Reverted changeset:
2258
2259         "WKView being inside WKWebView leads to weird API issues"
2260         https://bugs.webkit.org/show_bug.cgi?id=150174
2261         http://trac.webkit.org/changeset/191307
2262
2263 2015-10-19  Tim Horton  <timothy_horton@apple.com>
2264
2265         Try again to fix the 32-bit build.
2266
2267         * UIProcess/mac/WebContextMenuProxyMac.mm:
2268         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2269
2270 2015-10-17  Wenson Hsieh  <wenson_hsieh@apple.com>
2271
2272         Extend fast-clicking behavior to trigger on elements that have negligible zoom
2273         https://bugs.webkit.org/show_bug.cgi?id=150248
2274         <rdar://problem/23140069>
2275
2276         Reviewed by Simon Fraser.
2277
2278         Currently, fast-clicking only triggers on pages that have unscalable viewports. To allow more websites to benefit from fast-clicking
2279         behavior, we generalize fast-clicking to also occur when tapping on elements for which double-tap-to-zoom would zoom the element in
2280         or out by an insignificant amount. We define an insignificant amount of zoom to mean that zooming would increase the viewport scale
2281         by less than a configurable threshold, or decrease the viewport scale by more than a configurable threshold. We accomplish this by
2282         temporarily disabling the double tap gesture recognizer for the duration of the tap. This patch refactors some logic used to compute
2283         zoomed viewports to make it possible to predict the change in viewport scale when double tapping to zoom. See the changes in
2284         SmartMagnificationController and ViewGestureGeometryCollector for more details.
2285
2286         There are no new tests, since this patch does not change existing behavior. Instead, this patch adds the machinery needed for zoom-
2287         dependent fast-clicking: by setting the preferences WebKitFastClickingEnabled and WebKitFastClickZoomThreshold, we will be able to tweak
2288         the behavior dynamically.
2289
2290         * UIProcess/API/Cocoa/WKWebView.mm:
2291         (-[WKWebView _didCommitLayerTree:]):
2292         (-[WKWebView _contentZoomScale]):
2293         (-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
2294         (-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
2295         (-[WKWebView _viewportIsUserScalable]):
2296         * UIProcess/API/Cocoa/WKWebViewInternal.h:
2297         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2298         * UIProcess/PageClient.h:
2299         * UIProcess/WebPageProxy.h:
2300         * UIProcess/WebPageProxy.messages.in:
2301         * UIProcess/ios/PageClientImplIOS.h:
2302         * UIProcess/ios/PageClientImplIOS.mm:
2303         (WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
2304         * UIProcess/ios/SmartMagnificationController.h:
2305         * UIProcess/ios/SmartMagnificationController.mm:
2306         (WebKit::SmartMagnificationController::adjustSmartMagnificationTargetRectAndZoomScales):
2307         (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
2308         (WebKit::SmartMagnificationController::magnify):
2309         * UIProcess/ios/WKContentViewInteraction.h:
2310         * UIProcess/ios/WKContentViewInteraction.mm:
2311         (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
2312         (-[WKContentView _fastClickZoomThreshold]):
2313         (-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]):
2314         (-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]):
2315         (-[WKContentView _highlightLongPressRecognized:]):
2316         (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
2317         (-[WKContentView _singleTapRecognized:]):
2318         (cancelPotentialTapIfNecessary):
2319         (-[WKContentView _singleTapCommited:]):
2320         (-[WKContentView webSelectionRects]): Deleted.
2321         * UIProcess/ios/WebPageProxyIOS.mm:
2322         (WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
2323         * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
2324         (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
2325         (WebKit::ViewGestureGeometryCollector::computeZoomInformationForNode):
2326         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
2327         * WebProcess/WebPage/ios/WebPageIOS.mm:
2328         (WebKit::WebPage::potentialTapAtPosition):
2329
2330 2015-10-19  Tim Horton  <timothy_horton@apple.com>
2331
2332         WKView being inside WKWebView leads to weird API issues
2333         https://bugs.webkit.org/show_bug.cgi?id=150174
2334
2335         Reviewed by Darin Adler.
2336
2337         * UIProcess/API/mac/WKView.mm:
2338         * UIProcess/API/mac/WKViewInternal.h:
2339         * UIProcess/Cocoa/WebViewImpl.h: Added.
2340         * UIProcess/Cocoa/WebViewImpl.mm: Added.
2341         (WebKit::WebViewImpl::WebViewImpl):
2342         (WebKit::WebViewImpl::~WebViewImpl):
2343         (WebKit::WebViewImpl::setDrawsBackground):
2344         (WebKit::WebViewImpl::drawsBackground):
2345         (WebKit::WebViewImpl::setDrawsTransparentBackground):
2346         (WebKit::WebViewImpl::drawsTransparentBackground):
2347         (WebKit::WebViewImpl::acceptsFirstResponder):
2348         (WebKit::WebViewImpl::becomeFirstResponder):
2349         (WebKit::WebViewImpl::resignFirstResponder):
2350         (WebKit::WebViewImpl::isFocused):
2351         (WebKit::WebViewImpl::viewWillStartLiveResize):
2352         (WebKit::WebViewImpl::viewDidEndLiveResize):
2353         (WebKit::WebViewImpl::setFrameSize):
2354         (WebKit::WebViewImpl::disableFrameSizeUpdates):
2355         (WebKit::WebViewImpl::enableFrameSizeUpdates):
2356         (WebKit::WebViewImpl::frameSizeUpdatesDisabled):
2357         (WebKit::WebViewImpl::setFrameAndScrollBy):
2358         (WebKit::WebViewImpl::setFixedLayoutSize):
2359         (WebKit::WebViewImpl::fixedLayoutSize):
2360         (WebKit::WebViewImpl::setDrawingAreaSize):
2361         (WebKit::WebViewImpl::setContentPreparationRect):
2362         (WebKit::WebViewImpl::updateViewExposedRect):
2363         (WebKit::WebViewImpl::setClipsToVisibleRect):
2364         (WebKit::WebViewImpl::setIntrinsicContentSize):
2365         (WebKit::WebViewImpl::intrinsicContentSize):
2366         (WebKit::WebViewImpl::setViewScale):
2367         (WebKit::WebViewImpl::viewScale):
2368         (WebKit::WebViewImpl::layoutMode):
2369         (WebKit::WebViewImpl::setLayoutMode):
2370         (WebKit::WebViewImpl::supportsArbitraryLayoutModes):
2371         (WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
2372         (WebKit::WebViewImpl::updateSecureInputState):
2373         (WebKit::WebViewImpl::resetSecureInputState):
2374         (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
2375         (WebKit::WebViewImpl::hasFullScreenWindowController):
2376         (WebKit::WebViewImpl::fullScreenWindowController):
2377         (WebKit::WebViewImpl::closeFullScreenWindowController):
2378         (WebKit::WebViewImpl::fullScreenPlaceholderView):
2379         (WebKit::WebViewImpl::createFullScreenWindow):
2380         Move the actual implementation of a number of WKView methods into a
2381         C++ class, WebViewImpl, which WKView calls directly into.
2382         Eventually, we will move all of the logic of WKView into WebViewImpl,
2383         and then duplicate the necessary forwarding in WKWebView and remove
2384         WKWebView's inner WKView.
2385
2386         * UIProcess/mac/PageClientImpl.h:
2387         * UIProcess/mac/PageClientImpl.mm:
2388         (WebKit::PageClientImpl::isViewFocused):
2389         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
2390         (WebKit::PageClientImpl::updateSecureInputState):
2391         (WebKit::PageClientImpl::resetSecureInputState):
2392         (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
2393         (WebKit::PageClientImpl::beganEnterFullScreen):
2394         (WebKit::PageClientImpl::beganExitFullScreen):
2395         For now, forward PageClient requests that can be answered by WebViewImpl
2396         to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
2397         together into one class, and these things will collapse down.
2398
2399         * UIProcess/mac/WKFullScreenWindowController.h:
2400         * UIProcess/mac/WKFullScreenWindowController.mm:
2401         (-[WKFullScreenWindowController initWithWindow:webView:page:]):
2402         (-[WKFullScreenWindowController enterFullScreen:]):
2403         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
2404         (-[WKFullScreenWindowController exitFullScreen]):
2405         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
2406         (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
2407         (-[WKFullScreenWindowController _manager]):
2408         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
2409         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
2410         (-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
2411         (-[WKFullScreenWindowController _page]): Deleted.
2412         * UIProcess/mac/WKViewLayoutStrategy.h:
2413         * UIProcess/mac/WKViewLayoutStrategy.mm:
2414         (+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
2415         (-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
2416         (-[WKViewLayoutStrategy invalidate]):
2417         (-[WKViewLayoutStrategy didChangeFrameSize]):
2418         (-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
2419         (-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
2420         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
2421         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
2422         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
2423         (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
2424         (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
2425         (-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
2426         (-[WKViewLayoutStrategy willDestroyView:]): Deleted.
2427         (-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
2428         (-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
2429         (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
2430         (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
2431         Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
2432         NSViews instead of WKView, so that eventually they will be able to work for either
2433         WKView or WKWebView, and so that they can sit underneath WebViewImpl.
2434
2435         * WebKit2.xcodeproj/project.pbxproj:
2436
2437 2015-10-19  Chris Dumez  <cdumez@apple.com>
2438
2439         [WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
2440         https://bugs.webkit.org/show_bug.cgi?id=150221
2441         <rdar://problem/23149771>
2442
2443         Reviewed by Darin Adler and Antti Koivisto.
2444
2445         Generalize NetworkCacheStorage API so it can store different types of
2446         metadata alongside the network resources. This is a pre-requirement to
2447         making our NetworkCache smarter by storing information about the
2448         resources.
2449
2450         To keep the code simple, the entry type is now part of the entry key and
2451         we store records of a specific type in a 'type' subfolder. The cache
2452         structure looks like so:
2453         - WebKitCache/Version 5/[Partition]/[Type]/[Hash]
2454         - WebKitCache/Version 5/[Partition]/[Type]/[Hash]-blob (Optional)
2455
2456         Existing cache entries now that the 'resource' type as these are network
2457         resources.
2458
2459         * NetworkProcess/cache/NetworkCache.cpp:
2460         * NetworkProcess/cache/NetworkCacheKey.cpp:
2461         * NetworkProcess/cache/NetworkCacheKey.h:
2462         * NetworkProcess/cache/NetworkCacheStatistics.cpp:
2463         * NetworkProcess/cache/NetworkCacheStorage.cpp:
2464         * NetworkProcess/cache/NetworkCacheStorage.h:
2465
2466 2015-10-19  Tim Horton  <timothy_horton@apple.com>
2467
2468         Try to fix the iOS build
2469
2470         * Configurations/FeatureDefines.xcconfig:
2471
2472 2015-10-19  Tim Horton  <timothy_horton@apple.com>
2473
2474         Try to fix the 32-bit build.
2475
2476         * UIProcess/mac/WebContextMenuProxyMac.mm:
2477         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2478
2479 2015-10-16  Anders Carlsson  <andersca@apple.com>
2480
2481         Fix image service menus somewhat
2482         https://bugs.webkit.org/show_bug.cgi?id=150265
2483
2484         Reviewed by Tim Horton.
2485
2486         * Shared/ContextMenuContextData.cpp:
2487         (WebKit::ContextMenuContextData::ContextMenuContextData):
2488         It's a service menu if we have a controlled image.
2489
2490         * UIProcess/mac/WebContextMenuProxyMac.mm:
2491         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2492         Use an item provider.
2493
2494 2015-10-19  Tim Horton  <timothy_horton@apple.com>
2495
2496         Add magnify and rotate gesture event support for Mac
2497         https://bugs.webkit.org/show_bug.cgi?id=150179
2498         <rdar://problem/8036240>
2499
2500         Reviewed by Darin Adler.
2501
2502         * Configurations/FeatureDefines.xcconfig:
2503         New feature flag.
2504
2505         * Shared/NativeWebGestureEvent.h: Added.
2506         (WebKit::NativeWebGestureEvent::nativeEvent):
2507         * Shared/WebEvent.h:
2508         * Shared/WebEventConversion.cpp:
2509         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
2510         (WebKit::platform):
2511         * Shared/WebEventConversion.h:
2512         * Shared/mac/NativeWebGestureEventMac.mm: Added.
2513         (WebKit::webEventTypeForNSEvent):
2514         (WebKit::pointForEvent):
2515         (WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
2516         Add and plumb a new native event that wraps a NSEvent of type
2517         NSEventTypeMagnify or NSEventTypeRotate (gesture events).
2518
2519         * Shared/mac/WebGestureEvent.cpp: Added.
2520         (WebKit::WebGestureEvent::encode):
2521         (WebKit::WebGestureEvent::decode):
2522         (WebKit::WebGestureEvent::isGestureEventType):
2523         * Shared/mac/WebGestureEvent.h: Added.
2524         (WebKit::WebGestureEvent::WebGestureEvent):
2525         (WebKit::WebGestureEvent::position):
2526         (WebKit::WebGestureEvent::gestureScale):
2527         (WebKit::WebGestureEvent::gestureRotation):
2528         Add IPC plumbing for WebGestureEvent, which becomes a WebCore::PlatformGestureEvent.
2529
2530         * UIProcess/API/Cocoa/WKViewPrivate.h:
2531         Remove unnecessary iPhone-only WKView code.
2532         Add _gestureEventWasNotHandledByWebCore, SPI which can be overridden
2533         to react when WebCore decides not to handle a gesture event.
2534
2535         * UIProcess/API/mac/WKView.mm:
2536         (-[WKView magnifyWithEvent:]):
2537         Route magnification gesture events to the page, unless we're already
2538         in an active view zoom gesture, in which case we'll bypass the page
2539         and send the event straight to ViewGestureController.
2540
2541         (-[WKView rotateWithEvent:]):
2542         Route rotation gesture events to the page.
2543
2544         (-[WKView _gestureEventWasNotHandledByWebCore:]):
2545         Let ViewGestureController know that WebCore didn't handle a gesture event.
2546         We always give WebCore the first crack at the event if we're not in a zoom,
2547         because it could preventDefault() on the Begin phase event, and that should
2548         prevent pinch-zoom from starting.
2549
2550         * UIProcess/PageClient.h:
2551         * UIProcess/mac/PageClientImpl.h:
2552         * UIProcess/mac/PageClientImpl.mm:
2553         (WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
2554         Plumb gestureEventWasNotHandledByWebCore back from WebPageProxy to WKView.
2555
2556         * UIProcess/WebPageProxy.cpp:
2557         (WebKit::WebPageProxy::handleGestureEvent):
2558         (WebKit::WebPageProxy::didReceiveEvent):
2559         * UIProcess/WebPageProxy.h:
2560         Forward gesture events to EventDispatcher, and let WKView know when WebCore
2561         passes on handling them.
2562         
2563         * UIProcess/mac/ViewGestureController.h:
2564         (WebKit::ViewGestureController::hasActiveMagnificationGesture):
2565         * UIProcess/mac/ViewGestureControllerMac.mm:
2566         (WebKit::ViewGestureController::gestureEventWasNotHandledByWebCore):
2567         (WebKit::ViewGestureController::handleMagnificationGestureEvent):
2568         Don't try to start a zoom with anything other than a Begin phase event.
2569         Try to start a zoom with any events that WebCore doesn't handle.
2570         Move dispatch of endMagnificationGesture into ViewGestureController;
2571         there is no reason for that to be in WKView anymore.
2572
2573         * WebKit2.xcodeproj/project.pbxproj:
2574         * WebProcess/WebPage/EventDispatcher.cpp:
2575         (WebKit::EventDispatcher::gestureEvent):
2576         (WebKit::EventDispatcher::dispatchGestureEvent):
2577         * WebProcess/WebPage/EventDispatcher.h:
2578         * WebProcess/WebPage/EventDispatcher.messages.in:
2579         * WebProcess/WebPage/WebPage.cpp:
2580         (WebKit::handleGestureEvent):
2581         (WebKit::WebPage::gestureEvent):
2582         * WebProcess/WebPage/WebPage.h:
2583         Dispatch to the main thread and hand off the gesture event to WebCore,
2584         asynchronously informing the UI process of whether the event was handled or not.
2585
2586 2015-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2587
2588         [GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
2589         https://bugs.webkit.org/show_bug.cgi?id=150319
2590
2591         Reviewed by Žan Doberšek.
2592
2593         This happens when the inspector is shown/closed very
2594         quickly. Since we start the inspector attached by default, when
2595         the web inspector is created m_isAttached is set to true, so that
2596         when opened, it's attached to the view. If the inspector is closed
2597         before it has been actually attached, the inspector view doesn't
2598         have a parent, even if the m_isAttached is true. So, we should
2599         handle this case instead of asserting. This is what happens in
2600         test http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html.
2601
2602         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2603         (WebKit::WebInspectorProxy::platformDetach): Remove the view from
2604         its parent container if it was actually attached.
2605
2606 2015-10-19  Hunseop Jeong  <hs85.jeong@samsung.com>
2607
2608         [EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
2609         https://bugs.webkit.org/show_bug.cgi?id=150310
2610
2611         Reviewed by Gyuyoung Kim.
2612
2613         showContextMenu() doesn't work correctly after r191194 in EFL port.
2614         This patch implements WebContextMenuProxyEfl::showContextMenu.
2615
2616         * UIProcess/efl/WebContextMenuProxyEfl.cpp:
2617         (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
2618         (WebKit::WebContextMenuProxyEfl::showContextMenu):
2619         (WebKit::WebContextMenuProxyEfl::hideContextMenu):
2620         * UIProcess/efl/WebContextMenuProxyEfl.h:
2621
2622 2015-10-18  Csaba Osztrogonác  <ossy@webkit.org>
2623
2624         [WK2] Simplify unused return warning in WKRetainPtr.h
2625         https://bugs.webkit.org/show_bug.cgi?id=150173
2626
2627         Reviewed by Darin Adler.
2628
2629         * UIProcess/API/cpp/WKRetainPtr.h:
2630         (WebKit::__attribute__):
2631         (WebKit::adoptWK): Deleted.
2632
2633 2015-10-18  Csaba Osztrogonác  <ossy@webkit.org>
2634
2635         Fix the ENABLE(SECCOMP_FILTERS) build after r187030
2636         https://bugs.webkit.org/show_bug.cgi?id=150172
2637
2638         Reviewed by Alexey Proskuryakov.
2639
2640         * Shared/linux/SeccompFilters/Syscall.cpp:
2641         (WebKit::reportUnexpectedSyscall):
2642
2643 2015-10-18  Joonghun Park  <jh718.park@samsung.com>
2644
2645         [GTK] Remove WebKitContextMenu related missing annotation warnings
2646         https://bugs.webkit.org/show_bug.cgi?id=150299
2647
2648         Reviewed by Darin Adler.
2649
2650         The warnings occur currently because when executing g-ir-scanner,
2651         it doesn't consider WebKitContextMenu related .cpp files,
2652         but only .h files.
2653
2654         * PlatformGTK.cmake: Add WebKitContextMenu related cpp files.
2655
2656 2015-10-18  Myles C. Maxfield  <mmaxfield@apple.com>
2657
2658         Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
2659         https://bugs.webkit.org/show_bug.cgi?id=150287
2660
2661         Reviewed by Simon Fraser.
2662
2663         * Shared/WebProcessCreationParameters.cpp:
2664         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
2665         (WebKit::WebProcessCreationParameters::encode): Deleted.
2666         (WebKit::WebProcessCreationParameters::decode): Deleted.
2667         * Shared/WebProcessCreationParameters.h:
2668         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
2669         (WebKit::registerUserDefaultsIfNeeded): Deleted.
2670         (WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.
2671         * WebProcess/cocoa/WebProcessCocoa.mm:
2672         (WebKit::WebProcess::platformInitializeWebProcess): Deleted.
2673
2674 2015-10-18  Yusuke Suzuki  <utatane.tea@gmail.com>
2675
2676         [GTK] Implement WebContextMenuProxyGtk::showContextMenu after r191194
2677         https://bugs.webkit.org/show_bug.cgi?id=150276
2678
2679         Reviewed by Carlos Garcia Campos.
2680
2681         After r191194, showContextMenu signature becomes changed, and the implementation
2682         is moved from the generic file to the Mac port. It poses the compile error in GTK port.
2683         This patch implements WebContextMenuProxyGtk::showContextMenu. The logic is the same
2684         to the old one except for dropping SERVICE_CONTROLS support. This is because
2685         SERVICE_CONTROLS is not related to GTK.
2686
2687         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
2688         (WebKit::WebContextMenuProxyGtk::showContextMenu):
2689         * UIProcess/gtk/WebContextMenuProxyGtk.h:
2690
2691 2015-10-18  Commit Queue  <commit-queue@webkit.org>
2692
2693         Unreviewed, rolling out r191250 and r191253.
2694         https://bugs.webkit.org/show_bug.cgi?id=150296
2695
2696         Broke all the tests on Windows (Requested by ap on #webkit).
2697
2698         Reverted changesets:
2699
2700         "Stop honoring the user default
2701         "WebKitKerningAndLigaturesEnabledByDefault""
2702         https://bugs.webkit.org/show_bug.cgi?id=150287
2703         http://trac.webkit.org/changeset/191250
2704
2705         "Build fix after r191250"
2706         http://trac.webkit.org/changeset/191253
2707
2708 2015-10-17  Myles C. Maxfield  <mmaxfield@apple.com>
2709
2710         Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
2711         https://bugs.webkit.org/show_bug.cgi?id=150287
2712
2713         Reviewed by Simon Fraser.
2714
2715         * Shared/WebProcessCreationParameters.cpp:
2716         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
2717         (WebKit::WebProcessCreationParameters::encode): Deleted.
2718         (WebKit::WebProcessCreationParameters::decode): Deleted.
2719         * Shared/WebProcessCreationParameters.h:
2720         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
2721         (WebKit::registerUserDefaultsIfNeeded): Deleted.
2722         (WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.
2723         * WebProcess/cocoa/WebProcessCocoa.mm:
2724         (WebKit::WebProcess::platformInitializeWebProcess): Deleted.
2725
2726 2015-10-17  Dan Bernstein  <mitz@apple.com>
2727
2728         [Cocoa] Stop using WKAXRegisterRemoteApp
2729         https://bugs.webkit.org/show_bug.cgi?id=150283
2730
2731         Reviewed by Alexey Proskuryakov.
2732
2733         * Platform/spi/mac: Added.
2734         * Platform/spi/mac/AppKitSPI.h: Added. Includes declaration of
2735           +[NSAccessibilityRemoteUIElement setRemoteUIApp:].
2736
2737         * WebKit2.xcodeproj/project.pbxproj: Added reference to new header. Also changed the path of
2738           the Platform/spi/Cocoa group to the corresponding path in the source tree.
2739
2740         * WebProcess/cocoa/WebProcessCocoa.mm:
2741         (WebKit::registerWithAccessibility): Added.
2742         (WebKit::WebProcess::platformInitializeProcess): Use new registerWithAccessibility instead
2743           of WKAXRegisterRemoteApp.
2744
2745 2015-10-16  Simon Fraser  <simon.fraser@apple.com>
2746
2747         Enhance TextStream for logging, remove subclasses, log more things
2748         https://bugs.webkit.org/show_bug.cgi?id=150269
2749
2750         Reviewed by Zalan Bujtas.
2751
2752         Remove the various TextStream subclasses that only existed to support indenting,
2753         and output additional types. Add output for more WebCore and WebKit2 types, and
2754         just use TextStream everywhere.
2755         
2756         TextStream is enhance to support grouping (open paren and intent), with a 
2757         stack-based class to open/end a group.
2758         
2759         Remove some SVG-specific duplicate output functions.
2760         
2761         Outdent namespace contents of GraphicsTypes.h.
2762
2763         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
2764         (WebKit::dump):
2765         (WebKit::recursiveDumpNodes):
2766         (WebKit::RemoteScrollingCoordinatorTransaction::description):
2767         (WebKit::RemoteScrollingTreeTextStream::RemoteScrollingTreeTextStream): Deleted.
2768         (WebKit::RemoteScrollingTreeTextStream::increaseIndent): Deleted.
2769         (WebKit::RemoteScrollingTreeTextStream::decreaseIndent): Deleted.
2770         (WebKit::RemoteScrollingTreeTextStream::writeIndent): Deleted.
2771         (WebKit::dumpProperty): Deleted.
2772         (WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.
2773         (WebKit::RemoteScrollingTreeTextStream::dump): Deleted.
2774         (WebKit::RemoteScrollingTreeTextStream::recursiveDumpNodes): Deleted.
2775         * Shared/mac/RemoteLayerTreeTransaction.mm:
2776         (WebKit::operator<<):
2777         (WebKit::dumpChangedLayers):
2778         (WebKit::RemoteLayerTreeTransaction::description):
2779         (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream): Deleted.
2780         (WebKit::RemoteLayerTreeTextStream::increaseIndent): Deleted.
2781         (WebKit::RemoteLayerTreeTextStream::decreaseIndent): Deleted.
2782         (WebKit::dumpProperty): Deleted.
2783         (WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.
2784         (WebKit::RemoteLayerTreeTextStream::writeIndent): Deleted.
2785         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
2786         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
2787         (WebKit::operator<<):
2788
2789 2015-10-17  Hunseop Jeong  <hs85.jeong@samsung.com>
2790
2791         URTBF after r191194 to fix EFL build.
2792         https://bugs.webkit.org/show_bug.cgi?id=150272
2793
2794         Reviewed by Csaba Osztrogonác.
2795
2796         * UIProcess/efl/WebContextMenuProxyEfl.cpp:
2797         (WebKit::WebContextMenuProxyEfl::showContextMenu):
2798         * UIProcess/efl/WebContextMenuProxyEfl.h:
2799
2800 2015-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2801
2802         Add a WKWebView input delegate SPI
2803         https://bugs.webkit.org/show_bug.cgi?id=149646
2804
2805         Reviewed by Dan Bernstein.
2806
2807         Renames the existing _WKFormDelegate to _WKInputDelegate and adds a new delegate SPI method
2808         -[_WKInputDelegate _webView:focusShouldStartInputSession:] that allows clients to allow or
2809         disallow showing up the keyboard. To make this decision, clients are given a
2810         _WKFocusedElementInfo, which contains information about the focused element prior to the
2811         keyboard showing up so the client will be able to override default assistance behavior.
2812
2813         While the information contained in a _WKFocusedElementInfo currently seems like overkill for
2814         _webView:focusShouldStartInputSession, our intentions are to give WebKit clients control over more
2815         details of how node assistance works, such as being able to use a custom editor for certain
2816         types of nodes.
2817
2818         * Shared/API/Cocoa/WebKitPrivate.h: Added new header _WKFocusedElementInfo.h.
2819         * UIProcess/API/Cocoa/WKWebView.h:
2820         * UIProcess/API/Cocoa/WKWebView.mm:
2821         (-[WKWebView _inputDelegate]):
2822         (-[WKWebView _formDelegate]):
2823         (-[WKWebView _setInputDelegate:]):
2824         (-[WKWebView _setFormDelegate:]):
2825         (-[WKWebView initWithFrame:configuration:]): Deleted canAssistOnProgrammaticFocus flag.
2826         (-[WKWebView canAssistOnProgrammaticFocus]): Ditto.
2827         (-[WKWebView setCanAssistOnProgrammaticFocus:]): Ditto.
2828         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
2829         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2830         (-[WKWebViewConfiguration init]): Deleted.
2831         (-[WKWebViewConfiguration _canAssistOnProgrammaticFocus]): Deleted canAssistOnProgrammaticFocus flag.
2832         (-[WKWebViewConfiguration _setCanAssistOnProgrammaticFocus:]): Ditto.
2833         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2834         * UIProcess/API/Cocoa/_WKFocusedElementInfo.h: Added.
2835         * UIProcess/API/Cocoa/_WKFormDelegate.h:
2836         * UIProcess/API/Cocoa/_WKInputDelegate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKFormDelegate.h.
2837         * UIProcess/ios/WKContentViewInteraction.mm:
2838         (-[WKFocusedElementInfo initWithAssistedNodeInformation:isInteracting:]):
2839         (-[WKFocusedElementInfo type]):
2840         (-[WKFocusedElementInfo value]):
2841         (-[WKFocusedElementInfo isUserInitiated]):
2842         (-[WKContentView accessoryAutoFill]):
2843         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): If the input delegate responds to
2844             shouldStartInputSession, consult it to see if we should bring up the keyboard; otherwise, use our default behavior.
2845         * WebKit2.xcodeproj/project.pbxproj:
2846
2847 2015-10-16  Simon Fraser  <simon.fraser@apple.com>
2848
2849         Make TextStream the canonical way to log classes in WebCore
2850         https://bugs.webkit.org/show_bug.cgi?id=150256
2851
2852         Reviewed by Sam Weinig.
2853
2854         We vacillated between PrintStream and TextStream as being the canonical way
2855         to stringify WebCore data structures. This patch solidifies TextStream
2856         as the solution, since it has convenient stream syntax, and is what we
2857         use for render tree dumps.
2858
2859         Remove TextStream member functions that output non-simple structs
2860         (sizes, points and rects), replacing them with free operator<< functions
2861         in the .cpp file for the relevant class. Formatting is currently consistent
2862         with RenderTreeAsText output, to avoid breaking tests.
2863
2864         Remove custom FloatRect outputting in SVG and RemoteLayerTreeTransaction.
2865
2866         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
2867         (WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.
2868         * Shared/mac/RemoteLayerTreeTransaction.mm:
2869         (WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.
2870
2871 2015-10-16  Anders Carlsson  <andersca@apple.com>
2872
2873         Remove some dead menu code
2874         https://bugs.webkit.org/show_bug.cgi?id=150247
2875
2876         Reviewed by Andreas Kling.
2877
2878         * Shared/WebContextMenuItemData.cpp:
2879         (WebKit::WebContextMenuItemData::WebContextMenuItemData):
2880         (WebKit::WebContextMenuItemData::encode): Deleted.
2881         * Shared/WebContextMenuItemData.h:
2882         (WebKit::WebContextMenuItemData::selectionHandler): Deleted.
2883         * UIProcess/mac/WebContextMenuProxyMac.mm:
2884         (WebKit::nsMenuItem):
2885
2886 2015-10-16  Anders Carlsson  <andersca@apple.com>
2887
2888         Move more code to WebContextMenuProxyMac
2889         https://bugs.webkit.org/show_bug.cgi?id=150240
2890
2891         Reviewed by Tim Horton.
2892
2893         * UIProcess/WebContextMenuProxy.h:
2894         * UIProcess/WebPageProxy.cpp:
2895         (WebKit::WebPageProxy::internalShowContextMenu):
2896         * UIProcess/WebPageProxy.h:
2897         (WebKit::WebPageProxy::contextMenuClient):
2898         * UIProcess/mac/WebContextMenuProxyMac.h:
2899         * UIProcess/mac/WebContextMenuProxyMac.mm:
2900         (WebKit::WebContextMenuProxyMac::initializeShareMenuItem):
2901         (WebKit::WebContextMenuProxyMac::showContextMenu):
2902         * UIProcess/mac/WebPageProxyMac.mm:
2903         (WebKit::WebPageProxy::platformInitializeShareMenuItem): Deleted.
2904
2905 2015-10-16  Tim Horton  <timothy_horton@apple.com>
2906
2907         Hook up autolayout intrinsic sizing for WKWebView
2908         https://bugs.webkit.org/show_bug.cgi?id=150219
2909         <rdar://problem/20016905>
2910
2911         Reviewed by Simon Fraser.
2912
2913         * UIProcess/API/Cocoa/WKWebView.mm:
2914         (-[WKWebView initWithFrame:configuration:]):
2915         (-[WKWebView intrinsicContentSize]):
2916         (-[WKWebView _setIntrinsicContentSize:]):
2917         (-[WKWebView _minimumLayoutWidth]):
2918         (-[WKWebView _setMinimumLayoutWidth:]):
2919         * UIProcess/API/Cocoa/WKWebViewInternal.h:
2920         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2921         Add a simple SPI to specify the minimum width that a WKWebView will attempt
2922         to lay out to, similar to WKView except just a width, not a size, and
2923         with no option to force the height to the view size. Similar behavior can
2924         be achieved by clients by setting custom autolayout constraints on the view.
2925
2926         * UIProcess/mac/PageClientImpl.mm:
2927         (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
2928         Forward intrinsic content size changes to the WKWebView, not its inner WKView,
2929         if we have one.
2930
2931         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2932         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2933         Only set the autosizing fixed minimum height if we're using that behavior;
2934         otherwise, setting it to the view's height will end up accidentally
2935         turning on that behavior (which involves an extra layout per resize!).
2936
2937 2015-10-15  Anders Carlsson  <andersca@apple.com>
2938
2939         Use the ShowContextMenu message for service menus as well
2940         https://bugs.webkit.org/show_bug.cgi?id=150206
2941
2942         Reviewed by Tim Horton.
2943
2944         * Shared/ContextMenuContextData.cpp:
2945         (WebKit::ContextMenuContextData::ContextMenuContextData):
2946         (WebKit::ContextMenuContextData::encode):
2947         (WebKit::ContextMenuContextData::decode):
2948         * Shared/ContextMenuContextData.h:
2949         (WebKit::ContextMenuContextData::type):
2950         (WebKit::ContextMenuContextData::ContextMenuContextData):
2951         (WebKit::ContextMenuContextData::isServicesMenu):
2952         (WebKit::ContextMenuContextData::needsServicesMenu): Deleted.
2953         * UIProcess/WebPageProxy.cpp:
2954         (WebKit::WebPageProxy::showContextMenu):
2955         (WebKit::WebPageProxy::internalShowContextMenu):
2956         * UIProcess/WebPageProxy.h:
2957         * UIProcess/WebPageProxy.messages.in:
2958         * UIProcess/mac/WebContextMenuProxyMac.mm:
2959         (WebKit::WebContextMenuProxyMac::populate):
2960         (WebKit::WebContextMenuProxyMac::showContextMenu):
2961         * UIProcess/mac/WebPageProxyMac.mm:
2962         (WebKit::WebPageProxy::showSelectionServiceMenu): Deleted.
2963         * WebProcess/WebPage/mac/WebPageMac.mm:
2964         (WebKit::WebPage::handleSelectionServiceClick):
2965
2966 2015-10-16  Hunseop Jeong  <hs85.jeong@samsung.com>
2967
2968         [GTK] Try to fix the build after r191137
2969         https://bugs.webkit.org/show_bug.cgi?id=150222
2970
2971         Reviewed by Carlos Garcia Campos.
2972
2973         * UIProcess/API/gtk/PageClientImpl.cpp:
2974         (WebKit::PageClientImpl::doneWithKeyEvent):
2975         (WebKit::PageClientImpl::createPopupMenuProxy):
2976         (WebKit::PageClientImpl::createContextMenuProxy):
2977         (WebKit::PageClientImpl::createColorPicker):
2978         * UIProcess/API/gtk/PageClientImpl.h:
2979         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
2980         (WebKit::WebContextMenuProxyGtk::populate):
2981         (WebKit::WebContextMenuProxyGtk::showContextMenu):
2982         (WebKit::WebContextMenuProxyGtk::hideContextMenu):
2983         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
2984         * UIProcess/gtk/WebContextMenuProxyGtk.h:
2985         (WebKit::WebContextMenuProxyGtk::create):
2986         (WebKit::WebContextMenuProxyGtk::gtkMenu):
2987         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
2988         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
2989         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
2990         (WebKit::WebPopupMenuProxyGtk::create):
2991         (WebKit::WebPopupMenuProxyGtk::setCurrentlySelectedMenuItem):
2992
2993 2015-10-15  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2994
2995          EFL build fix since r191137
2996
2997          Unreviewed EFL build fix.
2998
2999         * UIProcess/CoordinatedGraphics/WebView.cpp: Removed.
3000
3001 2015-10-15  Myles C. Maxfield  <mmaxfield@apple.com>
3002
3003         Migrate to CGContextSetBaseCTM() and CGContextResetClip() from WKSI
3004         https://bugs.webkit.org/show_bug.cgi?id=150155
3005
3006         Reviewed by Tim Horton.
3007
3008         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3009         (InitWebCoreSystemInterface): Deleted.
3010
3011 2015-10-15  Dean Jackson  <dino@apple.com>
3012
3013         Fix the iOS build. And hopefully not breaking the other builds
3014         at the same time.
3015
3016         * UIProcess/PageClient.h:
3017         * UIProcess/WebContextMenuProxy.cpp:
3018         * UIProcess/WebContextMenuProxy.h:
3019         * UIProcess/ios/PageClientImplIOS.h:
3020         * UIProcess/ios/PageClientImplIOS.mm:
3021         * UIProcess/mac/PageClientImpl.h:
3022         * UIProcess/mac/PageClientImpl.mm:
3023
3024 2015-10-15  Anders Carlsson  <andersca@apple.com>
3025
3026         Use the context inside WebContextMenuProxyMac
3027         https://bugs.webkit.org/show_bug.cgi?id=150196
3028
3029         Reviewed by Tim Horton.
3030
3031         * UIProcess/WebContextMenuProxy.h:
3032         * UIProcess/WebPageProxy.cpp:
3033         (WebKit::WebPageProxy::internalShowContextMenu):
3034         * UIProcess/mac/WebContextMenuProxyMac.h:
3035         * UIProcess/mac/WebContextMenuProxyMac.mm:
3036         (WebKit::WebContextMenuProxyMac::populate):
3037         (WebKit::WebContextMenuProxyMac::showContextMenu):
3038
3039 2015-10-15  Anders Carlsson  <andersca@apple.com>
3040
3041         Use the context menu location that's stored in the context data
3042         https://bugs.webkit.org/show_bug.cgi?id=150194
3043
3044         Reviewed by Tim Horton.
3045
3046         * UIProcess/WebContextMenuProxy.h:
3047         * UIProcess/WebPageProxy.cpp:
3048         (WebKit::WebPageProxy::internalShowContextMenu):
3049         * UIProcess/mac/WebContextMenuProxyMac.h:
3050         * UIProcess/mac/WebContextMenuProxyMac.mm:
3051         (WebKit::WebContextMenuProxyMac::showContextMenu):
3052
3053 2015-10-15  Anders Carlsson  <andersca@apple.com>
3054
3055         Store the context menu data and user data in the WebContextMenuProxy object
3056         https://bugs.webkit.org/show_bug.cgi?id=150191
3057
3058         Reviewed by Tim Horton.
3059
3060         * UIProcess/PageClient.h:
3061         * UIProcess/WebContextMenuProxy.cpp:
3062         (WebKit::WebContextMenuProxy::WebContextMenuProxy):
3063         * UIProcess/WebContextMenuProxy.h:
3064         * UIProcess/WebPageProxy.cpp:
3065         (WebKit::WebPageProxy::internalShowContextMenu):
3066         * UIProcess/ios/PageClientImplIOS.h:
3067         * UIProcess/ios/PageClientImplIOS.mm:
3068         (WebKit::PageClientImpl::createContextMenuProxy):
3069         * UIProcess/mac/PageClientImpl.h:
3070         * UIProcess/mac/PageClientImpl.mm:
3071         (WebKit::PageClientImpl::createContextMenuProxy):
3072         * UIProcess/mac/WebContextMenuProxyMac.h:
3073         (WebKit::WebContextMenuProxyMac::create):
3074         * UIProcess/mac/WebContextMenuProxyMac.mm:
3075         (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
3076
3077 2015-10-15  Dan Bernstein  <mitz@apple.com>
3078
3079         [Cocoa] Stop using WKSetNSURLConnectionDefersCallbacks
3080         https://bugs.webkit.org/show_bug.cgi?id=150189
3081
3082         Reviewed by Anders Carlsson.
3083
3084         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3085         (InitWebCoreSystemInterface): Removed initialization.
3086
3087 2015-10-15  Anders Carlsson  <andersca@apple.com>
3088
3089         Fix build.
3090
3091         * UIProcess/API/APIFrameInfo.cpp:
3092         (API::FrameInfo::~FrameInfo):
3093         * UIProcess/API/APIFrameInfo.h:
3094         * UIProcess/API/Cocoa/WKUserContentController.mm:
3095
3096 2015-10-15  Anders Carlsson  <andersca@apple.com>
3097
3098         CTTE menu proxies
3099         https://bugs.webkit.org/show_bug.cgi?id=150187
3100
3101         Reviewed by Tim Horton.
3102
3103         * UIProcess/PageClient.h:
3104         * UIProcess/WebPageProxy.cpp:
3105         (WebKit::WebPageProxy::showPopupMenu):
3106         (WebKit::WebPageProxy::internalShowContextMenu):
3107         * UIProcess/WebPopupMenuProxy.h:
3108         (WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
3109         * UIProcess/ios/PageClientImplIOS.h:
3110         * UIProcess/ios/PageClientImplIOS.mm:
3111         (WebKit::PageClientImpl::createPopupMenuProxy):
3112         (WebKit::PageClientImpl::createContextMenuProxy): Deleted.
3113         * UIProcess/mac/PageClientImpl.h:
3114         * UIProcess/mac/PageClientImpl.mm:
3115         (WebKit::PageClientImpl::createPopupMenuProxy):
3116         (WebKit::PageClientImpl::createContextMenuProxy):
3117         * UIProcess/mac/WebContextMenuProxyMac.h:
3118         (WebKit::WebContextMenuProxyMac::create):
3119         (WebKit::WebContextMenuProxyMac::page):
3120         * UIProcess/mac/WebContextMenuProxyMac.mm:
3121         (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
3122         (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
3123         (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
3124         * UIProcess/mac/WebPopupMenuProxyMac.h:
3125         (WebKit::WebPopupMenuProxyMac::create):
3126         * UIProcess/mac/WebPopupMenuProxyMac.mm:
3127         (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
3128
3129 2015-10-15  Anders Carlsson  <andersca@apple.com>
3130
3131         Add -[WKFrameInfo _handle]
3132         https://bugs.webkit.org/show_bug.cgi?id=150185
3133         rdar://problem/23132371
3134
3135         Reviewed by Tim Horton.
3136
3137         * UIProcess/API/APIFrameInfo.cpp:
3138         (API::FrameInfo::FrameInfo):
3139         * UIProcess/API/APIFrameInfo.h:
3140         * UIProcess/API/Cocoa/WKFrameInfo.mm:
3141         (-[WKFrameInfo _handle]):
3142         * UIProcess/API/Cocoa/WKFrameInfoInternal.h:
3143         * UIProcess/API/Cocoa/WKFrameInfoPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h.
3144         * UIProcess/WebPageProxy.cpp:
3145         (WebKit::WebPageProxy::showPopupMenu):
3146         (WebKit::WebPageProxy::internalShowContextMenu):
3147         * UIProcess/WebPopupMenuProxy.h:
3148         (WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
3149         * WebKit2.xcodeproj/project.pbxproj:
3150
3151 2015-10-15  Anders Carlsson  <andersca@apple.com>
3152
3153         The menu location and menu items should be part of ContextMenuContextData
3154         https://bugs.webkit.org/show_bug.cgi?id=150182
3155
3156         Reviewed by Andreas Kling.
3157
3158         * Shared/ContextMenuContextData.cpp:
3159         (WebKit::ContextMenuContextData::ContextMenuContextData):
3160         (WebKit::ContextMenuContextData::encode):
3161         (WebKit::ContextMenuContextData::decode):
3162         * Shared/ContextMenuContextData.h:
3163         (WebKit::ContextMenuContextData::menuLocation):
3164         (WebKit::ContextMenuContextData::menuItems):
3165         (WebKit::ContextMenuContextData::ContextMenuContextData):
3166         * UIProcess/WebPageProxy.cpp:
3167         (WebKit::WebPageProxy::showContextMenu):
3168         (WebKit::WebPageProxy::internalShowContextMenu):
3169         * UIProcess/WebPageProxy.h:
3170         * UIProcess/WebPageProxy.messages.in:
3171         * UIProcess/mac/WebPageProxyMac.mm:
3172         (WebKit::WebPageProxy::showSelectionServiceMenu):
3173         * WebProcess/WebPage/WebContextMenu.cpp:
3174         (WebKit::WebContextMenu::show):
3175
3176 2015-10-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3177
3178         [GTK] Test WebKit2.RestoreSessionStateContainingFormData fails
3179         https://bugs.webkit.org/show_bug.cgi?id=84960
3180
3181         Reviewed by Žan Doberšek.
3182
3183         Add a cross-platform implementation to LegacySessionStateCodingNone
3184         using the new SessionState, so that non mac ports can make unit
3185         tests that use the legacy session state coding pass.
3186
3187         * UIProcess/LegacySessionStateCodingNone.cpp:
3188         (WebKit::encodeLegacySessionState):
3189         (WebKit::decodeLegacySessionState):
3190         (WebKit::encodeLegacySessionHistoryEntryData): Deleted.
3191         (WebKit::decodeLegacySessionHistoryEntryData): Deleted.
3192
3193 2015-10-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3194
3195         Unreviewed. Fix wrong #ifdef added in r190615.
3196
3197         This disabled accelerated compositing unconditionally.
3198
3199         * UIProcess/gtk/WebPreferencesGtk.cpp:
3200         (WebKit::WebPreferences::platformInitializeStore):
3201
3202 2015-10-14  Zhuo Li  <zachli@apple.com>
3203
3204         Augment <input type=search>’s recent search history with the time each entry was added,
3205         in order to allow time-based clearing of search history.
3206         https://bugs.webkit.org/show_bug.cgi?id=148388.
3207
3208         Reviewed by Darin Adler.
3209
3210         Replace Vector<String> with Vector<RecentSearch>, where RecentSearch is a struct
3211         that consists search string and time, for recent searches in order to store additional time
3212         information.
3213
3214         All these new RecentSearches are stored in a plist in which the structure looks like:
3215         Root {
3216             "items": {
3217                 autosave name: {
3218                     "searches": [
3219                         { "searchString": searchString, "date": date },
3220                         ...
3221                     ]
3222                 }
3223             }
3224         }
3225
3226         * Scripts/webkit/messages.py:
3227         (headers_for_type):
3228         * Shared/WebCoreArgumentCoders.cpp:
3229         (IPC::ArgumentCoder<RecentSearch>::encode): Encode the new struct RecentSearch
3230         (IPC::ArgumentCoder<RecentSearch>::decode): Decode the new struct RecentSearch
3231         * Shared/WebCoreArgumentCoders.h:
3232         * UIProcess/Cocoa/WebPageProxyCocoa.mm:
3233         (WebKit::WebPageProxy::saveRecentSearches): Call saveRecentSearches in WebCore::SearchPopupMenuCocoa.
3234         (WebKit::WebPageProxy::loadRecentSearches): Call loadRecentSearches in WebCore::SearchPopupMenuCocoa.
3235         * UIProcess/WebPageProxy.h:
3236         * UIProcess/WebPageProxy.messages.in:
3237         * UIProcess/efl/WebPageProxyEfl.cpp:
3238         (WebKit::WebPageProxy::saveRecentSearches):
3239         (WebKit::WebPageProxy::loadRecentSearches):
3240         * UIProcess/gtk/WebPageProxyGtk.cpp:
3241         (WebKit::WebPageProxy::saveRecentSearches):
3242         (WebKit::WebPageProxy::loadRecentSearches):
3243         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
3244         (WebKit::WebSearchPopupMenu::saveRecentSearches):
3245         (WebKit::WebSearchPopupMenu::loadRecentSearches):
3246         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
3247
3248 2015-10-14  Wenson Hsieh  <wenson_hsieh@apple.com>
3249
3250         Web pages with unscalable viewports shouldn't have a single tap delay
3251         https://bugs.webkit.org/show_bug.cgi?id=149968
3252         <rdar://problem/23054453>
3253
3254         Reviewed by Simon Fraser.
3255
3256         When a viewport is unscalable (specified through the meta viewport tag) we
3257         do not add a delay to our single tap gesture recognizer. We do this by
3258         disabling or reinitializing the WKContentView's double tap gesture recognizer
3259         when the viewport becomes unscalable or scalable, respectively. A viewport is
3260         deemed unscalable when it has user-scalable = no, or when the minimum scale is
3261         greater than or equal to the maximum scale.
3262
3263         * UIProcess/API/Cocoa/WKWebView.mm:
3264         (-[WKWebView _didCommitLayerTree:]):
3265         * UIProcess/ios/WKContentViewInteraction.h:
3266         * UIProcess/ios/WKContentViewInteraction.mm:
3267         (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]): Pulled logic
3268                 for initializing a double tap gesture recognizer out into a helper function.
3269         (-[WKContentView setupInteraction]):
3270         (-[WKContentView _setDoubleTapGesturesEnabled:]): Turns gesture recognition for double
3271                 taps on or off.
3272
3273 2015-10-14  Anders Carlsson  <andersca@apple.com>
3274
3275         Remove a message that isn't used by anyone
3276         https://bugs.webkit.org/show_bug.cgi?id=150136
3277
3278         Reviewed by Andreas Kling.
3279
3280         * UIProcess/API/APILoaderClient.h:
3281         (API::LoaderClient::didRemoveFrameFromHierarchy): Deleted.
3282         * UIProcess/API/C/WKPage.cpp:
3283         (WKPageSetPageLoaderClient): Deleted.
3284         * UIProcess/WebPageProxy.cpp:
3285         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): Deleted.
3286         * UIProcess/WebPageProxy.h:
3287         * UIProcess/WebPageProxy.messages.in:
3288         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3289         (WebKit::WebFrameLoaderClient::detachedFromParent2): Deleted.
3290
3291 2015-10-14  Alex Christensen  <achristensen@webkit.org>
3292
3293         Add SPI for reloading without content blockers
3294         https://bugs.webkit.org/show_bug.cgi?id=150058
3295         rdar://problem/22742222
3296
3297         Reviewed by Sam Weinig.
3298
3299         * Shared/WebPageCreationParameters.cpp:
3300         (WebKit::WebPageCreationParameters::encode):
3301         (WebKit::WebPageCreationParameters::decode):
3302         * Shared/WebPageCreationParameters.h:
3303         * UIProcess/API/C/WKPage.cpp:
3304         (WKPageReload):
3305         (WKPageReloadWithoutContentBlockers):
3306         (WKPageReloadFromOrigin):
3307         (WKPageTryClose):
3308         (WKPageSetUserContentExtensionsEnabled):
3309         (WKPageSupportsTextEncoding):
3310         * UIProcess/API/C/WKPage.h:
3311         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
3312         (-[WKBrowsingContextController reload]):
3313         (-[WKBrowsingContextController reloadFromOrigin]):
3314         (-[WKBrowsingContextController applicationNameForUserAgent]):
3315         * UIProcess/API/Cocoa/WKWebView.mm:
3316         (-[WKWebView reload]):
3317         (-[WKWebView reloadFromOrigin]):
3318         (-[WKWebView _setUserContentExtensionsEnabled:]):
3319         (-[WKWebView _userContentExtensionsEnabled]):
3320         (-[WKWebView _webProcessIdentifier]):
3321         (-[WKWebView _killWebContentProcess]):
3322         (-[WKWebView _reloadWithoutContentBlockers]):
3323         (-[WKWebView _killWebContentProcessAndResetState]):
3324         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3325         * UIProcess/API/gtk/WebKitWebView.cpp:
3326         (webkit_web_view_reload):
3327         (webkit_web_view_reload_bypass_cache):
3328         * UIProcess/WebFrameProxy.cpp:
3329         (WebKit::WebFrameProxy::didHandleContentFilterUnblockNavigation):
3330         * UIProcess/WebPageProxy.cpp:
3331         (WebKit::WebPageProxy::stopLoading):
3332         (WebKit::WebPageProxy::reload):
3333         (WebKit::WebPageProxy::creationParameters):
3334         (WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
3335         (WebKit::WebPageProxy::setUserContentExtensionsEnabled): Deleted.
3336         * UIProcess/WebPageProxy.h:
3337         (WebKit::WebPageProxy::userContentExtensionsEnabled): Deleted.
3338         * WebProcess/WebPage/WebPage.cpp:
3339         (WebKit::m_shouldDispatchFakeMouseMoveEvents):
3340         (WebKit::WebPage::setDefersLoading):
3341         (WebKit::WebPage::reload):
3342         (WebKit::WebPage::goForward):
3343         (WebKit::WebPage::createDocumentLoader):
3344         (WebKit::WebPage::setShouldScaleViewToFitDocument):
3345         (WebKit::WebPage::imageOrMediaDocumentSizeChanged):
3346         (WebKit::WebPage::setUserContentExtensionsEnabled): Deleted.
3347         * WebProcess/WebPage/WebPage.h:
3348         * WebProcess/WebPage/WebPage.messages.in:
3349
3350 2015-10-14  Simon Fraser  <simon.fraser@apple.com>
3351
3352         Change GraphicsContext image-drawing functions to take references
3353         https://bugs.webkit.org/show_bug.cgi?id=150108
3354
3355         Reviewed by Tim Horton and Sam Weinig.
3356
3357         Change GraphicsContext::drawImage(), drawTiledImage(), drawImageBuffer(), clipToImageBuffer()
3358         and isCompatibleWithBuffer() to take references, and adjust calling code, adding
3359         null-checks where necessary.
3360
3361         * Shared/ContextMenuContextData.cpp:
3362         (WebKit::ContextMenuContextData::ContextMenuContextData):
3363         * Shared/WebCoreArgumentCoders.cpp:
3364         (IPC::encodeImage):
3365         (IPC::encodeOptionalImage):
3366         (IPC::ArgumentCoder<Cursor>::encode):
3367         * WebProcess/WebPage/WebFrame.cpp:
3368         (WebKit::WebFrame::createSelectionSnapshot):
3369
3370 2015-10-14  Anders Carlsson  <andersca@apple.com>
3371
3372         Change the bundle app cache APIs to take a page
3373         https://bugs.webkit.org/show_bug.cgi?id=150123
3374
3375         Reviewed by Sam Weinig.
3376
3377         This is another step towards getting rid of ApplicationCacheStorage::singleton().
3378         Ideally the WKTR tests that use this should be converted to API tests.
3379
3380         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3381         (WKBundleClearApplicationCache): Deleted.
3382         (WKBundleClearApplicationCacheForOrigin): Deleted.
3383         (WKBundleSetAppCacheMaximumSize): Deleted.
3384         (WKBundleGetAppCacheUsageForOrigin): Deleted.
3385         (WKBundleSetApplicationCacheOriginQuota): Deleted.
3386         (WKBundleResetApplicationCacheOriginQuota): Deleted.
3387         (WKBundleCopyOriginsWithApplicationCache): Deleted.
3388         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3389         (WKBundlePageClearApplicationCache):
3390         (WKBundlePageClearApplicationCacheForOrigin):
3391         (WKBundlePageSetAppCacheMaximumSize):
3392         (WKBundlePageGetAppCacheUsageForOrigin):
3393         (WKBundlePageSetApplicationCacheOriginQuota):
3394         (WKBundlePageResetApplicationCacheOriginQuota):
3395         (WKBundlePageCopyOriginsWithApplicationCache):
3396         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3397         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3398         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3399         (WebKit::InjectedBundle::clearApplicationCache): Deleted.
3400         (WebKit::InjectedBundle::clearApplicationCacheForOrigin): Deleted.
3401         (WebKit::InjectedBundle::setAppCacheMaximumSize): Deleted.
3402         (WebKit::InjectedBundle::appCacheUsageForOrigin): Deleted.
3403         (WebKit::InjectedBundle::setApplicationCacheOriginQuota): Deleted.
3404         (WebKit::InjectedBundle::resetApplicationCacheOriginQuota): Deleted.
3405         (WebKit::InjectedBundle::originsWithApplicationCache): Deleted.
3406         * WebProcess/InjectedBundle/InjectedBundle.h:
3407
3408 2015-10-14  Joonghun Park  <jh718.park@samsung.com>
3409
3410         [EFL] Fix the problem in which environment variable included in webprocess-cmd-prefix can't be parsed
3411         https://bugs.webkit.org/show_bug.cgi?id=148616
3412
3413         Reviewed by Gyuyoung Kim.
3414
3415         This patch fixes the problem in which environment variable in web process-cmd-prefix can't be parsed.
3416         process-cmd-prefix option doesn't work in two cases.
3417         1. When executing run-layout-tests,
3418         2. When executing MiniBrowser with web process-cmd-prefix environment variable.
3419
3420         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
3421         (WebKit::parseAndRemoveEnvironments):
3422         (WebKit::ProcessLauncher::launchProcess):
3423
3424 2015-10-13  Yongjun Zhang  <yongjun_zhang@apple.com>
3425
3426         Use the correct notification strings for view service applications state change.
3427         https://bugs.webkit.org/show_bug.cgi?id=150107
3428
3429         Use the correct notification names "_UIViewServiceHostDidEnterBackgroundNotification" and
3430         "_UIViewServiceHostWillEnterForegroundNotification" to listen to view service application state changes.
3431
3432         Reviewed by Gavin Barraclough.
3433
3434         * UIProcess/ApplicationStateTracker.mm:
3435         (WebKit::ApplicationStateTracker::ApplicationStateTracker):
3436
3437 2015-10-13  Myles C. Maxfield  <mmaxfield@apple.com>
3438
3439         Split TypesettingFeatures into kerning and ligatures bools
3440         https://bugs.webkit.org/show_bug.cgi?id=150074
3441
3442         Reviewed by Simon Fraser.
3443
3444         * Shared/WebProcessCreationParameters.cpp:
3445         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
3446         (WebKit::WebProcessCreationParameters::encode):
3447         (WebKit::WebProcessCreationParameters::decode):
3448         * Shared/WebProcessCreationParameters.h:
3449         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3450         (WebKit::WebProcessPool::platformInitializeWebProcess):
3451         * WebProcess/cocoa/WebProcessCocoa.mm:
3452         (WebKit::WebProcess::platformInitializeWebProcess):
3453
3454 2015-10-13  Dean Jackson  <dino@apple.com>
3455
3456         Fix iOS-family builds.
3457
3458         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
3459         (WKPageGetObjectRegistry):
3460         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
3461         (-[WKBrowsingContextController _remoteObjectRegistry]):
3462         * UIProcess/API/mac/WKViewInternal.h:
3463
3464 2015-10-13  Anders Carlsson  <andersca@apple.com>
3465
3466         Fix 32-bit build.
3467
3468         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
3469         (WKPageGetObjectRegistry):
3470
3471 2015-10-13  Anders Carlsson  <andersca@apple.com>
3472
3473         Add and implement WKPageGetObjectRegistry
3474         https://bugs.webkit.org/show_bug.cgi?id=150102
3475
3476         Reviewed by Tim Horton.
3477
3478         Put the _WKObjectRegistry used by WKPageRef and WKBrowsingContextController on the WKView for now.
3479         If we decide to share more code between WKView and WKWebView, the object registry could live in an object that would be shared
3480         between WKView and WKWebView.
3481
3482         * UIProcess/API/C/mac/WKPagePrivateMac.h:
3483         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
3484         (WKPageGetObjectRegistry):
3485         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
3486         (-[WKBrowsingContextController _remoteObjectRegistry]):
3487         (-[WKBrowsingContextController dealloc]): Deleted.
3488         * UIProcess/API/mac/WKView.mm:
3489         (-[WKView dealloc]):
3490         (-[WKView _remoteObjectRegistry]):
3491         * UIProcess/API/mac/WKViewInternal.h:
3492
3493 2015-10-13  Chris Dumez  <cdumez@apple.com>
3494
3495         Avoid useless copies in range-loops that are using 'auto'
3496         https://bugs.webkit.org/show_bug.cgi?id=150091
3497
3498         Reviewed by Sam Weinig.
3499
3500         Avoid useless copies in range-loops that are using 'auto'. Also use
3501         'auto*' instead of 'auto' when range values are pointers for clarity.
3502
3503         * UIProcess/VisitedLinkStore.cpp:
3504         (WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired):
3505         (WebKit::VisitedLinkStore::resizeTable):
3506         * UIProcess/WebProcessProxy.cpp:
3507         (WebKit::WebProcessProxy::releaseRemainingIconsForPageURLs):
3508         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
3509         (WebKit::WebsiteDataStore::fetchData):
3510         (WebKit::WebsiteDataStore::removeData):
3511         (WebKit::WebsiteDataStore::plugins):
3512
3513 2015-10-13  Said Abou-Hallawa  <sabouhallawa@apple.com>
3514
3515         Add debug settings for using giant tiles (4096x4096)
3516         https://bugs.webkit.org/show_bug.cgi?id=149977
3517         <rdar://problem/23017093>
3518
3519         Reviewed by Tim Horton.
3520
3521         * Shared/WebPreferencesDefinitions.h:
3522         * UIProcess/API/C/WKPreferences.cpp:
3523         (WKPreferencesSetUseGiantTiles):
3524         (WKPreferencesGetUseGiantTiles):
3525         * UIProcess/API/C/WKPreferencesRefPrivate.h:
3526         * WebProcess/WebPage/WebPage.cpp:
3527         (WebKit::WebPage::updatePreferences):
3528
3529 2015-10-13  Brent Fulgham  <bfulgham@apple.com>
3530
3531         [iOS] Avoid crash due to invalid screen bounds
3532         https://bugs.webkit.org/show_bug.cgi?id=150048
3533         <rdar://problem/22112664>
3534
3535         Reviewed by Jer Noble.
3536
3537         Check for an invalid bounds, and reset it to a known state before
3538         attempting to use it.
3539
3540         * WebProcess/ios/WebVideoFullscreenManager.mm:
3541         (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced):
3542
3543 2015-10-13  Sergio Villar Senin  <svillar@igalia.com>
3544
3545         [GTK] Fix build for ENABLE_TOUCH_EVENTS=OFF
3546         https://bugs.webkit.org/show_bug.cgi?id=150085
3547
3548         Reviewed by Carlos Garcia Campos.
3549
3550         * Shared/gtk/NativeWebTouchEventGtk.cpp:
3551         * Shared/gtk/WebEventFactory.cpp:
3552         * Shared/gtk/WebEventFactory.h:
3553         * UIProcess/API/gtk/PageClientImpl.cpp:
3554         * UIProcess/API/gtk/PageClientImpl.h:
3555         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3556         (webkit_web_view_base_class_init):
3557
3558 2015-10-13  Chris Dumez  <cdumez@apple.com>
3559
3560         Avoid useless copying of Key::HashType in loops in NetworkCache::Storage::synchronize()
3561         https://bugs.webkit.org/show_bug.cgi?id=150061
3562
3563         Reviewed by Carlos Garcia Campos.
3564
3565         Avoid useless copying of Key::HashType in loops in NetworkCache::Storage::synchronize().
3566         Key::HashType is currently a SHA1::Digest, which is a std::array<uint8_t, 20>.
3567
3568         * NetworkProcess/cache/NetworkCacheStorage.cpp:
3569         (WebKit::NetworkCache::Storage::synchronize):
3570
3571 2015-10-12  Philip Chimento  <philip.chimento@gmail.com>
3572
3573         [GTK] OSX linker doesn't understand --whole-archive
3574         https://bugs.webkit.org/show_bug.cgi?id=144557
3575
3576         Reviewed by Martin Robinson.
3577
3578         * PlatformGTK.cmake: Link with extra libraries on Darwin, since
3579         we don't have the --whole-archive linker option.
3580
3581 2015-10-09  Anders Carlsson  <andersca@apple.com>
3582
3583         Don't allow plug-ins to override image types for <embed> elements
3584         https://bugs.webkit.org/show_bug.cgi?id=149979
3585
3586         Reviewed by Tim Horton.
3587
3588         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3589         (WebKit::WebFrameLoaderClient::objectContentType):
3590         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3591
3592 2015-10-12  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
3593
3594         [EFL] Bump Version/X in user agent
3595         https://bugs.webkit.org/show_bug.cgi?id=150013
3596
3597         Reviewed by Csaba Osztrogonác.
3598
3599         EFL port needs to ensure maximum compatibility with existing web sites.
3600         Thus version number needs to be bumped from 5.0 to 8.0 as GTK port.
3601
3602         * UIProcess/efl/WebPageProxyEfl.cpp:
3603         (WebKit::WebPageProxy::standardUserAgent):
3604
3605 2015-10-10  Dan Bernstein  <mitz@apple.com>
3606
3607         [iOS] Remove unnecessary iOS version checks
3608         https://bugs.webkit.org/show_bug.cgi?id=150002
3609
3610         Reviewed by Alexey Proskuryakov.
3611
3612         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3613         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
3614         * Platform/IPC/mac/ConnectionMac.mm:
3615         (IPC::AccessibilityProcessSuspendedNotification):
3616         * Platform/spi/ios/SafariServicesSPI.h:
3617         * Platform/spi/ios/UIKitSPI.h:
3618         * Shared/Network/NetworkProcessCreationParameters.cpp:
3619         (WebKit::NetworkProcessCreationParameters::encode):
3620         (WebKit::NetworkProcessCreationParameters::decode):
3621         * Shared/Network/NetworkProcessCreationParameters.h:
3622         * Shared/Plugins/PluginProcessCreationParameters.cpp:
3623         (WebKit::PluginProcessCreationParameters::encode):
3624         (WebKit::PluginProcessCreationParameters::decode):
3625         * Shared/Plugins/PluginProcessCreationParameters.h:
3626         * Shared/WebEventConversion.cpp:
3627         (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
3628         * Shared/WebProcessCreationParameters.cpp:
3629         (WebKit::WebProcessCreationParameters::encode):
3630         (WebKit::WebProcessCreationParameters::decode):
3631         * Shared/WebProcessCreationParameters.h:
3632         * Shared/ios/NativeWebTouchEventIOS.mm:
3633         (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
3634         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
3635         * Shared/ios/WebPlatformTouchPointIOS.cpp:
3636         (WebKit::WebPlatformTouchPoint::encode):
3637         (WebKit::WebPlatformTouchPoint::decode):
3638         * UIProcess/API/Cocoa/WKWebView.mm:
3639         (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
3640         (shouldAllowPictureInPictureMediaPlayback):
3641         (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
3642         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3643         (WebKit::WebProcessPool::platformInitializeWebProcess):
3644         (WebKit::WebProcessPool::platformInitializeNetworkProcess):
3645         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
3646         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
3647         * UIProcess/ios/ViewGestureControllerIOS.mm:
3648         (-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
3649         * UIProcess/ios/WKContentViewInteraction.mm:
3650         (-[WKContentView setupInteraction]):
3651         (-[WKContentView _ensureFormAccessoryView]):
3652         (-[WKContentView webSelectionAssistant]):
3653         (-[WKContentView selectionInteractionAssistant]):
3654         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
3655         (WebKit::WebVideoFullscreenManagerProxy::create):
3656         * UIProcess/ios/forms/WKFileUploadPanel.mm:
3657         (photoLibraryIcon):
3658         (cameraIcon):
3659         (fallbackIconForFile):
3660         (iconForImageFile):
3661         * WebKit2.xcodeproj/project.pbxproj:
3662         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
3663         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
3664         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3665         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3666         * WebProcess/cocoa/WebProcessCocoa.mm:
3667         (WebKit::WebProcess::platformInitializeWebProcess):
3668
3669 2015-10-10  Dan Bernstein  <mitz@apple.com>
3670
3671         [iOS] Remove project support for iOS 8
3672         https://bugs.webkit.org/show_bug.cgi?id=149993
3673
3674         Reviewed by Alexey Proskuryakov.
3675
3676         * Configurations/Base.xcconfig:
3677         * Configurations/BaseLegacyProcess.xcconfig:
3678         * Configurations/BaseXPCService.xcconfig:
3679         * Configurations/PluginProcessShim.xcconfig:
3680         * Configurations/SecItemShim.xcconfig:
3681         * Configurations/WebKit.xcconfig:
3682         * Configurations/WebKit2.xcconfig:
3683         * Configurations/WebProcessShim.xcconfig:
3684
3685 2015-10-09  Myles C. Maxfield  <mmaxfield@apple.com>
3686
3687         Unreviewed, rolling out r190689
3688         https://bugs.webkit.org/show_bug.cgi?id=149992
3689
3690         Fixed in other repository.
3691
3692         Reverted changesets:
3693
3694         "Unreviewed, rolling out r190572, r190593, r190594, and r190639."
3695         https://bugs.webkit.org/show_bug.cgi?id=149897
3696
3697 2015-10-09  Beth Dakin  <bdakin@apple.com>
3698
3699         Rubber-stamped by Anders Carlsson.
3700
3701         Remove unnecessary includes.
3702         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3703         * WebProcess/Plugins/Plugin.h:
3704         * WebProcess/Plugins/PluginProxy.h:
3705         * WebProcess/Plugins/PluginView.h:
3706         * WebProcess/WebPage/mac/WebPageMac.mm:
3707
3708 2015-10-09  Beth Dakin  <bdakin@apple.com>
3709
3710         Build fix.
3711
3712         * CMakeLists.txt:
3713         * Shared/API/APIHitTestResult.cpp: Removed.
3714         * Shared/API/APIHitTestResult.h: Removed.
3715         * WebKit2.xcodeproj/project.pbxproj:
3716
3717 2015-10-09  Beth Dakin  <bdakin@apple.com>
3718
3719         Build fix.
3720
3721         * UIProcess/API/APIHitTestResult.cpp: Copied from Shared/API/APIHitTestResult.cpp.
3722         * UIProcess/API/APIHitTestResult.h: Copied from Shared/API/APIHitTestResult.h.
3723         * UIProcess/mac/PageClientImpl.mm:
3724
3725 2015-10-09  Beth Dakin  <bdakin@apple.com>
3726
3727         WKWebView needs SPI to customize immediate actions
3728         https://bugs.webkit.org/show_bug.cgi?id=149939
3729         -and corresponding-
3730         rdar://problem/20016849
3731
3732         Reviewed by Anders Carlsson.
3733
3734         This patch breaks WebHitTestResult into two files. WebHiTestResultData 
3735         continues to live in the WebKit namespace and contains the old 
3736         WebHitTestResult::Data struct. The rest of WebHitTestResult is now 
3737         API::HitTestResult. The patch also adds _WKHitTestResult as Obj-C API to wrap 
3738         API::HitTestResult.
3739
3740         Attempt to keep other ports happy with new files.
3741         * CMakeLists.txt:
3742
3743         WebKit::WebHitTestResult no longer contains the Data struct and is now called 
3744         API::HitTestResult.
3745         * Shared/API/APIHitTestResult.cpp: Copied from Shared/WebHitTestResult.cpp.
3746         (API::HitTestResult::create):
3747         (WebKit::WebHitTestResult::create): Deleted.
3748         (WebKit::WebHitTestResult::Data::Data): Deleted.
3749         (WebKit::WebHitTestResult::Data::~Data): Deleted.
3750         (WebKit::WebHitTestResult::Data::encode): Deleted.
3751         (WebKit::WebHitTestResult::Data::decode): Deleted.
3752         (WebKit::WebHitTestResult::Data::platformEncode): Deleted.
3753         (WebKit::WebHitTestResult::Data::platformDecode): Deleted.
3754         (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): Deleted.
3755         * Shared/API/APIHitTestResult.h: Copied from Shared/WebHitTestResult.h.
3756         (API::HitTestResult::absoluteImageURL):
3757         (API::HitTestResult::absolutePDFURL):
3758         (API::HitTestResult::absoluteLinkURL):
3759         (API::HitTestResult::absoluteMediaURL):
3760         (API::HitTestResult::linkLabel):
3761         (API::HitTestResult::linkTitle):
3762         (API::HitTestResult::lookupText):
3763         (API::HitTestResult::isContentEditable):
3764         (API::HitTestResult::isDownloadableMedia):
3765         (API::HitTestResult::HitTestResult):
3766         (WebKit::WebHitTestResult::absoluteImageURL): Deleted.
3767         (WebKit::WebHitTestResult::absolutePDFURL): Deleted.
3768         (WebKit::WebHitTestResult::absoluteLinkURL): Deleted.
3769         (WebKit::WebHitTestResult::absoluteMediaURL): Deleted.
3770         (WebKit::WebHitTestResult::linkLabel): Deleted.
3771         (WebKit::WebHitTestResult::linkTitle): Deleted.
3772         (WebKit::WebHitTestResult::lookupText): Deleted.
3773         (WebKit::WebHitTestResult::isContentEditable): Deleted.
3774         (WebKit::WebHitTestResult::isDownloadableMedia): Deleted.
3775         (WebKit::WebHitTestResult::WebHitTestResult): Deleted.
3776
3777         This is a new obj-c object that we can use for the modern immediate action 
3778         API.
3779         * Shared/API/Cocoa/_WKHitTestResult.h: Added.
3780         * Shared/API/Cocoa/_WKHitTestResult.mm: Added.
3781         (-[_WKHitTestResult dealloc]):
3782         (-[_WKHitTestResult absoluteImageURL]):
3783         (-[_WKHitTestResult absolutePDFURL]):
3784         (-[_WKHitTestResult absoluteLinkURL]):
3785         (-[_WKHitTestResult absoluteMediaURL]):
3786         (-[_WKHitTestResult linkLabel]):
3787         (-[_WKHitTestResult linkTitle]):
3788         (-[_WKHitTestResult lookupText]):
3789         (-[_WKHitTestResult isContentEditable]):
3790         (-[_WKHitTestResult elementBoundingBox]):
3791         (-[_WKHitTestResult copyWithZone:]):
3792         (-[_WKHitTestResult _apiObject]):
3793
3794         _WKHitTestResult wraps API::HitTestResult.
3795         * Shared/API/Cocoa/_WKHitTestResultInternal.h: Added.
3796         (API::wrapper):
3797         * Shared/Cocoa/APIObject.mm:
3798         (API::Object::newObject):
3799
3800         Since we want to use the same enum name for the new enum, use a #define instead of a typedef in the old C SPI. This should keep old clients working in the meantime.
3801         * Shared/API/c/WKImmediateActionTypes.h:
3802
3803         WebHitTestResult::Data is now WebHitTestResultData.
3804         * Shared/ContextMenuContextData.h:
3805         (WebKit::ContextMenuContextData::webHitTestResultData):
3806         (WebKit::ContextMenuContextData::selectedText):
3807
3808         Remove WebHitTestResult, and add WebHitTestResultData for the Data struct.
3809         * Shared/WebHitTestResult.cpp: Removed.
3810         * Shared/WebHitTestResult.h: Removed.
3811         * Shared/WebHitTestResultData.cpp: Added.
3812         (WebKit::WebHitTestResultData::WebHitTestResultData):
3813         (WebKit::WebHitTestResultData::~WebHitTestResultData):
3814         (WebKit::WebHitTestResultData::encode):
3815         (WebKit::WebHitTestResultData::decode):
3816         (WebKit::WebHitTestResultData::platformEncode):
3817         (WebKit::WebHitTestResultData::platformDecode):
3818         (WebKit::WebHitTestResultData::elementBoundingBoxInWindowCoordinates):
3819         * Shared/WebHitTestResultData.h: Added.
3820         * Shared/mac/WebHitTestResult.mm: Removed.
3821         * Shared/mac/WebHitTestResultData.mm: Copied from Shared/mac/WebHitTestResult.mm.
3822         (WebKit::WebHitTestResultData::platformEncode):
3823         (WebKit::WebHitTestResultData::platformDecode):
3824         (WebKit::WebHitTestResult::Data::platformEncode): Deleted.
3825         (WebKit::WebHitTestResult::Data::platformDecode): Deleted.
3826
3827         WebHitTestResult::Data is now WebHitTestResultData.
3828         * UIProcess/API/APIContextMenuClient.h:
3829         (API::ContextMenuClient::~ContextMenuClient):
3830         (API::ContextMenuClient::getContextMenuFromProposedMenu):
3831         (API::ContextMenuClient::customContextMenuItemSelected):
3832         (API::ContextMenuClient::contextMenuDismissed):
3833         (API::ContextMenuClient::showContextMenu):
3834
3835         WebHitTestResult is now WebHitTestResult
3836         * UIProcess/API/APIUIClient.h:
3837         (API::UIClient::runJavaScriptPrompt):
3838         (API::UIClient::setStatusText):
3839         (API::UIClient::mouseDidMoveOverElement):
3840         (API::UIClient::unavailablePluginButtonClicked):
3841         (API::UIClient::pinnedStateDidChange):
3842         (API::UIClient::didBeginTrackingPotentialLongMousePress):
3843         (API::UIClient::didRecognizeLongMousePress):
3844         (API::UIClient::didCancelTrackingPotentialLongMousePress):
3845         * UIProcess/API/C/WKAPICast.h:
3846         * UIProcess/API/C/WKHitTestResult.cpp:
3847         (WKHitTestResultGetTypeID):
3848         (WKHitTestResultCopyAbsoluteImageURL):
3849         * UIProcess/API/C/WKPage.cpp:
3850         (WKPageSetPageContextMenuClient):
3851         (WKPageSetPageUIClient):
3852
3853         New WKWebView SPI _immediateActionAnimationControllerForHitTestResult
3854         * UIProcess/API/Cocoa/WKViewPrivate.h:
3855         * UIProcess/API/Cocoa/WKWebView.mm:
3856         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3857
3858         Attempts to keep other ports happy with the re-name.
3859         * UIProcess/API/efl/WebAccessibility.cpp:
3860         * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
3861         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
3862         (webkit_hit_test_result_class_init):
3863         (webkitHitTestResultCreate):
3864         (stringIsEqualToCString):
3865         (webkitHitTestResultCompare):
3866         * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
3867         * UIProcess/API/gtk/WebKitUIClient.cpp:
3868         * UIProcess/API/gtk/WebKitWebView.cpp:
3869         (webkitWebViewMakePermissionRequest):
3870         (webkitWebViewMouseTargetChanged):
3871         (contextMenuDismissed):
3872         (webkitWebViewPopulateContextMenu):
3873         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3874
3875         Re-name, and just use uint32_t for the old SPI.
3876         * UIProcess/API/mac/WKView.mm:
3877         (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
3878         (-[WKView _setDidMoveSwipeSnapshotCallback:]):
3879         (-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
3880         * UIProcess/API/mac/WKViewInternal.h:
3881
3882         PageClient will figure out whether to call into WKWebView or WKView for this 
3883         SPI.
3884         * UIProcess/PageClient.h:
3885         * UIProcess/WebPageProxy.cpp:
3886         (WebKit::WebPageProxy::immediateActionAnimationControllerForHitTestResult):
3887         * UIProcess/WebPageProxy.h:
3888         * UIProcess/mac/PageClientImpl.h:
3889         * UIProcess/mac/PageClientImpl.mm:
3890         (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult):
3891
3892         WebKit::WebHitTestResult::Data is now WebKit::WebHitTestResultData.
3893         * UIProcess/WebPageProxy.messages.in:
3894
3895         WKImmediateActionController calls through to WebPageProxy which calls to 
3896         PageClient, which figures out which API to call. Also cache the type as a 
3897         uint32_t
3898         * UIProcess/mac/WKImmediateActionController.h:
3899         * UIProcess/mac/WKImmediateActionController.mm:
3900         (-[WKImmediateActionController _updateImmediateActionItem]):
3901
3902         WebHitTestResult::Data is now WebHitTestResultData.
3903         * UIProcess/mac/WebPageProxyMac.mm:
3904         (WebKit::WebPageProxy::platformInitializeShareMenuItem):
3905
3906         New files!
3907         * WebKit2.xcodeproj/project.pbxproj:
3908
3909         Deal with the #define situation for the enum.
3910         * WebKit2Prefix.h:
3911
3912         New names for things. WebHitTestResult::Data -> WebHitTestResultData
3913         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3914         * WebProcess/Plugins/PDF/PDFPlugin.h:
3915         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3916         (WebKit::pointInLayoutSpaceForPointInWindowSpace):
3917         (WebKit::PDFPlugin::lookupTextAtLocation):
3918         * WebProcess/Plugins/Plugin.h:
3919         * WebProcess/Plugins/PluginProxy.h:
3920         * WebProcess/Plugins/PluginView.h:
3921         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3922         (WebKit::WebChromeClient::mouseDidMoveOverElement):
3923         (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress):
3924         * WebProcess/WebPage/mac/WebPageMac.mm:
3925         (WebKit::WebPage::performImmediateActionHitTestAtLocation):
3926
3927 2015-10-09  Anders Carlsson  <andersca@apple.com>
3928
3929         Remove two unused WKFrame functions
3930         https://bugs.webkit.org/show_bug.cgi?id=149958
3931
3932         Reviewed by Dan Bernstein.
3933
3934         * UIProcess/API/C/WKFrame.cpp:
3935         (WKFrameCopyChildFrames): Deleted.
3936         (WKFrameGetParentFrame): Deleted.
3937         * UIProcess/API/C/WKFrame.h:
3938
3939 2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>
3940
3941         Format string issues in NetworkCache.cpp
3942         https://bugs.webkit.org/show_bug.cgi?id=149867
3943
3944         Reviewed by Csaba Osztrogonác.
3945
3946         Cast enums to ints before printing them to placate GCC's -Wformat.
3947
3948         * NetworkProcess/cache/NetworkCache.cpp:
3949         (WebKit::NetworkCache::Cache::retrieve):
3950         (WebKit::NetworkCache::Cache::store):
3951
3952 2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>
3953
3954         Format string issue in WebResourceLoadScheduler.cpp
3955         https://bugs.webkit.org/show_bug.cgi?id=149868
3956
3957         Reviewed by Csaba Osztrogonác.
3958
3959         Cast enums to ints before printing them to placate GCC's -Wformat.
3960
3961         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3962         (WebKit::WebResourceLoadScheduler::scheduleLoad):
3963
3964 2015-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3965
3966         [GTK] Stop using a nested main loop for popup menus
3967         https://bugs.webkit.org/show_bug.cgi?id=149920
3968
3969         Reviewed by Sergio Villar Senin.
3970
3971         WebPageProxy used to expect the popup menus to run in a nested
3972         main loop and invalidated the menu right after showing it. But
3973         this is no longer the case, so there's no reason to keep using
3974         the nested main loop.
3975
3976         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
3977         (WebKit::WebPopupMenuProxyGtk::~WebPopupMenuProxyGtk):
3978         (WebKit::WebPopupMenuProxyGtk::cancelTracking):
3979         (WebKit::WebPopupMenuProxyGtk::menuItemActivated):
3980         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk): Deleted.
3981         (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Deleted.
3982         (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop): Deleted.
3983         (WebKit::WebPopupMenuProxyGtk::menuUnmapped): Deleted.
3984         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
3985         (WebKit::WebPopupMenuProxyGtk::setActiveItem): Deleted.
3986
3987 2015-10-07  Anders Carlsson  <andersca@apple.com>
3988
3989         Add API for getting a group identifier from a bundle page
3990         https://bugs.webkit.org/show_bug.cgi?id=149902
3991
3992         Reviewed by Tim Horton.
3993
3994         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3995         (WKBundlePageCopyGroupIdentifier):
3996         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3997
3998 2015-10-07  Csaba Osztrogonác  <ossy@webkit.org>
3999
4000         URTBF after r190678 to fix GTK and EFL builds.
4001
4002         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
4003         (WebKit::InjectedBundle::setBundleParameters):
4004         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
4005         (WebKit::InjectedBundle::setBundleParameters):
4006
4007 2015-10-07  Commit Queue  <commit-queue@webkit.org>
4008
4009         Unreviewed, rolling out r190572, r190593, r190594, and
4010         r190639.
4011         https://bugs.webkit.org/show_bug.cgi?id=149897
4012
4013         Breaks Mavericks build (Requested by litherum on #webkit).
4014
4015         Reverted changesets:
4016
4017         "Allow WKRetainPtrs to be used as keys in hashing data
4018         structures"
4019         https://bugs.webkit.org/show_bug.cgi?id=149762
4020         http://trac.webkit.org/changeset/190572
4021
4022         "REGRESSION(189668?): http/tests/notifications/events.html
4023         flakily asserts or times out"
4024         https://bugs.webkit.org/show_bug.cgi?id=149218
4025         http://trac.webkit.org/changeset/190593
4026
4027         "Prospective Mavericks build fix."
4028         http://trac.webkit.org/changeset/190594
4029
4030         "Post-review cleanup after r190572."
4031         http://trac.webkit.org/changeset/190639
4032
4033 2015-10-07  Anders Carlsson  <andersca@apple.com>
4034
4035         Provide a way to get a WKFrameInfoRef from a WKFrameRef
4036         https://bugs.webkit.org/show_bug.cgi?id=149896
4037         rdar://problem/23016081
4038
4039         Reviewed by Dan Bernstein.
4040
4041         * UIProcess/API/C/WKFrame.cpp:
4042         (WKFrameCreateFrameInfo):
4043         * UIProcess/API/C/WKFrame.h:
4044
4045 2015-10-07  Anders Carlsson  <andersca@apple.com>
4046
4047         Add unreachable URL to _WKObservablePageState
4048         https://bugs.webkit.org/show_bug.cgi?id=149893
4049         <rdar://problem/23017235>