[CoordinatedGraphics] invisible webview should not paint the content
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2015-11-03  Ryuan Choi  <ryuan.choi@navercorp.com>
2
3         [CoordinatedGraphics] invisible webview should not paint the content
4         https://bugs.webkit.org/show_bug.cgi?id=150662
5
6         Reviewed by Darin Adler.
7
8         Suspend or resume the painting instead of just initializing m_isPaintingSuspended 
9         for invisible webview not to paint the content until visibility is changed.
10
11         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
12         (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea):
13
14 2015-11-03  Anders Carlsson  <andersca@apple.com>
15
16         Simplify -[_WKRemoteObjectRegistry _invokeMethod:]
17         https://bugs.webkit.org/show_bug.cgi?id=150844
18
19         Reviewed by Tim Horton.
20
21         * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
22         (-[_WKRemoteObjectRegistry _invokeMethod:]):
23         (-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.
24         * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
25
26 2015-11-02  Anders Carlsson  <andersca@apple.com>
27
28         CTTE the responsiveness timer getter
29         https://bugs.webkit.org/show_bug.cgi?id=150825
30
31         Reviewed by Daniel Bates.
32
33         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
34         (-[WKObservablePageState _webProcessIsResponsive]):
35         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
36         (-[WKBrowsingContextController _webProcessIsResponsive]):
37         * UIProcess/API/Cocoa/WKWebView.mm:
38         (-[WKWebView _webProcessIsResponsive]):
39         * UIProcess/WebPageProxy.cpp:
40         (WebKit::WebPageProxy::reattachToWebProcessForReload):
41         (WebKit::WebPageProxy::reattachToWebProcessWithItem):
42         (WebKit::WebPageProxy::tryClose):
43         (WebKit::WebPageProxy::loadRequest):
44         (WebKit::WebPageProxy::loadFile):
45         (WebKit::WebPageProxy::loadData):
46         (WebKit::WebPageProxy::loadHTMLString):
47         (WebKit::WebPageProxy::loadAlternateHTMLString):
48         (WebKit::WebPageProxy::loadPlainTextString):
49         (WebKit::WebPageProxy::loadWebArchiveData):
50         (WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
51         (WebKit::WebPageProxy::stopLoading):
52         (WebKit::WebPageProxy::reload):
53         (WebKit::WebPageProxy::goForward):
54         (WebKit::WebPageProxy::goBack):
55         (WebKit::WebPageProxy::goToBackForwardItem):
56         (WebKit::WebPageProxy::dispatchViewStateChange):
57         (WebKit::WebPageProxy::handleMouseEvent):
58         (WebKit::WebPageProxy::sendWheelEvent):
59         (WebKit::WebPageProxy::handleKeyboardEvent):
60         (WebKit::WebPageProxy::handleGestureEvent):
61         (WebKit::WebPageProxy::handleTouchEventSynchronously):
62         (WebKit::WebPageProxy::handleTouchEvent):
63         (WebKit::WebPageProxy::closePage):
64         (WebKit::WebPageProxy::runJavaScriptAlert):
65         (WebKit::WebPageProxy::runJavaScriptConfirm):
66         (WebKit::WebPageProxy::runJavaScriptPrompt):
67         (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
68         (WebKit::WebPageProxy::runOpenPanel):
69         (WebKit::WebPageProxy::showPopupMenu):
70         (WebKit::WebPageProxy::internalShowContextMenu):
71         (WebKit::WebPageProxy::didReceiveEvent):
72         (WebKit::WebPageProxy::stopResponsivenessTimer):
73         (WebKit::WebPageProxy::runModal):
74         (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
75         * UIProcess/WebProcessProxy.h:
76         (WebKit::WebProcessProxy::responsivenessTimer):
77
78 2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
79
80         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.1 release.
81
82         * gtk/NEWS: Add release notes for 2.11.1.
83
84 2015-11-03  Alex Christensen  <achristensen@webkit.org>
85
86         Use the same cookie storage as WebCore when using NETWORK_SESSION
87         https://bugs.webkit.org/show_bug.cgi?id=150833
88
89         Reviewed by Antti Koivisto.
90
91         This fixes 12 tests when using NETWORK_SESSION.
92
93         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
94         (WebKit::NetworkSession::NetworkSession):
95
96 2015-11-03  Alex Christensen  <achristensen@webkit.org>
97
98         Clean up NETWORK_SESSION code after r191848
99         https://bugs.webkit.org/show_bug.cgi?id=150829
100
101         Reviewed by Darin Adler.
102
103         * NetworkProcess/NetworkResourceLoader.cpp:
104         (WebKit::NetworkResourceLoader::didReceiveData):
105         (WebKit::NetworkResourceLoader::didCompleteWithError):
106         * NetworkProcess/NetworkSession.h:
107         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
108         (WebKit::NetworkSession::NetworkSession):
109         (WebKit::NetworkSession::createDataTaskWithRequest):
110         (WebKit::NetworkSession::dataTaskForIdentifier):
111
112 2015-11-02  Carlos Garcia Campos  <cgarcia@igalia.com>
113
114         Unreviewed. Fix GTK+ build after r191924.
115
116         * UIProcess/API/gtk/WebKitWebView.cpp:
117
118 2015-11-02  Alex Christensen  <achristensen@webkit.org>
119
120         Fix CMake build after r191922.
121
122         * PlatformMac.cmake:
123
124 2015-11-02  Andy Estes  <aestes@apple.com>
125
126         Try again to fix the iOS build.
127
128         * Shared/mac/PDFKitImports.mm:
129
130 2015-11-02  Tim Horton  <timothy_horton@apple.com>
131
132         Try to fix the iOS build
133
134         * Shared/mac/PDFKitImports.h:
135
136 2015-11-02  Tim Horton  <timothy_horton@apple.com>
137
138         Address a misssed review comment in r191922
139
140         * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
141         (WebKit::PDFPlugin::nextMatchForString):
142
143 2015-11-02  Anders Carlsson  <andersca@apple.com>
144
145         Add KVO-compliant _webProcessIsResponsive property to WKWebView and _WKObservablePageState
146         https://bugs.webkit.org/show_bug.cgi?id=150818
147         rdar://problem/22372131
148
149         Reviewed by Tim Horton.
150
151         * UIProcess/API/C/mac/WKPagePrivateMac.h:
152         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
153         (-[WKObservablePageState _webProcessIsResponsive]):
154         * UIProcess/API/Cocoa/PageLoadStateObserver.h:
155         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
156         (-[WKBrowsingContextController _webProcessIsResponsive]):
157         * UIProcess/API/Cocoa/WKWebView.mm:
158         (-[WKWebView _webProcessIsResponsive]):
159         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
160         * UIProcess/Cocoa/NavigationState.h:
161         * UIProcess/Cocoa/NavigationState.mm:
162         (WebKit::NavigationState::willChangeWebProcessIsResponsive):
163         (WebKit::NavigationState::didChangeWebProcessIsResponsive):
164         * UIProcess/PageLoadState.cpp:
165         (WebKit::PageLoadState::willChangeProcessIsResponsive):
166         (WebKit::PageLoadState::didChangeProcessIsResponsive):
167         * UIProcess/PageLoadState.h:
168         * UIProcess/ResponsivenessTimer.cpp:
169         (WebKit::ResponsivenessTimer::ResponsivenessTimer):
170         (WebKit::ResponsivenessTimer::timerFired):
171         (WebKit::ResponsivenessTimer::stop):
172         * UIProcess/ResponsivenessTimer.h:
173         * UIProcess/WebPageProxy.cpp:
174         (WebKit::WebPageProxy::willChangeProcessIsResponsive):
175         (WebKit::WebPageProxy::didChangeProcessIsResponsive):
176         * UIProcess/WebPageProxy.h:
177         * UIProcess/WebProcessProxy.cpp:
178         (WebKit::WebProcessProxy::WebProcessProxy):
179         (WebKit::WebProcessProxy::didBecomeUnresponsive):
180         (WebKit::WebProcessProxy::didBecomeResponsive):
181         (WebKit::WebProcessProxy::willChangeIsResponsive):
182         (WebKit::WebProcessProxy::didChangeIsResponsive):
183         * UIProcess/WebProcessProxy.h:
184
185 2015-11-02  Tim Horton  <timothy_horton@apple.com>
186
187         PDFPlugin should take advantage of threaded scrolling
188         https://bugs.webkit.org/show_bug.cgi?id=150037
189
190         Reviewed by Anders Carlsson.
191
192         Duplicate PDFPlugin, creating PDFPlugin (the modern version), and
193         DeprecatedPDFPlugin (containing the code that used to be in PDFPlugin
194         prior to this patch).
195
196         The new PDFPlugin differs from the old one in a few significant ways,
197         and we need to keep both alive for the time being. Significant differences
198         include:
199
200         - PDFPlugin is no longer a ScrollableArea
201         - PDFPlugin no longer hosts layers owned by PDFKit; instead, it draws
202           into the page tiles, allowing WebCore's threaded scrolling to do its job
203         - PDFPlugin now resizes itself to the size of the document
204         - PDFPlugin doesn't handle zooming itself, it just delegates to the page
205         - PDFLayerController has large and incompatible API changes
206         - PDFPlugin now implements more of the HUD behavior, but it's still
207           painted by PDFLayerController (into a view-relative PageOverlay)
208
209         [ File list elided because it's long and useless. ]
210
211 2015-11-02  Andy Estes  <aestes@apple.com>
212
213         [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
214         https://bugs.webkit.org/show_bug.cgi?id=150819
215
216         Reviewed by Dan Bernstein.
217
218         This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
219
220         * Configurations/Base.xcconfig:
221
222 2015-11-02  Anders Carlsson  <andersca@apple.com>
223
224         Begin work on supporting reply blocks in _WKRemoteObjectRegistry
225         https://bugs.webkit.org/show_bug.cgi?id=150739
226
227         Reviewed by Tim Horton.
228
229         * Platform/spi/Cocoa/BlockSPI.h:
230         Add SPI header.
231
232         * Shared/API/Cocoa/RemoteObjectInvocation.h:
233         (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
234         (WebKit::RemoteObjectInvocation::replyInfo):
235         * Shared/API/Cocoa/RemoteObjectInvocation.mm:
236         (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
237         (WebKit::RemoteObjectInvocation::encode):
238         (WebKit::RemoteObjectInvocation::decode):
239         Add an optional ReplyInfo struct to RemoteObjectInvocation.
240
241         * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
242         (generateReplyIdentifier):
243         Helper function to generate a reply identifier.
244
245         (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
246         Do some block parameter validation.
247
248         * WebKit2.xcodeproj/project.pbxproj:
249
250 2015-11-02  Brent Fulgham  <bfulgham@apple.com>
251
252         [iOS] Another unreviewed sandbox update.
253
254         * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Change copyright.
255
256 2015-11-02  Brent Fulgham  <bfulgham@apple.com>
257
258         [iOS] Unreviewed sandbox update.
259
260         Correcting copyright information.
261
262         * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
263
264 2015-11-02  Tim Horton  <timothy_horton@apple.com>
265
266         Get rid of WKWebView's inner WKView (WKView being inside WKWebView leads to weird API issues)
267         https://bugs.webkit.org/show_bug.cgi?id=150174
268
269         Reviewed by Anders Carlsson.
270
271         * UIProcess/API/Cocoa/WKWebView.mm:
272         (-[WKWebView initWithFrame:configuration:]):
273         (-[WKWebView dealloc]):
274         (-[WKWebView allowsLinkPreview]):
275         (-[WKWebView setAllowsLinkPreview:]):
276         (-[WKWebView acceptsFirstResponder]):
277         (-[WKWebView becomeFirstResponder]):
278         (-[WKWebView resignFirstResponder]):
279         (-[WKWebView viewWillStartLiveResize]):
280         (-[WKWebView viewDidEndLiveResize]):
281         (-[WKWebView isFlipped]):
282         (-[WKWebView intrinsicContentSize]):
283         (-[WKWebView prepareContentInRect:]):
284         (-[WKWebView setFrameSize:]):
285         (-[WKWebView renewGState]):
286         (-[WKWebView writeSelectionToPasteboard:types:]):
287         (-[WKWebView centerSelectionInVisibleArea:]):
288         (-[WKWebView validRequestorForSendType:returnType:]):
289         (-[WKWebView readSelectionFromPasteboard:]):
290         (-[WKWebView changeFont:]):
291         (-[WKWebView validateUserInterfaceItem:]):
292         (-[WKWebView startSpeaking:]):
293         (-[WKWebView stopSpeaking:]):
294         (-[WKWebView showGuessPanel:]):
295         (-[WKWebView checkSpelling:]):
296         (-[WKWebView changeSpelling:]):
297         (-[WKWebView toggleContinuousSpellChecking:]):
298         (-[WKWebView isGrammarCheckingEnabled]):
299         (-[WKWebView setGrammarCheckingEnabled:]):
300         (-[WKWebView toggleGrammarChecking:]):
301         (-[WKWebView toggleAutomaticSpellingCorrection:]):
302         (-[WKWebView orderFrontSubstitutionsPanel:]):
303         (-[WKWebView toggleSmartInsertDelete:]):
304         (-[WKWebView isAutomaticQuoteSubstitutionEnabled]):
305         (-[WKWebView setAutomaticQuoteSubstitutionEnabled:]):
306         (-[WKWebView toggleAutomaticQuoteSubstitution:]):
307         (-[WKWebView isAutomaticDashSubstitutionEnabled]):
308         (-[WKWebView setAutomaticDashSubstitutionEnabled:]):
309         (-[WKWebView toggleAutomaticDashSubstitution:]):
310         (-[WKWebView isAutomaticLinkDetectionEnabled]):
311         (-[WKWebView setAutomaticLinkDetectionEnabled:]):
312         (-[WKWebView toggleAutomaticLinkDetection:]):
313         (-[WKWebView isAutomaticTextReplacementEnabled]):
314         (-[WKWebView setAutomaticTextReplacementEnabled:]):
315         (-[WKWebView toggleAutomaticTextReplacement:]):
316         (-[WKWebView uppercaseWord:]):
317         (-[WKWebView lowercaseWord:]):
318         (-[WKWebView capitalizeWord:]):
319         (-[WKWebView _wantsKeyDownForEvent:]):
320         (-[WKWebView scrollWheel:]):
321         (-[WKWebView swipeWithEvent:]):
322         (-[WKWebView mouseMoved:]):
323         (-[WKWebView mouseDown:]):
324         (-[WKWebView mouseUp:]):
325         (-[WKWebView mouseDragged:]):
326         (-[WKWebView mouseEntered:]):
327         (-[WKWebView mouseExited:]):
328         (-[WKWebView otherMouseDown:]):
329         (-[WKWebView otherMouseDragged:]):
330         (-[WKWebView otherMouseUp:]):
331         (-[WKWebView rightMouseDown:]):
332         (-[WKWebView rightMouseDragged:]):
333         (-[WKWebView rightMouseUp:]):
334         (-[WKWebView pressureChangeWithEvent:]):
335         (-[WKWebView acceptsFirstMouse:]):
336         (-[WKWebView shouldDelayWindowOrderingForEvent:]):
337         (-[WKWebView doCommandBySelector:]):
338         (-[WKWebView insertText:]):
339         (-[WKWebView insertText:replacementRange:]):
340         (-[WKWebView inputContext]):
341         (-[WKWebView performKeyEquivalent:]):
342         (-[WKWebView keyUp:]):
343         (-[WKWebView keyDown:]):
344         (-[WKWebView flagsChanged:]):
345         (-[WKWebView setMarkedText:selectedRange:replacementRange:]):
346         (-[WKWebView unmarkText]):
347         (-[WKWebView selectedRange]):
348         (-[WKWebView hasMarkedText]):
349         (-[WKWebView markedRange]):
350         (-[WKWebView attributedSubstringForProposedRange:actualRange:]):
351         (-[WKWebView characterIndexForPoint:]):
352         (-[WKWebView firstRectForCharacterRange:actualRange:]):
353         (-[WKWebView selectedRangeWithCompletionHandler:]):
354         (-[WKWebView markedRangeWithCompletionHandler:]):
355         (-[WKWebView hasMarkedTextWithCompletionHandler:]):
356         (-[WKWebView attributedSubstringForProposedRange:completionHandler:]):
357         (-[WKWebView firstRectForCharacterRange:completionHandler:]):
358         (-[WKWebView characterIndexForPoint:completionHandler:]):
359         (-[WKWebView validAttributesForMarkedText]):
360         (-[WKWebView draggedImage:endedAt:operation:]):
361         (-[WKWebView draggingEntered:]):
362         (-[WKWebView draggingUpdated:]):
363         (-[WKWebView draggingExited:]):
364         (-[WKWebView prepareForDragOperation:]):
365         (-[WKWebView performDragOperation:]):
366         (-[WKWebView _hitTest:dragTypes:]):
367         (-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
368         (-[WKWebView viewWillMoveToWindow:]):
369         (-[WKWebView viewDidMoveToWindow]):
370         (-[WKWebView drawRect:]):
371         (-[WKWebView isOpaque]):
372         (-[WKWebView mouseDownCanMoveWindow]):
373         (-[WKWebView viewDidHide]):
374         (-[WKWebView viewDidUnhide]):
375         (-[WKWebView viewDidChangeBackingProperties]):
376         (-[WKWebView _activeSpaceDidChange:]):
377         (-[WKWebView accessibilityFocusedUIElement]):
378         (-[WKWebView accessibilityIsIgnored]):
379         (-[WKWebView accessibilityHitTest:]):
380         (-[WKWebView accessibilityAttributeValue:]):
381         (-[WKWebView hitTest:]):
382         (-[WKWebView conversationIdentifier]):
383         (-[WKWebView quickLookWithEvent:]):
384         (-[WKWebView addTrackingRect:owner:userData:assumeInside:]):
385         (-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
386         (-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
387         (-[WKWebView removeTrackingRect:]):
388         (-[WKWebView _removeTrackingRects:count:]):
389         (-[WKWebView view:stringForToolTip:point:userData:]):
390         (-[WKWebView pasteboardChangedOwner:]):
391         (-[WKWebView pasteboard:provideDataForType:]):
392         (-[WKWebView namesOfPromisedFilesDroppedAtDestination:]):
393         (-[WKWebView wantsUpdateLayer]):
394         (-[WKWebView updateLayer]):
395         (-[WKWebView setAllowsBackForwardNavigationGestures:]):
396         (-[WKWebView allowsBackForwardNavigationGestures]):
397         (-[WKWebView smartMagnifyWithEvent:]):
398         (-[WKWebView setMagnification:centeredAtPoint:]):
399         (-[WKWebView setMagnification:]):
400         (-[WKWebView magnification]):
401         (-[WKWebView setAllowsMagnification:]):
402         (-[WKWebView allowsMagnification]):
403         (-[WKWebView magnifyWithEvent:]):
404         (-[WKWebView rotateWithEvent:]):
405         (-[WKWebView _web_superInputContext]):
406         (-[WKWebView _web_superQuickLookWithEvent:]):
407         (-[WKWebView _web_superSwipeWithEvent:]):
408         (-[WKWebView _web_superMagnifyWithEvent:]):
409         (-[WKWebView _web_superSmartMagnifyWithEvent:]):
410         (-[WKWebView _web_superRemoveTrackingRect:]):
411         (-[WKWebView _web_superAccessibilityAttributeValue:]):
412         (-[WKWebView _web_superDoCommandBySelector:]):
413         (-[WKWebView _web_superPerformKeyEquivalent:]):
414         (-[WKWebView _web_superKeyDown:]):
415         (-[WKWebView _web_superHitTest:]):
416         (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
417         (-[WKWebView _web_prepareForImmediateActionAnimation]):
418         (-[WKWebView _web_cancelImmediateActionAnimation]):
419         (-[WKWebView _web_completeImmediateActionAnimation]):
420         (-[WKWebView _web_didChangeContentSize:]):
421         (-[WKWebView _web_dismissContentRelativeChildWindows]):
422         (-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]):
423         (-[WKWebView _web_gestureEventWasNotHandledByWebCore:]):
424         (-[WKWebView _setEditable:]):
425         (-[WKWebView _remoteObjectRegistry]):
426         (-[WKWebView _layoutMode]):
427         (-[WKWebView _setLayoutMode:]):
428         (-[WKWebView _setViewScale:]):
429         (-[WKWebView _drawsTransparentBackground]):
430         (-[WKWebView _setDrawsTransparentBackground:]):
431         (-[WKWebView _inspectorAttachmentView]):
432         (-[WKWebView _setInspectorAttachmentView:]):
433         (-[WKWebView _windowOcclusionDetectionEnabled]):
434         (-[WKWebView _setWindowOcclusionDetectionEnabled:]):
435         (-[WKWebView _setOverrideDeviceScaleFactor:]):
436         (-[WKWebView _overrideDeviceScaleFactor]):
437         (-[WKWebView _setTopContentInset:]):
438         (-[WKWebView _topContentInset]):
439         (-[WKWebView _pageExtendedBackgroundColor]):
440         (-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
441         (-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
442         (-[WKWebView _automaticallyAdjustsContentInsets]):
443         (-[WKWebView _setMinimumLayoutWidth:]):
444         (-[WKWebView resizeSubviewsWithOldSize:]): Deleted.
445         (-[WKWebView _ignoresNonWheelEvents]): Deleted.
446         (-[WKWebView _setIgnoresNonWheelEvents:]): Deleted.
447         (-[WKWebView _setIntrinsicContentSize:]): Deleted.
448         * UIProcess/API/Cocoa/WKWebViewInternal.h:
449         * UIProcess/API/mac/WKView.mm:
450         (-[WKView _web_superInputContext]):
451         (-[WKView _web_superQuickLookWithEvent:]):
452         (-[WKView _web_superSwipeWithEvent:]):
453         (-[WKView _web_superMagnifyWithEvent:]):
454         (-[WKView _web_superSmartMagnifyWithEvent:]):
455         (-[WKView _web_superRemoveTrackingRect:]):
456         (-[WKView _web_superAccessibilityAttributeValue:]):
457         (-[WKView _web_superDoCommandBySelector:]):
458         (-[WKView _web_superPerformKeyEquivalent:]):
459         (-[WKView _web_superKeyDown:]):
460         (-[WKView _web_superHitTest:]):
461         (-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
462         (-[WKView _web_prepareForImmediateActionAnimation]):
463         (-[WKView _web_cancelImmediateActionAnimation]):
464         (-[WKView _web_completeImmediateActionAnimation]):
465         (-[WKView _web_didChangeContentSize:]):
466         (-[WKView _web_dismissContentRelativeChildWindows]):
467         (-[WKView _web_dismissContentRelativeChildWindowsWithAnimation:]):
468         (-[WKView _web_gestureEventWasNotHandledByWebCore:]):
469         (-[WKView _superInputContext]): Deleted.
470         (-[WKView _superQuickLookWithEvent:]): Deleted.
471         (-[WKView _superSwipeWithEvent:]): Deleted.
472         (-[WKView _superMagnifyWithEvent:]): Deleted.
473         (-[WKView _superSmartMagnifyWithEvent:]): Deleted.
474         (-[WKView _superRemoveTrackingRect:]): Deleted.
475         (-[WKView _superAccessibilityAttributeValue:]): Deleted.
476         (-[WKView _superDoCommandBySelector:]): Deleted.
477         (-[WKView _superPerformKeyEquivalent:]): Deleted.
478         (-[WKView _superKeyDown:]): Deleted.
479         (-[WKView _superHitTest:]): Deleted.
480         (-[WKView _addFontPanelObserver]): Deleted.
481         * UIProcess/API/mac/WKViewInternal.h:
482         * UIProcess/Cocoa/WebViewImpl.h:
483         * UIProcess/Cocoa/WebViewImpl.mm:
484         (WebKit::WebViewImpl::hitTest):
485         (WebKit::WebViewImpl::updateSecureInputState):
486         (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
487         (WebKit::WebViewImpl::executeSavedCommandBySelector):
488         (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimation):
489         (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly):
490         (WebKit::WebViewImpl::quickLookWithEvent):
491         (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
492         (WebKit::WebViewImpl::cancelImmediateActionAnimation):
493         (WebKit::WebViewImpl::completeImmediateActionAnimation):
494         (WebKit::WebViewImpl::didChangeContentSize):
495         (WebKit::WebViewImpl::accessibilityAttributeValue):
496         (WebKit::WebViewImpl::removeTrackingRect):
497         (WebKit::WebViewImpl::swipeWithEvent):
498         (WebKit::WebViewImpl::magnifyWithEvent):
499         (WebKit::WebViewImpl::smartMagnifyWithEvent):
500         (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
501         (WebKit::WebViewImpl::doCommandBySelector):
502         (WebKit::WebViewImpl::inputContext):
503         (WebKit::WebViewImpl::performKeyEquivalent):
504         (WebKit::WebViewImpl::keyDown):
505         * UIProcess/mac/PageClientImpl.mm:
506         (WebKit::PageClientImpl::setDragImage):
507         (WebKit::PageClientImpl::intrinsicContentSizeDidChange): Deleted.
508         (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult): Deleted.
509         Plop.
510
511 2015-11-02  Anders Carlsson  <andersca@apple.com>
512
513         Remove unused API client callback code
514         https://bugs.webkit.org/show_bug.cgi?id=150813
515
516         Reviewed by Tim Horton.
517
518         * UIProcess/API/APILoaderClient.h:
519         (API::LoaderClient::interactionOccurredWhileProcessUnresponsive): Deleted.
520         * UIProcess/API/C/WKPage.cpp:
521         (WKPageSetPageLoaderClient): Deleted.
522         * UIProcess/ResponsivenessTimer.cpp:
523         (WebKit::ResponsivenessTimer::timerFired):
524         * UIProcess/ResponsivenessTimer.h:
525         * UIProcess/WebPageProxy.cpp:
526         (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): Deleted.
527         * UIProcess/WebPageProxy.h:
528         * UIProcess/WebProcessProxy.cpp:
529         (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive): Deleted.
530         * UIProcess/WebProcessProxy.h:
531
532 2015-10-31  Andy Estes  <aestes@apple.com>
533
534         Replace iOS-only WebKitSystemInterface calls with SPI
535         https://bugs.webkit.org/show_bug.cgi?id=150763
536
537         Reviewed by Darin Adler.
538
539         * Platform/ios/AccessibilityIOS.h: Added.
540         * Platform/ios/AccessibilityIOS.mm: Added.
541         (WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.
542         * Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
543         * Shared/WebPreferencesStore.cpp:
544         * UIProcess/API/Cocoa/WKWebView.mm:
545         (shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
546         (-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
547         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
548         (-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().
549         * UIProcess/ios/WKContentView.mm:
550         (-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
551         (-[WKContentView _updateForScreen:]): Ditto.
552         (storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
553         (-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().
554         * UIProcess/ios/WKContentViewInteraction.mm:
555         * UIProcess/ios/WebPageProxyIOS.mm:
556         (WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
557         (WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
558         (WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().
559         * WebKit2.xcodeproj/project.pbxproj:
560         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
561         (InitWebCoreSystemInterface): Deleted.
562         * WebProcess/WebPage/ios/WebPageIOS.mm:
563         (WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().
564
565 2015-11-02  Commit Queue  <commit-queue@webkit.org>
566
567         Unreviewed, rolling out r191902.
568         https://bugs.webkit.org/show_bug.cgi?id=150811
569
570         This change broke iOS builders (Requested by ryanhaddad on
571         #webkit).
572
573         Reverted changeset:
574
575         "Replace iOS-only WebKitSystemInterface calls with SPI"
576         https://bugs.webkit.org/show_bug.cgi?id=150763
577         http://trac.webkit.org/changeset/191902
578
579 2015-10-31  Andy Estes  <aestes@apple.com>
580
581         Replace iOS-only WebKitSystemInterface calls with SPI
582         https://bugs.webkit.org/show_bug.cgi?id=150763
583
584         Reviewed by Darin Adler.
585
586         * Platform/ios/AccessibilityIOS.h: Added.
587         * Platform/ios/AccessibilityIOS.mm: Added.
588         (WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.
589         * Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
590         * Shared/WebPreferencesStore.cpp:
591         * UIProcess/API/Cocoa/WKWebView.mm:
592         (shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
593         (-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
594         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
595         (-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().
596         * UIProcess/ios/WKContentView.mm:
597         (-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
598         (-[WKContentView _updateForScreen:]): Ditto.
599         (storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
600         (-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().
601         * UIProcess/ios/WKContentViewInteraction.mm:
602         * UIProcess/ios/WebPageProxyIOS.mm:
603         (WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
604         (WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
605         (WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().
606         * WebKit2.xcodeproj/project.pbxproj:
607         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
608         (InitWebCoreSystemInterface): Deleted.
609         * WebProcess/WebPage/ios/WebPageIOS.mm:
610         (WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().
611
612 2015-11-02  Yongjun Zhang  <yongjun_zhang@apple.com>
613
614         Add objC delegate callback for webProcessDidBecomeResponsive and webProcessDidBecomeUnresponsive.
615         https://bugs.webkit.org/show_bug.cgi?id=150778
616
617         Add methods into WKNavigationDelegatePrivate to notify WebKit client when web process becomes unresponsive
618         or responsive, which is reported by WebKit::ResponsivenessTimer.
619
620         Reviewed by Darin Adler.
621
622         * UIProcess/API/APINavigationClient.h: Add two new method processDidBecomeResponsive and processDidBecomeUnresponsive
623             to NavigationClient; they are called when WebKit::ResponsivenessTimer update its client's state.
624         (API::NavigationClient::processDidBecomeResponsive):
625         (API::NavigationClient::processDidBecomeUnresponsive):
626         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Add two new delegate method to WKNavigationDelegatePrivate:
627             _webViewWebProcessDidBecomeResponsive: and _webViewWebProcessDidBecomeUnresponsive:
628         * UIProcess/Cocoa/NavigationState.h: Add new overriding methods processDidBecomeResponsive and processDidBecomeUnresponsive.
629             Also add a bool member for each method to indicate if the delegate has implement the related method.
630         * UIProcess/Cocoa/NavigationState.mm:
631         (WebKit::NavigationState::setNavigationDelegate): Update the new bool members based on the delegate.
632         (WebKit::NavigationState::NavigationClient::processDidBecomeResponsive): Send the delegate message to navigationDelegate
633             if _webViewWebProcessDidBecomeResponsive: is implemented.
634         (WebKit::NavigationState::NavigationClient::processDidBecomeUnresponsive): Ditto.
635         * UIProcess/WebPageProxy.cpp:
636         (WebKit::WebPageProxy::processDidBecomeUnresponsive): Call navigationClient's processDidBecomeUnresponsive if the page proxy
637             has navigationClient.
638         (WebKit::WebPageProxy::processDidBecomeResponsive):  Call navigationClient's processDidBecomeResponsive if the page proxy
639             has navigationClient.
640
641 2015-11-02  Beth Dakin  <bdakin@apple.com>
642
643         Tapping and holding a link should have a share option
644         https://bugs.webkit.org/show_bug.cgi?id=150693
645
646         Reviewed by Dan Bernstein.
647
648         This is a follow-up to the original change. This change fixes non-ascii URLs. 
649         They should maintain their non-ascii characters when they are shared.
650
651         * UIProcess/ios/WKContentViewInteraction.mm:
652         (-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
653         * UIProcess/ios/WKPDFView.mm:
654         (-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
655
656 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
657
658         Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
659         https://bugs.webkit.org/show_bug.cgi?id=150613
660
661         Reviewed by Darin Adler.
662
663         * WebProcess/WebPage/WebFrame.cpp:
664         (WebKit::WebFrame::frameForContext): Renaming impl() to wrapped().
665         (WebKit::WebFrame::counterValue): Ditto.
666
667 2015-11-02  Carlos Garcia Campos  <cgarcia@igalia.com>
668
669         [GLIB] Remove support for GSocket main loop sources from GMainLoopSource
670         https://bugs.webkit.org/show_bug.cgi?id=150772
671
672         Reviewed by Žan Doberšek.
673
674         Add GSocketMonitor class to be used by Connection to monitor the
675         availability of the socket file descriptor instead of using a
676         GMainLoopSource.
677
678         * Platform/IPC/Connection.h:
679         * Platform/IPC/glib/GSocketMonitor.cpp: Added.
680         (IPC::GSocketMonitor::~GSocketMonitor):
681         (IPC::GSocketMonitor::socketSourceCallback):
682         (IPC::GSocketMonitor::start):
683         (IPC::GSocketMonitor::stop):
684         * Platform/IPC/glib/GSocketMonitor.h: Added.
685         * Platform/IPC/unix/ConnectionUnix.cpp:
686         (IPC::Connection::platformInvalidate):
687         (IPC::Connection::open):
688         * PlatformGTK.cmake:
689
690 2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
691
692         [GTK] Use RunLoop in WorkQueue implementation
693         https://bugs.webkit.org/show_bug.cgi?id=150770
694
695         Reviewed by Darin Adler.
696
697         * Platform/IPC/unix/ConnectionUnix.cpp:
698         (IPC::Connection::open): Get the main context from the WorkQueue Runloop.
699
700 2015-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>
701
702         [ES6] Support Generator Syntax
703         https://bugs.webkit.org/show_bug.cgi?id=150769
704
705         Reviewed by Geoffrey Garen.
706
707         Added ENABLE_ES6_GENERATORS flag.
708
709         * Configurations/FeatureDefines.xcconfig:
710
711 2015-11-01  Brent Fulgham  <bfulgham@apple.com>
712
713         Use convenience function in sandbox profile
714         https://bugs.webkit.org/show_bug.cgi?id=150732
715         <rdar://problem/23287894>
716
717         Reviewed by Alexey Proskuryakov.
718
719         * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Switch to
720         the 'awd-log-directory' convenience function.
721
722 2015-11-01  Joonghun Park  <jh718.park@samsung.com>
723
724         [EFL] Fix inappropriate move semantics use in parseAndRemoveEnvironments function
725         https://bugs.webkit.org/show_bug.cgi?id=150544
726
727         Reviewed by Darin Adler.
728
729         In parseAndRemoveEnvironments function, it declares its paramerter type as rvalue.
730         But in ProcessLauncher::launchProcess(), the argument of
731         parseAndRemoveEnvironments still be used after the call of the function.
732         Currently the rvalue is not assigned to any other variable in parseAndRemoveEnvironments,
733         so it doesn't lead to runtime error but use of move semantic
734         is not appropriate semantically in this case.
735
736         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
737         (WebKit::parseAndRemoveEnvironments):
738         (WebKit::ProcessLauncher::launchProcess):
739
740 2015-11-01  Commit Queue  <commit-queue@webkit.org>
741
742         Unreviewed, rolling out r191831.
743         https://bugs.webkit.org/show_bug.cgi?id=150774
744
745         The new test fails (Requested by ap on #webkit).
746
747         Reverted changeset:
748
749         "Begin work on supporting reply blocks in
750         _WKRemoteObjectRegistry"
751         https://bugs.webkit.org/show_bug.cgi?id=150739
752         http://trac.webkit.org/changeset/191831
753
754 2015-11-01  Philip Chimento  <philip.chimento@gmail.com>
755
756         [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
757         https://bugs.webkit.org/show_bug.cgi?id=144560
758
759         Reviewed by Darin Adler.
760
761         * NetworkProcess/NetworkProcess.cpp:
762         (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
763         Change order of OS(DARWIN) and USE(UNIX_DOMAIN_SOCKETS) checks,
764         so that we can use Unix domain sockets even on Darwin for the GTK
765         platform.
766         * Platform/IPC/Attachment.cpp: Add USE(UNIX_DOMAIN_SOCKETS) check
767         to OS(DARWIN) check, in order to support GTK platform on OSX.
768         * Platform/IPC/Attachment.h: Change order of OS(DARWIN) and
769         USE(UNIX_DOMAIN_SOCKETS) checks throughout.
770         (IPC::Attachment::size):
771         (IPC::Attachment::releaseFileDescriptor):
772         (IPC::Attachment::fileDescriptor):
773         (IPC::Attachment::disposition):
774         (IPC::Attachment::port): 
775         * Platform/IPC/Connection.h: Ditto.
776         (IPC::Connection::identifierIsNull):
777         (IPC::Connection::Identifier::Identifier): 
778         (IPC::Connection::xpcConnection): 
779         * Platform/IPC/unix/ConnectionUnix.cpp: Only use SOCK_SEQPACKET
780         if the platform is not GTK, because otherwise the PLATFORM(GTK)
781         check below is never reached.
782         * Platform/SharedMemory.h: Change order of OS(DARWIN) and
783         USE(UNIX_DOMAIN_SOCKETS) checks.
784         * PluginProcess/PluginProcess.cpp: Ditto.
785         (WebKit::PluginProcess::createWebProcessConnection):
786         * Shared/API/c/WKBase.h: Don't include WKBaseMac.h if building
787         GTK.
788         * UIProcess/API/C/WKNativeEvent.h: Don't use Apple API if
789         building GTK.
790         * UIProcess/Launcher/ProcessLauncher.cpp: Change to
791         OS(DARWIN) && !PLATFORM(GTK), in the absence of a better platform
792         macro such as USE(MACH).
793         (WebKit::ProcessLauncher::didFinishLaunchingProcess):
794         * UIProcess/Launcher/ProcessLauncher.h: Ditto.
795         * UIProcess/Network/NetworkProcessProxy.cpp: Change order of
796         OS(DARWIN) and PLATFORM(GTK) checks.
797         (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
798         (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
799         * UIProcess/Plugins/PluginProcessProxy.cpp: Ditto.
800         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
801         (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
802         * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Ditto.
803         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
804         * WebProcess/WebPage/WebInspector.cpp: Ditto.
805         (WebKit::WebInspector::createInspectorPage):
806         * WebProcess/WebPage/WebInspectorUI.cpp: Ditto.
807         (WebKit::WebInspectorUI::establishConnection):
808         * WebProcess/WebProcess.cpp: Ditto.
809         (WebKit::WebProcess::ensureNetworkProcessConnection):
810
811 2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
812
813         [GTK] Use RunLoop::Timer in PluginInfoCache
814         https://bugs.webkit.org/show_bug.cgi?id=150757
815
816         Reviewed by Darin Adler.
817
818         Use RunLoop::Timer instead of GMainLoopSource to save the cache
819         contents in an idle. Also remove the mutex, since RunLoop::Timer
820         is thread safe and saveToFile() is private and only called by the
821         main thread loop. Also removed the code to save the file in the
822         destructor since PluginInfoCache is a singleton and never
823         destroyed. It's very unlikely that the program finished before the
824         cache is saved, but even if that happens it would be harmless, the
825         cache will be saved at some point the next time.
826
827         * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
828         (WebKit::PluginInfoCache::PluginInfoCache):
829         (WebKit::PluginInfoCache::updatePluginInfo):
830         (WebKit::PluginInfoCache::~PluginInfoCache):
831         (WebKit::PluginInfoCache::saveToFile):
832         * UIProcess/Plugins/gtk/PluginInfoCache.h:
833
834 2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
835
836         [GTK] Use a RunLoop::Timer to schedule rendering frames in accelerated compositing mode
837         https://bugs.webkit.org/show_bug.cgi?id=150756
838
839         Reviewed by Darin Adler.
840
841         Use a RunLoop::Timer instead of a GMainLoopSource for the
842         accelerated compositing render loop to improve the performance,
843         since RunLoop::Timer uses a persistent source.
844         All the logic to schedule rames has been moved to a helper
845         internal class RenderFrameScheduler.
846
847         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
848         (WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler):
849         (WebKit::LayerTreeHostGtk::RenderFrameScheduler::~RenderFrameScheduler):
850         (WebKit::LayerTreeHostGtk::RenderFrameScheduler::start):
851         (WebKit::LayerTreeHostGtk::RenderFrameScheduler::stop):
852         (WebKit::shouldSkipNextFrameBecauseOfContinousImmediateFlushes):
853         (WebKit::LayerTreeHostGtk::RenderFrameScheduler::nextFrame):
854         (WebKit::LayerTreeHostGtk::RenderFrameScheduler::renderFrame):
855         (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
856         (WebKit::LayerTreeHostGtk::renderFrame):
857         (WebKit::LayerTreeHostGtk::scheduleLayerFlush):
858         (WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
859         (WebKit::LayerTreeHostGtk::layerFlushTimerFired): Deleted.
860         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
861
862 2015-10-31  Andreas Kling  <akling@apple.com>
863
864         Add a debug overlay with information about web process resource usage.
865         <https://webkit.org/b/150599>
866
867         Reviewed by Darin Adler.
868
869         Add WK2 preferences SPI for showing/hiding the resource usage overlay.
870
871         * Shared/WebPreferencesDefinitions.h:
872         * UIProcess/API/C/WKPreferences.cpp:
873         (WKPreferencesSetResourceUsageOverlayVisible):
874         (WKPreferencesGetResourceUsageOverlayVisible):
875         * UIProcess/API/C/WKPreferencesRefPrivate.h:
876         * UIProcess/API/Cocoa/WKPreferences.mm:
877         (-[WKPreferences _resourceUsageOverlayVisible]):
878         (-[WKPreferences _setResourceUsageOverlayVisible:]):
879         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
880         * WebProcess/WebPage/WebPage.cpp:
881         (WebKit::WebPage::updatePreferences):
882
883 2015-10-31  Alex Christensen  <achristensen@webkit.org>
884
885         Share more code between NETWORK_SESSION and non-NETWORK_SESSION NetworkResourceLoaders
886         https://bugs.webkit.org/show_bug.cgi?id=150742
887
888         Reviewed by Darin Adler.
889
890         r191457 added enough code to NetworkResourceLoader to load most resources successfully if there are no errors.
891         It passed about 80% of LayoutTests/http and crashed sometimes.
892         This passes about 95% of LayoutTests/http and does not crash on any of the LayoutTests/http.
893         It should not change behavior of the non-NETWORK_SESSION code which is currently the default in trunk.
894
895         * NetworkProcess/NetworkResourceLoader.cpp:
896         (WebKit::NetworkResourceLoader::abort):
897         (WebKit::NetworkResourceLoader::sharedDidReceiveResponse):
898         (WebKit::NetworkResourceLoader::sharedDidReceiveBuffer):
899         (WebKit::NetworkResourceLoader::sharedDidFinishLoading):
900         (WebKit::NetworkResourceLoader::sharedDidFail):
901         (WebKit::NetworkResourceLoader::sharedWillSendRedirectedRequest):
902         (WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
903         (WebKit::NetworkResourceLoader::didReceiveChallenge):
904         (WebKit::NetworkResourceLoader::didReceiveResponse):
905         (WebKit::NetworkResourceLoader::didReceiveData):
906         (WebKit::NetworkResourceLoader::didCompleteWithError):
907         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
908         (WebKit::NetworkResourceLoader::didReceiveBuffer):
909         (WebKit::NetworkResourceLoader::didFinishLoading):
910         (WebKit::NetworkResourceLoader::didFail):
911         (WebKit::NetworkResourceLoader::willSendRequestAsync):
912         * NetworkProcess/NetworkResourceLoader.h:
913         * NetworkProcess/NetworkSession.h:
914         (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
915
916 2015-10-28  Wenson Hsieh  <wenson_hsieh@apple.com>
917
918         Inner height behavior when the keyboard is shown should match on WKWebView and MobileSafari
919         https://bugs.webkit.org/show_bug.cgi?id=150634
920         <rdar://problem/23202254>
921
922         Reviewed by Benjamin Poulain.
923
924         Make WKWebView match behavior in Safari by not firing resize events and changing the inner height when showing
925         or hiding the keyboard. Previously, the WKWebView would do both of the above because we use the scroll view's
926         contentInset property when no unobscured insets are explicitly set for the WKWebView. To fix this, when updating
927         the visible content rect of a WKWebView for computing the inner height, we readjust the computed bottom inset
928         to not take the keyboard height into account. To know how much we need to readjust the inset by, we store the
929         total amount by which the scroll view's bottom inset has been adjusted due to the keyboard.
930
931         We perform this readjustment in _updateVisibleContentRects rather than in _computedContentInset since some users
932         of _computedContentInset may still expect the bottom inset to account for the keyboard height. However, when
933         updating visible content rects, we should not account for the keyboard height since we don't want the inner height
934         to change when showing or hiding the keyboard.
935
936         Lastly, while calling _adjustForAutomaticKeyboardInfo, we may end up calling _updateVisibleContentRects. This call
937         is unnecessary since we call it again immediately after _adjustForAutomaticKeyboardInfo, and it also complicates
938         the readjustment logic, so it makes sense to prevent the update from happening altogether while we are adjusting
939         the scroll view's insets due to keyboard changes. Altogether, these changes mean that the computed inner height
940         will no longer be adjusted for the keyboard height on WKWebViews, matching the behavior observed on mobile Safari.
941
942         Test: LayoutTests/fast/events/ios/keyboard-should-not-trigger-resize.html
943
944         * UIProcess/API/Cocoa/WKWebView.mm:
945         (-[WKWebView _updateVisibleContentRects]):
946         (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
947
948 2015-10-30  Anders Carlsson  <andersca@apple.com>
949
950         Begin work on supporting reply blocks in _WKRemoteObjectRegistry
951         https://bugs.webkit.org/show_bug.cgi?id=150739
952
953         Reviewed by Tim Horton.
954
955         * Platform/spi/Cocoa/BlockSPI.h:
956         Add SPI header.
957
958         * Shared/API/Cocoa/RemoteObjectInvocation.h:
959         (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
960         (WebKit::RemoteObjectInvocation::replyInfo):
961         * Shared/API/Cocoa/RemoteObjectInvocation.mm:
962         (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
963         (WebKit::RemoteObjectInvocation::encode):
964         (WebKit::RemoteObjectInvocation::decode):
965         Add an optional ReplyInfo struct to RemoteObjectInvocation.
966
967         * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
968         (generateReplyIdentifier):
969         Helper function to generate a reply identifier.
970
971         (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
972         Do some block parameter validation.
973
974         * WebKit2.xcodeproj/project.pbxproj:
975
976 2015-10-30  Beth Dakin  <bdakin@apple.com>
977
978         Link preview doesn't work on XHTML pages with Content-Type header as 
979         ‘application/xhtml+xml’
980         https://bugs.webkit.org/show_bug.cgi?id=150740
981         -and corresponding-
982         rdar://problem/23063585
983
984         Reviewed by Tim Horton.
985
986         For XHTML pages, the element names are lowercase. This patch uses 
987         equalIgnoringCase to fix the bug.
988         * UIProcess/ios/WKContentViewInteraction.mm:
989         (-[WKContentView _actionForLongPress]):
990         (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
991         (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
992
993 2015-10-30  Tim Horton  <timothy_horton@apple.com>
994
995         WKView being inside WKWebView leads to weird API issues
996         https://bugs.webkit.org/show_bug.cgi?id=150174
997
998         Reviewed by Anders Carlsson.
999
1000         * UIProcess/API/mac/WKView.mm:
1001         (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
1002         (-[WKView prepareContentInRect:]):
1003         (-[WKView initWithFrame:processPool:configuration:webView:]):
1004         (-[WKView pageRef]):
1005         (-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
1006         (-[WKView dealloc]): Deleted.
1007         * UIProcess/Cocoa/WebViewImpl.h:
1008         (WebKit::WebViewImpl::page):
1009         * UIProcess/Cocoa/WebViewImpl.mm:
1010         (-[WKWindowVisibilityObserver initWithView:impl:]):
1011         (-[WKWindowVisibilityObserver dealloc]):
1012         (-[WKWindowVisibilityObserver _activeSpaceDidChange:]):
1013         (WebKit::WebViewImpl::WebViewImpl):
1014         (WebKit::WebViewImpl::~WebViewImpl):
1015         (WebKit::WebViewImpl::setDrawsBackground):
1016         (WebKit::WebViewImpl::drawsBackground):
1017         (WebKit::WebViewImpl::setDrawsTransparentBackground):
1018         (WebKit::WebViewImpl::drawsTransparentBackground):
1019         (WebKit::WebViewImpl::isOpaque):
1020         (WebKit::WebViewImpl::acceptsFirstMouse):
1021         (WebKit::WebViewImpl::becomeFirstResponder):
1022         (WebKit::WebViewImpl::resignFirstResponder):
1023         (WebKit::WebViewImpl::viewWillStartLiveResize):
1024         (WebKit::WebViewImpl::viewDidEndLiveResize):
1025         (WebKit::WebViewImpl::updateWindowAndViewFrames):
1026         (WebKit::WebViewImpl::setFixedLayoutSize):
1027         (WebKit::WebViewImpl::fixedLayoutSize):
1028         (WebKit::WebViewImpl::isUsingUISideCompositing):
1029         (WebKit::WebViewImpl::setDrawingAreaSize):
1030         (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate):
1031         (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate):
1032         (WebKit::WebViewImpl::updateLayer):
1033         (WebKit::WebViewImpl::drawRect):
1034         (WebKit::WebViewImpl::dispatchSetTopContentInset):
1035         (WebKit::WebViewImpl::prepareContentInRect):
1036         (WebKit::WebViewImpl::updateViewExposedRect):
1037         (WebKit::WebViewImpl::setMinimumSizeForAutoLayout):
1038         (WebKit::WebViewImpl::minimumSizeForAutoLayout):
1039         (WebKit::WebViewImpl::setShouldExpandToViewHeightForAutoLayout):
1040         (WebKit::WebViewImpl::shouldExpandToViewHeightForAutoLayout):
1041         (WebKit::WebViewImpl::setIntrinsicContentSize):
1042         (WebKit::WebViewImpl::setViewScale):
1043         (WebKit::WebViewImpl::viewScale):
1044         (WebKit::WebViewImpl::supportsArbitraryLayoutModes):
1045         (WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
1046         (WebKit::WebViewImpl::windowDidOrderOffScreen):
1047         (WebKit::WebViewImpl::windowDidOrderOnScreen):
1048         (WebKit::WebViewImpl::windowDidBecomeKey):
1049         (WebKit::WebViewImpl::windowDidResignKey):
1050         (WebKit::WebViewImpl::windowDidMiniaturize):
1051         (WebKit::WebViewImpl::windowDidDeminiaturize):
1052         (WebKit::WebViewImpl::windowDidChangeBackingProperties):
1053         (WebKit::WebViewImpl::windowDidChangeScreen):
1054         (WebKit::WebViewImpl::windowDidChangeLayerHosting):
1055         (WebKit::WebViewImpl::windowDidChangeOcclusionState):
1056         (WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent):
1057         (WebKit::WebViewImpl::windowResizeMouseLocationIsInVisibleScrollerThumb):
1058         (WebKit::WebViewImpl::viewDidMoveToWindow):
1059         (WebKit::WebViewImpl::viewDidChangeBackingProperties):
1060         (WebKit::WebViewImpl::viewDidHide):
1061         (WebKit::WebViewImpl::viewDidUnhide):
1062         (WebKit::WebViewImpl::activeSpaceDidChange):
1063         (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
1064         (WebKit::WebViewImpl::setUnderlayColor):
1065         (WebKit::WebViewImpl::underlayColor):
1066         (WebKit::WebViewImpl::pageExtendedBackgroundColor):
1067         (WebKit::WebViewImpl::setOverlayScrollbarStyle):
1068         (WebKit::WebViewImpl::overlayScrollbarStyle):
1069         (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
1070         (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
1071         (WebKit::WebViewImpl::prepareForMoveToWindow):
1072         (WebKit::WebViewImpl::updateSecureInputState):
1073         (WebKit::WebViewImpl::setPluginComplexTextInputState):
1074         (WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
1075         (WebKit::WebViewImpl::handleAcceptedAlternativeText):
1076         (WebKit::WebViewImpl::pressureChangeWithEvent):
1077         (WebKit::WebViewImpl::isEditable):
1078         (WebKit::WebViewImpl::executeEditCommandForSelector):
1079         (WebKit::WebViewImpl::writeSelectionToPasteboard):
1080         (WebKit::WebViewImpl::readSelectionFromPasteboard):
1081         (WebKit::WebViewImpl::validRequestorForSendAndReturnTypes):
1082         (WebKit::WebViewImpl::centerSelectionInVisibleArea):
1083         (WebKit::WebViewImpl::updateFontPanelIfNeeded):
1084         (WebKit::WebViewImpl::changeFontFromFontPanel):
1085         (WebKit::WebViewImpl::validateUserInterfaceItem):
1086         (WebKit::WebViewImpl::startSpeaking):
1087         (WebKit::WebViewImpl::showGuessPanel):
1088         (WebKit::WebViewImpl::checkSpelling):
1089         (WebKit::WebViewImpl::changeSpelling):
1090         (WebKit::WebViewImpl::toggleContinuousSpellChecking):
1091         (WebKit::WebViewImpl::setGrammarCheckingEnabled):
1092         (WebKit::WebViewImpl::toggleGrammarChecking):
1093         (WebKit::WebViewImpl::toggleAutomaticSpellingCorrection):
1094         (WebKit::WebViewImpl::toggleSmartInsertDelete):
1095         (WebKit::WebViewImpl::setAutomaticQuoteSubstitutionEnabled):
1096         (WebKit::WebViewImpl::toggleAutomaticQuoteSubstitution):
1097         (WebKit::WebViewImpl::setAutomaticDashSubstitutionEnabled):
1098         (WebKit::WebViewImpl::toggleAutomaticDashSubstitution):
1099         (WebKit::WebViewImpl::setAutomaticLinkDetectionEnabled):
1100         (WebKit::WebViewImpl::toggleAutomaticLinkDetection):
1101         (WebKit::WebViewImpl::setAutomaticTextReplacementEnabled):
1102         (WebKit::WebViewImpl::toggleAutomaticTextReplacement):
1103         (WebKit::WebViewImpl::uppercaseWord):
1104         (WebKit::WebViewImpl::lowercaseWord):
1105         (WebKit::WebViewImpl::capitalizeWord):
1106         (WebKit::WebViewImpl::preferencesDidChange):
1107         (WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly):
1108         (WebKit::WebViewImpl::quickLookWithEvent):
1109         (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
1110         (WebKit::WebViewImpl::didChangeContentSize):
1111         (WebKit::WebViewImpl::setIgnoresNonWheelEvents):
1112         (WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
1113         (WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
1114         (WebKit::WebViewImpl::stringForToolTip):
1115         (WebKit::WebViewImpl::setInspectorAttachmentView):
1116         (WebKit::WebViewImpl::remoteObjectRegistry):
1117         (WebKit::WebViewImpl::browsingContextController):
1118         (WebKit::WebViewImpl::draggedImage):
1119         (WebKit::WebViewImpl::draggingEntered):
1120         (WebKit::WebViewImpl::draggingUpdated):
1121         (WebKit::WebViewImpl::draggingExited):
1122         (WebKit::WebViewImpl::performDragOperation):
1123         (WebKit::WebViewImpl::takeViewSnapshot):
1124         (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
1125         (WebKit::WebViewImpl::saveBackForwardSnapshotForItem):
1126         (WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
1127         (WebKit::WebViewImpl::setMagnification):
1128         (WebKit::WebViewImpl::magnification):
1129         (WebKit::WebViewImpl::scrollWheel):
1130         (WebKit::WebViewImpl::swipeWithEvent):
1131         (WebKit::WebViewImpl::magnifyWithEvent):
1132         (WebKit::WebViewImpl::rotateWithEvent):
1133         (WebKit::WebViewImpl::doCommandBySelector):
1134         (WebKit::WebViewImpl::insertText):
1135         (WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
1136         (WebKit::WebViewImpl::markedRangeWithCompletionHandler):
1137         (WebKit::WebViewImpl::hasMarkedTextWithCompletionHandler):
1138         (WebKit::WebViewImpl::attributedSubstringForProposedRange):
1139         (WebKit::WebViewImpl::firstRectForCharacterRange):
1140         (WebKit::WebViewImpl::characterIndexForPoint):
1141         (WebKit::WebViewImpl::inputContext):
1142         (WebKit::WebViewImpl::unmarkText):
1143         (WebKit::WebViewImpl::setMarkedText):
1144         (WebKit::WebViewImpl::performKeyEquivalent):
1145         (WebKit::WebViewImpl::keyUp):
1146         (WebKit::WebViewImpl::keyDown):
1147         (WebKit::WebViewImpl::flagsChanged):
1148         (WebKit::WebViewImpl::executeSavedKeypressCommands):
1149         (WebKit::WebViewImpl::selectedRange):
1150         (WebKit::WebViewImpl::hasMarkedText):
1151         (WebKit::WebViewImpl::markedRange):
1152         (WebKit::WebViewImpl::setContentPreparationRect): Deleted.
1153         (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResultFromViewOnly): Deleted.
1154         (WebKit::WebViewImpl::destroyRemoteObjectRegistry): Deleted.
1155         * UIProcess/WebPageProxy.h:
1156         (WebKit::WebPageProxy::scrollPinningBehavior):
1157         (WebKit::WebPageProxy::overlayScrollbarStyle):
1158         * UIProcess/WebProcessPool.cpp:
1159         (WebKit::WebProcessPool::createWebPage):
1160         * UIProcess/WebProcessPool.h:
1161         * UIProcess/mac/PageClientImpl.h:
1162         * UIProcess/mac/PageClientImpl.mm:
1163         (WebKit::PageClientImpl::PageClientImpl):
1164         (WebKit::PageClientImpl::createDrawingAreaProxy):
1165         (WebKit::PageClientImpl::viewSize):
1166         (WebKit::PageClientImpl::activeView):
1167         (WebKit::PageClientImpl::activeWindow):
1168         (WebKit::PageClientImpl::isViewFocused):
1169         (WebKit::PageClientImpl::makeFirstResponder):
1170         (WebKit::PageClientImpl::isViewVisible):
1171         (WebKit::PageClientImpl::colorSpace):
1172         (WebKit::PageClientImpl::processDidExit):
1173         (WebKit::PageClientImpl::pageClosed):
1174         (WebKit::PageClientImpl::didRelaunchProcess):
1175         (WebKit::PageClientImpl::preferencesDidChange):
1176         (WebKit::PageClientImpl::toolTipChanged):
1177         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
1178         (WebKit::PageClientImpl::didChangeContentSize):
1179         (WebKit::PageClientImpl::setCursor):
1180         (WebKit::PageClientImpl::registerEditCommand):
1181         (WebKit::PageClientImpl::registerInsertionUndoGrouping):
1182         (WebKit::PageClientImpl::clearAllEditCommands):
1183         (WebKit::PageClientImpl::canUndoRedo):
1184         (WebKit::PageClientImpl::executeUndoRedo):
1185         (WebKit::PageClientImpl::setDragImage):
1186         (WebKit::PageClientImpl::setPromisedDataForImage):
1187         (WebKit::PageClientImpl::setPromisedDataForAttachment):
1188         (WebKit::PageClientImpl::updateSecureInputState):
1189         (WebKit::PageClientImpl::resetSecureInputState):
1190         (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
1191         (WebKit::PageClientImpl::convertToDeviceSpace):
1192         (WebKit::PageClientImpl::convertToUserSpace):
1193         (WebKit::PageClientImpl::screenToRootView):
1194         (WebKit::PageClientImpl::rootViewToScreen):
1195         (WebKit::PageClientImpl::doneWithKeyEvent):
1196         (WebKit::PageClientImpl::createPopupMenuProxy):
1197         (WebKit::PageClientImpl::createContextMenuProxy):
1198         (WebKit::PageClientImpl::createColorPicker):
1199         (WebKit::PageClientImpl::setTextIndicator):
1200         (WebKit::PageClientImpl::clearTextIndicator):
1201         (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
1202         (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
1203         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
1204         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
1205         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
1206         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
1207         (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
1208         (WebKit::PageClientImpl::takeViewSnapshot):
1209         (WebKit::PageClientImpl::selectionDidChange):
1210         (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
1211         (WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
1212         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
1213         (WebKit::PageClientImpl::setPluginComplexTextInputState):
1214         (WebKit::PageClientImpl::didPerformDictionaryLookup):
1215         (WebKit::PageClientImpl::dismissContentRelativeChildWindows):
1216         (WebKit::PageClientImpl::showCorrectionPanel):
1217         (WebKit::PageClientImpl::recordAutocorrectionResponse):
1218         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
1219         (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
1220         (WebKit::PageClientImpl::executeSavedCommandBySelector):
1221         (WebKit::PageClientImpl::showDictationAlternativeUI):
1222         (WebKit::PageClientImpl::closeFullScreenManager):
1223         (WebKit::PageClientImpl::isFullScreen):
1224         (WebKit::PageClientImpl::enterFullScreen):
1225         (WebKit::PageClientImpl::exitFullScreen):
1226         (WebKit::PageClientImpl::beganEnterFullScreen):
1227         (WebKit::PageClientImpl::beganExitFullScreen):
1228         (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1229         (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1230         (WebKit::PageClientImpl::didFailLoadForMainFrame):
1231         (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
1232         (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
1233         (WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):
1234         (WebKit::PageClientImpl::didPerformImmediateActionHitTest):
1235         (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult):
1236         (WebKit::PageClientImpl::showPlatformContextMenu):
1237         (WebKit::PageClientImpl::refView):
1238         (WebKit::PageClientImpl::derefView):
1239         (WebKit::PageClientImpl::startWindowDrag):
1240         (WebKit::PageClientImpl::platformWindow):
1241         (WebKit::PageClientImpl::inspectorAttachmentView):
1242         (WebKit::PageClientImpl::remoteObjectRegistry):
1243         * UIProcess/mac/WebColorPickerMac.h:
1244         * UIProcess/mac/WebColorPickerMac.mm:
1245         (WebKit::WebColorPickerMac::create):
1246         (WebKit::WebColorPickerMac::WebColorPickerMac):
1247         (-[WKColorPopoverMac initWithFrame:inView:]):
1248         * UIProcess/mac/WebContextMenuProxyMac.h:
1249         * UIProcess/mac/WebContextMenuProxyMac.mm:
1250         (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
1251         * UIProcess/mac/WebPopupMenuProxyMac.h:
1252         (WebKit::WebPopupMenuProxyMac::create):
1253         * UIProcess/mac/WebPopupMenuProxyMac.mm:
1254         (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
1255         Move ownership of WebPageProxy and PageClientImpl to WebViewImpl.
1256
1257 2015-10-30  Alex Christensen  <achristensen@webkit.org>
1258
1259         Fix Mac CMake build after rr191810.
1260
1261         * PlatformMac.cmake:
1262         Add RemoteObjectInvocation.mm.
1263
1264 2015-10-30  Anders Carlsson  <andersca@apple.com>
1265
1266         Add a separate object that represents a remote object invocation
1267         https://bugs.webkit.org/show_bug.cgi?id=150639
1268
1269         Reviewed by Tim Horton.
1270
1271         * Shared/API/Cocoa/RemoteObjectInvocation.h: Copied from Source/WebKit2/Shared/API/Cocoa/RemoteObjectRegistry.h.
1272         (WebKit::RemoteObjectInvocation::interfaceIdentifier):
1273         (WebKit::RemoteObjectInvocation::encodedInvocation):
1274         * Shared/API/Cocoa/RemoteObjectInvocation.mm: Copied from Source/WebKit2/Shared/API/Cocoa/RemoteObjectRegistry.mm.
1275         (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
1276         (WebKit::RemoteObjectInvocation::encode):
1277         (WebKit::RemoteObjectInvocation::decode):
1278         * Shared/API/Cocoa/RemoteObjectRegistry.h:
1279         * Shared/API/Cocoa/RemoteObjectRegistry.messages.in:
1280         * Shared/API/Cocoa/RemoteObjectRegistry.mm:
1281         (WebKit::RemoteObjectRegistry::sendInvocation):
1282         (WebKit::RemoteObjectRegistry::invokeMethod):
1283         * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
1284         (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
1285         (-[_WKRemoteObjectRegistry _invokeMethod:]):
1286         * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
1287         * WebKit2.xcodeproj/project.pbxproj:
1288
1289 2015-10-30  Beth Dakin  <bdakin@apple.com>
1290
1291         Another speculative build fix.
1292
1293         * UIProcess/API/Cocoa/_WKElementAction.h:
1294
1295 2015-10-30  Beth Dakin  <bdakin@apple.com>
1296
1297         Speculative build fix.
1298
1299         * Platform/spi/ios/UIKitSPI.h:
1300         * UIProcess/ios/WKContentViewInteraction.mm:
1301
1302 2015-10-30  Tim Horton  <timothy_horton@apple.com>
1303
1304         WKView being inside WKWebView leads to weird API issues
1305         https://bugs.webkit.org/show_bug.cgi?id=150174
1306
1307         Reviewed by Anders Carlsson.
1308
1309         * UIProcess/API/mac/WKView.mm:
1310         (-[WKView mouseMoved:]):
1311         (-[WKView mouseDown:]):
1312         (-[WKView mouseUp:]):
1313         (-[WKView mouseDragged:]):
1314         (-[WKView mouseEntered:]):
1315         (-[WKView mouseExited:]):
1316         (-[WKView otherMouseDown:]):
1317         (-[WKView otherMouseDragged:]):
1318         (-[WKView otherMouseUp:]):
1319         (-[WKView rightMouseDown:]):
1320         (-[WKView rightMouseDragged:]):
1321         (-[WKView rightMouseUp:]):
1322         (-[WKView _updateViewExposedRect]): Deleted.
1323         * UIProcess/Cocoa/WebViewImpl.h:
1324         * UIProcess/Cocoa/WebViewImpl.mm:
1325         (WebKit::WebViewImpl::mouseMoved):
1326         (WebKit::WebViewImpl::mouseDown):
1327         (WebKit::WebViewImpl::mouseUp):
1328         (WebKit::WebViewImpl::mouseDragged):
1329         Move mouse event handling.
1330
1331 2015-10-30  Beth Dakin  <bdakin@apple.com>
1332
1333         Tapping and holding a link should have a share option
1334         https://bugs.webkit.org/show_bug.cgi?id=150693
1335         -and corresponding-
1336         rdar://problem/21319702
1337
1338         Reviewed by Tim Horton.
1339
1340         New _WKElementActionType called _WKElementActionTypeShare.
1341         * UIProcess/API/Cocoa/_WKElementAction.h:
1342         * UIProcess/API/Cocoa/_WKElementAction.mm:
1343         (+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
1344
1345         _WKElementActionTypeShare is part of the default actions for links.
1346         * UIProcess/ios/WKActionSheetAssistant.h:
1347         * UIProcess/ios/WKActionSheetAssistant.mm:
1348         (-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
1349
1350         Handle the sharing part!
1351         * UIProcess/ios/WKContentViewInteraction.mm:
1352         (-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
1353
1354         To support this in PDF, PDF need to create a _webSelectionAssistant.
1355         * UIProcess/ios/WKPDFView.mm:
1356         (-[WKPDFView web_initWithFrame:webView:]):
1357         (-[WKPDFView actionSheetAssistant:openElementAtLocation:]):
1358         (-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
1359         (-[WKPDFView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):
1360
1361 2015-10-30  Tim Horton  <timothy_horton@apple.com>
1362
1363         WKView being inside WKWebView leads to weird API issues
1364         https://bugs.webkit.org/show_bug.cgi?id=150174
1365
1366         Reviewed by Anders Carlsson.
1367
1368         * UIProcess/API/mac/WKView.mm:
1369         (-[WKView _wantsKeyDownForEvent:]):
1370         (-[WKView acceptsFirstMouse:]):
1371         (-[WKView shouldDelayWindowOrderingForEvent:]):
1372         (-[WKView validAttributesForMarkedText]):
1373         (-[WKView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
1374         (-[WKView drawRect:]):
1375         (-[WKView isOpaque]):
1376         (-[WKView mouseDownCanMoveWindow]):
1377         (-[WKView viewDidHide]):
1378         (-[WKView viewDidUnhide]):
1379         (-[WKView _activeSpaceDidChange:]):
1380         (-[WKView hitTest:]):
1381         (-[WKView wantsUpdateLayer]):
1382         (-[WKView canChangeFrameLayout:]):
1383         (-[WKView printOperationWithPrintInfo:forFrame:]):
1384         (+[WKView hideWordDefinitionWindow]):
1385         * UIProcess/Cocoa/WebViewImpl.h:
1386         (WebKit::WebViewImpl::wantsUpdateLayer):
1387         (WebKit::WebViewImpl::mouseDownCanMoveWindow):
1388         (WebKit::WebViewImpl::wantsKeyDownForEvent):
1389         (WebKit::WebViewImpl::layerHostingView): Deleted.
1390         * UIProcess/Cocoa/WebViewImpl.mm:
1391         (WebKit::WebViewImpl::isOpaque):
1392         (WebKit::WebViewImpl::acceptsFirstMouse):
1393         (WebKit::WebViewImpl::drawRect):
1394         (WebKit::WebViewImpl::canChangeFrameLayout):
1395         (WebKit::WebViewImpl::printOperationWithPrintInfo):
1396         (WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent):
1397         (WebKit::WebViewImpl::windowResizeMouseLocationIsInVisibleScrollerThumb):
1398         (WebKit::WebViewImpl::viewDidHide):
1399         (WebKit::WebViewImpl::viewDidUnhide):
1400         (WebKit::WebViewImpl::activeSpaceDidChange):
1401         (WebKit::WebViewImpl::hitTest):
1402         (WebKit::WebViewImpl::hideWordDefinitionWindow):
1403         (WebKit::WebViewImpl::validAttributesForMarkedText):
1404         Printing and random bits.
1405
1406 2015-10-30  Anders Carlsson  <andersca@apple.com>
1407
1408         REGRESSION (r191691): Unexpected "Share" context menu when right clicking around inspector
1409         https://bugs.webkit.org/show_bug.cgi?id=150699
1410         rdar://problem/23324522
1411
1412         Reviewed by Tim Horton.
1413
1414         Don't create a share menu item if we have nothing to share.
1415
1416         * UIProcess/mac/WebContextMenuProxyMac.mm:
1417         (WebKit::WebContextMenuProxyMac::createShareMenuItem):
1418
1419 2015-10-30  Tim Horton  <timothy_horton@apple.com>
1420
1421         Initialize some new WebViewImpl members
1422
1423         * UIProcess/Cocoa/WebViewImpl.h:
1424         Oh well.
1425
1426 2015-10-30  Tim Horton  <timothy_horton@apple.com>
1427
1428         Fix the build
1429
1430         * UIProcess/API/mac/WKView.mm:
1431
1432 2015-10-30  Tim Horton  <timothy_horton@apple.com>
1433
1434         Fix the build
1435
1436         * UIProcess/Cocoa/WebViewImpl.h:
1437         * UIProcess/Cocoa/WebViewImpl.mm:
1438         (WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent):
1439
1440 2015-10-30  Tim Horton  <timothy_horton@apple.com>
1441
1442         WKView being inside WKWebView leads to weird API issues
1443         https://bugs.webkit.org/show_bug.cgi?id=150174
1444
1445         Reviewed by Darin Adler.
1446
1447         * UIProcess/API/mac/WKView.mm:
1448         (-[WKView doCommandBySelector:]):
1449         (-[WKView insertText:]):
1450         (-[WKView insertText:replacementRange:]):
1451         (-[WKView inputContext]):
1452         (-[WKView performKeyEquivalent:]):
1453         (-[WKView keyUp:]):
1454         (-[WKView keyDown:]):
1455         (-[WKView flagsChanged:]):
1456         (-[WKView setMarkedText:selectedRange:replacementRange:]):
1457         (-[WKView unmarkText]):
1458         (-[WKView selectedRange]):
1459         (-[WKView hasMarkedText]):
1460         (-[WKView markedRange]):
1461         (-[WKView attributedSubstringForProposedRange:actualRange:]):
1462         (-[WKView characterIndexForPoint:]):
1463         (-[WKView firstRectForCharacterRange:actualRange:]):
1464         (-[WKView selectedRangeWithCompletionHandler:]):
1465         (-[WKView markedRangeWithCompletionHandler:]):
1466         (-[WKView hasMarkedTextWithCompletionHandler:]):
1467         (-[WKView attributedSubstringForProposedRange:completionHandler:]):
1468         (-[WKView firstRectForCharacterRange:completionHandler:]):
1469         (-[WKView characterIndexForPoint:completionHandler:]):
1470         (-[WKView _superPerformKeyEquivalent:]):
1471         (-[WKView _superKeyDown:]):
1472         (extractUnderlines): Deleted.
1473         (-[WKView _collectKeyboardLayoutCommandsForEvent:to:]): Deleted.
1474         (-[WKView _interpretKeyEvent:completionHandler:]): Deleted.
1475         (-[WKView NO_RETURN_DUE_TO_ASSERT]): Deleted.
1476         (-[WKView _interpretKeyEvent:savingCommandsTo:]): Deleted.
1477         (-[WKView _executeSavedKeypressCommands]): Deleted.
1478         (-[WKView _doneWithKeyEvent:eventWasHandled:]): Deleted.
1479         * UIProcess/API/mac/WKViewInternal.h:
1480         * UIProcess/Cocoa/WebViewImpl.h:
1481         * UIProcess/Cocoa/WebViewImpl.mm:
1482         (WebKit::WebViewImpl::doneWithKeyEvent):
1483         (WebKit::extractUnderlines):
1484         (WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent):
1485         (WebKit::WebViewImpl::interpretKeyEvent):
1486         (WebKit::WebViewImpl::doCommandBySelector):
1487         (WebKit::WebViewImpl::insertText):
1488         (WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
1489         (WebKit::WebViewImpl::markedRangeWithCompletionHandler):
1490         (WebKit::WebViewImpl::hasMarkedTextWithCompletionHandler):
1491         (WebKit::WebViewImpl::attributedSubstringForProposedRange):
1492         (WebKit::WebViewImpl::firstRectForCharacterRange):
1493         (WebKit::WebViewImpl::characterIndexForPoint):
1494         (WebKit::WebViewImpl::inputContext):
1495         (WebKit::WebViewImpl::unmarkText):
1496         (WebKit::WebViewImpl::setMarkedText):
1497         (WebKit::WebViewImpl::selectedRange):
1498         (WebKit::WebViewImpl::hasMarkedText):
1499         (WebKit::WebViewImpl::markedRange):
1500         (WebKit::WebViewImpl::performKeyEquivalent):
1501         (WebKit::WebViewImpl::keyUp):
1502         (WebKit::WebViewImpl::keyDown):
1503         (WebKit::WebViewImpl::flagsChanged):
1504         (WebKit::WebViewImpl::executeSavedKeypressCommands):
1505         * UIProcess/mac/PageClientImpl.mm:
1506         (WebKit::PageClientImpl::doneWithKeyEvent):
1507         Move NSTextInputClient implementation.
1508
1509 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1510
1511         [GTK] Move the socket polling off the WorkQueue
1512         https://bugs.webkit.org/show_bug.cgi?id=150593
1513
1514         Reviewed by Anders Carlsson.
1515
1516         Create the socket poll source in Connection::open and attach it to
1517         the connection work queue context.
1518
1519         * Platform/IPC/Connection.h:
1520         * Platform/IPC/unix/ConnectionUnix.cpp:
1521         (IPC::Connection::platformInvalidate):
1522         (IPC::Connection::open):
1523
1524 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1525
1526         [GTK] Use RunLoop::Timer instead of GMainLoopSource
1527         https://bugs.webkit.org/show_bug.cgi?id=150592
1528
1529         Reviewed by Žan Doberšek.
1530
1531         * Shared/Downloads/soup/DownloadSoup.cpp:
1532         (WebKit::DownloadClient::DownloadClient):
1533         (WebKit::DownloadClient::didReceiveData):
1534         (WebKit::DownloadClient::handleResponseLater):
1535         * UIProcess/gtk/GestureController.cpp:
1536         (WebKit::GestureController::DragGesture::begin):
1537         (WebKit::GestureController::DragGesture::update):
1538         (WebKit::GestureController::DragGesture::end):
1539         (WebKit::GestureController::DragGesture::longPressFired):
1540         (WebKit::GestureController::DragGesture::DragGesture):
1541         (WebKit::GestureController::ZoomGesture::scaleChanged):
1542         (WebKit::GestureController::ZoomGesture::ZoomGesture):
1543         * UIProcess/gtk/GestureController.h:
1544
1545 2015-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1546
1547         [GTK] Use a persistent main loop source in RunLoop glib implementation
1548         https://bugs.webkit.org/show_bug.cgi?id=150590
1549
1550         Reviewed by Žan Doberšek.
1551
1552         Use RunLoop::dispatch() instead of
1553         GMainLoopSource::scheduleAndDeleteOnDestroy in a couple of simple
1554         cases.
1555
1556         * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
1557         (WebKit::NetworkCache::runTaskInQueue):
1558         * UIProcess/gtk/DragAndDropHandler.cpp:
1559         (WebKit::DragAndDropHandler::dragLeave):
1560
1561 2015-10-29  Alex Christensen  <achristensen@webkit.org>
1562
1563         Make WebCore a framework in Mac CMake build
1564         https://bugs.webkit.org/show_bug.cgi?id=150702
1565
1566         Reviewed by Geoffrey Garen.
1567
1568         * PlatformMac.cmake:
1569
1570 2015-10-29  Alex Christensen  <achristensen@webkit.org>
1571
1572         EFL build fix after r191749
1573
1574         * CMakeLists.txt:
1575         Only Mac should include the Cocoa directory.
1576
1577 2015-10-29  Tim Horton  <timothy_horton@apple.com>
1578
1579         WKView being inside WKWebView leads to weird API issues
1580         https://bugs.webkit.org/show_bug.cgi?id=150174
1581
1582         Reviewed by Anders Carlsson.
1583
1584         * Platform/spi/mac/AppKitSPI.h:
1585         * UIProcess/API/mac/WKView.mm:
1586         (-[WKView validRequestorForSendType:returnType:]):
1587         (-[WKView readSelectionFromPasteboard:]):
1588         (-[WKView changeFont:]):
1589         (-[WKView startSpeaking:]):
1590         (-[WKView stopSpeaking:]):
1591         (-[WKView showGuessPanel:]):
1592         (-[WKView checkSpelling:]):
1593         (-[WKView changeSpelling:]):
1594         (-[WKView toggleContinuousSpellChecking:]):
1595         (-[WKView isGrammarCheckingEnabled]):
1596         (-[WKView setGrammarCheckingEnabled:]):
1597         (-[WKView toggleGrammarChecking:]):
1598         (-[WKView toggleAutomaticSpellingCorrection:]):
1599         (-[WKView orderFrontSubstitutionsPanel:]):
1600         (-[WKView toggleSmartInsertDelete:]):
1601         (-[WKView isAutomaticQuoteSubstitutionEnabled]):
1602         (-[WKView setAutomaticQuoteSubstitutionEnabled:]):
1603         (-[WKView toggleAutomaticQuoteSubstitution:]):
1604         (-[WKView isAutomaticDashSubstitutionEnabled]):
1605         (-[WKView setAutomaticDashSubstitutionEnabled:]):
1606         (-[WKView toggleAutomaticDashSubstitution:]):
1607         (-[WKView isAutomaticLinkDetectionEnabled]):
1608         (-[WKView setAutomaticLinkDetectionEnabled:]):
1609         (-[WKView toggleAutomaticLinkDetection:]):
1610         (-[WKView isAutomaticTextReplacementEnabled]):
1611         (-[WKView setAutomaticTextReplacementEnabled:]):
1612         (-[WKView toggleAutomaticTextReplacement:]):
1613         (-[WKView uppercaseWord:]):
1614         (-[WKView lowercaseWord:]):
1615         (-[WKView capitalizeWord:]):
1616         * UIProcess/Cocoa/WebViewImpl.h:
1617         * UIProcess/Cocoa/WebViewImpl.mm:
1618         (WebKit::WebViewImpl::readSelectionFromPasteboard):
1619         (WebKit::WebViewImpl::validRequestorForSendAndReturnTypes):
1620         (WebKit::WebViewImpl::changeFontFromFontPanel):
1621         (WebKit::WebViewImpl::startSpeaking):
1622         (WebKit::WebViewImpl::stopSpeaking):
1623         (WebKit::WebViewImpl::showGuessPanel):
1624         (WebKit::WebViewImpl::checkSpelling):
1625         (WebKit::WebViewImpl::changeSpelling):
1626         (WebKit::WebViewImpl::toggleContinuousSpellChecking):
1627         (WebKit::WebViewImpl::isGrammarCheckingEnabled):
1628         (WebKit::WebViewImpl::setGrammarCheckingEnabled):
1629         (WebKit::WebViewImpl::toggleGrammarChecking):
1630         (WebKit::WebViewImpl::toggleAutomaticSpellingCorrection):
1631         (WebKit::WebViewImpl::orderFrontSubstitutionsPanel):
1632         (WebKit::WebViewImpl::toggleSmartInsertDelete):
1633         (WebKit::WebViewImpl::isAutomaticQuoteSubstitutionEnabled):
1634         (WebKit::WebViewImpl::setAutomaticQuoteSubstitutionEnabled):
1635         (WebKit::WebViewImpl::toggleAutomaticQuoteSubstitution):
1636         (WebKit::WebViewImpl::isAutomaticDashSubstitutionEnabled):
1637         (WebKit::WebViewImpl::setAutomaticDashSubstitutionEnabled):
1638         (WebKit::WebViewImpl::toggleAutomaticDashSubstitution):
1639         (WebKit::WebViewImpl::isAutomaticLinkDetectionEnabled):
1640         (WebKit::WebViewImpl::setAutomaticLinkDetectionEnabled):
1641         (WebKit::WebViewImpl::toggleAutomaticLinkDetection):
1642         (WebKit::WebViewImpl::setAutomaticTextReplacementEnabled):
1643         (WebKit::WebViewImpl::toggleAutomaticTextReplacement):
1644         (WebKit::WebViewImpl::uppercaseWord):
1645         (WebKit::WebViewImpl::lowercaseWord):
1646         (WebKit::WebViewImpl::capitalizeWord):
1647         Move spellcheck and related bits.
1648
1649 2015-10-29  Eric Carlson  <eric.carlson@apple.com>
1650
1651         Revert inadvertent changes
1652         https://bugs.webkit.org/show_bug.cgi?id=150694
1653
1654         Reviewed by Tim Horton.
1655
1656         * WebProcess/com.apple.WebProcess.sb.in:
1657
1658 2015-10-29  Alex Christensen  <achristensen@webkit.org>
1659
1660         CMake build fix.
1661
1662         * CMakeLists.txt:
1663         * PlatformMac.cmake:
1664         I mistakenly added some mac-specific files to the shared CMakeLists.txt.  This puts them in the right place.
1665         * UIProcess/WebPageProxy.cpp:
1666         (WebKit::WebPageProxy::viewWillStartLiveResize):
1667         (WebKit::WebPageProxy::viewDidLeaveWindow):
1668         (WebKit::WebPageProxy::didEndColorPicker):
1669         Add preprocessor enable checks.
1670
1671 2015-10-29  Tim Horton  <timothy_horton@apple.com>
1672
1673         WKView being inside WKWebView leads to weird API issues
1674         https://bugs.webkit.org/show_bug.cgi?id=150174
1675
1676         Reviewed by Darin Adler.
1677
1678         * UIProcess/API/mac/WKView.mm:
1679         (-[WKView browsingContextController]):
1680         (-[WKView validateUserInterfaceItem:]):
1681         (-[WKView saveBackForwardSnapshotForCurrentItem]):
1682         (-[WKView saveBackForwardSnapshotForItem:]):
1683         (-[WKView updateLayer]):
1684         (-[WKView minimumSizeForAutoLayout]):
1685         (-[WKView setMinimumSizeForAutoLayout:]):
1686         (-[WKView shouldExpandToViewHeightForAutoLayout]):
1687         (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
1688         (-[WKView underlayColor]):
1689         (-[WKView setUnderlayColor:]):
1690         (-[WKView _setOverlayScrollbarStyle:]):
1691         (-[WKView _overlayScrollbarStyle]):
1692         (-[WKView _pageExtendedBackgroundColor]):
1693         (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
1694         (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
1695         (-[WKView isUsingUISideCompositing]):
1696         (createSelectorExceptionMap): Deleted.
1697         (commandNameForSelector): Deleted.
1698         (menuItem): Deleted.
1699         (toolbarItem): Deleted.
1700         (-[WKView _setUserInterfaceItemState:enabled:state:]): Deleted.
1701         * UIProcess/Cocoa/WebViewImpl.h:
1702         * UIProcess/Cocoa/WebViewImpl.mm:
1703         (WebKit::WebViewImpl::createDrawingAreaProxy):
1704         (WebKit::WebViewImpl::isUsingUISideCompositing):
1705         (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate):
1706         (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate):
1707         (WebKit::WebViewImpl::updateLayer):
1708         (WebKit::WebViewImpl::setMinimumSizeForAutoLayout):
1709         (WebKit::WebViewImpl::minimumSizeForAutoLayout):
1710         (WebKit::WebViewImpl::setShouldExpandToViewHeightForAutoLayout):
1711         (WebKit::WebViewImpl::shouldExpandToViewHeightForAutoLayout):
1712         (WebKit::WebViewImpl::setUnderlayColor):
1713         (WebKit::WebViewImpl::underlayColor):
1714         (WebKit::WebViewImpl::pageExtendedBackgroundColor):
1715         (WebKit::WebViewImpl::setOverlayScrollbarStyle):
1716         (WebKit::WebViewImpl::overlayScrollbarStyle):
1717         (WebKit::createSelectorExceptionMap):
1718         (WebKit::commandNameForSelector):
1719         (WebKit::WebViewImpl::executeSavedCommandBySelector):
1720         (WebKit::WebViewImpl::executeEditCommandForSelector):
1721         (WebKit::menuItem):
1722         (WebKit::toolbarItem):
1723         (WebKit::WebViewImpl::validateUserInterfaceItem):
1724         (WebKit::WebViewImpl::setUserInterfaceItemState):
1725         (WebKit::WebViewImpl::browsingContextController):
1726         (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
1727         (WebKit::WebViewImpl::saveBackForwardSnapshotForItem):
1728         (WebKit::WebViewImpl::executeEditCommand): Deleted.
1729         Move UI validation and a grab-bag of other things.
1730
1731 2015-10-29  Alex Christensen  <achristensen@webkit.org>
1732
1733         Fix Mac CMake build
1734         https://bugs.webkit.org/show_bug.cgi?id=150686
1735
1736         Reviewed by Filip Pizlo.
1737
1738         * CMakeLists.txt:
1739         * PlatformMac.cmake:
1740
1741 2015-10-29  Commit Queue  <commit-queue@webkit.org>
1742
1743         Unreviewed, rolling out r191728.
1744         https://bugs.webkit.org/show_bug.cgi?id=150668
1745
1746         Caused a lot of timeouts in layout tests (Requested by KaL on
1747         #webkit).
1748
1749         Reverted changeset:
1750
1751         "[GTK] Use a persistent main loop source in RunLoop glib
1752         implementation"
1753         https://bugs.webkit.org/show_bug.cgi?id=150590
1754         http://trac.webkit.org/changeset/191728
1755
1756 2015-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1757
1758         [GTK] Use a persistent main loop source in RunLoop glib implementation
1759         https://bugs.webkit.org/show_bug.cgi?id=150590
1760
1761         Reviewed by Žan Doberšek.
1762
1763         Use RunLoop::dispatch() instead of
1764         GMainLoopSource::scheduleAndDeleteOnDestroy in a couple of simple
1765         cases.
1766
1767         * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
1768         (WebKit::NetworkCache::runTaskInQueue):
1769         * UIProcess/gtk/DragAndDropHandler.cpp:
1770         (WebKit::DragAndDropHandler::dragLeave):
1771
1772 2015-10-28  Tim Horton  <timothy_horton@apple.com>
1773
1774         Fix the build
1775
1776         * UIProcess/mac/PageClientImpl.mm:
1777         (WebKit::PageClientImpl::startWindowDrag):
1778         (WebKit::PageClientImpl::platformWindow):
1779
1780 2015-10-28  Tim Horton  <timothy_horton@apple.com>
1781
1782         WKView being inside WKWebView leads to weird API issues
1783         https://bugs.webkit.org/show_bug.cgi?id=150174
1784
1785         Reviewed by Anders Carlsson.
1786
1787         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
1788         (WKPageGetObjectRegistry):
1789         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
1790         (-[WKBrowsingContextController _remoteObjectRegistry]):
1791         * UIProcess/API/mac/WKView.mm:
1792         (-[WKView dealloc]):
1793         (-[WKView _inspectorAttachmentView]):
1794         (-[WKView _setInspectorAttachmentView:]):
1795         (-[WKView windowOcclusionDetectionEnabled]):
1796         (-[WKView setWindowOcclusionDetectionEnabled:]):
1797         (-[WKView _setTotalHeightOfBanners:]):
1798         (-[WKView _totalHeightOfBanners]):
1799         (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
1800         (-[WKView _remoteObjectRegistry]): Deleted.
1801         (-[WKView _startWindowDrag]): Deleted.
1802         * UIProcess/API/mac/WKViewInternal.h:
1803         * UIProcess/Cocoa/WebViewImpl.h:
1804         (WebKit::WebViewImpl::setWindowOcclusionDetectionEnabled):
1805         (WebKit::WebViewImpl::windowOcclusionDetectionEnabled):
1806         (WebKit::WebViewImpl::setTotalHeightOfBanners):
1807         (WebKit::WebViewImpl::totalHeightOfBanners):
1808         * UIProcess/Cocoa/WebViewImpl.mm:
1809         (WebKit::WebViewImpl::window):
1810         (WebKit::WebViewImpl::setInspectorAttachmentView):
1811         (WebKit::WebViewImpl::inspectorAttachmentView):
1812         (WebKit::WebViewImpl::remoteObjectRegistry):
1813         (WebKit::WebViewImpl::destroyRemoteObjectRegistry):
1814         * UIProcess/PageClient.h:
1815         * UIProcess/WebPageProxy.h:
1816         * UIProcess/mac/PageClientImpl.h:
1817         * UIProcess/mac/PageClientImpl.mm:
1818         (WebKit::PageClientImpl::isViewVisible):
1819         (WebKit::PageClientImpl::createColorPicker):
1820         (WebKit::PageClientImpl::startWindowDrag):
1821         (WebKit::PageClientImpl::platformWindow):
1822         (WebKit::PageClientImpl::inspectorAttachmentView):
1823         (WebKit::PageClientImpl::remoteObjectRegistry):
1824         * UIProcess/mac/WebInspectorProxyMac.mm:
1825         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1826         (WebKit::WebInspectorProxy::platformCanAttach):
1827         (WebKit::WebInspectorProxy::platformBringToFront):
1828         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1829         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
1830         (WebKit::WebInspectorProxy::platformInspectedWindowWidth):
1831         (WebKit::WebInspectorProxy::platformAttach):
1832         (WebKit::WebInspectorProxy::platformDetach):
1833         (WebKit::WebInspectorProxy::platformStartWindowDrag):
1834         * UIProcess/mac/WebPageProxyMac.mm:
1835         (WebKit::WebPageProxy::startWindowDrag):
1836         (WebKit::WebPageProxy::platformWindow):
1837         (WebKit::WebPageProxy::inspectorAttachmentView):
1838         (WebKit::WebPageProxy::remoteObjectRegistry):
1839         (WebKit::WebPageProxy::wkView): Deleted.
1840         Get rid of the wkView() getters on PageClientImpl and WebPageProxy, because
1841         those can't be a thing in the brave new world. Instead, plumb the four
1842         callers through PageClient to WebViewImpl.
1843
1844         Also, move a few more things (banners, window occlusion).
1845
1846 2015-10-27  Anders Carlsson  <andersca@apple.com>
1847
1848         Stub out more of the context menu SPI
1849         https://bugs.webkit.org/show_bug.cgi?id=150606
1850
1851         Reviewed by Dan Bernstein.
1852
1853         Add a delegate method that will allow the client to modify the menu. Also,
1854         add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.
1855
1856         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
1857         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
1858         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
1859         * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
1860         * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
1861         * UIProcess/Cocoa/UIDelegate.h:
1862         * UIProcess/Cocoa/UIDelegate.mm:
1863         (WebKit::UIDelegate::setDelegate):
1864         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
1865         (WebKit::UIDelegate::UIClient::createNewPage):
1866         * UIProcess/mac/WebContextMenuProxyMac.mm:
1867         (WebKit::WebContextMenuProxyMac::showContextMenu):
1868         * WebKit2.xcodeproj/project.pbxproj:
1869
1870 2015-10-28  Anders Carlsson  <andersca@apple.com>
1871
1872         Stop using ContextMenuItem::shareMenuItem in the UI process
1873         https://bugs.webkit.org/show_bug.cgi?id=150578
1874
1875         Reviewed by Tim Horton.
1876
1877         * UIProcess/mac/WebContextMenuProxyMac.h:
1878         * UIProcess/mac/WebContextMenuProxyMac.mm:
1879         (WebKit::WebContextMenuProxyMac::createShareMenuItem):
1880         (WebKit::WebContextMenuProxyMac::createContextMenuItem):
1881         (WebKit::WebContextMenuProxyMac::shareMenuItem): Deleted.
1882
1883 2015-10-28  Tim Horton  <timothy_horton@apple.com>
1884
1885         WKView being inside WKWebView leads to weird API issues
1886         https://bugs.webkit.org/show_bug.cgi?id=150174
1887
1888         Reviewed by Anders Carlsson.
1889
1890         * UIProcess/API/mac/WKView.mm:
1891         (-[WKView _superDoCommandBySelector:]):
1892         (-[WKView _createDrawingAreaProxy]): Deleted.
1893         (-[WKView _processDidExit]): Deleted.
1894         (-[WKView _pageClosed]): Deleted.
1895         (-[WKView _didRelaunchProcess]): Deleted.
1896         (-[WKView _convertToDeviceSpace:]): Deleted.
1897         (-[WKView _convertToUserSpace:]): Deleted.
1898         (-[WKView _executeSavedCommandBySelector:]): Deleted.
1899         (-[WKResponderChainSink initWithResponderChain:]): Deleted.
1900         (-[WKResponderChainSink detach]): Deleted.
1901         (-[WKResponderChainSink didReceiveUnhandledCommand]): Deleted.
1902         (-[WKResponderChainSink noResponderFor:]): Deleted.
1903         (-[WKResponderChainSink doCommandBySelector:]): Deleted.
1904         (-[WKResponderChainSink tryToPerform:with:]): Deleted.
1905         * UIProcess/API/mac/WKViewInternal.h:
1906         * UIProcess/Cocoa/WebViewImpl.h:
1907         * UIProcess/Cocoa/WebViewImpl.mm:
1908         (-[WKResponderChainSink initWithResponderChain:]):
1909         (-[WKResponderChainSink detach]):
1910         (-[WKResponderChainSink didReceiveUnhandledCommand]):
1911         (-[WKResponderChainSink noResponderFor:]):
1912         (-[WKResponderChainSink doCommandBySelector:]):
1913         (-[WKResponderChainSink tryToPerform:with:]):
1914         (WebKit::WebViewImpl::createDrawingAreaProxy):
1915         (WebKit::WebViewImpl::processDidExit):
1916         (WebKit::WebViewImpl::pageClosed):
1917         (WebKit::WebViewImpl::didRelaunchProcess):
1918         (WebKit::WebViewImpl::executeSavedCommandBySelector):
1919         (WebKit::WebViewImpl::resetGestureController): Deleted.
1920         * UIProcess/mac/PageClientImpl.mm:
1921         (WebKit::PageClientImpl::createDrawingAreaProxy):
1922         (WebKit::PageClientImpl::processDidExit):
1923         (WebKit::PageClientImpl::pageClosed):
1924         (WebKit::PageClientImpl::didRelaunchProcess):
1925         (WebKit::PageClientImpl::convertToDeviceSpace):
1926         (WebKit::PageClientImpl::convertToUserSpace):
1927         (WebKit::PageClientImpl::executeSavedCommandBySelector):
1928         Move most of the rest of WKViewInternal.h's methods to WebViewImpl.
1929
1930 2015-10-28  Alex Christensen  <achristensen@webkit.org>
1931
1932         Compile and link with CMake on Mac
1933         https://bugs.webkit.org/show_bug.cgi?id=150632
1934
1935         Reviewed by Tim Horton.
1936
1937         * CMakeLists.txt:
1938         * PlatformEfl.cmake:
1939         * PlatformGTK.cmake:
1940         * PlatformMac.cmake:
1941
1942 2015-10-27  Anders Carlsson  <andersca@apple.com>
1943
1944         Stub out more of the context menu SPI
1945         https://bugs.webkit.org/show_bug.cgi?id=150606
1946
1947         Reviewed by Dan Bernstein.
1948
1949         Add a delegate method that will allow the client to modify the menu. Also,
1950         add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.
1951
1952         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
1953         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
1954         * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
1955         * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
1956         * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
1957         * UIProcess/Cocoa/UIDelegate.h:
1958         * UIProcess/Cocoa/UIDelegate.mm:
1959         (WebKit::UIDelegate::setDelegate):
1960         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
1961         (WebKit::UIDelegate::UIClient::createNewPage):
1962         * UIProcess/mac/WebContextMenuProxyMac.mm:
1963         (WebKit::WebContextMenuProxyMac::showContextMenu):
1964         * WebKit2.xcodeproj/project.pbxproj:
1965
1966 2015-10-28  Chris Dumez  <cdumez@apple.com>
1967
1968         Use RunLoopTimer in DataURLDecoder to avoid issues related to runloops
1969         https://bugs.webkit.org/show_bug.cgi?id=150609
1970         <rdar://problem/22702894>
1971
1972         Reviewed by Antti Koivisto.
1973
1974         Move addSchedulePair() call to Page::platformInitialize() so that
1975         RunLoopTimer can be used by any Page, even those that don't have
1976         a WebPage wrapper.
1977
1978         * WebProcess/WebPage/mac/WebPageMac.mm:
1979         (WebKit::WebPage::platformInitialize): Deleted.
1980
1981 2015-10-27  Tim Horton  <timothy_horton@apple.com>
1982
1983         Fix the 32-bit build.
1984
1985         * UIProcess/Cocoa/WebViewImpl.mm:
1986         (WebKit::WebViewImpl::dragImageForView):
1987
1988 2015-10-27  Tim Horton  <timothy_horton@apple.com>
1989
1990         Fix the build.
1991
1992         * UIProcess/Cocoa/WebViewImpl.mm:
1993
1994 2015-10-27  Tim Horton  <timothy_horton@apple.com>
1995
1996         WKView being inside WKWebView leads to weird API issues
1997         https://bugs.webkit.org/show_bug.cgi?id=150174
1998
1999         Reviewed by Anders Carlsson.
2000
2001         * UIProcess/API/mac/WKView.mm:
2002         (-[WKView mouseDown:]):
2003         (-[WKView mouseUp:]):
2004         (-[WKView acceptsFirstMouse:]):
2005         (-[WKView shouldDelayWindowOrderingForEvent:]):
2006         (-[WKView pasteboardChangedOwner:]):
2007         (-[WKView pasteboard:provideDataForType:]):
2008         (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
2009         (-[WKView _startWindowDrag]):
2010         (-[WKView _setMouseDownEvent:]): Deleted.
2011         (-[WKView _colorSpace]): Deleted.
2012         (-[WKView _dragImageForView:withImage:at:linkDrag:]): Deleted.
2013         (matchesExtensionOrEquivalent): Deleted.
2014         (-[WKView _setFileAndURLTypes:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
2015         (-[WKView _setPromisedDataForImage:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Deleted.
2016         (-[WKView _setPromisedDataForAttachment:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
2017         (fileExists): Deleted.
2018         (pathWithUniqueFilenameForPath): Deleted.
2019         (-[WKView spellCheckerDocumentTag]): Deleted.
2020         (-[WKView handleAcceptedAlternativeText:]): Deleted.
2021         (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
2022         * UIProcess/API/mac/WKViewInternal.h:
2023         * UIProcess/Cocoa/WebViewImpl.h:
2024         * UIProcess/Cocoa/WebViewImpl.mm:
2025         (WebKit::WebViewImpl::handleAcceptedAlternativeText):
2026         (WebKit::WebViewImpl::spellCheckerDocumentTag):
2027         (WebKit::WebViewImpl::startWindowDrag):
2028         (WebKit::WebViewImpl::dragImageForView):
2029         (WebKit::matchesExtensionOrEquivalent):
2030         (WebKit::WebViewImpl::setFileAndURLTypes):
2031         (WebKit::WebViewImpl::setPromisedDataForImage):
2032         (WebKit::WebViewImpl::setPromisedDataForAttachment):
2033         (WebKit::WebViewImpl::pasteboardChangedOwner):
2034         (WebKit::WebViewImpl::provideDataForPasteboard):
2035         (WebKit::fileExists):
2036         (WebKit::pathWithUniqueFilenameForPath):
2037         (WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):
2038         (WebKit::WebViewImpl::setLastMouseDownEvent):
2039         * UIProcess/mac/CorrectionPanel.h:
2040         * UIProcess/mac/CorrectionPanel.mm:
2041         (WebKit::CorrectionPanel::show):
2042         (WebKit::CorrectionPanel::recordAutocorrectionResponse):
2043         (WebKit::CorrectionPanel::handleAcceptedReplacement):
2044         * UIProcess/mac/PageClientImpl.mm:
2045         (WebKit::PageClientImpl::colorSpace):
2046         (WebKit::PageClientImpl::setDragImage):
2047         (WebKit::PageClientImpl::setPromisedDataForImage):
2048         (WebKit::PageClientImpl::setPromisedDataForAttachment):
2049         (WebKit::PageClientImpl::showCorrectionPanel):
2050         (WebKit::PageClientImpl::recordAutocorrectionResponse):
2051         (WebKit::PageClientImpl::showDictationAlternativeUI):
2052         Move some pasteboard and spellcheck code.
2053
2054 2015-10-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2055
2056         Implement viewport-width-based fast-click heuristic
2057         https://bugs.webkit.org/show_bug.cgi?id=150604
2058         <rdar://problem/23267308>
2059
2060         Reviewed by Simon Fraser.
2061
2062         Implement a new fast-click heuristic that applies to viewports with width = device-width. The basic rules are
2063         as follows: when a page has viewport width = device-width and is at initial zoom scale, we disable double-tapping
2064         in favor of fast-clicking. However, if the viewport scale is not the initial scale, we allow double tapping. For
2065         fast-clicking to remain useful after the user pinch-zooms, we change our double-tap to zoom out behavior to zoom
2066         to the initial scale rather than the minimum scale. For unscalable viewports, we default to fast-clicking behavior,
2067         and for all other viewports not at device-width, we double-tap to zoom and scroll as normal.
2068
2069         This patch removes some logic previously used for our scroll- and zoom-based fast-clicking heuristic, and adds
2070         information about the viewport width and initial scale to RemoteLayerTreeTransactions. This information is then
2071         used by the UI process to determine whether double tapping should be disabled or enabled.
2072
2073         The fast-click heuristic can be turned off through user default preferences, and a tap highlight for debugging
2074         fast-clicking can also be enabled through a user default preference. A red highlight indicates that a single-
2075         tap was slow, whereas a green highlight indicates a fast single-tap.
2076
2077         * Shared/mac/RemoteLayerTreeTransaction.h:
2078         (WebKit::RemoteLayerTreeTransaction::initialScaleFactor):
2079         (WebKit::RemoteLayerTreeTransaction::setInitialScaleFactor):
2080         (WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidth):
2081         (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidth):
2082         * Shared/mac/RemoteLayerTreeTransaction.mm:
2083         (WebKit::RemoteLayerTreeTransaction::encode):
2084         (WebKit::RemoteLayerTreeTransaction::decode):
2085         * UIProcess/API/Cocoa/WKWebView.mm:
2086         (-[WKWebView initWithFrame:configuration:]):
2087         (-[WKWebView _processDidExit]):
2088         (-[WKWebView _didCommitLayerTree:]):
2089         (-[WKWebView _zoomToInitialScaleWithOrigin:animated:]):
2090         (-[WKWebView _allowsDoubleTapGestures]):
2091         (-[WKWebView _setViewportMetaTagWidth:]): Deleted.
2092         (-[WKWebView _contentZoomScale]): Deleted.
2093         (-[WKWebView _viewportMetaTagWidth]): Deleted.
2094         (-[WKWebView _viewportIsUserScalable]): Deleted.
2095         * UIProcess/API/Cocoa/WKWebViewInternal.h:
2096         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2097         * UIProcess/PageClient.h:
2098         * UIProcess/WebPageProxy.h:
2099         * UIProcess/WebPageProxy.messages.in:
2100         * UIProcess/ios/PageClientImplIOS.h:
2101         * UIProcess/ios/PageClientImplIOS.mm:
2102         (WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary):
2103         (WebKit::PageClientImpl::didChangeViewportMetaTagWidth): Deleted.
2104         (WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
2105         * UIProcess/ios/SmartMagnificationController.h:
2106         * UIProcess/ios/SmartMagnificationController.mm:
2107         (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
2108         * UIProcess/ios/WKContentView.h:
2109         * UIProcess/ios/WKContentView.mm:
2110         (-[WKContentView _zoomToInitialScaleWithOrigin:]):
2111         * UIProcess/ios/WKContentViewInteraction.h:
2112         * UIProcess/ios/WKContentViewInteraction.mm:
2113         (-[WKContentView setupInteraction]):
2114         (-[WKContentView _showTapHighlight]):
2115         (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
2116         (-[WKContentView _mayDisableDoubleTapGesturesDuringSingleTap]):
2117         (-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]):
2118         (-[WKContentView _finishInteraction]):
2119         (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
2120         (-[WKContentView _tapHighlightColorForFastClick:]):
2121         (-[WKContentView _setDoubleTapGesturesEnabled:]):
2122         (-[WKContentView _fastClickZoomThreshold]): Deleted.
2123         (-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]): Deleted.
2124         (-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]): Deleted.
2125         * UIProcess/ios/WebPageProxyIOS.mm:
2126         (WebKit::WebPageProxy::disableDoubleTapGesturesDuringTapIfNecessary):
2127         (WebKit::WebPageProxy::viewportMetaTagWidthDidChange): Deleted.
2128         (WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
2129         * WebProcess/WebPage/ViewGestureGeometryCollector.h:
2130         * WebProcess/WebPage/WebPage.cpp:
2131         (WebKit::WebPage::willCommitLayerTree):
2132         * WebProcess/WebPage/ios/WebPageIOS.mm:
2133         (WebKit::WebPage::potentialTapAtPosition):
2134         (WebKit::WebPage::viewportPropertiesDidChange): Deleted.
2135
2136 2015-10-27  Tim Horton  <timothy_horton@apple.com>
2137
2138         WKView being inside WKWebView leads to weird API issues
2139         https://bugs.webkit.org/show_bug.cgi?id=150174
2140
2141         Reviewed by Anders Carlsson.
2142
2143         * UIProcess/API/mac/WKView.mm:
2144         (-[WKView _superAccessibilityAttributeValue:]):
2145         (-[WKView accessibilityFocusedUIElement]):
2146         (-[WKView accessibilityIsIgnored]):
2147         (-[WKView accessibilityHitTest:]):
2148         (-[WKView accessibilityAttributeValue:]):
2149         (-[WKView _processDidExit]):
2150         (-[WKView _pageClosed]):
2151         (-[WKView _updateRemoteAccessibilityRegistration:]): Deleted.
2152         (-[WKView enableAccessibilityIfNecessary]): Deleted.
2153         (-[WKView _toolTipChangedFrom:to:]): Deleted.
2154         (-[WKView _setAccessibilityWebProcessToken:]): Deleted.
2155         (-[WKView _hasFullScreenWindowController]): Deleted.
2156         (-[WKView _fullScreenWindowController]): Deleted.
2157         (-[WKView _closeFullScreenWindowController]): Deleted.
2158         (-[WKView _setSuppressVisibilityUpdates:]): Deleted.
2159         (-[WKView _suppressVisibilityUpdates]): Deleted.
2160         (-[WKView _primaryTrackingArea]): Deleted.
2161         (-[WKView _setPrimaryTrackingArea:]): Deleted.
2162         (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
2163         * UIProcess/API/mac/WKViewInternal.h:
2164         * UIProcess/Cocoa/WebViewImpl.h:
2165         (WebKit::WebViewImpl::accessibilityIsIgnored):
2166         (WebKit::WebViewImpl::primaryTrackingArea):
2167         * UIProcess/Cocoa/WebViewImpl.mm:
2168         (WebKit::trackingAreaOptions):
2169         (WebKit::WebViewImpl::WebViewImpl):
2170         (WebKit::WebViewImpl::setAccessibilityWebProcessToken):
2171         (WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
2172         (WebKit::WebViewImpl::accessibilityFocusedUIElement):
2173         (WebKit::WebViewImpl::accessibilityHitTest):
2174         (WebKit::WebViewImpl::enableAccessibilityIfNecessary):
2175         (WebKit::WebViewImpl::accessibilityAttributeValue):
2176         (WebKit::WebViewImpl::setPrimaryTrackingArea):
2177         (WebKit::WebViewImpl::toolTipChanged):
2178         * UIProcess/mac/PageClientImpl.mm:
2179         (WebKit::PageClientImpl::toolTipChanged):
2180         (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
2181         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
2182         (WebKit::PageClientImpl::closeFullScreenManager):
2183         (WebKit::PageClientImpl::isFullScreen):
2184         (WebKit::PageClientImpl::enterFullScreen):
2185         (WebKit::PageClientImpl::exitFullScreen):
2186         (WebKit::PageClientImpl::beganEnterFullScreen):
2187         (WebKit::PageClientImpl::beganExitFullScreen):
2188         Move accessibility code, and fold in some internal-only methods.
2189
2190 2015-10-27  Tim Horton  <timothy_horton@apple.com>
2191
2192         WKView being inside WKWebView leads to weird API issues
2193         https://bugs.webkit.org/show_bug.cgi?id=150174
2194
2195         Reviewed by Anders Carlsson.
2196
2197         * UIProcess/API/mac/WKView.mm:
2198         (-[WKView scrollWheel:]):
2199         (-[WKView swipeWithEvent:]):
2200         (-[WKView _superSwipeWithEvent:]):
2201         (-[WKView _superMagnifyWithEvent:]):
2202         (-[WKView _superSmartMagnifyWithEvent:]):
2203         (-[WKView _processDidExit]):
2204         (-[WKView setAllowsBackForwardNavigationGestures:]):
2205         (-[WKView allowsBackForwardNavigationGestures]):
2206         (-[WKView setAllowsMagnification:]):
2207         (-[WKView allowsMagnification]):
2208         (-[WKView magnifyWithEvent:]):
2209         (-[WKView rotateWithEvent:]):
2210         (-[WKView _gestureEventWasNotHandledByWebCore:]):
2211         (-[WKView smartMagnifyWithEvent:]):
2212         (-[WKView setMagnification:centeredAtPoint:]):
2213         (-[WKView setMagnification:]):
2214         (-[WKView magnification]):
2215         (-[WKView _setCustomSwipeViews:]):
2216         (-[WKView _setCustomSwipeViewsTopContentInset:]):
2217         (-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
2218         (-[WKView _setDidMoveSwipeSnapshotCallback:]):
2219         (-[WKView _ensureGestureController]): Deleted.
2220         (takeWindowSnapshot): Deleted.
2221         (-[WKView _takeViewSnapshot]): Deleted.
2222         (-[WKView _wheelEventWasNotHandledByWebCore:]): Deleted.
2223         (-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]): Deleted.
2224         (-[WKView _didFinishLoadForMainFrame]): Deleted.
2225         (-[WKView _didFailLoadForMainFrame]): Deleted.
2226         (-[WKView _didSameDocumentNavigationForMainFrame:]): Deleted.
2227         (-[WKView _removeNavigationGestureSnapshot]): Deleted.
2228         * UIProcess/API/mac/WKViewInternal.h:
2229         * UIProcess/Cocoa/WebViewImpl.h:
2230         (WebKit::WebViewImpl::gestureController):
2231         (WebKit::WebViewImpl::allowsBackForwardNavigationGestures):
2232         (WebKit::WebViewImpl::allowsMagnification):
2233         * UIProcess/Cocoa/WebViewImpl.mm:
2234         (WebKit::takeWindowSnapshot):
2235         (WebKit::WebViewImpl::takeViewSnapshot):
2236         (WebKit::WebViewImpl::ensureGestureController):
2237         (WebKit::WebViewImpl::resetGestureController):
2238         (WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
2239         (WebKit::WebViewImpl::setAllowsMagnification):
2240         (WebKit::WebViewImpl::setMagnification):
2241         (WebKit::WebViewImpl::magnification):
2242         (WebKit::WebViewImpl::setCustomSwipeViews):
2243         (WebKit::WebViewImpl::setCustomSwipeViewsTopContentInset):
2244         (WebKit::WebViewImpl::tryToSwipeWithEvent):
2245         (WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
2246         (WebKit::WebViewImpl::scrollWheel):
2247         (WebKit::WebViewImpl::swipeWithEvent):
2248         (WebKit::WebViewImpl::magnifyWithEvent):
2249         (WebKit::WebViewImpl::smartMagnifyWithEvent):
2250         (WebKit::WebViewImpl::rotateWithEvent):
2251         (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
2252         (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):
2253         * UIProcess/mac/PageClientImpl.mm:
2254         (WebKit::PageClientImpl::takeViewSnapshot):
2255         (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
2256         (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
2257         (WebKit::PageClientImpl::didFinishLoadForMainFrame):
2258         (WebKit::PageClientImpl::didFailLoadForMainFrame):
2259         (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
2260         (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
2261         Move swipe, zoom, rotate, and snapshotting code.
2262
2263 2015-10-27  Zhuo Li  <zachli@apple.com>
2264
2265         Add WebKit API to clear data type Search Field Recent Searches.
2266         https://bugs.webkit.org/show_bug.cgi?id=150019.
2267
2268         Reviewed by Anders Carlsson.
2269
2270         * Shared/WebsiteData/WebsiteDataTypes.h: Add data type Search Field Recent Searches.
2271         * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
2272         (dataTypesToString): Ditto.
2273         * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
2274         (WebKit::toWebsiteDataTypes): Ditto.
2275         (WebKit::toWKWebsiteDataTypes): Ditto.
2276         * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: Ditto.
2277         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2278         (WebKit::WebsiteDataStore::removeData): Handle the case when data type is Search
2279         Field Recent Searches.
2280         * UIProcess/WebsiteData/WebsiteDataStore.h: Add a private function for removing
2281         recent searches based on time.
2282         * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
2283         (WebKit::WebsiteDataStoreCocoa::platformRemoveRecentSearches): Call the removing
2284         recent searches logic in WebCore.
2285         * UIProcess/efl/WebPageProxyEfl.cpp:
2286         (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.
2287         * UIProcess/gtk/WebPageProxyGtk.cpp:
2288         (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.
2289
2290 2015-10-26  Brady Eidson  <beidson@apple.com>
2291
2292         Make IDBKeyData from a struct to a class.
2293         https://bugs.webkit.org/show_bug.cgi?id=150576
2294
2295         Reviewed by Alex Christensen.
2296
2297         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2298         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2299         * DatabaseProcess/IndexedDB/IDBSerialization.h:
2300         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2301         (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
2302         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2303         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2304         * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
2305         (WebKit::buildIndexStatement):
2306         (WebKit::buildObjectStoreStatement):
2307         (WebKit::SQLiteIDBCursor::establishStatement):
2308         (WebKit::SQLiteIDBCursor::createSQLiteStatement):
2309         (WebKit::SQLiteIDBCursor::resetAndRebindStatement):
2310         (WebKit::SQLiteIDBCursor::iterate):
2311         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2312         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
2313         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2314         (WebKit::WebIDBServerConnection::didPutRecord):
2315         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2316         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2317
2318 2015-10-26  Philip Chimento  <philip.chimento@gmail.com>
2319
2320         [GTK] [Stable] InstallMissingMediaPluginsPermissionRequest not defined when building without GStreamer
2321         https://bugs.webkit.org/show_bug.cgi?id=148607
2322
2323         Unreviewed, build fix.
2324
2325         * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h:
2326         Add a stub for the InstallMissingMediaPluginsPermissionRequest class
2327         for the case when video is disabled or not using GStreamer. It's OK
2328         that this class does nothing, because the associated C API contains
2329         an assert_not_reached if video is disabled. We just need to define
2330         the symbol so that the function signature will compile.
2331
2332 2015-10-26  Anders Carlsson  <andersca@apple.com>
2333
2334         Pipe custom context menu handling through to the UIDelegate object
2335         https://bugs.webkit.org/show_bug.cgi?id=150572
2336
2337         Reviewed by Tim Horton.
2338
2339         * UIProcess/API/APIContextMenuClient.h:
2340         (API::ContextMenuClient::menuFromProposedMenu):
2341         * UIProcess/API/Cocoa/WKWebView.mm:
2342         (-[WKWebView setUIDelegate:]):
2343         * UIProcess/Cocoa/UIDelegate.h:
2344         * UIProcess/Cocoa/UIDelegate.mm:
2345         (WebKit::UIDelegate::createContextMenuClient):
2346         (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
2347         (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
2348         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
2349         * UIProcess/mac/WebContextMenuProxyMac.mm:
2350         (WebKit::WebContextMenuProxyMac::showContextMenu):
2351
2352 2015-10-26  Tim Horton  <timothy_horton@apple.com>
2353
2354         WKView being inside WKWebView leads to weird API issues
2355         https://bugs.webkit.org/show_bug.cgi?id=150174
2356
2357         Reviewed by Anders Carlsson.
2358
2359         * UIProcess/API/mac/WKView.mm:
2360         (-[WKView mouseDown:]):
2361         (-[WKView mouseDragged:]):
2362         (-[WKView draggedImage:endedAt:operation:]):
2363         (-[WKView draggingEntered:]):
2364         (-[WKView draggingUpdated:]):
2365         (-[WKView draggingExited:]):
2366         (-[WKView prepareForDragOperation:]):
2367         (-[WKView performDragOperation:]):
2368         (-[WKView _hitTest:dragTypes:]):
2369         (-[WKView initWithFrame:processPool:configuration:webView:]):
2370         (-[WKView applicationFlags:]): Deleted.
2371         (maybeCreateSandboxExtensionFromPasteboard): Deleted.
2372         (createSandboxExtensionsForFileUpload): Deleted.
2373         (-[WKView _registerDraggedTypes]): Deleted.
2374         * UIProcess/Cocoa/WebViewImpl.h:
2375         (WebKit::WebViewImpl::ignoresMouseDraggedEvents):
2376         * UIProcess/Cocoa/WebViewImpl.mm:
2377         (WebKit::WebViewImpl::setIgnoresMouseDraggedEvents):
2378         (WebKit::WebViewImpl::draggedImage):
2379         (WebKit::applicationFlagsForDrag):
2380         (WebKit::WebViewImpl::draggingEntered):
2381         (WebKit::WebViewImpl::draggingUpdated):
2382         (WebKit::WebViewImpl::draggingExited):
2383         (WebKit::WebViewImpl::prepareForDragOperation):
2384         (WebKit::maybeCreateSandboxExtensionFromPasteboard):
2385         (WebKit::createSandboxExtensionsForFileUpload):
2386         (WebKit::WebViewImpl::performDragOperation):
2387         (WebKit::WebViewImpl::hitTestForDragTypes):
2388         (WebKit::WebViewImpl::registerDraggedTypes):
2389         Move some drag-related things to WebViewImpl.
2390
2391 2015-10-26  Anders Carlsson  <andersca@apple.com>
2392
2393         Pipe custom context menu handling through to the UIDelegate object
2394         https://bugs.webkit.org/show_bug.cgi?id=150572
2395
2396         Reviewed by Tim Horton.
2397
2398         * UIProcess/API/APIContextMenuClient.h:
2399         (API::ContextMenuClient::menuFromProposedMenu):
2400         * UIProcess/API/Cocoa/WKWebView.mm:
2401         (-[WKWebView setUIDelegate:]):
2402         * UIProcess/Cocoa/UIDelegate.h:
2403         * UIProcess/Cocoa/UIDelegate.mm:
2404         (WebKit::UIDelegate::createContextMenuClient):
2405         (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
2406         (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
2407         (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
2408         * UIProcess/mac/WebContextMenuProxyMac.mm:
2409         (WebKit::WebContextMenuProxyMac::showContextMenu):
2410
2411 2015-10-26  Alex Christensen  <achristensen@webkit.org>
2412
2413         Build fix when using NETWORK_SESSION after r191457.
2414
2415         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2416         (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
2417         Use resourceResponse.
2418
2419 2015-10-26  Anders Carlsson  <andersca@apple.com>
2420
2421         Remove more dead context menu code
2422         https://bugs.webkit.org/show_bug.cgi?id=150569
2423
2424         Reviewed by Tim Horton.
2425
2426         * UIProcess/API/APIContextMenuClient.h:
2427         (API::ContextMenuClient::contextMenuDismissed): Deleted.
2428         * UIProcess/API/C/WKPage.cpp:
2429         (WKPageSetPageContextMenuClient): Deleted.
2430
2431 2015-10-26  Anders Carlsson  <andersca@apple.com>
2432
2433         Remove dead context menu code
2434         https://bugs.webkit.org/show_bug.cgi?id=150567
2435
2436         Reviewed by Tim Horton.
2437
2438         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2439         (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Deleted.
2440         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2441
2442 2015-10-26  Tim Horton  <timothy_horton@apple.com>
2443
2444         Don't expose the whitelist/blacklist in _WKUserStyleSheet
2445         https://bugs.webkit.org/show_bug.cgi?id=150566
2446
2447         Reviewed by Anders Carlsson.
2448
2449         * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
2450         * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
2451         (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
2452         (toWTFStrings): Deleted.
2453         (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]): Deleted.
2454         (-[_WKUserStyleSheet whitelistedURLPatterns]): Deleted.
2455         (-[_WKUserStyleSheet blacklistedURLPatterns]): Deleted.
2456
2457 2015-10-25  Carlos Garcia Campos  <cgarcia@igalia.com>
2458
2459         Unreviewed. Fix GTK+ build after r191543.
2460
2461         * UIProcess/API/gtk/WebKitWebView.cpp:
2462         (webkit_web_view_run_javascript):
2463         (resourcesStreamReadCallback):
2464
2465 2015-10-24  Tim Horton  <timothy_horton@apple.com>
2466
2467         Add a way to add user style sheets to WKUserContentController
2468         https://bugs.webkit.org/show_bug.cgi?id=150531
2469         <rdar://problem/23191691>
2470
2471         Reviewed by Darin Adler.
2472
2473         * Shared/API/APIObject.h:
2474         * Shared/Cocoa/APIObject.mm:
2475         (API::Object::newObject):
2476         Boilerplate for a new API::UserStyleSheet.
2477
2478         * UIProcess/API/APIUserStyleSheet.cpp: Added.
2479         (API::generateIdentifier):
2480         (API::UserStyleSheet::generateUniqueURL):
2481         * UIProcess/API/APIUserStyleSheet.h: Added.
2482         Added API::UserStyleSheet, borrowing URL generation code from API::UserScript.
2483
2484         * UIProcess/API/Cocoa/WKUserContentController.mm:
2485         (-[WKUserContentController _addUserStyleSheet:]):
2486         (-[WKUserContentController _removeAllUserStyleSheets]):
2487         Forward add and remove-all to WebUserContentControllerProxy.
2488
2489         * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
2490         * UIProcess/API/Cocoa/_WKUserStyleSheet.h: Added.
2491         * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: Added.
2492         (toWTFStrings):
2493         (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]):
2494         (-[_WKUserStyleSheet source]):
2495         (-[_WKUserStyleSheet isForMainFrameOnly]):
2496         (-[_WKUserStyleSheet copyWithZone:]):
2497         (-[_WKUserStyleSheet _apiObject]):
2498         * UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h: Added.
2499         (API::wrapper):
2500         * WebKit2.xcodeproj/project.pbxproj:
2501         Add the new modern API object (as SPI for now).
2502
2503 2015-10-24  Tim Horton  <timothy_horton@apple.com>
2504
2505         Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors
2506         https://bugs.webkit.org/show_bug.cgi?id=150525
2507
2508         Reviewed by Darin Adler.
2509
2510         * Scripts/webkit/messages.py:
2511         (headers_for_type):
2512         * Shared/WebCoreArgumentCoders.cpp:
2513         (IPC::ArgumentCoder<ExceptionDetails>::encode):
2514         (IPC::ArgumentCoder<ExceptionDetails>::decode):
2515         * Shared/WebCoreArgumentCoders.h:
2516         Learn how to en/decode ExceptionDetails.
2517
2518         * UIProcess/API/C/WKPage.cpp:
2519         (WKPageRunJavaScriptInMainFrame):
2520         * UIProcess/WebPageProxy.cpp:
2521         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
2522         (WebKit::WebPageProxy::scriptValueCallback):
2523         * UIProcess/WebPageProxy.h:
2524         * UIProcess/WebPageProxy.messages.in:
2525         * WebProcess/WebPage/WebPage.cpp:
2526         (WebKit::WebPage::runJavaScriptInMainFrame):
2527         Plumb ExceptionDetails back through runJavaScriptInMainFrame, across the
2528         process boundary.
2529
2530         * UIProcess/API/Cocoa/WKError.mm:
2531         (localizedDescriptionForErrorCode):
2532         * UIProcess/API/Cocoa/WKErrorInternal.h:
2533         * UIProcess/API/Cocoa/WKErrorPrivate.h:
2534         Expose localizedDescriptionForErrorCode so that WKWebView can do special
2535         things with its error.
2536         Add new private userInfo keys for exception info.
2537
2538         * UIProcess/API/Cocoa/WKWebView.mm:
2539         (-[WKWebView evaluateJavaScript:completionHandler:]):
2540         Fill in the NSError userInfo with the exception info.
2541
2542 2015-10-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2543
2544         [EFL] Fix a wrong enum variable use
2545         https://bugs.webkit.org/show_bug.cgi?id=150522
2546
2547         Reviewed by Csaba Osztrogonác.
2548
2549         * UIProcess/API/efl/EwkView.cpp:
2550         (EwkView::requestPopupMenu):
2551         Use kWKPopupItemTextDirectionLTR instead of EWK_TEXT_DIRECTION_LEFT_TO_RIGHT.
2552
2553 2015-10-24  Dan Bernstein  <mitz@apple.com>
2554
2555         [Cocoa] _WKFormInputSession should provide access to the focused element info
2556         https://bugs.webkit.org/show_bug.cgi?id=150512
2557
2558         Reviewed by Tim Horton.
2559
2560         * UIProcess/API/Cocoa/_WKFormInputSession.h: Added focusedElementInfo property to the
2561           protocol.
2562
2563         * UIProcess/ios/WKContentViewInteraction.mm:
2564         (-[WKFormInputSession initWithContentView:focusedElementInfo:userObject:]): Added the
2565           focusedElementInfo argument, used to initialize a new ivar.
2566         (-[WKFormInputSession focusedElementInfo]): Added this getter for the new
2567           _WKFormInputSession property.
2568         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
2569           Create the WKFocusedElementInfo unconditionally and pass it to the new WKFormInputSession
2570           initializer.
2571
2572 2015-10-24  Dan Bernstein  <mitz@apple.com>
2573
2574         [iOS] Allow clients to specify a custom input view to be used for a form input session
2575         https://bugs.webkit.org/show_bug.cgi?id=150395
2576
2577         Reviewed by Tim Horton.
2578
2579         * UIProcess/API/Cocoa/_WKFormInputSession.h: Added customInputView property to the protocol.
2580
2581         * UIProcess/ios/WKContentViewInteraction.mm:
2582         (-[WKFormInputSession customInputView]): Added this getter.
2583         (-[WKFormInputSession setCustomInputView:]): Added this setter, which reloads the input
2584           views when the custom input view changes.
2585         (-[WKContentView inputView]): Changed to return the custom view from the input session if
2586           there is one.
2587
2588 2015-10-23  Alex Christensen  <achristensen@webkit.org>
2589
2590         Fix CMake compile error and add correct null check
2591         https://bugs.webkit.org/show_bug.cgi?id=150520
2592
2593         Reviewed by Simon Fraser.
2594
2595         * UIProcess/API/Cocoa/WKWebView.mm:
2596         (-[WKWebView _doAfterNextPresentationUpdate:]):
2597
2598 2015-10-23  Alex Christensen  <achristensen@webkit.org>
2599
2600         Progress towards CMake on Mac
2601         https://bugs.webkit.org/show_bug.cgi?id=150517
2602
2603         Reviewed by Tim Horton.
2604
2605         * CMakeLists.txt:
2606         * PlatformEfl.cmake:
2607         * PlatformGTK.cmake:
2608         * PlatformMac.cmake:
2609         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Removed.
2610         * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed.
2611
2612 2015-10-23  Tim Horton  <timothy_horton@apple.com>
2613
2614         WKView being inside WKWebView leads to weird API issues
2615         https://bugs.webkit.org/show_bug.cgi?id=150174
2616
2617         * UIProcess/Cocoa/WebViewImpl.h:
2618         Whoops.
2619
2620 2015-10-23  Tim Horton  <timothy_horton@apple.com>
2621
2622         WKView being inside WKWebView leads to weird API issues
2623         https://bugs.webkit.org/show_bug.cgi?id=150174
2624
2625         Reviewed by Anders Carlsson.
2626
2627         * UIProcess/API/mac/WKView.mm:
2628         (-[WKView hitTest:]):
2629         (-[WKView _processDidExit]):
2630         (-[WKView _setThumbnailView:]):
2631         (-[WKView _thumbnailView]):
2632         (-[WKFlippedView isFlipped]): Deleted.
2633         (-[WKView dealloc]): Deleted.
2634         (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
2635         (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
2636         (-[WKView _updateThumbnailViewLayer]): Deleted.
2637         (-[WKView _reparentLayerTreeInThumbnailView]): Deleted.
2638         * UIProcess/API/mac/WKViewInternal.h:
2639         * UIProcess/Cocoa/WebViewImpl.h:
2640         (WebKit::WebViewImpl::acceleratedCompositingRootLayer):
2641         (WebKit::WebViewImpl::layerHostingView):
2642         (WebKit::WebViewImpl::thumbnailView):
2643         * UIProcess/Cocoa/WebViewImpl.mm:
2644         (-[WKFlippedView isFlipped]):
2645         (WebKit::WebViewImpl::~WebViewImpl):
2646         (WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
2647         (WebKit::WebViewImpl::setThumbnailView):
2648         (WebKit::WebViewImpl::reparentLayerTreeInThumbnailView):
2649         (WebKit::WebViewImpl::updateThumbnailViewLayer):
2650         * UIProcess/mac/PageClientImpl.mm:
2651         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
2652         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
2653         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
2654         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
2655         (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
2656         Move accelerated compositing and thumbnail view code.
2657
2658 2015-10-23  Tim Horton  <timothy_horton@apple.com>
2659
2660         WKView being inside WKWebView leads to weird API issues
2661         https://bugs.webkit.org/show_bug.cgi?id=150174
2662
2663         Reviewed by Anders Carlsson.
2664
2665         * UIProcess/API/mac/WKView.mm:
2666         (-[WKView _superRemoveTrackingRect:]):
2667         (-[WKView addTrackingRect:owner:userData:assumeInside:]):
2668         (-[WKView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
2669         (-[WKView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
2670         (-[WKView removeTrackingRect:]):
2671         (-[WKView _removeTrackingRects:count:]):
2672         (-[WKView view:stringForToolTip:point:userData:]):
2673         (-[WKView _toolTipChangedFrom:to:]):
2674         (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
2675         (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
2676         (takeWindowSnapshot): Deleted.
2677         * UIProcess/Cocoa/WebViewImpl.h:
2678         * UIProcess/Cocoa/WebViewImpl.mm:
2679         (WebKit::WebViewImpl::addTrackingRect):
2680         (WebKit::WebViewImpl::addTrackingRectWithTrackingNum):
2681         (WebKit::WebViewImpl::addTrackingRectsWithTrackingNums):
2682         (WebKit::WebViewImpl::removeTrackingRect):
2683         (WebKit::WebViewImpl::removeTrackingRects):
2684         (WebKit::WebViewImpl::sendToolTipMouseExited):
2685         (WebKit::WebViewImpl::sendToolTipMouseEntered):
2686         (WebKit::WebViewImpl::stringForToolTip):
2687         (WebKit::WebViewImpl::toolTipChanged):
2688         Move tooltip code.
2689
2690 2015-10-23  Tim Horton  <timothy_horton@apple.com>
2691
2692         WKView being inside WKWebView leads to weird API issues
2693         https://bugs.webkit.org/show_bug.cgi?id=150174
2694
2695         Reviewed by Anders Carlsson.
2696
2697         * UIProcess/API/mac/WKView.mm:
2698         (-[WKView _interpretKeyEvent:completionHandler:]):
2699         (-[WKView inputContext]):
2700         (-[WKView performKeyEquivalent:]):
2701         (-[WKView keyDown:]):
2702         (-[WKView _doneWithKeyEvent:eventWasHandled:]):
2703         (-[WKView _setPluginComplexTextInputState:]): Deleted.
2704         (-[WKView _disableComplexTextInputIfNecessary]): Deleted.
2705         (-[WKView _handlePluginComplexTextInputKeyDown:]): Deleted.
2706         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): Deleted.
2707         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): Deleted.
2708         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Deleted.
2709         (-[WKView _setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Deleted.
2710         * UIProcess/API/mac/WKViewInternal.h:
2711         * UIProcess/Cocoa/WebViewImpl.h:
2712         (WebKit::WebViewImpl::pluginComplexTextInputState):
2713         (WebKit::WebViewImpl::pluginComplexTextInputIdentifier):
2714         * UIProcess/Cocoa/WebViewImpl.mm:
2715         (WebKit::WebViewImpl::setPluginComplexTextInputState):
2716         (WebKit::WebViewImpl::setPluginComplexTextInputStateAndIdentifier):
2717         (WebKit::WebViewImpl::disableComplexTextInputIfNecessary):
2718         (WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
2719         (WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown):
2720         (WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
2721         (WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown):
2722         * UIProcess/mac/PageClientImpl.mm:
2723         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
2724         (WebKit::PageClientImpl::setPluginComplexTextInputState):
2725         Move a few more methods.
2726
2727 2015-10-23  Eric Carlson  <eric.carlson@apple.com>
2728
2729         [MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
2730         https://bugs.webkit.org/show_bug.cgi?id=150503
2731         <rdar://problem/23235386>
2732
2733         Reviewed by Dean Jackson.
2734
2735         * UIProcess/UserMediaPermissionRequestProxy.cpp:
2736         (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): m_manager is a pointer.
2737         (WebKit::UserMediaPermissionRequestProxy::allow): Return early if m_manager is null, clear it after
2738           calling the manager.
2739         (WebKit::UserMediaPermissionRequestProxy::deny): Ditto.
2740         (WebKit::UserMediaPermissionRequestProxy::invalidate): Clear m_manager.
2741         * UIProcess/UserMediaPermissionRequestProxy.h: Change m_manager from a reference to a
2742           pointer so it can be cleared.
2743
2744 2015-10-23  Claudio Saavedra  <csaavedra@igalia.com>
2745
2746         [GTK] Minor web editor fixes
2747         https://bugs.webkit.org/show_bug.cgi?id=150501
2748
2749         Reviewed by Carlos Garcia Campos.
2750
2751         * UIProcess/gtk/KeyBindingTranslator.cpp: Remove
2752         "MoveParagraphForward/Backward" as these commands do not exist in
2753         WebKit (anymore?).
2754         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2755         (WebKit::WebEditorClient::executePendingEditorCommands):
2756         Editor::Command can take a String, no need to convert to a C char.
2757
2758 2015-10-23  Timothy Horton  <timothy_horton@apple.com>
2759
2760         Fix the build by unapplying review comments.
2761
2762         * UIProcess/Cocoa/WebViewImpl.h:
2763
2764 2015-10-23  Tim Horton  <timothy_horton@apple.com>
2765
2766         WKView being inside WKWebView leads to weird API issues
2767         https://bugs.webkit.org/show_bug.cgi?id=150174
2768
2769         Reviewed by Anders Carlsson.
2770
2771         * UIProcess/API/mac/WKView.mm:
2772         (-[WKView renewGState]):
2773         (-[WKView writeSelectionToPasteboard:types:]):
2774         (-[WKView centerSelectionInVisibleArea:]):
2775         (-[WKView scrollWheel:]):
2776         (-[WKView swipeWithEvent:]):
2777         (-[WKView mouseMoved:]):
2778         (-[WKView mouseDown:]):
2779         (-[WKView mouseUp:]):
2780         (-[WKView mouseDragged:]):
2781         (-[WKView pressureChangeWithEvent:]):
2782         (-[WKView acceptsFirstMouse:]):
2783         (-[WKView shouldDelayWindowOrderingForEvent:]):
2784         (-[WKView performKeyEquivalent:]):
2785         (-[WKView keyUp:]):
2786         (-[WKView keyDown:]):
2787         (-[WKView flagsChanged:]):
2788         (-[WKView _superQuickLookWithEvent:]):
2789         (-[WKView _addFontPanelObserver]):
2790         (-[WKView viewWillMoveToWindow:]):
2791         (-[WKView viewDidMoveToWindow]):
2792         (-[WKView viewDidChangeBackingProperties]):
2793         (-[WKView enableAccessibilityIfNecessary]):
2794         (-[WKView quickLookWithEvent:]):
2795         (-[WKView _colorSpace]):
2796         (-[WKView _didRelaunchProcess]):
2797         (-[WKView _setTextIndicator:]):
2798         (-[WKView _setTextIndicator:withLifetime:]):
2799         (-[WKView _clearTextIndicatorWithAnimation:]):
2800         (-[WKView _setTextIndicatorAnimationProgress:]):
2801         (-[WKView initWithFrame:processPool:configuration:webView:]):
2802         (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
2803         (-[WKView _internalImmediateActionAnimationControllerForHitTestResult:withType:userData:]):
2804         (-[WKView _internalPrepareForImmediateActionAnimation]):
2805         (-[WKView _internalCancelImmediateActionAnimation]):
2806         (-[WKView _internalCompleteImmediateActionAnimation]):
2807         (-[WKView _internalDismissContentRelativeChildWindowsWithAnimation:]):
2808         (-[WKView beginDeferringViewInWindowChanges]):
2809         (-[WKView endDeferringViewInWindowChanges]):
2810         (-[WKView endDeferringViewInWindowChangesSync]):
2811         (-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
2812         (-[WKView isDeferringViewInWindowChanges]):
2813         (-[WKView allowsLinkPreview]):
2814         (-[WKView setAllowsLinkPreview:]):
2815         (-[WKView _setIgnoresAllEvents:]):
2816         (-[WKView _setIgnoresNonWheelMouseEvents:]):
2817         (-[WKView _setIgnoresNonWheelEvents:]):
2818         (-[WKView _ignoresNonWheelEvents]):
2819         (-[WKView _ignoresAllEvents]):
2820         (-[WKView _setOverrideDeviceScaleFactor:]):
2821         (-[WKView _overrideDeviceScaleFactor]):
2822         (-[WKView _setTopContentInset:]):
2823         (-[WKView _topContentInset]):
2824         (-[WKView _dismissContentRelativeChildWindows]):
2825         (-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
2826         (-[WKView _setAutomaticallyAdjustsContentInsets:]):
2827         (-[WKView _automaticallyAdjustsContentInsets]):
2828         (-[WKWindowVisibilityObserver initWithView:]): Deleted.
2829         (-[WKWindowVisibilityObserver startObserving:]): Deleted.
2830         (-[WKWindowVisibilityObserver stopObserving:]): Deleted.
2831         (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): Deleted.
2832         (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): Deleted.
2833         (-[WKView dealloc]): Deleted.
2834         (-[WKView _updateWindowAndViewFrames]): Deleted.
2835         (-[WKView updateFontPanelIfNeeded]): Deleted.
2836         (-[WKView _selectionChanged]): Deleted.
2837         (-[WKView addWindowObserversForWindow:]): Deleted.
2838         (-[WKView removeWindowObservers]): Deleted.
2839         (-[WKView doWindowDidChangeScreen]): Deleted.
2840         (-[WKView _windowDidBecomeKey:]): Deleted.
2841         (-[WKView _windowDidChangeScreen:]): Deleted.
2842         (-[WKView _windowDidChangeLayerHosting:]): Deleted.
2843         (-[WKView _windowDidResignKey:]): Deleted.
2844         (-[WKView _windowDidMiniaturize:]): Deleted.
2845         (-[WKView _windowDidDeminiaturize:]): Deleted.
2846         (-[WKView _windowDidMove:]): Deleted.
2847         (-[WKView _windowDidResize:]): Deleted.
2848         (-[WKView _windowDidOrderOffScreen:]): Deleted.
2849         (-[WKView _windowDidOrderOnScreen:]): Deleted.
2850         (-[WKView _windowDidChangeBackingProperties:]): Deleted.
2851         (-[WKView _windowDidChangeOcclusionState:]): Deleted.
2852         (-[WKView _prepareForDictionaryLookup]): Deleted.
2853         (-[WKView _dictionaryLookupPopoverWillClose:]): Deleted.
2854         (-[WKView _accessibilityRegisterUIProcessTokens]): Deleted.
2855         (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Deleted.
2856         (-[WKView _intrinsicDeviceScaleFactor]): Deleted.
2857         (-[WKView _preferencesDidChange]): Deleted.
2858         (-[WKView _targetWindowForMovePreparation]): Deleted.
2859         (-[WKView _updateContentInsetsIfAutomatic]): Deleted.
2860         (-[WKView observeValueForKeyPath:ofObject:change:context:]): Deleted.
2861         (-[WKView _dispatchSetTopContentInset]): Deleted.
2862         * UIProcess/API/mac/WKViewInternal.h:
2863         * UIProcess/Cocoa/WebViewImpl.h:
2864         (WebKit::WebViewImpl::automaticallyAdjustsContentInsets):
2865         (WebKit::WebViewImpl::topContentInset):
2866         (WebKit::WebViewImpl::overrideDeviceScaleFactor):
2867         (WebKit::WebViewImpl::isDeferringViewInWindowChanges):
2868         (WebKit::WebViewImpl::targetWindowForMovePreparation):
2869         (WebKit::WebViewImpl::lastPressureEvent):
2870         (WebKit::WebViewImpl::allowsLinkPreview):
2871         (WebKit::WebViewImpl::ignoresNonWheelEvents):
2872         (WebKit::WebViewImpl::ignoresAllEvents):
2873         (WebKit::WebViewImpl::createWeakPtr):
2874         * UIProcess/Cocoa/WebViewImpl.mm:
2875         (SOFT_LINK_CONSTANT_MAY_FAIL):
2876         (-[WKWindowVisibilityObserver initWithView:impl:]):
2877         (-[WKWindowVisibilityObserver dealloc]):
2878         (-[WKWindowVisibilityObserver startObserving:]):
2879         (-[WKWindowVisibilityObserver stopObserving:]):
2880         (-[WKWindowVisibilityObserver startObservingFontPanel]):
2881         (-[WKWindowVisibilityObserver startObservingLookupDismissal]):
2882         (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]):
2883         (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]):
2884         (-[WKWindowVisibilityObserver _windowDidBecomeKey:]):
2885         (-[WKWindowVisibilityObserver _windowDidResignKey:]):
2886         (-[WKWindowVisibilityObserver _windowDidMiniaturize:]):
2887         (-[WKWindowVisibilityObserver _windowDidDeminiaturize:]):
2888         (-[WKWindowVisibilityObserver _windowDidMove:]):
2889         (-[WKWindowVisibilityObserver _windowDidResize:]):
2890         (-[WKWindowVisibilityObserver _windowDidChangeBackingProperties:]):
2891         (-[WKWindowVisibilityObserver _windowDidChangeScreen:]):
2892         (-[WKWindowVisibilityObserver _windowDidChangeLayerHosting:]):
2893         (-[WKWindowVisibilityObserver _windowDidChangeOcclusionState:]):
2894         (-[WKWindowVisibilityObserver observeValueForKeyPath:ofObject:change:context:]):
2895         (-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]):
2896         (-[WKEditCommandObjC initWithWebEditCommandProxy:]):
2897         (-[WKEditCommandObjC command]):
2898         (-[WKEditorUndoTargetObjC undoEditing:]):
2899         (-[WKEditorUndoTargetObjC redoEditing:]):
2900         (WebKit::WebViewImpl::WebViewImpl):
2901         (WebKit::WebViewImpl::~WebViewImpl):
2902         (WebKit::WebViewImpl::becomeFirstResponder):
2903         (WebKit::WebViewImpl::resignFirstResponder):
2904         (WebKit::WebViewImpl::renewGState):
2905         (WebKit::WebViewImpl::updateWindowAndViewFrames):
2906         (WebKit::WebViewImpl::setAutomaticallyAdjustsContentInsets):
2907         (WebKit::WebViewImpl::updateContentInsetsIfAutomatic):
2908         (WebKit::WebViewImpl::setTopContentInset):
2909         (WebKit::WebViewImpl::dispatchSetTopContentInset):
2910         (WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
2911         (WebKit::WebViewImpl::intrinsicDeviceScaleFactor):
2912         (WebKit::WebViewImpl::windowDidOrderOffScreen):
2913         (WebKit::WebViewImpl::windowDidOrderOnScreen):
2914         (WebKit::WebViewImpl::windowDidBecomeKey):
2915         (WebKit::WebViewImpl::windowDidResignKey):
2916         (WebKit::WebViewImpl::windowDidMiniaturize):
2917         (WebKit::WebViewImpl::windowDidDeminiaturize):
2918         (WebKit::WebViewImpl::windowDidMove):
2919         (WebKit::WebViewImpl::windowDidResize):
2920         (WebKit::WebViewImpl::windowDidChangeBackingProperties):
2921         (WebKit::WebViewImpl::windowDidChangeScreen):
2922         (WebKit::WebViewImpl::windowDidChangeLayerHosting):
2923         (WebKit::WebViewImpl::windowDidChangeOcclusionState):
2924         (WebKit::WebViewImpl::viewWillMoveToWindow):
2925         (WebKit::WebViewImpl::viewDidMoveToWindow):
2926         (WebKit::WebViewImpl::viewDidChangeBackingProperties):
2927         (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
2928         (WebKit::WebViewImpl::colorSpace):
2929         (WebKit::WebViewImpl::beginDeferringViewInWindowChanges):
2930         (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
2931         (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
2932         (WebKit::WebViewImpl::prepareForMoveToWindow):
2933         (WebKit::WebViewImpl::pressureChangeWithEvent):
2934         (WebKit::WebViewImpl::isEditable):
2935         (WebKit::WebViewImpl::executeEditCommand):
2936         (WebKit::WebViewImpl::registerEditCommand):
2937         (WebKit::WebViewImpl::clearAllEditCommands):
2938         (WebKit::WebViewImpl::writeSelectionToPasteboard):
2939         (WebKit::WebViewImpl::centerSelectionInVisibleArea):
2940         (WebKit::WebViewImpl::selectionDidChange):
2941         (WebKit::WebViewImpl::startObservingFontPanel):
2942         (WebKit::WebViewImpl::updateFontPanelIfNeeded):
2943         (WebKit::WebViewImpl::preferencesDidChange):
2944         (WebKit::WebViewImpl::setTextIndicator):
2945         (WebKit::WebViewImpl::clearTextIndicatorWithAnimation):
2946         (WebKit::WebViewImpl::setTextIndicatorAnimationProgress):
2947         (WebKit::WebViewImpl::dismissContentRelativeChildWindows):
2948         (WebKit::WebViewImpl::quickLookWithEvent):
2949         (WebKit::WebViewImpl::prepareForDictionaryLookup):
2950         (WebKit::WebViewImpl::setAllowsLinkPreview):
2951         (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
2952         (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
2953         (WebKit::WebViewImpl::cancelImmediateActionAnimation):
2954         (WebKit::WebViewImpl::completeImmediateActionAnimation):
2955         (WebKit::WebViewImpl::setIgnoresNonWheelEvents):
2956         (WebKit::WebViewImpl::setIgnoresAllEvents):
2957         (WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
2958         * UIProcess/mac/PageClientImpl.h:
2959         * UIProcess/mac/PageClientImpl.mm:
2960         (WebKit::PageClientImpl::activeWindow):
2961         (WebKit::PageClientImpl::preferencesDidChange):
2962         (WebKit::PageClientImpl::registerEditCommand):
2963         (WebKit::PageClientImpl::clearAllEditCommands):
2964         (WebKit::PageClientImpl::selectionDidChange):
2965         (WebKit::PageClientImpl::didPerformDictionaryLookup):
2966         (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Deleted.
2967         (-[WKEditCommandObjC command]): Deleted.
2968         (-[WKEditorUndoTargetObjC undoEditing:]): Deleted.
2969         (-[WKEditorUndoTargetObjC redoEditing:]): Deleted.
2970         (WebKit::PageClientImpl::PageClientImpl): Deleted.
2971         Move more things to WebViewImpl.
2972         This also introduces an unfortunate pattern that is required for things which
2973         clients override on WKView, where we have a flow like this:
2974                 - somebody (PageClient, etc.) calls WebViewImpl::x
2975                 - WebViewImpl::x does nothing except call [WKView _x]
2976                 - [WKView _x] calls WebViewImpl::xFromViewOnly, which does the real work
2977         As long as no clients call the -FromViewOnly variant, this will mean that
2978         all callers are bottlenecked through the overridable WKView method.
2979         How this works with WKWebView, I am not sure yet.
2980
2981         * UIProcess/mac/WKImmediateActionController.h:
2982         * UIProcess/mac/WKImmediateActionController.mm:
2983         (-[WKImmediateActionController initWithPage:view:viewImpl:recognizer:]):
2984         (-[WKImmediateActionController willDestroyView:]):
2985         (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
2986         (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
2987         (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
2988         (-[WKImmediateActionController menuItem:viewAtScreenPoint:]):
2989         (-[WKImmediateActionController menuItem:previewItemAtPoint:]):
2990         (-[WKImmediateActionController menuItem:itemFrameForPoint:]):
2991         (-[WKImmediateActionController menuItem:maxSizeForPoint:]):
2992         (-[WKImmediateActionController _animationControllerForDataDetectedText]):
2993         (-[WKImmediateActionController _animationControllerForDataDetectedLink]):
2994         (-[WKImmediateActionController _animationControllerForText]):
2995         (-[WKImmediateActionController initWithPage:view:recognizer:]): Deleted.
2996         Keep a generic NSView, use the WebViewImpl for WK*View related things.
2997
2998 2015-10-22  Joonghun Park  <jh718.park@samsung.com>
2999
3000         [GTK] Fix build break since r191471
3001         https://bugs.webkit.org/show_bug.cgi?id=150487
3002
3003         Reviewed by Žan Doberšek.
3004
3005         * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
3006         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3007         (WebKit::WebContextMenuProxyGtk::populate):
3008
3009 2015-10-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
3010
3011         [EFL] Build break since r191472 and r191473
3012         https://bugs.webkit.org/show_bug.cgi?id=150485
3013
3014         Unreviewed build fix.
3015
3016         * CMakeLists.txt: Remove icu include path and move page include path.
3017
3018 2015-10-22  Sam Weinig  <sam@webkit.org>
3019
3020         Navigations on the same host (but with different schemes and ports) should not trigger universal links
3021         <rdar://problem/22811325>
3022         https://bugs.webkit.org/show_bug.cgi?id=150481
3023
3024         Reviewed by Dan Bernstein.
3025
3026         Update the policy for following universal links to only take host into consideration.
3027
3028         * UIProcess/API/C/WKPage.cpp:
3029         (WKPageSetPageUIClient):
3030         * UIProcess/Cocoa/UIDelegate.mm:
3031         (WebKit::UIDelegate::UIClient::createNewPage):
3032         * UIProcess/WebPageProxy.cpp:
3033         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
3034         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
3035         (WebKit::WebPageProxy::createNewPage):
3036         (WebKit::WebPageProxy::showPage):
3037
3038 2015-10-22  Anders Carlsson  <andersca@apple.com>
3039
3040         Simplify menu creation
3041         https://bugs.webkit.org/show_bug.cgi?id=150476
3042
3043         Reviewed by Tim Horton.
3044
3045         Instead of creating vectors of NSMenuItem objects, just simply build the menu recursively.
3046
3047         * UIProcess/mac/WebContextMenuProxyMac.h:
3048         * UIProcess/mac/WebContextMenuProxyMac.mm:
3049         (WebKit::WebContextMenuProxyMac::createContextMenuFromItems):
3050         (WebKit::WebContextMenuProxyMac::createContextMenuItem):
3051         (WebKit::WebContextMenuProxyMac::showContextMenu):
3052         (WebKit::populateNSMenu): Deleted.
3053         (WebKit::nsMenuItem): Deleted.
3054         (WebKit::nsMenuItemVector): Deleted.
3055
3056 2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3057
3058         ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
3059         https://bugs.webkit.org/show_bug.cgi?id=150315
3060
3061         Reviewed by Andreas Kling.
3062
3063         It was introduced in r184930, that keeps the session storage area
3064         maps alive in the UI process when they are destroyed by the web
3065         process. The problem is that we also keep the listeners, so that
3066         events are also dispatched to the listeners of destroyed areas,
3067         and the message handlers were removed in the web process.
3068
3069         * UIProcess/Storage/StorageManager.cpp:
3070         (WebKit::StorageManager::createTransientLocalStorageMap): Add a
3071         listener for the new storage map ID when the map is reused.
3072         (WebKit::StorageManager::destroyStorageMap): Always remove
3073         listeners of destroyed maps.
3074
3075 2015-10-22  Tim Horton  <timothy_horton@apple.com>
3076
3077         Add a SPI variant of loadData that accepts user data to WKWebView
3078         https://bugs.webkit.org/show_bug.cgi?id=150475
3079
3080         Reviewed by Anders Carlsson.
3081
3082         * UIProcess/API/Cocoa/WKWebView.mm:
3083         (-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
3084         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
3085
3086 2015-10-22  Alex Christensen  <achristensen@webkit.org>
3087
3088         Progress towards CMake on Mac
3089         https://bugs.webkit.org/show_bug.cgi?id=150466
3090
3091         Reviewed by Chris Dumez.
3092
3093         * CMakeLists.txt:
3094         * PlatformMac.cmake:
3095         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3096
3097 2015-10-22  Anders Carlsson  <andersca@apple.com>
3098
3099         NativeContextMenuItem isn't needed anymore, remove it
3100         https://bugs.webkit.org/show_bug.cgi?id=150473
3101
3102         Reviewed by Tim Horton.
3103
3104         * PlatformEfl.cmake:
3105         * PlatformGTK.cmake:
3106         * Shared/NativeContextMenuItem.h: Removed.
3107         (WebKit::NativeContextMenuItem::~NativeContextMenuItem): Deleted.
3108         (WebKit::NativeContextMenuItem::nsMenuItem): Deleted.
3109         * Shared/WebContextMenuItem.cpp:
3110         (WebKit::WebContextMenuItem::WebContextMenuItem): Deleted.
3111         * Shared/WebContextMenuItem.h:
3112         (WebKit::WebContextMenuItem::create): Deleted.
3113         (WebKit::WebContextMenuItem::nativeContextMenuItem): Deleted.
3114         * Shared/efl/NativeContextMenuItemEfl.cpp: Removed.
3115         (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
3116         * Shared/gtk/NativeContextMenuItemGtk.cpp: Removed.
3117         (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
3118         * Shared/mac/NativeContextMenuItem.mm: Removed.
3119         (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
3120         * UIProcess/mac/WebContextMenuProxyMac.mm:
3121         (WebKit::nsMenuItem): Deleted.
3122         * WebKit2.xcodeproj/project.pbxproj:
3123
3124 2015-10-22  Anders Carlsson  <andersca@apple.com>
3125
3126         CTTE WebContextMenuItemData
3127         https://bugs.webkit.org/show_bug.cgi?id=150471
3128
3129         Reviewed by Tim Horton.
3130
3131         * Shared/API/c/WKContextMenuItem.cpp:
3132         (WKContextMenuItemGetTag):
3133         (WKContextMenuItemGetType):
3134         (WKContextMenuItemCopyTitle):
3135         (WKContextMenuItemGetEnabled):
3136         (WKContextMenuItemGetChecked):
3137         * Shared/WebContextMenuItem.cpp:
3138         (WebKit::WebContextMenuItem::create):
3139         * Shared/WebContextMenuItem.h:
3140         (WebKit::WebContextMenuItem::data):
3141         * UIProcess/API/C/WKPage.cpp:
3142         (WKPageSelectContextMenuItem):
3143         * UIProcess/mac/WebContextMenuProxyMac.mm:
3144         (WebKit::nsMenuItem):
3145         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3146         (WKBundlePageClickMenuItem):
3147         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
3148         (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
3149
3150 2015-10-22  Anders Carlsson  <andersca@apple.com>
3151
3152         Handle nil menu items.
3153
3154         * UIProcess/mac/WebContextMenuProxyMac.mm:
3155         (WebKit::nsMenuItemVector):
3156
3157 2015-10-22  Anders Carlsson  <andersca@apple.com>
3158
3159         Wait to convert the share menu item to a real share menu until after calling out to the client
3160         https://bugs.webkit.org/show_bug.cgi?id=150465
3161
3162         Reviewed by Tim Horton.
3163
3164         This will let us simplify more code in upcoming patches.
3165
3166         * UIProcess/mac/WebContextMenuProxyMac.h:
3167         * UIProcess/mac/WebContextMenuProxyMac.mm:
3168         (WebKit::nsMenuItem):
3169         (WebKit::nsMenuItemVector):
3170         (WebKit::WebContextMenuProxyMac::showContextMenu):
3171
3172 2015-10-22  Myles C. Maxfield  <mmaxfield@apple.com>
3173
3174         [Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
3175         https://bugs.webkit.org/show_bug.cgi?id=150460
3176
3177         Reviewed by Tim Horton.
3178
3179         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3180         (InitWebCoreSystemInterface): Deleted.
3181
3182 2015-10-22  Alex Christensen  <achristensen@webkit.org>
3183
3184         Initial NSURLSession WebResourceLoader implementation
3185         https://bugs.webkit.org/show_bug.cgi?id=150355
3186
3187         Reviewed by Antti Koivisto.
3188
3189         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3190         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
3191         (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
3192         * NetworkProcess/NetworkResourceLoader.cpp:
3193         (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
3194         (WebKit::NetworkResourceLoader::startNetworkLoad):
3195         (WebKit::NetworkResourceLoader::setDefersLoading):
3196         (WebKit::NetworkResourceLoader::cleanup):
3197         (WebKit::NetworkResourceLoader::didConvertHandleToDownload):
3198         (WebKit::NetworkResourceLoader::abort):
3199         (WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
3200         (WebKit::NetworkResourceLoader::didReceiveChallenge):
3201         (WebKit::NetworkResourceLoader::didReceiveResponse):
3202         (WebKit::NetworkResourceLoader::didReceiveData):
3203         (WebKit::NetworkResourceLoader::didCompleteWithError):
3204         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
3205         (WebKit::NetworkResourceLoader::willSendRequestAsync):
3206         (WebKit::NetworkResourceLoader::continueWillSendRequest):
3207         (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
3208         (WebKit::NetworkResourceLoader::didSendData):
3209         (WebKit::NetworkResourceLoader::receivedCancellation):
3210         (WebKit::NetworkResourceLoader::startBufferingTimerIfNeeded):
3211         (WebKit::NetworkResourceLoader::bufferingTimerFired):
3212         (WebKit::NetworkResourceLoader::validateCacheEntry):
3213         (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
3214         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
3215         (WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
3216         (WebKit::NetworkResourceLoader::supportsDataArray):
3217         * NetworkProcess/NetworkResourceLoader.h:
3218         (WebKit::NetworkResourceLoader::create):
3219         (WebKit::NetworkResourceLoader::currentRequest):
3220         (WebKit::NetworkResourceLoader::handle):
3221         * NetworkProcess/NetworkSession.h: Added.
3222         (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
3223         (WebKit::NetworkingDataTask::client):
3224         (WebKit::NetworkingDataTask::clearClient):
3225         (WebKit::NetworkSession::~NetworkSession):
3226         * NetworkProcess/cocoa/NetworkSessionCocoa.mm: Added.
3227         (toNSURLSessionResponseDisposition):
3228         (toNSURLSessionAuthChallengeDisposition):
3229         (-[NetworkSessionDelegate initWithNetworkSession:]):
3230         (-[NetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
3231         (-[NetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
3232         (-[NetworkSessionDelegate URLSession:task:didCompleteWithError:]):
3233         (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
3234         (-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
3235         (WebKit::NetworkSession::create):
3236         (WebKit::NetworkSession::singleton):
3237         (WebKit::configurationForType):
3238         (WebKit::NetworkSession::NetworkSession):
3239         (WebKit::NetworkSession::createDataTaskWithRequest):
3240         (WebKit::NetworkSession::dataTaskForIdentifier):
3241         (WebKit::NetworkingDataTask::NetworkingDataTask):
3242         (WebKit::NetworkingDataTask::~NetworkingDataTask):
3243         (WebKit::NetworkingDataTask::suspend):
3244         (WebKit::NetworkingDataTask::resume):
3245         (WebKit::NetworkingDataTask::taskIdentifier):
3246         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
3247         (WebKit::NetworkResourceLoader::willCacheResponseAsync):
3248         * WebKit2.xcodeproj/project.pbxproj:
3249         * config.h:
3250
3251 2015-10-22  Philippe Normand  <pnormand@igalia.com>
3252
3253         Unreviewed, GTK build fix for disabled redirected XComposite window support.
3254
3255         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Add USE(REDIRECTED_XCOMPOSITE_WINDOW) guards.
3256         * UIProcess/DrawingAreaProxyImpl.h: Mark virtual methods as override to avoid compilation warnings.
3257
3258 2015-10-22  Wenson Hsieh  <wenson_hsieh@apple.com>
3259
3260         Implement touch-action: manipulation; for iOS
3261         https://bugs.webkit.org/show_bug.cgi?id=149854
3262         <rdar://problem/23017145>
3263
3264         Reviewed by Benjamin Poulain.
3265
3266         Implements the manipulation value for the CSS property touch-action. Performs hit-testing upon receiving a potential
3267         tap to determine whether to disable double-tap gesture recognition over the duration of the tap. If so, sends a message
3268         from the web process to the UI process indicating that double-tapping should be disabled, allowing single taps to
3269         avoid the delay.
3270
3271         * WebProcess/WebPage/ios/WebPageIOS.mm:
3272         (WebKit::WebPage::potentialTapAtPosition):
3273
3274 2015-10-22  Ryosuke Niwa  <rniwa@webkit.org>
3275
3276         REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
3277         https://bugs.webkit.org/show_bug.cgi?id=150428
3278
3279         Reviewed by Antti Koivisto.
3280
3281         Call updateFocusAppearance with RevealMode::DoNotReveal to avoid revealing the focused element.
3282
3283         * WebProcess/WebPage/WebPage.cpp:
3284         (WebKit::WebPage::restoreSelectionInFocusedEditableElement):
3285
3286 2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3287
3288         Unreviewed. Fix a crash in GTk+ after r191402.
3289
3290         Since r191402 WebContextMenuProxy is no longer refcounted, and
3291         std::unique_ptr is used instead. This means that when we show the
3292         context menu for the second time in a web view, a new
3293         WebContextMenuProxy is created and the previous one is
3294         destroyed. We were setting the active context menu of the WebView
3295         in the constructor of WebContextMenuProxy, and unsetting it in the
3296         destructor. Now the constructor of the new WebContextMenuProxy
3297         happens before the destructor of the current one that unsets the
3298         WebView active context menu. This patch simply makes the web view
3299         unset its active context menu when it's unmapped and a new one
3300         hasn't been set.
3301
3302         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3303         (activeContextMenuUnmapped):
3304         (webkitWebViewBaseSetActiveContextMenuProxy):
3305         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3306         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
3307
3308 2015-10-22  Hunseop Jeong  <hs85.jeong@samsung.com>
3309
3310         [GTK] Try to fix the build after r191402.
3311         https://bugs.webkit.org/show_bug.cgi?id=150435
3312
3313         Reviewed by Carlos Garcia Campos.
3314
3315         * UIProcess/API/gtk/PageClientImpl.cpp:
3316         (WebKit::PageClientImpl::createPopupMenuProxy):
3317         (WebKit::PageClientImpl::createContextMenuProxy):
3318         (WebKit::PageClientImpl::createColorPicker):
3319         * UIProcess/API/gtk/PageClientImpl.h:
3320         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
3321         (WebKit::WebContextMenuProxyGtk::populate):
3322         (WebKit::WebContextMenuProxyGtk::show):
3323         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
3324         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
3325         (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
3326         (WebKit::WebContextMenuProxyGtk::showContextMenu): Deleted.
3327         (WebKit::WebContextMenuProxyGtk::hideContextMenu): Deleted.
3328         (WebKit::WebContextMenuProxyGtk::cancelTracking): Deleted.
3329         * UIProcess/gtk/WebContextMenuProxyGtk.h:
3330         (WebKit::WebContextMenuProxyGtk::gtkMenu):
3331         (WebKit::WebContextMenuProxyGtk::create): Deleted.
3332
3333 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
3334
3335        Unreviewed EFL build fix. Remove customizeMenu implementation.
3336
3337         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3338         (WebKit::WebContextMenuClient::customizeMenu): Deleted.
3339
3340 2015-10-21  Alex Christensen  <achristensen@webkit.org>
3341
3342         Speculative EFL build fix.
3343
3344         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
3345         Remove another customizeMenu call.
3346
3347 2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
3348
3349         [EFL][GTK][WK2] Fix build break since r191402, r191401
3350         https://bugs.webkit.org/show_bug.cgi?id=150432
3351
3352         Unreviewed EFL and GTK build fix.
3353
3354         * CMakeLists.txt:
3355         * UIProcess/CoordinatedGraphics/WebView.cpp:
3356         (WebKit::WebView::createContextMenuProxy):
3357         * UIProcess/CoordinatedGraphics/WebView.h:
3358         * UIProcess/efl/WebContextMenuProxyEfl.cpp:
3359         (WebKit::WebContextMenuProxyEfl::show):
3360         * UIProcess/efl/WebContextMenuProxyEfl.h:
3361         (WebKit::WebContextMenuProxyEfl::create): Deleted.
3362         * UIProcess/efl/WebViewEfl.cpp:
3363         (WebKit::WebViewEfl::createContextMenuProxy):
3364         * UIProcess/efl/WebViewEfl.h:
3365         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3366         (WebKit::WebContextMenuClient::customizeMenu):
3367         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
3368
3369 2015-10-21  Anders Carlsson  <andersca@apple.com>
3370
3371         Get rid of WebContextMenuClient::customizeMenu, it's no longer used
3372         https://bugs.webkit.org/show_bug.cgi?id=150427
3373
3374         Reviewed by Tim Horton.
3375
3376         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
3377         (WebKit::WebContextMenuClient::customizeMenu): Deleted.
3378         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
3379
3380 2015-10-21  Tim Horton  <timothy_horton@apple.com>
3381
3382         API-ify the FindMatches client
3383         https://bugs.webkit.org/show_bug.cgi?id=150422
3384
3385         Reviewed by Anders Carlsson.
3386
3387         * UIProcess/API/APIFindMatchesClient.h: Renamed from Source/WebKit2/UIProcess/WebFindClient.h.
3388         (API::FindMatchesClient::~FindMatchesClient):
3389         (API::FindMatchesClient::didFindStringMatches):
3390         (API::FindMatchesClient::didGetImageForMatchResult):
3391         * UIProcess/API/C/WKPage.cpp:
3392         (WKPageSetPageFindMatchesClient):
3393         * UIProcess/WebFindClient.cpp: Removed.
3394         * UIProcess/WebPageProxy.cpp:
3395         (WebKit::WebPageProxy::WebPageProxy):
3396         (WebKit::WebPageProxy::setFindMatchesClient):
3397         (WebKit::WebPageProxy::close):
3398         (WebKit::WebPageProxy::didGetImageForFindMatch):
3399         (WebKit::WebPageProxy::didFindStringMatches):
3400         (WebKit::WebPageProxy::initializeFindMatchesClient): Deleted.
3401         * UIProcess/WebPageProxy.h:
3402         (WebKit::WebPageProxy::findMatchesClient):
3403         * WebKit2.xcodeproj/project.pbxproj:
3404
3405 2015-10-21  Enrica Casucci  <enrica@apple.com>
3406
3407         WebProcess crashes when accessibility bundle is not found.
3408         https://bugs.webkit.org/show_bug.cgi?id=150414
3409
3410         Reviewed by Dan Bernstein.
3411
3412         The uninitialized pointer to NSError causes the print function to crash.
3413
3414         * WebProcess/cocoa/WebProcessCocoa.mm:
3415         (WebKit::registerWithAccessibility):
3416
3417 2015-10-21  Anders Carlsson  <andersca@apple.com>
3418
3419         Move services menu handling out into a separate function
3420         https://bugs.webkit.org/show_bug.cgi?id=150420
3421
3422         Reviewed by Tim Horton.
3423
3424         * UIProcess/mac/WebContextMenuProxyMac.h:
3425         * UIProcess/mac/WebContextMenuProxyMac.mm:
3426         (WebKit::WebContextMenuProxyMac::showServicesMenu):
3427         (WebKit::WebContextMenuProxyMac::show):
3428         (WebKit::WebContextMenuProxyMac::showContextMenu):
3429         (WebKit::WebContextMenuProxyMac::populate): Deleted.
3430
3431 2015-10-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3432
3433         Single tapping clickable elements in unscalable pages should show a tap highlight
3434         https://bugs.webkit.org/show_bug.cgi?id=150382
3435
3436         Reviewed by Simon Fraser.
3437
3438         When the double tap gesture recognizer is disabled ahead of time (as in the case of unscalable pages) the tap is
3439         committed before the geometries come in. To fix this, we introduce a flag that allows the single tap to be
3440         committed before the tap highlight arrives. This allows the tap highlight to be immediately animated when receiving
3441         the tap highlight geometries only in the case where double tapping is disabled when recognizing the single tap.
3442
3443         * UIProcess/ios/WKContentViewInteraction.h:
3444         * UIProcess/ios/WKContentViewInteraction.mm:
3445         (-[WKContentView setupInteraction]):
3446         (-[WKContentView cleanupInteraction]):
3447         (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
3448         (-[WKContentView _singleTapRecognized:]):
3449         (-[WKContentView _singleTapCommited:]):
3450