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