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