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