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