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