[CMAKE] Build warning by INTERFACE_LINK_LIBRARIES
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2014-09-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         [CMAKE] Build warning by INTERFACE_LINK_LIBRARIES
4         https://bugs.webkit.org/show_bug.cgi?id=136194
5
6         Reviewed by Csaba Osztrogonác.
7
8         Set the LINK_INTERFACE_LIBRARIES target property on the top level CMakeLists.txt.
9
10         * CMakeLists.txt:
11
12 2014-09-01  Michael Catanzaro  <mcatanzaro@igalia.com>
13
14         [SOUP] WebKitDownload cannot overwrite existing file
15         https://bugs.webkit.org/show_bug.cgi?id=136322
16
17         Reviewed by Carlos Garcia Campos.
18
19         * Shared/Downloads/soup/DownloadSoup.cpp:
20         (WebKit::DownloadClient::didReceiveResponse): pass a member variable
21         to Download::decideDestinationWithSuggestedFilename instead of a
22         temporary bool, so we can use the result in didFinishLoading.
23         (WebKit::DownloadClient::didFinishLoading): overwrite the destination
24         if Download::decideDestinationWithSuggestedFilename determined we
25         should do so.
26
27 2014-08-31  Tim Horton  <timothy_horton@apple.com>
28
29         Occasional crashes (null deref) under ViewGestureController::endMagnificationGesture
30         https://bugs.webkit.org/show_bug.cgi?id=136409
31         <rdar://problem/18104748>
32
33         Reviewed by Dan Bernstein.
34
35         * UIProcess/mac/ViewGestureControllerMac.mm:
36         (WebKit::ViewGestureController::endMagnificationGesture):
37         Null-check DrawingArea.
38
39 2014-08-26  Maciej Stachowiak  <mjs@apple.com>
40
41         Use RetainPtr::autorelease in some places where it seems appropriate
42         https://bugs.webkit.org/show_bug.cgi?id=136280
43
44         Reviewed by Darin Adler.
45
46         * Shared/Cocoa/WKNSURLExtras.mm:
47         (urlWithWTFString): Use autorelease() instead of CFBridgingRelease(leakRef())
48
49 2014-08-29  Tim Horton  <timothy_horton@apple.com>
50
51         More occasional crashes in ServicesController::resfreshExistingServices
52         https://bugs.webkit.org/show_bug.cgi?id=136387
53         <rdar://problem/18167200>
54
55         Reviewed by Dan Bernstein.
56
57         * UIProcess/mac/ServicesController.mm:
58         (WebKit::ServicesController::ServicesController):
59         Speculative fix; if this block is called synchronously, we'll end up
60         calling back into ::shared() before the NeverDestroyed is initialized,
61         ending up with two ServicesControllers.
62
63 2014-08-29  Alexey Proskuryakov  <ap@apple.com>
64
65         Crashes in IPC code under VisitedLinkProvider::pendingVisitedLinksTimerFired
66         https://bugs.webkit.org/show_bug.cgi?id=136384
67         rdar://problem/16991213
68
69         Reviewed by Sam Weinig.
70
71         VisitedLinkProvider process tracking relied on a combination of WebPageProxy process
72         lifecycle notifications and checking process state. As evidenced by multiple FIXMEs,
73         these are not yet as reliable as they should be.
74         
75         Changed to unregister a process when it closes, not when it no longer has any pages
76         using the particular VisitedLinkProvider or WebUserContentControllerProxy. This
77         is a deoptimization that should not matter in practice.
78
79         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
80         (WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
81         (WebKit::WebUserContentControllerProxy::removeProcess):
82         (WebKit::WebUserContentControllerProxy::addUserScript):
83         (WebKit::WebUserContentControllerProxy::removeAllUserScripts):
84         (WebKit::WebUserContentControllerProxy::addUserStyleSheet):
85         (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
86         (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
87         (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
88         * UIProcess/UserContent/WebUserContentControllerProxy.h:
89         * UIProcess/VisitedLinkProvider.cpp:
90         (WebKit::VisitedLinkProvider::~VisitedLinkProvider):
91         (WebKit::VisitedLinkProvider::removeProcess):
92         (WebKit::VisitedLinkProvider::removeAll):
93         (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
94         (WebKit::VisitedLinkProvider::resizeTable):
95         * UIProcess/VisitedLinkProvider.h:
96         * UIProcess/WebPageProxy.cpp:
97         (WebKit::WebPageProxy::WebPageProxy):
98         (WebKit::WebPageProxy::close):
99         (WebKit::WebPageProxy::processDidFinishLaunching):
100         (WebKit::WebPageProxy::resetStateAfterProcessExited):
101         * UIProcess/WebProcessProxy.cpp:
102         (WebKit::WebProcessProxy::disconnect):
103         (WebKit::WebProcessProxy::addVisitedLinkProvider):
104         (WebKit::WebProcessProxy::addWebUserContentControllerProxy):
105         (WebKit::WebProcessProxy::didDestroyVisitedLinkProvider):
106         (WebKit::WebProcessProxy::didDestroyWebUserContentControllerProxy):
107         * UIProcess/WebProcessProxy.h:
108
109 2014-08-29  Alexey Proskuryakov  <ap@apple.com>
110
111         WebPageProxy::close() is a no-op for terminated processes
112         https://bugs.webkit.org/show_bug.cgi?id=136378
113         Related to <rdar://problem/16991213> and to <rdar://problem/17095600>
114
115         Reviewed by Brady Eidson.
116
117         Also fixes issues that got uncovered after making close() work.
118
119         * UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::invalidate): Don't
120         close the page, because it makes no sense, and causes an assertion now. Previosly,
121         this was OK because the page was invalid already, and close() was a no-op.
122
123         * UIProcess/WebPageProxy.cpp:
124         (WebKit::WebPageProxy::~WebPageProxy): Added some assertions to catch invalidation
125         issues earlier.
126         (WebKit::WebPageProxy::reattachToWebProcess): Make it an invariant that a page's
127         process always has a message receiver for it, until close() removes it.
128         (WebKit::WebPageProxy::close): Make this function work for all open pages, whether
129         they have a page or not.
130         (WebKit::WebPageProxy::processDidFinishLaunching): Added an asserion that process
131         agrees about its state.
132         (WebKit::WebPageProxy::resetStateAfterProcessExited): Don't remove a message receiver,
133         we now only do this in reattach or close.
134
135 2014-08-29  Antti Koivisto  <antti@apple.com>
136
137         Remove NetworkResourceLoaderClient and subclasses.
138         https://bugs.webkit.org/show_bug.cgi?id=136370
139
140         Reviewed by Darin Adler.
141
142         This code is needlessly abstract. Move what logic these classes have to NetworkResourceLoader.
143
144         * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Removed.
145         * NetworkProcess/AsynchronousNetworkLoaderClient.h: Removed.
146         * NetworkProcess/NetworkLoaderClient.h: Removed.
147         * NetworkProcess/NetworkResourceLoader.cpp:
148         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
149         (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
150         (WebKit::NetworkResourceLoader::isSynchronous):
151         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
152         (WebKit::NetworkResourceLoader::didReceiveBuffer):
153         (WebKit::NetworkResourceLoader::didFinishLoading):
154         (WebKit::NetworkResourceLoader::didFail):
155         (WebKit::NetworkResourceLoader::willSendRequestAsync):
156         (WebKit::NetworkResourceLoader::didSendData):
157         (WebKit::NetworkResourceLoader::sendBuffer):
158         (WebKit::NetworkResourceLoader::sendReplyToSynchronousRequest):
159         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
160         * NetworkProcess/NetworkResourceLoader.h:
161         (WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
162         * NetworkProcess/SynchronousNetworkLoaderClient.cpp: Removed.
163         * NetworkProcess/SynchronousNetworkLoaderClient.h: Removed.
164         * WebKit2.xcodeproj/project.pbxproj:
165
166 2014-08-29  Csaba Osztrogonác  <ossy@webkit.org>
167
168         Unreviwed, remove empty directories.
169
170         * PluginProcess/qt: Removed.
171         * Shared/API/c/qt: Removed.
172         * Shared/Downloads/qt: Removed.
173         * Shared/FileAPI: Removed.
174         * Shared/qt: Removed.
175         * UIProcess/API/C/qt: Removed.
176         * UIProcess/API/cpp/qt: Removed.
177         * UIProcess/API/qt: Removed.
178         * UIProcess/API/qt/raw: Removed.
179         * UIProcess/API/qt/tests: Removed.
180         * UIProcess/API/qt/tests/html: Removed.
181         * UIProcess/API/qt/tests/html/resources: Removed.
182         * UIProcess/API/qt/tests/inspectorserver: Removed.
183         * UIProcess/API/qt/tests/publicapi: Removed.
184         * UIProcess/API/qt/tests/qmltests: Removed.
185         * UIProcess/API/qt/tests/qmltests/DesktopBehavior: Removed.
186         * UIProcess/API/qt/tests/qmltests/WebView: Removed.
187         * UIProcess/API/qt/tests/qmltests/common: Removed.
188         * UIProcess/API/qt/tests/qquickwebview: Removed.
189         * UIProcess/API/qt/tests/qrawwebview: Removed.
190         * UIProcess/InspectorServer/qt: Removed.
191         * UIProcess/Launcher/qt: Removed.
192         * UIProcess/Plugins/qt: Removed.
193         * UIProcess/SharedWorkers: Removed.
194         * UIProcess/qt: Removed.
195         * WebProcess/Cookies/qt: Removed.
196         * WebProcess/Downloads: Removed.
197         * WebProcess/IndexedDB: Removed.
198         * WebProcess/InjectedBundle/qt: Removed.
199         * WebProcess/NetworkInfo: Removed.
200         * WebProcess/Plugins/Netscape/qt: Removed.
201         * WebProcess/WebCoreSupport/qt: Removed.
202         * WebProcess/WebPage/qt: Removed.
203         * WebProcess/qt: Removed.
204         * qt: Removed.
205
206 2014-08-28  Tim Horton  <timothy_horton@apple.com>
207
208         _setDidMoveSwipeSnapshotCallback's block should only be called if the snapshot is going to move
209         https://bugs.webkit.org/show_bug.cgi?id=136354
210         <rdar://problem/18167791>
211
212         Reviewed by Simon Fraser.
213
214         * UIProcess/API/Cocoa/WKViewPrivate.h:
215         Update the comment to note the new behavior.
216
217         * UIProcess/mac/ViewGestureControllerMac.mm:
218         (WebKit::ViewGestureController::beginSwipeGesture):
219         Don't call the block until the snapshot is actually moving (if the snapshot
220         never moves because it's behind the live view, don't call the block at all).
221
222 2014-08-28  Tim Horton  <timothy_horton@apple.com>
223
224         Occasional thread-safety-related crashes on the ServicesController queue
225         https://bugs.webkit.org/show_bug.cgi?id=136356
226         <rdar://problem/18045685>
227
228         Reviewed by Dan Bernstein.
229
230         * UIProcess/mac/ServicesController.mm:
231         (WebKit::hasCompatibleServicesForItems):
232         Added. Check directly with NSSharingService if we have any services for the given items.
233         We should eventually check Viewer and Editor services separately so the Web process can
234         be smarter about when it shows the overlay, but for now this maintains the existing behavior.
235
236         (WebKit::ServicesController::refreshExistingServices):
237         Make use of hasCompatibleServicesForItems instead of having NSSharingServicePicker construct NSMenus.
238
239 2014-08-28  Tim Horton  <timothy_horton@apple.com>
240
241         WebKit2 doesn't support viewer services that accept image attachments
242         https://bugs.webkit.org/show_bug.cgi?id=136349
243         <rdar://problem/18164606>
244
245         Reviewed by Brady Eidson.
246
247         * Shared/WebProcessCreationParameters.cpp:
248         (WebKit::WebProcessCreationParameters::encode):
249         (WebKit::WebProcessCreationParameters::decode):
250         Encode the already-existing parameter.
251
252 2014-08-28  Zalan Bujtas  <zalan@apple.com>
253
254         Subpixel layout: Remove unused pixel snapping functions.
255         https://bugs.webkit.org/show_bug.cgi?id=136341
256
257         Reviewed by Simon Fraser.
258
259         Let's not encourage integral snapping by having these functions around.
260         
261         No change in functionality.
262
263         * Shared/WebRenderObject.cpp:
264         (WebKit::WebRenderObject::WebRenderObject):
265
266 2014-08-27  Enrica Casucci  <enrica@apple.com>
267
268         textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
269         https://bugs.webkit.org/show_bug.cgi?id=136323
270         rdar://problem/18141964
271
272         Reviewed by Antti Koivisto.
273
274         For underline style we need to check typingStyle first and use that information to populate
275         the dictionary. If there is no typing style we can use the render style.
276         We also need to update the editor state for the toggle commands to reflect the state in the UIProcess
277         even for commands that don't change the selection.
278
279         * WebProcess/WebPage/WebPage.cpp:
280         (WebKit::WebPage::editorState):
281         * WebProcess/WebPage/ios/WebPageIOS.mm:
282         (WebKit::WebPage::executeEditCommandWithCallback):
283
284 2014-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
285
286         [GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
287         https://bugs.webkit.org/show_bug.cgi?id=136248
288
289         Reviewed by Gustavo Noronha Silva.
290
291         Add webkit_uri_response_get_http_headers() that returns the HTTP
292         headers as a SoupMessageHeaders* like webkit_uri_request_get_http_headers().
293
294         * UIProcess/API/gtk/WebKitURIResponse.cpp:
295         (webkitURIResponseGetProperty): Add http-headers property getter.
296         (webkit_uri_response_class_init): Add http-headers property.
297         (webkit_uri_response_get_http_headers): Return the HTTP headers as
298         a SoupMessageHeaders* or NULL for non HTTP responses.
299         * UIProcess/API/gtk/WebKitURIResponse.h:
300         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
301
302 2014-08-27  Zalan Bujtas  <zalan@apple.com>
303
304         Subpixel layout: Rename LayoutRect's device pixel snapping functions.
305         https://bugs.webkit.org/show_bug.cgi?id=136319
306
307         Reviewed by Simon Fraser.
308
309         From pixelSnappedForPainting() to snapRectToDevicePixels() and 
310         pixelSnappedIntRect*() to snappedIntRect*().
311
312         No change in functionality.
313
314         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
315         (WebKit::InjectedBundleNodeHandle::renderedImage):
316         * WebProcess/WebPage/WebPage.cpp:
317         (WebKit::WebPage::snapshotNode):
318         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
319         (WebKit::ServicesOverlayController::buildSelectionHighlight):
320
321 2014-08-27  Zalan Bujtas  <zalan@apple.com>
322
323         Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
324         https://bugs.webkit.org/show_bug.cgi?id=136314
325
326         Reviewed by Simon Fraser.
327
328         From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)
329
330         EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
331         but currently untestable.
332
333         * UIProcess/ios/WKContentViewInteraction.mm:
334         (-[WKContentView _updateTapHighlight]):
335
336 2014-08-27  Tim Horton  <timothy_horton@apple.com>
337
338         WebKit2 swipe gesture should report the position of the snapshot to the client
339         https://bugs.webkit.org/show_bug.cgi?id=136308
340         rdar://problem/18105827
341
342         Reviewed by Simon Fraser.
343
344         * UIProcess/API/Cocoa/WKViewPrivate.h:
345         * UIProcess/API/mac/WKView.mm:
346         (-[WKView _setDidMoveSwipeSnapshotCallback:]):
347         Add _setDidMoveSwipeSnapshotCallback, and plumb it to ViewGestureController.
348         Callers provide a block which is called whenever ViewGestureController moves the
349         swipe *snapshot* layer around.
350
351         * UIProcess/PageClient.h:
352         * UIProcess/WebPageProxy.h:
353         * UIProcess/mac/PageClientImpl.h:
354         * UIProcess/mac/PageClientImpl.mm:
355         (WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):
356         * UIProcess/mac/WebPageProxyMac.mm:
357         (WebKit::WebPageProxy::boundsOfLayerInLayerBackedWindowCoordinates):
358         Expose a Mac-only way to get the bounds of a given CALayer in window coordinates,
359         respecting transforms. This only works for layer-backed windows because
360         it uses CA in order to do the mapping respecting transforms.
361
362         * UIProcess/mac/ViewGestureController.h:
363         * UIProcess/mac/ViewGestureControllerMac.mm:
364         (WebKit::ViewGestureController::ViewGestureController):
365         (WebKit::ViewGestureController::~ViewGestureController):
366         (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
367         Do the Block_copy and Block_release dance to keep our copy of the callback block.
368
369         (WebKit::ViewGestureController::beginSwipeGesture):
370         (WebKit::ViewGestureController::handleSwipeGesture):
371         (WebKit::ViewGestureController::didMoveSwipeSnapshotLayer):
372         When the swipe snapshot layer moves around, call the block.
373
374 2014-08-27  Tim Horton  <timothy_horton@apple.com>
375
376         Occasional crashes in commitTransientZoom's transaction completion block
377         https://bugs.webkit.org/show_bug.cgi?id=136309
378         <rdar://problem/17215064>
379
380         Reviewed by Dan Bernstein.
381
382         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
383         (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
384         Hold a reference to zoomLayer and the WebPage. It's possible that either
385         of these things could have gone away by the time the transaction is committed.
386
387 2014-08-27  Benjamin Poulain  <bpoulain@apple.com>
388
389         [iOS WK2] Provide a delegate callback to skip Geolocation authorization per page for WebApp
390         https://bugs.webkit.org/show_bug.cgi?id=136243
391
392         Reviewed by Sam Weinig.
393
394         Just ask the UI if the authorization dialog needs to be skipped.
395
396         * UIProcess/API/Cocoa/WKUIDelegate.h:
397         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
398         * UIProcess/ios/PageClientImplIOS.mm:
399         (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
400
401         * UIProcess/ios/WKContentView.h:
402         * UIProcess/ios/WKContentView.mm:
403         (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): Deleted.
404         The code in WKContentView only exists due to legacy. Instead, the PageClient dispatch the request
405         to the GeolocationProvider directly.
406
407         * UIProcess/ios/WKGeolocationProviderIOS.h:
408         * UIProcess/ios/WKGeolocationProviderIOS.mm:
409         (-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:view:]):
410         (-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
411         (-[WKGeolocationProviderIOS positionChanged:]):
412         (-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]): Deleted.
413
414 2014-08-27  Beth Dakin  <bdakin@apple.com>
415
416         overflow:scroll elements should not latch to the body if the body is 
417         overflow:hidden
418         https://bugs.webkit.org/show_bug.cgi?id=136273
419
420         Reviewed by Darin Adler.
421
422         New ScrollabeArea virtual function.
423         * WebProcess/Plugins/PDF/PDFPlugin.h:
424
425 2014-08-26  Matt Lilek  <mrl@apple.com>
426
427         Add WebKit SPI to control the navigator.standalone property
428         https://bugs.webkit.org/show_bug.cgi?id=136189
429
430         Reviewed by Andy Estes.
431
432         Add a property to WKPreferences that allows toggling this setting.
433
434         * UIProcess/API/Cocoa/WKPreferences.mm:
435         (-[WKPreferences _isStandalone]):
436         (-[WKPreferences _setStandalone:]):
437         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
438
439 2014-08-26  Joseph Pecoraro  <pecoraro@apple.com>
440
441         FileReader cannot read files selected with <input type="file"> in iOS 8
442         https://bugs.webkit.org/show_bug.cgi?id=136117
443
444         Reviewed by Alexey Proskuryakov.
445
446         * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
447         Correct an overzealous deny that was accidentally denying all
448         com.apple.app-sandbox.read extensions instead of just the ones
449         in Application bundles it was trying to deny.
450
451 2014-08-26  Tim Horton  <timothy_horton@apple.com>
452
453         Crashes in ViewGestureController::beginSwipeGesture when swiping in rapid succession
454         https://bugs.webkit.org/show_bug.cgi?id=136271
455         <rdar://problem/17923694>
456
457         Reviewed by Simon Fraser.
458
459         It was possible to get into trackSwipeGesture while another swipe was still
460         occurring, because the guard against this happening depended on m_pendingSwipeReason
461         never being set while a swipe was occurring. However, if the very first scroll event
462         had sufficient magnitude, we would still set m_pendingSwipeReason to InsufficientMagnitude,
463         and then *never clear it*, leading to a path around the guard against multiple live swipes.
464         This in turn allowed stale layers in m_liveSwipeLayers, which lead to the crash.
465
466         * UIProcess/mac/ViewGestureControllerMac.mm:
467         (WebKit::ViewGestureController::handleScrollWheelEvent):
468         Don't unset m_pendingSwipeReason before calling trackSwipeGesture;
469         trackSwipeGesture will do it itself.
470
471         Don't set m_pendingSwipeReason to InsufficientMagnitude
472         if the event actually *has* sufficient magnitude to start a swipe.
473
474         (WebKit::ViewGestureController::trackSwipeGesture):
475         Assert that we don't have an active gesture while starting a swipe.
476
477         Reset m_pendingSwipeReason, because the swipe is no longer pending!
478
479 2014-08-26  Andy Estes  <aestes@apple.com>
480
481         [Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
482         https://bugs.webkit.org/show_bug.cgi?id=136267
483
484         Reviewed by Dan Bernstein.
485
486         INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
487         Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
488         engineering configurations.
489
490         Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
491         used instead.
492
493         * WebKit2.xcodeproj/project.pbxproj:
494
495 2014-08-25  Maciej Stachowiak  <mjs@apple.com>
496
497         Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
498         https://bugs.webkit.org/show_bug.cgi?id=136082
499
500         Reviewed by Alexey Proskuryakov.
501
502         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
503         (WebKit::connectToService): Remove accidental leftover retrieval
504         of the localization.
505         (WebKit::createProcess): Get current localization name from
506         CFBundle API instead of using SPI.
507         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
508         (InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName
509         * mac/WebKit2.order: ditto
510
511 2014-08-26  Dana Burkart  <dburkart@apple.com>
512
513         The UNUSED_PARAM macros in ServicesOverlayController.mm are causing ASan build failures.
514         https://bugs.webkit.org/show_bug.cgi?id=136262
515
516         Reviewed by David Kilzer.
517
518         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
519         (WebKit::ServicesOverlayController::selectionRectsDidChange):
520         (WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
521
522 2014-08-26  Csaba Osztrogonác  <ossy@webkit.org>
523
524         [EFL] URTBF after r172966.
525
526         * UIProcess/efl/WebViewEfl.h:
527
528 2014-08-26  Carlos Alberto Lopez Perez  <clopez@igalia.com>
529
530         REGRESSION(r172966) [GTK] Build broken.
531
532         Unreviewed build fix after r172966.
533
534         * UIProcess/API/gtk/PageClientImpl.cpp:
535         (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
536         * UIProcess/API/gtk/PageClientImpl.h:
537
538 2014-08-26  Simon Fraser  <simon.fraser@apple.com>
539
540         Crashes in hit testing under WebPage::determinePrimarySnapshottedPlugIn()
541         https://bugs.webkit.org/show_bug.cgi?id=136240
542         rdar://problem/17231462
543
544         Reviewed by Darin Adler.
545         
546         determinePrimarySnapshottedPlugIn() does render tree hit testing, so needs
547         to ensure that layout is up-to-date.
548
549         * WebProcess/WebPage/WebPage.cpp:
550         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
551
552 2014-08-26  Tim Horton  <timothy_horton@apple.com>
553
554         REGRESSION (r172771): Amazon product page becomes unresponsive after swiping back to it
555         https://bugs.webkit.org/show_bug.cgi?id=136260
556         <rdar://problem/18107826>
557
558         Reviewed by Dan Bernstein.
559
560         Previously, when a swipe ended up performing a same-document navigation,
561         we would never get didFinishLoadForMainFrame nor didFirstVisuallyNonEmptyLayoutForMainFrame
562         nor would we even get didHitRenderTreeSizeThreshold in all cases, so we would never
563         remove the swipe snapshot. Previous implementations removed the snapshot on
564         didSameDocumentNavigation for the main frame if the navigation type was Replace or Pop,
565         so we will match that behavior.
566
567         Also, reinstate the watchdog that starts at swipe-end which would have prevented
568         this bug from forever breaking the view it was associated with.
569
570         Also, defend against removing the snapshot before the swipe has finished (before
571         we have even caused the navigation that we're watching for the effects of).
572
573         * UIProcess/API/mac/WKView.mm:
574         (-[WKView _didSameDocumentNavigationForMainFrame:]):
575         * UIProcess/API/mac/WKViewInternal.h:
576         * UIProcess/PageClient.h:
577         * UIProcess/WebPageProxy.cpp:
578         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
579         * UIProcess/ios/PageClientImplIOS.h:
580         * UIProcess/ios/PageClientImplIOS.mm:
581         (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
582         * UIProcess/mac/PageClientImpl.h:
583         * UIProcess/mac/PageClientImpl.mm:
584         (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
585         Plumb main-frame same-document navigation notification from WebPageProxy
586         to ViewGestureControllerMac via PageClient and WKView.
587
588         * UIProcess/mac/ViewGestureController.h:
589         * UIProcess/mac/ViewGestureControllerMac.mm:
590         (WebKit::ViewGestureController::ViewGestureController):
591         (WebKit::ViewGestureController::beginSwipeGesture):
592         (WebKit::ViewGestureController::endSwipeGesture):
593         Keep track of whether a swipe is currently occurring. We can't use
594         activeGestureType for this because the swipe currently remains the "active"
595         gesture until the snapshot is removed.
596
597         Reintroduce the old swipeWatchdogTimer (and rename the shorter timer that starts
598         when we get a visually non-empty layout) so that we will always remove the
599         snapshot after 5 seconds, even if we haven't committed the load.
600         This could lead to flashing back to the old content if we fail to get a single
601         byte for 5 seconds, but that is a rare case and should eventually get additional
602         special treatment (dropping the tiles until we do get content, or some such).
603
604         (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
605         If a swipe is still in progress, we haven't done our navigation and thus
606         don't care about render tree size changes.
607
608         (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
609         If a swipe is still in progress, we haven't done our navigation and thus
610         don't care about layouts.
611
612         Stop the 5 second overall watchdog if we start the 3 second after-visuallyNonEmptyLayout
613         watchdog. This means that the snapshot could stay up for a maximum of 8 seconds
614         for a very, very slow load.
615
616         (WebKit::ViewGestureController::didFinishLoadForMainFrame):
617         If a swipe is still in progress, we haven't done our navigation and thus
618         don't care about loads that complete.
619
620         (WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
621         Remove the swipe snapshot after painting if we do replaceState or popState.
622
623         (WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
624         If a swipe is still in progress, we shouldn't remove the snapshot yet.
625
626 2014-08-26  Carlos Garcia Campos  <cgarcia@igalia.com>
627
628         [GTK] Translations are not initialized in the UI process
629         https://bugs.webkit.org/show_bug.cgi?id=136249
630
631         Reviewed by Philippe Normand.
632
633         This is breaking things like webkitContextMenuActionGetForContextMenuItem()
634         for non English locales in the cases where we use the action title to guess the
635         action, because the action title we get from the web process is translated while
636         the one in the UI process is in English.
637
638         * UIProcess/API/gtk/WebKitWebContext.cpp:
639         (createDefaultWebContext): Initialize gettext right before
640         creating the default web context.
641
642 2014-08-26  Ryuan Choi  <ryuan.choi@samsung.com>
643
644         [EFL] Remove dead code in WebPageEfl.cpp
645         https://bugs.webkit.org/show_bug.cgi?id=136246
646
647         Reviewed by Gyuyoung Kim.
648
649         * WebProcess/WebPage/efl/WebPageEfl.cpp:
650         (WebKit::scroll): Deleted.
651
652 2014-08-26  Ryuan Choi  <ryuan.choi@samsung.com>
653
654         [EFL] Build break using clang
655         https://bugs.webkit.org/show_bug.cgi?id=136245
656
657         Reviewed by Gyuyoung Kim.
658
659         * PlatformEfl.cmake: defines GTEST_HAS_RTTI=0
660
661 2014-08-25  Zalan Bujtas  <zalan@apple.com>
662
663         Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
664         https://bugs.webkit.org/show_bug.cgi?id=136236
665
666         Reviewed by Simon Fraser.
667
668         These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.
669
670         Non change in functionality.
671
672         * UIProcess/ios/WebPageProxyIOS.mm:
673         (WebKit::WebPageProxy::computeCustomFixedPositionRect):
674
675 2014-08-25  Antti Koivisto  <antti@apple.com>
676
677         Don't pass priority as parameter to ResourceLoadScheduler
678         https://bugs.webkit.org/show_bug.cgi?id=136232
679
680         Reviewed by Sam Weinig.
681
682         * NetworkProcess/NetworkResourceLoader.cpp:
683         (WebKit::NetworkResourceLoader::NetworkResourceLoader):
684         * NetworkProcess/NetworkResourceLoader.h:
685         (WebKit::NetworkResourceLoader::priority): Deleted.
686         * Shared/Network/NetworkResourceLoadParameters.cpp:
687         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
688         (WebKit::NetworkResourceLoadParameters::encode):
689         (WebKit::NetworkResourceLoadParameters::decode):
690         * Shared/Network/NetworkResourceLoadParameters.h:
691         * WebProcess/Network/WebResourceLoadScheduler.cpp:
692         (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
693         (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
694         (WebKit::WebResourceLoadScheduler::scheduleLoad):
695         * WebProcess/Network/WebResourceLoadScheduler.h:
696         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
697         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
698
699 2014-08-25  Brady Eidson  <beidson@apple.com>
700
701         Don't crash when the DataDetectors framework is unavailable.
702         <rdar://problem/18106066> and https://bugs.webkit.org/show_bug.cgi?id=136234
703
704         Reviewed by Tim Horton.
705
706         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
707         (WebKit::ServicesOverlayController::buildPhoneNumberHighlights): Bail if DD.framework didn’t soft link.
708         (WebKit::ServicesOverlayController::buildSelectionHighlight): Ditto.
709
710 2014-08-25  Antti Koivisto  <antti@apple.com>
711
712         Remove load scheduling code from network process
713         https://bugs.webkit.org/show_bug.cgi?id=136199
714
715         Reviewed by Darin Adler.
716
717         Most platforms just flush resource loads directly to the networking layer by
718         making the parallel load count large. Also we always pass ResourceLoadPriorityHighest
719         to the scheduler so no actual scheduling happens. This is effectively dead code.
720
721         Keep basic support for serializing loads. This is only used for testing.
722
723         * NetworkProcess/HostRecord.cpp: Removed.
724         * NetworkProcess/HostRecord.h: Removed.
725         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
726         (WebKit::NetworkConnectionToWebProcess::servePendingRequests):
727         * NetworkProcess/NetworkProcess.cpp:
728         (WebKit::NetworkProcess::getNetworkProcessStatistics):
729         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
730         (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
731         (WebKit::NetworkResourceLoadScheduler::scheduleLoader):
732         (WebKit::NetworkResourceLoadScheduler::removeLoader):
733         (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
734         (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
735         (WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests): Deleted.
736         (WebKit::NetworkResourceLoadScheduler::requestTimerFired): Deleted.
737         (WebKit::NetworkResourceLoadScheduler::hostForURL): Deleted.
738         (WebKit::NetworkResourceLoadScheduler::receivedRedirect): Deleted.
739         (WebKit::NetworkResourceLoadScheduler::servePendingRequests): Deleted.
740         (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): Deleted.
741         (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader): Deleted.
742         (WebKit::NetworkResourceLoadScheduler::hostsPendingCount): Deleted.
743         (WebKit::NetworkResourceLoadScheduler::hostsActiveCount): Deleted.
744         * NetworkProcess/NetworkResourceLoadScheduler.h:
745         * NetworkProcess/NetworkResourceLoader.cpp:
746         (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
747         (WebKit::NetworkResourceLoader::cleanup):
748         (WebKit::NetworkResourceLoader::continueWillSendRequest):
749         * NetworkProcess/NetworkResourceLoader.h:
750         (WebKit::NetworkResourceLoader::isLoadingMainResource):
751         (WebKit::NetworkResourceLoader::setHostRecord): Deleted.
752         (WebKit::NetworkResourceLoader::hostRecord): Deleted.
753         * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
754         (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
755         (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.
756         * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp:
757         (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
758         (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.
759         * WebKit2.xcodeproj/project.pbxproj:
760
761 2014-08-25  Carlos Garcia Campos  <cgarcia@igalia.com>
762
763         [GTK] Older versions of WebKit should use the plugins cache in read only mode
764         https://bugs.webkit.org/show_bug.cgi?id=136215
765
766         Reviewed by Philippe Normand.
767
768         Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
769         they use different versions of the plugins cache, apps using 2.4
770         might override the plugins cache file. We should prevent this from
771         happening by making older versions use the plugin cache, but not
772         downgrade it.
773
774         * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
775         (WebKit::PluginInfoCache::PluginInfoCache):
776         (WebKit::PluginInfoCache::updatePluginInfo):
777         * UIProcess/Plugins/gtk/PluginInfoCache.h:
778
779 2014-08-25  Carlos Garcia Campos  <cgarcia@igalia.com>
780
781         [GTK] Should check if a plugin mixes GTK+ symbols earlier
782         https://bugs.webkit.org/show_bug.cgi?id=136214
783
784         Reviewed by Philippe Normand.
785
786         We are currently checking if the plugin module and the plugin
787         process mix GTK symbols after the plugin has been loaded and
788         initialized. This is too late in many cases, since plugins can use
789         GTK methods in the NP_Initialize implementation. This is causing
790         the apps using WebKitGTK+ 2.4 to freeze when the plugin process
791         scans the plugins and there's a plugin using GTK+3 installed. We
792         should move the check earlier, once the module is loaded but
793         before calling NP_Initialize.
794
795         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
796         (WebKit::moduleMixesGtkSymbols):
797         (WebKit::NetscapePluginModule::tryLoad):
798         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
799         (WebKit::NetscapePlugin::platformPostInitialize):
800
801 2014-08-25  Zan Dobersek  <zdobersek@igalia.com>
802
803         Improve virtual method declarations in LayerTreeHostGtk
804         https://bugs.webkit.org/show_bug.cgi?id=136210
805
806         Reviewed by Carlos Garcia Campos.
807
808         Mark the LayerTreeHostGtk class as final in the virtual inheritance hierarchy.
809
810         Order the public and private virtual method overrides from the LayerTreeHost
811         and GraphicsLayerClient interfaces. Explicitly mark them as overriding the
812         base class methods.
813
814         Remove the overriding notifyAnimationStarted() and notifyFlushRequired()
815         methods since they are identical to the methods in the base class.
816
817         De-virtualize flushPendingLayerChanges(). It's not inherited and is not
818         overriden by anything (and nothing can inherit from LayerTreeHostGtk from
819         now on due to the final specifier).
820
821         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
822         (WebKit::LayerTreeHostGtk::notifyAnimationStarted): Deleted.
823         (WebKit::LayerTreeHostGtk::notifyFlushRequired): Deleted.
824         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
825         (WebKit::LayerTreeHostGtk::didCommitChangesForLayer): Deleted.
826
827 2014-08-24  Brian J. Burg  <burg@cs.washington.edu>
828
829         Remove unused method declarations replaced by WebPage::setViewState
830         https://bugs.webkit.org/show_bug.cgi?id=136180
831
832         Reviewed by Darin Adler.
833
834         * WebProcess/WebPage/WebPage.h:
835         Remove setFocused, setActive, setViewIsVisible. No longer used.
836
837 2014-08-23  Byungseon Shin  <sun.shin@lge.com>
838  
839         Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
840         https://bugs.webkit.org/show_bug.cgi?id=109658
841  
842         Reviewed by Martin Robinson.
843  
844         Based on patch originally written by Tim Horton.
845         Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.
846  
847         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
848         (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
849         (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
850         Rename canvas -> platformLayer.
851
852 2014-08-22  Commit Queue  <commit-queue@webkit.org>
853
854         Unreviewed, rolling out r172866.
855         https://bugs.webkit.org/show_bug.cgi?id=136177
856
857         Broke iOS build (Requested by othermaciej on #webkit).
858
859         Reverted changeset:
860
861         "Replace use of WKCopyCFLocalizationPreferredName with
862         NSLocale public API"
863         https://bugs.webkit.org/show_bug.cgi?id=136082
864         http://trac.webkit.org/changeset/172866
865
866 2014-08-19  Maciej Stachowiak  <mjs@apple.com>
867
868         Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
869         https://bugs.webkit.org/show_bug.cgi?id=136082
870
871         Reviewed by Alexey Proskuryakov.
872
873         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
874         (WebKit::connectToService): Remove accidental leftover retrieval
875         of the localization.
876         (WebKit::createProcess): Get current localization name from
877         CFBundle API instead of using SPI.
878         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
879         (InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName
880         * mac/WebKit2.order: ditto
881
882 2014-08-22  Daniel Bates  <dabates@apple.com>
883
884         [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
885         and ENABLE_XSLT when building with the iOS public SDK
886         https://bugs.webkit.org/show_bug.cgi?id=135945
887
888         Reviewed by Andy Estes.
889
890         * Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
891         and ENABLE_XSLT when building with the public SDK.
892         * Shared/WebEventConversion.h: Write preprocessor logic in terms of ENABLE(IOS_TOUCH_EVENTS).
893         * WebProcess/WebPage/WebPage.h: Ditto.
894
895 2014-08-22  Simon Fraser  <simon.fraser@apple.com>
896
897         Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
898         https://bugs.webkit.org/show_bug.cgi?id=136136
899
900         Reviewed by Sam Weinig, Joseph Pecoraro.
901         
902         Allow InspectorClient to have a custom implementation of showPaintRect(). For
903         WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
904         which are parented in a document overlay, with 0.25s fade-out animations.
905         
906         Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
907         it makes no sense to paint the paint rects directly into the context of the web page.
908         Now that the paint rects are painted into an overlay, the rectangles need to be converted
909         to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().
910         
911         Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
912         be reimplemented in a later patch.
913
914         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
915         (WebKit::RepaintIndicatorLayerClient::RepaintIndicatorLayerClient):
916         (WebKit::RepaintIndicatorLayerClient::~RepaintIndicatorLayerClient):
917         (WebKit::RepaintIndicatorLayerClient::notifyAnimationEnded):
918         (WebKit::WebInspectorClient::WebInspectorClient):
919         (WebKit::WebInspectorClient::~WebInspectorClient):
920         (WebKit::WebInspectorClient::showPaintRect):
921         (WebKit::WebInspectorClient::animationEndedForLayer):
922         * WebProcess/WebCoreSupport/WebInspectorClient.h:
923         (WebKit::WebInspectorClient::WebInspectorClient): Deleted.
924
925 2014-08-22  Jon Lee  <jonlee@apple.com>
926
927         Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
928         https://bugs.webkit.org/show_bug.cgi?id=136157
929
930         Reviewed by Simon Fraser.
931
932         * Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
933
934 2014-08-21  Joseph Pecoraro  <pecoraro@apple.com>
935
936         Possible RetainPtr misuse in WKScriptMessage.mm - could leak
937         https://bugs.webkit.org/show_bug.cgi?id=136140
938
939         Reviewed by Darin Adler.
940
941         Adopt a copy into a RetainPtr to avoid leaking.
942
943         * UIProcess/API/Cocoa/WKScriptMessage.mm:
944         (-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):
945
946 2014-08-21  Simon Fraser  <simon.fraser@apple.com>
947
948         Add animationDidEnd callbacks on GraphicsLayer
949         https://bugs.webkit.org/show_bug.cgi?id=136084
950
951         Reviewed by Tim Horton.
952
953         Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
954         can add animations, and know when they finish.
955
956         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
957         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
958         (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):
959         * UIProcess/mac/RemoteLayerTreeHost.h:
960         * UIProcess/mac/RemoteLayerTreeHost.mm:
961         (WebKit::RemoteLayerTreeHost::animationDidEnd):
962         * WebProcess/WebPage/DrawingArea.h:
963         (WebKit::DrawingArea::acceleratedAnimationDidEnd):
964         * WebProcess/WebPage/DrawingArea.messages.in:
965         * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
966         (-[WKAnimationDelegate animationDidStop:finished:]):
967         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
968         (WebKit::PlatformCALayerRemote::animationStarted):
969         (WebKit::PlatformCALayerRemote::animationEnded):
970         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
971         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
972         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
973         (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
974         (WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
975         (WebKit::RemoteLayerTreeContext::animationDidStart):
976         (WebKit::RemoteLayerTreeContext::animationDidEnd):
977         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
978         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
979         (WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidEnd):
980
981 2014-08-21  Zalan Bujtas  <zalan@apple.com>
982
983         Enable SATURATED_LAYOUT_ARITHMETIC.
984         https://bugs.webkit.org/show_bug.cgi?id=136106
985
986         Reviewed by Simon Fraser.
987
988         SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
989         (No measurable performance regression on Mac.)
990
991         * Configurations/FeatureDefines.xcconfig:
992
993 2014-08-21  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
994
995         [GTK] WebkitWebProcess crashing navigating away from ogg video element
996         https://bugs.webkit.org/show_bug.cgi?id=135348
997
998         Reviewed by Philippe Normand.
999
1000         When a page is cached, by default doesn't recreate the backing store
1001         (an optimization added in r89316).
1002
1003         Not all the ports uses that optimization. For example IOS port doesn't
1004         use it (r161185).
1005
1006         In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
1007         processes video buffers, also display them, because it is a
1008         TextureMapperPlatformLayer too.
1009
1010         Nevertheless, in r153937, when a page is cached, the player is
1011         destroyed. But our player has a backing store and the render tree
1012         doesn't know that the player has gone. Hence, when the page is redraw,
1013         the TextureMapper tree visits the video element, which doesn't exist
1014         anymore, a segmentation fault occurs.
1015
1016         So, as our media player renders, and as we cannot trust that the
1017         player exists when a page is painted, we cannot rely in the r89316
1018         optimization.
1019
1020         Disabling the backing stores optimization fixes the problem.
1021
1022         Covered by existing tests.
1023
1024         * WebProcess/soup/WebProcessSoup.cpp:
1025         (WebKit::WebProcess::platformSetCacheModel): Enable the backing store
1026         clearing when page caching for GTK.
1027
1028 2014-08-20  Alex Christensen  <achristensen@webkit.org>
1029
1030         Introducing WEBCORE_EXPORT macro.
1031         https://bugs.webkit.org/show_bug.cgi?id=136108
1032
1033         Reviewed by Antti Koivisto.
1034
1035         * config.h:
1036         Added stub definition of WEBCORE_EXPORT defined to nothing to be able to compile with WebCore headers.
1037
1038 2014-08-20  Pratik Solanki  <psolanki@apple.com>
1039
1040         Move DiskCacheMonitor to WebCore so that WebKit1 clients can use it as well
1041         https://bugs.webkit.org/show_bug.cgi?id=135896
1042
1043         Reviewed by Andreas Kling.
1044
1045         * NetworkProcess/mac/NetworkDiskCacheMonitor.h:
1046             Inherit from WebCore::DiskCacheMonitor which has the bulk of the functionality now.
1047         (WebKit::NetworkDiskCacheMonitor::~NetworkDiskCacheMonitor):
1048         * NetworkProcess/mac/NetworkDiskCacheMonitor.mm:
1049         (WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
1050         (WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
1051         (WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked):
1052             Override virtual method and send the data to the WebContent process as before.
1053
1054 2014-08-19  Pratik Solanki  <psolanki@apple.com>
1055
1056         Remove PurgeableBuffer since it is not very useful any more
1057         https://bugs.webkit.org/show_bug.cgi?id=135939
1058
1059         Reviewed by Andreas Kling.
1060
1061         * WebProcess/WebProcess.cpp:
1062         (WebKit::getWebCoreMemoryCacheStatistics):
1063
1064 2014-08-19  Peyton Randolph  <prandolph@apple.com>
1065
1066         Expose injected bundle SPI to get a node's URL element, get the visible selection range of that
1067         element, and snapshot that range
1068         https://bugs.webkit.org/show_bug.cgi?id=136076
1069
1070         Reviewed by Tim Horton.
1071
1072         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
1073         (WKBundleHitTestResultCopyURLElementHandle): Added.
1074         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
1075         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
1076         (WKBundleNodeHandleCopyVisibleRange): Added.
1077         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
1078         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
1079         (WKBundleRangeHandleGetBoundingRectInWindowCoordinates): Added.
1080         (WKBundleRangeHandleCopySnapshotWithOptions): Added.
1081         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h:
1082         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1083         (WebKit::InjectedBundleNodeHandle::visibleRange): Added.
1084         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
1085         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
1086         (WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates): Added.
1087         (WebKit::InjectedBundleRangeHandle::renderedImage): Added.
1088         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
1089         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1090         (WebKit::InjectedBundleHitTestResult::urlElementHandle): Added.
1091         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
1092
1093 2014-08-19  Zalan Bujtas  <zalan@apple.com>
1094
1095         Remove ENABLE(SUBPIXEL_LAYOUT).
1096         https://bugs.webkit.org/show_bug.cgi?id=136077
1097
1098         Reviewed by Simon Fraser.
1099
1100         Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.
1101
1102         * Configurations/FeatureDefines.xcconfig:
1103
1104 2014-08-19  Peyton Randolph  <prandolph@apple.com>
1105
1106         Extend injected bundle node snapshotting to support forced white and black text
1107         https://bugs.webkit.org/show_bug.cgi?id=136061
1108
1109         Reviewed by Beth Dakin.
1110
1111         * Shared/API/c/WKImage.h:
1112         Add -ForceBlackText and -ForceWhiteText snapshotting options.
1113         * Shared/API/c/WKSharedAPICast.h:
1114         (WebKit::toSnapshotOptions):
1115         Support aforementioned text snapshotting options.
1116         * Shared/ImageOptions.h:
1117         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1118         (WebKit::imageForRect):
1119         Respect text color snapshotting options by setting appropriate paint behaviors.
1120
1121 2014-08-18  Maciej Stachowiak  <mjs@apple.com>
1122
1123         Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
1124         https://bugs.webkit.org/show_bug.cgi?id=136035
1125
1126         Reviewed by Dan Bernstein.
1127
1128         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1129         (InitWebCoreSystemInterface): Don't initialize the no-longer-used WKGetExtensionsForMIMEType,
1130         WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension
1131         * mac/WebKit2.order: Remove exports related to above.
1132
1133 2014-08-18  Commit Queue  <commit-queue@webkit.org>
1134
1135         Unreviewed, rolling out r172736.
1136         https://bugs.webkit.org/show_bug.cgi?id=136060
1137
1138         Caused 14% PLT regressions (Requested by rniwa on #webkit).
1139
1140         Reverted changeset:
1141
1142         "Remove PurgeableBuffer since it is not very useful any more"
1143         https://bugs.webkit.org/show_bug.cgi?id=135939
1144         http://trac.webkit.org/changeset/172736
1145
1146 2014-08-18  Simon Fraser  <simon.fraser@apple.com>
1147
1148         Provide default implementations of all GraphicsLayerClient methods
1149         https://bugs.webkit.org/show_bug.cgi?id=136054
1150
1151         Reviewed by Tim Horton.
1152         
1153         Remove overrides which are no longer required.
1154
1155         * WebProcess/WebPage/PageOverlayController.h:
1156         * WebProcess/WebPage/ServicesOverlayController.h:
1157         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1158
1159 2014-08-18  Pratik Solanki  <psolanki@apple.com>
1160
1161         Remove PurgeableBuffer since it is not very useful any more
1162         https://bugs.webkit.org/show_bug.cgi?id=135939
1163
1164         Reviewed by Geoffrey Garen.
1165
1166         * WebProcess/WebProcess.cpp:
1167         (WebKit::getWebCoreMemoryCacheStatistics):
1168
1169 2014-08-18  Peyton Randolph  <prandolph@apple.com>
1170
1171         Expose long mouse press WebKit API. Part of 135257 - Add long mouse press gesture
1172         https://bugs.webkit.org/show_bug.cgi?id=136048
1173
1174         Reviewed by Dan Bernstein.
1175
1176         This patch exposes long mouse press API callbacks in both the injected bundle and on the UI process
1177         through their respective page UI clients. The callbacks are modeled off of the mouseDidMoveOverElement
1178         callback. Like the mouseDidMoveOverElement callback, these callbacks allow the bundle to pass 
1179         information to the UI process via a userData out parameter.
1180
1181         * UIProcess/API/APIUIClient.h:
1182         (API::UIClient::didBeginTrackingPotentialLongMousePress): Added.
1183         (API::UIClient::didRecognizeLongMousePress): Added.
1184         (API::UIClient::didCancelTrackingPotentialLongMousePress): Added.
1185         * UIProcess/API/C/WKPage.cpp:
1186         (WKPageSetPageUIClient):
1187         * UIProcess/API/C/WKPageUIClient.h:
1188         * UIProcess/WebPageProxy.cpp:
1189         (WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Added.
1190         (WebKit::WebPageProxy::didRecognizeLongMousePress): Added.
1191         (WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Added.
1192         * UIProcess/WebPageProxy.h:
1193         * UIProcess/WebPageProxy.messages.in:
1194         * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
1195         (API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Added.
1196         (API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Added.
1197         (API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Added.
1198         * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
1199         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
1200         (WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Added.
1201         (WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Added.
1202         (WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Added.
1203         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1204         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1205         (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Added.
1206         (WebKit::WebChromeClient::didRecognizeLongMousePress): Added.
1207         (WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Added.
1208         * WebProcess/WebCoreSupport/WebChromeClient.h:
1209
1210 2014-08-18  Przemyslaw Kuczynski  <p.kuczynski@samsung.com>
1211
1212         Fix unintentional integer overflow before widen
1213         https://bugs.webkit.org/show_bug.cgi?id=135463
1214
1215         Reviewed by Oliver Hunt.
1216
1217         Overflowing expression is evaluated using operands arithmetic but then is used in
1218         context which expects an wider integer type. To avoid overflow at least one operand
1219         has to be representative of the wider type.
1220
1221         * WebProcess/soup/WebProcessSoup.cpp:
1222         (WebKit::getMemorySize): Added long long literal.
1223
1224 2014-08-18  Przemyslaw Kuczynski  <p.kuczynski@samsung.com>
1225
1226         Fix resource leak in unclosed file descriptor handles
1227         https://bugs.webkit.org/show_bug.cgi?id=135458
1228
1229         Reviewed by Oliver Hunt.
1230
1231         Leaving descriptor unclosed will cause the resources associated with the open
1232         file description never be freed (they are freed on closing the last descriptor
1233         refering to the underlying file).
1234
1235         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1236         (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector): Closed newStdout descriptor.
1237         (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector): Closed m_savedStdout descriptor.
1238
1239 2014-08-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1240
1241         [EFL] ewk_init() is sufficient to initialize EFL components
1242         https://bugs.webkit.org/show_bug.cgi?id=136036
1243
1244         Reviewed by Gyuyoung Kim.
1245
1246         Developers do not have to initialize EFL components as ewk_init()
1247         already does it.
1248
1249         * UIProcess/API/efl/ewk_intro.h:
1250
1251 2014-08-16  Pratik Solanki  <psolanki@apple.com>
1252
1253         Rename DiskCacheMonitor to NetworkDiskCacheMonitor
1254         https://bugs.webkit.org/show_bug.cgi?id=135897
1255
1256         Reviewed by Andreas Kling.
1257
1258         In preparation for moving DiskCacheMonitor code to WebCore in bug 135896, rename the WebKit2
1259         class to NetworkDiskCacheMonitor.
1260
1261         * NetworkProcess/mac/NetworkDiskCacheMonitor.h: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.h.
1262         (WebKit::NetworkDiskCacheMonitor::resourceRequest):
1263         * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.mm.
1264         (WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
1265         (WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
1266         (WebKit::NetworkDiskCacheMonitor::messageSenderConnection):
1267         (WebKit::NetworkDiskCacheMonitor::messageSenderDestinationID):
1268         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
1269         (WebKit::NetworkResourceLoader::willCacheResponseAsync):
1270         * WebKit2.xcodeproj/project.pbxproj:
1271
1272 2014-08-16  Byungseon Shin  <sun.shin@lge.com>
1273
1274         [GTK] build fails with error: cannot allocate an object of abstract type 'WebKit::PageClientImpl'
1275         https://bugs.webkit.org/show_bug.cgi?id=136017 
1276
1277         Reviewed by Gyuyoung Kim.
1278
1279         * UIProcess/API/gtk/PageClientImpl.cpp:
1280         (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1281         (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1282         * UIProcess/API/gtk/PageClientImpl.h:
1283
1284 2014-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
1285
1286         [EFL] Add ewk_intro.h to describe main page of doxygen
1287         https://bugs.webkit.org/show_bug.cgi?id=136013
1288
1289         Reviewed by Gyuyoung Kim.
1290
1291         * PlatformEfl.cmake:
1292         * UIProcess/API/efl/EWebKit2.h.in:
1293         * UIProcess/API/efl/ewk_intro.h: Added.
1294
1295 2014-08-15  Zalan Bujtas  <zalan@apple.com>
1296
1297         Do not use FloatRect::infiniteRect() to flag full repaints.
1298         https://bugs.webkit.org/show_bug.cgi?id=135900
1299
1300         Reviewed by Simon Fraser.
1301
1302         Converting FloatRect::infiniteRect() to IntRect leads to value overflow
1303         and we end up with invalid repaint rectangle. Use a boolean flag to indicate
1304         full repaint request.
1305
1306         Covered by existing tests.
1307
1308         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1309         (WebKit::PlatformCALayerRemote::setNeedsDisplayInRect):
1310         (WebKit::PlatformCALayerRemote::setNeedsDisplay):
1311         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1312         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
1313         * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
1314         (WebKit::PlatformCALayerRemoteCustom::setNeedsDisplayInRect):
1315         (WebKit::PlatformCALayerRemoteCustom::setNeedsDisplay):
1316         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
1317         (WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplayInRect):
1318         (WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
1319         * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
1320
1321 2014-08-15  Alexey Proskuryakov  <ap@apple.com>
1322
1323         REGRESSION (r172660): WebKit2.TerminateTwice asserts
1324         https://bugs.webkit.org/show_bug.cgi?id=136012
1325
1326         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::terminateProcess):
1327         Added bug number to a fixme.
1328
1329 2014-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
1330
1331         Unreviewed build fix on the EFL port since r172635
1332
1333         * UIProcess/WebPageProxy.cpp: Guard removeNavigationGestureSnapshot with PLATFORM(MAC) macro.
1334         * UIProcess/WebPageProxy.h: Ditto.
1335         * UIProcess/efl/WebViewEfl.h: Added didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame as dummy.
1336
1337 2014-08-15  Alexey Proskuryakov  <ap@apple.com>
1338
1339         Improve page to process relationship tracking
1340         https://bugs.webkit.org/show_bug.cgi?id=135996
1341         <rdar://problem/16991213>
1342
1343         Reviewed by Sam Weinig.
1344
1345         * UIProcess/VisitedLinkProvider.cpp:
1346         (WebKit::VisitedLinkProvider::removeAll):
1347         (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
1348         (WebKit::VisitedLinkProvider::sendTable):
1349         Added assertions for m_processes only having valid entries.
1350
1351         * UIProcess/WebPageProxy.cpp:
1352         (WebKit::WebPageProxy::reattachToWebProcess): When attaching to a new process,
1353         tell the old process that the page is not longer associated with it, avoiding
1354         a potential stale pointer.
1355         If re-attached to an existing process, make sure that we perform all the same
1356         registrations as after having launched a new process. This substantially improves
1357         the behavior when the number of open tabs is over process limit.
1358         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Added ASSERT(!isValid())
1359         to avoid confusion. All other calls to reattachToWebProcess() have this as a
1360         runtime check, but reattachToWebProcessWithItem() is only called for valid pages.
1361         (WebKit::WebPageProxy::terminateProcess): Added an assertion with a FIXME for
1362         something that will need to be fixed another day.
1363
1364         * UIProcess/WebPageProxy.h: Removed an unimplemented function.
1365
1366         * UIProcess/WebProcessProxy.cpp:
1367         (WebKit::WebProcessProxy::addExistingWebPage): Added assertions for page map sanity.
1368         (WebKit::WebProcessProxy::removeWebPage): Added a check for page state being Terminated
1369         already. This avoids an assertion failure that happened under the new call to
1370         removeWebPage() in reattachToWebProcess(), as we are now calling it for terminated
1371         processes that are not in WebContext::m_processes any more.
1372         (WebKit::WebProcessProxy::didFinishLaunching): Added an assertion that page agrees
1373         about using this process.
1374
1375 2014-08-15  Gavin Barraclough  <barraclough@apple.com>
1376
1377         Fix plugin visibility check.
1378         https://bugs.webkit.org/show_bug.cgi?id=135991
1379
1380         D'oh, more unreviewed typo fix. :-(
1381
1382         * PluginProcess/PluginControllerProxy.cpp:
1383         (WebKit::PluginControllerProxy::visibilityDidChange):
1384         (WebKit::PluginControllerProxy::windowVisibilityChanged):
1385         (WebKit::PluginControllerProxy::updateVisibilityActivity):
1386         (WebKit::PluginControllerProxy::updateVisiblityActivity): Deleted.
1387         * PluginProcess/PluginControllerProxy.h:
1388
1389 2014-08-15  Wenson Hsieh  <wenson_hsieh@apple.com>
1390
1391         Implement snapping behavior for iOS
1392         https://bugs.webkit.org/show_bug.cgi?id=135769
1393
1394         Reviewed by Brent Fulgham.
1395
1396         Added support for snap points on iOS.
1397
1398         * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
1399         (ArgumentCoder<ScrollingStateScrollingNode>::encode): Added snap offset encoding.
1400         (ArgumentCoder<ScrollingStateScrollingNode>::decode): Added snap offset decoding.
1401         * UIProcess/API/Cocoa/WKWebView.mm:
1402         (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For mainframe scrolling, retargets the scroll destination to the appropriate snap point.
1403         * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added methods to extract relevant information for WKWebView from snap offsets in mainframe scrolling.
1404         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
1405         (-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For overflow scrolling, retargets the scroll destination to the appropriate snap point.
1406         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren): Sets the deceleration factor to FAST if snap points are active.
1407         * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
1408         (WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Used by WKWebView for mainframe scrolling to retarget the scroll destination, if necessary.
1409         (WebKit::RemoteScrollingCoordinatorProxy::shouldSetScrollViewDecelerationRateFast): Used by WKWebView for mainframe scrolling to determine whether to set deceleration rate to the fast value.
1410         (WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling): Helper method.
1411         (WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Helper method.
1412
1413 2014-08-15  Gavin Barraclough  <barraclough@apple.com>
1414
1415         Fix plugin visibility check.
1416         https://bugs.webkit.org/show_bug.cgi?id=135991
1417
1418         Unreviewed typo fix.
1419
1420         * PluginProcess/PluginControllerProxy.cpp:
1421         (WebKit::PluginControllerProxy::PluginControllerProxy):
1422         (WebKit::PluginControllerProxy::visibilityDidChange):
1423         (WebKit::PluginControllerProxy::windowVisibilityChanged):
1424         (WebKit::PluginControllerProxy::updateVisibilityActivity):
1425         * PluginProcess/PluginControllerProxy.h:
1426
1427 2014-08-15  Gavin Barraclough  <barraclough@apple.com>
1428
1429         Fix plugin visibility check.
1430         https://bugs.webkit.org/show_bug.cgi?id=135991
1431
1432         Reviewed by Andreas Kling.
1433
1434         We should only take a UserActivity if the plugin is in a visible window,
1435         and also is itself visible.
1436
1437         * PluginProcess/PluginControllerProxy.cpp:
1438         (WebKit::PluginControllerProxy::PluginControllerProxy):
1439             - initialize member state.
1440         (WebKit::PluginControllerProxy::visibilityDidChange):
1441         (WebKit::PluginControllerProxy::windowVisibilityChanged):
1442             - update member state & call updateVisibilityActivity.
1443         (WebKit::PluginControllerProxy::updateVisibilityActivity):
1444             - enable the UserActivity only if both visibilities are true.
1445         * PluginProcess/PluginControllerProxy.h:
1446             - added m_isVisible, m_isWindowVisible, updateVisibilityActivity.
1447
1448 2014-08-15  Enrica Casucci  <enrica@apple.com>
1449
1450         [Services with UI] Selections are incorrect when selecting three lines.
1451         https://bugs.webkit.org/show_bug.cgi?id=135989
1452         <rdar://problem/18032571>
1453
1454         Reviewed by Tim Horton.
1455
1456         The stitching algorithm did not handle correctly the case of selections
1457         over three lines if the middle line is composed of only one rectangle.
1458
1459         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1460         (WebKit::stitchRects):
1461
1462 2014-08-15  Tim Horton  <timothy_horton@apple.com>
1463
1464         Service overlays stay fixed when <iframe> scrolls
1465         https://bugs.webkit.org/show_bug.cgi?id=135959
1466         <rdar://problem/17957716>
1467
1468         Reviewed by Enrica Casucci.
1469
1470         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1471         (WebKit::ServicesOverlayController::highlightsAreEquivalent):
1472         Tiny correctness fix; highlights can only be equivalent if their
1473         types are equivalent as well.
1474
1475 2014-08-15  Gavin Barraclough  <barraclough@apple.com>
1476
1477         de-PLATFORM(COCOA) a couple of methods in plugin code
1478         https://bugs.webkit.org/show_bug.cgi?id=135987
1479
1480         Reviewed by Sam Weinig.
1481
1482         Pass through the visibility & focus on all platforms, to simplify & avoid
1483         any weird inconsistencies between platforms.
1484
1485         * PluginProcess/PluginControllerProxy.cpp:
1486         (WebKit::PluginControllerProxy::windowFocusChanged):
1487         (WebKit::PluginControllerProxy::windowVisibilityChanged):
1488         * PluginProcess/PluginControllerProxy.h:
1489         * PluginProcess/PluginControllerProxy.messages.in:
1490         * PluginProcess/mac/PluginControllerProxyMac.mm:
1491         (WebKit::PluginControllerProxy::windowFocusChanged): Deleted.
1492         (WebKit::PluginControllerProxy::windowVisibilityChanged): Deleted.
1493         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1494         (WebKit::NetscapePlugin::windowFocusChanged):
1495         (WebKit::NetscapePlugin::windowVisibilityChanged):
1496         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1497         * WebProcess/Plugins/Plugin.h:
1498         * WebProcess/Plugins/PluginProxy.cpp:
1499         (WebKit::PluginProxy::windowAndViewFramesChanged):
1500         * WebProcess/Plugins/PluginProxy.h:
1501         * WebProcess/Plugins/PluginView.cpp:
1502         (WebKit::PluginView::viewStateDidChange):
1503         (WebKit::PluginView::platformViewStateDidChange): Deleted.
1504         * WebProcess/Plugins/PluginView.h:
1505
1506 2014-08-15  Tim Horton  <timothy_horton@apple.com>
1507
1508         Service overlays stay fixed when <iframe> scrolls
1509         https://bugs.webkit.org/show_bug.cgi?id=135959
1510         <rdar://problem/17957716>
1511
1512         Reviewed by Enrica Casucci.
1513
1514         * WebProcess/WebPage/PageOverlay.cpp:
1515         (WebKit::PageOverlay::didScrollFrame):
1516         * WebProcess/WebPage/PageOverlay.h:
1517         (WebKit::PageOverlay::Client::didScrollFrame):
1518         * WebProcess/WebPage/PageOverlayController.cpp:
1519         (WebKit::PageOverlayController::didScrollFrame):
1520         Push didScrollFrame down to the overlays.
1521
1522         * WebProcess/WebPage/ServicesOverlayController.h:
1523         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1524         (WebKit::ServicesOverlayController::Highlight::createForSelection):
1525         Hold on to the selection's Range so we can use it to compare Highlights later.
1526
1527         (WebKit::ServicesOverlayController::Highlight::Highlight):
1528         (WebKit::ServicesOverlayController::Highlight::setDDHighlight):
1529         Factor the code to set up and paint the highlight out, so that we can
1530         set a new DDHighlightRef on a Highlight and the layer moves/reshapes/repaints.
1531
1532         (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
1533         (WebKit::ServicesOverlayController::buildSelectionHighlight):
1534         (WebKit::ServicesOverlayController::replaceHighlightsOfTypePreservingEquivalentHighlights):
1535         Factor replaceHighlightsOfTypePreservingEquivalentHighlights out
1536         so that we can use it for buildSelectionHighlight as well.
1537
1538         Steal the DDHighlightRef from the new Highlight when re-using an old one
1539         so that the newly computed rects are used instead of the old ones.
1540
1541         (WebKit::ServicesOverlayController::highlightsAreEquivalent):
1542         We will always have a Range now, so we can always check equivalence using it.
1543
1544         (WebKit::ServicesOverlayController::didScrollFrame):
1545         Rebuild all highlights upon subframe scroll, as they might have moved.
1546         We could optimize this in the future, but for now it's cheap enough
1547         and rare enough that it doesn't matter.
1548
1549 2014-08-15  Tim Horton  <timothy_horton@apple.com>
1550
1551         REGRESSION (WebKit2 Gestures): White flash when swiping back to cnn.com's homepage from an article
1552         https://bugs.webkit.org/show_bug.cgi?id=135951
1553         <rdar://problem/18006149>
1554
1555         Reviewed by Simon Fraser.
1556
1557         Wait for (the first visually non-empty layout AND the render tree size threshold to be hit),
1558         OR didFinishLoadForFrame, whichever comes first. Once we've done the first visually non-empty layout,
1559         we'll start the watchdog and tear down the snapshot in three seconds no matter what.
1560         Also, force a repaint so we can asynchronously wait for the Web Process to paint and return to us
1561         before removing the snapshot, which improves our chances that something is actually on the screen.
1562
1563         * UIProcess/API/mac/WKView.mm:
1564         (-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]):
1565         (-[WKView _didFinishLoadForMainFrame]):
1566         (-[WKView _removeNavigationGestureSnapshot]):
1567         * UIProcess/API/mac/WKViewInternal.h:
1568         * UIProcess/PageClient.h:
1569         * UIProcess/WebPageProxy.cpp:
1570         (WebKit::WebPageProxy::didFinishLoadForFrame):
1571         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
1572         (WebKit::WebPageProxy::removeNavigationGestureSnapshot):
1573         * UIProcess/WebPageProxy.h:
1574         * UIProcess/ios/PageClientImplIOS.h:
1575         * UIProcess/ios/PageClientImplIOS.mm:
1576         (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1577         (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1578         * UIProcess/mac/PageClientImpl.h:
1579         * UIProcess/mac/PageClientImpl.mm:
1580         (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
1581         (WebKit::PageClientImpl::didFinishLoadForMainFrame):
1582         (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
1583         Plumb didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame
1584         through to ViewGestureController from WebPageProxy via the PageClient, etc.
1585
1586         Ditto for removeNavigationGestureSnapshot, though it is called from a
1587         VoidCallback in ViewGestureController instead of from WebFrameLoaderClient and friends.
1588
1589         * UIProcess/mac/ViewGestureController.h:
1590         * UIProcess/mac/ViewGestureControllerMac.mm:
1591         (WebKit::ViewGestureController::ViewGestureController):
1592         (WebKit::ViewGestureController::endSwipeGesture):
1593         When finishing a swipe, we want to wait for both the first visually non-empty layout
1594         and the render tree size threshold being hit.
1595
1596         (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
1597         (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
1598         When both of these things have happened, remove the swipe snapshot (after forcing a repaint).
1599         For didFirstVisuallyNonEmptyLayoutForMainFrame, we will also start a watchdog
1600         ensuring that we remove the snapshot in three seconds.
1601
1602         (WebKit::ViewGestureController::didFinishLoadForMainFrame):
1603         When didFinishLoadForMainFrame happens, remove the swipe snapshot (after forcing a repaint).
1604
1605         (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
1606         If the watchdog timer fires, remove the swipe snapshot (after forcing a repaint).
1607
1608         (WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
1609         Force a repaint and wait for the async callback before removing the snapshot.
1610         It is safe to hold on to the WebPageProxy here because it will always
1611         call all of its callbacks before it is destroyed.
1612         Avoid enqueuing multiple force-repaints.
1613
1614         (WebKit::ViewGestureController::removeSwipeSnapshot):
1615
1616 2014-08-15  Gavin Barraclough  <barraclough@apple.com>
1617
1618         Fix plugin visibility initialization
1619         https://bugs.webkit.org/show_bug.cgi?id=135985
1620
1621         Reviewed by Geoffrey Garen.
1622
1623         * WebProcess/Plugins/PluginView.cpp:
1624         (WebKit::PluginView::didInitializePlugin):
1625             - We're not currently initializing the plugin visibility state,
1626               and we're passing the wrong value for window visibility.
1627
1628 2014-08-15  Gavin Barraclough  <barraclough@apple.com>
1629
1630         Simplify visibility activity accounting for plugins
1631         https://bugs.webkit.org/show_bug.cgi?id=135981
1632
1633         Reviewed by Dan Bernstein.
1634
1635         Just take one per connection, rather than implementing a counting mechanism.
1636
1637         * PluginProcess/PluginControllerProxy.cpp:
1638         (WebKit::PluginControllerProxy::PluginControllerProxy):
1639         * PluginProcess/PluginControllerProxy.h:
1640             - added m_visiblityActivity.
1641         * PluginProcess/PluginProcess.cpp:
1642         (WebKit::PluginProcess::PluginProcess):
1643         (WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): Deleted.
1644         (WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden): Deleted.
1645         * PluginProcess/PluginProcess.h:
1646             - removed pluginsForWebProcessDidBecomeVisible/Hidden.
1647         * PluginProcess/WebProcessConnection.cpp:
1648         (WebKit::WebProcessConnection::removePluginControllerProxy):
1649         (WebKit::WebProcessConnection::pluginDidBecomeVisible): Deleted.
1650         (WebKit::WebProcessConnection::pluginDidBecomeHidden): Deleted.
1651         * PluginProcess/WebProcessConnection.h:
1652             - removed pluginDidBecomeVisible/Hidden.
1653         * PluginProcess/mac/PluginControllerProxyMac.mm:
1654         (WebKit::PluginControllerProxy::windowVisibilityChanged):
1655             - windowVisibilityChanged uses m_visiblityActivity, rather than calling to PluginControllerProxy.
1656
1657 2014-08-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1658
1659         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.3 release.
1660
1661         * gtk/NEWS: Add release notes for 2.5.3.
1662
1663 2014-08-14  Enrica Casucci  <enrica@apple.com>
1664
1665         [Services with UI] Selection services don't work inside <iframes>.
1666         https://bugs.webkit.org/show_bug.cgi?id=135941
1667         <rdar://problem/17957690>
1668
1669         Reviewed by Tim Horton.
1670
1671         Need to map the selection rectangles using the correct FrameView.
1672         When handling the click, we must use the selection from the focused frame.
1673
1674         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1675         (WebKit::ServicesOverlayController::buildSelectionHighlight):
1676         (WebKit::ServicesOverlayController::handleClick):
1677
1678 2014-08-13  Mark Rowe  <mrowe@apple.com>
1679
1680         <https://webkit.org/b/135909> Move helper applications out of the root of the framework.
1681
1682         As described in <https://developer.apple.com/library/mac/technotes/tn2206/>, for bundles containing
1683         a Versions directory there may be no other content at the top level of the bundle other than symlinks.
1684         Upcoming changes to code signing will prevent bundles that violate this rule from being signed.
1685
1686         Reviewed by Sam Weinig.
1687
1688         * Configurations/Base.xcconfig: Define a configuration setting that points to the content directory
1689         of the framework. On OS X this is Versions/A. On iOS, where frameworks are shallow, this is the top level.
1690         * Configurations/BaseLegacyProcess.xcconfig: Install the legacy processes in the content directory
1691         of the framework.
1692         * WebKit2.xcodeproj/project.pbxproj: Copy the legacy processes into the content directory of the
1693         framework during engineering builds. Generate symlinks for the legacy processes to their locations
1694         in Versions/Current. This is necessary because -[NSBundle pathForAuxiliaryExecutable:] only looks
1695         at the top level of the framework wrapper.
1696
1697 2014-08-14  Michael Catanzaro  <mcatanzaro@igalia.com>
1698
1699         WebKit2GTK - WebKitWebProcess assertion fails when dragging and dropping a file into the view
1700         https://bugs.webkit.org/show_bug.cgi?id=127576
1701
1702         Reviewed by Carlos Garcia Campos.
1703
1704         * UIProcess/WebPageProxy.cpp:
1705         (WebKit::WebPageProxy::performDragControllerAction): Assume read access
1706         to any file that has been dragged into the web view when compiling for
1707         GTK, since we don't support sandbox extensions.
1708
1709 2014-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
1710
1711         Enable CSS_SCROLL_SNAP for iOS
1712         https://bugs.webkit.org/show_bug.cgi?id=135915
1713
1714         Turn on CSS_SCROLL_SNAP for iOS and the iOS simulator.
1715
1716         Reviewed by Tim Horton.
1717
1718         * Configurations/FeatureDefines.xcconfig:
1719
1720 2014-08-13  Enrica Casucci  <enrica@apple.com>
1721
1722         [Services with UI] Use a longer delay duration for editable content.
1723         https://bugs.webkit.org/show_bug.cgi?id=135918
1724         <rdar://problem/17998929>
1725
1726         Reviewed by Tim Horton.
1727
1728         Use a 1 second delay for selections in editable content.
1729
1730         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1731         (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
1732
1733 2014-08-13  Mark Rowe  <mrowe@apple.com>
1734
1735         <https://webkit.org/b/135911> WebKit should build on Yosemite with the public SDK.
1736
1737         Reviewed by Darin Adler.
1738
1739         * Platform/IPC/mac/ImportanceAssertion.h: Forward-declare the new assertion functions we use.
1740         * UIProcess/mac/WebContextMenuProxyMac.mm: Forward-declare some details related to NSSharingServicePicker.
1741
1742 2014-08-13  Alexey Proskuryakov  <ap@apple.com>
1743
1744         iOS build fix.
1745
1746         * UIProcess/WebContext.cpp:
1747         (WebKit::WebContext::ensureNetworkProcess):
1748         (WebKit::WebContext::createNewWebProcess):
1749
1750 2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
1751
1752         Opening Web Inspector causes a large amount of sandbox violations
1753         https://bugs.webkit.org/show_bug.cgi?id=135908
1754
1755         Reviewed by Timothy Hatcher.
1756
1757         * WebProcess/com.apple.WebProcess.sb.in:
1758         Permit the WebContent process to create file read extensions for the
1759         system WebInspectorUI.framework which the Network process can already
1760         read anyways.
1761
1762 2014-08-13  Tim Horton  <timothy_horton@apple.com>
1763
1764         Avoid making new active service overlay highlights while the mouse is down
1765         https://bugs.webkit.org/show_bug.cgi?id=135872
1766         <rdar://problem/17982341>
1767
1768         Reviewed by Enrica Casucci.
1769
1770         * WebProcess/WebPage/ServicesOverlayController.h:
1771         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1772         (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
1773         (WebKit::ServicesOverlayController::mouseEvent):
1774         If the mouse is pressed or it's been less than 200ms since the mouse went up,
1775         don't allow the highlight to change. We apply the mouse-is-pressed rule to telephone
1776         number highlights as well, unlike the rest of the hysteresis logic.
1777
1778 2014-08-13  Timothy Hatcher  <timothy@apple.com>
1779
1780         Web Inspector: Workaround a NSWindow change to the title bar.
1781         https://bugs.webkit.org/show_bug.cgi?id=135880
1782
1783         Reviewed by Joseph Pecoraro.
1784
1785         * UIProcess/mac/WebInspectorProxyMac.mm:
1786         (WebKit::WebInspectorProxy::createInspectorWindow): Set titlebarAppearsTransparent on 10.10.
1787         Only call border thickness APIs on 10.9 and earlier.
1788         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Only call setDrawsBackground: on 10.9 and earlier.
1789         (WebKit::WebInspectorProxy::platformSetToolbarHeight): Only call setContentBorderThickness: on 10.9 and earlier.
1790
1791 2014-08-13  Ryuan Choi  <ryuan.choi@samsung.com>
1792
1793         [EFL] Add API to set application name for the user agent
1794         https://bugs.webkit.org/show_bug.cgi?id=135640
1795
1796         Reviewed by Gyuyoung Kim.
1797
1798         Add ewk_application_name_for_user_agent_set to make default user agent string
1799         with application name which application passes.
1800         It's useful for application to set only application information without knowledge
1801         of legacy user agent components.
1802
1803         * UIProcess/API/efl/EwkView.cpp:
1804         (EwkView::EwkView):
1805         (EwkView::setApplicationNameForUserAgent):
1806         * UIProcess/API/efl/EwkView.h:
1807         (EwkView::applicationNameForUserAgent):
1808         * UIProcess/API/efl/ewk_view.cpp:
1809         (ewk_view_application_name_for_user_agent_set):
1810         (ewk_view_application_name_for_user_agent_get):
1811         * UIProcess/API/efl/ewk_view.h:
1812         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1813         (TEST_F):
1814         * UIProcess/efl/WebPageProxyEfl.cpp:
1815         (WebKit::WebPageProxy::standardUserAgent):
1816
1817 2014-08-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1818
1819         [CMAKE] WebProcess shouldn't need to explicitly link to JavaScriptCore and WebCore
1820         https://bugs.webkit.org/show_bug.cgi?id=135832
1821
1822         Reviewed by Gyuyoung Kim.
1823
1824         Linking to WebKit2 should be enough, like Network and Plugin processes.
1825
1826         * CMakeLists.txt:
1827
1828 2014-08-12  Tim Horton  <timothy_horton@apple.com>
1829
1830         Document-relative page overlays drop some mouse events with non-zero top content inset
1831         https://bugs.webkit.org/show_bug.cgi?id=135871
1832         <rdar://problem/17982275>
1833
1834         Reviewed by Beth Dakin.
1835
1836         * WebProcess/WebPage/PageOverlay.cpp:
1837         (WebKit::PageOverlay::mouseEvent):
1838         Convert the mouse position into document-relative coordinates; the bounds()
1839         already are! This way, we can actually compare them without being wrong sometimes.
1840
1841 2014-08-12  Peyton Randolph  <prandolph@apple.com>
1842
1843         Runtime switch for long mouse press gesture. Part of 135257 - Add long mouse press gesture
1844         https://bugs.webkit.org/show_bug.cgi?id=135682
1845
1846         Reviewed by Tim Horton.
1847
1848         * Configurations/FeatureDefines.xcconfig: Remove LONG_MOUSE_PRESS feature flag.
1849         * Shared/WebPreferencesDefinitions.h:
1850         Add LongMousePressEnabled preference, initially false.
1851         * UIProcess/API/C/WKPreferences.cpp:
1852         (WKPreferencesSetLongMousePressEnabled): Added.
1853         (WKPreferencesGetLongMousePressEnabled): Added.
1854         * UIProcess/API/C/WKPreferencesRefPrivate.h:
1855         * WebProcess/WebPage/WebPage.cpp:
1856         (WebKit::WebPage::updatePreferences):
1857         Reflect the WebKit long mouse press setting in WebCore.
1858
1859 2014-08-12  Pratik Solanki  <psolanki@apple.com>
1860
1861         Cached file backed resources don't make it to the Web Process when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
1862         https://bugs.webkit.org/show_bug.cgi?id=135727
1863         <rdar://problem/17947880>
1864
1865         Reviewed by Darin Adler.
1866
1867         tryGetShareableHandleFromSharedBuffer() assumed that we have a file backed resource only if
1868         we had a CFDataRef (platformData()) in SharedBuffer. This is wrong when we use the data
1869         array callbacks since the file backed buffer could be in the data array. Instead of relying
1870         on hasPlatformData(), explicitly ask the SharedBuffer to give us a CFDataRef if it has one
1871         so that SharedBuffer can take care of the data array case.
1872
1873         * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
1874         (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
1875
1876 2014-08-12  Alexey Proskuryakov  <ap@apple.com>
1877
1878         REGRESSION: WebContent process has a sandbox extension for the entirety of user's temp directory
1879         https://bugs.webkit.org/show_bug.cgi?id=135853
1880         <rdar://problem/17986556>
1881
1882         Reviewed by Oliver hunt.
1883
1884         Move extensions recently added for iOS benefit under PLATFORM(IOS). Removed some
1885         dead code while at it (child processes don't need actual paths, they only need
1886         sandbox extensions in most cases).
1887
1888         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
1889         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
1890         * Shared/Network/NetworkProcessCreationParameters.cpp:
1891         (WebKit::NetworkProcessCreationParameters::encode):
1892         (WebKit::NetworkProcessCreationParameters::decode):
1893         * Shared/Network/NetworkProcessCreationParameters.h:
1894         * Shared/WebProcessCreationParameters.cpp:
1895         (WebKit::WebProcessCreationParameters::encode):
1896         (WebKit::WebProcessCreationParameters::decode):
1897         * Shared/WebProcessCreationParameters.h:
1898         * UIProcess/WebContext.cpp:
1899         (WebKit::WebContext::ensureNetworkProcess):
1900         (WebKit::WebContext::createNewWebProcess):
1901         (WebKit::WebContext::openGLCacheDirectory): Deleted.
1902         (WebKit::WebContext::networkingHSTSDatabasePath): Deleted.
1903         * UIProcess/WebContext.h:
1904         * UIProcess/efl/WebContextEfl.cpp:
1905         (WebKit::WebContext::containerTemporaryDirectory): Deleted.
1906         (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
1907         * UIProcess/gtk/WebContextGtk.cpp:
1908         (WebKit::WebContext::containerTemporaryDirectory): Deleted.
1909         (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
1910         * UIProcess/mac/WebContextMac.mm:
1911         (WebKit::WebContext::openGLCacheDirectory):
1912         (WebKit::WebContext::parentBundleDirectory):
1913         (WebKit::WebContext::networkingHSTSDatabasePath):
1914         (WebKit::WebContext::platformDefaultOpenGLCacheDirectory): Deleted.
1915         (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
1916         * WebProcess/cocoa/WebProcessCocoa.mm:
1917         (WebKit::WebProcess::platformInitializeWebProcess):
1918
1919 2014-08-12  Tim Horton  <timothy_horton@apple.com>
1920
1921         Small region (~1px tall) where you get the selection button instead of the phone number overlay
1922         https://bugs.webkit.org/show_bug.cgi?id=135852
1923         <rdar://problem/17992795>
1924
1925         Reviewed by Enrica Casucci.
1926
1927         * WebProcess/WebPage/ServicesOverlayController.h:
1928         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1929         (WebKit::ServicesOverlayController::findTelephoneNumberHighlightContainingSelectionHighlight):
1930         (WebKit::ServicesOverlayController::determineActiveHighlight):
1931         If our new active highlight is a selection highlight that is completely contained
1932         by one of the phone number highlights, we'll make the phone number highlight active
1933         even if it's not hovered. This fixes the case where the selection highlight
1934         (a subset of a telephone number) is slightly taller than the telephone number
1935         highlight, and can be hovered without hovering the phone number highlight.
1936
1937 2014-08-12  Tim Horton  <timothy_horton@apple.com>
1938
1939         REGRESSION (r172424): Extra menu header in combined telephone number menu when no phone paired
1940         https://bugs.webkit.org/show_bug.cgi?id=135854
1941         <rdar://problem/17996339>
1942
1943         Reviewed by Enrica Casucci.
1944
1945         * UIProcess/mac/WebContextMenuProxyMac.mm:
1946         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
1947         Get all the menu items ahead of time, and only add the shared header
1948         if there are any telephone number menu items.
1949
1950 2014-08-12  Enrica Casucci  <enrica@apple.com>
1951
1952         Crash at com.apple.WebKit.WebContent at com.apple.WebKit: WebKit::expandForGap
1953         https://bugs.webkit.org/show_bug.cgi?id=135859
1954         <rdar://problem/17994679>
1955
1956         Reviewed by Tim Horton.
1957
1958         expandForGap made the assumption that the selection rects were always three.
1959         This was not true even before http://trac.webkit.org/changeset/172395 but
1960         was more likely to happen after that change.
1961         
1962         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1963         (WebKit::expandForGap):
1964
1965 2014-08-12  Tim Horton  <timothy_horton@apple.com>
1966
1967         Don't show the combined menu if there are no services available
1968         https://bugs.webkit.org/show_bug.cgi?id=135846
1969         <rdar://problem/17582099>
1970
1971         Reviewed by Enrica Casucci.
1972
1973         * WebProcess/WebPage/ServicesOverlayController.h:
1974         Add a FIXME.
1975
1976         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
1977         (WebKit::ServicesOverlayController::determineActiveHighlight):
1978         Don't allow a selection Highlight to become active if there is no
1979         service available to handle it. Previously we showed the combined menu
1980         with just phone numbers in it if any were detected.
1981
1982 2014-08-12  Tim Horton  <timothy_horton@apple.com>
1983
1984         Add a fade transition to services highlights
1985         https://bugs.webkit.org/show_bug.cgi?id=135829
1986         <rdar://problem/17935736>
1987
1988         Reviewed by Enrica Casucci.
1989
1990         Add a smooth fade to highlight installation and uninstallation.
1991         To do so, we make each highlight paint into its own small layer.
1992
1993         * WebProcess/WebPage/PageOverlay.cpp:
1994         (WebKit::PageOverlay::layer):
1995         * WebProcess/WebPage/PageOverlay.h:
1996         * WebProcess/WebPage/PageOverlayController.cpp:
1997         (WebKit::PageOverlayController::layerForOverlay):
1998         * WebProcess/WebPage/PageOverlayController.h:
1999         Expose the GraphicsLayer on PageOverlay.
2000
2001         * WebProcess/WebPage/ServicesOverlayController.h:
2002         (WebKit::ServicesOverlayController::Highlight::layer):
2003         (WebKit::ServicesOverlayController::activeHighlight):
2004         (WebKit::ServicesOverlayController::webPage):
2005         (WebKit::ServicesOverlayController::Highlight::Highlight): Deleted.
2006
2007         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2008         (WebKit::ServicesOverlayController::Highlight::createForSelection):
2009         (WebKit::ServicesOverlayController::Highlight::createForTelephoneNumber):
2010         (WebKit::ServicesOverlayController::Highlight::Highlight):
2011         Highlights now own a GraphicsLayer, which are later installed
2012         as sublayers of the ServicesOverlayController's PageOverlay layer.
2013         These layers are sized and positioned according to the DDHighlight's bounds.
2014
2015         (WebKit::ServicesOverlayController::Highlight::~Highlight):
2016         (WebKit::ServicesOverlayController::Highlight::invalidate):
2017         ServicesOverlayController will invalidate any remaining highlights
2018         when it is torn down, so they can clear their backpointers.
2019
2020         (WebKit::ServicesOverlayController::Highlight::notifyFlushRequired):
2021         Forward flush notifications to the DrawingArea.
2022
2023         (WebKit::ServicesOverlayController::Highlight::paintContents):
2024         Paint the DDHighlight into the layer. Translation is done by the layer position,
2025         so we zero the bounds origin when painting.
2026
2027         (WebKit::ServicesOverlayController::Highlight::deviceScaleFactor):
2028         Forward the deviceScaleFactor so that things are painted at the right scale.
2029
2030         (WebKit::ServicesOverlayController::Highlight::fadeIn):
2031         (WebKit::ServicesOverlayController::Highlight::fadeOut):
2032         Apply a fade animation to the layer.
2033
2034         (WebKit::ServicesOverlayController::Highlight::didFinishFadeOutAnimation):
2035         When the fade completes, unparent the layer, unless it has become active again.
2036
2037         (WebKit::ServicesOverlayController::ServicesOverlayController):
2038         (WebKit::ServicesOverlayController::~ServicesOverlayController):
2039         Invalidate all highlights, so they can clear their backpointers.
2040
2041         (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
2042         Make remainingTimeUntilHighlightShouldBeShown act upon a particular highlight
2043         instead of always the active highlight.
2044
2045         (WebKit::ServicesOverlayController::determineActiveHighlightTimerFired): Rename.
2046
2047         (WebKit::ServicesOverlayController::drawRect):
2048         drawRect is no longer called and will no longer do anything; all of the
2049         painting is done in sublayers.
2050
2051         (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
2052         Ensure that phone number Highlights stay stable even while the selection
2053         changes, by comparing the underlying Ranges and keeping around old Highlights
2054         that match the new ones. This enables us to e.g. fade in while changing
2055         the selection within a phone number.
2056
2057         (WebKit::ServicesOverlayController::buildSelectionHighlight):
2058         (WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
2059         (WebKit::ServicesOverlayController::createOverlayIfNeeded):
2060         Don't call setNeedsDisplay; the overlay doesn't have backing store.
2061         Instead, call determineActiveHighlight, which will install/uninstall
2062         highlights as necessary.
2063
2064         (WebKit::ServicesOverlayController::determineActiveHighlight):
2065         Apply fade in/fade out to the overlays.
2066         Keep track of which highlight we're going to activate, until the hysteresis
2067         delay is up, then actually make it active/parent it/fade it in.
2068         We now will have no active highlight between the fade out of the previous one
2069         and the fade in of the new one (during the hysteresis delay).
2070
2071         (WebKit::ServicesOverlayController::mouseEvent):
2072         The overlay now will not become active until the delay is up, so we don't
2073         need to check it again here.
2074
2075         (WebKit::ServicesOverlayController::handleClick):
2076         (WebKit::ServicesOverlayController::didCreateHighlight):
2077         (WebKit::ServicesOverlayController::willDestroyHighlight):
2078         (WebKit::ServicesOverlayController::repaintHighlightTimerFired): Deleted.
2079         (WebKit::ServicesOverlayController::drawHighlight): Deleted.
2080
2081 2014-08-11  Andy Estes  <aestes@apple.com>
2082
2083         [iOS] Get rid of iOS.xcconfig
2084         https://bugs.webkit.org/show_bug.cgi?id=135809
2085
2086         Reviewed by Joseph Pecoraro.
2087
2088         All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
2089
2090         * Configurations/Base.xcconfig:
2091         * Configurations/iOS.xcconfig: Removed.
2092         * WebKit2.xcodeproj/project.pbxproj:
2093
2094 2014-08-12  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2095
2096         [EFL] Rename ewk_private.h to EwkDebug.h
2097         https://bugs.webkit.org/show_bug.cgi?id=135797
2098
2099         Reviewed by Gyuyoung Kim.
2100
2101         ewk_private.h contains only debug macros alllowing
2102         logging.
2103
2104         * UIProcess/API/efl/EwkView.cpp:
2105         * UIProcess/API/efl/ewk_main.cpp:
2106         * UIProcess/efl/EwkDebug.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_private.h.
2107         * UIProcess/efl/ViewClientEfl.cpp:
2108
2109 2014-08-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2110
2111         [GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
2112         https://bugs.webkit.org/show_bug.cgi?id=135834
2113
2114         Reviewed by Philippe Normand.
2115
2116         Make sure the user cache directory exists. If creating the
2117         directory fails for whatever reason, do not try to save the cache
2118         to disk.
2119
2120         * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
2121         (WebKit::PluginInfoCache::PluginInfoCache):
2122         (WebKit::PluginInfoCache::updatePluginInfo):
2123
2124 2014-08-12  Alexey Proskuryakov  <ap@apple.com>
2125
2126         [Mac] Allow reading CoreGraphics debugging preferences
2127         https://bugs.webkit.org/show_bug.cgi?id=135821
2128         <rdar://problem/11219259>
2129
2130         Reviewed by Darin Adler.
2131
2132         * WebProcess/com.apple.WebProcess.sb.in:
2133
2134 2014-08-11  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2135
2136         [EFL] Prevent the client from creating ewk_view when EWebkit is not initialized
2137         https://bugs.webkit.org/show_bug.cgi?id=135606
2138
2139         Reviewed by Gyuyoung Kim.
2140
2141         Similarly to EFL modules (eina, evas etc.), application using EWebKit
2142         has to initialize it using ewk_init().
2143
2144         Do not allow the client to create ewk_view if ewk_init has not been called.
2145         Add an appropriate logs warning the client about wrong APIs usage.
2146
2147         * UIProcess/API/efl/ewk_main.cpp: Add EwkMain class to control ewk lifetime.
2148         (WebKit::EwkMain::EwkMain):
2149         (WebKit::EwkMain::shared):
2150         (WebKit::EwkMain::~EwkMain): Add logs when the client forgot to destroy EWebkit.
2151         (WebKit::EwkMain::initialize):
2152         (WebKit::EwkMain::finalize):
2153         (WebKit::EwkMain::shutdownInitializedEFLModules):
2154         (ewk_init):
2155         (ewk_shutdown):
2156         * UIProcess/API/efl/ewk_main_private.h: Added.
2157         (WebKit::EwkMain::isInitialized):
2158         (WebKit::EwkMain::logDomainId):
2159         * UIProcess/API/efl/ewk_private.h:
2160         * UIProcess/API/efl/ewk_view.cpp:
2161         (EWKViewCreate):
2162         Prevent the client from creating ewk_view when ewk_init() has not been called.
2163
2164 2014-08-11  Enrica Casucci  <enrica@apple.com>
2165
2166         Improve look and feel of combined service menu..
2167         https://bugs.webkit.org/show_bug.cgi?id=135824
2168         <rdar://problem/17936880>
2169
2170         Reviewed by Tim Horton.
2171         
2172         When showing the combined menu, list the phone numbers first,
2173         grouped under a common header, followed by the entries relative
2174         to the services.
2175
2176         * Platform/mac/MenuUtilities.h:
2177         * Platform/mac/MenuUtilities.mm:
2178         (WebKit::menuItemTitleForTelephoneNumberGroup):
2179         (WebKit::menuItemForTelephoneNumber):
2180         * UIProcess/mac/WebContextMenuProxyMac.mm:
2181         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2182
2183 2014-08-11  Joseph Pecoraro  <pecoraro@apple.com>
2184
2185         Add Private WKPreferences API for developer extras (show inspector)
2186         https://bugs.webkit.org/show_bug.cgi?id=135811
2187
2188         Reviewed by Timothy Hatcher.
2189
2190         * UIProcess/API/Cocoa/WKPreferences.mm:
2191         (-[WKPreferences _developerExtrasEnabled]):
2192         (-[WKPreferences _setDeveloperExtrasEnabled:]):
2193         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2194
2195 2014-08-08  Enrica Casucci  <enrica@apple.com>
2196
2197         [Services with UI] Action menu arrow hit testing is sometimes wrong.
2198         https://bugs.webkit.org/show_bug.cgi?id=135776
2199         <rdar://problem/17837670>
2200
2201         Reviewed by Brady Eidson.
2202
2203         There was a problem in the algorithm that stitches together the selection rectangles
2204         to be given to Data Detectors API.
2205         This change adds a new function that stiches together all the rects contributing to the
2206         first line, all the rects contributing to the last line and all the ones in the middle.
2207         This way we can have a maximum of 3 non overlapping rectangles.
2208
2209         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2210         (WebKit::stitchRects):
2211         (WebKit::compactRectsWithGapRects):
2212
2213 2014-08-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2214
2215         Unreviewed, EFL build fix since r172385.
2216
2217         * PlatformEfl.cmake:
2218
2219 2014-08-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2220
2221         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.2 release.
2222
2223         * gtk/NEWS: Add release notes for 2.5.2.
2224
2225 2014-08-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2226
2227         [GTK] No IPC messages are sent when building WebKitGTK+ with VERSION_SCRIPT
2228         https://bugs.webkit.org/show_bug.cgi?id=135760
2229
2230         Reviewed by Philippe Normand.
2231
2232         The problem is that the threading initialization is failing
2233         because there are two copies of WTF, one in libjavascriptcoregtk
2234         and the other in libwebkit2gtk. When WebKit2 is initialized in the
2235         UI process, JSC::initializeThreading() is called first and then
2236         WTF::initializeMainThread(). The former is calling
2237         ThreadIdentifierData::initializeOnce() initializing the
2238         ThreadIdentifierData::m_key symbol in libjavascriptcoregtk, while
2239         the latter is using the ThreadIdentifierData API from libwebkit2gtk
2240         that hasn't been initialized.
2241
2242         * CMakeLists.txt: Do not add WTF to the list of WebKit2 libraries,
2243         WebKit2 already depends on JavaScriptCore that already links to WTF.
2244
2245 2014-08-10  Tim Horton  <timothy_horton@apple.com>
2246
2247         Yelp phone number highlights often disappear
2248         https://bugs.webkit.org/show_bug.cgi?id=135789
2249         <rdar://problem/17971057>
2250
2251         Reviewed by Brady Eidson.
2252
2253         Since selectedTelephoneNumberRangesChanged doesn't provide an associated
2254         Frame, an incoming selectedTelephoneNumberRangesChanged from a subframe
2255         would overwrite ServicesOverlayController's cached (and potentially active)
2256         telephone number highlights.
2257
2258         This happens a lot on Yelp, because they have many subframes which are
2259         doing layout on a regular basis.
2260
2261         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2262         (WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged):
2263         * WebProcess/WebCoreSupport/WebEditorClient.h:
2264         Adjust to the new (lack of) arguments.
2265
2266         * WebProcess/WebPage/ServicesOverlayController.h:
2267         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2268         (WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
2269         Adjust logging; we can revisit it later.
2270
2271         (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
2272         When building phone number highlights, walk the Frame tree and retrieve
2273         them from all of the Editors.
2274
2275         (WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
2276         (WebKit::ServicesOverlayController::telephoneNumberRangesForFocusedFrame):
2277         (WebKit::ServicesOverlayController::determineActiveHighlight):
2278         (WebKit::ServicesOverlayController::handleClick):
2279         Retrieve the detected telephone number ranges from the focused frame
2280         when combining telephone numbers with selection services.
2281         This ensures that we don't show combined phone number highlights from other frames.
2282
2283 2014-08-10  Tim Horton  <timothy_horton@apple.com>
2284
2285         Refactor ServiceOverlayController in preparation for fading between highlights
2286         https://bugs.webkit.org/show_bug.cgi?id=135787
2287         <rdar://problem/17935736>
2288
2289         Reviewed by Brady Eidson.
2290
2291         Rework ServicesOverlayController so that we always keep a set of generic
2292         "potential highlights", which are refcounted Highlight objects and
2293         wrap a DDHighlightRef, as well as a type (Selection or TelephoneNumber),
2294         Range (only used in the case of TelephoneNumber), and potentially more
2295         things in the future (like, say, fade state!).
2296
2297         We eagerly update the list of potential highlights when the selection or set
2298         of detected telephone numbers changes, and use this information to install
2299         or uninstall the page overlay as needed.
2300
2301         When we need to recompute the "active" highlight from this set (for example,
2302         we need to handle a mouse event or paint the highlight), we look through
2303         the set of potential highlights and decide. This moves the "active" highlight
2304         decision logic into one small and confined place.
2305
2306         * WebProcess/WebPage/ServicesOverlayController.h:
2307         (WebKit::ServicesOverlayController::Highlight):
2308         Add the new aforementioned refcounted Highlight class.
2309         Rename m_lastHoveredHighlightChangeTime to m_lastActiveHighlightChangeTime.
2310         Make m_webPage a reference.
2311         The rest is just added/removed/adjusted functions for the refactoring.
2312
2313         (WebKit::TelephoneNumberData::TelephoneNumberData): Deleted.
2314         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2315         (WebKit::ServicesOverlayController::Highlight::createForSelection):
2316         (WebKit::ServicesOverlayController::Highlight::createForTelephoneNumber):
2317         Create Highlights for the two different highlight types.
2318
2319         (WebKit::ServicesOverlayController::ServicesOverlayController):
2320         (WebKit::ServicesOverlayController::willMoveToWebPage):
2321         Our WebPage pointer is always valid because it owns us; don't clear it.
2322         We need to keep it around so that we can uninstall the overlay and
2323         install it again later, anyway.
2324
2325         (WebKit::ServicesOverlayController::selectionRectsDidChange):
2326         (WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):
2327         When selection rects or detected telephone numbers change, rebuild potential highlights.
2328         This will have the side-effect of installing the overlay if needed.
2329
2330         (WebKit::ServicesOverlayController::mouseIsOverHighlight):
2331         Make this function take a Highlight instead of a DDHighlightRef.
2332
2333         (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
2334         Make this function take a Highlight instead of a DDHighlightRef.
2335
2336         (WebKit::ServicesOverlayController::drawHighlight):
2337         Make this function take a Highlight instead of a DDHighlightRef.
2338         There's no reason to do the translation separately from the layer blit,
2339         also allowing us to avoid the StateSaver.
2340
2341         (WebKit::ServicesOverlayController::drawRect):
2342         drawRect now always paints the active highlight, instead of duplicating
2343         logic about which highlight should be active.
2344         Also, it will update the active highlight before painting.
2345         We no longer need to re-determine whether the active highlight's phone
2346         number range is still a valid phone number range, because we rebuild
2347         the potential highlights whenever the set of phone number ranges changes.
2348
2349         (WebKit::ServicesOverlayController::clearActiveHighlight):
2350         Mostly an adoption of new names.
2351
2352         (WebKit::ServicesOverlayController::removeAllPotentialHighlightsOfType):
2353         Run through the list of potential highlights and remove any of the given type.
2354         The two highlight building functions use this helper to clear the old ones before building.
2355
2356         (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
2357         (WebKit::ServicesOverlayController::buildSelectionHighlight):
2358         Rebuild the list of potential highlights, replacing all highlights of
2359         the given type with new ones.
2360
2361         (WebKit::ServicesOverlayController::hasRelevantSelectionServices):
2362         Factor out the code that decides whether our current selection is
2363         viable for servicing based on whether we have plain-text and/or rich-text services.
2364
2365         (WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
2366         When rebuilding potential highlights, if we have no potential highlights at all,
2367         uninstall the page overlay; we don't need mouse tracking and don't need to
2368         paint anything. This improves memory use and compositing performance significantly,
2369         where previously we were leaving the overlay up forever after creating it.
2370
2371         If we have either detected telephone numbers or relevant selection services,
2372         create and install the overlay if it doesn't already exist.
2373
2374         (WebKit::ServicesOverlayController::createOverlayIfNeeded):
2375         This just moved from elsehwere, except that it now uses FadeMode::DoNotFade.
2376         It doesn't make sense to fade on install/uninstall (which happens even before hover)
2377         but not on changing the active highlight; fading will be re-addressed in the next patch.
2378
2379         (WebKit::ServicesOverlayController::highlightsAreEquivalent):
2380         Determine whether two highlights are equivalent. While we may have
2381         created a new Highlight at rebuild time, if two telephone number
2382         highlights have equivalent ranges, there's no need to 'transition' to the new one.
2383
2384         (WebKit::ServicesOverlayController::determineActiveHighlight):
2385         Run through the list of services, and try to find one that is hovered.
2386         We prefer telephone number highlights to selection highlights, and
2387         we will never make a selection highlight active if it is both
2388         not serviceable and there are no telephone numbers to show in the combined menu.
2389         This is the centralized location for determination of which highlight
2390         should be considered active. If the active highlight changed, update
2391         the time since last change and cancel the mouse-down tracking.
2392
2393         (WebKit::ServicesOverlayController::mouseEvent):
2394         Adjust some comments to be more explanatory.
2395         A bunch of code moved out of here and into determineActiveHighlight.
2396
2397         (WebKit::ServicesOverlayController::handleClick):
2398         Adjust to take a reference and use Highlight instead of DDHighlightRef.
2399
2400 2014-08-10  Timothy Hatcher  <timothy@apple.com>
2401
2402         Web Inspector: new glyphs are visible on OS X 10.9 builds
2403         https://bugs.webkit.org/show_bug.cgi?id=135743
2404
2405         Reviewed by Joseph Pecoraro.
2406
2407         * UIProcess/mac/WebInspectorProxyMac.mm:
2408         (WebKit::WebInspectorProxy::createInspectorWindow): Use 10100 instead of 1090 for the version.
2409
2410 2014-08-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2411
2412         [GTK] REGRESSION(r166239): The ld version script is not being used
2413         https://bugs.webkit.org/show_bug.cgi?id=135694
2414
2415         Reviewed by Martin Robinson.
2416
2417         * CMakeLists.txt: Add VERSION_SCRIPT to WebKit2 link flags if present.
2418
2419 2014-08-09  Tim Horton  <timothy_horton@apple.com>
2420
2421         REGRESSION (r172301): Combined phone number highlight doesn't appear if rich content is selected and we have no rich content services
2422         https://bugs.webkit.org/show_bug.cgi?id=135785
2423         <rdar://problem/17969843>
2424
2425         Reviewed by Brady Eidson.
2426
2427         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2428         (WebKit::ServicesOverlayController::drawSelectionHighlight):
2429         We can't early return in the rich-content-but-no-rich-services case
2430         if we have telephone numbers in the selection, because we want to offer
2431         them up in the combined menu.
2432
2433         * UIProcess/mac/WebContextMenuProxyMac.mm:
2434         If we end up with no menu, because there were no services available,
2435         make a fresh one that we can fill with combined telephone number items.
2436
2437 2014-08-08  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2438
2439         [EFL] Do not initialize g_type in WebProcessMain::platformInitialize()
2440         https://bugs.webkit.org/show_bug.cgi?id=135700
2441
2442         Reviewed by Gyuyoung Kim.
2443
2444         Inspired by r171788.
2445         Glib since 2.36 itself initializes g_type_init.
2446
2447         * WebProcess/efl/WebProcessMainEfl.cpp:
2448
2449 2014-08-08  Tim Horton  <timothy_horton@apple.com>
2450
2451         Build fix for 32-bit.
2452
2453         * UIProcess/mac/ServicesController.mm:
2454         (WebKit::ServicesController::ServicesController):
2455         Don't dynamically refresh services in 32-bit apps. It's not possible
2456         to write a 32-bit app with the Modern API, so this doesn't matter.
2457
2458 2014-08-08  Tim Horton  <timothy_horton@apple.com>
2459
2460         [mac] Dynamically update serviceability when the set of services changes
2461         https://bugs.webkit.org/show_bug.cgi?id=135738
2462         <rdar://problem/17533459>
2463
2464         Reviewed by Brady Eidson.
2465
2466         * UIProcess/WebContext.cpp:
2467         (WebKit::WebContext::createNewWebProcess):
2468         Adopt the new universal refreshExistingServices.
2469
2470         (WebKit::WebContext::refreshExistingServices): Deleted.
2471         * UIProcess/WebContext.h:
2472         Remove WebContext::refreshExistingServices; there's no need for it.
2473
2474         * UIProcess/mac/ServicesController.h:
2475         * UIProcess/mac/ServicesController.mm:
2476         Fix the build with only public headers by including NSSharingService.h itself.
2477         Place the NSSharingServicePicker (Details) category outside the #ifdef.
2478         Forward-declare and possibly import NSExtension SPI.
2479
2480         (WebKit::ServicesController::ServicesController):
2481         Register a callback to be notified whenever the set of services changes.
2482         When this occurs, call refreshExistingServices. We let refreshExistingServices
2483         coalesce updates because these notifications can come in small batches.
2484
2485         (WebKit::ServicesController::refreshExistingServices):
2486         Dispatch changes in service availability to all processes in all contexts.
2487
2488         * UIProcess/mac/WebContextMenuProxyMac.mm:
2489         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2490         Adjust the referenced rdar:// and call ServicesController::refreshExistingServices
2491         instead of the now-removed WebContext:: variant. We can't remove this
2492         yet because our services state can still be stale because NSServiceSharingPicker
2493         can still sometimes lie about the current service state immediately after a change occurs;
2494         once that is fixed, we should get rid of this as well as the refresh in Web Process creation.
2495
2496 2014-08-08  Timothy Horton  <timothy_horton@apple.com>
2497
2498         Clients that request the selection services menu after WebKit2 will get one with different metrics than otherwise
2499         https://bugs.webkit.org/show_bug.cgi?id=135765
2500         <rdar://problem/17962180>
2501
2502         Reviewed by Brady Eidson.
2503
2504         * UIProcess/mac/WebContextMenuProxyMac.mm:
2505         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2506         The menu is cached between clients, but we make adjustments to it.
2507         We should copy it before adjusting.
2508
2509 2014-08-08  Timothy Horton  <timothy_horton@apple.com>
2510
2511         Services overlay dropdown is often in the wrong place with zoomed pages or horizontal scrolling
2512         https://bugs.webkit.org/show_bug.cgi?id=135755
2513         <rdar://problem/17907752>
2514
2515         Reviewed by Brady Eidson.
2516
2517         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2518         (WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight):
2519         (WebKit::ServicesOverlayController::maybeCreateSelectionHighlight):
2520         DDHighlightCreateWithRectsInVisibleRectWithStyleAndDirection adjusts the
2521         location of the button based on the visible rect, trying to keep the button visible.
2522
2523         We're handing it the wrong visible rect, though, not taking scrolling into account.
2524
2525         This leads to pages that scroll horizontally showing the button on the left
2526         even if there's space for it on the right, or sometimes not showing it at all.
2527
2528         Instead, provide the actual main FrameView visible rect; the same coordinate
2529         space that the highlight rects are provided in.
2530
2531 2014-08-08  Timothy Horton  <timothy_horton@apple.com>
2532
2533         Additional items added to selection services menus are misaligned
2534         https://bugs.webkit.org/show_bug.cgi?id=135747
2535         <rdar://problem/17933167>
2536
2537         Reviewed by Brady Eidson.
2538
2539         * UIProcess/mac/WebContextMenuProxyMac.mm:
2540         (WebKit::WebContextMenuProxyMac::setupServicesMenu):
2541         Use NSSharingServicePickerStyleRollover for the rollover image services menu;
2542         use NSSharingServicePickerStyleTextSelection for the selection services menu.
2543
2544         Set NSMenu's showsStateColumn to YES for selection services menus, so that
2545         other items added to the menu line up correctly.
2546
2547         Remove an unncessary .get()
2548
2549 2014-08-08  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2550
2551         [EFL] Remove unnecessary ewk_private.h includes
2552         https://bugs.webkit.org/show_bug.cgi?id=135753
2553
2554         Reviewed by Gyuyoung Kim.
2555
2556         Neither the below file uses the functionality from ewk_private.h.
2557
2558         * UIProcess/API/efl/ewk_context.cpp:
2559         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2560         * UIProcess/API/efl/ewk_cookie_manager.cpp:
2561         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
2562         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
2563         * UIProcess/API/efl/ewk_view.cpp:
2564
2565 2014-08-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2566
2567         [GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
2568         https://bugs.webkit.org/show_bug.cgi?id=135699
2569
2570         Reviewed by Philippe Normand.
2571
2572         Resize grips support have been removed from GTK+ since 3.13.4, the
2573         API has been deprecated and does nothing.
2574
2575         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2576         (webkitWebViewBaseSetToplevelOnScreenWindow):
2577         (resizeWebKitWebViewBaseFromAllocation):
2578
2579 2014-08-07  Tim Horton  <timothy_horton@apple.com>
2580
2581         [Services with UI] Action menu does not appear if selection includes both text and an image
2582         https://bugs.webkit.org/show_bug.cgi?id=135731
2583         <rdar://problem/17837491>
2584
2585         Reviewed by Dean Jackson.
2586
2587         * UIProcess/WebContext.cpp:
2588         (WebKit::WebContext::createNewWebProcess):
2589         Initialize hasRichContentServices with the cached value.
2590
2591 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
2592
2593         Get rid of SCRIPTED_SPEECH
2594         https://bugs.webkit.org/show_bug.cgi?id=135729
2595
2596         Reviewed by Brent Fulgham.
2597
2598         * Configurations/FeatureDefines.xcconfig:
2599
2600 2014-08-07  Timothy Horton  <timothy_horton@apple.com>
2601
2602         setCustomSwipeViews inside didChangeBackForwardList client callback is ignored
2603         https://bugs.webkit.org/show_bug.cgi?id=135633
2604         <rdar://problem/17926507>
2605
2606         Reviewed by Sam Weinig.
2607
2608         * UIProcess/PageClient.h:
2609         * UIProcess/WebPageProxy.cpp:
2610         (WebKit::WebPageProxy::didChangeBackForwardList):
2611         * UIProcess/ios/PageClientImplIOS.h:
2612         * UIProcess/ios/PageClientImplIOS.mm:
2613         (WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
2614         * UIProcess/mac/PageClientImpl.h:
2615         * UIProcess/mac/PageClientImpl.mm:
2616         (WebKit::PageClientImpl::clearCustomSwipeViews): Deleted.
2617         WebKit clears the set of custom swipe views at the end of WebPageProxy::didChangeBackForwardList,
2618         *after* calling into the client. This means that if the client wants to setCustomSwipeViews in
2619         didChangeBackForwardList, it won't be respected.
2620
2621         Since there's only one client of this SPI, let's just stop clearing the list of custom swipe
2622         views in WebKit and leave that totally up to the client.
2623
2624 2014-08-07  Enrica Casucci  <enrica@apple.com>
2625
2626         [Services with UI] Action menu does not appear if selection includes both text and an image.
2627         https://bugs.webkit.org/show_bug.cgi?id=135731
2628         <rdar://problem/17837491>
2629
2630         Reviewed by Brady Eidson.
2631
2632         Adding a new setting to ServicesController to communicate to the WebProcess if
2633         there are services installed that can handle a combination of text and images.
2634         This way ServicesOverlayController can decide if it appropriate to show the hightlight
2635         based on the type of selection (text only or non text only). This information is retrieved
2636         when the selection rects are collected by SelectionGatherer and used by
2637         SelectionGatherer::Notifier to communicate the selection change.
2638
2639         * Shared/WebProcessCreationParameters.cpp:
2640         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2641         * Shared/WebProcessCreationParameters.h:
2642         * UIProcess/mac/ServicesController.h:
2643         (WebKit::ServicesController::hasRichContentServices):
2644         * UIProcess/mac/ServicesController.mm:
2645         (WebKit::ServicesController::ServicesController):
2646         (WebKit::ServicesController::refreshExistingServices):
2647         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2648         (WebKit::WebEditorClient::selectionRectsDidChange):
2649         * WebProcess/WebCoreSupport/WebEditorClient.h:
2650         * WebProcess/WebPage/ServicesOverlayController.h:
2651         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2652         (WebKit::ServicesOverlayController::ServicesOverlayController):
2653         (WebKit::ServicesOverlayController::selectionRectsDidChange):
2654         (WebKit::ServicesOverlayController::drawSelectionHighlight):
2655         * WebProcess/WebProcess.cpp:
2656         (WebKit::WebProcess::WebProcess):
2657         (WebKit::WebProcess::initializeWebProcess):
2658         (WebKit::WebProcess::setEnabledServices):
2659         * WebProcess/WebProcess.h:
2660         (WebKit::WebProcess::hasRichContentServices):
2661         * WebProcess/WebProcess.messages.in:
2662
2663 2014-08-07  Ryuan Choi  <ryuan.choi@samsung.com>
2664
2665         [EFL] Fix several warnings of doxygen
2666         https://bugs.webkit.org/show_bug.cgi?id=135643
2667
2668         Reviewed by Gyuyoung Kim.
2669
2670         * UIProcess/API/efl/ewk_context_menu_item.h: Removed /info which is not doxygen keyword and unnecessary to the user.
2671         * UIProcess/API/efl/ewk_cookie_manager.h: Fixed parameter name.
2672         * UIProcess/API/efl/ewk_form_submission_request.h: Removed # from Eina_List because doxygen may not know the EFL structures.
2673         * UIProcess/API/efl/ewk_page_group.h: Fixed to match with parameter name.
2674         * UIProcess/API/efl/ewk_settings.h: Fixed wrong keyword and parameter name.
2675         * UIProcess/API/efl/ewk_text_checker.h: Ditto.
2676         * UIProcess/API/efl/ewk_view.h:
2677         - Used escape string for the tag.
2678         - Used @code, @endcode for media query example.
2679
2680 2014-08-07  Benjamin Poulain  <bpoulain@apple.com>
2681
2682         Get rid of INPUT_SPEECH
2683         https://bugs.webkit.org/show_bug.cgi?id=135672
2684
2685         Reviewed by Andreas Kling.
2686
2687         * Configurations/FeatureDefines.xcconfig:
2688         * PlatformGTK.cmake:
2689
2690 2014-08-07  Timothy Hatcher  <timothy@apple.com>
2691
2692         Web Inspector: Update glyphs to be more like Xcode 6
2693         https://bugs.webkit.org/show_bug.cgi?id=135705
2694
2695         Reviewed by Joseph Pecoraro.
2696
2697         * Resources/DockBottom.pdf: Added.
2698         * Resources/DockBottomLegacy.pdf: Copied from Source/WebKit/mac/Resources/Dock.pdf.
2699         * Resources/DockRight.pdf: Added.
2700         * Resources/DockRightLegacy.pdf: Copied from Source/WebKit2/Resources/DockRight.pdf.
2701         * UIProcess/mac/WebInspectorProxyMac.mm:
2702         (WebKit::WebInspectorProxy::createInspectorWindow): Use new images.
2703         * WebKit2.xcodeproj/project.pbxproj: Added new images.
2704
2705 2014-08-07  Oliver Hunt  <oliver@apple.com>
2706
2707         WebContent needs access to HSTS database due to some networking still being performed in process
2708         https://bugs.webkit.org/show_bug.cgi?id=135711
2709         <rdar://17940220>
2710
2711         Reviewed by Alexey Proskuryakov.
2712
2713         Simple patch in the same theme as the equivalent network process
2714         extension.  Provide an extension that covers the WebContent specific
2715         HSTS file and consume it on launch.
2716
2717         * Shared/WebProcessCreationParameters.cpp:
2718         (WebKit::WebProcessCreationParameters::encode):
2719         (WebKit::WebProcessCreationParameters::decode):
2720         * Shared/WebProcessCreationParameters.h:
2721         * UIProcess/WebContext.cpp:
2722         (WebKit::WebContext::createNewWebProcess):
2723         * UIProcess/WebContext.h:
2724         * UIProcess/mac/WebContextMac.mm:
2725         (WebKit::WebContext::webContentHSTSDatabasePath):
2726         * WebProcess/cocoa/WebProcessCocoa.mm:
2727         (WebKit::WebProcess::platformInitializeWebProcess):
2728
2729 2014-08-07  Gordon Sheridan  <gordon_sheridan@apple.com>
2730
2731         Clear the m_previousItem member of HistoryControllers when it matches the HistoryItem being removed.
2732         https://bugs.webkit.org/show_bug.cgi?id=135634
2733         <rdar://problem/17388461>
2734
2735         Reviewed by Brady Eidson.
2736
2737         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
2738         (WebKit::WebBackForwardListProxy::removeItem):
2739         Call WebCore::Page::clearPreviousItemFromAllPages() for each item removed from
2740         the back/forward list to ensure the page URL is released from IconDatabase.
2741
2742 2014-08-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2743
2744         [GTK] Use WebKitNavigationAction also for WebKitNavigationPolicyDecision
2745         https://bugs.webkit.org/show_bug.cgi?id=135695
2746
2747         Reviewed by Gustavo Noronha Silva.
2748
2749         WebKitNavigationAction was introduced to extend WebKitWebView::create signal
2750         and its API is mostly duplicated in WebKitNavigationPolicyDecision.
2751         Use WebKitNavigationAction insternally in WebKitNavigationPolicyDecision and
2752         deprecated all the duplicated API in favor of a single property navigation-action.
2753
2754         * UIProcess/API/gtk/WebKitDefines.h: Remove unused macro
2755         WEBKIT_OBSOLETE and add WEBKIT_DEPRECATED and WEBKIT_DEPRECATED_FOR.
2756         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
2757         (_WebKitNavigationPolicyDecisionPrivate::~_WebKitNavigationPolicyDecisionPrivate):
2758         Free the WebKitNavigationAction.
2759         (webkitNavigationPolicyDecisionGetProperty): Add getter for
2760         navigation-action and use WebKitNavigationAction in all other getters.
2761         (webkit_navigation_policy_decision_class_init): Add navigation-action
2762         property and deprecated all others except frame-name.
2763         (webkit_navigation_policy_decision_get_navigation_action): Return the WebKitNavigationAction.
2764         (webkit_navigation_policy_decision_get_navigation_type): Use WebKitNavigationAction.
2765         (webkit_navigation_policy_decision_get_mouse_button): Ditto.
2766         (webkit_navigation_policy_decision_get_modifiers): Ditto.
2767         (webkit_navigation_policy_decision_get_request): Ditto.
2768         (webkitNavigationPolicyDecisionCreate):
2769         (webkitNewWindowPolicyDecisionCreate):
2770         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h:
2771         * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
2772         * UIProcess/API/gtk/WebKitPolicyClient.cpp: Use a custom
2773         PolicyClient class so that we receive a NavigationActionData in
2774         the callbacks.
2775         (attachPolicyClientToView):
2776         (toWebKitNavigationType): Deleted.
2777         (decidePolicyForNavigationAction): Deleted.
2778         (decidePolicyForNewWindowAction): Deleted.
2779         (decidePolicyForResponse): Deleted.
2780         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
2781         (webkitResponsePolicyDecisionCreate):
2782         * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
2783         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
2784         deprecated symbols.
2785         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2786
2787 2014-08-06  Antti Koivisto  <antti@apple.com>
2788
2789         Move Soup specific code out of WebCoreArgumentCoders.cpp
2790         https://bugs.webkit.org/show_bug.cgi?id=135665
2791
2792         Reviewed by Anders Carlsson.
2793
2794         * Shared/WebCoreArgumentCoders.cpp:
2795         (IPC::ArgumentCoder<ResourceRequest>::encode):
2796         (IPC::ArgumentCoder<ResourceRequest>::decode):
2797         (IPC::ArgumentCoder<ResourceError>::encode):
2798         (IPC::ArgumentCoder<ResourceError>::decode):
2799         * Shared/WebCoreArgumentCoders.h:
2800         
2801             Soup is the only client for this code. Move it to *Soup.cpp
2802
2803         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
2804         (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
2805         (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
2806         (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
2807         (IPC::ArgumentCoder<ResourceError>::decodePlatformData):
2808
2809 2014-08-06  Tim Horton  <timothy_horton@apple.com>
2810
2811         Services overlay flashes a lot; should have some hysteresis before showing overlay
2812         https://bugs.webkit.org/show_bug.cgi?id=135683
2813         <rdar://problem/16878039>
2814
2815         Reviewed by Simon Fraser.
2816
2817         Don't show the highlight until it's been 200ms since the last change
2818         in selection or change in which highlight is hovered, whichever was more recent.
2819
2820         * WebProcess/WebPage/ServicesOverlayController.h:
2821         * WebProcess/WebPage/mac/ServicesOverlayController.mm:
2822         (WebKit::ServicesOverlayController::ServicesOverlayController):
2823         (WebKit::ServicesOverlayController::selectionRectsDidChange):
2824         Keep track of when the selection last changed.
2825
2826         (WebKit::ServicesOverlayController::drawTelephoneNumberHighlightIfVisible):
2827         Make establishHoveredTelephoneHighlight take a bool instead of Boolean.
2828
2829         (WebKit::ServicesOverlayController::mouseIsOverHighlight):
2830         Factor mouseIsOverHighlight out of establishHoveredTelephoneHighlight and drawHighlight.
2831
2832         (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
2833         Return the amount of time until the highlight should be shown; this is
2834         the maximum of (the difference between the last selection change and the timeout)
2835         and (the difference between the last change in which highlight is hovered and the timeout).
2836
2837         Telephone number highlights are shown immediately, because they are already stable
2838         by virtue of being expanded to include the entire telephone number.
2839
2840         (WebKit::ServicesOverlayController::repaintHighlightTimerFired):
2841         (WebKit::ServicesOverlayController::drawHighlight):
2842         If the highlight shouldn't be shown yet (because we haven't hit the two timeouts),
2843         schedule a timer to repaint us around when we will hit the timeouts.
2844
2845         (WebKit::ServicesOverlayController::establishHoveredTelephoneHighlight):
2846         (WebKit::ServicesOverlayController::mouseEvent):
2847         Don't allow mouseUp to trigger the menu if we shouldn't be showing the overlay yet.
2848
2849 2014-08-06  Simon Fraser  <simon.fraser@apple.com>
2850
2851         [iOS WK2] www.france24.com doesn't always load the page, sections stay white
2852         https://bugs.webkit.org/show_bug.cgi?id=135684
2853         <rdar://problem/17931712>
2854
2855         Reviewed by Tim Horton.
2856         
2857         It's possible for a UIScrollView for overflow to move between one scrolling tree node
2858         and another. When this happens, we need to avoid unconditionally clearing the delegate
2859         on the node that's being destroyed, because the new node will already have set the
2860         UIScrollView delegate to its own delegate.
2861
2862         * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
2863         (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS):
2864
2865 2014-08-06  Dean Jackson  <dino@apple.com>
2866
2867         ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
2868         https://bugs.webkit.org/show_bug.cgi?id=135675
2869
2870         Reviewed by Sam Weinig.
2871
2872         * Configurations/FeatureDefines.xcconfig:
2873
2874 2014-08-06  Brady Eidson and Jeffrey Pfau <beidson@apple.com>
2875
2876         IDB transactions never reset if the Web Process ends before cleaning up
2877         https://bugs.webkit.org/show_bug.cgi?id=135218
2878
2879         Reviewed by Darin Adler and David Kilzer.
2880
2881         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
2882         (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
2883         (WebKit::DatabaseToWebProcessConnection::didReceiveSyncMessage): Added.
2884         (WebKit::DatabaseToWebProcessConnection::didClose):
2885         * DatabaseProcess/DatabaseToWebProcessConnection.h:
2886
2887         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
2888         (WebKit::DatabaseProcessIDBConnection::resetTransactionSync): Added
2889             Wait until the reset is complete before sending the sync reply.
2890         (WebKit::DatabaseProcessIDBConnection::rollbackTransactionSync): Added.
2891             Ditto.
2892         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2893         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2894
2895         Keep track of all in progress transactions and make sure they’re cleaned up
2896         whenever a connection to a WebProcess is broken:
2897         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2898         (WebKit::UniqueIDBDatabase::unregisterConnection):
2899         (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
2900         (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
2901         (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
2902         (WebKit::UniqueIDBDatabase::didEstablishTransaction):
2903         (WebKit::UniqueIDBDatabase::didResetTransaction):
2904         (WebKit::UniqueIDBDatabase::resetAllTransactions):
2905         (WebKit::UniqueIDBDatabase::finalizeRollback):
2906         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2907
2908         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2909         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
2910
2911         Add sync versions of reset/rollback:
2912         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2913         (WebKit::WebIDBServerConnection::resetTransactionSync):
2914         (WebKit::WebIDBServerConnection::rollbackTransactionSync):
2915         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
2916
2917 2014-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2918
2919         Implement parsing for CSS scroll snap points
2920         https://bugs.webkit.org/show_bug.cgi?id=134301
2921
2922         Reviewed by Dean Jackson.
2923
2924         * Configurations/FeatureDefines.xcconfig: Added ENABLE_CSS_SCROLL_SNAP
2925
2926 2014-08-06  Andy Estes  <aestes@apple.com>
2927
2928         [iOS] Subresources referenced in converted QuickLook documents sometimes fail to load
2929         https://bugs.webkit.org/show_bug.cgi?id=135676
2930
2931         Reviewed by David Kilzer.
2932
2933         QuickLookHandle needs to stay alive in order for its NSURLProtocol to service subresource loads originating
2934         from the converted HTML document. Some of these loads happen dynamically after the main resource finishes
2935         loading, so we cannot tie the lifetime of the QuickLookHandle to that of the main resource's ResourceLoader.
2936         Instead, give ownership of the QuickLookHandle to DocumentLoader.
2937
2938         * WebProcess/Network/WebResourceLoader.cpp:
2939         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Stored the created QuickLookHandle in DocumentLoader.
2940         (WebKit::WebResourceLoader::didReceiveData): Accessed DocumentLoader's QuickLookHandle.
2941         (WebKit::WebResourceLoader::didFinishResourceLoad): Ditto.
2942         (WebKit::WebResourceLoader::didFailResourceLoad): Ditto.
2943         (WebKit::WebResourceLoader::didReceiveResource): Ditto.
2944         * WebProcess/Network/WebResourceLoader.h: Removed m_quickLookHandle.
2945
2946 2014-08-06  Filip Pizlo  <fpizlo@apple.com>
2947
2948         Merge r171389, r171495, r171508, r171510, r171605, r171606, r171611, r171614, r171763 from ftlopt.
2949
2950     2014-08-06  Mark Hahnenberg  <mhahnenberg@apple.com>
2951     
2952             Refactor our current implementation of for-in
2953             https://bugs.webkit.org/show_bug.cgi?id=134142
2954     
2955             Reviewed by Filip Pizlo.
2956     
2957             * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2958             (WebKit::JSNPObject::invalidate): Fixed an invalid ASSERT that was crashing in debug builds.
2959     
2960 2014-08-06  Alexey Proskuryakov  <ap@apple.com>
2961
2962         REGRESSION (WebKit2): iOS Safari default encoding doesn't follow system language
2963         https://bugs.webkit.org/show_bug.cgi?id=135667
2964         <rdar://problem/17862892>
2965
2966         Reviewed by Anders Carlsson.
2967
2968         * Shared/WebPreferencesDefinitions.h: Compute the actual proper default, don't
2969         hardcode it to ISO-8859-1 hoping that someone else will correct it later.
2970
2971         * Shared/WebPreferencesStore.cpp: Added an include for WebPreferencesDefinitions.h
2972         macro expansion to compile.
2973
2974         * UIProcess/WebPreferences.cpp: (WebKit::WebPreferences::createWithLegacyDefaults):
2975         Added a FIXME.
2976
2977         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
2978         We now use WKGetWebDefaultCFStringEncoding in WebCore, so it needs to be initialized.
2979
2980 2014-08-06  Adrian Perez de Castro  <aperez@igalia.com>
2981
2982         [GTK] Add support for user scripts to WebKitUserContentManager
2983         https://bugs.webkit.org/show_bug.cgi?id=134738
2984
2985         Reviewed by Carlos Garcia Campos.
2986
2987         Add support for user scripts, to complement the user style sheet
2988         support already present in WebKitUserContentManager. Most of the
2989         moving parts are already present, so this just adds a boxed type
2990         for user scripts (WebKitUserScript) and the corresponding methods
2991         to add and remove scripts from the WebKitUserContentManager.
2992
2993         * UIProcess/API/gtk/WebKitUserContent.cpp: Add a WebKitUserScript
2994         boxed type and its corresponding methods and enums.
2995         (toUserScriptInjectionTime): Needed to convert
2996         WebKitUserScriptInjectionTime values into its WebCore counterparts.
2997         (_WebKitUserScript::_WebKitUserScript): Added.
2998         (_WebKitUserScript::referenceCount): Ditto.
2999         (webkit_user_script_ref):
3000         (webkit_user_script_unref):
3001         (webkit_user_script_new):
3002         (webkitUserScriptGetUserScript): Internal method to obtain the
3003         boxed WebCore::UserScript value.
3004         * UIProcess/API/gtk/WebKitUserContent.h: Add the new public API
3005         methods.
3006         * UIProcess/API/gtk/WebKitUserContentManager.cpp: Implement the
3007         methods for adding and removing user scripts.
3008         (webkit_user_content_manager_add_script):
3009         (webkit_user_content_manager_remove_all_scripts):
3010         * UIProcess/API/gtk/WebKitUserContentManager.h: Add the new public
3011         API methods.
3012         * UIProcess/API/gtk/WebKitUserContentPrivate.h: Add the definition
3013         for the new private function.
3014         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include the
3015         new public methods in the API documentation.
3016
3017 2014-08-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3018
3019         [GTK] Be able to disable gtk2 dependency
3020         https://bugs.webkit.org/show_bug.cgi?id=135505
3021
3022         Reviewed by Gustavo Noronha Silva.
3023
3024         * PlatformGTK.cmake: Only build WebKitPluginProcess2 when
3025         ENABLE_PLUGIN_PROCESS_GTK2 is ON.
3026         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3027         (WebKit::ProcessLauncher::launchProcess): Do not try to launch
3028         WebKitPluginProcess2 executable when ENABLE_PLUGIN_PROCESS_GTK2 is OFF.
3029
3030 2014-08-05  Tim Horton  <timothy_horton@apple.com>
3031
3032         REGRESSION (r164337): Pages are sometimes cut off/oriented incorrectly after using WKThumbnailView
3033         https://bugs.webkit.org/show_bug.cgi?id=135622
3034         <rdar://problem/17202556>
3035
3036         Reviewed by Dan Bernstein.
3037
3038         In some cases (when the page changed scroll offset while thumbnailed),
3039         when transitioning back to thumbnail scale = 1, we would get the math
3040         wrong and end up with a non-identity sublayerTransform on the DrawingArea.
3041
3042         Luckily, none of this code is necessary anymore, as the only client
3043         of WKThumbnailView only uses its snapshotting mode.
3044
3045         * Shared/ImageOptions.h:
3046         Remove SnapshotOptionsRespectDrawingAreaTransform; DrawingArea no longer
3047         has a rootLayerTransform().
3048
3049         * UIProcess/WebPageProxy.cpp:
3050         (WebKit::WebPageProxy::setThumbnailScale): Deleted.
3051         * UIProcess/WebPageProxy.h:
3052         * WebProcess/WebPage/WebPage.cpp:
3053         (WebKit::WebPage::WebPage):
3054         (WebKit::WebPage::scaledSnapshotWithOptions):
3055         (WebKit::WebPage::snapshotAtSize):
3056         
3057         (WebKit::WebPage::setThumbnailScale): Deleted.
3058         * WebProcess/WebPage/WebPage.h:
3059         * WebProcess/WebPage/WebPage.messages.in:
3060         Remove setThumbnailScale and SnapshotOptionsRespectDrawingAreaTransform.
3061
3062         * WebProcess/WebPage/WebPage.cpp:
3063         (WebKit::WebPage::didCommitLoad):
3064         Revert this to its state before r164337, as we no longer have "thumbnail scale".
3065
3066         * UIProcess/API/Cocoa/_WKThumbnailView.h:
3067         * UIProcess/API/Cocoa/_WKThumbnailView.mm:
3068         (-[_WKThumbnailView initWithFrame:fromWKView:]):
3069         (-[_WKThumbnailView _viewWasUnparented]):
3070         (-[_WKThumbnailView _viewWasParented]):
3071         (-[_WKThumbnailView _requestSnapshotIfNeeded]):
3072         (-[_WKThumbnailView setScale:]):
3073         Clean up code assuming _shouldApplyThumbnailScale = NO, _usesSnapshot = YES.
3074
3075         (-[_WKThumbnailView setUsesSnapshot:]):
3076         (-[_WKThumbnailView usesSnapshot]):
3077         Always return YES from usesSnapshot; we only support snapshotting WKThumbnailViews.
3078         Ignore setUsesSnapshot.
3079
3080         * UIProcess/API/mac/WKView.mm:
3081         (-[WKView _setThumbnailView:]):
3082         (-[WKView _updateThumbnailViewLayer]):
3083         Stop checking usesSnapshot; it's always true.
3084
3085         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3086         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3087         (WebKit::TiledCoreAnimationDrawingArea::setRootLayerTransform): Deleted.
3088         * WebProcess/WebPage/DrawingArea.cpp:
3089         (WebKit::DrawingArea::rootLayerTransform): Deleted.
3090         * WebProcess/WebPage/DrawingArea.h:
3091         (WebKit::DrawingArea::setRootLayerTransform): Deleted.
3092         Remove rootLayerTransform() and setRootLayerTransform().
3093
3094 2014-08-05  Peyton Randolph  <prandolph@apple.com>
3095
3096         Rename MAC_LONG_PRESS feature flag to LONG_MOUSE_PRESS.
3097         https://bugs.webkit.org/show_bug.cgi?id=135276
3098
3099         Reviewed by Beth Dakin.
3100
3101         * Configurations/FeatureDefines.xcconfig:
3102
3103 2014-08-04  Andy Estes  <aestes@apple.com>
3104
3105         [iOS] The raw bytes of an iWork document's PDF preview are displayed rather than the PDF itself
3106         https://bugs.webkit.org/show_bug.cgi?id=135596
3107
3108         Reviewed by David Kilzer.
3109
3110         * WebProcess/Network/WebResourceLoader.cpp:
3111         (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): If the response will be handled by
3112         QuickLook, do not call ResourceLoader::didReceiveResponse. It will be called later by
3113         WebResourceLoaderQuickLookDelegate once converted data is received.
3114
3115 2014-08-05  Alexey Proskuryakov  <ap@apple.com>
3116
3117         Build fix.
3118
3119         * UIProcess/WebContext.h:
3120
3121 2014-08-05  Oliver Hunt  <oliver@apple.com>
3122
3123         SSO expects to be able to walk parent application's bundle
3124         https://bugs.webkit.org/show_bug.cgi?id=135581
3125         <rdar://problem/17864079>
3126
3127         Reviewed by Alexey Proskuryakov.
3128
3129         SSO expects to be able to walk the parent application's
3130         bundle looking for Info plists. To allow this to actually
3131         work we provide an extension from the ui process that
3132         covers the bundle directory, and then in the profile
3133         restrict access to the ability to read directories and
3134         files named Info.plist.
3135
3136         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
3137         (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
3138         * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
3139         * Shared/Network/NetworkProcessCreationParameters.cpp:
3140         (WebKit::NetworkProcessCreationParameters::encode):
3141         (WebKit::NetworkProcessCreationParameters::decode):
3142         * Shared/Network/NetworkProcessCreationParameters.h:
3143         * UIProcess/WebContext.cpp:
3144         (WebKit::WebContext::ensureNetworkProcess):
3145         (WebKit::WebContext::parentBundleDirectory):
3146         * UIProcess/WebContext.h:
3147         * UIProcess/mac/WebContextMac.mm:
3148         (WebKit::WebContext::parentBundleDirectory):
3149
3150 2014-08-04  Benjamin Poulain  <benjamin@webkit.org>
3151
3152         Add a flag for the CSS Selectors level 4 implementation
3153         https://bugs.webkit.org/show_bug.cgi?id=135535
3154
3155         Reviewed by Andreas Kling.
3156
3157         * Configurations/FeatureDefines.xcconfig:
3158
3159 2014-08-04  Benjamin Poulain  <bpoulain@apple.com>
3160
3161         Check for null frame when processing geolocation authorization request
3162         https://bugs.webkit.org/show_bug.cgi?id=135577
3163         <rdar://problem/17896295>
3164
3165         Reviewed by Geoffrey Garen.
3166
3167         I could have put the null check in GeolocationController instead of the WebKit layer,
3168         but that would be a little weird as GeolocationController knows nothing about how
3169         the WebKit layer decides what to do with requests.
3170
3171         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
3172         (WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
3173
3174 2014-08-02  Jeremy Jones  <jeremyj@apple.com>
3175
3176         Support both window and view based video fullscreen.
3177         https://bugs.webkit.org/show_bug.cgi?id=135525
3178
3179         Reviewed by Simon Fraser.
3180
3181         Parenting in the view instead of the window gives the fullscreen implementation more latitude 
3182         in how it implements the animation.
3183
3184         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
3185         (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Use view instead of window.
3186         * WebProcess/ios/WebVideoFullscreenManager.mm:
3187         (WebKit::clientRectForNode): Use client rect instead of screen rect.
3188         (WebKit::WebVideoFullscreenManager::enterFullscreenForNode): ditto
3189         (WebKit::WebVideoFullscreenManager::exitFullscreenForNode): ditto
3190         (WebKit::screenRectForNode): Deleted.
3191
3192 2014-08-01  Dan Bernstein  <mitz@apple.com>
3193
3194         <rdar://problem/17891752> [iOS] WebKit links against libraries it doesn’t use
3195         https://bugs.webkit.org/show_bug.cgi?id=135536
3196
3197         Reviewed by Tim Horton.
3198
3199         * Configurations/WebKit.xcconfig: Removed -lassertion_extension and -framework MobileAsset
3200         from FRAMEWORK_AND_LIBRARY_LDFLAGS_iphonesimulator.
3201
3202 2014-08-01  Joseph Pecoraro  <pecoraro@apple.com>
3203
3204         [iOS WK2] Add extension read permission to network sandbox profile
3205         <rdar://problem/17671574>
3206
3207         Reviewed by Alexey Proskuryakov and Oliver Hunt.
3208
3209         * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
3210
3211 2014-08-01  Oliver Hunt  <oliver@apple.com>
3212
3213         Various frameworks may want to use the container temp directory, so our current restrictions are too tight
3214         https://bugs.webkit.org/show_bug.cgi?id=135518
3215         <rdar://17869279>
3216
3217         Reviewed by Anders Carlsson.
3218
3219         We don't (and can't) have complete knowledge of what different frameworks
3220         will want to use the container temporary directory for, and so our
3221         current attempt to heavily restrict access is simply too tight.
3222
3223         This patch recognises this by simply giving read-write access to the
3224         entire NSTemporary() directory (e.g. $container/tmp in the general case),
3225         rather than the single sub directory we wishfully thought that we would
3226         be able to get away with.
3227
3228         * Shared/WebProcessCreationParameters.cpp:
3229         (WebKit::WebProcessCreationParameters::encode):
3230         (WebKit::WebProcessCreationParameters::decode):
3231         * Shared/WebProcessCreationParameters.h:
3232         * UIProcess/WebContext.cpp:
3233         (WebKit::WebContext::createNewWebProcess):
3234         (WebKit::WebContext::mediaCacheDirectory): Deleted.
3235         * UIProcess/WebContext.h:
3236         * UIProcess/efl/WebContextEfl.cpp:
3237         (WebKit::WebContext::containerTemporaryDirectory):
3238         (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
3239         * UIProcess/gtk/WebContextGtk.cpp:
3240         (WebKit::WebContext::containerTemporaryDirectory):
3241         (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
3242         * UIProcess/mac/WebContextMac.mm:
3243         (WebKit::WebContext::containerTemporaryDirectory):
3244         (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
3245         * WebProcess/cocoa/WebProcessCocoa.mm:
3246         (WebKit::WebProcess::platformInitializeWebProcess):
3247
3248 2014-08-01  Dan Bernstein  <mitz@apple.com>
3249
3250         <rdar://problem/17862013> REGRESSION (r169357): Disabling "allow plug-ins" doesn't stick on quit/relaunch
3251         https://bugs.webkit.org/show_bug.cgi?id=135511
3252
3253         Reviewed by Alexey Proskuryakov.
3254
3255         Since the values map in the preferences store doesn’t include values that are equal to the
3256         defaults, we need to update it when a new default is registered.
3257
3258         * UIProcess/WebPreferences.cpp:
3259         (WebKit::WebPreferences::createWithLegacyDefaults): Changed to use new member functions
3260         for registering defaults.
3261         (WebKit::WebPreferences::registerDefaultBoolValueForKey): Added. Sets an override default
3262         in the store, and sets the user default, if there is one, on top of it.
3263         (WebKit::WebPreferences::registerDefaultUInt32ValueForKey): Ditto.
3264         * UIProcess/WebPreferences.h: Declared new member functions for getting the user default
3265         value for a key.
3266
3267         * UIProcess/efl/WebPreferencesEfl.cpp:
3268         (WebKit::WebPreferences::platformGetStringUserValueForKey): Added an implementation that
3269         returns false, because the EFL port doesn’t support persistent user defaults.
3270         (WebKit::WebPreferences::platformGetBoolUserValueForKey): Ditto.
3271         (WebKit::WebPreferences::platformGetUInt32UserValueForKey): Ditto.
3272         (WebKit::WebPreferences::platformGetDoubleUserValueForKey): Ditto.
3273
3274         * UIProcess/gtk/WebPreferencesGtk.cpp:
3275         (WebKit::WebPreferences::platformGetStringUserValueForKey): Ditto for the GTK port.
3276         (WebKit::WebPreferences::platformGetBoolUserValueForKey): Ditto.
3277         (WebKit::WebPreferences::platformGetUInt32UserValueForKey): Ditto.
3278         (WebKit::WebPreferences::platformGetDoubleUserValueForKey): Ditto.
3279
3280         * UIProcess/mac/WebPreferencesMac.mm:
3281         (WebKit::WebPreferences::platformGetStringUserValueForKey): Added. Replaces
3282         setStringValueIfInUserDefaults, on which it is based.
3283         (WebKit::WebPreferences::platformGetBoolUserValueForKey): Similarly for booleans.
3284         (WebKit::WebPreferences::platformGetUInt32UserValueForKey): Similarly for integers.
3285         (WebKit::WebPreferences::platformGetDoubleUserValueForKey): Similarly for doubles.
3286         (WebKit::WebPreferences::platformInitializeStore): Changed to use the above functions.
3287
3288 2014-08-01  Brent Fulgham  <bfulgham@apple.com>
3289
3290         [Mac] Fullscreen mode for some applications shows only a black screen.
3291         https://bugs.webkit.org/show_bug.cgi?id=135493
3292         <rdar://problem/17628212>
3293
3294         Reviewed by Jer Noble.
3295
3296         In some applications, the window hosting the WKView is an InProcess layer hosting mode.
3297         The fullscreen window created by the WKFullScreenWindowController defaults to an
3298         OutOfProcess mode.
3299
3300         When this kind of mismatch is encountered, the WK2 layer in the UI process is supposed
3301         to send a message back to the WebProcess indicating that the layer hosting mode of the
3302         containing window is different, so that the WebProcess can adjust its logic accordingly.
3303         Unfortunately, the notification that this had happened was not getting sent to the
3304         WebProcess due to an optimization in window state change logic (see Bug 135509 for
3305         details).
3306
3307         The fix is to check layer hosting mode state when a WKView is added to a window, and
3308         notify the WebProcess when it needs to change state to match.
3309         
3310
3311         * UIProcess/API/mac/WKView.mm:
3312         (-[WKView viewDidMoveToWindow]): When moving to a new window, always call
3313         'layerHostingModeDidChange' to pick up any changes in the layer hosting mode.
3314
3315 2014-08-01  Carlos Garcia Campos  <cgarcia@igalia.com>
3316
3317         [CMake] GTK and EFL are using PROJECT_VERSION_PATCH to define the micro version
3318         https://bugs.webkit.org/show_bug.cgi?id=135501
3319
3320         Reviewed by Gyuyoung Kim.
3321
3322         Use PROJECT_VERSION_MICRO instead.
3323
3324         * UIProcess/API/efl/EWebKit2.h.in:
3325         * UIProcess/API/gtk/WebKitVersion.h.in:
3326
3327 2014-08-01  Carlos Garcia Campos  <cgarcia@igalia.com>
3328
3329         Unreviewed. Add missing sections to documentation.
3330
3331         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
3332         WebKitUserContent and WebKitUserContentManager sections to the
3333         documentation.
3334
3335 2014-08-01  Ryuan Choi  <ryuan.choi@samsung.com>
3336
3337         [EFL] Unable to do make install since r171901
3338         https://bugs.webkit.org/show_bug.cgi?id=135497
3339
3340         Reviewed by Gyuyoung Kim.
3341
3342         * PlatformEfl.cmake: Removed ewk_defins.h from the installation list.
3343
3344 2014-07-31  Ryuan Choi  <ryuan.choi@samsung.com>
3345
3346         [EFL][WK2] MiniBrower comes to crash when combo box is pressed
3347         https://bugs.webkit.org/show_bug.cgi?id=135378
3348
3349         Reviewed by Gyuyoung Kim.
3350
3351         Added doxygen comment of popup_menu_show/popup_menu_hide not to confuse the usage.
3352
3353         * UIProcess/API/efl/ewk_view.h:
3354
3355 2014-07-31  Ryuan Choi  <ryuan.choi@samsung.com>
3356
3357         [EFL] remove ewk_defines.h
3358         https://bugs.webkit.org/show_bug.cgi?id=135456
3359
3360         Reviewed by Gyuyoung Kim.
3361
3362         * UIProcess/API/efl/ewk_context_menu.h:
3363         * UIProcess/API/efl/ewk_context_menu_item.h: Moved the declaration from ewk_defines.h
3364         * UIProcess/API/efl/ewk_defines.h: Removed.
3365
3366 2014-07-31  Brent Fulgham  <bfulgham@apple.com>
3367
3368         Unreviewed typo correction.
3369         https://bugs.webkit.org/show_bug.cgi?id=135482
3370
3371         Rename '_fullScreenIsEnabled' -> '_fullScreenEnabled'
3372
3373         * UIProcess/API/Cocoa/WKPreferences.mm:
3374         (-[WKPreferences _fullScreenEnabled]): Added
3375         (-[WKPreferences _fullScreenIsEnabled]): Deleted.
3376         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
3377
3378 2014-07-31  Brent Fulgham  <bfulgham@apple.com>
3379
3380         MiniBrowser Should Support Fullscreen Videos in WebKit2 Mode
3381         https://bugs.webkit.org/show_bug.cgi?id=135482
3382
3383         Reviewed by Simon Fraser.
3384         
3385         Add accessors for the missing Fullscreen API so that MiniBrowser
3386         can use them.
3387
3388         * UIProcess/API/Cocoa/WKPreferences.mm:
3389         (-[WKPreferences _fullScreenIsEnabled]): Added.
3390         (-[WKPreferences _setFullScreenEnabled:]): Added.
3391         * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Add accessor for
3392         Fullscreen mode.
3393
3394 2014-07-31  Beth Dakin  <bdakin@apple.com>
3395
3396         Hit-testing broken in WebKit 1 views with AppKit's contentInsets
3397         https://bugs.webkit.org/show_bug.cgi?id=135434
3398         -and corresponding-
3399         <rdar://problem/17850323>
3400
3401         Reviewed by Benjamin Poulain.
3402
3403         Re-named functions.
3404         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3405         (WebKit::PDFPlugin::convertFromScrollbarToContainingView):
3406         (WebKit::PDFPlugin::convertFromContainingViewToScrollbar):
3407
3408 2014-07-31  Oliver Hunt  <oliver@apple.com>
3409
3410         Various SSO services need the networking process to be able to spoof its bundle id
3411         https://bugs.webkit.org/show_bug.cgi?id=135468
3412         <rdar://problem/17864139>
3413
3414         Reviewed by Alexey Proskuryakov.
3415
3416         Just add the entitlement required to allow the sandbox to let this happen.
3417
3418         * Configurations/Network-iOS.entitlements:
3419
3420 2014-07-31  Przemyslaw Kuczynski  <p.kuczynski@samsung.com>
3421
3422         Fix uninitialized scalar variable
3423         https://bugs.webkit.org/show_bug.cgi?id=135461
3424
3425         Reviewed by Alexey Proskuryakov.
3426
3427         If fopen fails, returned ApplicationMemoryStats structure will be uninitialized
3428
3429         * Shared/linux/WebMemorySamplerLinux.cpp:
3430         (WebKit::sampleMemoryAllocatedForApplication): Initialized applicationStats.
3431
3432 2014-07-31  Rohit Kumar  <kumar.rohit@samsung.com>
3433
3434         Clean up the WebKit build from unused parameter warning in Webkit2/WebProcess module
3435         https://bugs.webkit.org/show_bug.cgi?id=135413
3436
3437         Reviewed by Darin Adler.
3438
3439         * WebProcess/OriginData/WebOriginDataManager.cpp:
3440         (WebKit::WebOriginDataManager::getOrigins):
3441         (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
3442         (WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates):
3443         (WebKit::WebOriginDataManager::deleteAllEntries):