[iOS] Add setting to ignore viewport scaling constraints
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-12-10  Martin Hock  <mhock@apple.com>
2
3         [iOS] Add setting to ignore viewport scaling constraints
4         https://bugs.webkit.org/show_bug.cgi?id=139466
5         <rdar://problem/19200328>
6
7         Reviewed by Benjamin Poulain.
8
9         * Shared/WebPreferencesDefinitions.h: Add ignoreViewportScalingConstraints preference.
10         * UIProcess/API/C/WKPreferences.cpp:
11         (WKPreferencesSetIgnoreViewportScalingConstraints):
12         (WKPreferencesGetIgnoreViewportScalingConstraints):
13         * UIProcess/API/C/WKPreferencesRef.h:
14         * WebProcess/WebPage/WebPage.cpp:
15         (WebKit::WebPage::updatePreferences):
16
17 2014-12-10  Timothy Horton  <timothy_horton@apple.com>
18
19         Fix the build.
20
21         * UIProcess/API/mac/WKView.mm:
22         (-[WKView _targetWindowForMovePreparation]):
23
24 2014-12-10  Timothy Horton  <timothy_horton@apple.com>
25
26         Provide SPI to asynchronously move a WKView into a window and know when it has painted
27         https://bugs.webkit.org/show_bug.cgi?id=139460
28         <rdar://problem/19135389>
29
30         Reviewed by Anders Carlsson.
31
32         * UIProcess/API/Cocoa/WKViewPrivate.h:
33         Add _prepareForMoveToWindow:withCompletionHandler:, which internally
34         goes through the motions of being parented in that window and calls
35         the completion handler once painting is done and the view is ready
36         to be displayed (upon which we expect the view to actually move into the window).
37
38         * UIProcess/API/mac/WKView.mm:
39         (-[WKView viewWillMoveToWindow:]):
40         If we currently have a _targetWindowForMovePreparation (and are
41         pretending to be in that window), avoid performing viewWillMoveToWindow:
42         for a different window.
43
44         (-[WKView viewDidMoveToWindow]):
45         (-[WKView doWindowDidChangeScreen]):
46         (-[WKView _intrinsicDeviceScaleFactor]):
47         (-[WKView _colorSpace]):
48         (-[WKView _targetWindowForMovePreparation]):
49         If we have a _targetWindowForMovePreparation, use its properties instead
50         of self.window's.
51
52         (-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
53         Simulate a move into the target window, but defer sending the view state update.
54         Then, send the view state update after registering the completion handler.
55
56         * UIProcess/API/mac/WKViewInternal.h:
57         * UIProcess/WebPageProxy.cpp:
58         (WebKit::WebPageProxy::WebPageProxy):
59         Rename m_viewStateChangeWantsReply to m_viewStateChangeWantsSynchronousReply.
60
61         (WebKit::WebPageProxy::installViewStateChangeCompletionHandler):
62         Added. Allow installing a block that will be called the next time
63         we get a didUpdateViewState back from the WebProcess after pushing the
64         current view state changes.
65
66         (WebKit::WebPageProxy::viewStateDidChange):
67         Adapt to the aforementioned rename.
68
69         (WebKit::WebPageProxy::dispatchViewStateChange):
70         Adapt to the aforementioned rename.
71         Send the view state change callback IDs along with SetViewState.
72
73         (WebKit::WebPageProxy::updateViewState):
74         Adapt to the aforementioned rename.
75
76         * UIProcess/WebPageProxy.h:
77         * UIProcess/mac/PageClientImpl.h:
78         * UIProcess/mac/PageClientImpl.mm:
79         (WebKit::PageClientImpl::activeWindow):
80         (WebKit::PageClientImpl::isViewWindowActive):
81         (WebKit::PageClientImpl::isViewVisible):
82         (WebKit::PageClientImpl::isViewVisibleOrOccluded):
83         (WebKit::PageClientImpl::isViewInWindow):
84         (WebKit::PageClientImpl::viewLayerHostingMode):
85         If we have a _targetWindowForMovePreparation, use its properties instead
86         of the WKView's window's.
87
88         * WebProcess/WebPage/DrawingArea.h:
89         (WebKit::DrawingArea::viewStateDidChange):
90         * WebProcess/WebPage/WebPage.cpp:
91         (WebKit::WebPage::reinitializeWebPage):
92         (WebKit::WebPage::setViewState):
93         * WebProcess/WebPage/WebPage.h:
94         * WebProcess/WebPage/WebPage.messages.in:
95         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
96         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
97         (WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange):
98         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
99         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
100         (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
101         Push the callback IDs to the WebProcess, and accumulate them in TiledCoreAnimationDrawingArea.
102
103         (WebKit::TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired):
104         Call all of the callbacks after one runloop cycle, just like DidUpdateViewState.
105
106 2014-12-10  Anders Carlsson  <andersca@apple.com>
107
108         Add session storage handling to StorageNamespaceProvider
109         https://bugs.webkit.org/show_bug.cgi?id=139507
110
111         Reviewed by Tim Horton.
112
113         * WebProcess/Storage/StorageNamespaceImpl.cpp:
114         (WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
115         * WebProcess/Storage/StorageNamespaceImpl.h:
116         * WebProcess/Storage/WebStorageNamespaceProvider.cpp:
117         (WebKit::WebStorageNamespaceProvider::createSessionStorageNamespace):
118         * WebProcess/Storage/WebStorageNamespaceProvider.h:
119
120 2014-12-10  Anders Carlsson  <andersca@apple.com>
121
122         Implement the rest of the transient local storage namespace code
123         https://bugs.webkit.org/show_bug.cgi?id=139505
124
125         Reviewed by Tim Horton.
126
127         * UIProcess/Storage/StorageManager.cpp:
128         (WebKit::StorageManager::TransientLocalStorageNamespace::create):
129         (WebKit::StorageManager::TransientLocalStorageNamespace::~TransientLocalStorageNamespace):
130         (WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
131         (WebKit::StorageManager::TransientLocalStorageNamespace::clearStorageAreasMatchingOrigin):
132         (WebKit::StorageManager::TransientLocalStorageNamespace::clearAllStorageAreas):
133         (WebKit::StorageManager::TransientLocalStorageNamespace::TransientLocalStorageNamespace):
134         Introduce a new TransientLocalStorageNamespace that's just a glorified SecurityOrigin -> StorageArea HashMap.
135
136         (WebKit::StorageManager::StorageArea::create):
137         Change the return type to RefPtr.
138
139         (WebKit::StorageManager::deleteEntriesForOrigin):
140         (WebKit::StorageManager::deleteAllEntries):
141         (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
142         Use lambdas instead of bind. Delete the transient local storage as well.
143
144         (WebKit::StorageManager::createTransientLocalStorageMap):
145         Get a transient local storage namespace and ask it for a storage area.
146
147         (WebKit::StorageManager::getOrCreateTransientLocalStorageNamespace):
148         Look up the namespace from the map and create one if it doesn't exist.
149
150         (WebKit::StorageManager::deleteEntriesForOriginInternal): Deleted.
151         (WebKit::StorageManager::deleteAllEntriesInternal): Deleted.
152
153         * UIProcess/Storage/StorageManager.h:
154
155 2014-12-10  Anders Carlsson  <andersca@apple.com>
156
157         Begin fixing transient local storage handling
158         https://bugs.webkit.org/show_bug.cgi?id=139503
159
160         Reviewed by Sam Weinig.
161
162         * UIProcess/Storage/StorageManager.cpp:
163         (WebKit::StorageManager::createTransientLocalStorageMap):
164         * UIProcess/Storage/StorageManager.h:
165         Add empty stub implementation of createTransientLocalStorageMap.
166
167         * UIProcess/Storage/StorageManager.messages.in:
168         Add CreateTransientLocalStorageMap message.
169
170         * WebProcess/Storage/StorageAreaMap.cpp:
171         (WebKit::StorageAreaMap::StorageAreaMap):
172         If we have a local storage namespace with a non-null top-level origin, create a 
173         transient local storage map.
174
175         * WebProcess/Storage/StorageNamespaceImpl.cpp:
176         (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
177         Pass a null top-level origin to the StorageNamespaceImpl constructor.
178
179         (WebKit::StorageNamespaceImpl::createTransientLocalStorageNamespace):
180         Create a new StorageNamespaceImpl, passing the top-level origin to the constructor.
181
182         (WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
183         Pass a null top-level origin to the StorageNamespaceImpl constructor.
184
185         (WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
186         Add a top-level origin parameter.
187
188         * WebProcess/Storage/StorageNamespaceImpl.h:
189         (WebKit::StorageNamespaceImpl::topLevelOrigin):
190         Add top-level origin member and getter.
191
192         * WebProcess/Storage/WebStorageNamespaceProvider.cpp:
193         (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
194         Call StorageNamespaceImpl::createTransientLocalStorageNamespace.
195
196 2014-12-10  Anders Carlsson  <andersca@apple.com>
197
198         Implement WebStorageNamespaceProvider::createLocalStorageNamespace
199         https://bugs.webkit.org/show_bug.cgi?id=139498
200
201         Reviewed by Beth Dakin.
202
203         * WebProcess/Storage/StorageNamespaceImpl.cpp:
204         (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
205         Add a new overload that takes an identifier + quota. Have the old overload call the new one.
206
207         * WebProcess/Storage/StorageNamespaceImpl.h:
208         Add new member.
209
210         * WebProcess/Storage/WebStorageNamespaceProvider.cpp:
211         (WebKit::WebStorageNamespaceProvider::createLocalStorageNamespace):
212         Call StorageNamespaceImpl::createLocalStorageNamespace.
213
214 2014-12-10  Anders Carlsson  <andersca@apple.com>
215
216         Add a stubbed out WebStorageNamespaceProvider class to WebKit2
217         https://bugs.webkit.org/show_bug.cgi?id=139497
218
219         Reviewed by Beth Dakin.
220
221         * WebKit2.xcodeproj/project.pbxproj:
222         * WebProcess/Storage/WebStorageNamespaceProvider.cpp: Added.
223         (WebKit::storageNamespaceProviders):
224         (WebKit::WebStorageNamespaceProvider::getOrCreate):
225         (WebKit::WebStorageNamespaceProvider::WebStorageNamespaceProvider):
226         (WebKit::WebStorageNamespaceProvider::~WebStorageNamespaceProvider):
227         (WebKit::WebStorageNamespaceProvider::createLocalStorageNamespace):
228         (WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
229         * WebProcess/Storage/WebStorageNamespaceProvider.h: Added.
230
231 2014-12-10  Enrica Casucci  <enrica@apple.com>
232
233         Fix iOS builders for 8.0
234         https://bugs.webkit.org/show_bug.cgi?id=139495
235
236         Reviewed by Eric Carlson.
237
238         * UIProcess/API/Cocoa/WKWebView.mm:
239         (-[WKWebView _mayAutomaticallyShowVideoOptimized]):
240         * UIProcess/WebPageProxy.cpp:
241         (WebKit::WebPageProxy::WebPageProxy):
242         (WebKit::WebPageProxy::reattachToWebProcess):
243         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
244
245 2014-12-10  Julien Isorce  <j.isorce@samsung.com>
246
247         [GTK] Enable depth 32 for the RedirectedXCompositeWindow
248         https://bugs.webkit.org/show_bug.cgi?id=139028
249
250         On gtk/X11, the layout compositing is done in the web process.
251         If one needs to handle alpha with the rest of the application
252         then it is not enough to make to browser's window as RGBA.
253         The shared redirected window needs to be RGBA as well.
254         (The shared X composite window between UIProcess and WebProcess).
255
256         This allows an end-to-end RGBA solution when the application
257         wants to interact with the alpha channel at compositing time.
258         For example for transparent Web UI.
259
260         Reviewed by Martin Robinson.
261
262         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
263         (webkitWebViewBaseRealize):
264         (webkitWebViewBaseConstructed):
265         (webkitWebViewRenderAcceleratedCompositingResults):
266         (webkitWebViewBaseUpdatePreferences):
267         (webkitWebViewBaseCreateWebPage):
268         * UIProcess/gtk/RedirectedXCompositeWindow.cpp:
269         (WebKit::RedirectedXCompositeWindow::create):
270         (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
271         * UIProcess/gtk/RedirectedXCompositeWindow.h:
272
273 2014-12-09  Claudio Saavedra  <csaavedra@igalia.com> and Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
274
275         [GTK][WK2] Add HTML5 Notifications support
276         https://bugs.webkit.org/show_bug.cgi?id=61140
277
278         Reviewed by Carlos Garcia Campos.
279
280         * PlatformGTK.cmake: add new files to the build.
281         * UIProcess/API/gtk/WebKitForwardDeclarations.h:
282         * UIProcess/API/gtk/WebKitNotification.cpp: Added. New GObject used to expose information about
283         the notification to the API.
284         (webkitNotificationGetProperty):
285         (webkit_notification_class_init):
286         (webkitNotificationCreate):
287         (webkit_notification_get_id):
288         (webkit_notification_get_title):
289         (webkit_notification_get_body):
290         * UIProcess/API/gtk/WebKitNotification.h: Added.
291         * UIProcess/API/gtk/WebKitNotificationPermissionRequest.cpp: Added. Permission request object
292         for notifications.
293         (webkitNotificationPermissionRequestAllow):
294         (webkitNotificationPermissionRequestDeny):
295         (webkit_permission_request_interface_init):
296         (webkitNotificationPermissionRequestDispose):
297         (webkit_notification_permission_request_class_init):
298         (webkitNotificationPermissionRequestCreate):
299         * UIProcess/API/gtk/WebKitNotificationPermissionRequest.h: Added.
300         * UIProcess/API/gtk/WebKitNotificationPermissionRequestPrivate.h: Added.
301         * UIProcess/API/gtk/WebKitNotificationPrivate.h: Added.
302         * UIProcess/API/gtk/WebKitNotificationProvider.cpp: Added. Notification provider that emits signals.
303         The C API allows overriding the notification providers and managers for customizing the handling of
304         notifications. We decided to go for a single manager and a single provider which provide more idiomatic
305         GObject API - signals.
306         (toNotificationProvider):
307         (showCallback):
308         (cancelCallback):
309         (WebKitNotificationProvider::~WebKitNotificationProvider):
310         (WebKitNotificationProvider::create):
311         (WebKitNotificationProvider::WebKitNotificationProvider):
312         (WebKitNotificationProvider::show):
313         (WebKitNotificationProvider::cancel):
314         * UIProcess/API/gtk/WebKitNotificationProvider.h: Added.
315         * UIProcess/API/gtk/WebKitUIClient.cpp: implemented decidePolicyForNotificationPermissionRequest.
316         * UIProcess/API/gtk/WebKitWebContext.cpp:
317         (webkitWebContextConstructed): initialize the notification provider.
318         * UIProcess/API/gtk/WebKitWebView.cpp:
319         (webkitWebViewShowNotification): default implementation for showing the notification, currently
320         using GNotification, about to be ported to libnotify.
321         (webkit_web_view_class_init): set the default implementation for the show-notification signal.
322         (webkitWebViewEmitCloseNotification): emit the close-notification signal.
323         (webkitWebViewEmitShowNotification): emit the show-notification signal.
324         * UIProcess/API/gtk/WebKitWebView.h:
325         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
326         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: list new objects and methods.
327         * UIProcess/API/gtk/webkit2.h: include new headers.
328
329 2014-12-10  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
330
331         [EFL][[WK2] test_ewk2_text_checker is failed
332         https://bugs.webkit.org/show_bug.cgi?id=132982
333
334         Reviewed by Gyuyoung Kim.
335
336         Insert misspelled word to the input field using execCommand instead of
337         input.value attribute change which stops spell check, tracked by
338         https://bugs.webkit.org/show_bug.cgi?id=139473.
339
340         Since text checker API tests do not verify spellchecker itself (it's being
341         tested by LayoutTests/editing/spelling) but rather opportunity for overriding
342         its functionality this patch unskips those tests in order to API coverage.
343
344         * PlatformEfl.cmake:
345         Unskip test_ewk2_text_checker
346
347         * UIProcess/API/efl/tests/resources/spelling_test.html:
348         Use document.execCommand("InsertText", false, "aa ") instead of
349         input.value = "aa " to trigger spellchecker.
350
351 2014-12-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
352
353         REGRESSION(r177038): [SOUP] [GTK] Debug build broken
354         https://bugs.webkit.org/show_bug.cgi?id=139475
355
356         Reviewed by Martin Robinson.
357
358         * NetworkProcess/soup/NetworkProcessSoup.cpp:
359         (WebKit::NetworkProcess::clearCacheForAllOrigins): Call clearDiskCache().
360         (WebKit::NetworkProcess::clearDiskCache): Implement this for SOUP.
361         SoupCache don't seems to have API for clearing a part of the cache,
362         so add a FIXME note regarding that.
363
364 2014-12-09  Csaba Osztrogonác  <ossy@webkit.org>
365
366         URTBF after r177032.
367
368         * CMakeLists.txt:
369
370 2014-12-09  Alexey Proskuryakov  <ap@apple.com>
371
372         Kotoeri sometimes doesn't correctly process the first chanaracter in a text field in Safari 7.1 or 6.2
373         https://bugs.webkit.org/show_bug.cgi?id=139459
374         rdar://problem/19017432
375         rdar://problem/19036869
376
377         Reviewed by Enrica Casucci.
378
379         When inputContext changes, notify the application. We already did this when the context
380         changed due to plug-ins, and this used to sort of make it work on on yahoo.co.jp,
381         which has plug-ins. But that was quite unreliable, as evidenced by the reproducible
382         cases where we didn't use an input method for the first keypress.
383
384         * UIProcess/PageClient.h:
385         * UIProcess/WebPageProxy.cpp:
386         (WebKit::WebPageProxy::editorStateChanged):
387         * UIProcess/mac/PageClientImpl.h:
388         * UIProcess/mac/PageClientImpl.mm:
389         (WebKit::PageClientImpl::notifyApplicationAboutInputContextChange):
390
391 2014-12-09  Jeremy Jones  <jeremyj@apple.com>
392
393         Enable automatic optimized fullscreen mode.
394         https://bugs.webkit.org/show_bug.cgi?id=139437
395
396         Reviewed by Simon Fraser.
397
398         Anticipate the automatic transition to optimized video fullscreen mode when deciding if the page is visible.
399
400         * UIProcess/API/Cocoa/WKWebView.mm:
401         (-[WKWebView _isShowingVideoOptimized]): Renamed. Test precondition.
402         (-[WKWebView _mayAutomaticallyShowVideoOptimized]): Added.
403         (-[WKWebView _isPlayingFullscreenOptimizedVideo]): Deleted.
404         * UIProcess/API/Cocoa/WKWebViewInternal.h:
405         * UIProcess/ios/PageClientImplIOS.mm:
406         (WebKit::PageClientImpl::isViewVisible): Test for optimized modes even when not in a window.
407
408 2014-12-09  Anders Carlsson  <andersca@apple.com>
409
410         Add support for clearing the disk cache
411         https://bugs.webkit.org/show_bug.cgi?id=139458
412
413         Reviewed by Antti Koivisto.
414
415         * NetworkProcess/NetworkProcess.cpp:
416         (WebKit::NetworkProcess::deleteWebsiteData):
417         If we're asked to clear the disk cache, do so. Clearing the cache is asynchronous,
418         so we make sure not to call the completion handler right away in that case.
419
420         * NetworkProcess/NetworkProcess.h:
421         Add clearDiskCache member function.
422
423         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
424         (WebKit::NetworkProcess::clearDiskCache):
425         Clear the disk cache, then call the completion handler.
426
427         * NetworkProcess/mac/NetworkProcessMac.mm:
428         (WebKit::NetworkProcess::clearCacheForAllOrigins):
429         Call the new clearDiskCache function.
430
431         * Shared/WebsiteData/WebsiteDataTypes.h:
432         Add WebsiteDataTypeDiskCache.
433
434         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
435         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
436         (toWebsiteDataTypes):
437         Handle WKWebsiteDataTypeDiskCache.
438
439 2014-12-09  Myles C. Maxfield  <mmaxfield@apple.com>
440
441         Delete Node::boundingBox()
442         https://bugs.webkit.org/show_bug.cgi?id=139333
443
444         Reviewed by Zalan Bujtas.
445
446         * Shared/WebHitTestResult.cpp:
447         (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates):
448         Use RenderObject::absoluteBoundingBoxRect().
449         * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
450         (WebKit::WebPage::findZoomableAreaForPoint): Use
451         RenderObject::absoluteBoundingBoxRect().
452
453 2014-12-09  Chris Dumez  <cdumez@apple.com>
454
455         [WK2] Crash when answering notification permission request after navigating
456         https://bugs.webkit.org/show_bug.cgi?id=139429
457         <rdar://problem/18921122>
458
459         Reviewed by Andreas Kling.
460
461         When requesting a notification permission, navigating away and then
462         answering the permission, WebKit2 would crash. This is because upon
463         navigating, the request is cancelled and removed from the HashMaps
464         in NotificationPermissionRequestManager. When
465         didReceiveNotificationPermissionDecision() is later called, it would
466         look for the request identifier in m_idToOriginMap HashMap. As the
467         request was cancelled, HashMap::take() call would return null for
468         the SecurityOrigin*. This security origin pointer is then removed
469         from m_originToIDMap, but the code was failing to do a null check
470         first. Calling HashMap::remove(nullptr) would then crash.
471
472         This patch adds the missing null check and a layout test to cover
473         this case.
474
475         Test: http/tests/notifications/legacy/notification-request-permission-then-navigate.html
476         
477
478         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
479         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
480
481 2014-12-09  Anders Carlsson  <andersca@apple.com>
482
483         Implement clearing of cookies
484         https://bugs.webkit.org/show_bug.cgi?id=139455
485
486         Reviewed by Andreas Kling.
487
488         * NetworkProcess/NetworkProcess.cpp:
489         (WebKit::NetworkProcess::deleteWebsiteData):
490         Handle deleting cookies by finding the right network storage session and deleting the cookies from it.
491         Then, send a DidDeleteWebsiteData message back.
492
493         * NetworkProcess/NetworkProcess.h:
494         Add new members.
495
496         * NetworkProcess/NetworkProcess.messages.in:
497         Add new DeleteWebsiteData message.
498
499         * Shared/WebsiteData/WebsiteDataTypes.h:
500         Move the website data types enum to its own file so it can be shared.
501
502         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
503         (toWebsiteDataTypes):
504         Update now that WebsiteDataTypes is its own enum.
505
506         (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
507         removeDataModifiedSince was renamed to removeData.
508
509         * UIProcess/Network/NetworkProcessProxy.cpp:
510         (WebKit::generateCallbackID):
511         Helper function to create a callback ID.
512
513         (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
514         Assert that we have no pending callbacks.
515
516         (WebKit::NetworkProcessProxy::deleteWebsiteData):
517         Put the completion handler in our map and message the network process.
518
519         (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
520         Call all completion handlers.
521
522         (WebKit::NetworkProcessProxy::didDeleteWebsiteData):
523         Grab the completion handler and call it.
524
525         * UIProcess/Network/NetworkProcessProxy.h:
526         Add new members.
527
528         * UIProcess/Network/NetworkProcessProxy.messages.in:
529         Add DidDeleteWebsiteData callback.
530
531         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
532         (WebKit::computeNetworkProcessAccessType):
533         Helper function that computes the type of process access we'd need for the given mask of
534         website data types.
535
536         (WebKit::WebsiteDataStore::removeData):
537         Gather all the network processes and message them. Use a callback aggregator object to track callbacks
538         so we'll call the completion handler once all callbacks have been invoked.
539
540         * UIProcess/WebsiteData/WebsiteDataStore.h:
541         Move WebsiteDataTypes to its own file.
542
543         * WebKit2.xcodeproj/project.pbxproj:
544         Add new files.
545
546 2014-12-09  Anders Carlsson  <andersca@apple.com>
547
548         Give WebsiteDataStore a unique ID
549         https://bugs.webkit.org/show_bug.cgi?id=139448
550
551         Reviewed by Andreas Kling.
552
553         * Shared/WebPageCreationParameters.cpp:
554         (WebKit::WebPageCreationParameters::encode):
555         (WebKit::WebPageCreationParameters::decode):
556         * Shared/WebPageCreationParameters.h:
557         * UIProcess/WebPageProxy.cpp:
558         (WebKit::WebPageProxy::creationParameters):
559         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
560         (WebKit::generateIdentifier):
561         (WebKit::WebsiteDataStore::WebsiteDataStore):
562         * UIProcess/WebsiteData/WebsiteDataStore.h:
563         (WebKit::WebsiteDataStore::identifier):
564
565 2014-12-09  Anders Carlsson  <andersca@apple.com>
566
567         Build fix.
568
569         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
570
571 2014-12-09  Ting-Wei Lan  <lantw44@gmail.com>
572
573         [GTK] LDFLAGS is ignored when running g-ir-scanner
574         https://bugs.webkit.org/show_bug.cgi?id=138832
575
576         Reviewed by Carlos Garcia Campos.
577
578         GTK+ requires libintl on FreeBSD because there is no gettext
579         implementation in FreeBSD libc. In order to link to libintl, which is
580         not located in the default search path of the linker, we need to add
581         the required path via the linker command line. However, LDFLAGS is
582         ignored when running g-ir-scanner starting from r167873, so we have
583         to manually pick required flags from CMAKE_SHARED_LINKER_FLAGS and
584         put them in correct order to prevent g-ir-scanner from linking to
585         the installed version of libraries.
586
587         * PlatformGTK.cmake:
588
589 2014-12-09  Jeremy Jones  <jeremyj@apple.com>
590
591         Enable activating optimized fullscreen mode from standard fulscreen mode.
592         https://bugs.webkit.org/show_bug.cgi?id=139137
593
594         Reviewed by Simon Fraser.
595
596         Going from standard fullscreen mode to optimized fullscreen mode requires the ability to
597         update the fullscreen mode and a new standard-and-optimized-fullscreen mode.
598
599         * UIProcess/API/Cocoa/WKWebView.mm:
600         (-[WKWebView _isPlayingFullscreenOptimizedVideo]): 
601         Treat new standard-and-optimized as a kind of optimized.
602         * UIProcess/ios/WebVideoFullscreenManagerProxy.h: IPC fullscreen mode changes
603         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm: ditto
604         (WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): dito
605         * WebProcess/ios/WebVideoFullscreenManager.h: ditto
606         * WebProcess/ios/WebVideoFullscreenManager.messages.in: ditto
607         * WebProcess/ios/WebVideoFullscreenManager.mm: dito
608         (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager): ditto
609         (WebKit::WebVideoFullscreenManager::setFullscreenModeChanged): ditto
610
611 2014-12-08  Jaehun Lim  <ljaehun.lim@samsung.com>
612
613         [EFL] Use DependenciesEFL instead of Dependencies
614
615         Unreviewed, fix simple typo.
616
617         * PlatformEfl.cmake:
618
619 2014-12-08  Beth Dakin  <bdakin@apple.com>
620
621         Copy and Lookup menu items should be disabled when something is not copyable
622         https://bugs.webkit.org/show_bug.cgi?id=139423
623
624         Reviewed by Tim Horton.
625
626         Add allowsCopy to the WebHitTestResult.
627         * Shared/WebHitTestResult.cpp:
628         (WebKit::WebHitTestResult::Data::Data):
629         (WebKit::WebHitTestResult::Data::encode):
630         (WebKit::WebHitTestResult::Data::decode):
631         * Shared/WebHitTestResult.h:
632         (WebKit::WebHitTestResult::allowsCopy):
633
634         Set autoenablesItems to NO. It’s messing with our ability to control the enable/
635         disable state otherwise.
636         * UIProcess/API/mac/WKView.mm:
637         (-[WKView initWithFrame:context:configuration:webView:]):
638
639         Disable both lookup and copy when a WebHitTestResult does not allow copy.
640         * UIProcess/mac/WKActionMenuController.mm:
641
642 2014-12-08  Dan Bernstein  <mitz@apple.com>
643
644         <rdar://problem/18905383> [iOS] Crash due to null m_webPageProxyForBackForwardListForCurrentSwipe in ViewGestureController::endSwipeGesture
645         https://bugs.webkit.org/show_bug.cgi?id=138750
646
647         Reviewed by Tim Horton.
648
649         The snapshot for the current gesture was being removed mid-gesture by the callback from
650         dispatchAfterEnsuringDrawing scheduled by the previous gesture. The fix is to ignore the
651         callback for a gesture if it is made after the snapshot for that gesture has already been
652         removed (which can happen as a result of the watchdog timer firing).
653
654         * UIProcess/ios/ViewGestureControllerIOS.mm:
655         (WebKit::ViewGestureController::ViewGestureController): Initialize new member variable.
656         (WebKit::addLogEntry): Fixed the log message format.
657         (WebKit::ViewGestureController::endSwipeGesture): When dispatchAfterEnsuringDrawing() calls
658         us back, bail out if the gesture snapshot has already been removed.
659         (WebKit::ViewGestureController::removeSwipeSnapshot): Increment
660         m_gesturePendingSnapshotRemoval.
661         * UIProcess/mac/ViewGestureController.h: Added m_gesturePendingSnapshotRemoval member
662         variable.
663
664 2014-12-08  Anders Carlsson  <andersca@apple.com>
665
666         The website data store should know all its associated pages
667         https://bugs.webkit.org/show_bug.cgi?id=139411
668
669         Reviewed by Tim Horton.
670
671         * UIProcess/WebPageProxy.cpp:
672         (WebKit::WebPageProxy::WebPageProxy):
673         (WebKit::WebPageProxy::close):
674         * UIProcess/WebPageProxy.h:
675         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
676         (WebKit::WebsiteDataStore::~WebsiteDataStore):
677         (WebKit::WebsiteDataStore::addWebPage):
678         (WebKit::WebsiteDataStore::removeWebPage):
679         * UIProcess/WebsiteData/WebsiteDataStore.h:
680
681 2014-12-08  Dan Bernstein  <mitz@apple.com>
682
683         <rdar://problem/18046692> [iOS] Safari crashes at -[_NSUndoStack popAndInvoke] when trying to undo typing on closed tab
684         https://bugs.webkit.org/show_bug.cgi?id=139408
685
686         Reviewed by Anders Carlsson.
687
688         * UIProcess/ios/WKContentView.mm:
689         (-[WKContentView undoManager]): Override to initialize if necessary and return a unique undo
690         manager for this instance. This ensures that undoable operations for this webview don’t get
691         put in other undo managers, and matches UIWebView behavior.
692
693 2014-12-08  Chris Dumez  <cdumez@apple.com>
694
695         Revert r176293 & r176275
696
697         Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type
698         instead of size_t. There is some disagreement regarding the long-term direction
699         of the API and we shouldn’t leave the API partly transitioned to unsigned type
700         while making a decision.
701
702         * Platform/IPC/ArgumentCoders.h:
703         * Platform/IPC/DataReference.h:
704
705 2014-12-08  Anders Carlsson  <andersca@apple.com>
706
707         Make deleting all cookies after a given date a little more sane
708         https://bugs.webkit.org/show_bug.cgi?id=139409
709
710         Reviewed by Antti Koivisto.
711
712         Change all the doubles to std::chrono::system_clock::time_points instead.
713
714         * Platform/IPC/ArgumentCoders.cpp:
715         (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::encode):
716         (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::decode):
717         * Platform/IPC/ArgumentCoders.h:
718         * Scripts/webkit/messages.py:
719         (headers_for_type):
720         * UIProcess/API/C/WKCookieManager.cpp:
721         (WKCookieManagerDeleteAllCookiesModifiedAfterDate):
722         * UIProcess/API/C/WKCookieManager.h:
723         * UIProcess/WebCookieManagerProxy.cpp:
724         (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
725         (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Deleted.
726         * UIProcess/WebCookieManagerProxy.h:
727         * WebProcess/Cookies/WebCookieManager.cpp:
728         (WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
729         (WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Deleted.
730         * WebProcess/Cookies/WebCookieManager.h:
731         * WebProcess/Cookies/WebCookieManager.messages.in:
732
733 2014-12-08  Anders Carlsson  <andersca@apple.com>
734
735         Move the callback invocation outside of the loop.
736
737         Rubber-stamped by Tim Horton.
738
739         * UIProcess/WebKeyValueStorageManager.cpp:
740         (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
741
742 2014-12-08  Anders Carlsson  <andersca@apple.com>
743
744         Add a stub implementation of WebsiteDataStore::removeDataModifiedSince
745         https://bugs.webkit.org/show_bug.cgi?id=139406
746
747         Reviewed by Antti Koivisto.
748
749         Change _WKWebsiteDataStore to call the newly added function.
750
751         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
752         (toWebsiteDataTypes):
753         (toSystemClockTime):
754         (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
755         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
756         (WebKit::WebsiteDataStore::removeDataModifiedSince):
757         * UIProcess/WebsiteData/WebsiteDataStore.h:
758
759 2014-12-08  Gwang Yoon Hwang  <yoon@igalia.com>
760
761         [GTK] Let DrawingArea manages setAcceleratedCompositingWindowId
762         https://bugs.webkit.org/show_bug.cgi?id=117230
763
764         Reviewed by Anders Carlsson.
765
766         This is a preparation patch for Threaded Coordinated Graphics.
767
768         LayerTreeHostGtk uses a native window handle to make glContext for
769         accelerated compositing. Therefore it is natural for DrawingArea to take
770         responsibility for the native window handle. And, in Coordinated
771         Graphics case, WebPage creates LayerTreeHost before receiving a native
772         window handle from UIProcess. It means we need a method to pass the
773         native window handle to already created LayerTreeHost.
774
775         This patch uses DrawingAreaProxy::setNativeSurfaceHandleForCompositing
776         instead of WebCoreProxy::setAcceleratedCompositingWindowId to set window
777         ID for accelerated compositing.
778
779         Also, this patch renames the setAcceleratedCompositingWindowId with a
780         more generic name, setNativeSurfaceHandleForCompositing.
781
782         No new tests. No change in functionality.
783
784         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
785         (webkitWebViewBaseCreateWebPage):
786         * UIProcess/DrawingAreaProxyImpl.cpp:
787         (WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing):
788         * UIProcess/DrawingAreaProxyImpl.h:
789         * UIProcess/WebPageProxy.h:
790         * UIProcess/gtk/WebPageProxyGtk.cpp:
791         (WebKit::WebPageProxy::setAcceleratedCompositingWindowId): Deleted.
792         * WebProcess/WebPage/DrawingArea.h:
793         (WebKit::DrawingArea::nativeSurfaceHandleForCompositing):
794         * WebProcess/WebPage/DrawingArea.messages.in:
795         * WebProcess/WebPage/DrawingAreaImpl.cpp:
796         (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
797         * WebProcess/WebPage/DrawingAreaImpl.h:
798         * WebProcess/WebPage/WebPage.h:
799         * WebProcess/WebPage/WebPage.messages.in:
800         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
801         (WebKit::LayerTreeHostGtk::glContext):
802         (WebKit::LayerTreeHostGtk::initialize):
803         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
804         (WebKit::WebPage::platformInitialize):
805         (WebKit::WebPage::setAcceleratedCompositingWindowId): Deleted.
806
807 2014-12-08  Philippe Normand  <pnormand@igalia.com>
808
809         [GTK] UserMedia Permission Request API
810         https://bugs.webkit.org/show_bug.cgi?id=136449
811
812         Reviewed by Carlos Garcia Campos.
813
814         * PlatformGTK.cmake: GTK-specific new files.
815         * UIProcess/API/gtk/WebKitUIClient.cpp:  DecidePolicy handler
816         implementation for UserMediaPermissionRequest.
817         * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp: Added,
818         WebKitGTK API for UserMediaPermissionRequest, very similar to the
819         one used for Geolocation.
820         (webkitUserMediaPermissionRequestAllow):
821         (webkitUserMediaPermissionRequestDeny):
822         (webkit_permission_request_interface_init):
823         (webkitUserMediaPermissionRequestDispose):
824         (webkit_user_media_permission_get_media_types):
825         (webkitUserMediaPermissionRequestGetProperty):
826         (webkit_user_media_permission_request_class_init):
827         (webkitUserMediaPermissionRequestCreate):
828         * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.h: Added.
829         * UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h: Added.
830         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Expose new API
831         in documentation.
832         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
833         * UIProcess/API/gtk/webkit2.h: Expose UserMediaPermissionRequest API.
834
835 2014-12-08  Anders Carlsson  <andersca@apple.com>
836
837         Add a stubbed out method for clearing out the website data store
838         https://bugs.webkit.org/show_bug.cgi?id=139404
839
840         Reviewed by Antti Koivisto.
841
842         Add stubbed out method that just calls the completion handler.
843
844         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
845         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
846         (-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
847
848 2014-12-06  Antti Koivisto  <antti@apple.com>
849
850         REGRESSION (173394): Support for webcam is broken
851         https://bugs.webkit.org/show_bug.cgi?id=139313
852
853         Reviewed by Alexey Proskuryakov.
854
855         * NetworkProcess/NetworkResourceLoader.cpp:
856         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
857
858             Don't buffer when handling multipart/x-mixed-replace. Multiple calls to didReceiveResponseAsync break assumptions.
859
860 2014-12-08  Gwang Yoon Hwang  <yoon@igalia.com>
861
862         [CoordinatedGraphics] Move CoordinatedBackingStore and CoordinatedGraphicsScene to Shared
863         https://bugs.webkit.org/show_bug.cgi?id=139385
864
865         Reviewed by Martin Robinson.
866
867         For the Threaded Compositor, CoordinatedBackingStore and
868         CoordinatedGraphicsScene should be placed at the Shared instead of
869         UIProcess because it can be used in the WebProcess also.
870
871         No new tests because there is no behavior change.
872
873         * PlatformEfl.cmake:
874         * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp.
875         * Shared/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h.
876         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp.
877         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h.
878
879 2014-12-08  Shivakumar JM  <shiva.jm@samsung.com>
880
881         Fix build warning in WebKit2/UIProcess module.
882         https://bugs.webkit.org/show_bug.cgi?id=139386
883
884         Reviewed by Alexey Proskuryakov.
885
886         Fix build warning by removing unused parameter name from function
887
888         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
889         (WebKit::WebsiteDataStore::WebsiteDataStore):
890
891 2014-12-07  Gwang Yoon Hwang  <yoon@igalia.com>
892
893         [CoordinatedGraphics] Change the namespace of CoordinatedBackingStore and CoordinatedGraphicsScene
894         https://bugs.webkit.org/show_bug.cgi?id=139372
895
896         Reviewed by Gyuyoung Kim.
897
898         CoordinatedBackingStore and CoordinatedGraphicsScene should be declared in the WebKit namespace
899         instead of WebCore namespace.
900
901         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
902         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
903         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
904         (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
905         (WebKit::CoordinatedBackingStore::rect):
906         (WebCore::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile): Deleted.
907         (WebCore::CoordinatedBackingStore::rect): Deleted.
908         * UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
909         * UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h:
910         (WebKit::CoordinatedGraphicsScene::setViewBackgroundColor):
911         (WebKit::CoordinatedGraphicsScene::viewBackgroundColor):
912         (WebKit::CoordinatedGraphicsScene::layerByID):
913         (WebKit::CoordinatedGraphicsScene::rootLayer):
914         (WebCore::CoordinatedGraphicsScene::setViewBackgroundColor): Deleted.
915         (WebCore::CoordinatedGraphicsScene::viewBackgroundColor): Deleted.
916         (WebCore::CoordinatedGraphicsScene::layerByID): Deleted.
917         (WebCore::CoordinatedGraphicsScene::rootLayer): Deleted.
918         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
919         (WebKit::CoordinatedLayerTreeHostProxy::coordinatedGraphicsScene):
920         * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h:
921         (WebKit::toImpl):
922         (WebKit::toAPI):
923         (toImpl): Deleted.
924         (toAPI): Deleted.
925         * UIProcess/CoordinatedGraphics/WebView.h:
926
927 2014-12-07  Dan Bernstein  <mitz@apple.com>
928
929         Introduce and deploy a function that allocates and returns an instance of a soft-linked class
930         https://bugs.webkit.org/show_bug.cgi?id=139348
931
932         Reviewed by Anders Carlsson.
933
934         In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler
935         picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead
936         to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo
937         doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus
938         avoiding the ambiguity.
939
940         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
941         (-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]):
942         (-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]):
943         (-[WKAirPlayRoutePicker show:fromRect:]):
944         * UIProcess/ios/forms/WKFileUploadPanel.mm:
945         (-[_WKVideoFileUploadItem displayImage]):
946         * UIProcess/mac/WKActionMenuController.mm:
947         (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
948         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
949         (WebKit::PlatformCALayerRemoteCustom::clone):
950
951 2014-12-06  Anders Carlsson  <andersca@apple.com>
952
953         Fix build with newer versions of clang.
954         rdar://problem/18978733
955
956         Add missing overrides and casts.
957
958         * NetworkProcess/NetworkProcess.h:
959         * Shared/Downloads/DownloadAuthenticationClient.h:
960         (WebKit::DownloadAuthenticationClient::refAuthenticationClient): Deleted.
961         (WebKit::DownloadAuthenticationClient::derefAuthenticationClient): Deleted.
962         * UIProcess/API/C/WKPage.cpp:
963         (WKPageSetPageUIClient):
964         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
965         (-[WKWebViewConfiguration copyWithZone:]):
966         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
967         (-[_WKProcessPoolConfiguration copyWithZone:]):
968         * UIProcess/Cocoa/NavigationState.h:
969         * UIProcess/Network/NetworkProcessProxy.h:
970         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
971         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterViewportChange): Deleted.
972         * UIProcess/WebPageProxy.h:
973         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
974         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork): Deleted.
975         (WebKit::WebContentProcessMainDelegate::getConnectionIdentifier): Deleted.
976         (WebKit::WebContentProcessMainDelegate::getClientIdentifier): Deleted.
977         (WebKit::WebContentProcessMainDelegate::getClientProcessName): Deleted.
978         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
979         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
980         (WebKit::InjectedBundle::initialize):
981         * WebProcess/WebCoreSupport/WebChromeClient.h:
982         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
983         * WebProcess/WebPage/WebBackForwardListProxy.h:
984         * WebProcess/WebPage/WebInspector.h:
985         (WebKit::WebInspector::didClose): Deleted.
986         (WebKit::WebInspector::didReceiveInvalidMessage): Deleted.
987         * WebProcess/WebPage/WebInspectorUI.h:
988         (WebKit::WebInspectorUI::didClose): Deleted.
989         (WebKit::WebInspectorUI::didReceiveInvalidMessage): Deleted.
990         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
991         * WebProcess/WebProcess.h:
992         * WebProcess/ios/WebVideoFullscreenManager.h:
993
994 2014-12-06  Anders Carlsson  <andersca@apple.com>
995
996         Only include TUCallSPI on Mac.
997
998         * Platform/mac/MenuUtilities.mm:
999
1000 2014-12-06  Commit Queue  <commit-queue@webkit.org>
1001
1002         Unreviewed, rolling out r176905.
1003         https://bugs.webkit.org/show_bug.cgi?id=139337
1004
1005         the test case is failing in bots (Requested by anttik on
1006         #webkit).
1007
1008         Reverted changeset:
1009
1010         "REGRESSION (173394): Support for webcam is broken"
1011         https://bugs.webkit.org/show_bug.cgi?id=139313
1012         http://trac.webkit.org/changeset/176905
1013
1014 2014-12-05  Antti Koivisto  <antti@apple.com>
1015
1016         REGRESSION (173394): Support for webcam is broken
1017         https://bugs.webkit.org/show_bug.cgi?id=139313
1018
1019         Reviewed by Alexey Proskuryakov.
1020
1021         * NetworkProcess/NetworkResourceLoader.cpp:
1022         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
1023
1024             Don't buffer when handling multipart/x-mixed-replace. Multiple calls to didReceiveResponseAsync break assumptions.
1025
1026 2014-12-05  Yongjun Zhang  <yongjun_zhang@apple.com>
1027
1028         Add a delegate method for didReceiveServerRedirectForProvisionalLoadForFrame.
1029         https://bugs.webkit.org/show_bug.cgi?id=139325
1030
1031         Add delegate method webProcessPlugInBrowserContextController:didReceiveServerRedirectForProvisionalLoadForFrame: into
1032         WKWebProcessPlugInLoadDelegate to listen to server side redirect in injected bundle.
1033
1034         Reviewed by Dan Bernstein.
1035
1036         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
1037         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
1038         (didReceiveServerRedirectForProvisionalLoadForFrame):
1039         (setUpPageLoaderClient):
1040
1041 2014-12-05  Csaba Osztrogonác  <ossy@webkit.org>
1042
1043         URTBF, EFL is happy now.
1044
1045         * UIProcess/API/APIWebsiteDataStore.cpp:
1046         (API::WebsiteDataStore::defaultDataStoreConfiguration):
1047         * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1048         (WebKit::WebsiteDataStore::createNonPersistent):
1049
1050 2014-12-05  Mark Lam  <mark.lam@apple.com>
1051
1052         Gardening: one more build fix for GTK builds.
1053
1054         * CMakeLists.txt:
1055
1056 2014-12-05  Csaba Osztrogonác  <ossy@webkit.org>
1057
1058         URTBF, remove duplicated entry due to parallel buildfixing.
1059
1060         * CMakeLists.txt:
1061
1062 2014-12-05  Csaba Osztrogonác  <ossy@webkit.org>
1063
1064         URTBF after r176849.
1065
1066         * CMakeLists.txt: Added WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp.
1067
1068 2014-12-05  Mark Lam  <mark.lam@apple.com>
1069
1070         Gardening: another build fix for GTK builds.
1071
1072         * CMakeLists.txt:
1073
1074 2014-12-05  Mark Lam  <mark.lam@apple.com>
1075
1076         Gardening: more speculative build fix for GTK builds.
1077
1078         * CMakeLists.txt:
1079
1080 2014-12-05  Tim Horton  <timothy_horton@apple.com>
1081
1082         Use the system string for telephone number menu
1083         https://bugs.webkit.org/show_bug.cgi?id=139324
1084         <rdar://problem/18726471>
1085
1086         Reviewed by Anders Carlsson.
1087
1088         * Platform/mac/MenuUtilities.mm:
1089         (WebKit::menuItemTitleForTelephoneNumberGroup):
1090         Make use of the SPI to retrieve the string if it exists.
1091
1092 2014-12-05  Tim Horton  <timothy_horton@apple.com>
1093
1094         If the action menu hit test times out, a menu with a single separator appears
1095         https://bugs.webkit.org/show_bug.cgi?id=139320
1096         <rdar://problem/19158331>
1097
1098         Reviewed by Beth Dakin.
1099
1100         * UIProcess/mac/WKActionMenuController.h:
1101         * UIProcess/mac/WKActionMenuController.mm:
1102         (-[WKActionMenuController menuNeedsUpdate:]):
1103         (-[WKActionMenuController _defaultMenuItems]):
1104         Add a new "TimedOut" state, which we get into if the sync wait for
1105         didPerformActionMenuHitTest times out. In this case, we'll drop the
1106         separator item and give up on the menu. This way, the menu will never
1107         have just a single separator item at the end of menuNeedsUpdate:.
1108
1109 2014-12-05  Mark Lam  <mark.lam@apple.com>
1110
1111         Gardening: speculative build fix for GTK builds.
1112
1113         * CMakeLists.txt:
1114
1115 2014-12-05  Anders Carlsson  <andersca@apple.com>
1116
1117         Fix build.
1118
1119         * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
1120         (API::WebsiteDataStore::defaultDataStoreConfiguration):
1121
1122 2014-12-05  Anders Carlsson  <andersca@apple.com>
1123
1124         Give all web pages a website data store
1125         https://bugs.webkit.org/show_bug.cgi?id=139317
1126
1127         Reviewed by Tim Horton.
1128
1129         * UIProcess/API/Cocoa/WKWebView.mm:
1130         (-[WKWebView initWithFrame:configuration:]):
1131         Set the website data store on the window.
1132
1133         * UIProcess/WebContext.cpp:
1134         (WebKit::websiteDataStoreConfiguration):
1135         Helper function that will create the default website data store configuration for a context.
1136
1137         (WebKit::WebContext::WebContext):
1138         Create a new, per-context data store.
1139
1140         (WebKit::WebContext::createWebPage):
1141         If we don't have a data store filled in, use the default per-context one.
1142
1143         * UIProcess/WebContext.h:
1144         * UIProcess/WebPageProxy.h:
1145
1146 2014-12-05  Anders Carlsson  <andersca@apple.com>
1147
1148         Move the website data store code to a new file
1149         https://bugs.webkit.org/show_bug.cgi?id=139312
1150
1151         Reviewed by Tim Horton.
1152
1153         It's weird to have all the website data code in the API class, so move it to a new file.
1154
1155         * UIProcess/API/APIWebsiteDataStore.cpp:
1156         (API::WebsiteDataStore::WebsiteDataStore):
1157         (API::WebsiteDataStore::isNonPersistent):
1158         (API::generateNonPersistentSessionID): Deleted.
1159         * UIProcess/API/APIWebsiteDataStore.h:
1160         * UIProcess/API/Cocoa/WKWebView.mm:
1161         (-[WKWebView initWithFrame:configuration:]):
1162         * UIProcess/WebsiteData/WebsiteDataStore.cpp: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp.
1163         (WebKit::generateNonPersistentSessionID):
1164         (WebKit::WebsiteDataStore::createNonPersistent):
1165         (WebKit::WebsiteDataStore::create):
1166         (WebKit::WebsiteDataStore::WebsiteDataStore):
1167         (WebKit::WebsiteDataStore::~WebsiteDataStore):
1168         * UIProcess/WebsiteData/WebsiteDataStore.h: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h.
1169         (WebKit::WebsiteDataStore::isNonPersistent):
1170         (WebKit::WebsiteDataStore::sessionID):
1171         * WebKit2.xcodeproj/project.pbxproj:
1172
1173 2014-12-05  Tim Horton  <timothy_horton@apple.com>
1174
1175         Keyboard input should be disabled in the preview popover
1176         https://bugs.webkit.org/show_bug.cgi?id=139219
1177         <rdar://problem/19052381>
1178
1179         Reviewed by Anders Carlsson.
1180
1181         * UIProcess/API/mac/WKView.mm:
1182         (-[WKView performKeyEquivalent:]):
1183         (-[WKView keyUp:]):
1184         (-[WKView keyDown:]):
1185         (-[WKView flagsChanged:]):
1186         There are two implementations of each of these methods in this file.
1187         Adjust the ones that the original patch missed.
1188
1189 2014-12-05  Antti Koivisto  <antti@apple.com>
1190
1191         In NetworkResourceLoader always bail out after abort()
1192         https://bugs.webkit.org/show_bug.cgi?id=139299
1193
1194         Reviewed by Alexey Proskuryakov.
1195
1196         Invoking abort() may kill the current object. Take care to bail out after it.
1197
1198         * NetworkProcess/NetworkResourceLoader.cpp:
1199         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
1200         (WebKit::NetworkResourceLoader::didReceiveBuffer):
1201         (WebKit::NetworkResourceLoader::didFinishLoading):
1202
1203             Either make sure sendAbortingOnFailure() is called last in callbacks or the results is explicitly tested.
1204
1205         (WebKit::NetworkResourceLoader::bufferingTimerFired):
1206         (WebKit::NetworkResourceLoader::sendBufferMaybeAborting):
1207
1208             Rename and return a boolean to indicate if load should continue.
1209
1210         (WebKit::NetworkResourceLoader::sendBuffer): Deleted.
1211         * NetworkProcess/NetworkResourceLoader.h:
1212
1213 2014-12-05  Anders Carlsson  <andersca@apple.com>
1214
1215         Don't use PLATFORM(IOS) in non-project headers.
1216
1217         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1218         (-[WKWebViewConfiguration _allowsAlternateFullscreen]):
1219         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1220
1221 2014-12-05  Sam Weinig  <sam@webkit.org>
1222
1223         WKBundleCSSStyleDeclarationRef needs to be a real API::Object
1224         https://bugs.webkit.org/show_bug.cgi?id=139291
1225
1226         Reviewed by Dan Bernstein.
1227
1228         Change WKBundleCSSStyleDeclarationRef from being a WebCore::CSSStyleDeclaration, to
1229         being a real API::Object.  WKRetain and WKRelease require this.
1230
1231         * Shared/APIObject.h:
1232         * WebKit2.xcodeproj/project.pbxproj:
1233         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
1234         * WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp: Added.
1235         (WebKit::domHandleCache):
1236         (WebKit::InjectedBundleCSSStyleDeclarationHandle::getOrCreate):
1237         (WebKit::InjectedBundleCSSStyleDeclarationHandle::InjectedBundleCSSStyleDeclarationHandle):
1238         (WebKit::InjectedBundleCSSStyleDeclarationHandle::~InjectedBundleCSSStyleDeclarationHandle):
1239         * WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.h: Added.
1240         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
1241         (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
1242
1243 2014-12-05  Anders Carlsson  <andersca@apple.com>
1244
1245         Oops, didn't mean to commit this.
1246
1247         * Shared/API/Cocoa/WKFoundation.h:
1248
1249 2014-12-05  Anders Carlsson  <andersca@apple.com>
1250
1251         Add an API::WebsiteDataStore object and use it for _WKWebsiteDataStore
1252         https://bugs.webkit.org/show_bug.cgi?id=139304
1253
1254         Reviewed by Tim Horton.
1255
1256         * Shared/APIObject.h:
1257         * Shared/Cocoa/APIObject.mm:
1258         (API::Object::newObject):
1259         Make _WKWebsiteDataStore a wrapper for API::WebsiteDataStore instead of API::Session.
1260
1261         * UIProcess/API/APIWebsiteDataStore.cpp: Added.
1262         (API::generateNonPersistentSessionID):
1263         (API::WebsiteDataStore::defaultDataStore):
1264         (API::WebsiteDataStore::createNonPersistentDataStore):
1265         (API::WebsiteDataStore::WebsiteDataStore):
1266         (API::WebsiteDataStore::~WebsiteDataStore):
1267         (API::WebsiteDataStore::isNonPersistent):
1268         Add new WebsiteDataStore implementation. Currently it only contains the WebCore Session ID, but more will be
1269         added to it in upcoming commits.
1270
1271         * UIProcess/API/APIWebsiteDataStore.h:
1272         Add header.
1273
1274         * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: Added.
1275         (API::WebsiteDataStore::defaultDataStoreConfiguration):
1276         Platform specific file that returns the default data store configuration.
1277
1278         * UIProcess/API/Cocoa/WKWebView.mm:
1279         (-[WKWebView initWithFrame:configuration:]):
1280         Set the session ID from the website data store.
1281
1282         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
1283         (+[_WKWebsiteDataStore defaultDataStore]):
1284         (+[_WKWebsiteDataStore nonPersistentDataStore]):
1285         (-[_WKWebsiteDataStore dealloc]):
1286         (-[_WKWebsiteDataStore isNonPersistent]):
1287         (-[_WKWebsiteDataStore _apiObject]):
1288         Update now that we wrap an API::WebsiteDataStore instead.
1289
1290         * UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h:
1291         (WebKit::wrapper):
1292         Update for API::Session -> API::WebsiteDataStore change.
1293
1294         * WebKit2.xcodeproj/project.pbxproj:
1295         Add new files.
1296
1297 2014-12-05  David Kilzer  <ddkilzer@apple.com>
1298
1299         FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY
1300         <http://webkit.org/b/139286>
1301
1302         Reviewed by Daniel Bates.
1303
1304         * Configurations/FeatureDefines.xcconfig: Switch back to using
1305         PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8.
1306
1307 2014-12-05  Anders Carlsson  <andersca@apple.com>
1308
1309         Make WebPageProxy hold on to a SessionID instead of an API:Session
1310         https://bugs.webkit.org/show_bug.cgi?id=139302
1311
1312         Reviewed by Sam Weinig.
1313
1314         This is in preparation for adding API::WebsiteDataStore. Currently we have to keep the
1315         Session ID and the WebsiteDataStore separate because we still need to support toggling private browsing.
1316
1317         * UIProcess/API/C/WKPage.cpp:
1318         (WKPageSetSession):
1319         * UIProcess/API/C/WKSessionRef.cpp:
1320         (WKSessionCreate):
1321         * UIProcess/API/Cocoa/WKWebView.mm:
1322         (-[WKWebView initWithFrame:configuration:]):
1323         * UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
1324         (+[_WKWebsiteDataStore nonPersistentDataStore]):
1325         * UIProcess/APISession.cpp:
1326         (API::generateID):
1327         (API::Session::Session):
1328         (API::Session::createEphemeral):
1329         (API::Session::legacyPrivateSession): Deleted.
1330         (API::Session::create): Deleted.
1331         * UIProcess/APISession.h:
1332         * UIProcess/WebContext.cpp:
1333         (WebKit::WebContext::createWebPage):
1334         * UIProcess/WebPageProxy.cpp:
1335         (WebKit::WebPageProxy::WebPageProxy):
1336         (WebKit::WebPageProxy::setSessionID):
1337         (WebKit::WebPageProxy::creationParameters):
1338         (WebKit::WebPageProxy::setSession): Deleted.
1339         * UIProcess/WebPageProxy.h:
1340         (WebKit::WebPageProxy::sessionID):
1341
1342 2014-12-05  Eric Carlson  <eric.carlson@apple.com>
1343
1344         [iOS] allow host application to opt-out of alternate fullscreen pt. 2
1345         https://bugs.webkit.org/show_bug.cgi?id=139227
1346
1347         Reviewed by Jer Noble and Anders Carlsson.
1348
1349         * UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add bool param to setupFullscreenWithID.
1350         * UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: Ditto.
1351         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1352         (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Ditto.
1353
1354         * WebProcess/ios/WebVideoFullscreenManager.mm:
1355         (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Pass new parameter
1356             to SetupFullscreenWithID.
1357
1358 2014-12-04  Anders Carlsson  <andersca@apple.com>
1359
1360         Add missing includes in preparation for making toAPI require that it's passed an API::Object
1361         https://bugs.webkit.org/show_bug.cgi?id=139278
1362
1363         Reviewed by Tim Horton.
1364
1365         * UIProcess/API/C/WKAuthenticationChallenge.cpp:
1366         * UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
1367         * UIProcess/API/C/WKContext.cpp:
1368         * UIProcess/API/C/WKDownload.cpp:
1369         * UIProcess/API/C/WKFrame.cpp:
1370         * UIProcess/API/C/WKGeolocationManager.cpp:
1371         * UIProcess/API/C/WKInspector.cpp:
1372         * UIProcess/API/C/WKPage.cpp:
1373         * UIProcess/GenericCallback.h:
1374         * UIProcess/Notifications/WebNotificationProvider.cpp:
1375         * UIProcess/WebContextConnectionClient.cpp:
1376         * UIProcess/WebContextInjectedBundleClient.cpp:
1377         * UIProcess/WebCookieManagerProxyClient.cpp:
1378         * UIProcess/WebDatabaseManagerProxyClient.cpp:
1379         * UIProcess/WebFindClient.cpp:
1380         * UIProcess/WebFormClient.cpp:
1381         * UIProcess/WebIconDatabaseClient.cpp:
1382         * UIProcess/WebPageContextMenuClient.cpp:
1383         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1384         * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp:
1385         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1386         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
1387         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1388         * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
1389         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
1390         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1391         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
1392         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
1393         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1394
1395 2014-12-04  Anders Carlsson  <andersca@apple.com>
1396
1397         Make API::String copy the underlying strings if needed, for thread safety
1398         https://bugs.webkit.org/show_bug.cgi?id=139261
1399
1400         Reviewed by Sam Weinig.
1401
1402         * Shared/API/c/WKString.cpp:
1403         (WKStringCreateWithUTF8CString):
1404         (WKStringCreateWithJSString):
1405         (WKStringCopyJSString):
1406         Move the implementations from API::String and directly into the API functions.
1407
1408         * Shared/APIString.h:
1409         Add a create overload that takes an rvalue reference. Call it from the create overload
1410         that takes an lvalue reference, but explicitly copy the string.
1411         We call isolatedCopy() again on the string in the rvalue reference overload, but that is a no-op
1412         if the string can be sent to another thread. Add assertions in the String constructor that we can
1413         send the string to another thread.
1414
1415 2014-12-04  Beth Dakin  <bdakin@apple.com>
1416
1417         Clients disabling action menus sometimes still invoke action menu behaviors
1418         https://bugs.webkit.org/show_bug.cgi?id=139270
1419         -and corresponding-
1420         rdar://problem/19147218
1421
1422         Reviewed by Tim Horton.
1423
1424         By default, we will keep a single item in the action menu up until the point where 
1425         _state == ActionMenuState::Ready. So by checking _state here, we are preventing 
1426         clients from opting out of our choice to wait. Ideally we would always still wait 
1427         for the Ready state, but this will get the best behavior in the mean time.
1428         * UIProcess/mac/WKActionMenuController.mm:
1429         (-[WKActionMenuController _updateActionMenuItems]):
1430
1431 2014-12-04  Antti Koivisto  <antti@apple.com>
1432
1433         REGRESSION (r173468): Cannot step in WebInspector
1434         https://bugs.webkit.org/show_bug.cgi?id=139260
1435
1436         Reviewed by Alexey Proskuryakov.
1437
1438         Inspector defers all loads and starts a nested runloop when it hits a breakpoint. When continuing it undefers the loads.
1439         If the script execution was triggered from the didFinishLoading callback of the main resource then the main resource would
1440         already be in the finished state in the network process side and setDefersLoading(false) message would end up restarting its load.
1441         Since loads are not meant to restart the generated callbacks would assert or crash the web process when handled in the next
1442         nested inspector runloop.
1443
1444         Fix by taking care that cleaned up NetworkResourceLoaders are always removed from the loader map of
1445         the NetworkConnectionToWebProcess and so can't end up handling late messages.
1446
1447         No test, this requires JS debugger to trigger.
1448
1449         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1450         (WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):
1451
1452             This is now the only way to remove resource loaders.
1453             It is called from NetworkResourceLoader::cleanup only.
1454
1455         (WebKit::NetworkConnectionToWebProcess::didClose):
1456         (WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):
1457
1458             Calling abort  removes the resource loader (since it calls cleanup) so no need to do it explicitly anymore.
1459
1460         * NetworkProcess/NetworkConnectionToWebProcess.h:
1461         * NetworkProcess/NetworkResourceLoader.cpp:
1462         (WebKit::NetworkResourceLoader::start):
1463
1464             We are guaranteed to be reffed by NetworkConnectionToWebProcess until cleanup so the explicit ref/deref can be removed.
1465
1466         (WebKit::NetworkResourceLoader::cleanup):
1467
1468             Call to NetworkConnectionToWebProcess::didCleanupResourceLoader to make the loader unreachable.
1469
1470         * NetworkProcess/NetworkResourceLoader.h:
1471         (WebKit::NetworkResourceLoader::identifier):
1472
1473 2014-12-04  Timothy Horton  <timothy_horton@apple.com>
1474
1475         Fix the 32-bit build.
1476
1477         * UIProcess/API/mac/WKView.mm:
1478         (-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]):
1479
1480 2014-12-04  Tim Horton  <timothy_horton@apple.com>
1481
1482         TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2
1483         https://bugs.webkit.org/show_bug.cgi?id=139252
1484         <rdar://problem/19140827>
1485
1486         Reviewed by Anders Carlsson.
1487
1488         It turns out contentsToScreen requires sync IPC in Mac WebKit2, which we
1489         really don't want to be doing here (especially since the UI process will often
1490         be sitting in waitForAndDispatchImmediately waiting for didPerformActionMenuHitTest).
1491
1492         Go back to keeping TextIndicator rects in "window" coordinates and do the conversion
1493         in each of the WebKits instead of trying to share that code.
1494
1495         * Shared/WebCoreArgumentCoders.cpp:
1496         (IPC::ArgumentCoder<TextIndicatorData>::encode):
1497         (IPC::ArgumentCoder<TextIndicatorData>::decode):
1498         * UIProcess/API/mac/WKView.mm:
1499         (-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]):
1500         * WebProcess/WebPage/FindController.cpp:
1501         (WebKit::FindController::updateFindIndicator):
1502         (WebKit::FindController::drawRect):
1503         Adjust to the WebCore changes.
1504
1505 2014-12-04  Anders Carlsson  <andersca@apple.com>
1506
1507         Simplify StorageManager callback functions
1508         https://bugs.webkit.org/show_bug.cgi?id=139257
1509
1510         Reviewed by Antti Koivisto.
1511
1512         * UIProcess/Storage/StorageManager.cpp:
1513         (WebKit::StorageManager::getOrigins):
1514         (WebKit::StorageManager::getStorageDetailsByOrigin):
1515         (WebKit::callCallbackFunction): Deleted.
1516         (WebKit::StorageManager::getOriginsInternal): Deleted.
1517         (WebKit::StorageManager::getStorageDetailsByOriginInternal): Deleted.
1518         * UIProcess/Storage/StorageManager.h:
1519         * UIProcess/WebKeyValueStorageManager.cpp:
1520         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
1521         (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
1522         (WebKit::didGetKeyValueStorageOrigins): Deleted.
1523         (WebKit::didGetStorageDetailsByOrigin): Deleted.
1524
1525 2014-12-04  Csaba Osztrogonác  <ossy@webkit.org>
1526
1527         URTBF after r176794.
1528
1529         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
1530         (WebKit::fileCreationTime):
1531         (WebKit::fileModificationTime):
1532
1533 2014-12-03  Anders Carlsson  <andersca@apple.com>
1534
1535         Add a way to delete local storage origins modified after a given date
1536         https://bugs.webkit.org/show_bug.cgi?id=139249
1537
1538         Reviewed by Tim Horton.
1539
1540         Also change LocalStorageDatabaseTracker to hold on to WTF::Optional time_t values
1541         instead of treating missing values as zero.
1542
1543         * UIProcess/LocalStorageDetails.h:
1544         * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
1545         (WebKit::fileCreationTime):
1546         (WebKit::fileModificationTime):
1547         (WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):
1548         (WebKit::LocalStorageDatabaseTracker::details):
1549         * UIProcess/Storage/LocalStorageDatabaseTracker.h:
1550         * UIProcess/Storage/StorageManager.cpp:
1551         (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
1552         * UIProcess/Storage/StorageManager.h:
1553         * UIProcess/WebKeyValueStorageManager.cpp:
1554         (WebKit::didGetStorageDetailsByOrigin):
1555
1556 2014-12-04  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1557
1558         [EFL][WK2] Add ewk API to allow accepting a specific TLS certificate for a specific host
1559         https://bugs.webkit.org/show_bug.cgi?id=131160
1560
1561         Reviewed by Gyuyoung Kim.
1562
1563         * UIProcess/API/efl/ewk_context.cpp:
1564         (EwkContext::allowSpecificHTTPSCertificateForHost):
1565         (ewk_context_tls_certificate_for_host_allow):
1566         * UIProcess/API/efl/ewk_context.h:
1567         * UIProcess/API/efl/ewk_context_private.h:
1568         * UIProcess/API/efl/tests/test_ewk2_ssl.cpp:
1569
1570 2014-12-03  Commit Queue  <commit-queue@webkit.org>
1571
1572         Unreviewed, rolling out r176457.
1573         https://bugs.webkit.org/show_bug.cgi?id=139247
1574
1575         More iOS breakage (Requested by andersca on #webkit).
1576
1577         Reverted changeset:
1578
1579         "Fix iOS build."
1580         http://trac.webkit.org/changeset/176457
1581
1582 2014-12-03  Beth Dakin  <bdakin@apple.com>
1583
1584         <input> elements get whitespace action menu instead of editable text menu
1585         https://bugs.webkit.org/show_bug.cgi?id=139241
1586         -and corresponding-
1587         rdar://problem/19072083
1588
1589         Reviewed by Sam Weinig.
1590
1591         Add isOverTextInsideFormControlElement to WebHitTestResult.
1592         * Shared/WebHitTestResult.cpp:
1593         (WebKit::WebHitTestResult::Data::Data):
1594         (WebKit::WebHitTestResult::Data::encode):
1595         (WebKit::WebHitTestResult::Data::decode):
1596         * Shared/WebHitTestResult.h:
1597         (WebKit::WebHitTestResult::isOverTextInsideFormControlElement):
1598
1599         Offer the text menus for text inside form controls.
1600         * UIProcess/mac/WKActionMenuController.mm:
1601         (-[WKActionMenuController _defaultMenuItems]):
1602
1603         We should disallow shadow content in the hit test. This is the default and it is 
1604         how context menus behave. We originally wanted to text inside shadow content so 
1605         that we could find the text, but the new function I added to HitTestResult will 
1606         allow that.
1607         * WebProcess/WebPage/mac/WebPageMac.mm:
1608
1609         Adjust to the fact that we don’t hit test shadow content any more.
1610         (WebKit::WebPage::performActionMenuHitTestAtLocation):
1611         (WebKit::WebPage::lookupTextAtLocation):
1612         (WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult):
1613
1614 2014-12-03  Commit Queue  <commit-queue@webkit.org>
1615
1616         Unreviewed, rolling out r176489.
1617         https://bugs.webkit.org/show_bug.cgi?id=139242
1618
1619         More iOS breakage (Requested by andersca on #webkit).
1620
1621         Reverted changeset:
1622
1623         "Unreviewed, iOS build fix after r176452."
1624         http://trac.webkit.org/changeset/176489
1625
1626 2014-12-03  Tim Horton  <timothy_horton@apple.com>
1627
1628         Implement action menus for tel: URLs
1629         https://bugs.webkit.org/show_bug.cgi?id=139240
1630         <rdar://problem/19115662>
1631
1632         Reviewed by Anders Carlsson.
1633
1634         * Shared/API/c/WKActionMenuTypes.h:
1635         Add a new type.
1636
1637         * UIProcess/mac/WKActionMenuController.mm:
1638         (-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
1639         Rename this function as it will work for both mailto and tel URLs.
1640         Adjust it to use contextForView:.
1641
1642         (-[WKActionMenuController _clearActionMenuState]):
1643         (-[WKActionMenuController menuNeedsUpdate:]):
1644         (-[WKActionMenuController _defaultMenuItems]):
1645         Don't check the menu type when going to interact with _currentActionContext.
1646         We'll only have a _currentActionContext if we have a data detected item,
1647         and there are multiple menu types that end up using DDActionContext.
1648
1649 2014-12-03  Commit Queue  <commit-queue@webkit.org>
1650
1651         Unreviewed, rolling out r176452 and r176559.
1652         https://bugs.webkit.org/show_bug.cgi?id=139239
1653
1654         Broke iOS (Requested by andersca on #webkit).
1655
1656         Reverted changesets:
1657
1658         "Remove alignment code from IPC coders"
1659         https://bugs.webkit.org/show_bug.cgi?id=138963
1660         http://trac.webkit.org/changeset/176452
1661
1662         "[WK2] SecComp buildfix after r176452"
1663         https://bugs.webkit.org/show_bug.cgi?id=139081
1664         http://trac.webkit.org/changeset/176559
1665
1666 2014-12-03  Tim Horton  <timothy_horton@apple.com>
1667
1668         Keyboard input should be disabled in the preview popover
1669         https://bugs.webkit.org/show_bug.cgi?id=139219
1670         <rdar://problem/19052381>
1671
1672         Reviewed by Anders Carlsson.
1673
1674         Make sure that keyboard input, Quick Look, etc. are blocked in preview popovers
1675         and WKThumbnailViews. Also block the fake mouseMove events that originate in
1676         the Web process upon scrolling, because we were missing those despite blocking
1677         ordinary mouseMove events.
1678
1679         * UIProcess/API/Cocoa/WKViewPrivate.h:
1680         * UIProcess/API/mac/WKView.mm:
1681         Rename _ignoresNonWheelMouseEvents to _ignoresNonWheelEvents, because it will
1682         apply not only to mouse events but also key events, Quick Look events, menu
1683         preparation events, swipe events, etc.
1684
1685         Add _ignoresAllEvents, which means the same thing as _ignoresNonWheelEvents
1686         with the addition of ignoring scrollWheel events.
1687
1688         (-[WKView scrollWheel:]):
1689         (-[WKView swipeWithEvent:]):
1690         (-[WKView mouseMoved:]):
1691         (-[WKView mouseDown:]):
1692         (-[WKView mouseUp:]):
1693         (-[WKView mouseDragged:]):
1694         Adjust to the new name.
1695
1696         (-[WKView performKeyEquivalent:]):
1697         (-[WKView keyUp:]):
1698         (-[WKView keyDown:]):
1699         (-[WKView flagsChanged:]):
1700         (-[WKView quickLookWithEvent:]):
1701         (-[WKView prepareForMenu:withEvent:]):
1702         (-[WKView willOpenMenu:withEvent:]):
1703         (-[WKView didCloseMenu:withEvent:]):
1704         Block all of these events as well as those we were previously blocking.
1705
1706         (-[WKView _setIgnoresAllEvents:]):
1707         (-[WKView _setIgnoresNonWheelMouseEvents:]):
1708         (-[WKView _setIgnoresNonWheelEvents:]):
1709         (-[WKView _ignoresNonWheelEvents]):
1710         (-[WKView _ignoresAllEvents]):
1711         * UIProcess/API/mac/WKViewInternal.h:
1712         Adjust to the new names and the addition of ignoresAllEvents.
1713
1714         * UIProcess/mac/WKActionMenuController.mm:
1715         (-[WKPagePreviewViewController loadView]):
1716         Adjust to the new name.
1717
1718         (-[WKActionMenuController prepareForMenu:withEvent:]):
1719         Move bailing from prepareForMenu: up to WKView.
1720
1721         * UIProcess/API/Cocoa/WKWebView.mm:
1722         (-[WKWebView _ignoresNonWheelEvents]):
1723         (-[WKWebView _setIgnoresNonWheelEvents:]):
1724         (-[WKWebView _ignoresNonWheelMouseEvents]): Deleted.
1725         (-[WKWebView _setIgnoresNonWheelMouseEvents:]): Deleted.
1726         * UIProcess/API/Cocoa/WKWebViewInternal.h:
1727         Adjust to the new name (without "mouse" in it).
1728
1729         * UIProcess/API/Cocoa/_WKThumbnailView.mm:
1730         (-[_WKThumbnailView _viewWasUnparented]):
1731         (-[_WKThumbnailView _viewWasParented]):
1732         Explicitly tell WKView to disable event handling while thumbnailed,
1733         instead of having WKView special-case thumbnail views internally.
1734
1735         * UIProcess/WebPageProxy.cpp:
1736         (WebKit::WebPageProxy::setShouldDispatchFakeMouseMoveEvents):
1737         * UIProcess/WebPageProxy.h:
1738         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1739         (WebKit::WebChromeClient::shouldDispatchFakeMouseMoveEvents):
1740         * WebProcess/WebCoreSupport/WebChromeClient.h:
1741         * WebProcess/WebPage/WebPage.cpp:
1742         (WebKit::WebPage::WebPage):
1743         * WebProcess/WebPage/WebPage.h:
1744         (WebKit::WebPage::shouldDispatchFakeMouseMoveEvents):
1745         (WebKit::WebPage::setShouldDispatchFakeMouseMoveEvents):
1746         * WebProcess/WebPage/WebPage.messages.in:
1747         Plumb shouldDispatchFakeMouseMoveEvents from the UI process to the Web process
1748         and through to WebKit2's ChromeClient implementation.
1749
1750 2014-12-03  Anders Carlsson  <andersca@apple.com>
1751
1752         Remove ENABLE_UI_PROCESS_STORAGE define, it's always 1.
1753
1754         Rubber-stamped by Beth Dakin.
1755
1756         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1757         (WebKit::WebPlatformStrategies::localStorageNamespace):
1758         (WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
1759         (WebKit::WebPlatformStrategies::sessionStorageNamespace):
1760
1761 2014-12-03  Anders Carlsson  <andersca@apple.com>
1762
1763         Use an @autoreleasepool instead of NSAutoreleasePool.
1764
1765         Rubber-stamped by Tim Horton.
1766
1767         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1768         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1769
1770 2014-12-03  Dan Bernstein  <mitz@apple.com>
1771
1772         REGRESSION(r176687): Caused webkit2 test assertion failure crashes in WebKit::WebPage::willStartDrag()
1773         https://bugs.webkit.org/show_bug.cgi?id=139224
1774
1775         Reviewed by Alexey Proskuryakov.
1776
1777         * WebProcess/WebPage/WebPage.cpp:
1778         (WebKit::WebPage::mouseEventSyncForTesting): Wait for the UI process to start dragging if
1779         needed before handling the event.
1780
1781 2014-12-03  Michael Catanzaro  <mcatanzaro@igalia.com>
1782
1783         [GTK] outdated comment
1784         https://bugs.webkit.org/show_bug.cgi?id=137801
1785
1786         Reviewed by Carlos Garcia Campos.
1787
1788         Remove a comment that is no longer correct.
1789
1790         * NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
1791
1792 2014-12-02  Conrad Shultz  <conrad_shultz@apple.com>
1793
1794         Don't block menu highlighting when presenting a page preview
1795         https://bugs.webkit.org/show_bug.cgi?id=139217
1796
1797         Reviewed by Tim Horton.
1798
1799         * UIProcess/mac/WKActionMenuController.mm:
1800         (-[WKActionMenuController _previewURLFromActionMenu:]):
1801         Defer popover presentation to the next turn of the runloop.
1802
1803 2014-12-02  Timothy Horton  <timothy_horton@apple.com>
1804
1805         Fix the build.
1806
1807         * UIProcess/mac/WebContextMac.mm:
1808
1809 2014-12-02  Dan Bernstein  <mitz@apple.com>
1810
1811         <rdar://problem/18441138> [iOS] Text selection in WKWebView with WKSelectionGranularityCharacter only works in the most recent WKWebView to load
1812         https://bugs.webkit.org/show_bug.cgi?id=139211
1813
1814         Reviewed by Anders Carlsson.
1815
1816         * UIProcess/ios/WKContentViewInteraction.mm:
1817         (-[WKContentView becomeFirstResponder]): Override to activate the text selection for when
1818         becoming first resopnder.
1819         (-[WKContentView resignFirstResponder]): Deactiavte the text selection when resigning first
1820         responder. This ensures that if another WKWebView becomes first responder, and it uses
1821         block selection, we don’t end up with two active selection views.
1822         (-[WKContentView useSelectionAssistantWithMode:]): Only activate the text selection if this
1823         is the first responder. This ensures that loading content into a non-first-responder
1824         WKWebView doesn‘t deactivate the text selection in the current first responder.
1825
1826 2014-12-02  Alexey Proskuryakov  <ap@apple.com>
1827
1828         http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
1829         https://bugs.webkit.org/show_bug.cgi?id=139149
1830
1831         Reviewed by Anders Carlsson.
1832
1833         This changes API behavior. I think that it's OK, because existing behavior made no sense.
1834         We used to delete caches from disk, but they were still active in memory. Now we also
1835         obsolete them in memory, so documents that use a cache still work, but new ones don't
1836         pick one up.
1837
1838         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
1839         (WebKit::WebApplicationCacheManager::deleteAllEntries): Use the new WebCore function
1840         that properly deletes caches.
1841
1842 2014-12-02  Tim Horton  <timothy_horton@apple.com>
1843
1844         Remove a SnowLeopard-era quirk for QuickLook
1845         https://bugs.webkit.org/show_bug.cgi?id=139208
1846         <rdar://problem/19121822>
1847
1848         Reviewed by Alexey Proskuryakov.
1849
1850         * Shared/WebProcessCreationParameters.cpp:
1851         (WebKit::WebProcessCreationParameters::encode):
1852         (WebKit::WebProcessCreationParameters::decode):
1853         * Shared/WebProcessCreationParameters.h:
1854         * UIProcess/mac/WebContextMac.mm:
1855         (WebKit::WebContext::platformInitializeWebProcess):
1856         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1857         (WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks): Deleted.
1858         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1859         * WebProcess/WebProcess.cpp:
1860         (WebKit::WebProcess::WebProcess):
1861         * WebProcess/WebProcess.h:
1862         (WebKit::WebProcess::needsQuickLookResourceCachingQuirks): Deleted.
1863         * WebProcess/cocoa/WebProcessCocoa.mm:
1864         (WebKit::WebProcess::platformInitializeWebProcess):
1865
1866 2014-12-02  Beth Dakin  <bdakin@apple.com>
1867
1868         Build fix.
1869
1870         * UIProcess/mac/WKActionMenuController.mm:
1871         (-[WKActionMenuController _defaultMenuItemsForLink]):
1872
1873 2014-12-02  Beth Dakin  <bdakin@apple.com>
1874
1875         More build fix.
1876
1877         * UIProcess/mac/WKActionMenuController.mm:
1878         (-[WKActionMenuController _defaultMenuItemsForLink]):
1879
1880 2014-12-02  Dan Bernstein  <mitz@apple.com>
1881
1882         REGRESSION: Dragging selected text changes the selection
1883         https://bugs.webkit.org/show_bug.cgi?id=139110
1884
1885         Reviewed by Simon Fraser.
1886
1887         After it sent the UI process the message to start dragging, the Web process handled mouse
1888         move events that had already been in flight, interpreting them as a drag to start a new
1889         selection. This is fixed by ignoring any mouse events received after asking the UI process
1890         to start dragging.
1891
1892         * UIProcess/mac/WebPageProxyMac.mm:
1893         (WebKit::WebPageProxy::setDragImage): Send the new DidStartDrag message back to the Web
1894         process, so that it stops ignoring mouse events.
1895
1896         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1897         (WebKit::WebDragClient::startDrag): Call the new WebPage::willStartDrag, so that it starts
1898         ignoring mouse events.
1899
1900         * WebProcess/WebPage/WebPage.cpp:
1901         (WebKit::WebPage::WebPage): Initialize new member variable.
1902         (WebKit::WebPage::mouseEvent): Don’t handle the event if we have asked the UI process to
1903         start dragging.
1904
1905         * WebProcess/WebPage/WebPage.h:
1906         (WebKit::WebPage::willStartDrag): Added. Sets new member variable m_isStartingDrag to true.
1907         (WebKit::WebPage::didStartDrag): Added. Handles the message from the UI process by setting
1908         m_isStartingDrag back to false.
1909
1910         * WebProcess/WebPage/WebPage.messages.in: Added DidStartDrag.
1911
1912 2014-12-02  Beth Dakin  <bdakin@apple.com>
1913
1914         Should use standardQuickLookMenuItem for apps that don't implement customizations
1915         https://bugs.webkit.org/show_bug.cgi?id=139193
1916         -and corresponding-
1917         rdar://problem/18944696
1918
1919         Reviewed by Anders Carlsson.
1920
1921         New SPI will allow clients to opt-out of the standardQuickLookMenuItem. By 
1922         default, opt in.
1923         * UIProcess/API/Cocoa/WKViewPrivate.h:
1924         * UIProcess/API/mac/WKView.mm:
1925         (-[WKView _shouldUseStandardQuickLookPreview]):
1926         * UIProcess/mac/WKActionMenuController.mm:
1927
1928         Use [NSMenuItem standardQuickLookMenuItem] unless the client has requested 
1929         otherwise.
1930         (-[WKActionMenuController _defaultMenuItemsForLink]):
1931
1932         Delegate methods to set up the standardQuickLookMenuItem.
1933         (-[WKActionMenuController menuItem:viewAtScreenPoint:]):
1934         (-[WKActionMenuController menuItem:previewItemAtPoint:]):
1935         (-[WKActionMenuController menuItem:preferredEdgeForPoint:]):
1936
1937 2014-12-02  Tim Horton  <timothy_horton@apple.com>
1938
1939         TextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClose when we should)
1940         https://bugs.webkit.org/show_bug.cgi?id=139175
1941         <rdar://problem/19072236>
1942
1943         Reviewed by Beth Dakin.
1944
1945         * UIProcess/API/mac/WKView.mm:
1946         (-[WKView scrollWheel:]):
1947         (-[WKView mouseDown:]):
1948         Work around <rdar://problem/19086993> by always explicitly clearing the
1949         active text indicator in mouseDown: and scrollWheel:.
1950         This way, even if you manage to get a text indicator that outlives the
1951         Look Up popover (or find-in-page, or whatever), it will be dismissed
1952         by clicking or scrolling the view.
1953
1954 2014-12-02  Anders Carlsson  <andersca@apple.com>
1955
1956         Remove visited link handling from PageGroup
1957         https://bugs.webkit.org/show_bug.cgi?id=139185
1958
1959         Reviewed by Sam Weinig.
1960
1961         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1962         (WebKit::WebChromeClient::populateVisitedLinks): Deleted.
1963         * WebProcess/WebCoreSupport/WebChromeClient.h:
1964
1965 2014-12-01  Anders Carlsson  <andersca@apple.com>
1966
1967         Remove WKBundleRemoveAllVisitedLinks
1968         https://bugs.webkit.org/show_bug.cgi?id=139163
1969
1970         Reviewed by Sam Weinig.
1971
1972         WKBundleRemoveAllVisitedLinks has been a no-op since at least Yosemite; get rid of it.
1973
1974         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
1975         (WKBundleRemoveAllVisitedLinks): Deleted.
1976         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
1977         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1978         (WebKit::InjectedBundle::removeAllVisitedLinks): Deleted.
1979         * WebProcess/InjectedBundle/InjectedBundle.h:
1980
1981 2014-12-02  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1982
1983         Fix class was previously declared as a struct warnings
1984         https://bugs.webkit.org/show_bug.cgi?id=139131
1985
1986         Reviewed by Csaba Osztrogonác.
1987
1988         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
1989         * UIProcess/CoordinatedGraphics/WebViewClient.h:
1990
1991 2014-12-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1992
1993         [EFL] ewk_view_scale_set() doesn't work correctly
1994         https://bugs.webkit.org/show_bug.cgi?id=139109
1995
1996         Reviewed by Csaba Osztrogonác.
1997
1998         When ewk_view_scale_set() is called, it has only updated a scale factor which is maintained by WebPageProxy.
1999         It causes WebPageProxy unsynchronized with PageViewportController's scale factor. That's why wrong scale
2000         behavior has occured through ewk_view_scale_set(). Besides zooming has similar problem as well.
2001
2002         Thus this patch updates m_pageScaleFactor of PageViewportController as well as prohibits to change the scale
2003         factor through viewport meta tag update. Because ewk_view_scale_set() means that user wants to set a specific
2004         value to scale factor of current viewport.
2005
2006         * UIProcess/API/efl/EwkView.cpp:
2007         (EwkView::updateScaleToPageViewportController):
2008             Set m_initiallyFitToViewport to false. And call didChangeContentsVisibility() with new scale and scale position.
2009
2010         * UIProcess/API/efl/EwkView.h:
2011         * UIProcess/API/efl/ewk_view.cpp:
2012         (ewk_view_scale_set):
2013         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2014         (TEST_F):
2015         * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
2016         (WebKit::PageViewportController::didCommitLoad):
2017             Set m_initiallyFitToViewport to true in order to fit content to viewport size by default.
2018             Initizlize content position with (0, 0).
2019
2020         (WebKit::PageViewportController::pageTransitionViewportReady):
2021            Do not update scale when m_initiallyFitToViewport is false.
2022
2023         (WebKit::PageViewportController::syncVisibleContents):
2024            Return false when syncVisibleContents is failed.
2025
2026         (WebKit::PageViewportController::didChangeViewportAttributes):
2027            Do not update scale when m_initiallyFitToViewport is false.
2028
2029         (WebKit::PageViewportController::applyScaleAfterRenderingContents):
2030             If syncVisibleContents() is failed, m_pageScaleFactor should be restored with previous value.
2031             If not, new scale factor isn't applied though, PageViewportController uses it as own scale factor.
2032
2033         (WebKit::PageViewportController::updateMinimumScaleToFit):
2034            Do not update scale when m_initiallyFitToViewport is false or m_hadUserInteraction is true.
2035
2036         * UIProcess/CoordinatedGraphics/PageViewportController.h:
2037         (WebKit::PageViewportController::setInitiallyFitToViewport):
2038
2039 2014-11-20  Jeffrey Pfau  <jpfau@apple.com>
2040
2041         Add cancelable version of willSendRequest
2042         https://bugs.webkit.org/show_bug.cgi?id=138987
2043
2044         Reviewed by Anders Carlsson.
2045
2046         * WebProcess/Network/WebResourceLoader.cpp:
2047         (WebKit::WebResourceLoader::willSendRequest):
2048
2049 2014-12-01  Conrad Shultz  <conrad_shultz@apple.com>
2050
2051         Clients need a way to explicitly set the title of a page preview
2052         https://bugs.webkit.org/show_bug.cgi?id=139161
2053
2054         Reviewed by Beth Dakin.
2055
2056         This implicitly assumes that only one page preview can be associate with a given WKView at a time.
2057
2058         * UIProcess/API/Cocoa/WKViewPrivate.h:
2059         * UIProcess/API/mac/WKView.mm:
2060         (-[WKView _setPreviewTitle:]):
2061         Wrap -[WKActionMenuController setPreviewTitle:]
2062
2063         * UIProcess/mac/WKActionMenuController.h:
2064         * UIProcess/mac/WKActionMenuController.mm:
2065         Add ivars for the title and the title text field (previously not independently exposed).
2066         (-[WKPagePreviewViewController previewTitle]):
2067         Accessor.
2068         (-[WKPagePreviewViewController setPreviewTitle:]):
2069         Accessor; set the text field's string value.
2070         (-[WKPagePreviewViewController loadView]):
2071         Adopt the _titleTextField ivar; assume that if a client has explicitly set the previewTitle then we don't
2072         need to ask for it again.
2073         (-[WKActionMenuController setPreviewTitle:]):
2074         Wrap -[WKPagePreviewViewController setPreviewTitle:].
2075
2076 2014-12-01  Anders Carlsson  <andersca@apple.com>
2077
2078         Make WebKit2 work slightly better with garbage collection
2079         https://bugs.webkit.org/show_bug.cgi?id=139159
2080         <rdar://problem/19108390>
2081
2082         Reviewed by Dan Bernstein.
2083
2084         * Shared/Cocoa/APIObject.mm:
2085         (API::Object::ref):
2086         (API::Object::deref):
2087         Call CFRetain/CFRelease to prevent the memory from being collected.
2088
2089         (API::Object::newObject):
2090         Call CFRetain under GC so we'll prevent memory from being collected prematurely.
2091
2092 2014-12-01  Tim Horton  <timothy_horton@apple.com>
2093
2094         Implement yellow highlight for WebKit1 data detectors
2095         https://bugs.webkit.org/show_bug.cgi?id=138956
2096         <rdar://problem/18992185>
2097
2098         Reviewed by Beth Dakin.
2099
2100         * Shared/WebCoreArgumentCoders.cpp:
2101         (IPC::ArgumentCoder<TextIndicatorData>::encode):
2102         (IPC::ArgumentCoder<TextIndicatorData>::decode):
2103         * WebProcess/WebPage/FindController.cpp:
2104         (WebKit::FindController::updateFindIndicator):
2105         (WebKit::FindController::drawRect):
2106         Adjust to the fact that TextIndicator keeps screen-relative rects.
2107
2108 2014-12-01  Anders Carlsson  <andersca@apple.com>
2109
2110         Remove old site specific quirks code that was added in 2009
2111         https://bugs.webkit.org/show_bug.cgi?id=139141
2112
2113         Reviewed by Antti Koivisto.
2114
2115         * NetworkProcess/RemoteNetworkingContext.h:
2116         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2117         (WebKit::RemoteNetworkingContext::needsSiteSpecificQuirks): Deleted.
2118         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2119         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2120         (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted.
2121
2122 2014-12-01  Joseph Pecoraro  <pecoraro@apple.com>
2123
2124         Web Inspector: Crash in WebInspectorClient::hideHighlight when page is destroyed
2125         https://bugs.webkit.org/show_bug.cgi?id=139136
2126
2127         Reviewed by Simon Fraser.
2128
2129         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2130         (WebKit::WebInspectorClient::hideHighlight):
2131         Speculatively fix by null-checking the main frame which
2132         can be null during page destruction.
2133
2134 2014-11-30  Jaehun Lim  <ljaehun.lim@samsung.com>
2135
2136         [EFL] Add eldbus to the library list
2137         https://bugs.webkit.org/show_bug.cgi?id=139120
2138
2139         Reviewed by Gyuyoung Kim.
2140
2141         Fix undefined reference errors for eldbus APIs.
2142
2143         * PlatformEfl.cmake:
2144
2145 2014-11-29  Anders Carlsson  <andersca@apple.com>
2146
2147         Crash when calling WKPageClose on the originated page from within createNewPage callback
2148         https://bugs.webkit.org/show_bug.cgi?id=139099
2149         <rdar://problem/19052564>
2150
2151         Reviewed by Sam Weinig.
2152
2153         Null check the namespace ID.
2154
2155         * UIProcess/Storage/StorageManager.cpp:
2156         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
2157
2158 2014-11-28  Tim Horton  <timothy_horton@apple.com>
2159
2160         Stale userData is handed to WKView _actionMenuItemsForHitTestResult under prepareForMenu
2161         https://bugs.webkit.org/show_bug.cgi?id=139069
2162         <rdar://problem/19075587>
2163
2164         Reviewed by Sam Weinig.
2165
2166         * UIProcess/mac/WKActionMenuController.mm:
2167         (-[WKActionMenuController wkView:willHandleMouseDown:]):
2168         (-[WKActionMenuController didCloseMenu:withEvent:]):
2169         (-[WKActionMenuController _clearActionMenuState]):
2170         Previously, _userData was not being cleared in didCloseMenu, so a subsequent
2171         action menu invocation would end up sending stale userData to _actionMenuItemsForHitTestResult.
2172
2173         Additionally, factor all of the cleanup code out into _clearActionMenuState,
2174         and call it from both wkView:willHandleMouseDown: and didCloseMenu:withEvent:.
2175
2176 2014-11-26  Timothy Horton  <timothy_horton@apple.com>
2177
2178         DataDetectors PageOverlay callbacks are never called
2179         https://bugs.webkit.org/show_bug.cgi?id=139067
2180         <rdar://problem/19086676>
2181
2182         Reviewed by Anders Carlsson.
2183
2184         * Shared/mac/ActionMenuHitTestResult.mm:
2185         (WebKit::ActionMenuHitTestResult::encode):
2186         (WebKit::ActionMenuHitTestResult::decode):
2187         Encode/decode the PageOverlay ID.
2188
2189 2014-11-28  Simon Fraser  <simon.fraser@apple.com>
2190
2191         Allow clients of the WKRenderLayerRef C SPI to connect layer trees across frame boundaries
2192         https://bugs.webkit.org/show_bug.cgi?id=139021
2193
2194         Reviewed by Dan Bernstein.
2195         
2196         Add WKRenderLayerGetFrameContentsLayer which returns a WKRenderLayerRef for
2197         the content document of a RenderWidget, if its has one (e.g. frames, iframes
2198         and <object> with document contents).
2199
2200         * Shared/API/c/WKRenderLayer.cpp:
2201         (WKRenderLayerGetFrameContentsLayer):
2202         * Shared/API/c/WKRenderLayer.h:
2203         * Shared/UserMessageCoders.h:
2204         (WebKit::UserMessageEncoder::baseEncode):
2205         (WebKit::UserMessageDecoder::baseDecode):
2206         * Shared/WebRenderLayer.cpp:
2207         (WebKit::WebRenderLayer::create):
2208         (WebKit::WebRenderLayer::WebRenderLayer):
2209         * Shared/WebRenderLayer.h:
2210         (WebKit::WebRenderLayer::frameContentsLayer):
2211
2212 2014-11-28  Csaba Osztrogonác  <ossy@webkit.org>
2213
2214         [WK2] SecComp buildfix after r176452
2215         https://bugs.webkit.org/show_bug.cgi?id=139081
2216
2217         Reviewed by Antti Koivisto.
2218
2219         * Shared/linux/SeccompFilters/SeccompBroker.cpp:
2220         (WebKit::SeccompBrokerClient::dispatch):
2221         (WebKit::SeccompBroker::runLoop):
2222
2223 2014-11-28  Csaba Osztrogonác  <ossy@webkit.org>
2224
2225         Fix -Wc++11-narrowing error in SeccompFilters.cpp
2226         https://bugs.webkit.org/show_bug.cgi?id=139079
2227
2228         Reviewed by Carlos Garcia Campos.
2229
2230         * Shared/linux/SeccompFilters/SeccompFilters.cpp:
2231         (WebKit::SeccompFilters::addRule):
2232         * Shared/linux/SeccompFilters/SeccompFilters.h:
2233
2234 2014-11-28  Csaba Osztrogonác  <ossy@webkit.org>
2235
2236         [WK2] SecComp buildfix after r168605 and r168999
2237         https://bugs.webkit.org/show_bug.cgi?id=139080
2238
2239         Reviewed by Carlos Garcia Campos.
2240
2241         * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
2242         (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
2243
2244 2014-11-27  Ryuan Choi  <ryuan.choi@navercorp.com>
2245
2246         [EFL] Remove E_Dbus dependency
2247         https://bugs.webkit.org/show_bug.cgi?id=136355
2248
2249         Reviewed by Gyuyoung Kim.
2250
2251         * UIProcess/API/efl/ewk_main.cpp: Added init/shutdown for eldbus.
2252         (WebKit::EwkMain::initialize):
2253         (WebKit::EwkMain::finalize):
2254         (WebKit::EwkMain::shutdownInitializedEFLModules):
2255
2256 2014-11-25  Anders Carlsson  <andersca@apple.com>
2257
2258         Remove user content handling from PageGroup
2259         https://bugs.webkit.org/show_bug.cgi?id=139051
2260
2261         Reviewed by Antti Koivisto.
2262
2263         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2264         (WebKit::InjectedBundle::addUserScript):
2265         (WebKit::InjectedBundle::addUserStyleSheet):
2266         (WebKit::InjectedBundle::removeUserScript):
2267         (WebKit::InjectedBundle::removeUserStyleSheet):
2268         (WebKit::InjectedBundle::removeUserScripts):
2269         (WebKit::InjectedBundle::removeUserStyleSheets):
2270         (WebKit::InjectedBundle::removeAllUserContent):
2271         Talk to the user content controller from the passed in WebPageGroupProxy.
2272
2273         * WebProcess/WebPage/WebPage.cpp:
2274         (WebKit::WebPage::WebPage):
2275         Create the WebPageGroupProxy before creating the page so we can get its user content controller and
2276         pass it to the page configuration if necessary.
2277         
2278         * WebProcess/WebPage/WebPageGroupProxy.cpp:
2279         (WebKit::WebPageGroupProxy::userContentController):
2280         New function that lazily creates a user content controller. We don't want to create this eagerly since
2281         it's not used with the modern API.
2282
2283         (WebKit::WebPageGroupProxy::addUserStyleSheet):
2284         (WebKit::WebPageGroupProxy::addUserScript):
2285         (WebKit::WebPageGroupProxy::removeAllUserStyleSheets):
2286         (WebKit::WebPageGroupProxy::removeAllUserScripts):
2287         (WebKit::WebPageGroupProxy::removeAllUserContent):
2288         Call through to the user content controller.
2289
2290         * WebProcess/WebPage/WebPageGroupProxy.h:
2291         Add an m_userContentController member.
2292
2293 2014-11-25  Ting-Wei Lan  <lantw44@gmail.com>
2294
2295         [GTK] Use LD_LIBRARY_PATH to make g-ir-scanner use the newly-built
2296         version of libraries when running the temporary executable
2297         https://bugs.webkit.org/show_bug.cgi?id=138833
2298
2299         Reviewed by Carlos Garcia Campos.
2300
2301         This patch modifies LD_LIBRARY_PATH to make sure the dynamic linker
2302         find the correct version of libraries when running the temporary
2303         executable to generate the .gir file.
2304
2305         * PlatformGTK.cmake:
2306
2307 2014-11-25  Csaba Osztrogonác  <ossy@webkit.org>
2308
2309         [EFL] REGRESSION(r176514): It made performance tests fail
2310         https://bugs.webkit.org/show_bug.cgi?id=139037
2311
2312         Reviewed by Gyuyoung Kim.
2313
2314         * WebProcess/efl/WebProcessMainEfl.cpp: Don't try to load/shutdown eail if eailLibraryPath() is empty.
2315
2316 2014-11-24  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2317
2318         Remove Qt cruft related to tap higlighting
2319         https://bugs.webkit.org/show_bug.cgi?id=139030
2320
2321         Reviewed by Andreas Kling.
2322
2323         * CMakeLists.txt:
2324         * WebProcess/WebPage/TapHighlightController.cpp: Removed.
2325         * WebProcess/WebPage/TapHighlightController.h: Removed.
2326
2327 2014-11-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2328
2329         Unreviewed, EFL build fix since r176530.
2330
2331         * UIProcess/CoordinatedGraphics/WebView.cpp: Replace pointer with reference.
2332         (WebKit::WebView::processDidExit):
2333
2334 2014-11-24  Benjamin Poulain  <bpoulain@apple.com>
2335
2336         [WK2] Remove some bad stuff from WebPageProxy
2337         https://bugs.webkit.org/show_bug.cgi?id=138896
2338
2339         Reviewed by Sam Weinig.
2340
2341         The state loadStateAtProcessExit does not seem to be used anywhere.
2342
2343         The state urlAtProcessExit only exists to forward the url from
2344         WebPageProxy::resetStateAfterProcessExited() to the coordinated graphics code
2345         WebView::processDidExit().
2346
2347         * UIProcess/CoordinatedGraphics/WebView.cpp:
2348         (WebKit::WebView::processDidExit):
2349         * UIProcess/WebPageProxy.cpp:
2350         (WebKit::WebPageProxy::WebPageProxy):
2351         (WebKit::WebPageProxy::resetStateAfterProcessExited):
2352         * UIProcess/WebPageProxy.h:
2353         (WebKit::WebPageProxy::urlAtProcessExit): Deleted.
2354         (WebKit::WebPageProxy::loadStateAtProcessExit): Deleted.
2355
2356 2014-11-24  Ryuan Choi  <ryuan.choi@navercorp.com>
2357
2358         [EFL] REGRESSION(176066): It made all performance tests fail
2359         https://bugs.webkit.org/show_bug.cgi?id=138865
2360
2361         Reviewed by Csaba Osztrogonác.
2362
2363         Since r176066, there are crash because evas_gl_surface is destroyed with
2364         invalid evas_gl instance after evas_gl is destroyed.
2365
2366         * UIProcess/API/efl/EwkView.cpp:
2367         (EwkView::~EwkView):
2368
2369 2014-11-24  Alberto Garcia  <berto@igalia.com>
2370
2371         Webkit2 doesnt build on powerpc 32 bits
2372         https://bugs.webkit.org/show_bug.cgi?id=130837
2373
2374         Reviewed by Carlos Garcia Campos.
2375
2376         Check if libatomic is needed in order to use std::atomic, and add
2377         it to the list of WebKit2 libraries.
2378
2379         * PlatformGTK.cmake:
2380
2381 2014-11-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2382
2383         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.2 release.
2384
2385         * gtk/NEWS: Add release notes for 2.7.2.
2386
2387 2014-11-24  Krzysztof Czech  <k.czech@samsung.com>
2388
2389         [EFL] Utilize Eail library to support accessibility in EFL
2390         https://bugs.webkit.org/show_bug.cgi?id=137742
2391
2392         Reviewed by Gyuyoung Kim.
2393
2394         Initialize EAIL module so that all the listeners and atk-bridge started properly.
2395         Dynamic loading of EAIL help us to avoid elementary dependencies in WebKit.
2396
2397         * WebProcess/efl/WebProcessMainEfl.cpp:
2398         (eailLibraryPath): reads path provided by ACCESSIBILITY_EAIL_LIBRARY_PATH variable.
2399         (eail):
2400
2401 2014-11-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2402
2403         [GTK] WebKitWebView is created with the wrong web context when using webkit_web_view_new_with_related_view()
2404         https://bugs.webkit.org/show_bug.cgi?id=139023
2405
2406         Reviewed by Sergio Villar Senin.
2407
2408         The WebKitWebContext is a construct only property, so it's always
2409         set to the default value when not provided, during the
2410         construction. When a related-view is used to create a new web view
2411         we should ensure that the same web context is used for the new web
2412         view, instead of the default. We should also ignore any web
2413         context given as construct parameter if a related view is alos provided.
2414
2415         * UIProcess/API/gtk/WebKitWebView.cpp:
2416         (webkitWebViewConstructed): Do not set the context to the default
2417         one when not given during construction.
2418         (webkitWebViewSetProperty): Only use the default web context when
2419         not provided as construct parameter and there isn't a related view.
2420
2421 2014-11-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2422
2423         [GTK] Add API to override the default local storage directory
2424         https://bugs.webkit.org/show_bug.cgi?id=138828
2425
2426         Reviewed by Gustavo Noronha Silva.
2427
2428         Add WebKitWebContext:local-storage-directory construct-only
2429         property. If not provided the default will be used.
2430
2431         * UIProcess/API/gtk/WebKitWebContext.cpp:
2432         (webkitWebContextGetProperty):
2433         (webkitWebContextSetProperty):
2434         (webkitWebContextConstructed):
2435         (webkit_web_context_class_init):
2436
2437 2014-11-23  Conrad Shultz  <conrad_shultz@apple.com>
2438
2439         Page previews should have titles
2440         https://bugs.webkit.org/show_bug.cgi?id=139020
2441
2442         Reviewed by Tim Horton.
2443
2444         * UIProcess/API/Cocoa/WKViewPrivate.h:
2445         Declare -_titleForPreviewOfURL:.
2446
2447         * UIProcess/API/mac/WKView.mm:
2448         (-[WKView _titleForPreviewOfURL:]):
2449         Stub implementation.
2450
2451         * UIProcess/mac/WKActionMenuController.mm:
2452         (+[WKPagePreviewViewController previewPadding]):
2453         Account for the title height.
2454         (-[WKPagePreviewViewController loadView]):
2455         Set correct autoresize masks on some views; create and configure a title view that is
2456         horizontally and vertically centered.
2457         (-[WKActionMenuController pagePreviewViewController:titleForPreviewOfURL:]):
2458         WKPagePreviewViewControllerDelegate method; wrap -[WKView _titleForPreviewOfURL:].
2459
2460 2014-11-22  Simon Fraser  <simon.fraser@apple.com>
2461
2462         Extend WKRenderObject and WKRenderLayer with some more useful data
2463         https://bugs.webkit.org/show_bug.cgi?id=139006
2464
2465         Reviewed by Sam Weinig.
2466         
2467         Implement WKRenderLayerGetBackingStoreMemoryEstimate,
2468         WKRenderObjectCopyTextSnippet and WKRenderObjectGetTextLength for improved
2469         RenderLayer and RenderTree display in clients of the C SPI.        
2470
2471         * Shared/API/c/WKRenderLayer.cpp:
2472         (WKRenderLayerGetBackingStoreMemoryEstimate):
2473         * Shared/API/c/WKRenderLayer.h:
2474         * Shared/API/c/WKRenderObject.cpp:
2475         (WKRenderObjectCopyTextSnippet):
2476         (WKRenderObjectGetTextLength):
2477         * Shared/API/c/WKRenderObject.h:
2478         * Shared/UserMessageCoders.h:
2479         (WebKit::UserMessageEncoder::baseEncode):
2480         (WebKit::UserMessageDecoder::baseDecode):
2481         * Shared/WebRenderLayer.cpp:
2482         (WebKit::WebRenderLayer::create):
2483         (WebKit::WebRenderLayer::WebRenderLayer):
2484         * Shared/WebRenderLayer.h:
2485         (WebKit::WebRenderLayer::backingStoreMemoryEstimate):
2486         * Shared/WebRenderObject.cpp:
2487         (WebKit::WebRenderObject::create):
2488         (WebKit::WebRenderObject::WebRenderObject):
2489         * Shared/WebRenderObject.h:
2490         (WebKit::WebRenderObject::textSnippet):
2491         (WebKit::WebRenderObject::textLength):
2492
2493 2014-11-21  Jer Noble  <jer.noble@apple.com>
2494
2495         Support multiple signatures of diagnostic logging.
2496         https://bugs.webkit.org/show_bug.cgi?id=138690
2497
2498         Reviewed by Anders Carlsson.
2499
2500         Extend the existing WKBundlePageDiagnosticLoggingClient interface by deprecating
2501         the original logDiagnosticMessage client method in V1 and adding three new,
2502         explicit client methods.
2503
2504         * CMakeLists.txt:
2505         * WebKit2.xcodeproj/project.pbxproj:
2506         * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
2507         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
2508         (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageDeprecated):
2509             Renamed from logDiagnosticMessage().
2510         (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): Pass to the client.
2511         (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto.
2512         (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto.
2513         * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
2514         * WebProcess/WebCoreSupport/WebChromeClient.h:
2515         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2516         (WebKit::WebChromeClient::logDiagnosticMessage): Deleted.
2517         * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: Added.
2518         (WebKit::WebDiagnosticLoggingClient::WebDiagnosticLoggingClient): Simple constructor.
2519         (WebKit::WebDiagnosticLoggingClient::~WebDiagnosticLoggingClient): Simple destructor.
2520         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): Pass to the injected bundle.
2521         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto.
2522         (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto.
2523         * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: Added.
2524         * WebProcess/WebPage/WebPage.cpp:
2525         (WebKit::WebPage::WebPage): Initialize the new client.
2526
2527 2014-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2528
2529         Unreviewed, EFL build fix since r176459.
2530
2531         r176459 removed Timer parameter in timer callbacks only for Mac port.
2532         So this patch applies it to remaining classes for EFL port.
2533
2534         * UIProcess/API/efl/EwkView.cpp:
2535         (EwkView::EwkView):
2536         (EwkView::displayTimerFired):
2537         * UIProcess/API/efl/EwkView.h:
2538         * UIProcess/efl/TextCheckerClientEfl.cpp:
2539         (TextCheckerClientEfl::TextCheckerClientEfl):
2540         (TextCheckerClientEfl::languagesUpdateTimerFired):
2541         (TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
2542         * UIProcess/efl/TextCheckerClientEfl.h:
2543         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2544         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2545         (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
2546         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2547
2548 2014-11-21  Chris Dumez  <cdumez@apple.com>
2549
2550         Unreviewed, iOS build fix after r176462.
2551
2552         Fix include path to TextIndicator.h to include WebCore/
2553         as it was moved.
2554
2555         * UIProcess/ios/PageClientImplIOS.mm:
2556
2557 2014-11-21  Chris Dumez  <cdumez@apple.com>
2558
2559         Unreviewed, iOS build fix after r176452.
2560
2561         dencodeFixedLengthData() now only takes 2 arguments instead of
2562         3.
2563
2564         * Shared/ios/QuickLookDocumentData.cpp:
2565         (WebKit::QuickLookDocumentData::decode):
2566
2567 2014-11-21  Zalan Bujtas  <zalan@apple.com>
2568
2569         Simple line layout: Add "show simple line layout debug borders" setting to MiniBrowser.
2570         https://bugs.webkit.org/show_bug.cgi?id=138981
2571
2572         Reviewed by Simon Fraser.
2573
2574         * UIProcess/API/Cocoa/WKPreferences.mm:
2575         (-[WKPreferences _simpleLineLayoutDebugBordersEnabled]):
2576         (-[WKPreferences _setSimpleLineLayoutDebugBordersEnabled:]):
2577         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2578
2579 2014-11-21  Eric Carlson  <eric.carlson@apple.com>
2580
2581         WebVideoFullscreenManagerProxy must clear pointers when invalidated
2582         https://bugs.webkit.org/show_bug.cgi?id=138982
2583
2584         Reviewed by Jer Noble.
2585
2586         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
2587         (WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy): Call invalidate.
2588         (WebKit::WebVideoFullscreenManagerProxy::invalidate): Set WebVideoFullscreenModel and
2589             WebVideoFullscreenChangeObserver to NULL.
2590
2591 2014-11-21  Timothy Horton  <timothy_horton@apple.com>
2592
2593         Fix the build.
2594
2595         * UIProcess/API/mac/WKView.mm:
2596         (-[WKView mouseDown:]):
2597
2598 2014-11-21  Beth Dakin  <bdakin@apple.com>
2599
2600         The preview action menu item should not have a title
2601         https://bugs.webkit.org/show_bug.cgi?id=138989
2602         -and corresponding-
2603         rdar://problem/19061959
2604
2605         Reviewed by Anders Carlsson.
2606
2607         * UIProcess/mac/WKActionMenuController.mm:
2608         (-[WKActionMenuController _createActionMenuItemForTag:]):
2609
2610 2014-11-21  Conrad Shultz  <conrad_shultz@apple.com>
2611
2612         Page previews should have a margin.
2613         https://bugs.webkit.org/show_bug.cgi?id=138990
2614
2615         Reviewed by Beth Dakin.
2616
2617         Enclose the WKWebView (or client-supplied preview view) in a container slightly larger
2618         than the preview view. Adjust sizing code to accommodate the margin.
2619
2620         * UIProcess/mac/WKActionMenuController.mm:
2621         (+[WKPagePreviewViewController previewPadding]):
2622         Return the total amount of fixed padding surrounding the preview
2623         (-[WKPagePreviewViewController loadView]):
2624         Store the actual previewView in an ivar so that clients can distinguish it from the container
2625         view; wrap the preview in a container view; set frames appropriately.
2626         (-[WKActionMenuController _createPreviewPopover]):
2627         Update to reflect method rename; supplement the popover size with the fixed padding.
2628         (-[WKActionMenuController _preferredPopoverSizeWithPreviewPadding:]):
2629         Renamed from -_preferredPopoverSize; account for the fixed padding when computing the preferred size.
2630         (-[WKActionMenuController _clearPreviewPopover]):
2631         Use the previewView ivar instead of the view controller's view.
2632         (-[WKActionMenuController pagePreviewViewControllerWasClicked:]):
2633         Ditto.
2634         (-[WKActionMenuController _preferredPopoverSize]): Deleted.
2635
2636 2014-11-21  Tim Horton  <timothy_horton@apple.com>
2637
2638         REGRESSION (r176415): Can get stuck, unable to invoke any DataDetectors popovers
2639         https://bugs.webkit.org/show_bug.cgi?id=138955
2640         <rdar://problem/19056442>
2641
2642         Reviewed by Anders Carlsson.
2643
2644         * UIProcess/API/mac/WKView.mm:
2645         (-[WKView mouseDown:]):
2646         * UIProcess/mac/WKActionMenuController.h:
2647         * UIProcess/mac/WKActionMenuController.mm:
2648         (-[WKActionMenuController wkView:willHandleMouseDown:]):
2649         (-[WKActionMenuController didCloseMenu:withEvent:]):
2650         (-[WKActionMenuController menuNeedsUpdate:]):
2651         Keep track of whether we have called shouldUseActionsWithContext: on a
2652         DDActionContext; if we get a mouseDown without having seen didCloseMenu:
2653         (and thus don't properly pair the shouldUseActionsWithContext: with a didUseActions),
2654         tear down the old DDActionContext before proceeding.
2655
2656 2014-11-21  Tim Horton  <timothy_horton@apple.com>
2657
2658         REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
2659         ​https://bugs.webkit.org/show_bug.cgi?id=138960
2660         <rdar://problem/19056715>
2661
2662         Reviewed by Anders Carlsson.
2663
2664         * UIProcess/mac/WKActionMenuController.mm:
2665         (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
2666         (-[WKActionMenuController _defaultMenuItemsForMailtoLink]): Deleted.
2667         Use DataDetectors SPI instead of an explicit blacklist.
2668
2669 2014-11-21  Tim Horton  <timothy_horton@apple.com>
2670
2671         Crashes while encoding a TextIndicator with no contentImageWithHighlight
2672         https://bugs.webkit.org/show_bug.cgi?id=138984
2673         <rdar://problem/19063717>
2674
2675         Reviewed by Sam Weinig.
2676
2677         * Shared/WebCoreArgumentCoders.cpp:
2678         (IPC::ArgumentCoder<TextIndicatorData>::encode):
2679         (IPC::ArgumentCoder<TextIndicatorData>::decode):
2680         encodeImage doesn't deal with null images, so handle that case gracefully.
2681
2682 2014-11-21  Tim Horton  <timothy_horton@apple.com>
2683
2684         REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
2685         https://bugs.webkit.org/show_bug.cgi?id=138960
2686         <rdar://problem/19056715>
2687
2688         Reviewed by Beth Dakin.
2689
2690         * UIProcess/mac/WKActionMenuController.mm:
2691         (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
2692         Blacklist contact results, because they don't have useful menus. If we
2693         bail before setting up _currentActionContext, we'll still allow fallthrough
2694         to ordinary text actions, avoiding mysterious failure when a contact is detected.
2695
2696         This doesn't break the case that r176351 was intended to fix,
2697         because in that case we were detecting e.g. addresses.
2698
2699 2014-11-21  Tim Horton  <timothy_horton@apple.com>
2700
2701         Move TextIndicator{Window} to WebCore
2702         https://bugs.webkit.org/show_bug.cgi?id=138954
2703         <rdar://problem/18992185>
2704
2705         Some adjustments by Csaba Osztrogonác.
2706         Reviewed by Anders Carlsson.
2707
2708         * CMakeLists.txt:
2709         Remove TextIndicator.cpp.
2710
2711         * Scripts/webkit/messages.py:
2712         (struct_or_class):
2713         (headers_for_type):
2714         Tell messages.py that TextIndicatorData is a struct, and comes from TextIndicator.h.
2715
2716         * Shared/WebCoreArgumentCoders.h:
2717         * Shared/WebCoreArgumentCoders.cpp:
2718         (IPC::ArgumentCoder<TextIndicatorData>::encode):
2719         (IPC::ArgumentCoder<TextIndicatorData>::decode):
2720         Add argument coders for TextIndicatorData.
2721
2722         * Shared/DictionaryPopupInfo.h:        
2723         * Shared/mac/ActionMenuHitTestResult.h:
2724         * Shared/mac/ActionMenuHitTestResult.mm:
2725         * UIProcess/API/gtk/PageClientImpl.h:
2726         * UIProcess/API/gtk/PageClientImpl.cpp:
2727         * UIProcess/API/mac/WKView.mm:
2728         * UIProcess/API/mac/WKViewInternal.h:
2729         * UIProcess/CoordinatedGraphics/WebView.h:
2730         * UIProcess/CoordinatedGraphics/WebView.cpp:
2731         * UIProcess/PageClient.h:
2732         * UIProcess/WebPageProxy.cpp:
2733         * UIProcess/WebPageProxy.h:
2734         * UIProcess/WebPageProxy.messages.in:
2735         * UIProcess/ios/PageClientImplIOS.h:
2736         * UIProcess/ios/WKContentView.h:
2737         * UIProcess/mac/PageClientImpl.h:
2738         * UIProcess/mac/PageClientImpl.mm:
2739         * UIProcess/mac/WKActionMenuController.mm:
2740         * WebKit2.xcodeproj/project.pbxproj:
2741         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
2742         * WebProcess/WebPage/FindController.cpp:
2743         * WebProcess/WebPage/WebPage.h:
2744         * WebProcess/WebPage/ios/WebPageIOS.mm:
2745         * WebProcess/WebPage/mac/WebPageMac.mm:
2746         Adjust to TextIndicator and TextIndicatorWindow's new home.
2747
2748 2014-11-21  Tim Horton  <timothy_horton@apple.com>
2749
2750         REGRESSION (r176238): Mailto links are getting preloaded, which results in a compose window
2751         https://bugs.webkit.org/show_bug.cgi?id=138972
2752
2753         Reviewed by Beth Dakin.
2754
2755         * UIProcess/mac/WKActionMenuController.mm:
2756         (-[WKActionMenuController willOpenMenu:withEvent:]):
2757         Only preload links.
2758
2759 2014-11-21  Anders Carlsson  <andersca@apple.com>
2760
2761         Remove the Timer parameters from timer callbacks
2762         https://bugs.webkit.org/show_bug.cgi?id=138974
2763
2764         Reviewed by Antti Koivisto.
2765
2766         * NetworkProcess/NetworkResourceLoader.cpp:
2767         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
2768         (WebKit::NetworkResourceLoader::bufferingTimerFired):
2769         * NetworkProcess/NetworkResourceLoader.h:
2770         * Shared/WebMemorySampler.cpp:
2771         (WebKit::WebMemorySampler::WebMemorySampler):
2772         (WebKit::WebMemorySampler::sampleTimerFired):
2773         (WebKit::WebMemorySampler::stopTimerFired):
2774         * Shared/WebMemorySampler.h:
2775         * Shared/mac/RemoteLayerBackingStoreCollection.h:
2776         * Shared/mac/RemoteLayerBackingStoreCollection.mm:
2777         (WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
2778         (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
2779         * WebProcess/Plugins/PluginView.cpp:
2780         (WebKit::PluginView::PluginView):
2781         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2782         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2783         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
2784         (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):
2785         * WebProcess/WebProcess.cpp:
2786         (WebKit::WebProcess::WebProcess):
2787         (WebKit::WebProcess::processSuspensionCleanupTimerFired):
2788         (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):
2789         * WebProcess/WebProcess.h:
2790
2791 2014-11-21  Anders Carlsson  <andersca@apple.com>
2792
2793         Remove the Timer parameters from timer callbacks
2794         https://bugs.webkit.org/show_bug.cgi?id=138974
2795
2796         Reviewed by Antti Koivisto.
2797
2798         * NetworkProcess/NetworkResourceLoader.cpp:
2799         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
2800         (WebKit::NetworkResourceLoader::bufferingTimerFired):
2801         * NetworkProcess/NetworkResourceLoader.h:
2802         * Shared/WebMemorySampler.cpp:
2803         (WebKit::WebMemorySampler::WebMemorySampler):
2804         (WebKit::WebMemorySampler::sampleTimerFired):
2805         (WebKit::WebMemorySampler::stopTimerFired):
2806         * Shared/WebMemorySampler.h:
2807         * Shared/mac/RemoteLayerBackingStoreCollection.h:
2808         * Shared/mac/RemoteLayerBackingStoreCollection.mm:
2809         (WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
2810         (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
2811         * WebProcess/Plugins/PluginView.cpp:
2812         (WebKit::PluginView::PluginView):
2813         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2814         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2815         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
2816         (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):
2817         * WebProcess/WebProcess.cpp:
2818         (WebKit::WebProcess::WebProcess):
2819         (WebKit::WebProcess::processSuspensionCleanupTimerFired):
2820         (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):
2821         * WebProcess/WebProcess.h:
2822
2823 2014-11-21  Antti Koivisto  <antti@apple.com>
2824
2825         Fix iOS build.
2826
2827         * Shared/ios/QuickLookDocumentData.cpp:
2828         (WebKit::QuickLookDocumentData::encode):
2829
2830 2014-11-21  Antti Koivisto  <antti@apple.com>
2831
2832         Remove alignment code from IPC coders
2833         https://bugs.webkit.org/show_bug.cgi?id=138963
2834
2835         Reviewed by Anders Carlsson.
2836
2837         Alignment code achieves nothing except making the messages somewhat bigger.
2838
2839         * Platform/IPC/ArgumentCoders.cpp:
2840         (IPC::ArgumentCoder<CString>::encode):
2841         (IPC::ArgumentCoder<CString>::decode):
2842         (IPC::ArgumentCoder<String>::encode):
2843         (IPC::decodeStringText):
2844         * Platform/IPC/ArgumentCoders.h:
2845         (IPC::SimpleArgumentCoder::encode):
2846         (IPC::SimpleArgumentCoder::decode):
2847         * Platform/IPC/ArgumentDecoder.cpp:
2848         (IPC::ArgumentDecoder::initialize):
2849         (IPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
2850         (IPC::ArgumentDecoder::decodeFixedLengthData):
2851         (IPC::ArgumentDecoder::decodeVariableLengthByteArray):
2852         (IPC::ArgumentDecoder::decodeNumber):
2853         (IPC::ArgumentDecoder::decode):
2854         (IPC::roundUpToAlignment): Deleted.
2855         (IPC::alignedBufferIsLargeEnoughToContain): Deleted.
2856         (IPC::ArgumentDecoder::alignBufferPosition): Deleted.
2857         (IPC::decodeValueFromBuffer): Deleted.
2858         * Platform/IPC/ArgumentDecoder.h:
2859         (IPC::ArgumentDecoder::isInvalid):
2860         (IPC::ArgumentDecoder::markInvalid):
2861         (IPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
2862         * Platform/IPC/ArgumentEncoder.cpp:
2863         (IPC::ArgumentEncoder::ArgumentEncoder):
2864         (IPC::ArgumentEncoder::grow):
2865         (IPC::ArgumentEncoder::encodeFixedLengthData):
2866         (IPC::ArgumentEncoder::encodeVariableLengthByteArray):
2867         (IPC::ArgumentEncoder::encode):
2868         * Platform/IPC/ArgumentEncoder.h:
2869         (IPC::ArgumentEncoder::buffer):
2870         (IPC::ArgumentEncoder::mutableBuffer):
2871         * Platform/IPC/DataReference.cpp:
2872         (IPC::SharedBufferDataReference::encode):
2873         * Platform/IPC/MessageEncoder.cpp:
2874         (IPC::MessageEncoder::setIsSyncMessage):
2875         (IPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
2876         * Platform/IPC/mac/ConnectionMac.mm:
2877         (IPC::Connection::sendOutgoingMessage):
2878
2879 2014-11-21  Anders Carlsson  <andersca@apple.com>
2880
2881         Make memoryCache() return a reference
2882         https://bugs.webkit.org/show_bug.cgi?id=138939
2883
2884         Reviewed by Antti Koivisto.
2885
2886         * WebProcess/Network/NetworkProcessConnection.cpp:
2887         (WebKit::NetworkProcessConnection::didCacheResource):
2888         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
2889         (WebKit::WebResourceCacheManager::getCacheOrigins):
2890         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
2891         * WebProcess/WebProcess.cpp:
2892         (WebKit::WebProcess::terminate):
2893         (WebKit::WebProcess::didClose):
2894         (WebKit::WebProcess::clearResourceCaches):
2895         (WebKit::getWebCoreMemoryCacheStatistics):
2896         (WebKit::WebProcess::setMemoryCacheDisabled):
2897         * WebProcess/cocoa/WebProcessCocoa.mm:
2898         (WebKit::WebProcess::platformSetCacheModel):
2899         * WebProcess/soup/WebProcessSoup.cpp:
2900         (WebKit::WebProcess::platformSetCacheModel):
2901
2902 2014-11-21  Daniel Bates  <dabates@apple.com>
2903
2904         [iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC
2905         https://bugs.webkit.org/show_bug.cgi?id=138930
2906
2907         Reviewed by Anders Carlsson.
2908
2909         * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Remove forward declaration for NSCachedURLResponse
2910         methods as this functionality was incorporated into CFNetworkSPI.h, which is included by this file.
2911         * Platform/mac/LayerHostingContext.mm: Moved QuartzCore forward declarations from this file to file
2912         QuartzCoreSPI.h and included header QuartzCoreSPI.h.
2913         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Include header XPCSPI.h.
2914         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Remove forward declarations of
2915         XPC SPI since these declarations are part of XCPSPI.h, which is included by header XPCServiceEntryPoint.h.
2916         * UIProcess/API/Cocoa/WKWebView.mm: Remove unnecessary include of header QuartzCore/CARenderServer.h
2917         as it will be included by header QuartzCoreSPI.h.
2918         * UIProcess/Network/NetworkProcessProxy.cpp: Include header XPCSPI.h when building for iOS with
2919         USE(XPC_SERVICES) enabled.
2920         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Include header MediaPlayerSPI.h instead of including
2921         MediaPlayer private headers directly. Also sort the list of #import directives.
2922
2923 2014-11-20  Dan Bernstein  <mitz@apple.com>
2924
2925         Build fix.
2926
2927         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
2928         (-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]): Cast the return value of
2929         [getMPAudioVideoRoutingPopoverControllerClass() alloc] to resolve ambiguity about which
2930         -initWithType: we are calling.
2931         (-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]): Cast to resolve ambiguity.
2932         (-[WKAirPlayRoutePicker show:fromRect:]): Cast for consistency.
2933
2934 2014-11-20  Benjamin Poulain  <bpoulain@apple.com>
2935
2936         Remove the remaining vestiges of minimal-ui
2937         https://bugs.webkit.org/show_bug.cgi?id=138890
2938
2939         Reviewed by Sam Weinig.
2940
2941         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2942         (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
2943         * WebProcess/WebPage/WebPage.cpp:
2944         (WebKit::WebPage::didCommitLoad):
2945         (WebKit::WebPage::didFinishDocumentLoad): Deleted.
2946         * WebProcess/WebPage/WebPage.h:
2947         * WebProcess/WebPage/ios/WebPageIOS.mm:
2948         (WebKit::WebPage::savePageState):
2949         (WebKit::WebPage::restorePageState):
2950         (WebKit::WebPage::viewportConfigurationChanged):
2951         (WebKit::WebPage::updateViewportSizeForCSSViewportUnits):
2952
2953 2014-11-20  Beth Dakin  <bdakin@apple.com>
2954
2955         Preview popover needs minimum and maximum sizes
2956         https://bugs.webkit.org/show_bug.cgi?id=138943
2957         -and corresponding-
2958         rdar://problem/18904651
2959
2960         Reviewed by Tim Horton.
2961
2962         Quick follow-up to get the right screen.
2963         * UIProcess/mac/WKActionMenuController.mm:
2964         (-[WKActionMenuController largestPopoverSize]):
2965
2966 2014-11-20  Beth Dakin  <bdakin@apple.com>
2967
2968         Preview popover needs minimum and maximum sizes
2969         https://bugs.webkit.org/show_bug.cgi?id=138943
2970         -and corresponding-
2971         rdar://problem/18904651
2972
2973         Reviewed by Tim Horton.
2974
2975         This patch enforces minimum and maximum popover sizes. If the popover needs to be 
2976         sized up to be above the minimum, it will end up covering some of the 
2977         _hitTestResult, so we should compute a new origin rect based on the original 
2978         event location. 
2979         * UIProcess/mac/WKActionMenuController.h:
2980         * UIProcess/mac/WKActionMenuController.mm:
2981         (-[WKActionMenuController prepareForMenu:withEvent:]):
2982         (-[WKActionMenuController _previewURLFromActionMenu:]):
2983         (-[WKActionMenuController _createPreviewPopover]):
2984         (-[WKActionMenuController largestPopoverSize]):
2985         (-[WKActionMenuController _preferredPopoverSize]):
2986         (-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]): Deleted.
2987
2988 2014-11-20  Conrad Shultz  <conrad_shultz@apple.com>
2989
2990         Clicks on previews can be recognized multiple times
2991         https://bugs.webkit.org/show_bug.cgi?id=138944
2992
2993         Reviewed by Tim Horton.
2994
2995         * UIProcess/mac/WKActionMenuController.mm:
2996         (-[WKPagePreviewViewController _clickRecognized:]):
2997         Only dispatch the delegate message on the appropriate gesture recognizer state transition.
2998
2999 2014-11-20  Conrad Shultz  <conrad_shultz@apple.com>
3000
3001         Clients should be able to customize preview click behavior
3002         https://bugs.webkit.org/show_bug.cgi?id=138940
3003
3004         Reviewed by Tim Horton.
3005
3006         * UIProcess/API/Cocoa/WKViewPrivate.h:
3007         Declare -_handleClickInPreviewView:URL:.
3008
3009         * UIProcess/API/mac/WKView.mm:
3010         (-[WKView _handleClickInPreviewView:URL:]):
3011         Extracted from -[WKActionMenuController pagePreviewViewControllerWasClicked:].
3012
3013         * UIProcess/mac/WKActionMenuController.mm:
3014         (-[WKActionMenuController pagePreviewViewControllerWasClicked:]):
3015         Extract code to -[WKView _handleClickInPreviewView:URL:].
3016
3017 2014-11-20  Csaba Osztrogonác  <ossy@webkit.org>
3018
3019         URTBF after r176420 to fix non Apple builds.
3020
3021         * WebProcess/WebProcess.cpp:
3022         (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
3023
3024 2014-11-20  Anders Carlsson  <andersca@apple.com>
3025
3026         WebPlugInClient::m_webPage can never be null, use a reference
3027         https://bugs.webkit.org/show_bug.cgi?id=138937
3028
3029         Reviewed by Andreas Kling.
3030
3031         * WebProcess/WebCoreSupport/WebPlugInClient.cpp:
3032         (WebKit::WebPlugInClient::WebPlugInClient):
3033         (WebKit::WebPlugInClient::shouldAutoStartFromOrigin):
3034         * WebProcess/WebCoreSupport/WebPlugInClient.h:
3035         * WebProcess/WebPage/WebPage.cpp:
3036         (WebKit::WebPage::WebPage):
3037         * WebProcess/WebProcess.cpp:
3038         (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
3039         * WebProcess/WebProcess.h:
3040
3041 2014-11-20  Tim Horton  <timothy_horton@apple.com>
3042
3043         TextIndicator should have getters for TextIndicator::Data properties
3044         https://bugs.webkit.org/show_bug.cgi?id=138920
3045
3046         Reviewed by Beth Dakin.
3047
3048         Instead of having clients reach into the data(), add getters.
3049         Remove frameRect(), which is identical to the textBoundingRectInWindowCoordinates getter.
3050         Remove declarations for draw/drawContentImage, which were already removed.
3051
3052         * Shared/TextIndicator.cpp:
3053         (WebKit::TextIndicator::frameRect): Deleted.
3054         * Shared/TextIndicator.h:
3055         (WebKit::TextIndicator::textBoundingRectInWindowCoordinates):
3056         (WebKit::TextIndicator::textRectsInBoundingRectCoordinates):
3057         (WebKit::TextIndicator::contentImageScaleFactor):
3058         (WebKit::TextIndicator::contentImageWithHighlight):
3059         (WebKit::TextIndicator::contentImage):
3060         * UIProcess/mac/TextIndicatorWindow.mm:
3061         (-[WKTextIndicatorView initWithFrame:textIndicator:margin:]):
3062         (-[WKTextIndicatorView presentWithCompletionHandler:]):
3063         (WebKit::TextIndicatorWindow::setTextIndicator):
3064
3065 2014-11-20  Tim Horton  <timothy_horton@apple.com>
3066
3067         Cancel DataDetectors menu earlier if we know it can't be presented
3068         https://bugs.webkit.org/show_bug.cgi?id=138922
3069         <rdar://problem/18950441>
3070
3071         Reviewed by Beth Dakin.
3072
3073         * UIProcess/mac/WKActionMenuController.mm:
3074         (-[WKActionMenuController willOpenMenu:withEvent:]):
3075         If we end up with a menu with no items, don't change selection or anything.
3076
3077         (-[WKActionMenuController menuNeedsUpdate:]):
3078         Move our call to shouldUseActionsWithContext earlier, to menuNeedsUpdate,
3079         and use a bigger hammer (removeAllItems).
3080
3081 2014-11-20  Tim Horton  <timothy_horton@apple.com>
3082
3083         Don't use a TextIndicator BounceAndCrossfade transition if the selection highlight is never shown
3084         https://bugs.webkit.org/show_bug.cgi?id=138919
3085         <rdar://problem/19042207>
3086
3087         Reviewed by Beth Dakin.
3088
3089         * Shared/TextIndicator.h:
3090         (WebKit::TextIndicator::presentationTransition):
3091         (WebKit::TextIndicator::setPresentationTransition):
3092         Add getter and setter pair.
3093
3094         * UIProcess/mac/WKActionMenuController.mm:
3095         (-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
3096         If the selection highlight will never be shown because there's only a single menu item,
3097         use a normal bounce animation instead of bounce + crossfade.
3098
3099 2014-11-20  Beth Dakin  <bdakin@apple.com>
3100
3101         Invalid message WebPageProxy.DidPerformDictionaryLookup on Google stocks result
3102         https://bugs.webkit.org/show_bug.cgi?id=138568
3103         -and corresponding-
3104         rdar://problem/18904600
3105
3106         Reviewed by Tim Horton.
3107
3108         Skip images for lookup.
3109         * WebProcess/WebPage/mac/WebPageMac.mm:
3110         (WebKit::WebPage::performDictionaryLookupForRange):
3111
3112 2014-11-20  Daniel Bates  <dabates@apple.com>
3113
3114         [iOS] Add more ENABLE({TOUCH_EVENTS, IOS_TOUCH_EVENTS})-guards in WebKit2
3115         https://bugs.webkit.org/show_bug.cgi?id=138928
3116
3117         Reviewed by Simon Fraser.
3118
3119         * UIProcess/ios/WKContentViewInteraction.h:
3120         * UIProcess/ios/WKContentViewInteraction.mm:
3121         (-[WKContentView setupInteraction]):
3122         * WebProcess/WebPage/WebPage.cpp:
3123         (WebKit::WebPage::didCommitLoad):
3124         * WebProcess/WebPage/WebPage.h:
3125         * WebProcess/WebPage/ios/WebPageIOS.mm:
3126         (WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
3127
3128 2014-11-20  Anders Carlsson  <andersca@apple.com>
3129
3130         Add -[WKWebView loadData:MIMEType:textEncodingName:baseURL:]
3131         https://bugs.webkit.org/show_bug.cgi?id=138929
3132         <rdar://problem/18683802>
3133
3134         Reviewed by Dan Bernstein.
3135
3136         Also, re-implement -[WKWebView loadHTMLString:baseURL:] in terms of this newly added function
3137         and assume a UTF-8 encoding. This matches what Legacy WebKit does.
3138
3139         * UIProcess/API/Cocoa/WKWebView.h:
3140         * UIProcess/API/Cocoa/WKWebView.mm:
3141         (-[WKWebView loadHTMLString:baseURL:]):
3142         (-[WKWebView loadData:MIMEType:textEncodingName:baseURL:]):
3143         * UIProcess/WebPageProxy.cpp:
3144         (WebKit::WebPageProxy::loadData):
3145         * UIProcess/WebPageProxy.h:
3146
3147 2014-11-20  Antti Koivisto  <antti@apple.com>
3148
3149         Remove alignment code from cache coders
3150         https://bugs.webkit.org/show_bug.cgi?id=138927
3151
3152         Failed to land this file.
3153
3154         * NetworkProcess/cache/NetworkCacheCoders.cpp:
3155         (WebKit::NetworkCacheCoder<CString>::encode):
3156         (WebKit::NetworkCacheCoder<CString>::decode):
3157         (WebKit::NetworkCacheCoder<String>::encode):
3158         (WebKit::decodeStringText):
3159         (WebKit::NetworkCacheCoder<WebCore::CertificateInfo>::encode):
3160         (WebKit::NetworkCacheCoder<WebCore::CertificateInfo>::decode):
3161         * NetworkProcess/cache/NetworkCacheCoders.h:
3162
3163 2014-11-20  Antti Koivisto  <antti@apple.com>
3164
3165         Remove alignment code from cache coders
3166         https://bugs.webkit.org/show_bug.cgi?id=138927
3167
3168         Reviewed by Anders Carlsson.
3169
3170         Alignment code doesn't do anything useful, wastes space and produces wrong results
3171         if the encoder and decoder buffers don't have the same 8-byte alignment.
3172
3173         * NetworkProcess/cache/NetworkCacheDecoder.cpp:
3174         (WebKit::NetworkCacheDecoder::NetworkCacheDecoder):
3175         (WebKit::NetworkCacheDecoder::bufferIsLargeEnoughToContain):
3176         (WebKit::NetworkCacheDecoder::decodeFixedLengthData):
3177         (WebKit::NetworkCacheDecoder::decodeNumber):
3178         (WebKit::roundUpToAlignment): Deleted.
3179         (WebKit::alignedBufferIsLargeEnoughToContain): Deleted.
3180         (WebKit::NetworkCacheDecoder::alignBufferPosition): Deleted.
3181         * NetworkProcess/cache/NetworkCacheDecoder.h:
3182         (WebKit::NetworkCacheDecoder::currentOffset):
3183         (WebKit::NetworkCacheDecoder::isInvalid):
3184         (WebKit::NetworkCacheDecoder::markInvalid):
3185         (WebKit::NetworkCacheDecoder::bufferIsLargeEnoughToContain):
3186         * NetworkProcess/cache/NetworkCacheEncoder.cpp:
3187         (WebKit::NetworkCacheEncoder::grow):
3188         (WebKit::NetworkCacheEncoder::encodeFixedLengthData):
3189         (WebKit::NetworkCacheEncoder::encodeNumber):
3190         (WebKit::roundUpToAlignment): Deleted.
3191         * NetworkProcess/cache/NetworkCacheEncoder.h:
3192
3193 2014-11-20  Csaba Osztrogonác  <ossy@webkit.org>
3194
3195         [GTK] URTBF after r176363.
3196
3197         * UIProcess/API/gtk/PageClientImpl.cpp:
3198         (WebKit::PageClientImpl::setTextIndicator):
3199         * UIProcess/API/gtk/PageClientImpl.h:
3200
3201 2014-11-19  Yongjun Zhang  <yongjun_zhang@apple.com>
3202
3203         Don't track sub-resources that are started after main frame progress has completed.
3204         https://bugs.webkit.org/show_bug.cgi?id=138582
3205
3206         Reviewed by Sam Weinig.
3207
3208         After main frame progress has finished, starting loading a sub-resource shouldn't affect
3209         UI process's view of page loading status (i.e., the page has already completed loading
3210         and the progress shouldn't change). To achive that, don't track the subresources that
3211         are started after the main frame has finished, except for those triggered by user interaction.
3212
3213         * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:  Notify WebPage that the main frame progress
3214             has started or finished.
3215         (WebKit::WebProgressTrackerClient::progressStarted):
3216         (WebKit::WebProgressTrackerClient::progressFinished):
3217         * WebProcess/WebPage/WebPage.cpp:
3218         (WebKit::WebPage::WebPage):
3219         (WebKit::WebPage::addResourceRequest): Don't track the resource request if it is initiated after
3220             the main frame is loaded and it is not triggered by user interaction.
3221         (WebKit::WebPage::removeResourceRequest):
3222         * WebProcess/WebPage/WebPage.h: Rename m_networkResourceRequestIdentifiers to m_trackedNetworkResourceRequestIdentifiers.
3223         (WebKit::WebPage::setMainFrameProgressCompleted):
3224
3225 2014-11-19  Sun-woo Nam  <sunny.nam@samsung.com>
3226
3227         [EFL] Fix build failure since r176363.
3228         https://bugs.webkit.org/show_bug.cgi?id=138903
3229
3230         Reviewed by Gyuyoung Kim.
3231
3232         The parameter for animation on setTextIndicator() was removed on 'PageClient' class.
3233
3234         * UIProcess/CoordinatedGraphics/WebView.cpp:
3235         (WebKit::WebView::setTextIndicator):
3236         * UIProcess/CoordinatedGraphics/WebView.h:
3237
3238 2014-11-19  Timothy Horton  <timothy_horton@apple.com>
3239
3240         Try to fix the iOS build
3241
3242         * WebProcess/WebPage/ios/WebPageIOS.mm:
3243         (WebKit::WebPage::performDictionaryLookupForSelection):
3244         (WebKit::WebPage::performDictionaryLookupForRange):
3245
3246 2014-11-19  Timothy Horton  <timothy_horton@apple.com>
3247
3248         Fix the 32-bit build
3249
3250         * UIProcess/mac/TextIndicatorWindow.mm:
3251         (WebKit::TextIndicatorWindow::setTextIndicator):
3252
3253 2014-11-19  Tim Horton  <timothy_horton@apple.com>
3254
3255         Add an optional entry transition (from selection highlight) to TextIndicator
3256         https://bugs.webkit.org/show_bug.cgi?id=138856
3257         <rdar://problem/18840128>
3258
3259         Reviewed by Anders Carlsson.
3260
3261         * Shared/TextIndicator.cpp:
3262         (WebKit::outsetIndicatorRectIncludingShadow):
3263         (WebKit::TextIndicator::createWithRange):
3264         (WebKit::snapshotSelectionWithHighlight):
3265         (WebKit::TextIndicator::createWithSelectionInFrame):
3266         (WebKit::TextIndicator::frameRect):
3267         (WebKit::TextIndicator::Data::encode):
3268         (WebKit::TextIndicator::Data::decode):
3269         Remove TextIndicator::draw and related functions; drawing is handled entirely
3270         by the TextIndicatorWindow now, and TextIndicator just stores the required data.
3271
3272         Unify outsetIndicatorRectIncludingShadow.
3273
3274         Add an argument to createWithRange/createWithSelectionInFrame to indicate
3275         if the TextIndicator should transition from the selection highlight to
3276         the yellow bubble.
3277
3278         If we're doing the transition, paint the selection into a second bitmap,
3279         without forcing the text to black and without hiding the blue highlight.
3280
3281         Encode/decode the second bitmap.
3282
3283         * Shared/TextIndicator.h:
3284         * UIProcess/mac/TextIndicatorWindow.h:
3285         * UIProcess/mac/TextIndicatorWindow.mm:
3286         (-[WKTextIndicatorView initWithFrame:textIndicator:margin:transitionFromSelectionColor:]):
3287         (-[WKTextIndicatorView presentWithCompletionHandler:]):
3288         (-[WKTextIndicatorView hideWithCompletionHandler:]):
3289         (-[WKTextIndicatorView isFlipped]):
3290         (WebKit::TextIndicatorWindow::TextIndicatorWindow):
3291         (WebKit::TextIndicatorWindow::setTextIndicator):
3292         (WebKit::TextIndicatorWindow::closeWindow):
3293         (WebKit::TextIndicatorWindow::startFadeOutTimerFired):
3294         Re-implement the bounce animation using CoreAnimation instead of
3295         the WKSI-based WKWindowBounceAnimation*.
3296
3297         * WebProcess/WebPage/WebPage.h:
3298         * WebProcess/WebPage/mac/WebPageMac.mm:
3299         (WebKit::WebPage::performDictionaryLookupForSelection):
3300         (WebKit::WebPage::performDictionaryLookupOfCurrentSelection):
3301         (WebKit::WebPage::performDictionaryLookupForRange):
3302         (WebKit::WebPage::performActionMenuHitTestAtLocation):
3303         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
3304         Use the aforementioned transition animation for performDictionaryLookupOfCurrentSelection,
3305         the context menu lookup item, and for Data Detectors.
3306
3307 2014-11-19  Anders Carlsson  <andersca@apple.com>
3308
3309         Add a version of API::Data::createWithoutCopying that takes an NSData
3310         https://bugs.webkit.org/show_bug.cgi?id=138893
3311
3312         Reviewed by Dan Bernstein.
3313
3314         * Shared/APIData.h:
3315         * Shared/Cocoa/APIDataCocoa.mm: Added.
3316         (API::Data::createWithoutCopying):
3317         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
3318         (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
3319         (releaseNSData): Deleted.
3320         * WebKit2.xcodeproj/project.pbxproj:
3321         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
3322         (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):
3323
3324 2014-11-19  Beth Dakin  <bdakin@apple.com>
3325
3326         Invoking an action menu on a selection should result in the text menu
3327         https://bugs.webkit.org/show_bug.cgi?id=138892
3328         -and corresponding-
3329         rdar://problem/18996776
3330
3331         Reviewed by Tim Horton.
3332
3333         * UIProcess/mac/WKActionMenuController.mm:
3334         (-[WKActionMenuController _defaultMenuItems]):
3335
3336 2014-11-19  Anders Carlsson  <andersca@apple.com>
3337
3338         Fix iOS build.
3339
3340         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
3341
3342 2014-11-19  Anders Carlsson  <andersca@apple.com>
3343
3344         Rename two Cocoa-only .cpp files to .mm.
3345
3346         Rubber-stamped by Sam Weinig.
3347
3348         * Shared/APIWebArchive.mm: Renamed from Source/WebKit2/Shared/APIWebArchive.cpp.
3349         * Shared/APIWebArchiveResource.mm: Renamed from Source/WebKit2/Shared/APIWebArchiveResource.cpp.
3350         * WebKit2.xcodeproj/project.pbxproj:
3351
3352 2014-11-19  Beth Dakin  <bdakin@apple.com>
3353
3354         Data detected results with no menu items should not fall through to regular text 
3355         action menus
3356         https://bugs.webkit.org/show_bug.cgi?id=138887
3357         -and corresponding-
3358         rdar://problem/18971616
3359
3360         Reviewed by Tim Horton.
3361
3362         * UIProcess/mac/WKActionMenuController.mm:
3363         (-[WKActionMenuController _defaultMenuItems]):
3364
3365 2014-11-19  Daniel Bates  <dabates@apple.com>
3366
3367         [iOS] Make WebKit build with public iOS SDK
3368         https://bugs.webkit.org/show_bug.cgi?id=136863
3369
3370         Reviewed by David Kilzer.
3371
3372         * NetworkProcess/cocoa/NetworkProcessCocoa.mm: Moved CFNetwork forward declarations
3373         from this file to file CFNetworkSPI.h and included header CFNetworkSPI.h.
3374         * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Ditto.
3375         * NetworkProcess/mac/NetworkResourceLoaderMac.mm: Ditto.
3376         * UIProcess/API/Cocoa/WKProcessPool.mm: Ditto.
3377         * UIProcess/mac/WebContextMac.mm: Ditto.
3378         * WebProcess/cocoa/WebProcessCocoa.mm: Ditto.
3379
3380 2014-11-19  Anders Carlsson  <andersca@apple.com>
3381
3382         Add APIs for customizing the user agent
3383         https://bugs.webkit.org/show_bug.cgi?id=138881
3384         rdar://problem/17233981
3385
3386         Reviewed by Dan Bernstein.
3387
3388         * UIProcess/API/Cocoa/WKWebView.h:
3389         * UIProcess/API/Cocoa/WKWebView.mm:
3390         (-[WKWebView initWithFrame:configuration:]):
3391         (-[WKWebView customUserAgent]):
3392         (-[WKWebView setCustomUserAgent:]):
3393         (-[WKWebView _customUserAgent]):
3394         (-[WKWebView _setCustomUserAgent:]):
3395         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
3396         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
3397         (LazyInitialized::set):
3398         (-[WKWebViewConfiguration copyWithZone:]):
3399         (defaultApplicationNameForUserAgent):
3400         (-[WKWebViewConfiguration applicationNameForUserAgent]):
3401         (-[WKWebViewConfiguration setApplicationNameForUserAgent:]):
3402
3403 2014-11-19  Simon Fraser  <simon.fraser@apple.com>
3404
3405         [WK2 UI-side compositing] Initialize RemoteLayerTreeTransaction properties which are unset on Mac
3406         https://bugs.webkit.org/show_bug.cgi?id=138877
3407
3408         Reviewed by Tim Horton.
3409         
3410         These data members are unused on Mac, but still encoded, so initialize them with
3411         reasonable values.
3412
3413         * Shared/mac/RemoteLayerTreeTransaction.mm:
3414         (WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):
3415
3416 2014-11-19  Enrica Casucci  <enrica@apple.com>
3417
3418         Refactor iOS selection gestures.
3419         https://bugs.webkit.org/show_bug.cgi?id=138720
3420         rdar://problem/18964359
3421
3422         Reviewed by Benjamin Poulain.
3423
3424         This is a first step towards refactoring the selection gestures code.
3425         It introduces more general selection movement functions that can be used to build
3426         the gestures.
3427
3428         * UIProcess/WebPageProxy.h:
3429         * UIProcess/ios/WKContentViewInteraction.h:
3430         * UIProcess/ios/WKContentViewInteraction.mm:
3431         (toWKTextGranularity):
3432         (toWKSelectionDirection):
3433         (-[WKContentView selectPositionAtPoint:completionHandler:]):
3434         (-[WKContentView selectPositionAtBoundary:inDirection:fromPoint:completionHandler:]):
3435         (-[WKContentView selectTextWithGranularity:atPoint:completionHandler:]):
3436         (-[WKContentView beginSelectionInDirection:completionHandler:]):
3437         (-[WKContentView updateSelectionWithExtentPoint:completionHandler:]):
3438         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
3439         * UIProcess/ios/WebPageProxyIOS.mm:
3440         (WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
3441         (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
3442         (WebKit::WebPageProxy::selectPositionAtPoint):
3443         (WebKit::WebPageProxy::beginSelectionInDirection):
3444         (WebKit::WebPageProxy::updateSelectionWithExtentPoint):
3445         * WebProcess/WebPage/WebPage.cpp:
3446         (WebKit::WebPage::WebPage):
3447         * WebProcess/WebPage/WebPage.h:
3448         * WebProcess/WebPage/WebPage.messages.in:
3449         * WebProcess/WebPage/ios/WebPageIOS.mm:
3450         (WebKit::WebPage::selectWithGesture):
3451         (WebKit::WebPage::visiblePositionInFocusedNodeForPoint):
3452         (WebKit::WebPage::selectPositionAtPoint):
3453         (WebKit::WebPage::selectPositionAtBoundaryWithDirection):
3454         (WebKit::WebPage::selectTextWithGranularityAtPoint):
3455         (WebKit::WebPage::beginSelectionInDirection):
3456         (WebKit::WebPage::updateSelectionWithExtentPoint):
3457
3458 2014-11-19  Simon Fraser  <simon.fraser@apple.com>
3459
3460         [WK2 UI-side Compositing] Fix the position and scroll indicator of the UI-side tiled scrolling indicator
3461         https://bugs.webkit.org/show_bug.cgi?id=138876
3462
3463         Reviewed by Beth Dakin.
3464         
3465         Fix the position of the tiled scrolling indicator in MiniBrowser by taking top
3466         content offset into account.
3467         
3468         On Mac, pass the current scroll position back to the UI process via the RemoteLayerTreeTransaction
3469         so that we can use it to show the correctly scroll offset in the indicator. This is temporary until
3470         Mac does UI-side scrolling.
3471
3472         * Shared/mac/RemoteLayerTreeTransaction.h:
3473         (WebKit::RemoteLayerTreeTransaction::scrollPosition):
3474         (WebKit::RemoteLayerTreeTransaction::setScrollPosition):
3475         * Shared/mac/RemoteLayerTreeTransaction.mm:
3476         (WebKit::RemoteLayerTreeTransaction::encode):
3477         (WebKit::RemoteLayerTreeTransaction::decode):
3478         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
3479         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
3480         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
3481         (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
3482         (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
3483         * WebProcess/WebPage/WebPage.cpp:
3484         (WebKit::WebPage::willCommitLayerTree):
3485
3486 2014-11-19  Michael Catanzaro  <mcatanzaro@igalia.com>
3487
3488         [GTK] Error in documentation of webkit_print_operation_get_page_setup()
3489         https://bugs.webkit.org/show_bug.cgi?id=138868
3490
3491         Reviewed by Carlos Garcia Campos.
3492
3493         Fix copypaste error in documentation of
3494         webkit_print_operation_get_page_setup().
3495
3496         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3497
3498 2014-11-19  Mark Rowe  <mrowe@apple.com>
3499
3500         Remove an unused file.
3501
3502         * version.plist: Removed.
3503
3504 2014-11-18  Benjamin Poulain  <bpoulain@apple.com>
3505
3506         [WK2] Remove the minimalUI code from the UIProcess
3507         https://bugs.webkit.org/show_bug.cgi?id=138819
3508
3509         Reviewed by Sam Weinig.
3510
3511         It looks like the only interface we have to keep alive is
3512         [WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:].
3513