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