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