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