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