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