Unreviewed, rolling out r190689
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2015-10-09  Myles C. Maxfield  <mmaxfield@apple.com>
2
3         Unreviewed, rolling out r190689
4         https://bugs.webkit.org/show_bug.cgi?id=149992
5
6         Fixed in other repository.
7
8         Reverted changesets:
9
10         "Unreviewed, rolling out r190572, r190593, r190594, and r190639."
11         https://bugs.webkit.org/show_bug.cgi?id=149897
12
13 2015-10-09  Beth Dakin  <bdakin@apple.com>
14
15         Rubber-stamped by Anders Carlsson.
16
17         Remove unnecessary includes.
18         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
19         * WebProcess/Plugins/Plugin.h:
20         * WebProcess/Plugins/PluginProxy.h:
21         * WebProcess/Plugins/PluginView.h:
22         * WebProcess/WebPage/mac/WebPageMac.mm:
23
24 2015-10-09  Beth Dakin  <bdakin@apple.com>
25
26         Build fix.
27
28         * CMakeLists.txt:
29         * Shared/API/APIHitTestResult.cpp: Removed.
30         * Shared/API/APIHitTestResult.h: Removed.
31         * WebKit2.xcodeproj/project.pbxproj:
32
33 2015-10-09  Beth Dakin  <bdakin@apple.com>
34
35         Build fix.
36
37         * UIProcess/API/APIHitTestResult.cpp: Copied from Shared/API/APIHitTestResult.cpp.
38         * UIProcess/API/APIHitTestResult.h: Copied from Shared/API/APIHitTestResult.h.
39         * UIProcess/mac/PageClientImpl.mm:
40
41 2015-10-09  Beth Dakin  <bdakin@apple.com>
42
43         WKWebView needs SPI to customize immediate actions
44         https://bugs.webkit.org/show_bug.cgi?id=149939
45         -and corresponding-
46         rdar://problem/20016849
47
48         Reviewed by Anders Carlsson.
49
50         This patch breaks WebHitTestResult into two files. WebHiTestResultData 
51         continues to live in the WebKit namespace and contains the old 
52         WebHitTestResult::Data struct. The rest of WebHitTestResult is now 
53         API::HitTestResult. The patch also adds _WKHitTestResult as Obj-C API to wrap 
54         API::HitTestResult.
55
56         Attempt to keep other ports happy with new files.
57         * CMakeLists.txt:
58
59         WebKit::WebHitTestResult no longer contains the Data struct and is now called 
60         API::HitTestResult.
61         * Shared/API/APIHitTestResult.cpp: Copied from Shared/WebHitTestResult.cpp.
62         (API::HitTestResult::create):
63         (WebKit::WebHitTestResult::create): Deleted.
64         (WebKit::WebHitTestResult::Data::Data): Deleted.
65         (WebKit::WebHitTestResult::Data::~Data): Deleted.
66         (WebKit::WebHitTestResult::Data::encode): Deleted.
67         (WebKit::WebHitTestResult::Data::decode): Deleted.
68         (WebKit::WebHitTestResult::Data::platformEncode): Deleted.
69         (WebKit::WebHitTestResult::Data::platformDecode): Deleted.
70         (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): Deleted.
71         * Shared/API/APIHitTestResult.h: Copied from Shared/WebHitTestResult.h.
72         (API::HitTestResult::absoluteImageURL):
73         (API::HitTestResult::absolutePDFURL):
74         (API::HitTestResult::absoluteLinkURL):
75         (API::HitTestResult::absoluteMediaURL):
76         (API::HitTestResult::linkLabel):
77         (API::HitTestResult::linkTitle):
78         (API::HitTestResult::lookupText):
79         (API::HitTestResult::isContentEditable):
80         (API::HitTestResult::isDownloadableMedia):
81         (API::HitTestResult::HitTestResult):
82         (WebKit::WebHitTestResult::absoluteImageURL): Deleted.
83         (WebKit::WebHitTestResult::absolutePDFURL): Deleted.
84         (WebKit::WebHitTestResult::absoluteLinkURL): Deleted.
85         (WebKit::WebHitTestResult::absoluteMediaURL): Deleted.
86         (WebKit::WebHitTestResult::linkLabel): Deleted.
87         (WebKit::WebHitTestResult::linkTitle): Deleted.
88         (WebKit::WebHitTestResult::lookupText): Deleted.
89         (WebKit::WebHitTestResult::isContentEditable): Deleted.
90         (WebKit::WebHitTestResult::isDownloadableMedia): Deleted.
91         (WebKit::WebHitTestResult::WebHitTestResult): Deleted.
92
93         This is a new obj-c object that we can use for the modern immediate action 
94         API.
95         * Shared/API/Cocoa/_WKHitTestResult.h: Added.
96         * Shared/API/Cocoa/_WKHitTestResult.mm: Added.
97         (-[_WKHitTestResult dealloc]):
98         (-[_WKHitTestResult absoluteImageURL]):
99         (-[_WKHitTestResult absolutePDFURL]):
100         (-[_WKHitTestResult absoluteLinkURL]):
101         (-[_WKHitTestResult absoluteMediaURL]):
102         (-[_WKHitTestResult linkLabel]):
103         (-[_WKHitTestResult linkTitle]):
104         (-[_WKHitTestResult lookupText]):
105         (-[_WKHitTestResult isContentEditable]):
106         (-[_WKHitTestResult elementBoundingBox]):
107         (-[_WKHitTestResult copyWithZone:]):
108         (-[_WKHitTestResult _apiObject]):
109
110         _WKHitTestResult wraps API::HitTestResult.
111         * Shared/API/Cocoa/_WKHitTestResultInternal.h: Added.
112         (API::wrapper):
113         * Shared/Cocoa/APIObject.mm:
114         (API::Object::newObject):
115
116         Since we want to use the same enum name for the new enum, use a #define instead of a typedef in the old C SPI. This should keep old clients working in the meantime.
117         * Shared/API/c/WKImmediateActionTypes.h:
118
119         WebHitTestResult::Data is now WebHitTestResultData.
120         * Shared/ContextMenuContextData.h:
121         (WebKit::ContextMenuContextData::webHitTestResultData):
122         (WebKit::ContextMenuContextData::selectedText):
123
124         Remove WebHitTestResult, and add WebHitTestResultData for the Data struct.
125         * Shared/WebHitTestResult.cpp: Removed.
126         * Shared/WebHitTestResult.h: Removed.
127         * Shared/WebHitTestResultData.cpp: Added.
128         (WebKit::WebHitTestResultData::WebHitTestResultData):
129         (WebKit::WebHitTestResultData::~WebHitTestResultData):
130         (WebKit::WebHitTestResultData::encode):
131         (WebKit::WebHitTestResultData::decode):
132         (WebKit::WebHitTestResultData::platformEncode):
133         (WebKit::WebHitTestResultData::platformDecode):
134         (WebKit::WebHitTestResultData::elementBoundingBoxInWindowCoordinates):
135         * Shared/WebHitTestResultData.h: Added.
136         * Shared/mac/WebHitTestResult.mm: Removed.
137         * Shared/mac/WebHitTestResultData.mm: Copied from Shared/mac/WebHitTestResult.mm.
138         (WebKit::WebHitTestResultData::platformEncode):
139         (WebKit::WebHitTestResultData::platformDecode):
140         (WebKit::WebHitTestResult::Data::platformEncode): Deleted.
141         (WebKit::WebHitTestResult::Data::platformDecode): Deleted.
142
143         WebHitTestResult::Data is now WebHitTestResultData.
144         * UIProcess/API/APIContextMenuClient.h:
145         (API::ContextMenuClient::~ContextMenuClient):
146         (API::ContextMenuClient::getContextMenuFromProposedMenu):
147         (API::ContextMenuClient::customContextMenuItemSelected):
148         (API::ContextMenuClient::contextMenuDismissed):
149         (API::ContextMenuClient::showContextMenu):
150
151         WebHitTestResult is now WebHitTestResult
152         * UIProcess/API/APIUIClient.h:
153         (API::UIClient::runJavaScriptPrompt):
154         (API::UIClient::setStatusText):
155         (API::UIClient::mouseDidMoveOverElement):
156         (API::UIClient::unavailablePluginButtonClicked):
157         (API::UIClient::pinnedStateDidChange):
158         (API::UIClient::didBeginTrackingPotentialLongMousePress):
159         (API::UIClient::didRecognizeLongMousePress):
160         (API::UIClient::didCancelTrackingPotentialLongMousePress):
161         * UIProcess/API/C/WKAPICast.h:
162         * UIProcess/API/C/WKHitTestResult.cpp:
163         (WKHitTestResultGetTypeID):
164         (WKHitTestResultCopyAbsoluteImageURL):
165         * UIProcess/API/C/WKPage.cpp:
166         (WKPageSetPageContextMenuClient):
167         (WKPageSetPageUIClient):
168
169         New WKWebView SPI _immediateActionAnimationControllerForHitTestResult
170         * UIProcess/API/Cocoa/WKViewPrivate.h:
171         * UIProcess/API/Cocoa/WKWebView.mm:
172         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
173
174         Attempts to keep other ports happy with the re-name.
175         * UIProcess/API/efl/WebAccessibility.cpp:
176         * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
177         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
178         (webkit_hit_test_result_class_init):
179         (webkitHitTestResultCreate):
180         (stringIsEqualToCString):
181         (webkitHitTestResultCompare):
182         * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
183         * UIProcess/API/gtk/WebKitUIClient.cpp:
184         * UIProcess/API/gtk/WebKitWebView.cpp:
185         (webkitWebViewMakePermissionRequest):
186         (webkitWebViewMouseTargetChanged):
187         (contextMenuDismissed):
188         (webkitWebViewPopulateContextMenu):
189         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
190
191         Re-name, and just use uint32_t for the old SPI.
192         * UIProcess/API/mac/WKView.mm:
193         (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
194         (-[WKView _setDidMoveSwipeSnapshotCallback:]):
195         (-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
196         * UIProcess/API/mac/WKViewInternal.h:
197
198         PageClient will figure out whether to call into WKWebView or WKView for this 
199         SPI.
200         * UIProcess/PageClient.h:
201         * UIProcess/WebPageProxy.cpp:
202         (WebKit::WebPageProxy::immediateActionAnimationControllerForHitTestResult):
203         * UIProcess/WebPageProxy.h:
204         * UIProcess/mac/PageClientImpl.h:
205         * UIProcess/mac/PageClientImpl.mm:
206         (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult):
207
208         WebKit::WebHitTestResult::Data is now WebKit::WebHitTestResultData.
209         * UIProcess/WebPageProxy.messages.in:
210
211         WKImmediateActionController calls through to WebPageProxy which calls to 
212         PageClient, which figures out which API to call. Also cache the type as a 
213         uint32_t
214         * UIProcess/mac/WKImmediateActionController.h:
215         * UIProcess/mac/WKImmediateActionController.mm:
216         (-[WKImmediateActionController _updateImmediateActionItem]):
217
218         WebHitTestResult::Data is now WebHitTestResultData.
219         * UIProcess/mac/WebPageProxyMac.mm:
220         (WebKit::WebPageProxy::platformInitializeShareMenuItem):
221
222         New files!
223         * WebKit2.xcodeproj/project.pbxproj:
224
225         Deal with the #define situation for the enum.
226         * WebKit2Prefix.h:
227
228         New names for things. WebHitTestResult::Data -> WebHitTestResultData
229         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
230         * WebProcess/Plugins/PDF/PDFPlugin.h:
231         * WebProcess/Plugins/PDF/PDFPlugin.mm:
232         (WebKit::pointInLayoutSpaceForPointInWindowSpace):
233         (WebKit::PDFPlugin::lookupTextAtLocation):
234         * WebProcess/Plugins/Plugin.h:
235         * WebProcess/Plugins/PluginProxy.h:
236         * WebProcess/Plugins/PluginView.h:
237         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
238         (WebKit::WebChromeClient::mouseDidMoveOverElement):
239         (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress):
240         * WebProcess/WebPage/mac/WebPageMac.mm:
241         (WebKit::WebPage::performImmediateActionHitTestAtLocation):
242
243 2015-10-09  Anders Carlsson  <andersca@apple.com>
244
245         Remove two unused WKFrame functions
246         https://bugs.webkit.org/show_bug.cgi?id=149958
247
248         Reviewed by Dan Bernstein.
249
250         * UIProcess/API/C/WKFrame.cpp:
251         (WKFrameCopyChildFrames): Deleted.
252         (WKFrameGetParentFrame): Deleted.
253         * UIProcess/API/C/WKFrame.h:
254
255 2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>
256
257         Format string issues in NetworkCache.cpp
258         https://bugs.webkit.org/show_bug.cgi?id=149867
259
260         Reviewed by Csaba Osztrogonác.
261
262         Cast enums to ints before printing them to placate GCC's -Wformat.
263
264         * NetworkProcess/cache/NetworkCache.cpp:
265         (WebKit::NetworkCache::Cache::retrieve):
266         (WebKit::NetworkCache::Cache::store):
267
268 2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>
269
270         Format string issue in WebResourceLoadScheduler.cpp
271         https://bugs.webkit.org/show_bug.cgi?id=149868
272
273         Reviewed by Csaba Osztrogonác.
274
275         Cast enums to ints before printing them to placate GCC's -Wformat.
276
277         * WebProcess/Network/WebResourceLoadScheduler.cpp:
278         (WebKit::WebResourceLoadScheduler::scheduleLoad):
279
280 2015-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>
281
282         [GTK] Stop using a nested main loop for popup menus
283         https://bugs.webkit.org/show_bug.cgi?id=149920
284
285         Reviewed by Sergio Villar Senin.
286
287         WebPageProxy used to expect the popup menus to run in a nested
288         main loop and invalidated the menu right after showing it. But
289         this is no longer the case, so there's no reason to keep using
290         the nested main loop.
291
292         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
293         (WebKit::WebPopupMenuProxyGtk::~WebPopupMenuProxyGtk):
294         (WebKit::WebPopupMenuProxyGtk::cancelTracking):
295         (WebKit::WebPopupMenuProxyGtk::menuItemActivated):
296         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk): Deleted.
297         (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Deleted.
298         (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop): Deleted.
299         (WebKit::WebPopupMenuProxyGtk::menuUnmapped): Deleted.
300         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
301         (WebKit::WebPopupMenuProxyGtk::setActiveItem): Deleted.
302
303 2015-10-07  Anders Carlsson  <andersca@apple.com>
304
305         Add API for getting a group identifier from a bundle page
306         https://bugs.webkit.org/show_bug.cgi?id=149902
307
308         Reviewed by Tim Horton.
309
310         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
311         (WKBundlePageCopyGroupIdentifier):
312         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
313
314 2015-10-07  Csaba Osztrogonác  <ossy@webkit.org>
315
316         URTBF after r190678 to fix GTK and EFL builds.
317
318         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
319         (WebKit::InjectedBundle::setBundleParameters):
320         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
321         (WebKit::InjectedBundle::setBundleParameters):
322
323 2015-10-07  Commit Queue  <commit-queue@webkit.org>
324
325         Unreviewed, rolling out r190572, r190593, r190594, and
326         r190639.
327         https://bugs.webkit.org/show_bug.cgi?id=149897
328
329         Breaks Mavericks build (Requested by litherum on #webkit).
330
331         Reverted changesets:
332
333         "Allow WKRetainPtrs to be used as keys in hashing data
334         structures"
335         https://bugs.webkit.org/show_bug.cgi?id=149762
336         http://trac.webkit.org/changeset/190572
337
338         "REGRESSION(189668?): http/tests/notifications/events.html
339         flakily asserts or times out"
340         https://bugs.webkit.org/show_bug.cgi?id=149218
341         http://trac.webkit.org/changeset/190593
342
343         "Prospective Mavericks build fix."
344         http://trac.webkit.org/changeset/190594
345
346         "Post-review cleanup after r190572."
347         http://trac.webkit.org/changeset/190639
348
349 2015-10-07  Anders Carlsson  <andersca@apple.com>
350
351         Provide a way to get a WKFrameInfoRef from a WKFrameRef
352         https://bugs.webkit.org/show_bug.cgi?id=149896
353         rdar://problem/23016081
354
355         Reviewed by Dan Bernstein.
356
357         * UIProcess/API/C/WKFrame.cpp:
358         (WKFrameCreateFrameInfo):
359         * UIProcess/API/C/WKFrame.h:
360
361 2015-10-07  Anders Carlsson  <andersca@apple.com>
362
363         Add unreachable URL to _WKObservablePageState
364         https://bugs.webkit.org/show_bug.cgi?id=149893
365         <rdar://problem/23017235>
366  
367         Reviewed by Dan Bernstein.
368
369         * UIProcess/API/C/mac/WKPagePrivateMac.h:
370         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
371         (-[WKObservablePageState unreachableURL]):
372
373 2015-10-07  Anders Carlsson  <andersca@apple.com>
374
375         Add -[WKProcessPool _setObjectsForBundleParametersWithDictionary:]
376         https://bugs.webkit.org/show_bug.cgi?id=149887
377
378         Reviewed by Tim Horton.
379
380         * UIProcess/API/Cocoa/WKProcessPool.mm:
381         (-[WKProcessPool _setObjectsForBundleParametersWithDictionary:]):
382         Copy the dictionary, archive it, and set the values on the UI side bundle parameter data struct.
383
384         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
385         Add new SPI.
386
387         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
388         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
389         (-[WKWebProcessBundleParameters setParameter:forKey:]):
390         We can just call setValue:forKey: on the dictionary; it will do the right thing if value is nil.
391
392         (-[WKWebProcessBundleParameters setParametersForKeyWithDictionary:]):
393         Enumerate the dictionary and call setValue:forKey: on each key/value pair.
394
395         * WebProcess/InjectedBundle/InjectedBundle.h:
396         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
397         (WebKit::InjectedBundle::setBundleParameter):
398         If we fail to unarchive a parameter, don't set it to null.
399
400         (WebKit::InjectedBundle::setBundleParameters):
401         Unarchive the dictionary and update the bundle parameters.
402
403         * WebProcess/WebProcess.cpp:
404         (WebKit::WebProcess::setInjectedBundleParameters):
405         Call the injected bundle.
406
407         * WebProcess/WebProcess.h:
408         * WebProcess/WebProcess.messages.in:
409         Add new message.
410
411 2015-10-06  Anders Carlsson  <andersca@apple.com>
412
413         Expose the bundle parameter object on WKBundleRef
414         https://bugs.webkit.org/show_bug.cgi?id=149860
415
416         Reviewed by Tim Horton.
417
418         * WebKit2.xcodeproj/project.pbxproj:
419         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
420         (-[WKWebProcessBundleParameters description]):
421         Add a description that includes the parameters.
422
423         * WebProcess/InjectedBundle/API/c/mac/WKBundleMac.h:
424         * WebProcess/InjectedBundle/API/c/mac/WKBundleMac.mm:
425         (WKBundleGetParameters):
426         Add getter.
427
428         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
429         (WebKit::InjectedBundle::initialize):
430         Make sure to decode the bundle parameters before calling out to the bundle.
431
432 2015-10-06  Michael Catanzaro  <mcatanzaro@igalia.com>
433
434         [GTK] Add autocleanups
435         https://bugs.webkit.org/show_bug.cgi?id=149588
436
437         Reviewed by Darin Adler.
438
439         * PlatformGTK.cmake:
440         * UIProcess/API/gtk/WebKitAutocleanups.h: Added.
441         * UIProcess/API/gtk/webkit2.h:
442         * WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionAutocleanups.h: Added.
443         * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
444
445 2015-10-06  Anders Carlsson  <andersca@apple.com>
446
447         Try to fix the 32-bit build.
448
449         * UIProcess/API/C/mac/WKPagePrivateMac.mm:
450
451 2015-10-06  Anders Carlsson  <andersca@apple.com>
452
453         WKPage needs to expose a KVO-compliant object, similar to WKWebView
454         https://bugs.webkit.org/show_bug.cgi?id=149851
455         rdar://problem/22382022
456
457         Reviewed by Dan Bernstein.
458
459         Move the PageLoadStateObserver object from WKBrowsingContextController out into a separate file and make it
460         work with any Objective-C object. Use it in WKObservablePageState and add a WKPageCreateObservableState function.
461
462         * UIProcess/API/C/mac/WKPagePrivateMac.h:
463         * UIProcess/API/C/mac/WKPagePrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKPagePrivateMac.cpp.
464         (-[WKObservablePageState initWithPage:]):
465         (-[WKObservablePageState dealloc]):
466         (-[WKObservablePageState isLoading]):
467         (-[WKObservablePageState title]):
468         (-[WKObservablePageState URL]):
469         (-[WKObservablePageState hasOnlySecureContent]):
470         (-[WKObservablePageState estimatedProgress]):
471         (WKPageCreateObservableState):
472         (WKPageGetProcessIdentifier):
473         (WKPageIsURLKnownHSTSHost):
474         * UIProcess/API/Cocoa/PageLoadStateObserver.h: Added.
475         (WebKit::PageLoadStateObserver::PageLoadStateObserver):
476         * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
477         (PageLoadStateObserver::PageLoadStateObserver): Deleted.
478         * WebKit2.xcodeproj/project.pbxproj:
479
480 2015-10-06  Daniel Bates  <dbates@webkit.org>
481
482         Enable XSLT when building WebKit for iOS using the public iOS SDK
483         https://bugs.webkit.org/show_bug.cgi?id=149827
484
485         Reviewed by Alexey Proskuryakov.
486
487         * Configurations/FeatureDefines.xcconfig:
488
489 2015-10-06  Emanuele Aina  <emanuele.aina@collabora.com>
490
491         Fix ENABLE_OPENGL=OFF builds
492         https://bugs.webkit.org/show_bug.cgi?id=146511
493
494         Reviewed by Darin Adler.
495
496         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
497         (webkitWebViewBaseRealize):
498         (webkitWebViewBaseDraw):
499         (webkitWebViewBaseDidRelaunchWebProcess):
500         Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
501         webkitWebViewRenderAcceleratedCompositingResults()
502         * UIProcess/DrawingAreaProxyImpl.cpp:
503         * UIProcess/DrawingAreaProxyImpl.h:
504         * WebProcess/WebPage/DrawingArea.cpp:
505         (WebKit::DrawingArea::DrawingArea):
506         * WebProcess/WebPage/DrawingArea.h:
507         * WebProcess/WebPage/LayerTreeHost.h:
508         Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
509         setNativeSurfaceHandleForCompositing().
510         * UIProcess/gtk/WebPreferencesGtk.cpp:
511         (WebKit::WebPreferences::platformInitializeStore):
512         Default to no AC if no GL support has been built.
513         * WebProcess/WebPage/DrawingArea.messages.in:
514         Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
515         SetNativeSurfaceHandleForCompositing.
516         * WebProcess/WebPage/DrawingAreaImpl.h:
517         * WebProcess/WebPage/DrawingAreaImpl.cpp:
518         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
519         Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
520         setNativeSurfaceHandleForCompositing().
521         (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
522         Force setAcceleratedCompositingEnabled() only if a LayerTreeHost
523         implementation is available, to avoid crashing when building without
524         any GL support.
525
526 2015-10-06  Csaba Osztrogonác  <ossy@webkit.org>
527
528         URTBF after r190611.
529
530         * CMakeLists.txt:
531
532 2015-10-06  Alex Christensen  <achristensen@webkit.org>
533
534         Report error when main resource is blocked by content blocker
535         https://bugs.webkit.org/show_bug.cgi?id=149719
536         rdar://problem/21970595
537
538         Reviewed by Brady Eidson.
539
540         * Shared/API/c/WKErrorRef.h:
541         * WebProcess/WebCoreSupport/WebErrors.h:
542         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
543         (WebKit::WebFrameLoaderClient::blockedError):
544         (WebKit::WebFrameLoaderClient::blockedByContentBlockerError):
545         (WebKit::WebFrameLoaderClient::cannotShowURLError):
546         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
547         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
548         (WebKit::blockedError):
549         (WebKit::blockedByContentBlockerError):
550         (WebKit::cannotShowURLError):
551         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
552         (WebKit::blockedError):
553         (WebKit::blockedByContentBlockerError):
554         (WebKit::cannotShowURLError):
555         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
556         (WebKit::blockedError):
557         (WebKit::blockedByContentBlockerError):
558         (WebKit::cannotShowURLError):
559         Make a new error type for loads that were blocked by a content blocker.
560
561 2015-10-05  Jer Noble  <jer.noble@apple.com>
562
563         [iOS] REGRESSION(r190434): Media continues to play when locking screen
564         https://bugs.webkit.org/show_bug.cgi?id=149822
565
566         Reviewed by Brent Fulgham.
567
568         Pass through isSuspendedUnderLock when notifying the WebPage that the
569         applicationWillEnterForeground, and pass that boolean in the userInfo of the
570         WebUIApplicationWillEnterForegroundNotification.
571
572         * UIProcess/ios/WebPageProxyIOS.mm:
573         (WebKit::WebPageProxy::applicationWillEnterForeground):
574         * WebProcess/WebPage/WebPage.h:
575         * WebProcess/WebPage/WebPage.messages.in:
576         * WebProcess/WebPage/ios/WebPageIOS.mm:
577         (WebKit::WebPage::applicationWillEnterForeground):
578
579 2015-10-05  Anders Carlsson  <andersca@apple.com>
580
581         Get rid of some dead code
582         https://bugs.webkit.org/show_bug.cgi?id=149825
583
584         Reviewed by Tim Horton.
585
586         * UIProcess/API/APIUIClient.h:
587         (API::UIClient::didDraw): Deleted.
588         * UIProcess/API/C/WKPage.cpp:
589         (WKPageSetPageUIClient): Deleted.
590         * UIProcess/WebPageProxy.cpp:
591         (WebKit::WebPageProxy::didDraw): Deleted.
592         * UIProcess/WebPageProxy.h:
593
594 2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>
595
596         Prospective Mavericks build fix.
597
598         Unreviewed.
599
600         * UIProcess/API/cpp/WKRetainPtr.h:
601
602 2015-10-05  Beth Dakin  <bdakin@apple.com>
603
604         Compress snapshots on iOS
605         https://bugs.webkit.org/show_bug.cgi?id=149814
606         -and corresponding-
607         rdar://problem/22976230
608
609         Reviewed by Simon Fraser.
610
611         Compress the snapshot.
612         * UIProcess/API/Cocoa/WKWebView.mm:
613         (-[WKWebView _takeViewSnapshot]):
614
615         Since the snapshots are converted to YUV asynchronously, it is possible to 
616         get here and have a snapshot that does not yet have an image, so we have to 
617         relax this constraint.
618         * UIProcess/mac/ViewSnapshotStore.mm:
619         (WebKit::ViewSnapshotStore::recordSnapshot):
620
621 2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>
622
623         Allow WKRetainPtrs to be used as keys in hashing data structures
624         https://bugs.webkit.org/show_bug.cgi?id=149762
625
626         Reviewed by Anders Carlsson.
627
628         Use RefPtr as a model.
629
630         * UIProcess/API/cpp/WKRetainPtr.h:
631         (WebKit::WKRetainPtr::WKRetainPtr):
632         (WebKit::WKRetainPtr::isHashTableDeletedValue):
633         (WebKit::WKRetainPtr::hashTableDeletedValue):
634         (WTF::HashTraits<WKRetainPtr<P>>::emptyValue):
635         (WTF::HashTraits<WKRetainPtr<P>>::peek):
636
637 2015-10-05  Enrica Casucci  <enrica@apple.com>
638
639         Cannot select certain text on Wikipedia homepage even when zoomed in.
640         https://bugs.webkit.org/show_bug.cgi?id=149758
641         rdar://problem/22407947
642
643         Reviewed by Dan Bernstein.
644
645         Several functions that handle gestures for text selection are used for both
646         editable and non editable content. When used on editable content, the point
647         where the gesture occurs needs to be constrained within the boundaries of the
648         editable element. In the WebProcess we decide whether to constrain the point or not only based
649         on the presence of the assisted node.
650         That unfortunately does not guarantee that the user is actually editing the element,
651         but only that the element is focused. Since the knowledge about the interaction exists reliably
652         in the UI process, this patch adds a parameter to each gesture handler that tries to clip
653         the point, to indicate whether the user is actually interacting with the element so that
654         in the WebProcess the assisted node information can be used to constrain the point.
655
656         * UIProcess/WebPageProxy.h:
657         (WebKit::WebPageProxy::deviceOrientation):
658         * UIProcess/ios/WKContentViewInteraction.mm:
659         (-[WKContentView _isInteractingWithAssistedNode]):
660         (-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
661         (-[WKContentView selectPositionAtPoint:completionHandler:]):
662         (-[WKContentView selectPositionAtBoundary:inDirection:fromPoint:completionHandler:]):
663         (-[WKContentView selectTextWithGranularity:atPoint:completionHandler:]):
664         (-[WKContentView updateSelectionWithExtentPoint:completionHandler:]):
665         (-[WKContentView updateSelectionWithExtentPoint:withBoundary:completionHandler:]):
666         * UIProcess/ios/WebPageProxyIOS.mm:
667         (WebKit::WebPageProxy::selectWithGesture):
668         (WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
669         (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
670         (WebKit::WebPageProxy::selectPositionAtPoint):
671         (WebKit::WebPageProxy::updateSelectionWithExtentPoint):
672         (WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
673         * WebProcess/WebPage/WebPage.h:
674         * WebProcess/WebPage/WebPage.messages.in:
675         * WebProcess/WebPage/ios/WebPageIOS.mm:
676         (WebKit::WebPage::selectWithGesture):
677         (WebKit::WebPage::visiblePositionInFocusedNodeForPoint):
678         (WebKit::WebPage::selectPositionAtPoint):
679         (WebKit::WebPage::selectPositionAtBoundaryWithDirection):
680         (WebKit::WebPage::rangeForGranularityAtPoint):
681         (WebKit::WebPage::selectTextWithGranularityAtPoint):
682         (WebKit::WebPage::updateSelectionWithExtentPointAndBoundary):
683         (WebKit::WebPage::updateSelectionWithExtentPoint):
684
685 2015-10-05  Antti Koivisto  <antti@apple.com>
686
687         Remove CancelResourceLoader message
688         https://bugs.webkit.org/show_bug.cgi?id=149801
689
690         Reviewed by Andreas Kling.
691
692         It has no clients.
693
694         * WebProcess/Network/WebResourceLoader.cpp:
695         (WebKit::WebResourceLoader::messageSenderDestinationID):
696         (WebKit::WebResourceLoader::detachFromCoreLoader):
697         (WebKit::WebResourceLoader::cancelResourceLoader): Deleted.
698         * WebProcess/Network/WebResourceLoader.h:
699         * WebProcess/Network/WebResourceLoader.messages.in:
700
701 2015-10-03  Ricky Mondello  <rmondello@apple.com>
702
703         "Plug-in is blocked" message doesn't draw correctly
704         https://bugs.webkit.org/show_bug.cgi?id=149741
705         <rdar://problem/22920949>
706
707         Patch by Conrad Shultz and Ricky Mondello.
708
709         Reviewed by Anders Carlsson.
710
711         If a WebKit client sets plug-in X to not be visible to the web, that doesn't mean we shouldn't consult
712         that plug-in when determining what kind of object type an object is. Properly classifying a non-web-visible
713         Netscape plug-in as such allows its bounds to properly measured, allowing it to be drawn properly.
714
715         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
716         (WebKit::WebFrameLoaderClient::objectContentType): Use PluginData's supportsMimeType, rather than its
717             supportsWebVisibleMimeType, when determining the ObjectContentType for a MIME type on a url.
718
719 2015-10-02  Enrica Casucci  <enrica@apple.com>
720
721         Text selection is inaccurate in Wikipedia pages when starting navigation from wikipedia.org.
722         https://bugs.webkit.org/show_bug.cgi?id=149756
723         rdar://problem/22332409
724
725         Reviewed by Tim Horton.
726
727         When loading a new document into the same WebPage object, we need
728         to clear the assisted node, since there is no guarantee that the
729         node will be blurred. The bug is caused by the use of a stale
730         assisted node to constrain the point where the gesture occurs.
731         A fix for this problem was landed in http://trac.webkit.org/changeset/179885
732         where the cleanup was added when FrameLoaderClient::detach2 was called.
733         This method doesn't seem to be called any longer for the main frame,
734         so the correct solution is to add the cleanup to didCommitLoad in WebPage.
735         I've also added some checks to webSelectionsRects and selectedTextRange to avoid
736         the use of postLayoutData when the selection is none.
737
738         * UIProcess/ios/WKContentViewInteraction.mm:
739         (-[WKContentView webSelectionRects]):
740         (-[WKContentView selectedTextRange]):
741         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
742         (WebKit::WebFrameLoaderClient::detachedFromParent2): Removed call to resetAssistedNodeForFrame.
743         * WebProcess/WebPage/WebPage.cpp:
744         (WebKit::WebPage::didCommitLoad): Added call to resetAssistedNodeForFrame.
745
746 2015-10-02  Alex Christensen  <achristensen@webkit.org>
747
748         Reloading without content blockers doesn't apply to resource loads after the main frame finishes
749         https://bugs.webkit.org/show_bug.cgi?id=149430
750         rdar://problem/22742222
751
752         Reviewed by Geoffrey Garen.
753
754         * WebProcess/WebPage/WebPage.cpp:
755         (WebKit::WebPage::createDocumentLoader):
756         Copy the state of whether content extensions are disabled from the Page to the DocumentLoader
757         when making a DocumentLoader.
758
759 2015-10-02  Antoine Quint  <graouts@apple.com>
760
761         popstate is fired at the wrong time on load
762         https://bugs.webkit.org/show_bug.cgi?id=94265
763
764         Reviewed by Darin Adler.
765
766         Ensure we have a valid page before trying to get to its drawingArea as this could lead
767         to a crash as observed with fast/loader/stateobjects/pushstate-object-types.html.
768
769         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
770         (WebKit::WebFrameLoaderClient::restoreViewState):
771
772 2015-10-01  Antti Koivisto  <antti@apple.com>
773
774         Network cache: Subresource referer header wrong after cached redirect
775         https://bugs.webkit.org/show_bug.cgi?id=149709
776         rdar://problem/22917174
777
778         Reviewed by Chris Dumez.
779
780         If a main resource is loaded from a cache entry that involved redirects the document
781         will end up setting the Referer-headers of the subresources to the request URL not the redirected URL
782
783         * NetworkProcess/NetworkResourceLoader.cpp:
784         (WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
785
786             If a cache entry involved a redirect synthesize a minimal willSendRequest message so that WebCore side
787             runs through the same code paths as when receiving a redirect from network.
788
789 2015-10-01  Carlos Garcia Campos  <cgarcia@igalia.com>
790
791         [GTK] Websites with invalid auth header keep loading forever
792         https://bugs.webkit.org/show_bug.cgi?id=149710
793
794         Reviewed by Martin Robinson.
795
796         Do not show the remember credentials checkbutton in the auth
797         dialog if the realm is empty.
798
799         * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
800         (webkitAuthenticationDialogInitialize):
801
802 2015-09-30  Chris Dumez  <cdumez@apple.com>
803
804         Unreviewed, roll out r188331: "NetworkProcess: DNS prefetch happens in the Web Process"
805         <rdar://problem/22560715>
806
807         Speculative roll out of r188331 as we had a ~2.5% PLT regression around
808         the time it landed and it seems the most likely culprit. I'll reland if
809         the perf bots do not recover after the roll out.
810
811         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
812         (WebKit::storageSession): Deleted.
813         * NetworkProcess/NetworkConnectionToWebProcess.h:
814         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
815         * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
816         (webkitWebExtensionDidReceiveMessage):
817         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
818         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
819         * WebProcess/WebPage/ios/WebPageIOS.mm:
820         (WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
821         * WebProcess/WebProcess.cpp:
822         * WebProcess/WebProcess.h:
823
824 2015-09-30  Timothy Horton  <timothy_horton@apple.com>
825
826         Compute document marker rects at use time instead of paint time
827         https://bugs.webkit.org/show_bug.cgi?id=149643
828
829         Reviewed by Darin Adler.
830
831         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
832         (WebKit::WebChromeClient::didInvalidateDocumentMarkerRects):
833         * WebProcess/WebCoreSupport/WebChromeClient.h:
834         Plumb the notification about invalidated document marker rects through to FindController.
835
836         * WebProcess/WebPage/FindController.cpp:
837         (WebKit::FindController::updateFindUIAfterPageScroll):
838         Make a document-relative PageOverlay, so that we get fast scrolling.
839
840         (WebKit::FindController::rectsForTextMatchesInRect):
841         Return find hole rects in main-FrameView content coordinates, to 
842         match the document-relative page overlay.
843         We'll only return rects that intersect the passed-in rect, which
844         comes from the dirty rect passed to drawRect.
845
846         (WebKit::FindController::drawRect):
847         Inflate the dirty rect by the border width so that we hit all relevant
848         markers in each tile. Otherwise, we would end up missing the border of a marker
849         that touched the edge of a tile.
850
851         (WebKit::FindController::didInvalidateDocumentMarkerRects):
852         Repaint (for now, the entire overlay) when document marker rects change.
853
854         * WebProcess/WebPage/FindController.h:
855
856 2015-09-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
857
858         [GTK] Build error with -DENABLE_SPELLCHECK=OFF
859         https://bugs.webkit.org/show_bug.cgi?id=146904
860
861         Reviewed by Carlos Garcia Campos.
862
863         Add ifdef guards to allow building when SPELLCHECK is not enabled.
864
865         * UIProcess/gtk/TextCheckerGtk.cpp:
866         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
867         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
868         (WebKit::TextChecker::setGrammarCheckingEnabled):
869         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
870         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
871         (WebKit::TextChecker::checkSpellingOfString):
872         (WebKit::TextChecker::getGuessesForWord):
873         (WebKit::TextChecker::learnWord):
874         (WebKit::TextChecker::ignoreWord):
875         (WebKit::TextChecker::requestCheckingOfString):
876         (WebKit::TextChecker::checkTextOfParagraph):
877         (WebKit::TextChecker::setSpellCheckingLanguages):
878         (WebKit::TextChecker::loadedSpellCheckingLanguages):
879
880 2015-09-30  Gwang Yoon Hwang  <yoon@igalia.com>
881
882         [GTK] Support HiDPI Properly in WebKitGtk+ with the TextureMapper
883         https://bugs.webkit.org/show_bug.cgi?id=141782
884
885         Reviewed by Carlos Garcia Campos.
886
887         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
888         * UIProcess/gtk/RedirectedXCompositeWindow.cpp:
889
890             Modified to create scaled size of window.
891
892         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
893         (WebKit::LayerTreeHostGtk::initialize):
894         (WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
895
896             We should apply device scale factor to the root layer to apply
897             the scale matrix before applying other transform matrices.
898
899         (WebKit::LayerTreeHostGtk::deviceScaleFactor): Added.
900         (WebKit::LayerTreeHostGtk::pageScaleFactor): Added.
901
902 2015-09-29  Daniel Bates  <dabates@apple.com>
903
904         Make WebKit for iOS Simulator build with the public iOS 9 SDK
905         https://bugs.webkit.org/show_bug.cgi?id=149652
906
907         Reviewed by Simon Fraser.
908
909         * Platform/spi/ios/SafariServicesSPI.h: Add definition for SFSafariViewController.
910         * Platform/spi/ios/UIKitSPI.h: Add more SPI.
911         * WebProcess/cocoa/WebProcessCocoa.mm: Include header pthreadSPI.h.
912
913 2015-09-29  Brady Eidson  <beidson@apple.com>
914
915         Followup to "Move WebKit2 AsyncTask to WebCore CrossThreadTask."
916         https://bugs.webkit.org/show_bug.cgi?id=149651
917
918         Rubberstamped by Alex Christensen.
919
920         * DatabaseProcess/DatabaseProcess.h: CrossThreadTask is in the WebCore namespace, not WebKit.
921         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: Ditto.
922
923 2015-09-29  Brady Eidson  <beidson@apple.com>
924
925         Move WebKit2 AsyncTask to WebCore CrossThreadTask.
926         https://bugs.webkit.org/show_bug.cgi?id=149651
927
928         Reviewed by Alex Christensen.
929
930         * DatabaseProcess/DatabaseProcess.cpp:
931         (WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists):
932         (WebKit::DatabaseProcess::postDatabaseTask):
933         (WebKit::DatabaseProcess::performNextDatabaseTask):
934         (WebKit::DatabaseProcess::fetchWebsiteData):
935         (WebKit::DatabaseProcess::deleteWebsiteData):
936         (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
937         * DatabaseProcess/DatabaseProcess.h:
938         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
939         (WebKit::UniqueIDBDatabase::shutdown):
940         (WebKit::UniqueIDBDatabase::shutdownBackingStore):
941         (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
942         (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
943         (WebKit::UniqueIDBDatabase::openTransaction):
944         (WebKit::UniqueIDBDatabase::beginTransaction):
945         (WebKit::UniqueIDBDatabase::commitTransaction):
946         (WebKit::UniqueIDBDatabase::resetTransaction):
947         (WebKit::UniqueIDBDatabase::rollbackTransaction):
948         (WebKit::UniqueIDBDatabase::postTransactionOperation):
949         (WebKit::UniqueIDBDatabase::changeDatabaseVersion):
950         (WebKit::UniqueIDBDatabase::createObjectStore):
951         (WebKit::UniqueIDBDatabase::deleteObjectStore):
952         (WebKit::UniqueIDBDatabase::clearObjectStore):
953         (WebKit::UniqueIDBDatabase::createIndex):
954         (WebKit::UniqueIDBDatabase::deleteIndex):
955         (WebKit::UniqueIDBDatabase::putRecord):
956         (WebKit::UniqueIDBDatabase::getRecord):
957         (WebKit::UniqueIDBDatabase::openCursor):
958         (WebKit::UniqueIDBDatabase::cursorAdvance):
959         (WebKit::UniqueIDBDatabase::cursorIterate):
960         (WebKit::UniqueIDBDatabase::count):
961         (WebKit::UniqueIDBDatabase::deleteRange):
962         (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
963         (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
964         (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
965         (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
966         (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
967         (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
968         (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
969         (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
970         (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
971         (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
972         (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
973         (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
974         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
975         (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
976         (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
977         (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
978         (WebKit::UniqueIDBDatabase::countInBackingStore):
979         (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore):
980         (WebKit::UniqueIDBDatabase::postMainThreadTask):
981         (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
982         (WebKit::UniqueIDBDatabase::postDatabaseTask):
983         (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
984         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
985         * WebKit2.xcodeproj/project.pbxproj:
986
987 2015-09-29  Chris Dumez  <cdumez@apple.com>
988
989         Memory cache revalidations should refresh the network disk cache
990         https://bugs.webkit.org/show_bug.cgi?id=149606
991
992         Reviewed by Darin Adler.
993
994         Previously, resource revalidations triggered by the memory cache would
995         bypass the disk cache entirely because the requests are conditional. As
996         a result, when the server responds with a 304, we were unable to update
997         the headers (e.g. new expiration date) of the corresponding entry in
998         the disk cache.
999
1000         This patch updates our disk cache implementation to not bypass the disk
1001         cache when the request is conditional. Instead, we look up the cached
1002         entry and force its revalidation from the network. If the server then
1003         returns a 304, we are now able to update the headers of this cached
1004         entry. In such case though, we let the 304 response through to WebCore
1005         unlike revalidations triggered by the disk cache.
1006
1007         * NetworkProcess/NetworkResourceLoader.cpp:
1008         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
1009         * NetworkProcess/cache/NetworkCache.cpp:
1010         (WebKit::NetworkCache::makeUseDecision):
1011         (WebKit::NetworkCache::makeRetrieveDecision):
1012
1013 2015-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1014
1015         printing does not use minimum page zoom factor
1016         https://bugs.webkit.org/show_bug.cgi?id=108507
1017
1018         Reviewed by Darin Adler.
1019
1020         Add kWKSnapshotOptionsPrinting flag to indicate the snapshot
1021         should be generated in printing mode.
1022
1023         * Shared/API/c/WKImage.h:
1024         * Shared/API/c/WKSharedAPICast.h:
1025         (WebKit::toSnapshotOptions):
1026         * Shared/ImageOptions.h:
1027         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1028         (WebKit::InjectedBundle::numberOfPages): Pass the frame as a
1029         reference instead of a pointer.
1030         * WebProcess/WebPage/WebPage.cpp:
1031         (WebKit::WebPage::scaledSnapshotWithOptions): In case of printing,
1032         calculate the bitmap height based on the number of pages.
1033         (WebKit::WebPage::snapshotAtSize): In case of printing, use
1034         PrintContext::spoolAllPagesWithBoundaries() and return.
1035
1036 2015-09-28  Brent Fulgham  <bfulgham@apple.com>
1037
1038         Expose 'geometryFlipped' state for debugging/logging purposes
1039         https://bugs.webkit.org/show_bug.cgi?id=149557
1040
1041         Reviewed by Simon Fraser.
1042
1043         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1044         (WebKit::PlatformCALayerRemote::geometryFlipped): Added.
1045         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1046
1047 2015-09-28  Brady Eidson  <beidson@apple.com>
1048
1049         Add an IDB Server that can roundtrip a request back to the client.
1050         https://bugs.webkit.org/show_bug.cgi?id=149603
1051
1052         Reviewed by Alex Christensen.
1053
1054         * WebProcess/Databases/WebDatabaseProvider.h:
1055
1056 2015-09-28  Beth Dakin  <bdakin@apple.com>
1057
1058         Heavy taps on links are sometimes interpreted as the preview gesture
1059         https://bugs.webkit.org/show_bug.cgi?id=149304
1060         -and corresponding-
1061         rdar://problem/22689258
1062
1063         Rubber-stamped by Tim Horton.
1064
1065         Rolling out this patch. We should try to fix this at the UIKit-level.
1066         * UIProcess/ios/WKContentViewInteraction.h:
1067         * UIProcess/ios/WKContentViewInteraction.mm:
1068         (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
1069         (-[WKContentView _interactionStoppedFromPreviewItemController:]):
1070
1071 2015-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1072
1073         Expose a WKWebView API for allowing programmatic focus to trigger node assistance
1074         https://bugs.webkit.org/show_bug.cgi?id=149567
1075
1076         Reviewed by Darin Adler.
1077
1078         Adds an API method to WKWebView that allows clients to override the default iOS behavior of not
1079         starting node assistance when programmatically focusing. Also fixes a bug caused by naively
1080         introducing the flag where the autofocus attribute could trigger node assistance before layout
1081         occurs, causing an ASSERT to fail in EditorState::postLayoutData.
1082
1083         I fixed this issue by not assisting the node if the editor state is missing post layout data,
1084         instead deferring node assistance until layout has occurred.
1085
1086         * UIProcess/API/Cocoa/WKWebView.h:
1087         * UIProcess/API/Cocoa/WKWebView.mm:
1088         (-[WKWebView initWithFrame:configuration:]): Initializes the new node assistance flag to NO, which
1089             is the current default behavior.
1090         (-[WKWebView canAssistOnProgrammaticFocus]):
1091         (-[WKWebView setCanAssistOnProgrammaticFocus:]): New API method that allows clients to set node
1092             assistance behavior upon programmatic focus.
1093         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1094         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1095         (-[WKWebViewConfiguration init]): Added new node assistance flag to configuration.
1096         (-[WKWebViewConfiguration _canAssistOnProgrammaticFocus]):
1097         (-[WKWebViewConfiguration _setCanAssistOnProgrammaticFocus:]):
1098         * UIProcess/WebPageProxy.h: Added NodeAssistanceArguments struct.
1099         * UIProcess/ios/WKContentViewInteraction.mm:
1100         (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Do not return
1101             early if the node assistance flag is set to allow programmatic focus.
1102         * UIProcess/ios/WebPageProxyIOS.mm:
1103         (WebKit::WebPageProxy::didCommitLayerTree): After committing the layer tree, if we have deferred
1104             starting node assistance, immediately trigger node assistance.
1105         (WebKit::WebPageProxy::startAssistingNode): Defer starting node assistance if we have not yet repainted.
1106         (WebKit::WebPageProxy::stopAssistingNode): Also cancel any deferred node assistance.
1107
1108 2015-09-26  Carlos Garcia Campos  <cgarcia@igalia.com>
1109
1110         REGRESSION(r188639): [GTK] Several inspector tests started to time out in GTK+ bots after r188639
1111         https://bugs.webkit.org/show_bug.cgi?id=148569
1112
1113         Reviewed by Darin Adler.
1114
1115         * PlatformGTK.cmake: Add missing inspector files required for
1116         layout tests.
1117
1118 2015-09-25  Eric Carlson  <eric.carlson@apple.com>
1119
1120         Clean up user media request internal API
1121         https://bugs.webkit.org/show_bug.cgi?id=149527
1122
1123         Reviewed by Tim Horton.
1124
1125         * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
1126         (WKUserMediaPermissionRequestVideoDeviceUIDs): New, renamed from WKUserMediaPermissionRequestDeviceNamesVideo.
1127         (WKUserMediaPermissionRequestAudioDeviceUIDs): New, renamed from WKUserMediaPermissionRequestDeviceNamesAudio.
1128         (WKUserMediaPermissionRequestAllowBest): Deleted.
1129         (WKUserMediaPermissionRequestDeviceNamesVideo): Deleted.
1130         (WKUserMediaPermissionRequestDeviceNamesAudio): Deleted.
1131         (WKUserMediaPermissionRequestFirstVideoDeviceUID): Deleted.
1132         (WKUserMediaPermissionRequestFirstAudioDeviceUID): Deleted.
1133         * UIProcess/API/C/WKUserMediaPermissionRequest.h:
1134
1135         * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
1136         (webkitUserMediaPermissionRequestAllow): Update for UserMediaRequest API change.
1137
1138         * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
1139         (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Get rid of the bool parameters.
1140           Switch audio/video parameter order to be consistent with everywhere else.
1141         (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Ditto.
1142         * UIProcess/UserMediaPermissionRequestManagerProxy.h:
1143
1144         * UIProcess/UserMediaPermissionRequestProxy.cpp:
1145         (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): Get rid of the bool parameters.
1146           Switch audio/video parameter order to be consistent with everywhere else.
1147         (WebKit::UserMediaPermissionRequestProxy::allow): Switch audio/video parameter order.
1148         (WebKit::UserMediaPermissionRequestProxy::getDeviceNameForUID): Deleted.
1149         * UIProcess/UserMediaPermissionRequestProxy.h:
1150         (WebKit::UserMediaPermissionRequestProxy::create):
1151         (WebKit::UserMediaPermissionRequestProxy::videoDeviceUIDs):
1152         (WebKit::UserMediaPermissionRequestProxy::audioDeviceUIDs):
1153         (WebKit::UserMediaPermissionRequestProxy::firstAudioDeviceUID):
1154         (WebKit::UserMediaPermissionRequestProxy::requiresAudio): Deleted.
1155         (WebKit::UserMediaPermissionRequestProxy::requiresVideo): Deleted.
1156
1157         * UIProcess/WebPageProxy.cpp:
1158         (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): Get rid of the bool parameters.
1159           Switch audio/video parameter order to be consistent with everywhere else.
1160         * UIProcess/WebPageProxy.h: Ditto.
1161         * UIProcess/WebPageProxy.messages.in: Ditto.
1162
1163         * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
1164         (WebKit::UserMediaPermissionRequestManager::startRequest): Get rid of bool params, the device
1165           vectors have the same information.
1166         (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): Switch audio/video
1167           parameter order to be consistent with everywhere else. deviceUIDVideo -> videoDeviceUID,
1168         deviceUIDAudio -> audioDeviceUID.
1169         * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
1170
1171         * WebProcess/WebPage/WebPage.cpp:
1172         (WebKit::WebPage::didReceiveUserMediaPermissionDecision): Switch audio/video parameter order.
1173         * WebProcess/WebPage/WebPage.h:
1174
1175 2015-09-25  Simon Fraser  <simon.fraser@apple.com>
1176
1177         [iOS WK2] Add viewport tests and fix runUIScript() timing issues
1178         https://bugs.webkit.org/show_bug.cgi?id=149577
1179
1180         Reviewed by Tim Horton.
1181         
1182         When calling testRunner.runUIScript() from a page load event, the script could run
1183         in the UI process before the current remote layer tree transaction had been handled
1184         there. This meant that runUIScript() could query state which was about to change.
1185         
1186         Fix by delaying the execution of the UI script until a layer tree transaction has
1187         been handled by the UI process, leveraging the existing DrawingAreaProxy::dispatchAfterEnsuringDrawing().
1188         
1189         This is done using a new C SPI function WKPageCallAfterNextPresentationUpdate(),
1190         which is mirrored in the Obj-C SPI as -_doAfterNextPresentationUpdate:.
1191         
1192         Move WKWebView SPI which is testing-related into a WKTesting category. It is expected
1193         that this will grow significantly.
1194
1195         * UIProcess/API/C/WKPage.cpp:
1196         (WKPageCallAfterNextPresentationUpdate):
1197         * UIProcess/API/C/WKPagePrivate.h:
1198         * UIProcess/API/Cocoa/WKWebView.mm:
1199         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1200         * UIProcess/WebPageProxy.cpp:
1201         (WebKit::WebPageProxy::callAfterNextPresentationUpdate):
1202         * UIProcess/WebPageProxy.h:
1203         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1204         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1205         (WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing):
1206
1207 2015-09-25  Alexey Proskuryakov  <ap@apple.com>
1208
1209         [Mac] Media tests start to time out after a few days of bot uptime
1210         https://bugs.webkit.org/show_bug.cgi?id=149468
1211
1212         Reviewed by Darin Adler.
1213
1214         Make the fix work with WebKit2, and avoid touching user's media cache for WebKit1.
1215
1216         When UI process is not sandboxed, inherit DIRHELPER_USER_DIR_SUFFIX from it.
1217         This means that during testing, WebContent uses a temporary directory of the form
1218         /private/var/folders/.../T/WebKitTestRunner-VKjmz0/com.apple.WebKit.WebContent.Development,
1219         instead of /private/var/folders/.../T/com.apple.WebKit.WebContent.Development+WebKitTestRunner.
1220
1221         WebKit1 now also better respects a temporary directory of the form
1222         /private/var/folders/.../T/DumpRenderTree-VKjmz0, instead of the default, which
1223         makes CoreMedia put its cache inside it.
1224
1225         As a result, almost everything is isolated per testing process, and deleted at the end.
1226         Same with cache directories. The only outliers that I know of are plug-in directories,
1227         which are per-process, but are not under the testing root, and thus aren't deleted.
1228
1229         * PluginProcess/mac/PluginProcessMac.mm:
1230         (WebKit::PluginProcess::initializeSandbox):
1231         * Shared/ChildProcessProxy.cpp:
1232         (WebKit::ChildProcessProxy::fromConnection):
1233         (WebKit::ChildProcessProxy::getLaunchOptions):
1234         (WebKit::ChildProcessProxy::connect):
1235         * Shared/ChildProcessProxy.h:
1236         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
1237         (WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
1238         * Shared/SandboxInitializationParameters.h:
1239         (WebKit::SandboxInitializationParameters::sandboxProfile):
1240         (WebKit::SandboxInitializationParameters::setUserDirectorySuffix):
1241         (WebKit::SandboxInitializationParameters::userDirectorySuffix):
1242         (WebKit::SandboxInitializationParameters::setSystemDirectorySuffix): Deleted.
1243         (WebKit::SandboxInitializationParameters::systemDirectorySuffix): Deleted.
1244         * Shared/ios/ChildProcessIOS.mm:
1245         (WebKit::ChildProcess::initializeSandbox):
1246         * Shared/mac/ChildProcessMac.mm:
1247         (WebKit::ChildProcess::initializeSandbox):
1248         * UIProcess/Databases/DatabaseProcessProxy.cpp:
1249         (WebKit::DatabaseProcessProxy::getLaunchOptions):
1250         * UIProcess/Network/NetworkProcessProxy.cpp:
1251         (WebKit::NetworkProcessProxy::getLaunchOptions):
1252         * UIProcess/Plugins/PluginProcessProxy.cpp:
1253         (WebKit::PluginProcessProxy::getLaunchOptions):
1254         * UIProcess/WebProcessProxy.cpp:
1255         (WebKit::WebProcessProxy::getLaunchOptions):
1256
1257 2015-09-25  Beth Dakin  <bdakin@apple.com>
1258
1259         Clicking on a data detected item inside a form control always pops up a map 
1260         on force touch trackpad
1261         https://bugs.webkit.org/show_bug.cgi?id=149559
1262         -and corresponding-
1263         rdar://problem/22826796
1264
1265         Reviewed by Tim Horton.
1266
1267         Look for Data Detected text for text nodes and HitTestResults that are over 
1268         text inside form controls.
1269
1270         * WebProcess/WebPage/mac/WebPageMac.mm:
1271         (WebKit::WebPage::performImmediateActionHitTestAtLocation):
1272
1273 2015-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>
1274
1275         [GTK] ASSERTION FAILED: !m_inUpdateBackingStoreState in DrawingAreaImpl::display() after DrawingAreaImpl::forceRepaint()
1276         https://bugs.webkit.org/show_bug.cgi?id=148956
1277
1278         Reviewed by Žan Doberšek.
1279
1280         This is because those tests call notifyDone in the onresize event
1281         handler. InjectedBundlePage::dump() always calls WKBundlePageForceRepaint()
1282         before dumping. When the view is resized DrawingAreaImpl::updateBackingStoreState()
1283         is called, so if the size has changed the FrameView::resize()
1284         method is called and all children are resized, so the onresize
1285         handlers happen at that point, before the
1286         m_inUpdateBackingStoreState is set to false again. For WTR we
1287         could probably just return early from froceReapaint() when
1288         m_inUpdateBackingStoreState is true, because in that case we know
1289         the layout is updated because of the resize and the actual display
1290         is not really needed. But the UI process can also request a force
1291         repaint, so we could wait until the backing store update is done
1292         and then force the repaint. For WTR it will happen after the
1293         dump, but it shouldn't be a problem.
1294
1295         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1296         (WebKit::DrawingAreaImpl::forceRepaint):
1297         (WebKit::DrawingAreaImpl::updateBackingStoreState):
1298         * WebProcess/WebPage/DrawingAreaImpl.h:
1299
1300 2015-09-24  Tim Horton  <timothy_horton@apple.com>
1301
1302         Find hole drawn at subframe's 0x0 when a subframe find match is not rendered
1303         https://bugs.webkit.org/show_bug.cgi?id=149543
1304
1305         Reviewed by Beth Dakin.
1306
1307         * WebProcess/WebPage/FindController.cpp:
1308         (WebKit::FindController::rectsForTextMatches):
1309         Don't add empty rects to the list. Later code will just inflate them
1310         and end up drawing a nonsensical find hole.
1311
1312 2015-09-24  Chris Dumez  <cdumez@apple.com>
1313
1314         Drop XPATH_NAMESPACE_NODE from Node::NodeType enum
1315         https://bugs.webkit.org/show_bug.cgi?id=149532
1316
1317         Reviewed by Ryosuke Niwa.
1318
1319         Drop XPATH_NAMESPACE_NODE from Node::NodeType enum as there is currently
1320         no way to construct such Node in WebKit. This avoid having to handle this
1321         Node type everywhere.
1322
1323         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
1324         (WebKit::WKDOMNodeClass): Deleted.
1325
1326 2015-09-24  Ryosuke Niwa  <rniwa@webkit.org>
1327
1328         Ran sort-Xcode-project-file.
1329
1330         * WebKit2.xcodeproj/project.pbxproj:
1331
1332 2015-09-23  Timothy Horton  <timothy_horton@apple.com>
1333
1334         Link highlight rect is too rounded on blocks with border-radius
1335         https://bugs.webkit.org/show_bug.cgi?id=149511
1336
1337         Reviewed by Dan Bernstein.
1338
1339         * UIProcess/ios/WKContentViewInteraction.mm:
1340         (nsSizeForTapHighlightBorderRadius):
1341         (-[WKContentView _updateTapHighlight]):
1342         Scale the border radius from content to view coordinates, just like
1343         we do for the rects that WebKit returns us.
1344
1345 2015-09-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1346
1347         Add a file of pointer-lock to cmake ports
1348         https://bugs.webkit.org/show_bug.cgi?id=149453
1349
1350         Reviewed by Csaba Osztrogonác.
1351
1352         * WebProcess/WebPage/WebPage.cpp:
1353         (WebKit::WebPage::navigateToPDFLinkWithSimulatedClick): Fix a build break.
1354
1355 2015-09-22  Anders Carlsson  <andersca@apple.com>
1356
1357         URL of page visited in private browsing still appears in Activity Monitor after page is closed
1358         https://bugs.webkit.org/show_bug.cgi?id=149475
1359         rdar://problem/22684521
1360
1361         Reviewed by Dan Bernstein.
1362
1363         * WebProcess/WebPage/WebPage.cpp:
1364         (WebKit::WebPage::close):
1365         Make sure to call updateActivePages after removing the page from the page map.
1366
1367         * WebProcess/cocoa/WebProcessCocoa.mm:
1368         (WebKit::WebProcess::updateActivePages):
1369         Don't include pages that have private browsing enabled.
1370
1371 2015-09-22  Tim Horton  <timothy_horton@apple.com>
1372
1373         Make it more obvious when using an unaccelerated image buffer, and fix a few callers who do
1374         https://bugs.webkit.org/show_bug.cgi?id=149428
1375
1376         Reviewed by Simon Fraser and Darin Adler.
1377
1378         * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
1379         (WebKit::ThreadSafeCoordinatedSurface::create):
1380
1381 2015-09-22  Andreas Kling  <akling@apple.com>
1382
1383         [WK2][NetworkCache] New entry bodies remain in dirty memory after being written to disk.
1384         <https://webkit.org/b/149463>
1385
1386         Reviewed by Antti Koivisto.
1387
1388         Call msync(MS_ASYNC) on cache entry bodies after writing their data to a
1389         memory-mapped file. This turns the previously dirty memory into clean memory,
1390         reducing our effective footprint.
1391
1392         I previously believed this would happen automatically when the kernel finds
1393         itself under memory pressure, around the same time as it starts dropping
1394         volatile pages. Turns out that's not the case. Even under considerable pressure,
1395         we never flush this memory to file. So let's take care of it ourselves.
1396
1397         If this ends up generating more IO activity than we're comfortable with on some
1398         scenario, we can look at throttling.
1399
1400         * NetworkProcess/cache/NetworkCacheData.cpp:
1401         (WebKit::NetworkCache::Data::mapToFile):
1402
1403 2015-09-22  Chris Dumez  <cdumez@apple.com>
1404
1405         Drop support for legacy EntityReference DOM Node type
1406         https://bugs.webkit.org/show_bug.cgi?id=149348
1407
1408         Reviewed by Darin Adler.
1409
1410         Drop handling EntityReference Nodes.
1411
1412         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
1413         (WebKit::WKDOMNodeClass): Deleted.
1414         * WebProcess/WebPage/ios/WebPageIOS.mm:
1415         (WebKit::isAssistableElement):
1416
1417 2015-09-22  Commit Queue  <commit-queue@webkit.org>
1418
1419         Unreviewed, rolling out r189616.
1420         https://bugs.webkit.org/show_bug.cgi?id=149456
1421
1422         suspected cause of multiple regressions (Requested by kling on
1423         #webkit).
1424
1425         Reverted changeset:
1426
1427         "[JSC] Weak should only accept cell pointees."
1428         https://bugs.webkit.org/show_bug.cgi?id=148955
1429         http://trac.webkit.org/changeset/189616
1430
1431 2015-09-21  Timothy Horton  <timothy_horton@apple.com>
1432
1433         Allow DataDetectors to pre-filter telephone number menu items
1434         https://bugs.webkit.org/show_bug.cgi?id=149444
1435         <rdar://problem/19286320>
1436
1437         Reviewed by Sam Weinig.
1438
1439         * Platform/mac/MenuUtilities.mm:
1440         (WebKit::menuItemForTelephoneNumber):
1441         (WebKit::menuForTelephoneNumber):
1442         Let DataDetectors know what kind of items we want, so that they can avoid
1443         some unnecessary work in cases where we were just going to throw away the items anyway.
1444
1445 2015-09-21  Gwang Yoon Hwang  <yoon@igalia.com>
1446
1447         [Threaded Compositor] Modified to use reference of GraphicsContext instead of pointer
1448         https://bugs.webkit.org/show_bug.cgi?id=149399
1449
1450         Reviewed by Darin Adler.
1451
1452         This fixes build failure after r189144
1453
1454         * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
1455         (WebKit::ThreadSafeCoordinatedSurface::paintToSurface):
1456         (WebKit::ThreadSafeCoordinatedSurface::beginPaint):
1457         (WebKit::ThreadSafeCoordinatedSurface::endPaint):
1458         * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h:
1459
1460 2015-09-21  Simon Fraser  <simon.fraser@apple.com>
1461
1462         Add the ability for tests to run script in the UI process in WebKitTestRunner
1463         https://bugs.webkit.org/show_bug.cgi?id=149356
1464
1465         Reviewed by Tim Horton.
1466
1467         Expose a few private functions for testing.
1468
1469         * UIProcess/API/Cocoa/WKWebView.mm:
1470         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1471
1472 2015-09-21  Tim Horton  <timothy_horton@apple.com>
1473
1474         Layout milestones aren't synchronized with UI-side compositing transactions
1475         https://bugs.webkit.org/show_bug.cgi?id=149362
1476
1477         Reviewed by Anders Carlsson.
1478         
1479         Because layout milestones are primarily used to synchronize things with
1480         the displayed layout/rendering of the page, they should fire at the same
1481         time as the contents of the view change.
1482
1483         However, with UI-side compositing, the layer tree transaction will
1484         most likely come in *after* the layout milestones associated with its
1485         contents fire, breaking this synchronization.
1486
1487         Instead, put the layout milestones inside the transaction and fire them
1488         immediately after it is committed in the UI process.
1489
1490         * Shared/mac/RemoteLayerTreeTransaction.h:
1491         (WebKit::RemoteLayerTreeTransaction::setCallbackIDs):
1492         (WebKit::RemoteLayerTreeTransaction::newlyReachedLayoutMilestones):
1493         (WebKit::RemoteLayerTreeTransaction::setNewlyReachedLayoutMilestones):
1494         * Shared/mac/RemoteLayerTreeTransaction.mm:
1495         (WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):
1496         (WebKit::RemoteLayerTreeTransaction::encode):
1497         (WebKit::RemoteLayerTreeTransaction::decode):
1498         Add LayoutMilestones to the transaction.
1499
1500         * UIProcess/API/APILoaderClient.h:
1501         (API::LoaderClient::didLayout):
1502         * UIProcess/API/APINavigationClient.h:
1503         (API::NavigationClient::renderingProgressDidChange):
1504         * UIProcess/API/C/WKPage.cpp:
1505         (WKPageSetPageLoaderClient):
1506         (WKPageSetPageNavigationClient):
1507         * UIProcess/Cocoa/NavigationState.h:
1508         * UIProcess/Cocoa/NavigationState.mm:
1509         (WebKit::NavigationState::NavigationClient::renderingProgressDidChange):
1510         * UIProcess/WebPageProxy.messages.in:
1511         * UIProcess/ios/WebPageProxyIOS.mm:
1512         (WebKit::WebPageProxy::didCommitLayerTree):
1513         Remove the UserData parameter from didLayout/renderingProgressDidChange,
1514         except for at the API level where we'll always pass null.
1515         Nobody uses UserData on didLayout, and we'll assert if any client sets it
1516         (and it won't get passed through to the UI process).
1517
1518         * UIProcess/WebPageProxy.cpp:
1519         (WebKit::WebPageProxy::didLayoutForCustomContentProvider):
1520         Just call didLayout with the relevant milestones instead of reimplementing it.
1521
1522         (WebKit::WebPageProxy::didLayout):
1523         * UIProcess/WebPageProxy.h:
1524         Make didLayout public.
1525
1526         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1527         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
1528         Let WebPage handle dispatching didLayout.
1529
1530         * WebProcess/WebPage/WebPage.cpp:
1531         (WebKit::WebPage::dispatchDidLayout):
1532         * WebProcess/WebPage/WebPage.h:
1533         Let the DrawingArea handle dispatching didLayout.
1534         If it doesn't want to handle it, we'll just do the normal thing
1535         and dispatch an async message.
1536
1537         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
1538         (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
1539         If we reach a new layout milestone, dispatch didLayout client/delegate callbacks.
1540
1541         * WebProcess/WebPage/DrawingArea.h:
1542         (WebKit::DrawingArea::dispatchDidLayout):
1543         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1544         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1545         (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
1546         (WebKit::RemoteLayerTreeDrawingArea::dispatchDidLayout):
1547         Queue up milestones as we reach them, and send them in the transaction.
1548
1549 2015-09-20  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1550
1551         Remove XHR_TIMEOUT compilation guard
1552         https://bugs.webkit.org/show_bug.cgi?id=149260
1553
1554         Reviewed by Benjamin Poulain.
1555
1556         * Configurations/FeatureDefines.xcconfig:
1557
1558 2015-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
1559
1560         [GTK] WebEditorClient::supportsGlobalSelection returns true under Wayland
1561         https://bugs.webkit.org/show_bug.cgi?id=149375
1562
1563         Reviewed by Darin Adler.
1564
1565         WebEditorClient::supportsGlobalSelection should return false when running under Wayland,
1566         since Wayland does not have any equivalent for PRIMARY or the concept of a global selection.
1567
1568         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1569         (WebKit::WebEditorClient::supportsGlobalSelection):
1570
1571 2015-09-19  Dan Bernstein  <mitz@apple.com>
1572
1573         Attempted build fix.
1574
1575         * mac/postprocess-framework-headers.sh: Fixed an overzealous regular expression.
1576
1577 2015-09-18  Commit Queue  <commit-queue@webkit.org>
1578
1579         Unreviewed, rolling out r189908.
1580         https://bugs.webkit.org/show_bug.cgi?id=149368
1581
1582         Broke run-webkit-tests --pixel (Requested by ap on #webkit).
1583
1584         Reverted changeset:
1585
1586         "printing does not use minimum page zoom factor"
1587         https://bugs.webkit.org/show_bug.cgi?id=108507
1588         http://trac.webkit.org/changeset/189908
1589
1590 2015-09-18  Andy Estes  <aestes@apple.com>
1591
1592         [iOS] did{Start,Finish}LoadForQuickLookDocumentInMainFrame is never called on WKNavigationDelegate
1593         https://bugs.webkit.org/show_bug.cgi?id=149360
1594
1595         Reviewed by Tim Horton.
1596
1597         * UIProcess/ios/WebPageProxyIOS.mm:
1598         (WebKit::WebPageProxy::didStartLoadForQuickLookDocumentInMainFrame): Called on m_navigationDelegate if non-null.
1599         (WebKit::WebPageProxy::didFinishLoadForQuickLookDocumentInMainFrame): Ditto.
1600
1601 2015-09-18  Beth Dakin  <bdakin@apple.com>
1602
1603         Snapshots broken on iOS
1604         https://bugs.webkit.org/show_bug.cgi?id=149354
1605
1606         Reviewed by Tim Horton.
1607
1608         We need to send the IOSurface to ViewSnapshot::create() for this to work.
1609         * UIProcess/API/Cocoa/WKWebView.mm:
1610         (-[WKWebView _takeViewSnapshot]):
1611
1612 2015-09-18  Chris Dumez  <cdumez@apple.com>
1613
1614         Drop support for Entity Node type
1615         https://bugs.webkit.org/show_bug.cgi?id=149239
1616
1617         Reviewed by Darin Adler.
1618
1619         Stop handling the Entity node type.
1620
1621         * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
1622
1623 2015-09-17  Brian Burg  <bburg@apple.com>
1624
1625         ASSERT(!m_frontendRouter->hasLocalFrontend()) when running Web Inspector tests
1626         https://bugs.webkit.org/show_bug.cgi?id=149006
1627         <rdar://problem/22654257>
1628         <rdar://problem/22631369>
1629
1630         Reviewed by Joseph Pecoraro.
1631
1632         Stop using InspectorController to close the frontend page. Go through
1633         the FrontendClient instead. Reduce redundant code paths.
1634
1635         This change seems to fix some recent crashes that were seen when
1636         closing Safari with Web Inspector open. These were caused by the frontend
1637         channel not being disconnected at the right time.
1638
1639         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1640         (WebKit::WebInspectorClient::inspectedPageDestroyed):
1641         (WebKit::WebInspectorClient::closeLocalFrontend): Deleted.
1642         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1643         * WebProcess/WebPage/WebInspector.cpp:
1644         (WebKit::WebInspector::close):
1645         * WebProcess/WebPage/WebInspectorUI.cpp:
1646         (WebKit::WebInspectorUI::establishConnection):
1647
1648             Save a pointer to the frontend's InspectorController since we may
1649             need to use it while the page is being destructed and its getter
1650             is no longer accessible.
1651
1652         (WebKit::WebInspectorUI::closeWindow):
1653
1654             Explicitly remove the frontend client when closing the frontend.
1655
1656         * WebProcess/WebPage/WebInspectorUI.h:
1657         * WebProcess/WebPage/WebPage.cpp:
1658         (WebKit::WebPage::inspector):
1659
1660             Allow clients to specify whether an inspector should be eagerly created.
1661             Without this, we may accidentally create an instance during teardown.
1662
1663         * WebProcess/WebPage/WebPage.h:
1664
1665 2015-09-18  Emanuele Aina  <emanuele.aina@collabora.com>
1666
1667         Fix build with --no-indexed-database after r189831
1668         https://bugs.webkit.org/show_bug.cgi?id=149342
1669
1670         Reviewed by Csaba Osztrogonác.
1671
1672         * WebProcess/Databases/WebDatabaseProvider.h:
1673         Add ENABLE(INDEXED_DATABASE) guard around supportsModernIDB().
1674
1675 2015-09-17  Beth Dakin  <bdakin@apple.com>
1676
1677         Heavy taps on links are sometimes interpreted as the preview gesture
1678         https://bugs.webkit.org/show_bug.cgi?id=149304
1679         -and corresponding-
1680         rdar://problem/22689258
1681
1682         Reviewed by Tim Horton.
1683
1684         If the preview gesture starts and stop and less than 250 milliseconds have 
1685         passed, then call _attemptClickAtLocation to treat it as a normal tap.
1686         * UIProcess/ios/WKContentViewInteraction.h:
1687         * UIProcess/ios/WKContentViewInteraction.mm:
1688         (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
1689         (-[WKContentView _interactionStartedFromPreviewItemController:]):
1690         (-[WKContentView _interactionStoppedFromPreviewItemController:]):
1691
1692 2015-09-17  Tim Horton  <timothy_horton@apple.com>
1693
1694         After restoring tabs, swipes back to fast loading pages hang for 3 seconds
1695         https://bugs.webkit.org/show_bug.cgi?id=148764
1696         <rdar://problem/22568860>
1697
1698         Reviewed by Beth Dakin.
1699
1700         * UIProcess/mac/ViewGestureControllerMac.mm:
1701         (WebKit::ViewGestureController::endSwipeGesture):
1702         Don't wait for the render tree size threshold if we don't have one.
1703
1704 2015-09-17  Timothy Horton  <timothy_horton@apple.com>
1705
1706         REGRESSION (r189287): 2.5% PLT regression
1707         https://bugs.webkit.org/show_bug.cgi?id=149277
1708         <rdar://problem/22657219>
1709
1710         Reviewed by Anders Carlsson.
1711
1712         * UIProcess/API/mac/WKView.mm:
1713         (-[WKView _takeViewSnapshot]):
1714         Don't take an extra unused snapshot.
1715
1716 2015-09-17  Michael Catanzaro  <mcatanzaro@igalia.com>
1717
1718         [GTK] Crash in WebKit::BackingStore::createBackend running under Wayland
1719         https://bugs.webkit.org/show_bug.cgi?id=147453
1720
1721         Reviewed by Carlos Garcia Campos.
1722
1723         Except when running on X11, this function always crashes if called before the web view is
1724         realized, as gdk_window_create_similar_surface will return null in that case. Avoid this by
1725         simply realizing the widget before calling that.
1726
1727         Thanks to Carlos Garnacho for some debugging help.
1728
1729         * UIProcess/cairo/BackingStoreCairo.cpp:
1730         (WebKit::BackingStore::createBackend):
1731
1732 2015-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1733
1734         printing does not use minimum page zoom factor
1735         https://bugs.webkit.org/show_bug.cgi?id=108507
1736
1737         Reviewed by Darin Adler.
1738
1739         Add kWKSnapshotOptionsPrinting flag to indicate the snapshot
1740         should be generated in printing mode.
1741
1742         * Shared/API/c/WKImage.h:
1743         * Shared/API/c/WKSharedAPICast.h:
1744         (WebKit::toSnapshotOptions):
1745         * Shared/ImageOptions.h:
1746         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1747         (WebKit::InjectedBundle::numberOfPages): Pass the frame as a
1748         reference instead of a pointer.
1749         * WebProcess/WebPage/WebPage.cpp:
1750         (WebKit::WebPage::scaledSnapshotWithOptions): In case of printing,
1751         calculate the bitmap height based on the number of pages.
1752         (WebKit::WebPage::snapshotAtSize): In case of printing, use
1753         PrintContext::spoolAllPagesWithBoundaries() and return.
1754
1755 2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>
1756
1757         Web Inspector: Fix common typo "supress" => "suppress"
1758         https://bugs.webkit.org/show_bug.cgi?id=149199
1759
1760         Reviewed by Gyuyoung Kim.
1761
1762         * PluginProcess/mac/PluginProcessMac.mm:
1763         (WebKit::PluginProcess::platformInitializeProcess):
1764
1765 2015-09-16  Dan Bernstein  <mitz@apple.com>
1766
1767         [iOS] Inline implementation of -[WKImagePreviewViewController previewActions]
1768         https://bugs.webkit.org/show_bug.cgi?id=149224
1769
1770         Reviewed by Tim Horton.
1771
1772         * Platform/spi/ios/UIKitSPI.h: Declare UIViewControllerPreviewAction and its factory method.
1773         * UIProcess/WKImagePreviewViewController.mm:
1774         (-[WKImagePreviewViewController previewActions]): Moved here.
1775
1776 2015-09-16  Alexey Proskuryakov  <ap@apple.com>
1777
1778         [Mac] Allow reading from SubmitDiagInfo.domains in Networking process
1779         https://bugs.webkit.org/show_bug.cgi?id=149176
1780         rdar://problem/22483680
1781
1782         Reviewed by Darin Adler.
1783
1784         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1785
1786 2015-09-16  Dan Bernstein  <mitz@apple.com>
1787
1788         [iOS] Unifiy WebKit2PlatformTouchPoint definition
1789         https://bugs.webkit.org/show_bug.cgi?id=149221
1790
1791         Reviewed by Darin Adler.
1792
1793         * Shared/WebEventConversion.cpp:
1794         (WebKit::touchEventType):
1795         (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
1796
1797 2015-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1798
1799         [GTK] Web Process crash recovery no longer works
1800         https://bugs.webkit.org/show_bug.cgi?id=149064
1801
1802         Reviewed by Žan Doberšek.
1803
1804         After a web process crash the new DrawingArea is never resized, so
1805         nothing is rendered into the web view.
1806
1807         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1808         (webkitWebViewBaseDidRelaunchWebProcess): Queue a widget resize to ensure
1809         the new DrawingAreaProxy is resized.
1810
1811 2015-09-15  Ryosuke Niwa  <rniwa@webkit.org>
1812
1813         Add ShadowRoot interface and Element.prototype.attachShadow
1814         https://bugs.webkit.org/show_bug.cgi?id=149187
1815
1816         Reviewed by Antti Koivisto.
1817
1818         * Configurations/FeatureDefines.xcconfig:
1819
1820 2015-09-15  Brady Eidson  <beidson@apple.com>
1821
1822         Add empty IDBFactory implementation for Modern IDB.
1823         https://bugs.webkit.org/show_bug.cgi?id=149191
1824
1825         Reviewed by Jer Noble.
1826
1827         * WebProcess/Databases/WebDatabaseProvider.h:
1828
1829 2015-09-15  Brady Eidson  <beidson@apple.com>
1830
1831         Move most IDB object encoding/decoding from WebKit2 to WebCore.
1832         https://bugs.webkit.org/show_bug.cgi?id=149152
1833
1834         Reviewed by Alex Christensen.
1835
1836         * Shared/WebCoreArgumentCoders.cpp:
1837         (IPC::ArgumentCoder<IDBDatabaseMetadata>::encode): Deleted.
1838         (IPC::ArgumentCoder<IDBDatabaseMetadata>::decode): Deleted.
1839         (IPC::ArgumentCoder<IDBIndexMetadata>::encode): Deleted.
1840         (IPC::ArgumentCoder<IDBIndexMetadata>::decode): Deleted.
1841         (IPC::ArgumentCoder<IDBKeyData>::encode): Deleted.
1842         (IPC::ArgumentCoder<IDBKeyData>::decode): Deleted.
1843         (IPC::ArgumentCoder<IDBKeyPath>::encode): Deleted.
1844         (IPC::ArgumentCoder<IDBKeyPath>::decode): Deleted.
1845         (IPC::ArgumentCoder<IDBKeyRangeData>::encode): Deleted.
1846         (IPC::ArgumentCoder<IDBKeyRangeData>::decode): Deleted.
1847         (IPC::ArgumentCoder<IDBObjectStoreMetadata>::encode): Deleted.
1848         (IPC::ArgumentCoder<IDBObjectStoreMetadata>::decode): Deleted.
1849         * Shared/WebCoreArgumentCoders.h:
1850
1851 2015-09-14  Brady Eidson  <beidson@apple.com>
1852
1853         Make the enum IDBKey::Type into a utility enum class.
1854         https://bugs.webkit.org/show_bug.cgi?id=149149
1855
1856         Reviewed by Alex Christensen.
1857
1858         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
1859         (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
1860
1861         * Shared/WebCoreArgumentCoders.cpp:
1862         (IPC::ArgumentCoder<IDBKeyData>::encode):
1863         (IPC::ArgumentCoder<IDBKeyData>::decode):
1864
1865 2015-09-14  Wenson Hsieh  <wenson_hsieh@apple.com>
1866
1867         WKWebView scroll deceleration rate is not being set properly
1868         https://bugs.webkit.org/show_bug.cgi?id=149145
1869         <rdar://problem/22064071>
1870
1871         Reviewed by Simon Fraser.
1872
1873         We are not currently setting the web view's deceleration rate to the correct preferred value because we
1874         are setting the decelerationRate property of the scrollView, which snaps input values to the closer of
1875         two predefined UIKit constants, UIScrollViewDecelerationRateFast and UIScrollViewDecelerationRateNormal.
1876         To fix this, we directly set the horizontal and vertical scroll deceleration factors to the preferred
1877         value.
1878
1879         * UIProcess/API/Cocoa/WKWebView.mm: 
1880         (-[WKWebView scrollViewWillBeginDragging:]): Directly set the scroll view's deceleration factor without
1881                 going through the decelerationRate property.
1882
1883 2015-09-14  Dan Bernstein  <mitz@apple.com>
1884
1885         Consolidate touch event code dealing with force.
1886
1887         Reviewed by Beth Dakin.
1888
1889         * Shared/WebEvent.h:
1890         (WebKit::WebPlatformTouchPoint::state):
1891         (WebKit::WebPlatformTouchPoint::setForce):
1892         (WebKit::WebPlatformTouchPoint::force):
1893         * Shared/ios/NativeWebTouchEventIOS.mm:
1894         (WebKit::positionForCGPoint):
1895         (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
1896         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
1897         * Shared/ios/WebPlatformTouchPointIOS.cpp:
1898         (WebKit::WebPlatformTouchPoint::encode):
1899         (WebKit::WebPlatformTouchPoint::decode):
1900
1901 2015-09-14  Alex Christensen  <achristensen@webkit.org>
1902
1903         Progress towards CMake on Mac.
1904         https://bugs.webkit.org/show_bug.cgi?id=149123
1905
1906         Reviewed by Chris Dumez.
1907
1908         * PlatformMac.cmake:
1909         Added some more sources.
1910
1911 2015-09-14  Dan Bernstein  <mitz@apple.com>
1912
1913         [iOS] Stop importing WebKitAdditions/WKContentViewInteraction.mm
1914         https://bugs.webkit.org/show_bug.cgi?id=149127
1915
1916         Reviewed by Beth Dakin.
1917
1918         * Platform/spi/ios/UIKitSPI.h:
1919         * UIProcess/ios/WKContentViewInteraction.mm:
1920         (-[WKContentView setupInteraction]):
1921
1922 2015-09-14  Brady Eidson  <beidson@apple.com>
1923
1924         Rename current concrete IDB implementation to "Legacy".
1925         https://bugs.webkit.org/show_bug.cgi?id=149118
1926
1927         Reviewed by Alex Christensen.
1928
1929         * CMakeLists.txt:
1930
1931 2015-09-14  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1932
1933         [EFL] Remove create() factory function in EvasGLContext and EvasGLSurface
1934         https://bugs.webkit.org/show_bug.cgi?id=149110
1935
1936         Reviewed by Csaba Osztrogonác.
1937
1938         It is not good implementation we support both create() factory function and public constructor.
1939         In EvasGLContext and EvasGLSurface cases, those have supported both. However create() factory is only
1940         used by EwkView. Thus let's remove the create() function, then EwkView creates EvasGLContext using
1941         std::make_unique<> directly.
1942
1943         * UIProcess/API/efl/EwkView.cpp:
1944         (EwkView::EwkView):
1945         (EwkView::createGLSurface):
1946
1947 2015-09-13  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1948
1949         Remove all uses of PassRefPtr in crypto, storage, and history
1950         https://bugs.webkit.org/show_bug.cgi?id=149091
1951
1952         Reviewed by Andreas Kling.
1953
1954         * WebProcess/Storage/StorageNamespaceImpl.cpp:
1955         (WebKit::StorageNamespaceImpl::storageArea):
1956         * WebProcess/Storage/StorageNamespaceImpl.h:
1957
1958 2015-09-13  Dan Bernstein  <mitz@apple.com>
1959
1960         Define HAVE_LINK_PREVIEW in WebKit2
1961         https://bugs.webkit.org/show_bug.cgi?id=149099
1962
1963         Reviewed by Sam Weinig.
1964
1965         * Platform/spi/ios/UIKitSPI.h:
1966         * UIProcess/WKImagePreviewViewController.mm:
1967         * config.h:
1968
1969 2015-09-12  Myles C. Maxfield  <mmaxfield@apple.com>
1970
1971         [Cocoa] Allow testing with the system language
1972         https://bugs.webkit.org/show_bug.cgi?id=148671
1973
1974         Reviewed by Anders Carlsson and Alexey Proskuryakov.
1975
1976         This patch adds two new SPI functions for setting and retrieving a vector of
1977         override languages to/from the WKContextConfiguration. The implementation of
1978         these functions holds state inside WebProcessPoolConfiguration. Then, when
1979         we launch a process, the WebProcessProxy will inject these override languages
1980         into the ProcessLauncher::LaunchOptions so that the ProcessLauncher can
1981         inject these languages into the XPC Bootstrap message. Then, in the Web
1982         Process's main(), the XPC Boostrap message is read, and the platform
1983         languages are set via NSUserDefaults setting a volatile domain.
1984
1985         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
1986         (main): Set the volatile domain with NSUserDefaults.
1987         * UIProcess/API/APIProcessPoolConfiguration.cpp:
1988         (API::ProcessPoolConfiguration::copy):
1989         * UIProcess/API/APIProcessPoolConfiguration.h: Hold state for the override
1990         languages.
1991         * UIProcess/API/C/WKContextConfigurationRef.cpp:
1992         (WKContextConfigurationCopyOverrideLanguages): SPI.
1993         (WKContextConfigurationSetOverrideLanguages): Ditto.
1994         * UIProcess/API/C/WKContextConfigurationRef.h:
1995         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1996         (WebKit::connectToService): Inject the languages into the XPC Bootstrap
1997         message.
1998         * UIProcess/WebProcessProxy.cpp:
1999         (WebKit::WebProcessProxy::getLaunchOptions): Inject the override languages
2000         into the ProcessLauncher::LaunchOptions.
2001
2002 2015-09-12  Alexey Proskuryakov  <ap@apple.com>
2003
2004         [iOS] Allow UDP networking
2005         https://bugs.webkit.org/show_bug.cgi?id=149081
2006         rdar://problem/22291743
2007
2008         Reviewed by Sam Weinig.
2009
2010         * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
2011         * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
2012
2013 2015-09-12  Joseph Pecoraro  <pecoraro@apple.com>
2014
2015         Web Inspector: Extract InspectorFrontendAPI dispatching from WebInspectorUI
2016         https://bugs.webkit.org/show_bug.cgi?id=149089
2017
2018         Reviewed by Brian Burg.
2019
2020         * CMakeLists.txt:
2021         * WebKit2.xcodeproj/project.pbxproj:
2022         * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp: Added.
2023         (WebKit::WebInspectorFrontendAPIDispatcher::WebInspectorFrontendAPIDispatcher):
2024         (WebKit::WebInspectorFrontendAPIDispatcher::reset):
2025         (WebKit::WebInspectorFrontendAPIDispatcher::frontendLoaded):
2026         (WebKit::WebInspectorFrontendAPIDispatcher::dispatchCommand):
2027         (WebKit::WebInspectorFrontendAPIDispatcher::dispatchMessageAsync):
2028         (WebKit::WebInspectorFrontendAPIDispatcher::evaluateExpressionOnLoad):
2029         * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h: Added.
2030         * WebProcess/WebPage/WebInspectorUI.cpp:
2031         (WebKit::WebInspectorUI::WebInspectorUI):
2032         (WebKit::WebInspectorUI::establishConnection):
2033         (WebKit::WebInspectorUI::frontendLoaded):
2034         (WebKit::WebInspectorUI::setDockSide):
2035         (WebKit::WebInspectorUI::setDockingUnavailable):
2036         (WebKit::WebInspectorUI::showConsole):
2037         (WebKit::WebInspectorUI::showResources):
2038         (WebKit::WebInspectorUI::showMainResourceForFrame):
2039         (WebKit::WebInspectorUI::startPageProfiling):
2040         (WebKit::WebInspectorUI::stopPageProfiling):
2041         (WebKit::WebInspectorUI::didSave):
2042         (WebKit::WebInspectorUI::didAppend):
2043         (WebKit::WebInspectorUI::sendMessageToFrontend):
2044         (WebKit::WebInspectorUI::evaluateCommandOnLoad): Deleted.
2045         (WebKit::WebInspectorUI::evaluateExpressionOnLoad): Deleted.
2046         (WebKit::WebInspectorUI::evaluatePendingExpressions): Deleted.
2047         * WebProcess/WebPage/WebInspectorUI.h:
2048         (WebKit::WebInspectorUI::evaluateCommandOnLoad): Deleted.
2049
2050 2015-09-12  Joseph Pecoraro  <pecoraro@apple.com>
2051
2052         Web Inspector: Move Already Generic Inspector Page Context Menu to Generic Setup
2053         https://bugs.webkit.org/show_bug.cgi?id=149088
2054
2055         Reviewed by Brian Burg.
2056
2057         * UIProcess/WebInspectorProxy.cpp:
2058         (WebKit::getContextMenuFromProposedMenu):
2059         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
2060         * UIProcess/mac/WebInspectorProxyMac.mm:
2061         (WebKit::getContextMenuFromProposedMenu): Deleted.
2062         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2063
2064 2015-09-12  Brian Burg  <bburg@apple.com>
2065
2066         Web Inspector: disambiguate inspected/frontend controllers and pages in backend code
2067         https://bugs.webkit.org/show_bug.cgi?id=149071
2068
2069         Reviewed by Joseph Pecoraro.
2070
2071         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2072         (WebKit::WebInspectorClient::inspectedPageDestroyed): Renamed.
2073         (WebKit::WebInspectorClient::openLocalFrontend): Renamed.
2074         (WebKit::WebInspectorClient::closeLocalFrontend): Renamed.
2075         (WebKit::WebInspectorClient::inspectorDestroyed): Deleted.
2076         (WebKit::WebInspectorClient::openInspectorFrontend): Deleted.
2077         (WebKit::WebInspectorClient::closeInspectorFrontend): Deleted.
2078         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2079
2080 2015-09-11  Beth Dakin  <bdakin@apple.com>
2081
2082         Another build fix.
2083
2084         * UIProcess/mac/ViewSnapshotStore.h:
2085         (WebKit::ViewSnapshot::size):
2086         (WebKit::ViewSnapshot::imageSizeInBytes):
2087
2088 2015-09-11  Beth Dakin  <bdakin@apple.com>
2089
2090         Still need view snapshotting code for non-IOSurface for the sim
2091         https://bugs.webkit.org/show_bug.cgi?id=149077
2092
2093         Reviewed by Tim Horton.
2094
2095         This fixes the simulator build.
2096         * UIProcess/API/Cocoa/WKWebView.mm:
2097         (-[WKWebView _takeViewSnapshot]):
2098         (-[WKWebView _zoomToPoint:atScale:animated:]):
2099         * UIProcess/mac/ViewGestureControllerMac.mm:
2100         (WebKit::ViewGestureController::beginSwipeGesture):
2101         (WebKit::ViewGestureController::removeSwipeSnapshot):
2102         * UIProcess/mac/ViewSnapshotStore.h:
2103         (WebKit::ViewSnapshot::setDeviceScaleFactor):
2104         (WebKit::ViewSnapshot::deviceScaleFactor):
2105         (WebKit::ViewSnapshot::surface):
2106         (WebKit::ViewSnapshot::imageSizeInBytes):
2107         (WebKit::ViewSnapshot::size):
2108         * UIProcess/mac/ViewSnapshotStore.mm:
2109         (WebKit::ViewSnapshotStore::singleton):
2110         (WebKit::ViewSnapshotStore::snapshottingContext):
2111         (WebKit::ViewSnapshotStore::didAddImageToSnapshot):
2112         (WebKit::ViewSnapshotStore::discardSnapshotImages):
2113         (WebKit::ViewSnapshot::create):
2114         (WebKit::ViewSnapshot::ViewSnapshot):
2115         (WebKit::ViewSnapshot::~ViewSnapshot):
2116         (WebKit::ViewSnapshot::setSurface):
2117         (WebKit::ViewSnapshot::hasImage):
2118         (WebKit::ViewSnapshot::clearImage):
2119         (WebKit::ViewSnapshot::asLayerContents):
2120
2121 2015-09-11  Beth Dakin  <bdakin@apple.com>
2122
2123         Build fix
2124
2125         * UIProcess/mac/ViewGestureControllerMac.mm:
2126         (WebKit::ViewGestureController::beginSwipeGesture):
2127         (WebKit::ViewGestureController::removeSwipeSnapshot):
2128
2129 2015-09-11  Beth Dakin  <bdakin@apple.com>
2130
2131         Should use CARenderServerRenderLayerWithTransform for snapshots on iOS
2132         https://bugs.webkit.org/show_bug.cgi?id=149069
2133         -and corresponding-
2134         rdar://problem/19726953
2135
2136         Reviewed by Tim Horton.
2137
2138         This will let us own the backing IOSurface, which will let us share more code 
2139         with Mac.
2140
2141         Use CARenderServerRenderLayerWithTransform
2142         * UIProcess/API/Cocoa/WKWebView.mm:
2143         (-[WKWebView _takeViewSnapshot]):
2144         (-[WKWebView _zoomToPoint:atScale:animated:]):
2145
2146         We can eliminate things needed for the slot-based API.
2147         * UIProcess/mac/ViewSnapshotStore.h:
2148         (WebKit::ViewSnapshot::setDeviceScaleFactor):
2149         (WebKit::ViewSnapshot::deviceScaleFactor):
2150         (WebKit::ViewSnapshot::surface):
2151         (WebKit::ViewSnapshot::imageSizeInBytes):
2152         (WebKit::ViewSnapshot::size):
2153         * UIProcess/mac/ViewSnapshotStore.mm:
2154         (WebKit::ViewSnapshotStore::singleton):
2155         (WebKit::ViewSnapshotStore::didAddImageToSnapshot):
2156         (WebKit::ViewSnapshotStore::discardSnapshotImages):
2157         (WebKit::ViewSnapshot::create):
2158         (WebKit::ViewSnapshot::ViewSnapshot):
2159         (WebKit::ViewSnapshot::~ViewSnapshot):
2160         (WebKit::ViewSnapshot::setSurface):
2161         (WebKit::ViewSnapshot::hasImage):
2162         (WebKit::ViewSnapshot::clearImage):
2163         (WebKit::ViewSnapshot::asLayerContents):
2164         (WebKit::ViewSnapshotStore::snapshottingContext): Deleted.
2165
2166 2015-09-11  Andreas Kling  <akling@apple.com>
2167
2168         [JSC] Weak should only accept cell pointees.
2169         <https://webkit.org/b/148955>
2170
2171         Reviewed by Geoffrey Garen.
2172
2173         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2174         (WebKit::NPRuntimeObjectMap::finalize):
2175         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
2176
2177 2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>
2178
2179         Web Inspector: Remove unused files
2180         https://bugs.webkit.org/show_bug.cgi?id=149049
2181
2182         Reviewed by Brian Burg.
2183
2184         * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Removed.
2185         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: Removed.
2186
2187 2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>
2188
2189         WebInspectorUI should have a WebPage reference
2190         https://bugs.webkit.org/show_bug.cgi?id=149046
2191
2192         Reviewed by Geoffrey Garen.
2193
2194         * WebProcess/WebPage/WebInspectorUI.cpp:
2195         * WebProcess/WebPage/WebInspectorUI.h:
2196         (WebKit::WebInspectorUI::page): Deleted.
2197         * WebProcess/WebPage/WebPage.cpp:
2198         (WebKit::WebPage::inspectorUI):
2199
2200 2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>
2201
2202         Web Inspector: WebInspectorUI does not need to be an API::Object
2203         https://bugs.webkit.org/show_bug.cgi?id=149045
2204
2205         Reviewed by Timothy Hatcher.
2206
2207         * Shared/API/APIObject.h:
2208         * WebProcess/WebPage/WebInspectorUI.h:
2209
2210 2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>
2211
2212         Web Inspector: Remove unused member in WebPage
2213         https://bugs.webkit.org/show_bug.cgi?id=149040
2214
2215         Reviewed by Brian Burg.
2216
2217         * WebProcess/WebPage/WebPage.cpp:
2218         * WebProcess/WebPage/WebPage.h:
2219
2220 2015-09-10  Daniel Bates  <dabates@apple.com>
2221
2222         sendProcessWillSuspendImminently uses a wrong message flag
2223         https://bugs.webkit.org/show_bug.cgi?id=148995
2224
2225         Reviewed by Alexey Proskuryakov.
2226
2227         Remove use of flag IPC::InterruptWaitingIfSyncMessageArrives as it does not make
2228         sense when sending a sync message.
2229
2230         * UIProcess/Network/NetworkProcessProxy.cpp:
2231         (WebKit::NetworkProcessProxy::sendProcessWillSuspendImminently):
2232         * UIProcess/WebProcessProxy.cpp:
2233         (WebKit::WebProcessProxy::sendProcessWillSuspendImminently):
2234
2235 2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>
2236
2237         Unreviewed build fix after r189572.
2238
2239         * UIProcess/WebInspectorProxy.cpp:
2240         (WebKit::WebInspectorProxy::inspectorPageURL):
2241         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2242         (WebKit::WebInspectorProxy::inspectorBaseURL):
2243         Remove the const on the now static methods.
2244
2245 2015-09-10  Chris Dumez  <cdumez@apple.com>
2246
2247         Node.appendChild(null) / replaceChild(null, null) / removeChild(null) / insertBefore(null, ref) should throw a TypeError
2248         https://bugs.webkit.org/show_bug.cgi?id=148971
2249         <rdar://problem/22560883>
2250         <rdar://problem/22559225>
2251
2252         Reviewed by Ryosuke Niwa.
2253
2254         ContainerNode::appendChild() now takes a Ref<Node>&& parameter so we
2255         need to update the call sites.
2256
2257         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2258         (WebKit::PDFPlugin::PDFPlugin):
2259         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
2260         (WebKit::PDFPluginAnnotation::attach):
2261         (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation):
2262         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
2263         (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):
2264
2265 2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>
2266
2267         Web Inspector: Make WebInspectorProxy inspectorURL path methods static
2268         https://bugs.webkit.org/show_bug.cgi?id=149021
2269
2270         Reviewed by Brian Burg.
2271
2272         * UIProcess/WebInspectorProxy.cpp:
2273         (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
2274         (WebKit::isMainOrTestInspectorPage):
2275         (WebKit::decidePolicyForNavigationAction):
2276         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
2277         (WebKit::WebInspectorProxy::createInspectorPage):
2278         * UIProcess/WebInspectorProxy.h:
2279         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2280         (WebKit::WebInspectorProxy::inspectorPageURL):
2281         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2282         (WebKit::WebInspectorProxy::inspectorBaseURL):
2283         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2284         (WebKit::WebInspectorProxy::inspectorPageURL):
2285         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2286         (WebKit::WebInspectorProxy::inspectorBaseURL):
2287         * UIProcess/mac/WebInspectorProxyMac.mm:
2288         (WebKit::WebInspectorProxy::inspectorPageURL):
2289         (WebKit::WebInspectorProxy::inspectorTestPageURL):
2290         (WebKit::WebInspectorProxy::inspectorBaseURL):
2291
2292 2015-09-09  Joseph Pecoraro  <pecoraro@apple.com>
2293
2294         Web Inspector: Remove dead WebInspectorProxy related code
2295         https://bugs.webkit.org/show_bug.cgi?id=149019
2296
2297         Reviewed by Timothy Hatcher.
2298
2299         * UIProcess/API/C/mac/WKInspectorPrivateMac.h:
2300         * UIProcess/WebInspectorProxy.cpp:
2301         * UIProcess/WebInspectorProxy.h:
2302         * UIProcess/mac/WebInspectorProxyMac.mm:
2303         (-[WKWebInspectorProxyObjCAdapter attachRight:]): Deleted.
2304         (-[WKWebInspectorProxyObjCAdapter attachBottom:]): Deleted.
2305
2306 2015-09-09  Anders Carlsson  <andersca@apple.com>
2307
2308         Remove an unused NSString SPI constant
2309         https://bugs.webkit.org/show_bug.cgi?id=149009
2310
2311         Reviewed by Dan Bernstein.
2312
2313         * UIProcess/API/Cocoa/WKWebView.mm:
2314         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2315
2316 2015-09-09  Dan Bernstein  <mitz@apple.com>
2317
2318         Updated availability annotations for iOS 9 and OS X El Capitan.
2319
2320         Rubber-stamped by Anders Carlsson.
2321
2322         * Shared/API/Cocoa/_WKRenderingProgressEvents.h:
2323         * UIProcess/API/Cocoa/WKError.h:
2324         * UIProcess/API/Cocoa/WKErrorPrivate.h:
2325         * UIProcess/API/Cocoa/WKFrameInfo.h:
2326         * UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
2327         * UIProcess/API/Cocoa/WKNavigationDelegate.h:
2328         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
2329         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2330         * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
2331         * UIProcess/API/Cocoa/WKSecurityOrigin.h:
2332         * UIProcess/API/Cocoa/WKUIDelegate.h:
2333         * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
2334         * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
2335         * UIProcess/API/Cocoa/WKViewPrivate.h:
2336         * UIProcess/API/Cocoa/WKWebView.h:
2337         * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
2338         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2339         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2340         * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
2341         * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
2342         * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
2343         * UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
2344         * UIProcess/API/Cocoa/_WKElementAction.h:
2345         * UIProcess/API/Cocoa/_WKLayoutMode.h:
2346         * UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h:
2347         * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
2348         * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
2349         * UIProcess/API/Cocoa/_WKUserContentFilter.h:
2350         * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:
2351         * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
2352         * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
2353
2354 2015-09-09  Alexey Proskuryakov  <ap@apple.com>
2355
2356         fast/dom/rtl-scroll-to-leftmost-and-resize.html is a flaky timeout - IPC drops messages
2357         https://bugs.webkit.org/show_bug.cgi?id=148951
2358
2359         Reviewed by Anders Carlsson.
2360
2361         * Platform/IPC/Connection.cpp:
2362         (IPC::Connection::waitForMessage): Don't modify m_waitingForMessage without holding
2363         a lock. This is not part of this fix, but seems necessary for correctness.
2364         (IPC::Connection::processIncomingMessage): Don't interrupt a wait that has already succeeded.
2365
2366 2015-09-08  Daniel Bates  <dabates@apple.com>
2367
2368         [Mac] Expose Enable/Disable Accelerated Drawing in MiniBrowser
2369         https://bugs.webkit.org/show_bug.cgi?id=148980
2370
2371         Reviewed by Alexey Proskuryakov.
2372
2373         Expose SPI web preference to enable/disable- and query the state of- accelerated drawing
2374         so that we can toggle this setting in MiniBrowser on Mac.
2375
2376         * UIProcess/API/Cocoa/WKPreferences.mm:
2377         (-[WKPreferences _acceleratedDrawingEnabled]): Added.
2378         (-[WKPreferences _setAcceleratedDrawingEnabled:]): Added.
2379         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2380
2381 2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>
2382
2383         Web Inspector: Remove unused file: WebInspectorFrontendClient.h
2384         https://bugs.webkit.org/show_bug.cgi?id=148979
2385
2386         Reviewed by Brian Burg.
2387
2388         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed.
2389         Unused now. WebInspectorUI subclasses InspectorFrontendClient itself.
2390
2391 2015-09-07  Andy Estes  <aestes@apple.com>
2392
2393         [Mac] DebugRelease builds should link against libWebKitSystemInterfaceElCapitan.a on 10.11
2394         https://bugs.webkit.org/show_bug.cgi?id=148946
2395         <rdar://problem/22603981>
2396
2397         Reviewed by Dan Bernstein.
2398
2399         * Configurations/DebugRelease.xcconfig:
2400
2401 2015-09-05  Michael Catanzaro  <mcatanzaro@igalia.com>
2402
2403         Leak in WebContextInjectedBundleClient::getInjectedBundleInitializationUserData
2404         https://bugs.webkit.org/show_bug.cgi?id=148769
2405
2406         Fix suggested by Zan Dobersek.
2407
2408         Reviewed by Darin Adler.
2409
2410         * UIProcess/WebContextInjectedBundleClient.cpp:
2411         (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
2412
2413 2015-09-04  Brian Burg  <bburg@apple.com>
2414
2415         Web Inspector: agents should send messages through FrontendRouter instead of FrontendChannel
2416         https://bugs.webkit.org/show_bug.cgi?id=148492
2417
2418         Reviewed by Joseph Pecoraro.
2419
2420         Stop using InspectorForwarding.h.
2421
2422         * WebProcess/WebPage/WebInspector.h:
2423         * WebProcess/WebPage/WebInspectorUI.h:
2424
2425 2015-09-04  Brian Burg  <bburg@apple.com>
2426
2427         Web Inspector: InspectorController should support multiple frontend channels
2428         https://bugs.webkit.org/show_bug.cgi?id=148538
2429
2430         Reviewed by Joseph Pecoraro.
2431
2432         Explicitly disconnect the frontend channel when closing the frontend.
2433
2434         Rename createInspectorPage/closeFrontend to the symmetric and unambiguous
2435         {open,close}FrontendConnection in the WebInspector class.
2436
2437         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2438         (WebKit::WebInspectorClient::openInspectorFrontend):
2439         (WebKit::WebInspectorClient::closeInspectorFrontend):
2440         * WebProcess/WebCoreSupport/WebInspectorClient.h: Stop using a forwarded type.
2441         * WebProcess/WebPage/WebInspector.cpp:
2442         (WebKit::WebInspector::openFrontendConnection):
2443         (WebKit::WebInspector::closeFrontendConnection):
2444         (WebKit::WebInspector::remoteFrontendConnected):
2445         (WebKit::WebInspector::remoteFrontendDisconnected):
2446         (WebKit::WebInspector::createInspectorPage): Deleted.
2447         (WebKit::WebInspector::closeFrontend): Deleted.
2448         * WebProcess/WebPage/WebInspector.h:
2449
2450 2015-09-04  Dan Bernstein  <mitz@apple.com>
2451
2452         [iOS] Disable backspace key navigation by default
2453         https://bugs.webkit.org/show_bug.cgi?id=148808
2454
2455         Reviewed by Tim Horton.
2456
2457         * Shared/WebPreferencesDefinitions.h: Defined DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED as
2458           false on iOS, true elsewhere, and made it the default value of the
2459           backspaceKeyNavigationEnabled preference key.
2460
2461 2015-09-04  Beth Dakin  <bdakin@apple.com>
2462
2463         Need to be able to test default behaviors on force click
2464         https://bugs.webkit.org/show_bug.cgi?id=148758
2465
2466         Reviewed by Tim Horton.
2467
2468         The hit test seems to return synchronously in WKTR, so we need to do the hit 
2469         test last before we clear state otherwise we will trample the hit test 
2470         result.
2471         * UIProcess/mac/WKImmediateActionController.mm:
2472         (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
2473         (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
2474
2475 2015-09-03  Commit Queue  <commit-queue@webkit.org>
2476
2477         Unreviewed, rolling out r189338.
2478         https://bugs.webkit.org/show_bug.cgi?id=148785
2479
2480         Caused tons of crashes (Requested by cdumez on #webkit).
2481
2482         Reverted changeset:
2483
2484         "Web Inspector: InspectorController should support multiple
2485         frontend channels"
2486         https://bugs.webkit.org/show_bug.cgi?id=148538
2487         http://trac.webkit.org/changeset/189338
2488
2489 2015-09-03  Brian Burg  <bburg@apple.com>
2490
2491         Web Inspector: InspectorController should support multiple frontend channels
2492         https://bugs.webkit.org/show_bug.cgi?id=148538
2493
2494         Reviewed by Joseph Pecoraro.
2495
2496         Explicitly disconnect the frontend channel when closing the frontend.
2497
2498         Rename createInspectorPage/closeFrontend to the symmetric and unambiguous
2499         {open,close}FrontendConnection in the WebInspector class.
2500
2501         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2502         (WebKit::WebInspectorClient::openInspectorFrontend):
2503         (WebKit::WebInspectorClient::closeInspectorFrontend):
2504         * WebProcess/WebCoreSupport/WebInspectorClient.h: Stop using a forwarded type.
2505         * WebProcess/WebPage/WebInspector.cpp:
2506         (WebKit::WebInspector::openFrontendConnection):
2507         (WebKit::WebInspector::closeFrontendConnection):
2508         (WebKit::WebInspector::remoteFrontendConnected):
2509         (WebKit::WebInspector::remoteFrontendDisconnected):
2510         (WebKit::WebInspector::createInspectorPage): Deleted.
2511         (WebKit::WebInspector::closeFrontend): Deleted.
2512         * WebProcess/WebPage/WebInspector.h:
2513
2514 2015-09-03  Timothy Hatcher  <timothy@apple.com>
2515
2516         Web Inspector: Closing the Safari window when the Web Inspector is one of the other windows in split screen mode can cause the entire screen to go black
2517         https://bugs.webkit.org/show_bug.cgi?id=148777
2518
2519         Reviewed by Brian Burg.
2520
2521         * UIProcess/mac/WebInspectorProxyMac.mm:
2522         (WebKit::WebInspectorProxy::platformDidClose):
2523         (WebKit::WebInspectorProxy::platformHide):
2524         (WebKit::WebInspectorProxy::platformAttach):
2525         Call close instead of orderOut: to make fullscreen and tile modes with Web Inspector work as expected.
2526
2527 2015-09-03  Brady Eidson  <beidson@apple.com>
2528
2529         Move SecurityOriginData from WK2 to WebCore.
2530         https://bugs.webkit.org/show_bug.cgi?id=148739
2531
2532         Reviewed by Tim Horton.
2533
2534         This will be needed for upcoming IndexedDB work.
2535
2536         * CMakeLists.txt:
2537         * DatabaseProcess/DatabaseProcess.h:
2538         * DatabaseProcess/DatabaseProcess.messages.in:
2539         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
2540         * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
2541         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2542         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:
2543         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:
2544         * NetworkProcess/NetworkProcess.cpp:
2545         * NetworkProcess/NetworkProcess.h:
2546         * NetworkProcess/NetworkProcess.messages.in:
2547         * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
2548         * Shared/WebCrossThreadCopier.cpp:
2549         * Shared/WebCrossThreadCopier.h:
2550         * Shared/WebsiteData/WebsiteData.cpp:
2551         * UIProcess/API/APINavigationClient.h:
2552         * UIProcess/API/APIUIClient.h:
2553         * UIProcess/API/C/WKPage.cpp:
2554         * UIProcess/API/Cocoa/WKUserContentController.mm:
2555         * UIProcess/API/gtk/WebKitUIClient.cpp:
2556         * UIProcess/Cocoa/NavigationState.h:
2557         * UIProcess/Cocoa/NavigationState.mm:
2558         * UIProcess/Cocoa/UIDelegate.h:
2559         * UIProcess/Cocoa/UIDelegate.mm:
2560         * UIProcess/Storage/StorageManager.cpp:
2561         * UIProcess/Storage/StorageManager.h:
2562         * UIProcess/Storage/StorageManager.messages.in:
2563         * UIProcess/UserContent/WebScriptMessageHandler.h:
2564         * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
2565         * UIProcess/UserContent/WebUserContentControllerProxy.h:
2566         * UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
2567         * UIProcess/WebCookieManagerProxy.cpp:
2568         * UIProcess/WebPageProxy.h:
2569         * UIProcess/WebPageProxy.messages.in:
2570         * WebKit2.xcodeproj/project.pbxproj:
2571         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
2572         * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
2573         * WebProcess/MediaCache/WebMediaKeyStorageManager.h:
2574         * WebProcess/Storage/StorageAreaMap.cpp:
2575         * WebProcess/UserContent/WebUserContentController.cpp:
2576         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2577         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2578         * WebProcess/WebProcess.cpp:
2579         * WebProcess/WebProcess.h:
2580         * WebProcess/WebProcess.messages.in:
2581
2582 2015-09-03  Tim Horton  <timothy_horton@apple.com>
2583
2584         [Mac] Add support for testing swipes
2585         https://bugs.webkit.org/show_bug.cgi?id=148700
2586
2587         Reviewed by Beth Dakin.
2588
2589         * UIProcess/API/mac/WKView.mm:
2590         (takeWindowSnapshot):
2591         (-[WKView _takeViewSnapshot]):
2592         Fall back to the non-hardware snapshotting path if the hardware path fails,
2593         which usually happens if the view is fully off-screen (as in the case
2594         of WebKitTestRunner).
2595
2596 2015-09-02  Tim Horton  <timothy_horton@apple.com>
2597
2598         Add a modern API way to know that the navigation gesture snapshot was removed, for WebKitTestRunner
2599         https://bugs.webkit.org/show_bug.cgi?id=148693
2600
2601         Reviewed by Anders Carlsson.
2602
2603         * UIProcess/API/APINavigationClient.h:
2604         (API::NavigationClient::didRemoveNavigationGestureSnapshot):
2605         * UIProcess/API/C/WKPage.cpp:
2606         (WKPageSetPageNavigationClient):
2607         * UIProcess/API/C/WKPageNavigationClient.h:
2608         * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
2609         * UIProcess/Cocoa/NavigationState.h:
2610         * UIProcess/Cocoa/NavigationState.mm:
2611         (WebKit::NavigationState::setNavigationDelegate):
2612         (WebKit::NavigationState::navigationGestureSnapshotWasRemoved):
2613         * UIProcess/PageClient.h:
2614         * UIProcess/WebPageProxy.cpp:
2615         (WebKit::WebPageProxy::navigationGestureDidEnd):
2616         (WebKit::WebPageProxy::navigationGestureSnapshotWasRemoved):
2617         * UIProcess/ios/PageClientImplIOS.h:
2618         * UIProcess/ios/PageClientImplIOS.mm:
2619         (WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
2620         * UIProcess/mac/PageClientImpl.h:
2621         * UIProcess/mac/PageClientImpl.mm:
2622         (WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
2623         * UIProcess/API/gtk/PageClientImpl.cpp:
2624         (WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
2625         * UIProcess/API/gtk/PageClientImpl.h:
2626         * UIProcess/CoordinatedGraphics/WebView.h:
2627         Add a callback for WKTR when the swipe snapshot is removed.
2628
2629 2015-09-02  Andreas Kling  <akling@apple.com>
2630
2631         ScrollbarThemes should be returned by reference.
2632         <https://webkit.org/b/147551>
2633
2634         Reviewed by Zalan Bujtas.
2635
2636         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2637         (WebKit::PDFPlugin::paintControlForLayerInContext):
2638
2639 2015-09-02  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2640
2641         REGRESSION(r188206): [EFL] Adjust scrollbar width to ewk_view_contents_size_get API test 
2642         https://bugs.webkit.org/show_bug.cgi?id=148701
2643
2644         Reviewed by Csaba Osztrogonác.
2645
2646         r188206 applied to use non-overlay scrollbar on EFL minibrowser. So we need to
2647         adjust scrollwidth to ewk_view_contents_size_get API test as well.
2648
2649         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2650         (TEST_F):
2651
2652 2015-09-02  Emanuele Aina  <emanuele.aina@collabora.com>
2653
2654         Fix build with ENABLE(DATABASE_PROCESS) and !ENABLE(INDEXED_DATABASE)
2655         https://bugs.webkit.org/show_bug.cgi?id=146550
2656
2657         Reviewed by Brady Eidson.
2658
2659         Given that INDEXED_DATABASE at the moment is the only user of
2660         DATABASE_PROCESS, their guards got inevitably mixed up with various
2661         levels of consistency. Since the --no-indexed-database flag from
2662         build-webkit leaves DATABASE_PROCESS enabled, this resulted in build
2663         failures.
2664
2665         * DatabaseProcess/DatabaseProcess.cpp:
2666         * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
2667         * Shared/Databases/DatabaseProcessCreationParameters.cpp:
2668         * Shared/Databases/DatabaseProcessCreationParameters.h:
2669         * UIProcess/WebProcessPool.cpp:
2670         * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
2671         * WebProcess/Databases/WebToDatabaseProcessConnection.h:
2672         Add missing ENABLE(INDEXED_DATABASE) guards and moved the
2673         misplaced ones.
2674
2675         * DatabaseProcess/DatabaseProcess.h:
2676         Ditto, and also add a forward declaration for SecurityOriginData since
2677         with INDEXED_DATABASE off SecurityOriginData.h is no longer included
2678         by way of UniqueIDBDatabaseIdentifier.h.
2679
2680 2015-09-01  Brian Burg  <bburg@apple.com>
2681
2682         Web Inspector: opt the Inspector process out of page visibility-based process suppression when running tests
2683         https://bugs.webkit.org/show_bug.cgi?id=148686
2684
2685         Reviewed by Timothy Hatcher.
2686
2687         This may be the cause of debug test timeouts and high execution time variance
2688         that have been plaguing the bots. Process suppression shouldn't happen for
2689         inspector process during tests anyway, so it shouldn't hurt to flip this.
2690
2691         * UIProcess/API/C/WKPreferencesRefPrivate.h:
2692
2693             The stated default here is incorrect, the default value is true.
2694
2695         * UIProcess/API/Cocoa/WKPreferences.mm:
2696         (-[WKPreferences _pageVisibilityBasedProcessSuppressionEnabled]): Added.
2697         (-[WKPreferences _setPageVisibilityBasedProcessSuppressionEnabled:]): Added.
2698         * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2699         * UIProcess/mac/WebInspectorProxyMac.mm:
2700         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2701
2702 2015-09-01  Alexey Proskuryakov  <ap@apple.com>
2703
2704         Update sandbox after r179367
2705         https://bugs.webkit.org/show_bug.cgi?id=148683
2706         rdar://problem/21767401
2707
2708         Reviewed by Darin Adler.
2709
2710         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
2711
2712 2015-08-26  Andy Estes  <aestes@apple.com>
2713
2714         [Content Filtering] Determine navigation and content policy before continuing to filter a load
2715         https://bugs.webkit.org/show_bug.cgi?id=148506
2716
2717         Reviewed by Brady Eidson.
2718
2719         Deleted parts of r188486 and r188851.
2720
2721         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2722         (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
2723         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2724         * WebProcess/WebPage/WebFrame.cpp:
2725         (WebKit::WebFrame::convertMainResourceLoadToDownload):
2726
2727 2015-08-31  Chris Dumez  <cdumez@apple.com>
2728
2729         Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
2730         https://bugs.webkit.org/show_bug.cgi?id=148454
2731
2732         Reviewed by Ryosuke Niwa.
2733
2734         Update Range API call sites to reflect changes.
2735
2736         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
2737         (-[WKDOMRange collapse:]):
2738         (-[WKDOMRange startContainer]):
2739         (-[WKDOMRange startOffset]):
2740         (-[WKDOMRange endContainer]):
2741         (-[WKDOMRange endOffset]):
2742         (-[WKDOMRange isCollapsed]):
2743         (-[WKDOMRange text]): Deleted.
2744         * WebProcess/WebPage/FindController.cpp:
2745         (WebKit::FindController::getImageForFindMatch):
2746         (WebKit::FindController::selectFindMatch):
2747         * WebProcess/WebPage/WebPage.cpp:
2748         (WebKit::targetFrameForEditing):
2749         (WebKit::WebPage::firstRectForCharacterRangeAsync): Deleted.
2750         * WebProcess/WebPage/efl/WebPageEfl.cpp:
2751         (WebKit::targetFrameForEditing):
2752         * WebProcess/WebPage/ios/WebPageIOS.mm:
2753         (WebKit::WebPage::rangeForWebSelectionAtPosition):
2754         (WebKit::WebPage::rangeForBlockAtPoint):
2755         (WebKit::containsRange):
2756         (WebKit::unionDOMRanges):
2757         (WebKit::WebPage::contractedRangeFromHandle):
2758         * WebProcess/WebPage/mac/WebPageMac.mm:
2759         (WebKit::WebPage::dictionaryPopupInfoForRange):
2760         (WebKit::WebPage::firstRectForCharacterRange): Deleted.
2761
2762 2015-08-31  Tim Horton  <timothy_horton@apple.com>
2763
2764         iOS WebKit2 find-in-page doesn't support multi-line results, is often blank
2765         https://bugs.webkit.org/show_bug.cgi?id=148599
2766         <rdar://problem/17914031>
2767
2768         Reviewed by Beth Dakin.
2769
2770         * WebProcess/WebPage/FindController.cpp:
2771         (WebKit::FindController::findString):
2772         (WebKit::FindController::didFindString):
2773         * WebProcess/WebPage/FindController.h:
2774         Add didFindString() for FindControllerIOS.
2775
2776         * WebProcess/WebPage/ios/FindControllerIOS.mm:
2777         (WebKit::FindIndicatorOverlayClientIOS::drawRect):
2778         (WebKit::FindController::updateFindIndicator):
2779         (WebKit::setCompositionSelectionChangeEnabledInAllFrames):
2780         (WebKit::FindController::willFindString):
2781         (WebKit::FindController::didFindString):
2782         (WebKit::FindController::didFailToFindString):
2783         (WebKit::FindController::didHideFindIndicator):
2784         * WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:
2785         (WebKit::FindIndicatorOverlayClientIOS::FindIndicatorOverlayClientIOS):
2786         Adopt TextIndicator and shrink-wrapping.
2787
2788         We'll re-create the indicator if the device/page scale factor change;
2789         this is the only case in which a TextIndicator sticks around when
2790         page scale changes -- we should come up with a better model!
2791
2792 2015-08-31  Antti Koivisto  <antti@apple.com>
2793
2794         Network Cache: Stale content after back navigation
2795         https://bugs.webkit.org/show_bug.cgi?id=148634
2796
2797         Reviewed by Chris Dumez.
2798
2799         It is possible to get an older version of the previous page when navigating back. This can happen
2800         if the main resource load has not completed before navigating away from the page.
2801
2802         Network cache entry is normally updated when the load completes. In case of cancellation we would leave
2803         any existing entry as-is. However we render incrementally and user might have seen some content from
2804         the partial load already. Navigating back to the cached page could show older version of the content.
2805
2806         * NetworkProcess/NetworkResourceLoader.cpp:
2807         (WebKit::NetworkResourceLoader::abort):
2808
2809             If a network load is canceled by the client after receiving response but before the load has completed
2810             remove any existing cache entry for it.
2811
2812 2015-08-28  Myles C. Maxfield  <mmaxfield@apple.com>
2813
2814         Migrate GraphicsContexts from pointers to references
2815         https://bugs.webkit.org/show_bug.cgi?id=148561
2816
2817         Reviewed by Tim Horton.
2818
2819         * PluginProcess/PluginControllerProxy.cpp:
2820         (WebKit::PluginControllerProxy::paint):
2821         * Shared/cairo/ShareableBitmapCairo.cpp:
2822         (WebKit::ShareableBitmap::paint):
2823         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2824         (WebKit::imageForRect):
2825         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2826         (WebKit::InjectedBundleRangeHandle::renderedImage):
2827         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2828         (WebKit::NetscapePlugin::paint):
2829         (WebKit::NetscapePlugin::snapshot):
2830         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2831         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
2832         (WebKit::NetscapePlugin::platformPaint):
2833         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2834         (WebKit::NetscapePlugin::platformPaint):
2835         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2836         (WebKit::NetscapePlugin::platformPaint):
2837         * WebProcess/Plugins/PDF/PDFPlugin.h:
2838         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2839         (WebKit::PDFPlugin::updateControlTints):
2840         (WebKit::PDFPlugin::paintControlForLayerInContext):
2841         * WebProcess/Plugins/Plugin.cpp:
2842         (WebKit::Plugin::updateControlTints):
2843         * WebProcess/Plugins/Plugin.h:
2844         * WebProcess/Plugins/PluginProxy.cpp:
2845         (WebKit::PluginProxy::paint):
2846         * WebProcess/Plugins/PluginProxy.h:
2847         * WebProcess/Plugins/PluginView.cpp:
2848         (WebKit::PluginView::paint):
2849         * WebProcess/Plugins/PluginView.h:
2850         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
2851         (WebKit::convertCairoSurfaceToShareableBitmap):
2852         * WebProcess/WebPage/WebPage.cpp:
2853         (WebKit::WebPage::drawRect):
2854         (WebKit::WebPage::snapshotAtSize):
2855         (WebKit::WebPage::snapshotNode):
2856         * WebProcess/WebPage/ios/FindControllerIOS.mm:
2857         (WebKit::FindIndicatorOverlayClientIOS::drawRect):
2858
2859 2015-08-28  Eric Carlson  <eric.carlson@apple.com>
2860
2861         [Mac] Restructure WebMediaSessionManager for testing
2862         https://bugs.webkit.org/show_bug.cgi?id=148593
2863
2864         Reviewed by Jer Noble.
2865
2866         * UIProcess/mac/PageClientImpl.mm:
2867         (WebKit::PageClientImpl::mediaSessionManager): Call WebMediaSessionManager::singleton, not
2868           WebMediaSessionManagerMac::singleton.
2869
2870 2015-08-28  Jer Noble  <jer.noble@apple.com>
2871
2872         [iOS] Add WebKit/WebKit2 settings to control automatic data loading
2873         https://bugs.webkit.org/show_bug.cgi?id=148579
2874
2875         Reviewed by Anders Carlsson.
2876
2877         Add a property to WKWebViewConfiguration to control whether clients are allowed
2878         to load media data automatically.  Pass this configuration on through to WebCore.
2879
2880         * Shared/WebPreferencesDefinitions.h:
2881         * UIProcess/API/Cocoa/WKWebView.mm:
2882         (-[WKWebView initWithFrame:configuration:]):
2883         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2884         (-[WKWebViewConfiguration init]):
2885         (-[WKWebViewConfiguration copyWithZone:]):
2886         (-[WKWebViewConfiguration _mediaDataLoadsAutomatically]):
2887         (-[WKWebViewConfiguration _setMediaDataLoadsAutomatically:]):
2888         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2889         * WebProcess/WebPage/WebPage.cpp:
2890         (WebKit::WebPage::updatePreferences):
2891
2892 2015-08-28  Jer Noble  <jer.noble@apple.com>
2893
2894         [iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2.
2895         https://bugs.webkit.org/show_bug.cgi?id=147512
2896
2897         Reviewed by Anders Carlsson.
2898
2899         Default the value of allowsInlineMediaPlayback to YES on iPad and NO on iPhone and iPod.
2900         Add a new configuration property, _inlineMediaPlaybackRequiresPlaysInlineAttribute, which
2901         defaults to NO on iPad and YES on iPhone and iPad.
2902
2903         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2904         (-[WKWebViewConfiguration init]):
2905         * Shared/WebPreferencesDefinitions.h:
2906         * UIProcess/API/C/WKPreferences.cpp:
2907         (WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute):
2908         (WKPreferencesGetInlineMediaPlaybackRequiresPlaysInlineAttribute):
2909         * UIProcess/API/C/WKPreferencesRefPrivate.h:
2910         * UIProcess/API/Cocoa/WKWebView.mm:
2911         (-[WKWebView initWithFrame:configuration:]):
2912         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2913         (-[WKWebViewConfiguration init]):
2914         (-[WKWebViewConfiguration copyWithZone:]):
2915         (-[WKWebViewConfiguration _inlineMediaPlaybackRequiresPlaysInlineAttribute]):
2916         (-[WKWebViewConfiguration _setInlineMediaPlaybackRequiresPlaysInlineAttribute:]):
2917         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
2918         * WebProcess/WebPage/WebPage.cpp:
2919         (WebKit::WebPage::updatePreferences):
2920
2921 2015-08-28  Timothy Horton  <timothy_horton@apple.com>
2922
2923         Add navigation gesture callbacks to WKPageNavigationClient
2924         https://bugs.webkit.org/show_bug.cgi?id=148568
2925         <rdar://problem/22371346>
2926
2927         Reviewed by Anders Carlsson.
2928
2929         * UIProcess/API/APINavigationClient.h:
2930         (API::NavigationClient::didBeginNavigationGesture):
2931         (API::NavigationClient::willEndNavigationGesture):
2932         (API::NavigationClient::didEndNavigationGesture):
2933         * UIProcess/API/C/WKPage.cpp:
2934         (WKPageSetPageNavigationClient):
2935         * UIProcess/API/C/WKPageNavigationClient.h:
2936         * UIProcess/WebPageProxy.cpp:
2937         (WebKit::WebPageProxy::navigationGestureDidBegin):
2938         (WebKit::WebPageProxy::navigationGestureWillEnd):
2939         (WebKit::WebPageProxy::navigationGestureDidEnd):
2940
2941 2015-08-28  Timothy Horton  <timothy_horton@apple.com>
2942
2943         Get rid of the DynamicSizeWithMinimumViewSize layout mode
2944         https://bugs.webkit.org/show_bug.cgi?id=148554
2945
2946         Reviewed by Anders Carlsson.
2947
2948         * UIProcess/API/C/WKLayoutMode.h:
2949         * UIProcess/API/Cocoa/WKViewPrivate.h:
2950         * UIProcess/API/Cocoa/WKWebView.mm:
2951         (-[WKWebView _layoutMode]):
2952         (-[WKWebView _setLayoutMode:]):
2953         (-[WKWebView _setMinimumViewSize:]): Deleted.
2954         (-[WKWebView _minimumViewSize]): Deleted.
2955         * UIProcess/API/Cocoa/WKWebViewPrivate.h:
2956         * UIProcess/API/Cocoa/_WKLayoutMode.h:
2957         * UIProcess/API/mac/WKView.mm:
2958         (-[WKView _setMinimumViewSize:]): Deleted.
2959         (-[WKView _minimumViewSize]): Deleted.
2960         * UIProcess/WebPageProxy.cpp:
2961         (WebKit::WebPageProxy::scaleViewAndUpdateGeometryFenced): Deleted.
2962         * UIProcess/WebPageProxy.h:
2963         * UIProcess/mac/WKViewLayoutStrategy.mm:
2964         (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
2965         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
2966         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy _updateTransientScale:]): Deleted.
2967         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]): Deleted.
2968         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeMinimumViewSize]): Deleted.
2969         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willStartLiveResize]): Deleted.
2970         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didEndLiveResize]): Deleted.
2971         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeFrameSize]): Deleted.
2972         (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]): Deleted.
2973         * WebProcess/WebPage/DrawingArea.h:
2974         (WebKit::DrawingArea::replyWithFenceAfterNextFlush): Deleted.
2975         * WebProcess/WebPage/WebPage.cpp:
2976         (WebKit::WebPage::scaleViewAndUpdateGeometryFenced): Deleted.
2977         * WebProcess/WebPage/WebPage.h:
2978         * WebProcess/WebPage/WebPage.messages.in:
2979         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2980         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2981         (WebKit::TiledCoreAnimationDrawingArea::replyWithFenceAfterNextFlush): Deleted.
2982
2983 2015-08-28  Timothy Horton  <timothy_horton@apple.com>
2984
2985         [Mac] Right-clicking on GIFs spins the UI process for a while
2986         https://bugs.webkit.org/show_bug.cgi?id=148566
2987         <rdar://problem/22460854>
2988
2989         Reviewed by Brady Eidson.
2990
2991         * UIProcess/WebPageProxy.cpp:
2992         (WebKit::WebPageProxy::internalShowContextMenu):
2993         (WebKit::WebPageProxy::platformInitializeShareMenuItem):
2994         * UIProcess/WebPageProxy.h:
2995         * UIProcess/mac/WebPageProxyMac.mm:
2996         (WebKit::WebPageProxy::platformInitializeShareMenuItem):
2997         Move all of the code to make a Share menuitem into platformInitializeShareMenuItem.
2998         Make an NSImage directly from the image data if possible.
2999
3000 2015-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>
3001
3002         [CMake] LIBSECCOMP_INCLUDE_DIRS should be added to WebKit2_SYSTEM_INCLUDE_DIRECTORIES
3003         https://bugs.webkit.org/show_bug.cgi?id=148552
3004
3005         Reviewed by Žan Doberšek.
3006
3007         LIBSECCOMP_INCLUDE_DIRS should be added to WebKit2_SYSTEM_INCLUDE_DIRECTORIES, not
3008         WebKit2_INCLUDE_DIRECTORIES. (So that warnings from libseccomp headers are suppressed. Not
3009         that there are any right now.)
3010
3011         * PlatformGTK.cmake:
3012
3013 2015-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>
3014
3015         Minor fixes in reportUnexpectedSyscall
3016         https://bugs.webkit.org/show_bug.cgi?id=148551
3017
3018         Reviewed by Žan Doberšek.
3019
3020         There is an off-by-one in the static assert.
3021
3022         Also, an unsigned long long is passed in, but the parameter is an int. Then it's passed to
3023         writeUnsignedInt, which takes an unsigned int. Let's use unsigned int instead. (The value
3024         is a syscall number, so it's safe to truncate regardless -- it never be anywhere near as
3025         large as an int, unless the input is malicious, in which case truncating it is the right
3026         thing to do anyway -- so this is just a matter of style.)
3027
3028         * Shared/linux/SeccompFilters/Syscall.cpp:
3029         (WebKit::reportUnexpectedSyscall):
3030
3031 2015-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3032
3033         [GTK] Simplify the internal API to create a WebView
3034         https://bugs.webkit.org/show_bug.cgi?id=148570
3035
3036         Reviewed by Žan Doberšek.
3037
3038         Now that all the information required to create a WebView is in
3039         API::PageConfiguration, we can simplify the internal API to
3040         receive only the configuration instead of receiving a long list of
3041         parameters that we use to build a new API::PageConfiguration.
3042
3043         * UIProcess/API/C/gtk/WKView.cpp:
3044         (WKViewCreate):
3045         * UIProcess/API/C/gtk/WKView.h:
3046         * UIProcess/API/gtk/WebKitWebContext.cpp:
3047         (webkitWebContextCreatePageForWebView):
3048         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3049         (webkitWebViewBaseCreate):
3050         (webkitWebViewBaseCreateWebPage):
3051         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
3052         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
3053         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3054
3055 2015-08-27  Timothy Horton  <timothy_horton@apple.com>
3056
3057         Video full-screen shouldn't use the DynamicSizeWithMinimumViewSize layout mode
3058         https://bugs.webkit.org/show_bug.cgi?id=148553
3059
3060         Reviewed by Zalan Bujtas.
3061
3062         * UIProcess/API/mac/WKView.mm:
3063         (-[WKView _supportsArbitraryLayoutModes]):
3064         (-[WKView _updateSupportsArbitraryLayoutModes]):
3065         (-[WKView _didCommitLoadForMainFrame]):
3066         * UIProcess/API/mac/WKViewInternal.h:
3067         * UIProcess/mac/PageClientImpl.mm:
3068         (WebKit::PageClientImpl::beganEnterFullScreen):
3069         (WebKit::PageClientImpl::beganExitFullScreen):
3070         * UIProcess/mac/WKFullScreenWindowController.mm:
3071         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Deleted.
3072         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Deleted.
3073         It's not OK to just randomly change the layout mode, because the client
3074         can change it or its properties out from under us, and also because we
3075         weren't resetting it to whatever the client had specified.
3076
3077         I recently implemented a better way to override layout modes, for PDF,
3078         so use that here. Also, we shouldn't use DynamicSizeWithMinimumViewSize,
3079         we should just use the "normal" mode (ViewSize), since we've already ensured
3080         a minimum size by setting contentMinSize.
3081
3082 2015-08-27  Alexey Proskuryakov  <ap@apple.com>
3083
3084         pluginInfo.clientLoadPolicy is used uninitialized in WebContent process
3085         https://bugs.webkit.org/show_bug.cgi?id=148550
3086
3087         Reviewed by Tim Horton.
3088
3089         This fixes flakiness on plugins/plugin-javascript-access.html.
3090
3091         * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<PluginInfo>::decode):
3092
3093 2015-08-27  Timothy Horton  <timothy_horton@apple.com>
3094
3095         Factor out Lookup invocation
3096         https://bugs.webkit.org/show_bug.cgi?id=148509
3097
3098         Reviewed by Anders Carlsson.
3099
3100         * Shared/DictionaryPopupInfo.cpp: Removed.
3101         * Shared/DictionaryPopupInfo.h: Removed.
3102         Moved to WebCore.
3103
3104         * Shared/WebCoreArgumentCoders.cpp:
3105         (IPC::ArgumentCoder<DictionaryPopupInfo>::encode):
3106         (IPC::ArgumentCoder<DictionaryPopupInfo>::decode):
3107         Add encode/decoders for DictionaryPopupInfo now that it's in WebCore.
3108
3109         * Shared/WebCoreArgumentCoders.h:
3110         * Shared/WebHitTestResult.h:
3111         * Shared/mac/ArgumentCodersMac.h:
3112         * UIProcess/API/mac/WKView.mm:
3113         (+[WKView hideWordDefinitionWindow]):
3114         (-[WKView _dismissContentRelativeChildWindows]):
3115         * UIProcess/PageClient.h:
3116         * UIProcess/WebPageProxy.h:
3117         * UIProcess/WebPageProxy.messages.in:
3118         * UIProcess/mac/PageClientImpl.h:
3119         * UIProcess/mac/PageClientImpl.mm:
3120         (WebKit::PageClientImpl::didPerformDictionaryLookup):
3121         * UIProcess/mac/WKImmediateActionController.mm:
3122         (-[WKImmediateActionController _animationControllerForText]):
3123         * UIProcess/mac/WebPageProxyMac.mm:
3124         * WebKit2.xcodeproj/project.pbxproj:
3125         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3126         (WebKit::PDFPlugin::showDefinitionForAttributedString):
3127         (WebKit::PDFPlugin::lookupTextAtLocation):
3128         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
3129         * WebProcess/WebPage/WebPage.h:
3130         * WebProcess/WebPage/mac/WebPageMac.mm:
3131         (WebKit::WebPage::performDictionaryLookupAtLocation):
3132         (WebKit::WebPage::performDictionaryLookupForSelection):
3133         (WebKit::WebPage::dictionaryPopupInfoForRange):
3134         (WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin):
3135         (WebKit::WebPage::lookupTextAtLocation):
3136         Adjust to new names and move stuff to WebCore.
3137
3138 2015-08-27  Brian Burg  <bburg@apple.com>
3139
3140         Web Inspector: FrontendChannel should know its own connection type
3141         https://bugs.webkit.org/show_bug.cgi?id=148482
3142
3143         Reviewed by Joseph Pecoraro.
3144
3145         * WebProcess/WebPage/WebInspector.h: add connectionType().
3146
3147 2015-08-27  Csaba Osztrogonác  <ossy@webkit.org>
3148
3149         [EFL] REGRESSION: 50+ layout tests crash
3150         https://bugs.webkit.org/show_bug.cgi?id=148471
3151
3152         Reviewed by Gyuyoung Kim.
3153
3154         * UIProcess/CoordinatedGraphics/WebView.cpp:
3155         (WebKit::WebView::WebView):
3156
3157 2015-08-27  Zan Dobersek  <zdobersek@igalia.com>
3158
3159         Fix WKMutableArray creations in WKUserMediaPermissionRequest
3160         https://bugs.webkit.org/show_bug.cgi?id=148489
3161
3162         Reviewed by Carlos Garcia Campos.
3163
3164         Call WKMutableArrayCreate() to create the WKMutableArray objects.
3165         WKMutableArrayRef type is a pointer, so calling 'WKMutableArrayRef()' 
3166         just sets a null value to the variable that is then returned and
3167         queried for size in WebKitTestRunner's TestController, resulting
3168         in a crash.
3169
3170         * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
3171         (WKUserMediaPermissionRequestDeviceNamesVideo):
3172         (WKUserMediaPermissionRequestDeviceNamesAudio):
3173
3174 2015-08-26  Emanuele Aina  <emanuele.aina@collabora.com>
3175
3176         [ThreadedCompositor] Use WTF::Condition together with WTF::Lock
3177         https://bugs.webkit.org/show_bug.cgi?id=148493
3178
3179         Reviewed by Gyuyoung Kim.
3180
3181         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
3182         Replace ThreadCondition::signal() calls with Condition::notifyOne().
3183         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
3184         Replace ThreadCondition usage with Condition.
3185
3186 2015-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
3187
3188         Fix crash due to animationDidEnd called on deallocated RemoteLayerTreeHost
3189         https://bugs.webkit.org/show_bug.cgi?id=148442
3190         <rdar://problem/21609257>
3191
3192         Reviewed by Tim Horton.
3193
3194         A PlatformCAAnimationRemote's backpointer to a deallocated RemoteLayerTreeHost is not
3195         invalidated when its host removes its reference to it.
3196
3197         * UIProcess/mac/RemoteLayerTreeHost.mm:
3198         (WebKit::RemoteLayerTreeHost::layerWillBeRemoved): Invalidate a backpointer from the
3199             PlatformCAAnimationRemotes to the RemoteLayerTreeHost.
3200
3201 2015-08-26  Beth Dakin  <bdakin@apple.com>
3202
3203         REGRESSION: Safari navigates after a cancelled force click
3204         https://bugs.webkit.org/show_bug.cgi?id=148491
3205         -and corresponding-
3206         rdar://problem/22394323
3207
3208         Reviewed by Tim Horton.
3209
3210         Use the current stage to determine which type of cancel this is.
3211         * WebProcess/WebPage/mac/WebPageMac.mm:
3212         (WebKit::WebPage::immediateActionDidCancel):
3213
3214 2015-08-26  Eric Carlson  <eric.carlson@apple.com>
3215
3216         Media Session: make MediaSessionMetadata a class
3217         https://bugs.webkit.org/show_bug.cgi?id=148486
3218
3219         Reviewed by Jer Noble.
3220
3221         * Shared/WebCoreArgumentCoders.h: struct MediaSessionMetadata -> class MediaSessionMetadata.
3222         * UIProcess/WebPageProxy.h: Ditto.
3223
3224 2015-08-26  Zan Dobersek  <zdobersek@igalia.com>
3225
3226         Unreviewed.
3227
3228         Fix the crashes in GTK+'s WebKitTestRunner by setting the process pool
3229         on the API::PageConfiguration object in webkitWebViewBaseCreate().
3230
3231         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3232         (webkitWebViewBaseCreate):
3233
3234 2015-08-25  Beth Dakin  <bdakin@apple.com>
3235
3236         Speculative build fix.
3237
3238         * UIProcess/ios/WKContentViewInteraction.mm:
3239         (-[WKContentView setupInteraction]):
3240
3241 2015-08-25  Beth Dakin  <bdakin@apple.com>
3242
3243         Long press gesture recognizer should adjust delay based on other recognizers
3244         https://bugs.webkit.org/show_bug.cgi?id=148402
3245         -and corresponding-
3246         rdar://problem/22278723
3247
3248         Reviewed by Tim Horton.
3249
3250         Call _setAdjustsDelayBasedOnOtherRecognizers with a value of YES.
3251         * UIProcess/ios/WKContentViewInteraction.mm:
3252         (-[WKContentView setupInteraction]):
3253
3254 2015-08-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
3255
3256         Unreviewed, EFL and GTK build fix since r188895.
3257
3258         * CMakeLists.txt: Rename Rename VisitedLinkProvider to VisitedLinkStore.
3259
3260 2015-08-24  Anders Carlsson  <andersca@apple.com>
3261
3262         Rename VisitedLinkProvider to VisitedLinkStore
3263         https://bugs.webkit.org/show_bug.cgi?id=148406
3264
3265         Reviewed by Tim Horton.
3266
3267         * DerivedSources.make:
3268         * Shared/API/APIObject.h:
3269         * Shared/Cocoa/APIObject.mm:
3270         (API::Object::newObject):
3271         * UIProcess/API/APIPageConfiguration.cpp:
3272         (API::PageConfiguration::copy):
3273         (API::PageConfiguration::visitedLinkStore):
3274         (API::PageConfiguration::setVisitedLinkStore):
3275         (API::PageConfiguration::visitedLinkProvider): Deleted.
3276         (API::PageConfiguration::setVisitedLinkProvider): Deleted.
3277         * UIProcess/API/APIPageConfiguration.h:
3278         * UIProcess/API/C/WKContext.cpp:
3279         (WKContextAddVisitedLink):
3280         (WKContextClearVisitedLinks):
3281         * UIProcess/API/Cocoa/WKWebView.mm:
3282         (-[WKWebView initWithFrame:configuration:]):
3283         * UIProcess/API/Cocoa/_WKVisitedLinkStore.mm:
3284         (-[_WKVisitedLinkStore init]):
3285         (-[_WKVisitedLinkStore dealloc]):
3286         (-[_WKVisitedLinkStore addVisitedLinkWithURL:]):
3287         (-[_WKVisitedLinkStore removeAll]):
3288         (-[_WKVisitedLinkStore _apiObject]):
3289         * UIProcess/API/Cocoa/_WKVisitedLinkStoreInternal.h:
3290         (WebKit::wrapper):
3291         * UIProcess/VisitedLinkProvider.cpp:
3292         (WebKit::generateIdentifier): Deleted.
3293         (WebKit::VisitedLinkProvider::create): Deleted.
3294         (WebKit::VisitedLinkProvider::~VisitedLinkProvider): Deleted.
3295         (WebKit::VisitedLinkProvider::VisitedLinkProvider): Deleted.
3296         (WebKit::VisitedLinkProvider::addProcess): Deleted.
3297         (WebKit::VisitedLinkProvider::removeProcess): Deleted.
3298         (WebKit::VisitedLinkProvider::addVisitedLinkHash): Deleted.
3299         (WebKit::VisitedLinkProvider::removeAll): Deleted.
3300         (WebKit::VisitedLinkProvider::webProcessWillOpenConnection): Deleted.
3301         (WebKit::VisitedLinkProvider::webProcessDidCloseConnection): Deleted.
3302         (WebKit::VisitedLinkProvider::addVisitedLinkHashFromPage): Deleted.
3303         (WebKit::nextPowerOf2): Deleted.
3304         (WebKit::tableSizeForKeyCount): Deleted.
3305         (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Deleted.
3306         (WebKit::VisitedLinkProvider::resizeTable): Deleted.
3307         (WebKit::VisitedLinkProvider::sendTable): Deleted.
3308         * UIProcess/VisitedLinkStore.cpp: Renamed from Source/WebKit2/UIProcess/VisitedLinkProvider.cpp.
3309         (WebKit::generateIdentifier):
3310         (WebKit::VisitedLinkStore::create):
3311         (WebKit::VisitedLinkStore::~VisitedLinkStore):
3312         (WebKit::VisitedLinkStore::VisitedLinkStore):
3313         (WebKit::VisitedLinkStore::addProcess):
3314         (WebKit::VisitedLinkStore::removeProcess):
3315         (WebKit::VisitedLinkStore::addVisitedLinkHash):
3316         (WebKit::VisitedLinkStore::removeAll):
3317         (WebKit::VisitedLinkStore::webProcessWillOpenConnection):
3318         (WebKit::VisitedLinkStore::webProcessDidCloseConnection):
3319         (WebKit::VisitedLinkStore::addVisitedLinkHashFromPage):
3320         (WebKit::nextPowerOf2):
3321         (WebKit::tableSizeForKeyCount):
3322         (WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired):
3323         (WebKit::VisitedLinkStore::resizeTable):
3324         (WebKit::VisitedLinkStore::sendTable):
3325         * UIProcess/VisitedLinkStore.h: Renamed from Source/WebKit2/UIProcess/VisitedLinkProvider.h.
3326         * UIProcess/VisitedLinkStore.messages.in: Renamed from Source/WebKit2/UIProcess/VisitedLinkProvider.messages.in.
3327         * UIProcess/WebPageProxy.cpp:
3328         (WebKit::WebPageProxy::WebPageProxy):
3329         (WebKit::WebPageProxy::processDidFinishLaunching):
3330         (WebKit::WebPageProxy::creationParameters):
3331         * UIProcess/WebPageProxy.h:
3332         * UIProcess/WebProcessPool.cpp:
3333         (WebKit::WebProcessPool::WebProcessPool):
3334         (WebKit::WebProcessPool::createWebPage):
3335         * UIProcess/WebProcessPool.h:
3336         * UIProcess/WebProcessProxy.cpp:
3337         (WebKit::WebProcessProxy::shutDown):
3338         (WebKit::WebProcessProxy::addVisitedLinkStore):
3339         (WebKit::WebProcessProxy::didDestroyVisitedLinkStore):
3340         (WebKit::WebProcessProxy::addVisitedLinkProvider): Deleted.
3341         (WebKit::WebProcessProxy::didDestroyVisitedLinkProvider): Deleted.
3342         * UIProcess/WebProcessProxy.h:
3343         * WebKit2.xcodeproj/project.pbxproj:
3344         * WebProcess/WebPage/VisitedLinkTableController.cpp:
3345         (WebKit::VisitedLinkTableController::addVisitedLink):
3346
3347 2015-08-24  Tim Horton  <timothy_horton@apple.com>
3348
3349         (Finally...) get rid of WKViewIOS
3350         https://bugs.webkit.org/show_bug.cgi?id=148404
3351
3352         Reviewed by Anders Carlsson.
3353
3354         * UIProcess/API/Cocoa/WKView.h:
3355         * UIProcess/API/ios/WKViewIOS.mm: Removed.
3356         * UIProcess/ios/PageClientImplIOS.h:
3357         * UIProcess/ios/PageClientImplIOS.mm:
3358         (WebKit::PageClientImpl::PageClientImpl): Deleted.
3359         (WebKit::PageClientImpl::didRelaunchProcess): Deleted.
3360         (WebKit::PageClientImpl::refView): Deleted.
3361         (WebKit::PageClientImpl::derefView): Deleted.
3362         * UIProcess/ios/WKContentView.h:
3363         * UIProcess/ios/WKContentView.mm:
3364         (-[WKContentView initWithFrame:processPool:configuration:wkView:]): Deleted.
3365         * WebKit2.xcodeproj/project.pbxproj:
3366         Get rid of WKViewIOS and references to it.
3367
3368         * DatabaseProcess/ios/DatabaseProcessIOS.mm:
3369         (WebKit::DatabaseProcess::initializeSandbox):
3370         * NetworkProcess/ios/NetworkProcessIOS.mm:
3371         (WebKit::NetworkProcess::initializeSandbox):
3372         * Shared/Plugins/mac/PluginSandboxProfile.mm:
3373         (WebKit::pluginSandboxProfileDirectory):
3374         * Shared/ios/ChildProcessIOS.mm:
3375         (WebKit::ChildProcess::initializeSandbox):
3376         * WebProcess/cocoa/WebProcessCocoa.mm:
3377         (WebKit::WebProcess::initializeSandbox):
3378         Look for WKWebView instead of WKView if we have it.
3379
3380 2015-08-24  Anders Carlsson  <andersca@apple.com>
3381
3382         Rename _WKVisitedLinkProvider to _WKVisitedLinkStore for consistency
3383         https://bugs.webkit.org/show_bug.cgi?id=148398
3384
3385         Reviewed by Tim Horton.
3386
3387         We'd like to call the abstract classes providers and the concrete classes stores in WebKit. Begin by renaming
3388         _WKVisitedLinkProvider to _WKVisitedLinkStore, but keep the former around as a deprecated class.
3389
3390         * Shared/API/Cocoa/WebKitPrivate.h:
3391         * Shared/Cocoa/APIObject.mm:
3392         (API::Object::newObject):
3393         * UIProcess/API/Cocoa/WKWebView.mm:
3394         (-[WKWebView initWithFrame:configuration:]):
3395         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
3396         (-[WKWebViewConfiguration copyWithZone:]):
3397         (-[WKWebViewConfiguration _visitedLinkStore]):
3398         (-[WKWebViewConfiguration _setVisitedLinkStore:]):
3399         (-[WKWebViewConfiguration _visitedLinkProvider]):
3400         (-[WKWebViewConfiguration _setVisitedLinkProvider:]):
3401         (-[WKWebViewConfiguration _validate]):
3402         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
3403         * UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
3404         * UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
3405         (-[_WKVisitedLinkProvider init]): Deleted.
3406         (-[_WKVisitedLinkProvider dealloc]): Deleted.
3407         (-[_WKVisitedLinkProvider addVisitedLinkWithURL:]): Deleted.
3408         (-[_WKVisitedLinkProvider removeAll]): Deleted.
3409         (-[_WKVisitedLinkProvider _apiObject]): Deleted.
3410         * UIProcess/API/Cocoa/_WKVisitedLinkStore.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKVisitedLinkProvider.h.
3411         * UIProcess/API/Cocoa/_WKVisitedLinkStore.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm.
3412         (-[_WKVisitedLinkStore init]):
3413         (-[_WKVisitedLinkStore dealloc]):
3414         (-[_WKVisitedLinkStore addVisitedLinkWithURL:]):
3415         (-[_WKVisitedLinkStore removeAll]):
3416         (-[_WKVisitedLinkStore _apiObject]):
3417         * UIProcess/API/Cocoa/_WKVisitedLinkStoreInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKVisitedLinkProviderInternal.h.
3418         (WebKit::wrapper):
3419         * WebKit2.xcodeproj/project.pbxproj:
3420
3421 2015-08-24  Wenson Hsieh  <wenson_hsieh@apple.com>
3422
3423         Use _NSScrollingPredominantAxisFilter for wheel event filtering on Mac
3424         https://bugs.webkit.org/show_bug.cgi?id=147320
3425
3426         Reviewed by Simon Fraser.
3427
3428         Refactored to use a predominant axis filter instead of a predominant axis tracker. This allows us to
3429         employ AppKit's _NSScrollingPredominantAxisFilter when possible, and use the wheel event delta tracker
3430         as a fallback. Here, we refactor EventDispatcher to use the new filters for mainframe scrolling.
3431
3432         No new tests, since this change does not add new functionality.
3433
3434         * WebProcess/WebPage/EventDispatcher.cpp: Include WheelEventDeltaFilterMac.h when necessary.
3435         (WebKit::EventDispatcher::EventDispatcher): Initialize a WheelEventDeltaFilterMac when possible. Otherwise,
3436             fall back to a BasicWheelEventDeltaFilter.
3437         (WebKit::EventDispatcher::wheelEvent): Use filtered deltas to initialize the platform wheel event instead
3438             of zeroing out non-predominant axes.
3439         * WebProcess/WebPage/EventDispatcher.h: Replace m_recentWheelEventDeltaTracker with m_recentWheelEventDeltaFilter.
3440
3441 2015-08-23  Andy Estes  <aestes@apple.com>
3442
3443         [Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
3444         https://bugs.webkit.org/show_bug.cgi?id=147872
3445         rdar://problem/22044000
3446
3447         Reviewed by Dan Bernstein.
3448         
3449         The provisional DocumentLoader request URL does not reflect redirects when content filtering is enabled, but
3450         the URL argument passed to dispatchDidReceiveServerRedirectForProvisionalLoad() does, so use it intead.
3451
3452         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3453         (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
3454         Sent DidReceiveServerRedirectForProvisionalLoadForFrame using the URL argument.
3455         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3456
3457 2015-08-23  Csaba Osztrogonác  <ossy@webkit.org>
3458
3459         Typo fix after r188842.
3460
3461         * CMakeLists.txt:
3462
3463 2015-08-23  Csaba Osztrogonác  <ossy@webkit.org>
3464
3465         Speculative buildfix after r188828.
3466
3467         * CMakeLists.txt:
3468
3469 2015-08-22  Tim Horton  <timothy_horton@apple.com>
3470
3471         Factor out and add logging to swipe-start hysteresis code
3472         https://bugs.webkit.org/show_bug.cgi?id=148361
3473
3474         Reviewed by Darin Adler.
3475
3476         * UIProcess/ViewGestureController.cpp:
3477         (WebKit::ViewGestureController::ViewGestureController):
3478         * UIProcess/mac/ViewGestureController.h:
3479         (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
3480         (WebKit::ViewGestureController::shouldIgnorePinnedState):
3481         (WebKit::ViewGestureController::setShouldIgnorePinnedState):
3482         (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
3483         (WebKit::ViewGestureController::PendingSwipeTracker::shouldIgnorePinnedState):
3484         (WebKit::ViewGestureController::PendingSwipeTracker::setShouldIgnorePinnedState):
3485         Move pending-swipe members into PendingSwipeTracker.
3486
3487         * UIProcess/mac/ViewGestureControllerMac.mm:
3488         (WebKit::scrollEventCanInfluenceSwipe):
3489         (WebKit::deltaShouldCancelSwipe):
3490         (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
3491         (WebKit::ViewGestureController::handleScrollWheelEvent):
3492         (WebKit::ViewGestureController::PendingSwipeTracker::handleEvent):
3493         (WebKit::ViewGestureController::PendingSwipeTracker::eventWasNotHandledByWebCore):
3494         (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
3495         (WebKit::ViewGestureController::PendingSwipeTracker::reset):
3496         (WebKit::ViewGestureController::trackSwipeGesture):
3497         (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
3498         Move pending-swipe methods into PendingSwipeTracker.
3499         Clean up the logic a bit.
3500         Add some logging.
3501
3502 2015-08-22  Timothy Horton  <timothy_horton@apple.com>
3503
3504   &