ce203576debd1e78475b274e87147e4475bf9a37
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2015-12-17  Alex Christensen  <achristensen@webkit.org>
2
3         Build fix after r194250
4
5         * WebKit2.xcodeproj/project.pbxproj:
6         Change target membership from all to WebKit.
7
8 2015-12-17  Alex Christensen  <achristensen@webkit.org>
9
10         Add types for DownloadID and TaskIdentifier
11         https://bugs.webkit.org/show_bug.cgi?id=152401
12
13         Reviewed by Brady Eidson.
14
15         DownloadID and TaskIdentifier used to both be just uint64_t's.
16         It is confusing to distinguish between them, so now they both have names.
17         We need a HashMap<TaskIdentifier, DownloadID> instead of a HashMap<uint64_t, uint64_t>.
18
19         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
20         (WebKit::storageSession):
21         (WebKit::NetworkConnectionToWebProcess::startDownload):
22         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
23         * NetworkProcess/NetworkConnectionToWebProcess.h:
24         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
25         * NetworkProcess/NetworkProcess.cpp:
26         (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
27         (WebKit::NetworkProcess::downloadRequest):
28         (WebKit::NetworkProcess::resumeDownload):
29         (WebKit::NetworkProcess::cancelDownload):
30         (WebKit::NetworkProcess::getNetworkProcessStatistics):
31         (WebKit::NetworkProcess::logDiagnosticMessage):
32         (WebKit::NetworkProcess::logDiagnosticMessageWithResult):
33         (WebKit::NetworkProcess::logDiagnosticMessageWithValue):
34         * NetworkProcess/NetworkProcess.h:
35         * NetworkProcess/NetworkProcess.messages.in:
36         * NetworkProcess/NetworkSession.h:
37         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
38         (WebKit::NetworkSession::createDataTaskWithRequest):
39         (WebKit::NetworkSession::dataTaskForIdentifier):
40         (WebKit::NetworkDataTask::resume):
41         (WebKit::NetworkDataTask::taskIdentifier): Deleted.
42         * Shared/Downloads/Download.cpp:
43         (WebKit::Download::Download):
44         (WebKit::Download::messageSenderDestinationID):
45         * Shared/Downloads/Download.h:
46         (WebKit::Download::downloadID):
47         * Shared/Downloads/DownloadID.h: Added.
48         (WebKit::DownloadID::DownloadID):
49         (WebKit::DownloadID::operator==):
50         (WebKit::DownloadID::downloadID):
51         (IPC::ArgumentCoder<WebKit::DownloadID>::encode):
52         (IPC::ArgumentCoder<WebKit::DownloadID>::decode):
53         (WTF::DownloadIDHash::hash):
54         (WTF::DownloadIDHash::equal):
55         (WTF::HashTraits<WebKit::DownloadID>::emptyValue):
56         (WTF::HashTraits<WebKit::DownloadID>::constructDeletedValue):
57         (WTF::HashTraits<WebKit::DownloadID>::isDeletedValue):
58         * Shared/Downloads/DownloadManager.cpp:
59         (WebKit::DownloadManager::DownloadManager):
60         (WebKit::DownloadManager::startDownload):
61         (WebKit::DownloadManager::convertHandleToDownload):
62         (WebKit::DownloadManager::resumeDownload):
63         (WebKit::DownloadManager::cancelDownload):
64         * Shared/Downloads/DownloadManager.h:
65         (WebKit::DownloadManager::isDownloading):
66         * UIProcess/API/C/WKDownload.cpp:
67         (WKDownloadGetID):
68         (WKDownloadCopyRequest):
69         * UIProcess/Downloads/DownloadProxy.h:
70         (WebKit::DownloadProxy::downloadID):
71         (WebKit::DownloadProxy::request):
72         (WebKit::DownloadProxy::resumeData):
73         * UIProcess/Downloads/DownloadProxyMap.cpp:
74         (WebKit::DownloadProxyMap::createDownloadProxy):
75         (WebKit::DownloadProxyMap::downloadFinished):
76         (WebKit::DownloadProxyMap::processDidClose):
77         * UIProcess/Downloads/DownloadProxyMap.h:
78         * UIProcess/WebPageProxy.cpp:
79         (WebKit::WebPageProxy::receivedPolicyDecision):
80         (WebKit::WebPageProxy::frameDidBecomeFrameSet):
81         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
82         (WebKit::WebPageProxy::decidePolicyForResponse):
83         (WebKit::WebPageProxy::decidePolicyForResponseSync):
84         * UIProcess/WebPageProxy.h:
85         * UIProcess/WebPageProxy.messages.in:
86         * WebKit2.xcodeproj/project.pbxproj:
87         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
88         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
89         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
90         * WebProcess/WebPage/WebFrame.cpp:
91         (WebKit::WebFrame::invalidatePolicyListener):
92         (WebKit::WebFrame::didReceivePolicyDecision):
93         (WebKit::WebFrame::startDownload):
94         (WebKit::WebFrame::convertMainResourceLoadToDownload):
95         * WebProcess/WebPage/WebFrame.h:
96         * WebProcess/WebPage/WebPage.cpp:
97         (WebKit::WebPage::setSessionID):
98         (WebKit::WebPage::didReceivePolicyDecision):
99         * WebProcess/WebPage/WebPage.h:
100         * WebProcess/WebPage/WebPage.messages.in:
101
102 2015-12-17  Simon Fraser  <simon.fraser@apple.com>
103
104         Disable viewport "shrink to fit" outside of multitasking mode
105         https://bugs.webkit.org/show_bug.cgi?id=152403
106         rdar://problem/23818102
107
108         Reviewed by Tim Horton.
109         
110         Plumb through a value that indicates whether the WKWebView is in split screen,
111         and use it to conditionally enable shrink-to-fit mode only in split screen.
112         
113         * Shared/VisibleContentRectUpdateInfo.cpp: Added m_allowShrinkToFit, and sort
114         the member variables, and encoding order, to optimize packing, with some initializers.
115         (WebKit::VisibleContentRectUpdateInfo::encode):
116         (WebKit::VisibleContentRectUpdateInfo::decode):
117         * Shared/VisibleContentRectUpdateInfo.h:
118         (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
119         (WebKit::VisibleContentRectUpdateInfo::allowShrinkToFit):
120         (WebKit::operator==):
121         * UIProcess/API/Cocoa/WKWebView.mm: Add _allowsViewportShrinkToFit member variable,
122         with getter and setter.
123         (-[WKWebView _updateVisibleContentRects]): Unwrap the line.
124         (-[WKWebView _setAllowsViewportShrinkToFit:]):
125         (-[WKWebView _allowsViewportShrinkToFit]):
126         * UIProcess/API/Cocoa/WKWebViewPrivate.h: _allowsViewportShrinkToFit SPI.
127         * UIProcess/WebPageProxy.h: Pass allowShrinkToFit through.
128         * UIProcess/ios/WKContentView.mm: Ditto.
129         (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
130         * UIProcess/ios/WebPageProxyIOS.mm:
131         (WebKit::WebPageProxy::updateVisibleContentRects): Padd allowShrinkToFit to the web process via the VisibleContentRectUpdateInfo.
132         * WebProcess/WebPage/WebPage.cpp:
133         (WebKit::WebPage::updatePreferences): Store m_ignoreViewportScalingConstraints in a member variable since we can't
134         get back to the prefs later.
135         * WebProcess/WebPage/WebPage.h:
136         * WebProcess/WebPage/ios/WebPageIOS.mm:
137         (WebKit::WebPage::updateVisibleContentRects): This is the behavior change: call setCanIgnoreScalingConstraints()
138         on the viewport configuration, consulting the pref (via m_ignoreViewportScalingConstraints) and the new
139         visibleContentRectUpdateInfo.allowShrinkToFit().
140
141 2015-12-16  Simon Fraser  <simon.fraser@apple.com>
142
143         ViewportConfiguration functions should return a bool to say if anything changed
144         https://bugs.webkit.org/show_bug.cgi?id=152353
145
146         Reviewed by Tim Horton.
147
148         Rather than callers all checking whether setting ViewportConfiguration values
149         changes state, have its functions return a bool if the values change.
150
151         * WebProcess/WebPage/WebPage.cpp:
152         (WebKit::WebPage::mainFrameDidLayout):
153         (WebKit::WebPage::didCommitLoad):
154         * WebProcess/WebPage/ios/WebPageIOS.mm:
155         (WebKit::WebPage::viewportPropertiesDidChange):
156         (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
157
158 2015-12-16  Alex Christensen  <achristensen@webkit.org>
159
160         Progress towards implementing downloads with NetworkSession
161         https://bugs.webkit.org/show_bug.cgi?id=152371
162
163         Reviewed by Darin Adler.
164
165         * NetworkProcess/NetworkProcess.cpp:
166         (WebKit::NetworkProcess::downloadRequest):
167         (WebKit::NetworkProcess::resumeDownload):
168         (WebKit::NetworkProcess::cancelDownload):
169         * NetworkProcess/NetworkProcess.h:
170         * NetworkProcess/NetworkProcess.messages.in:
171         * Shared/Authentication/AuthenticationManager.cpp:
172         (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
173         * Shared/Authentication/AuthenticationManager.h:
174         * Shared/Downloads/Download.cpp:
175         (WebKit::Download::Download):
176         (WebKit::Download::didReceiveAuthenticationChallenge):
177         * Shared/Downloads/Download.h:
178         * Shared/Downloads/DownloadManager.cpp:
179         (WebKit::DownloadManager::startDownload):
180         (WebKit::DownloadManager::convertHandleToDownload):
181         (WebKit::DownloadManager::resumeDownload):
182         (WebKit::DownloadManager::cancelDownload):
183         (WebKit::DownloadManager::downloadFinished):
184         (WebKit::DownloadManager::didCreateDownload):
185         * Shared/Downloads/DownloadManager.h:
186         * Shared/Downloads/cocoa: Added.
187         * Shared/Downloads/cocoa/DownloadCocoa.mm: Added.
188         (WebKit::Download::start):
189         (WebKit::Download::resume):
190         (WebKit::Download::cancel):
191         (WebKit::Download::platformInvalidate):
192         * Shared/Downloads/ios/DownloadIOS.mm:
193         * Shared/Downloads/mac/DownloadMac.mm:
194         (WebKit::Download::start):
195         (WebKit::Download::startWithHandle):
196         (WebKit::Download::resume):
197         * UIProcess/WebProcessPool.cpp:
198         (WebKit::WebProcessPool::resumeDownload):
199         * UIProcess/WebProcessPool.h:
200         * WebKit2.xcodeproj/project.pbxproj:
201
202 2015-12-16  Simon Fraser  <simon.fraser@apple.com>
203
204         ViewportConfiguration functions should return a bool to say if anything changed
205         https://bugs.webkit.org/show_bug.cgi?id=152353
206
207         Reviewed by Tim Horton.
208
209         Rather than callers all checking whether setting ViewportConfiguration values
210         changes state, have its functions return a bool if the values change.
211
212         * WebProcess/WebPage/WebPage.cpp:
213         (WebKit::WebPage::mainFrameDidLayout):
214         (WebKit::WebPage::didCommitLoad):
215         * WebProcess/WebPage/ios/WebPageIOS.mm:
216         (WebKit::WebPage::viewportPropertiesDidChange):
217         (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
218
219 2015-12-16  Tim Horton  <timothy_horton@apple.com>
220
221         REGRESSION (r191299): Zoom gestures are enabled even if allowsMagnification=NO
222         https://bugs.webkit.org/show_bug.cgi?id=152373
223         <rdar://problem/23931998>
224
225         Reviewed by Simon Fraser.
226
227         * UIProcess/Cocoa/WebViewImpl.mm:
228         (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):
229         Don't pass the event on to ViewGestureController if we shouldn't handle it,
230         just like we would have done in magnifyWithEvent before.
231
232 2015-12-16  Tim Horton  <timothy_horton@apple.com>
233
234         REGRESSION (r194125): Crashes in touchesEndedWithEvent on occasion when interacting with the page
235         https://bugs.webkit.org/show_bug.cgi?id=152366
236         <rdar://problem/23929672>
237
238         Reviewed by Beth Dakin.
239
240         * UIProcess/Cocoa/WebViewImpl.mm:
241         (WebKit::WebViewImpl::touchesEndedWithEvent):
242         (WebKit::WebViewImpl::touchesCancelledWithEvent):
243         NSTouch identifiers aren't pointer-comparable. We need to use isEqual to
244         compare them and find the ones to remove.
245
246 2015-12-16  Simon Fraser  <simon.fraser@apple.com>
247
248         Simplify isOverlayScrollbar() logic
249         https://bugs.webkit.org/show_bug.cgi?id=152357
250
251         Reviewed by Beth Dakin.
252
253         Replace code that checks for isOverlayScrollbar() explicitly with calls to new
254         occupiedWidth()/occupiedHeight() functions on Scrollbar, which do the overlay
255         scrollbar check internally.
256         
257         Add ScrollableArea::scrollbarIntrusion() which returns an IntSize with the occupiedWidth
258         and occupiedHeight of any scrollbars, and use it in a few places.
259
260         * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
261         (WebKit::PDFPlugin::updateScrollbars):
262         (WebKit::PDFPlugin::maximumScrollPosition):
263
264 2015-12-16  Alex Christensen  <achristensen@webkit.org>
265
266         Build fix when using NETWORK_SESSION after r193972.
267
268         Rubber-stamped by Joseph Pecoraro.
269
270         Renamed NetworkSessionDelegate to WKNetworkSessionDelegate to conform to the 
271         newly-enforced style rule in check-for-inappropriate-objc-class-names.
272
273         * NetworkProcess/NetworkSession.h:
274         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
275         (toNSURLSessionAuthChallengeDisposition):
276         (-[WKNetworkSessionDelegate initWithNetworkSession:]):
277         (WebKit::NetworkSession::NetworkSession):
278         (-[NetworkSessionDelegate initWithNetworkSession:]): Deleted.
279
280 2015-12-16  Alex Christensen  <achristensen@webkit.org>
281
282         Implement Web Timing when using NETWORK_SESSION
283         https://bugs.webkit.org/show_bug.cgi?id=152285
284
285         Reviewed by Darin Adler.
286
287         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
288         (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
289         (WebKit::NetworkSession::NetworkSession):
290         Use functions moved to ResourceLoadTiming.h.  setCollectsTimingData is for Mavericks, _timingDataOptions is post-Mavericks.
291
292 2015-12-16  Youenn Fablet  <youenn.fablet@crf.canon.fr>
293
294         [Fetch API] Add fetch API compile time flag
295         https://bugs.webkit.org/show_bug.cgi?id=152254
296
297         Reviewed by Darin Adler.
298
299         * Configurations/FeatureDefines.xcconfig:
300
301 2015-12-15  Tim Horton  <timothy_horton@apple.com>
302
303         [Mac] Gesture Events should not have negative scale
304         https://bugs.webkit.org/show_bug.cgi?id=151065
305         <rdar://problem/23474123>
306
307         Reviewed by Anders Carlsson.
308
309         * Shared/NativeWebGestureEvent.h:
310         * Shared/mac/NativeWebGestureEventMac.mm:
311         (WebKit::distanceForTouches):
312         (WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
313         Compute the distance between the two oldest touches, and use that as
314         the scale (really the gesture diameter) on the event, instead of
315         passing through AppKit's magnification (which is computed differently).
316         This matches the documented behavior of the existing gesture events on iOS.
317
318         * UIProcess/API/Cocoa/WKWebView.mm:
319         (-[WKWebView touchesBeganWithEvent:]):
320         (-[WKWebView touchesMovedWithEvent:]):
321         (-[WKWebView touchesEndedWithEvent:]):
322         (-[WKWebView touchesCancelledWithEvent:]):
323         * UIProcess/API/mac/WKView.mm:
324         (-[WKView touchesBeganWithEvent:]):
325         (-[WKView touchesMovedWithEvent:]):
326         (-[WKView touchesEndedWithEvent:]):
327         (-[WKView touchesCancelledWithEvent:]):
328         Plumb touch events through to WebViewImpl.
329
330         * UIProcess/Cocoa/WebViewImpl.h:
331         * UIProcess/Cocoa/WebViewImpl.mm:
332         (WebKit::WebViewImpl::WebViewImpl):
333         (WebKit::WebViewImpl::magnifyWithEvent):
334         (WebKit::WebViewImpl::touchesOrderedByAge):
335         (WebKit::WebViewImpl::touchesBeganWithEvent):
336         (WebKit::WebViewImpl::touchesMovedWithEvent):
337         (WebKit::WebViewImpl::touchesEndedWithEvent):
338         (WebKit::WebViewImpl::touchesCancelledWithEvent):
339         (WebKit::WebViewImpl::rotateWithEvent):
340         Keep track of the most recent incoming touches, by identifier, in age order.
341         Pass them through to NativeWebGestureEvent so it can determine the gesture diameter.
342
343 2015-12-15  Anders Carlsson  <andersca@apple.com>
344
345         Call DatabaseManager directly from WKBundle.cpp
346         https://bugs.webkit.org/show_bug.cgi?id=152317
347
348         Reviewed by Tim Horton.
349
350         This is in preparation for getting rid of some old database manager code.
351
352         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
353         (WKBundleClearAllDatabases):
354         (WKBundleSetDatabaseQuota):
355         * WebProcess/InjectedBundle/InjectedBundle.cpp:
356         (WebKit::InjectedBundle::clearAllDatabases): Deleted.
357         (WebKit::InjectedBundle::setDatabaseQuota): Deleted.
358         * WebProcess/InjectedBundle/InjectedBundle.h:
359
360 2015-12-15  Daniel Bates  <dabates@apple.com>
361
362         Guard code that uses class LayerTreeHost with USE(COORDINATED_GRAPHICS) or USE(TEXTURE_MAPPER)
363         https://bugs.webkit.org/show_bug.cgi?id=152265
364
365         Reviewed by Tim Horton.
366
367         We neither make use of LayerTreeHost on Mac nor on iOS. We should guard code that makes
368         use of this class as applicable. This also fixes the iOS Simulator build when using
369         Apple Internal software.
370
371         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Guard code that used LayerTreeHost.
372         * WebProcess/WebPage/LayerTreeHost.cpp: Guard contents of file with USE(COORDINATED_GRAPHICS) || USE(TEXTURE_MAPPER).
373         * WebProcess/WebPage/LayerTreeHost.h: Ditto.
374         * WebProcess/WebPage/WebPage.cpp:
375         (WebKit::WebPage::scalePage): Ditto.
376         (WebKit::WebPage::setDeviceScaleFactor): Ditto.
377         * WebProcess/WebPage/WebPage.h: Substitute header LayerTreeContext.h for LayerTreeHost.h since we make use
378         of the enum class LayerHostingMode.
379         * WebProcess/WebPage/ios/WebPageIOS.mm:
380         (WebKit::WebPage::updateVisibleContentRects): Remove unnecessary code; DrawingArea::layerTreeHost() always
381         returns nullptr on iOS.
382
383 2015-12-15  Zan Dobersek  <zdobersek@igalia.com>
384
385         [TexMap] Operate with a reference to the TextureMapper wherever possible
386         https://bugs.webkit.org/show_bug.cgi?id=152118
387
388         Reviewed by Martin Robinson.
389
390         Replace pointers to the TextureMapper object with references.
391
392         * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
393         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
394         (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
395         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
396         (WebKit::CoordinatedBackingStore::drawBorder):
397         (WebKit::CoordinatedBackingStore::drawRepaintCounter):
398         (WebKit::CoordinatedBackingStore::commitTileOperations):
399         * Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
400         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
401         (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
402         (WebKit::CoordinatedGraphicsScene::paintToGraphicsContext):
403         (WebKit::CoordinatedGraphicsScene::commitPendingBackingStoreOperations):
404
405 2015-12-14  YongGeol Jung  <yg48.jung@samsung.com>
406
407         [Coordinated Graphics] CSS transition effect is not shown when transformed with "%" unit.
408         https://bugs.webkit.org/show_bug.cgi?id=152278
409
410         Reviewed by Darin Adler.
411
412         boxSize is encoded as FloatSize type but decoded as IntSize type.
413         So boxSize gets invalid value after decoding.
414         Due to this layer goes to out of screen during animation.
415
416         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
417         (IPC::ArgumentCoder<TextureMapperAnimation>::decode):
418
419 2015-12-14  Dan Bernstein  <mitz@apple.com>
420
421         <rdar://problem/23886216> REGRESSION (r194022): Production builds of PluginProcess crash on launch when not installed in /System
422         https://bugs.webkit.org/show_bug.cgi?id=152291
423
424         Reviewed by Darin Adler.
425
426         * Configurations/PluginProcess.xcconfig: Added a FIXME.
427         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
428         (WebKit::addDYLDEnvironmentAdditions): Set DYLD_LIBRARY_PATH to point to where the shims
429         are. This is needed because starting in El Capitan, the processes’ main executables link
430         directly against the shims, so the dynamic linker needs to be able to find them in the
431         non-/System location. Also added a FIXME about not having to set DYLD_INSERT_LIBRARIES when
432         the main executables link the them directly.
433
434 2015-12-14  Simon Fraser  <simon.fraser@apple.com>
435
436         Dump some more data in the RemoteLayerTreeTransaction
437         https://bugs.webkit.org/show_bug.cgi?id=152283
438
439         Reviewed by Dean Jackson.
440         
441         Dump some scale factors, viewport meta tag width and render tree size.
442
443         * Shared/mac/RemoteLayerTreeTransaction.mm:
444         (WebKit::RemoteLayerTreeTransaction::description):
445
446 2015-12-14  Tim Horton  <timothy_horton@apple.com>
447
448         Frequent crash under -[WKPDFView web_setMinimumSize:]_block_invoke
449         https://bugs.webkit.org/show_bug.cgi?id=152266
450         <rdar://problem/22092676>
451
452         Reviewed by Simon Fraser.
453
454         * UIProcess/ios/WKPDFView.mm:
455         (-[WKPDFView web_setMinimumSize:]):
456         We weren't retaining the UIScrollView, but depending on it surviving
457         into this block's invocation.
458
459         We don't need to do this asynchronously anymore because the referenced
460         bug is fixed, so make it happen synchronously. This also fixes the crash
461         because there's no opportunity for the scroll view to be released.
462
463 2015-12-14  Tim Horton  <timothy_horton@apple.com>
464
465         TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate() sets fence port on context twice
466         https://bugs.webkit.org/show_bug.cgi?id=152239
467         <rdar://problem/22893289>
468
469         Reviewed by Darin Adler.
470
471         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
472         (WebKit::TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate):
473         No need to setFencePort; createFencePort also installs it on the creating context.
474
475 2015-12-12  Alex Christensen  <achristensen@webkit.org>
476
477         Use existing code for redirects when using NETWORK_SESSION
478         https://bugs.webkit.org/show_bug.cgi?id=152207
479         rdar://problem/23860624
480
481         Reviewed by Darin Adler.
482         
483         This fixes http/tests/cookies/set-cookie-on-redirect.html when using NETWORK_SESSION.
484
485         * NetworkProcess/NetworkLoad.cpp:
486         (WebKit::NetworkLoad::continueWillSendRequest):
487         (WebKit::NetworkLoad::convertTaskToDownload):
488         (WebKit::NetworkLoad::willPerformHTTPRedirection):
489         (WebKit::NetworkLoad::didReceiveChallenge):
490         * NetworkProcess/NetworkLoad.h:
491         * NetworkProcess/NetworkSession.h:
492
493 2015-12-13  Tim Horton  <timothy_horton@apple.com>
494
495         Adopt CGIOSurfaceContextCreateImageReference to avoid unnecessary readback
496         https://bugs.webkit.org/show_bug.cgi?id=150988
497         <rdar://problem/18993594>
498
499         Reviewed by Darin Adler.
500
501         * WebProcess/WebPage/WebFrame.cpp:
502         (WebKit::WebFrame::createSelectionSnapshot):
503         Adopt sinkIntoImage and drawConsumingImageBuffer in a few places.
504
505 2015-12-13  Dan Bernstein  <mitz@apple.com>
506
507         Another fix after r194018.
508
509         * Configurations/BaseTarget.xcconfig:
510         * Configurations/BaseXPCService.xcconfig:
511
512 2015-12-13  Dan Bernstein  <mitz@apple.com>
513
514         [Mac] Shims used by XPC services are installed inside legacy process bundles
515         https://bugs.webkit.org/show_bug.cgi?id=152233
516
517         Reviewed by Sam Weinig.
518
519         Have the shim dylibs installed in the framework’s Frameworks directory instead.
520
521         * Configurations/BaseLegacyProcess.xcconfig: Simplified now that EXCLUDED_SHIM_FILE_NAME is
522           no longer defined, because shims aren’t copied into legacy processes.
523
524         * Configurations/NetworkProcess.xcconfig: Removed definition of EXCLUDED_SHIM_FILE_NAME.
525         * Configurations/PluginProcess.xcconfig: Ditto.
526         * Configurations/WebContentProcess.xcconfig: Ditto.
527
528         * Configurations/Shim.xcconfig: Install the shims when building for OS X. Added definitions
529           of INSTALL_PATH and DYLIB_INSTALL_NAME_BASE which are now common to all shims.
530
531         * Configurations/PluginProcessShim.xcconfig: Removed definitions of INSTALL_PATH and
532           DYLIB_INSTALL_NAME_BASE from here, now that they are defined for all shims in
533           Shim.xcconfig.
534         * Configurations/SecItemShim.xcconfig: Ditto.
535         * Configurations/WebProcessShim.xcconfig:
536
537         * Configurations/WebKit.xcconfig: Added the shims to EXCLUDED_SOURCE_FILE_NAMES for iOS.
538
539         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX-10.9-10.10.plist: Changed
540           the value of DYLD_INSERT_LIBRARIES to point to the shim’s new location.
541         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64-10.9-10.10.Info.plist: Ditto.
542         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX-10.9-10.10.plist: Ditto.
543
544         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
545         (WebKit::computeProcessShimPath): Changed to return the new paths, which are all inside the
546           framework’s Frameworks directory.
547
548         * WebKit2.xcodeproj/project.pbxproj:
549         - Removed references to WRAPPER_NAME from the “Copy XPC services for engineering builds”
550           build phase in the All target, becase WRAPPER_NAME is empty in an aggregate target.
551         - Removed the PlugInProcess target’s dependency on the PluginProcessShim target and its
552           Copy Plug-in Process Shim build phase.
553         - Removed the NetworkProcess target’s dependency on the SecItemShim target and its Copy
554           Sec Item Shim build phase.
555         - Removed the WebProcess target’s dependency on the WebProcessShim target and its Copy
556           WebProcessShim build phase.
557         - Made the WebKit target depend on the shim targets, and added to it a Copy Shims build
558           phase that copies the shims into the framework’s Frameworks directory.
559
560 2015-12-13  Dan Bernstein  <mitz@apple.com>
561
562         Build fix.
563
564         * Configurations/PluginProcess.xcconfig:
565
566 2015-12-13  Dan Bernstein  <mitz@apple.com>
567
568         [Mac] Shims aren’t inserted properly on Yosemite when building with the El Capitan SDK
569         https://bugs.webkit.org/show_bug.cgi?id=152229
570
571         Reviewed by Darin Adler.
572
573         * Configurations/BaseTarget.xcconfig: Defined WK_LINK_SHIM on OS X to YES or NO based on the
574           target version.
575         * Configurations/BaseXPCService.xcconfig: Define WK_XPC_SERVICE_INFOPLIST_SUFFIX to
576           "-10.9-10.10" when targeting those OS X versions.
577         * Configurations/NetworkService.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the
578           definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS.
579         * Configurations/PluginProcess.xcconfig: Use WK_LINK_SHIM in the definition of
580           LDFLAGS_SHIM_Production for OS X.
581         * Configurations/PluginService.32.xcconfig: Use WK_XPC_SERVICE_INFOPLIST_SUFFIX in the
582           definition of INFOPLIST_FILE. Use WK_LINK_SHIM in the definition of OTHER_LDFLAGS.
583         * Configurations/PluginService.64.xcconfig: Ditto.
584         * Configurations/WebContentService.xcconfig: Ditto.
585
586 2015-12-12  Katlyn Graff  <kgraff@apple.com>
587
588         Safari background tabs should be fully suspended where possible.
589         https://bugs.webkit.org/show_bug.cgi?id=150515
590
591         Reviewed by Ryosuke Niwa.
592
593         Added a runtime flag enabling tab suspension, default off.
594
595         * Shared/WebProcessCreationParameters.cpp:
596         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
597         (WebKit::WebProcessCreationParameters::encode):
598         (WebKit::WebProcessCreationParameters::decode):
599         * Shared/WebProcessCreationParameters.h:
600         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
601         (WebKit::registerUserDefaultsIfNeeded):
602         (WebKit::WebProcessPool::platformInitializeWebProcess):
603         * WebProcess/cocoa/WebProcessCocoa.mm:
604         (WebKit::WebProcess::platformInitializeWebProcess):
605
606 2015-12-11  Eric Carlson  <eric.carlson@apple.com>
607
608         [MediaStream] Add a setting to allow the mock media capture devices to be enabled and disabled
609         https://bugs.webkit.org/show_bug.cgi?id=152197
610
611         Reviewed by Dean Jackson.
612
613         * Shared/WebPreferencesDefinitions.h:
614         * UIProcess/API/C/WKPreferences.cpp:
615         (WKPreferencesSetMockCaptureDevicesEnabled):
616         (WKPreferencesGetMockCaptureDevicesEnabled):
617         * UIProcess/API/C/WKPreferencesRefPrivate.h:
618         * UIProcess/API/Cocoa/WKPreferences.mm:
619         (-[WKPreferences _mockCaptureDevicesEnabled]):
620         (-[WKPreferences _setMockCaptureDevicesEnabled:]):
621         * WebProcess/WebPage/WebPage.cpp:
622         (WebKit::WebPage::updatePreferences):
623
624 2015-12-11  Joseph Pecoraro  <pecoraro@apple.com>
625
626         check-for-inappropriate-objc-class-names should check all class names, not just externally visible ones
627         https://bugs.webkit.org/show_bug.cgi?id=152156
628
629         Reviewed by Dan Bernstein.
630
631         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
632         (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
633         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
634         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
635         (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
636         Rename internal classes with "_WK" prefix.
637
638 2015-12-10  Eric Carlson  <eric.carlson@apple.com>
639
640         [MediaStream] Expose media capture devices persistent permissions to WebCore
641         https://bugs.webkit.org/show_bug.cgi?id=152087
642
643         Reviewed by Chris Dumez.
644
645         * CMakeLists.txt: Add UserMediaPermissionCheckProxy.cpp and WKUserMediaPermissionCheck.cpp.
646
647         * Shared/API/APIObject.h: Define UserMediaPermissionCheck.
648
649         * Shared/API/c/WKBase.h: Add WKUserMediaPermissionCheckRef typedef.
650
651         * UIProcess/API/APIUIClient.h:
652         (API::UIClient::checkUserMediaPermissionForOrigin): New.
653
654         * UIProcess/API/C/WKAPICast.h: Add WKUserMediaPermissionCheckRef/UserMediaPermissionCheckProxy mapping.
655
656         * UIProcess/API/C/WKPage.cpp:
657         (WKPageSetPageUIClient): Implement checkUserMediaPermissionForOrigin.
658
659         * UIProcess/API/C/WKPageUIClient.h: Add WKCheckUserMediaPermissionCallback typedef and add
660           checkUserMediaPermissionForOrigin to WKPageUIClientV6.
661
662         * UIProcess/API/C/WKUserMediaPermissionCheck.cpp: Added.
663         (WKUserMediaPermissionCheckGetTypeID):
664         (WKUserMediaPermissionCheckSetHasPermission):
665
666         * UIProcess/API/C/WKUserMediaPermissionCheck.h: Added.
667
668         * UIProcess/UserMediaPermissionCheckProxy.cpp: Added.
669         (WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy):
670         (WebKit::UserMediaPermissionCheckProxy::setHasPermission):
671         (WebKit::UserMediaPermissionCheckProxy::invalidate):
672         * UIProcess/UserMediaPermissionCheckProxy.h: Added.
673         (WebKit::UserMediaPermissionCheckProxy::create):
674         * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
675         (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests):
676         (WebKit::UserMediaPermissionRequestManagerProxy::createRequest):
677         (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision):
678         (WebKit::UserMediaPermissionRequestManagerProxy::createUserMediaPermissionCheck):
679         (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck):
680         * UIProcess/UserMediaPermissionRequestManagerProxy.h:
681         * UIProcess/WebPageProxy.cpp:
682         (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
683         (WebKit::WebPageProxy::checkUserMediaPermissionForFrame):
684         (WebKit::WebPageProxy::requestNotificationPermission):
685         * UIProcess/WebPageProxy.h:
686         * UIProcess/WebPageProxy.messages.in:
687
688         * WebKit2.xcodeproj/project.pbxproj: Add UserMediaPermissionCheckProxy.*, and WKUserMediaPermissionCheck.*.
689
690         * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
691         (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): Renamed from startRequest.
692         (WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest): Renamed from cancelRequest.
693         (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): m_requestToIDMap ->
694           m_userMediaRequestToIDMap.remove.
695         (WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): New, start the request.
696         (WebKit::UserMediaPermissionRequestManager::cancelUserMediaPermissionCheck): New, cancel
697           the request.
698         (WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): New, 
699           all the request completion method.
700         (WebKit::UserMediaPermissionRequestManager::startRequest): Deleted.
701         (WebKit::UserMediaPermissionRequestManager::cancelRequest): Deleted.
702         * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
703
704         * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
705         (WebKit::WebUserMediaClient::requestUserMediaAccess): startRequest -> startUserMediaRequest.
706         (WebKit::WebUserMediaClient::cancelUserMediaAccessRequest): cancelRequest -> cancelUserMediaRequest.
707         (WebKit::WebUserMediaClient::checkUserMediaPermission): New.
708         (WebKit::WebUserMediaClient::cancelUserMediaPermissionCheck): New.
709         * WebProcess/WebCoreSupport/WebUserMediaClient.h:
710
711         * WebProcess/WebPage/WebPage.cpp:
712         (WebKit::WebPage::didCompleteUserMediaPermissionCheck): New.
713         * WebProcess/WebPage/WebPage.h:
714         * WebProcess/WebPage/WebPage.messages.in: Add DidCompleteUserMediaPermissionCheck.
715
716 2015-12-10  Joseph Pecoraro  <pecoraro@apple.com>
717
718         Remote Inspector: Verify the identity of the other side of XPC connections
719         https://bugs.webkit.org/show_bug.cgi?id=152153
720
721         Reviewed by Brian Burg.
722
723         * Shared/mac/SandboxUtilities.mm:
724         * UIProcess/ApplicationStateTracker.mm:
725         Use new header.
726
727 2015-12-10  Alex Christensen  <achristensen@webkit.org>
728
729         REGRESSION (r192796) WKBundlePageResourceLoadClient should be able to setHTTPBody in willSendRequestForFrame
730         https://bugs.webkit.org/show_bug.cgi?id=152022
731         rdar://problem/23763584
732
733         Reviewed by Darin Adler.
734
735         * Shared/API/c/WKURLRequest.cpp:
736         (WKURLRequestCopyHTTPMethod):
737         (WKURLRequestCopyWithHTTPBody):
738         (WKURLRequestSetDefaultTimeoutInterval):
739         * Shared/API/c/WKURLRequest.h:
740         Make WKURLRequestCopyWithHTTPBody SPI for testing.
741         * Shared/API/c/mac/WKURLRequestNS.mm:
742         (WKURLRequestCreateWithNSURLRequest):
743         Crash if someone tries to use an NSURLRequest with HTTPBodyStream, which will not work with the network process.
744         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
745         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
746         Use an HTTP body if the client's willSendRequestForFrame returned one.
747         This is the functional change of this patch.
748
749 2015-12-10  Zan Dobersek  <zdobersek@igalia.com>
750
751         [CoordinatedGraphics] Reserve capacity for the children vector in CoordinatedGraphicsScene::setLayerChildrenIfNeeded()
752         https://bugs.webkit.org/show_bug.cgi?id=152117
753
754         Reviewed by Martin Robinson.
755
756         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
757         (WebKit::CoordinatedGraphicsScene::setLayerChildrenIfNeeded): Reserve the capacity
758         for the new Vector that will contain the same number of items as the Vector
759         on the CoordinatedGraphicsLayerState object.
760
761 2015-12-09  Daniel Bates  <dabates@apple.com>
762
763         [iOS] Bail out if the page proxy is invalid when WebPageProxy::processWillBecome{Foreground, Suspended}() are called
764         https://bugs.webkit.org/show_bug.cgi?id=151877
765
766         Reviewed by Darin Adler.
767
768         We cannot assume that a WebPageProxy is in a valid state when WebPageProxy::processWillBecome{Foreground, Suspended}()
769         are called because these callbacks may occur after the web process crashed and before a
770         WebPageProxy attaches to a new web process (and hence is considered in a valid state).
771
772         * UIProcess/WebPageProxy.cpp:
773         (WebKit::WebPageProxy::processWillBecomeSuspended): Early return if the page proxy is invalid.
774         (WebKit::WebPageProxy::processWillBecomeForeground): Ditto.
775
776 2015-12-09  Commit Queue  <commit-queue@webkit.org>
777
778         Unreviewed, rolling out r193864.
779         https://bugs.webkit.org/show_bug.cgi?id=152100
780
781         caused all inspector tests to assert in WK2 Debug (Requested
782         by brrian on #webkit).
783
784         Reverted changeset:
785
786         "Web Inspector: reproducible debug ASSERT when inspecting the
787         inspector (WK2)"
788         https://bugs.webkit.org/show_bug.cgi?id=152080
789         http://trac.webkit.org/changeset/193864
790
791 2015-12-09  Brian Burg  <bburg@apple.com>
792
793         Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2)
794         https://bugs.webkit.org/show_bug.cgi?id=152080
795
796         Reviewed by Timothy Hatcher.
797
798         We hit an assert underneath ChildProcessProxy::addMessageReceiver because
799         we tried to connect the inspector page and inspected page more than once.
800         This relationship is already set up in the constructor of WebProcessProxy.
801
802         * UIProcess/WebInspectorProxy.cpp:
803         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
804
805 2015-12-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
806
807         [EFL] Need to change expectation result in ewk_settings_offline_web_application_cache_enabled API test
808         https://bugs.webkit.org/show_bug.cgi?id=152063
809
810         Reviewed by Csaba Osztrogonác.
811
812         Expect false initial value of ewk_settings_offline_web_application_cache_enabled_get()
813         because r193812 didn't enable it by default.
814
815         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
816         (TEST_F):
817
818 2015-12-09  Gwang Yoon Hwang  <yoon@igalia.com>
819
820         [ThreadedCompositor] Add support for HiDPI
821         https://bugs.webkit.org/show_bug.cgi?id=152071
822
823         Reviewed by Carlos Garcia Campos.
824
825         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
826         (WebKit::ThreadedCompositor::setDeviceScaleFactor): Added to receive the
827         device scale factor from the layer tree host.
828         (WebKit::ThreadedCompositor::renderLayerTree):
829         Apply device scale factor before rendering the page.
830         * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
831         * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
832         (WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
833         Send a updated device scale factor to the compositing thread.
834
835 2015-12-09  Ryuan Choi  <ryuan.choi@navercorp.com>
836
837         [CoordinatedGraphics] Remove unnecessary guards in CoordinatedDrawingArea
838         https://bugs.webkit.org/show_bug.cgi?id=152068
839
840         Reviewed by Gyuyoung Kim.
841
842         CoordinatedDrawingArea is only for UI side compositor of CoordinatedGraphics.
843         So, COORDINATED_GRAPHICS_MULTIPROCESS guards are not necessary.
844         This patch also removes COORDINATED_GRAPHICS_MULTIPROCESS guards from DrawingAreaImpl
845         because of same reason.
846
847         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
848         (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy): Deleted.
849         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
850         (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea): Deleted.
851         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
852         * WebProcess/WebPage/DrawingAreaImpl.h:
853
854 2015-12-09  Mario Sanchez Prada  <mario@endlessm.com>
855
856         [GTK] Crash in WebProcess when loading large content with custom URI schemes
857         https://bugs.webkit.org/show_bug.cgi?id=144262
858
859         Reviewed by Carlos Garcia Campos.
860
861         Properly handle scenarios where errors happen after reading the first
862         chunk of data coming from the GInputStream provided by the application.
863
864         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
865         * UIProcess/API/gtk/WebKitWebContext.cpp:
866         (webkitWebContextIsLoadingCustomProtocol): New, checks whether a load
867         is still in progress, after the startLoading method has been called.
868         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
869         (webkitURISchemeRequestReadCallback): Early return if the stream has been
870         cancelled on finish_error, so that we make sure we don't keep on reading
871         the GInputStream after that point.
872         (webkit_uri_scheme_request_finish_error): Don't send a didFailWithError
873         message to the Network process if the load is not longer in progress.
874         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
875         (WebKit::CustomProtocolManagerImpl::didFailWithError): Handle the case where
876         an error is notified from the UI process after the first chunk has been read.
877         (WebKit::CustomProtocolManagerImpl::didReceiveResponse): Handle the case where
878         data might no longer be available if an error happened even before this point.
879         * WebProcess/soup/WebKitSoupRequestInputStream.h:
880         * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
881         (webkitSoupRequestInputStreamDidFailWithError): Notify the custom GInputStream
882         that we no longer want to keep reading data in chunks due to a specific error.
883         (webkitSoupRequestInputStreamReadAsync): Early finish the GTask with a specific
884         error whenever webkitSoupRequestInputStreamDidFailWithError() has been called.
885
886 2015-12-09  Ryuan Choi  <ryuan.choi@navercorp.com>
887
888         [CoordinatedGraphics][EFL] Fix unhandled web process message when launching MiniBrowser
889         https://bugs.webkit.org/show_bug.cgi?id=152048
890
891         Reviewed by Gyuyoung Kim.
892
893         WebPage should be initialized before updating preferences.
894
895         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
896         (WKViewInitialize): Deleted.
897         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
898         * UIProcess/API/efl/EwkView.cpp:
899         (EwkView::EwkView):
900         Calls WKViewSetIsActive instead of WKViewInitialize not to change the behavior
901         of EFL port.
902         * UIProcess/CoordinatedGraphics/WebView.cpp:
903         (WebKit::WebView::WebView):
904         Initialize just before creating WebPage because there is not use case to separate
905         initializing WebPage from creating in CoordinatedGraphics.
906         (WebKit::WebView::initialize): Deleted.
907         * UIProcess/CoordinatedGraphics/WebView.h:
908
909 2015-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
910
911         [GTK] Add API to handle beforeunload events
912         https://bugs.webkit.org/show_bug.cgi?id=139090
913
914         Reviewed by Gustavo Noronha Silva.
915
916         beforeunload is fired when a page is about to be closed, to ask
917         the user for confirmation. This happens when reloading a page,
918         when navigating to another page or when the page is closed by a
919         user action (a tab or window closed). In the first two cases, the
920         event is automatically fired by WebCore, but in the case of a user
921         action we need additional API to ensure the event is fired before
922         the page is closed. A new script dialog type has been added to
923         handle beforeunload events and webkit_web_view_try_close() to
924         allow applications to try to close the page.
925
926         * UIProcess/API/gtk/WebKitScriptDialog.cpp:
927         (webkit_script_dialog_confirm_set_confirmed): BeforeUnloadConfirm
928         dialogs can also be confirmed.
929         * UIProcess/API/gtk/WebKitScriptDialog.h: Add
930         WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM script dialog type.
931         * UIProcess/API/gtk/WebKitUIClient.cpp: Implement
932         canRunBeforeUnloadConfirmPanel() and runBeforeUnloadConfirmPanel().
933         * UIProcess/API/gtk/WebKitWebView.cpp:
934         (webkitWebViewCreateJavaScriptDialog): Add secondaryText optional
935         parameter for BeforeUnloadConfirm dialogs. Do not set the default
936         response if the dialog was created without buttons.
937         (webkitWebViewScriptDialog): Handle
938         WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM script dialog type to
939         create a message dialog for beforeunlos events.
940         (webkit_web_view_class_init): Update documentation of
941         WebKitWebView::close and WebKitWebView::script-dialog.
942         (webkitWebViewRunJavaScriptBeforeUnloadConfirm): Emit WebKitWebView::script-dialog.
943         (webkit_web_view_try_close): Try to close the page.
944         * UIProcess/API/gtk/WebKitWebView.h:
945         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
946         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
947
948 2015-12-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
949
950         [EFL] Missing to set ignoreTLSError to NetworkProcess
951         https://bugs.webkit.org/show_bug.cgi?id=152047
952
953         Reviewed by Csaba Osztrogonác.
954
955         NetworkProcess has been enabled for all ports since r192796 though, EFL port
956         didn't send the ignoreTLSError value to NetworkProcess. This has caused failure of EFL API tests
957         related with ssl feature.
958
959         * UIProcess/efl/WebProcessPoolEfl.cpp:
960         (WebKit::WebProcessPool::setIgnoreTLSErrors):
961
962 2015-12-09  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
963
964         [EFL] REGRESSION(r193616): WKPreferences test has been failed since r193616
965         https://bugs.webkit.org/show_bug.cgi?id=151942
966
967         Reviewed by Darin Adler.
968
969         As wkpreference settings were moved from EwkView to WKPreferenceEfl, the offline-web-application-cache feature
970         is enabled by default when running API test. It seems this option should be enabled by MiniBrowser.
971
972         * UIProcess/efl/WebPreferencesEfl.cpp:
973         (WebKit::WebPreferences::platformInitializeStore): Remove to enable web application cache feature here.
974
975 2015-12-09  Ryuan Choi  <ryuan.choi@navercorp.com>
976
977         [CoordinatedGraphics] layerTreeHost always exist in CoordinatedDrawingArea
978         https://bugs.webkit.org/show_bug.cgi?id=151987
979
980         Reviewed by Darin Adler.
981
982         CoordinatedGraphics using UI side compositor always forces accelerated compositing.
983         This patch cleans up dead code for layerTreeHost which always exists.
984
985         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
986         (WebKit::CoordinatedDrawingAreaProxy::paint): Deleted.
987         (WebKit::CoordinatedDrawingAreaProxy::setBackingStoreIsDiscardable): Deleted.
988         (WebKit::CoordinatedDrawingAreaProxy::update): Deleted.
989         (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState): Deleted.
990         (WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode): Deleted.
991         (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): Deleted.
992         (WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode): Deleted.
993         (WebKit::CoordinatedDrawingAreaProxy::discardBackingStoreSoon): Deleted.
994         (WebKit::CoordinatedDrawingAreaProxy::discardBackingStore): Deleted.
995         * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
996         (WebKit::CoordinatedDrawingAreaProxy::setBackingStoreIsDiscardable):
997         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
998         (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea): Deleted.
999         (WebKit::CoordinatedDrawingArea::layerHostDidFlushLayers): Deleted.
1000         (WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlush): Deleted.
1001         (WebKit::CoordinatedDrawingArea::didUpdate): Deleted.
1002         (WebKit::CoordinatedDrawingArea::enterAcceleratedCompositingMode): Deleted.
1003         (WebKit::CoordinatedDrawingArea::scheduleDisplay): Deleted.
1004         (WebKit::CoordinatedDrawingArea::displayTimerFired): Deleted.
1005         (WebKit::CoordinatedDrawingArea::display): Deleted.
1006         (WebKit::shouldPaintBoundsRect): Deleted.
1007         (WebKit::CoordinatedDrawingArea::attachViewOverlayGraphicsLayer): Deleted.
1008         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
1009
1010 2015-12-08  Alex Christensen  <achristensen@webkit.org>
1011
1012         Progress towards implementing downloads with NetworkSession
1013         https://bugs.webkit.org/show_bug.cgi?id=151883
1014
1015         Reviewed by Brady Eidson.
1016
1017         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
1018         (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
1019         * NetworkProcess/NetworkLoad.cpp:
1020         (WebKit::NetworkLoad::~NetworkLoad):
1021         (WebKit::NetworkLoad::continueDidReceiveResponse):
1022         (WebKit::NetworkLoad::convertTaskToDownload):
1023         (WebKit::NetworkLoad::willPerformHTTPRedirection):
1024         (WebKit::NetworkLoad::didReceiveChallenge):
1025         (WebKit::NetworkLoad::didReceiveResponse):
1026         (WebKit::NetworkLoad::didReceiveData):
1027         (WebKit::NetworkLoad::didCompleteWithError):
1028         (WebKit::NetworkLoad::didBecomeDownload):
1029         (WebKit::NetworkLoad::didReceiveResponseAsync):
1030         (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
1031         * NetworkProcess/NetworkLoad.h:
1032         * NetworkProcess/NetworkLoadClient.h:
1033         * NetworkProcess/NetworkResourceLoader.cpp:
1034         (WebKit::NetworkResourceLoader::cleanup):
1035         (WebKit::NetworkResourceLoader::didConvertToDownload):
1036         (WebKit::NetworkResourceLoader::abort):
1037         (WebKit::NetworkResourceLoader::didConvertHandleToDownload): Deleted.
1038         * NetworkProcess/NetworkResourceLoader.h:
1039         * NetworkProcess/NetworkSession.h:
1040         (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
1041         (WebKit::NetworkSession::~NetworkSession): Deleted.
1042         * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
1043         * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1044         (-[NetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
1045         (-[NetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
1046         (WebKit::NetworkSession::NetworkSession):
1047         (WebKit::NetworkSession::~NetworkSession):
1048         (WebKit::NetworkSession::createDataTaskWithRequest):
1049         * Shared/Downloads/Download.h:
1050         * Shared/Downloads/DownloadManager.h:
1051         (WebKit::DownloadManager::isDownloading):
1052         (WebKit::DownloadManager::activeDownloadCount):
1053
1054 2015-12-08  Joseph Pecoraro  <pecoraro@apple.com>
1055
1056         Create a Sandbox SPI header
1057         https://bugs.webkit.org/show_bug.cgi?id=151981
1058
1059         Reviewed by Andy Estes.
1060
1061         * PluginProcess/mac/PluginProcessShim.mm:
1062         * Shared/ios/ChildProcessIOS.mm:
1063         * Shared/mac/ChildProcessMac.mm:
1064         * Shared/mac/SandboxUtilities.mm:
1065
1066 2015-12-08  Eric Carlson  <eric.carlson@apple.com>
1067
1068         [MediaStream] Rename UserMediaClient and UserMediaController methods
1069         https://bugs.webkit.org/show_bug.cgi?id=152001
1070
1071         Reviewed by Brady Eidson.
1072
1073         * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
1074         (WebKit::WebUserMediaClient::pageDestroyed):
1075         (WebKit::WebUserMediaClient::requestUserMediaAccess):
1076         (WebKit::WebUserMediaClient::cancelUserMediaAccessRequest):
1077         (WebKit::WebUserMediaClient::requestPermission): Deleted.
1078         (WebKit::WebUserMediaClient::cancelRequest): Deleted.
1079         * WebProcess/WebCoreSupport/WebUserMediaClient.h:
1080
1081 2015-12-08  Tomas Popela  <tpopela@redhat.com>
1082
1083         [GTK] Remove an unused variable from WebKitWebContext
1084         https://bugs.webkit.org/show_bug.cgi?id=151999
1085
1086         Reviewed by Carlos Garcia Campos.
1087
1088         * UIProcess/API/gtk/WebKitWebContext.cpp:
1089
1090 2015-12-08  Chris Dumez  <cdumez@apple.com>
1091
1092         Add diagnostic logging to measure speculative revalidation accuracy
1093         https://bugs.webkit.org/show_bug.cgi?id=151953
1094         <rdar://problem/23092196>
1095
1096         Reviewed by Darin Adler.
1097
1098         We track the following:
1099         1. Resources we knew about AND did not get requested
1100            A. We did not speculate (Good)
1101            B. We speculated but did not go to network (Bad)
1102            C. We speculated and went to network (Very bad)
1103         2. Resources we did not know about (Neutral)
1104         3. Resources we knew about AND got requested
1105            A. We did not speculate (Bad)
1106            B. We speculated but did not go to network (Good)
1107            C. We speculated and went to network (Very good)
1108
1109         * NetworkProcess/cache/NetworkCache.cpp:
1110         (WebKit::NetworkCache::Cache::retrieve):
1111         * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
1112         (WebKit::NetworkCache::allSpeculativeLoadingDiagnosticMessages):
1113         (WebKit::NetworkCache::printSpeculativeLoadingDiagnosticMessageCounts):
1114         (WebKit::NetworkCache::logSpeculativeLoadingDiagnosticMessage):
1115         (WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry):
1116         (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
1117         (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::wasRevalidated):
1118         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markLoadAsCompleted):
1119         (WebKit::NetworkCache::SpeculativeLoadManager::retrieve):
1120         (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
1121         (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
1122         (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
1123         (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
1124         (WebKit::NetworkCache::makeSubresourcesKey): Deleted.
1125         (WebKit::NetworkCache::constructRevalidationRequest): Deleted.
1126         (WebKit::NetworkCache::responseNeedsRevalidation): Deleted.
1127         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady): Deleted.
1128         (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage): Deleted.
1129         (WebKit::NetworkCache::SpeculativeLoadManager::satisfyPendingRequests): Deleted.
1130         * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
1131
1132 2015-12-08  Csaba Osztrogonác  <ossy@webkit.org>
1133
1134         [EFL] REGRESSION(r173394): MiniBrowser stucked in an infinite loop if NETWORK_CACHE is disabled
1135         https://bugs.webkit.org/show_bug.cgi?id=137692
1136
1137         Reviewed by Darin Adler.
1138
1139         * WebProcess/Network/WebLoaderStrategy.cpp:
1140         (WebKit::maximumBufferingTime): Disable caching if NETWORK_CACHE is disabled.
1141
1142 2015-12-08  Ryuan Choi  <ryuan.choi@navercorp.com>
1143
1144         [EFL] Add API to provide preferences before creating ewk_view
1145         https://bugs.webkit.org/show_bug.cgi?id=151587
1146
1147         Reviewed by Gyuyoung Kim.
1148
1149         This patch adds ewk_view_configuration_settings_get to provide preferences
1150         before createing ewk_view.
1151
1152         * PlatformEfl.cmake:
1153         * UIProcess/API/efl/ewk_view_configuration.cpp:
1154         (EwkViewConfiguration::EwkViewConfiguration):
1155         (ewk_view_configuration_settings_get):
1156         * UIProcess/API/efl/ewk_view_configuration.h:
1157         * UIProcess/API/efl/ewk_view_configuration_private.h:
1158         (EwkViewConfiguration::pageGroup):
1159         * UIProcess/API/efl/tests/test_ewk2_view_configuration.cpp:
1160         (TEST_F): Added test case for ewk_view_configuration_settings_get().
1161
1162 2015-12-07  Gustavo Noronha Silva  <gns@gnome.org>
1163
1164         [GTK] Notify WebCore when notification is clicked
1165         https://bugs.webkit.org/show_bug.cgi?id=151951
1166
1167         Reviewed by Carlos Garcia Campos.
1168
1169         * UIProcess/API/gtk/WebKitNotification.cpp:
1170         (webkit_notification_class_init): new clicked signal.
1171         (webkit_notification_clicked): method to emit the clicked signal.
1172         * UIProcess/API/gtk/WebKitNotification.h:
1173         * UIProcess/API/gtk/WebKitNotificationProvider.cpp:
1174         (WebKitNotificationProvider::notificationClickedCallback): handle the clicked signal and tell WebProcess about the click.
1175         (WebKitNotificationProvider::show): connect to the clicked signal in addition to closed.
1176         * UIProcess/API/gtk/WebKitNotificationProvider.h:
1177         * UIProcess/API/gtk/WebKitWebView.cpp:
1178         (notifyNotificationClicked): handle the click on our libnotify notification.
1179         (webkitWebViewShowNotification): add the "default" action to our libnotify notification to be notified of the click.
1180         * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
1181
1182 2015-12-07  Commit Queue  <commit-queue@webkit.org>
1183
1184         Unreviewed, rolling out r193655.
1185         https://bugs.webkit.org/show_bug.cgi?id=151970
1186
1187         This change broke existing LayoutTests on mac-wk2 (Requested
1188         by ryanhaddad on #webkit).
1189
1190         Reverted changeset:
1191
1192         "UIProcess should determine AppNap state for WebPage"
1193         https://bugs.webkit.org/show_bug.cgi?id=151964
1194         http://trac.webkit.org/changeset/193655
1195
1196 2015-12-05  Gavin Barraclough  <barraclough@apple.com>
1197
1198         UIProcess should determine AppNap state for WebPage
1199         https://bugs.webkit.org/show_bug.cgi?id=151964
1200
1201         Reviewed by Anders Carlson.
1202
1203         Step 1 in unifying this with the iOS process suppression mechanism is to move the decision out of the WebContent process.
1204
1205         * UIProcess/WebPageProxy.cpp:
1206         (WebKit::WebPageProxy::WebPageProxy):
1207         (WebKit::WebPageProxy::dispatchViewStateChange):
1208         (WebKit::WebPageProxy::setPageActivityState):
1209         (WebKit::WebPageProxy::updateActivityToken):
1210         (WebKit::WebPageProxy::preferencesDidChange):
1211         * UIProcess/WebPageProxy.h:
1212         (WebKit::WebPageProxy::isInWindow):
1213         (WebKit::WebPageProxy::didUpdateViewState):
1214         * UIProcess/WebPageProxy.messages.in:
1215             - WebPage now propagates PageActivityState to the WebPageProxy, for use
1216               determining the supression state of the WebProcess.
1217         * WebProcess/WebPage/WebPage.cpp:
1218         (WebKit::m_shouldDispatchFakeMouseMoveEvents):
1219         (WebKit::WebPage::setPageActivityState):
1220         (WebKit::WebPage::setUserActivityStarted):
1221         (WebKit::WebPage::setViewState):
1222         (WebKit::WebPage::updatePreferences):
1223         (WebKit::WebPage::updateUserActivity): Deleted.
1224         * WebProcess/WebPage/WebPage.h:
1225         * WebProcess/WebPage/WebPage.messages.in:
1226             - WebPage no longer determines when to update it's own UserActivity - instead,
1227               let the UI process do so. As such, no longer need to track whether process
1228               supression is enabled. Instead, add message to
1229
1230 2015-12-07  Chris Dumez  <cdumez@apple.com>
1231
1232         [WK2] Regression(r187691): If a page is showing an auth pane in one tab, any new tabs with same page hang until credentials are entered in first tab
1233         https://bugs.webkit.org/show_bug.cgi?id=151960
1234         <rdar://problem/23618112>
1235
1236         Reviewed by Alex Christensen.
1237
1238         After r187691, if a page is showing an auth pane in one tab, any new
1239         tabs with same page hang until credentials are entered in first tab.
1240         This is because we coalescing all authentication challenges from the
1241         same domain, no matter what tab they are for. This can be confusing
1242         so we now only coalesce authentication challenges within each tab,
1243         by leveraging the pageID (in addition to the domain).
1244
1245         * Shared/Authentication/AuthenticationManager.cpp:
1246         (WebKit::AuthenticationManager::shouldCoalesceChallenge):
1247         (WebKit::AuthenticationManager::coalesceChallengesMatching):
1248         (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
1249         * Shared/Authentication/AuthenticationManager.h:
1250
1251 2015-12-07  Beth Dakin  <bdakin@apple.com>
1252
1253         Hook up request and show for typing candidates in WK1
1254         https://bugs.webkit.org/show_bug.cgi?id=151831
1255         -and corresponding-
1256         <rdar://problem/23751214>
1257
1258         Reviewed by Enrica Casucci.
1259
1260         Empty client for now.
1261         * WebProcess/WebCoreSupport/WebEditorClient.h:
1262
1263 2015-12-07  Philippe Normand  <pnormand@igalia.com>
1264
1265         [GTK][Mac] socketpair assertion failure
1266         https://bugs.webkit.org/show_bug.cgi?id=151293
1267
1268         Reviewed by Carlos Garcia Campos.
1269
1270         * Platform/IPC/unix/ConnectionUnix.cpp: Don't use SEQPACKET sockets on Darwin.
1271
1272 2015-12-07  Gwang Yoon Hwang  <yoon@igalia.com>
1273
1274         [ThreadedCompositor] Add support for PlatformLayer.
1275         https://bugs.webkit.org/show_bug.cgi?id=143299
1276
1277         Reviewed by Žan Doberšek.
1278
1279         * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
1280         (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
1281         Swap pending buffers of TextureMapperPlatformLayerProxies before painting contents.
1282         (WebKit::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
1283         In threaded compositor, CoordinatedGraphicsScence only cares about creation and deletion
1284         of platform layers.
1285
1286         (WebKit::CoordinatedGraphicsScene::onNewBufferAvailable):
1287         Whenever new buffer comes via TextureMapperPlatformLayerProxy, CoordinatedGraphicsScene will
1288         update the scene if it is needed.
1289
1290 2015-12-07  Mario Sanchez Prada  <mario@endlessm.com>
1291
1292         [GTK] Allow applications to force Accelerated Compositing mode
1293         https://bugs.webkit.org/show_bug.cgi?id=150558
1294
1295         Reviewed by Carlos Garcia Campos.
1296
1297         Enable forcing Accelerated Compositing mode to be always on if
1298         a WEBKIT_FORCE_COMPOSITING_MODE environment variable is set.
1299
1300         This can be useful for controlled environments where we know that
1301         AC always on works well enough, to get smoother animations.
1302
1303         * UIProcess/gtk/WebPreferencesGtk.cpp:
1304         (WebKit::WebPreferences::platformInitializeStore): Set forceCompositingMode
1305         setting to true if the environment variable is found.
1306
1307 2015-12-07  Jon Forsberg  <jon.orebro@gmail.com>
1308
1309         [GTK] Add webkit_uri_request_get_http_method
1310         https://bugs.webkit.org/show_bug.cgi?id=151601
1311
1312         Reviewed by Martin Robinson.
1313
1314         Add a method to get the HTTP method of a WebKitURIRequest.
1315
1316         * UIProcess/API/gtk/WebKitURIRequest.cpp:
1317         (webkit_uri_request_get_http_method):
1318         * UIProcess/API/gtk/WebKitURIRequest.h:
1319         * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
1320
1321 2015-12-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1322
1323         [GTK] Add WebKitWebPage::console-message-sent signal to Web Extensions API
1324         https://bugs.webkit.org/show_bug.cgi?id=79918
1325
1326         Reviewed by Gustavo Noronha Silva.
1327
1328         Add WebKitConsoleMessage boxed type that is passed to the
1329         WebKitWebPage::console-message-sent signal with all the details
1330         about the message.
1331
1332         * PlatformGTK.cmake: Add new files to compilation.
1333         * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
1334         * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_console_message_get_type.
1335         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section to the docs.
1336         * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
1337         (API::InjectedBundle::PageUIClient::willAddMessageToConsole): Add
1338         paramaters for all console message details.
1339         * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.cpp: Added.
1340         (webkit_console_message_copy):
1341         (webkit_console_message_free):
1342         (webkit_console_message_get_source):
1343         (webkit_console_message_get_level):
1344         (webkit_console_message_get_text):
1345         (webkit_console_message_get_line):
1346         (webkit_console_message_get_source_id):
1347         * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessage.h: Added.
1348         * WebProcess/InjectedBundle/API/gtk/WebKitConsoleMessagePrivate.h: Added.
1349         (_WebKitConsoleMessage::_WebKitConsoleMessage):
1350         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1351         (webkitWebPageDidSendConsoleMessage): Emit the
1352         WebKitWebPage::console-message-sent signal.
1353         (didReceiveResponseForResource): Generate a console message in
1354         case of HTTP failure >= 400 for consistency with the inspector.
1355         (didFailLoadForResource): Generate a console message in case of
1356         resource load failure for consistency with the inspector.
1357         (webkit_web_page_class_init): Add WebKitWebPage::console-message-sent signal.
1358         (webkitWebPageCreate): Set custom UI client.
1359         * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
1360         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
1361         (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
1362         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
1363         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1364         (WebKit::WebChromeClient::addMessageToConsole): Pass all the
1365         console message details to the ui client.
1366
1367 2015-12-07  Ryuan Choi  <ryuan.choi@navercorp.com>
1368
1369         [EFL] MiniBrowser doesn't exit when called ewk_view_try_close()
1370         https://bugs.webkit.org/show_bug.cgi?id=151934
1371
1372         Reviewed by Csaba Osztrogonác.
1373
1374         * UIProcess/API/efl/ewk_view.cpp:
1375         (ewk_view_try_close):
1376         Called window_close callback immediately when WKPageTryClose returns true.
1377         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1378         (TEST_F): Improved test cases for try_close to test when content does not contain
1379         onbeforeunload callback.
1380
1381 2015-12-07  Jaehun Lim  <ljaehun.lim@samsung.com>
1382
1383         [EFL] Moving preference settings from EwkView to WebPreferencesEfl
1384         https://bugs.webkit.org/show_bug.cgi?id=151928
1385
1386         Reviewed by Gyuyoung Kim.
1387
1388         It implements WebPreferences::platformInitializeStore() in WebPreferencesEfl.cpp.
1389
1390         * UIProcess/API/efl/EwkView.cpp:
1391         (EwkView::EwkView):
1392         * UIProcess/efl/WebPreferencesEfl.cpp:
1393         (WebKit::WebPreferences::platformInitializeStore):
1394
1395 2015-12-04  Anders Carlsson  <andersca@apple.com>
1396
1397         Crash when secondary clicking on a link on yahoo.com
1398         https://bugs.webkit.org/show_bug.cgi?id=151900
1399         rdar://problem/23765149
1400
1401         Reviewed by Beth Dakin.
1402
1403         Don't use +[NSURL URLWithString:] since it doesn't handle invalid URLs as well as WebCore::URL.
1404
1405         * UIProcess/mac/WebContextMenuProxyMac.mm:
1406         (WebKit::WebContextMenuProxyMac::createShareMenuItem):
1407
1408 2015-12-04  Beth Dakin  <bdakin@apple.com>
1409
1410         Crash in clients using userData in 
1411         _immediateActionAnimationControllerForHitTestResult
1412         https://bugs.webkit.org/show_bug.cgi?id=151887
1413
1414         Rubber-stamped by Anders Carlsson.
1415
1416         Follow-up fix to handle null userData.
1417         * UIProcess/API/Cocoa/WKWebView.mm:
1418         (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
1419
1420 2015-12-04  Beth Dakin  <bdakin@apple.com>
1421
1422         Crash in clients using userData in 
1423         _immediateActionAnimationControllerForHitTestResult
1424         https://bugs.webkit.org/show_bug.cgi?id=151887
1425
1426         Reviewed by Sam Weinig.
1427
1428         Cast this correctly.
1429         * UIProcess/API/Cocoa/WKWebView.mm:
1430         (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
1431
1432 2015-12-04  Gavin Barraclough  <barraclough@apple.com>
1433
1434         Background state not being tracked correctly for PDFs on iOS
1435         https://bugs.webkit.org/show_bug.cgi?id=151886
1436
1437         Reviewed by Anders Carlson.
1438
1439         The problem here is that when viewing a PDF we don't have an ApplicationStateTracker.
1440         (While we do have a content view - which normally holds the ApplicationStateTracker -
1441         the content view is not in a window, and only has an ApplicationStateTracker while in a
1442         window). For now, let's give the WKPDFView an ApplicationStateTracker of its very own.
1443         In the future we may want to refactor ownership of the ApplicationStateTracker up to
1444         the WKWebView.
1445
1446         * UIProcess/API/Cocoa/WKWebView.mm:
1447         (-[WKWebView _isBackground]):
1448             - Added, checks background state of content/PDF view.
1449         * UIProcess/API/Cocoa/WKWebViewInternal.h:
1450             - expose _isBackground to PageClientImplIOS.
1451         * UIProcess/ApplicationStateTracker.h:
1452         (WebKit::ApplicationStateTracker::isInBackground):
1453         * UIProcess/ApplicationStateTracker.mm:
1454         (WebKit::isBackgroundState):
1455         (WebKit::ApplicationStateTracker::ApplicationStateTracker):
1456             - generalize WKContentView -> UIView, so this may now also be a WKPDFView.
1457         * UIProcess/ios/PageClientImplIOS.mm:
1458         (WebKit::PageClientImpl::isViewVisible):
1459             - check background state via the WKWebView.
1460         * UIProcess/ios/WKPDFView.h:
1461         * UIProcess/ios/WKPDFView.mm:
1462         (-[WKPDFView willMoveToWindow:]):
1463         (-[WKPDFView didMoveToWindow]):
1464         (-[WKPDFView isBackground]):
1465         (-[WKPDFView _applicationDidEnterBackground]):
1466         (-[WKPDFView _applicationWillEnterForeground]):
1467             - added methods to initialize ApplicationStateTracker, access background state, & callbacks to the page proxy.
1468
1469 2015-12-04  Antti Koivisto  <antti@apple.com>
1470
1471         Rename WebResourceLoadScheduler to WebLoaderStrategy
1472         https://bugs.webkit.org/show_bug.cgi?id=151854
1473
1474         Reviewed by Anders Carlsson.
1475
1476         It implements WebCore::LoaderStrategy and doesn't do any scheduling.
1477
1478         * CMakeLists.txt:
1479         * WebKit2.xcodeproj/project.pbxproj:
1480         * WebProcess/Network/NetworkProcessConnection.cpp:
1481         (WebKit::NetworkProcessConnection::didReceiveMessage):
1482         * WebProcess/Network/WebLoaderStrategy.cpp: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp.
1483         (WebKit::WebLoaderStrategy::WebLoaderStrategy):
1484         (WebKit::WebLoaderStrategy::~WebLoaderStrategy):
1485         (WebKit::WebLoaderStrategy::loadResource):
1486         (WebKit::WebLoaderStrategy::schedulePluginStreamLoad):
1487         (WebKit::maximumBufferingTime):
1488         (WebKit::WebLoaderStrategy::scheduleLoad):
1489         (WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
1490         (WebKit::WebLoaderStrategy::internallyFailedLoadTimerFired):
1491         (WebKit::WebLoaderStrategy::startLocalLoad):
1492         (WebKit::WebLoaderStrategy::remove):
1493         (WebKit::WebLoaderStrategy::setDefersLoading):
1494         (WebKit::WebLoaderStrategy::crossOriginRedirectReceived):
1495         (WebKit::WebLoaderStrategy::servePendingRequests):
1496         (WebKit::WebLoaderStrategy::suspendPendingRequests):
1497         (WebKit::WebLoaderStrategy::resumePendingRequests):
1498         (WebKit::WebLoaderStrategy::networkProcessCrashed):
1499         (WebKit::WebLoaderStrategy::loadResourceSynchronously):
1500         (WebKit::WebLoaderStrategy::createPingHandle):
1501         (WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler): Deleted.
1502         (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler): Deleted.
1503         (WebKit::WebResourceLoadScheduler::loadResource): Deleted.
1504         (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad): Deleted.
1505         (WebKit::WebResourceLoadScheduler::scheduleLoad): Deleted.
1506         (WebKit::WebResourceLoadScheduler::scheduleInternallyFailedLoad): Deleted.
1507         (WebKit::WebResourceLoadScheduler::internallyFailedLoadTimerFired): Deleted.
1508         (WebKit::WebResourceLoadScheduler::startLocalLoad): Deleted.
1509         (WebKit::WebResourceLoadScheduler::remove): Deleted.
1510         (WebKit::WebResourceLoadScheduler::setDefersLoading): Deleted.
1511         (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Deleted.
1512         (WebKit::WebResourceLoadScheduler::servePendingRequests): Deleted.
1513         (WebKit::WebResourceLoadScheduler::suspendPendingRequests): Deleted.
1514         (WebKit::WebResourceLoadScheduler::resumePendingRequests): Deleted.
1515         (WebKit::WebResourceLoadScheduler::networkProcessCrashed): Deleted.
1516         (WebKit::WebResourceLoadScheduler::loadResourceSynchronously): Deleted.
1517         (WebKit::WebResourceLoadScheduler::createPingHandle): Deleted.
1518         * WebProcess/Network/WebLoaderStrategy.h: Copied from Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h.
1519         (WebKit::WebLoaderStrategy::webResourceLoaderForIdentifier):
1520         (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier): Deleted.
1521         * WebProcess/Network/WebResourceLoadScheduler.cpp: Removed.
1522         * WebProcess/Network/WebResourceLoadScheduler.h: Removed.
1523         * WebProcess/Plugins/PluginView.cpp:
1524         (WebKit::PluginView::Stream::start):
1525         (WebKit::PluginView::Stream::cancel):
1526         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1527         (WebKit::WebPlatformStrategies::createLoaderStrategy):
1528         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
1529         * WebProcess/WebProcess.cpp:
1530         (WebKit::WebProcess::WebProcess):
1531         (WebKit::WebProcess::initializeWebProcess):
1532         (WebKit::WebProcess::networkProcessConnectionClosed):
1533         (WebKit::WebProcess::webLoaderStrategy):
1534         (WebKit::WebProcess::webResourceLoadScheduler): Deleted.
1535         * WebProcess/WebProcess.h:
1536
1537 2015-12-03  Simon Fraser  <simon.fraser@apple.com>
1538
1539         Have layer memory use consult the backing store format
1540         https://bugs.webkit.org/show_bug.cgi?id=151827
1541         rdar://problem/23746497
1542
1543         Reviewed by Dean Jackson.
1544
1545         When computing the backing store memory size, take the pixel format into account,
1546         rather than assuming 4 bytes per pixel.
1547
1548         * Shared/mac/RemoteLayerBackingStore.h:
1549         * Shared/mac/RemoteLayerBackingStore.mm:
1550         (WebKit::RemoteLayerBackingStore::bytesPerPixel):
1551         * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
1552         (WebKit::PlatformCALayerRemote::backingStoreBytesPerPixel):
1553         * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
1554
1555 2015-12-03  Jer Noble  <jer.noble@apple.com>
1556
1557         Expose WebCore's InvisibleAutoplayNotPermitted setting to WebKit & WebKit2
1558         https://bugs.webkit.org/show_bug.cgi?id=151830
1559
1560         Reviewed by Anders Carlsson.
1561
1562         Add a new, private WKWebViewConfiguration property _invisibleAutoplayNotPermitted.
1563
1564         * Shared/WebPreferencesDefinitions.h:
1565         * UIProcess/API/Cocoa/WKWebView.mm:
1566         (-[WKWebView initWithFrame:configuration:]):
1567         * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
1568         (-[WKWebViewConfiguration init]):
1569         (-[WKWebViewConfiguration copyWithZone:]):
1570         (-[WKWebViewConfiguration _invisibleAutoplayNotPermitted]):
1571         (-[WKWebViewConfiguration _setInvisibleAutoplayNotPermitted:]):
1572         * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
1573         * WebProcess/WebPage/WebPage.cpp:
1574         (WebKit::WebPage::updatePreferences):
1575
1576 2015-12-03  Sam Weinig  <sam@webkit.org>
1577
1578         It should be possible to use version 6 of the WKPageUIClient without adopting the new createNewPage
1579         https://bugs.webkit.org/show_bug.cgi?id=151826
1580
1581         Reviewed by Anders Carlsson.
1582
1583         * UIProcess/API/C/WKPage.cpp:
1584         (WKPageSetPageUIClient):
1585         Pick which variant of createNewPage to use based on which function pointer is available,
1586         not the version number.
1587
1588 2015-12-03  Anders Carlsson  <andersca@apple.com>
1589
1590         Remove Objective-C GC support
1591         https://bugs.webkit.org/show_bug.cgi?id=151819
1592         rdar://problem/23746991
1593
1594         Reviewed by Dan Bernstein.
1595
1596         * Configurations/Base.xcconfig:
1597         * Configurations/BaseLegacyProcess.xcconfig:
1598         * Configurations/BaseXPCService.xcconfig:
1599         * Shared/Cocoa/APIObject.mm:
1600         (API::Object::newObject): Deleted.
1601
1602 2015-12-03  Jer Noble  <jer.noble@apple.com>
1603
1604         Unreviewed build-fix; fix !HAVE(AVKIT) build after r193340.
1605
1606         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1607         (WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive):
1608
1609 2015-12-03  Sam Weinig  <sam@webkit.org>
1610
1611         Need completionHandler-based WebKit C SPI for alert, confirm, and prompt
1612         <rdar://problem/23320863>
1613         https://bugs.webkit.org/show_bug.cgi?id=151708
1614
1615         (Add missing function definitions)
1616
1617         * UIProcess/API/C/WKPage.cpp:
1618         (WKPageRunJavaScriptAlertResultListenerGetTypeID):
1619         (WKPageRunJavaScriptAlertResultListenerCall):
1620         (WKPageRunJavaScriptConfirmResultListenerGetTypeID):
1621         (WKPageRunJavaScriptConfirmResultListenerCall):
1622         (WKPageRunJavaScriptPromptResultListenerGetTypeID):
1623         (WKPageRunJavaScriptPromptResultListenerCall):
1624
1625 2015-12-03  Jer Noble  <jer.noble@apple.com>
1626
1627         [iOS] Fullscreen -> PiP should resume to Fullscreen, not inline
1628         https://bugs.webkit.org/show_bug.cgi?id=150906
1629
1630         Reviewed by Simon Fraser.
1631
1632         Add methods to pass isVisible(), applicationDidBecomeActive(), and requestFullscreenMode()
1633         to and from models and interfaces.
1634
1635         * UIProcess/ios/WebPageProxyIOS.mm:
1636         (WebKit::WebPageProxy::applicationDidBecomeActive): Notify the fullscreen manager, if preset.
1637
1638         * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1639         (WebKit::WebVideoFullscreenModelContext::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum.
1640         (WebKit::WebVideoFullscreenModelContext::isVisible): Added.
1641         (WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive): Pass to all existing interfaces.
1642         (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Do not re-create the view if it already exists.
1643         (WebKit::WebVideoFullscreenManagerProxy::requestFullscreenMode): Renamed from requestExitFullscreen(); takes a mode enum.
1644         (WebKit::WebVideoFullscreenManagerProxy::isVisible): Added. Query Page::isVisible() and Page::isInWindow(), the latter because
1645                 PiP will cause Page::isVisible() to be TRUE even when the containing tab is backgrounded.
1646         (WebKit::WebVideoFullscreenModelContext::requestExitFullscreen): Deleted.
1647         (WebKit::WebVideoFullscreenManagerProxy::requestExitFullscreen): Deleted.
1648         * WebProcess/ios/WebVideoFullscreenManager.mm:
1649         (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Only resize the view if we are not already in one of
1650                 the fullscreen modes.
1651         (WebKit::WebVideoFullscreenManager::requestFullscreenMode): Renamed from requestExitFullscreen().
1652         (WebKit::WebVideoFullscreenManager::requestExitFullscreen): Deleted.
1653
1654 2015-12-02  Antti Koivisto  <antti@apple.com>
1655
1656         Move ResourceLoadScheduler to WebKit1
1657         https://bugs.webkit.org/show_bug.cgi?id=151743
1658
1659         Reviewed by Alex Christensen.
1660
1661         * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
1662         (WebKit::NetworkProcessPlatformStrategies::createCookiesStrategy):
1663         (WebKit::NetworkProcessPlatformStrategies::createLoaderStrategy):
1664         (WebKit::NetworkProcessPlatformStrategies::createPasteboardStrategy):
1665         (WebKit::NetworkProcessPlatformStrategies::createPluginStrategy):
1666         (WebKit::NetworkProcessPlatformStrategies::createBlobRegistry):
1667         (WebKit::NetworkProcessPlatformStrategies::resourceLoadScheduler): Deleted.
1668         (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously): Deleted.
1669         * NetworkProcess/NetworkProcessPlatformStrategies.h:
1670         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1671         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1672         (WebKit::WebResourceLoadScheduler::~WebResourceLoadScheduler):
1673         (WebKit::WebResourceLoadScheduler::loadResource):
1674         (WebKit::WebResourceLoadScheduler::resumePendingRequests):
1675         (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
1676         (WebKit::WebResourceLoadScheduler::loadResourceSynchronously):
1677         (WebKit::WebResourceLoadScheduler::createPingHandle):
1678         (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad): Deleted.
1679         (WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled): Deleted.
1680         * WebProcess/Network/WebResourceLoadScheduler.h:
1681         (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
1682         * WebProcess/Plugins/PluginView.cpp:
1683         (WebKit::PluginView::Stream::start):
1684         (WebKit::PluginView::Stream::cancel):
1685         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1686         (WebKit::WebPlatformStrategies::createLoaderStrategy):
1687         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
1688         (WebKit::WebPlatformStrategies::createPluginStrategy):
1689         (WebKit::WebPlatformStrategies::createBlobRegistry):
1690         (WebKit::WebPlatformStrategies::cookiesForDOM):
1691         (WebKit::WebPlatformStrategies::deleteCookie):
1692         (WebKit::WebPlatformStrategies::refreshPlugins):
1693         (WebKit::WebPlatformStrategies::resourceLoadScheduler): Deleted.
1694         (WebKit::WebPlatformStrategies::loadResourceSynchronously): Deleted.
1695         (WebKit::WebPlatformStrategies::createPingHandle): Deleted.
1696         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1697
1698 2015-12-02  Alex Christensen  <achristensen@webkit.org>
1699
1700         Fix authentication requests with NetworkSession and canHandleHTTPSServerTrustEvaluation true
1701         https://bugs.webkit.org/show_bug.cgi?id=151775
1702         rdar://problem/23586265
1703
1704         Reviewed by Chris Dumez.
1705
1706         In https://bugs.webkit.org/show_bug.cgi?id=150968 I copied functionality from 
1707         NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync into NetworkLoad::didReceiveChallenge
1708         but I overlooked the call to m_client.canAuthenticateAgainstProtectionSpaceAsync which is needed
1709         if canHandleHTTPSServerTrustEvaluation is true.  This adds that call and moves what should happen
1710         after that to NetworkLoad::continueCanAuthenticateAgainstProtectionSpace.
1711
1712         * NetworkProcess/NetworkLoad.cpp:
1713         (WebKit::NetworkLoad::didReceiveChallenge):
1714         (WebKit::NetworkLoad::didReceiveResponse):
1715         (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
1716         * NetworkProcess/NetworkLoad.h:
1717         * NetworkProcess/NetworkSession.h:
1718         * Shared/Authentication/AuthenticationManager.h:
1719
1720 2015-12-01  Hunseop Jeong  <hs85.jeong@samsung.com>
1721
1722         Unreviewed, fix build after r192931.
1723
1724         * CMakeLists.txt: Remove the WKOriginDataManager in CMakeLists.txt.
1725
1726 2015-12-01  Yusuke Suzuki  <utatane.tea@gmail.com>
1727
1728         [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
1729         https://bugs.webkit.org/show_bug.cgi?id=150792
1730
1731         Reviewed by Saam Barati.
1732
1733         * Configurations/FeatureDefines.xcconfig:
1734
1735 2015-12-01  Commit Queue  <commit-queue@webkit.org>
1736
1737         Unreviewed, rolling out r192914.
1738         https://bugs.webkit.org/show_bug.cgi?id=151734
1739
1740         JSC tests for this change are failing on 32 and 64-bit bots
1741         (Requested by ryanhaddad on #webkit).
1742
1743         Reverted changeset:
1744
1745         "[ES6] Implement LLInt/Baseline Support for ES6 Generators and
1746         enable this feature"
1747         https://bugs.webkit.org/show_bug.cgi?id=150792
1748         http://trac.webkit.org/changeset/192914
1749
1750 2015-12-01  Anders Carlsson  <andersca@apple.com>
1751
1752         Remove WKOriginDataManager
1753         https://bugs.webkit.org/show_bug.cgi?id=151723
1754
1755         Reviewed by Andy Estes.
1756
1757         * UIProcess/API/C/WKOriginDataManager.cpp: Removed.
1758         (WKOriginDataManagerGetTypeID): Deleted.
1759         (WKOriginDataManagerGetOrigins): Deleted.
1760         (WKOriginDataManagerDeleteEntriesForOrigin): Deleted.
1761         (WKOriginDataManagerDeleteEntriesModifiedBetweenDates): Deleted.
1762         (WKOriginDataManagerDeleteAllEntries): Deleted.
1763         * UIProcess/API/C/WKOriginDataManager.h: Removed.
1764         * WebKit2.xcodeproj/project.pbxproj:
1765
1766 2015-12-01  Yusuke Suzuki  <utatane.tea@gmail.com>
1767
1768         [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
1769         https://bugs.webkit.org/show_bug.cgi?id=150792
1770
1771         Reviewed by Saam Barati.
1772
1773         * Configurations/FeatureDefines.xcconfig:
1774
1775 2015-12-01  Sam Weinig  <sam@webkit.org>
1776
1777         Need completionHandler-based WebKit C SPI for alert, confirm, and prompt
1778         <rdar://problem/23320863>
1779         https://bugs.webkit.org/show_bug.cgi?id=151708
1780
1781         Reviewed by Anders Carlsson.
1782
1783         Add listener based versions of alert, confirm and prompt.
1784
1785         * Shared/API/APIObject.h:
1786         * Shared/API/c/WKBase.h:
1787         * UIProcess/API/C/WKPage.cpp:
1788         (WebKit::RunJavaScriptAlertResultListener::create):
1789         (WebKit::RunJavaScriptAlertResultListener::~RunJavaScriptAlertResultListener):
1790         (WebKit::RunJavaScriptAlertResultListener::call):
1791         (WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener):
1792         (WebKit::RunJavaScriptConfirmResultListener::create):
1793         (WebKit::RunJavaScriptConfirmResultListener::~RunJavaScriptConfirmResultListener):
1794         (WebKit::RunJavaScriptConfirmResultListener::call):
1795         (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
1796         (WebKit::RunJavaScriptPromptResultListener::create):
1797         (WebKit::RunJavaScriptPromptResultListener::~RunJavaScriptPromptResultListener):
1798         (WebKit::RunJavaScriptPromptResultListener::call):
1799         (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
1800         (WKPageSetPageUIClient):
1801         * UIProcess/API/C/WKPageUIClient.h:
1802
1803 2015-12-01  Anders Carlsson  <andersca@apple.com>
1804
1805         Remove WebKit2.framework
1806         https://bugs.webkit.org/show_bug.cgi?id=151715
1807
1808         Reviewed by Dan Bernstein.
1809
1810         * Configurations/WebKit2.xcconfig: Removed.
1811         * UIProcess/API/Cocoa/WebKit2.h: Removed.
1812         * WebKit2.xcodeproj/project.pbxproj:
1813         * mac/Info-WebKit2.plist: Removed.
1814         * mac/MigrateHeadersToWebKit2.make: Removed.
1815         * mac/WebKit2.m: Removed.
1816
1817 2015-12-01  Alex Christensen  <achristensen@webkit.org>
1818
1819         Use Optional for matrix inverses
1820         https://bugs.webkit.org/show_bug.cgi?id=151575
1821
1822         Reviewed by Myles C. Maxfield.
1823
1824         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1825         (WebKit::NetscapePlugin::convertFromRootView):
1826         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1827         (WebKit::NetscapePlugin::convertPoint):
1828         * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
1829         (WebKit::PDFPlugin::convertFromPDFViewToRootView):
1830         (WebKit::PDFPlugin::convertFromPDFViewToScreen):
1831         (WebKit::PDFPlugin::boundsOnScreen):
1832         (WebKit::PDFPlugin::geometryDidChange):
1833         * WebProcess/Plugins/PDF/PDFPlugin.mm:
1834         (WebKit::PDFPlugin::geometryDidChange):
1835
1836 2015-12-01  Tim Horton  <timothy_horton@apple.com>
1837
1838         Remove swipe snapshot before main document load if scroll position is already restored
1839         https://bugs.webkit.org/show_bug.cgi?id=151224
1840
1841         Reviewed by Darin Adler.
1842
1843         * UIProcess/Cocoa/WebViewImpl.h:
1844         * UIProcess/Cocoa/WebViewImpl.mm:
1845         (WebKit::WebViewImpl::didRestoreScrollPosition):
1846         * UIProcess/PageClient.h:
1847         * UIProcess/WebPageProxy.cpp:
1848         (WebKit::WebPageProxy::didRestoreScrollPosition):
1849         * UIProcess/WebPageProxy.h:
1850         * UIProcess/WebPageProxy.messages.in:
1851         * UIProcess/mac/PageClientImpl.h:
1852         * UIProcess/mac/PageClientImpl.mm:
1853         (WebKit::PageClientImpl::didRestoreScrollPosition):
1854         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1855         (WebKit::WebFrameLoaderClient::didRestoreScrollPosition):
1856         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1857         * WebProcess/WebPage/WebPage.cpp:
1858         (WebKit::WebPage::didRestoreScrollPosition):
1859         * WebProcess/WebPage/WebPage.h:
1860         Plumb didRestoreScrollPosition through to ViewGestureController (yikes!).
1861
1862         * UIProcess/ViewGestureController.cpp:
1863         (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
1864         Cancel waiting for any more loads if we get to firstVisuallyNonEmptyLayout.
1865
1866         (WebKit::ViewGestureController::didReachMainFrameLoadTerminalState):
1867         Cancel waiting for scroll position restoration if we make it to main frame load,
1868         because there is a chance we won't be able to restore the old scroll position, and
1869         by main frame load time we've tried as hard as we're going to to restore it.
1870
1871         * UIProcess/mac/ViewGestureControllerMac.mm:
1872         (WebKit::ViewGestureController::endSwipeGesture):
1873         Make some legacy-style-only code clearer that it's legacy-style-only.
1874         Wait for scroll position restoration.
1875
1876 2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1877
1878         REGRESSION(r192834): [GTK] Test /webkit2/WebKitWebView/editor-state/typing-attributes times out after r192834
1879         https://bugs.webkit.org/show_bug.cgi?id=151699
1880
1881         Reviewed by Tim Horton.
1882
1883         In r192834 the code to send EditorStateChanged message to the UI
1884         process from WebPage::didChangeSelection was removed for non-mac
1885         ports.
1886
1887         * WebProcess/WebPage/WebPage.cpp:
1888         (WebKit::WebPage::didChangeSelection): Send EditorStateChanged
1889         message to the UI process also for non-mac ports, as before r192834.
1890
1891 2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1892
1893         Unreviewed. Fix timeouts in several HTTP layout tests in GTK+ after r192796.
1894
1895         In r192796, the initialization of m_ignoreTLSErrors in
1896         WebProcessPool was removed by mistake, making all HTTP tests that use
1897         HTTPS fail due to invalid certificate errors.
1898
1899         * UIProcess/WebProcessPool.h: Bring back m_ignoreTLSErrors initialization.
1900
1901 2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1902
1903         REGRESSION(r192247): [GTK] ASSERTION FAILED: type == WebCore::ActionType || type == WebCore::CheckableActionType || type == WebCore::SeparatorType
1904         https://bugs.webkit.org/show_bug.cgi?id=151513
1905
1906         Reviewed by Martin Robinson.
1907
1908         This happens because we are using our own WebContextMenuItemGtk
1909         derived from WebContextMenuItemData, but using our own submenu
1910         items handling. We are using the non-submenu
1911         WebContextMenuItemData constructor to create our submenu items
1912         too, because WebContextMenuItemData always expect the submenu
1913         items to be passed to the constructor, but we have a set_submenu
1914         method in the public API. So we consider that a
1915         WebContextMenuItemGtk is SubmenuType if it has submenu items, but
1916         we use the action type internally. When converting a
1917         WebContextMenuItemGtk to a generic WebContextMenuItemData, we
1918         correctly set the type and pass the submenu items to the
1919         approriate constructor.
1920
1921         * Shared/gtk/WebContextMenuItemGtk.cpp:
1922         (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk): When
1923         constructing from a WebContextMenuItemData, set the type as
1924         ActionType when it's a submenu type.
1925         * Shared/gtk/WebContextMenuItemGtk.h:
1926         (WebKit::WebContextMenuItemGtk::type): Return SubmenuType if
1927         submenu items vector is not empty, otherwise use the parent method.
1928         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
1929         (webkit_context_menu_item_new_with_submenu): Create the
1930         WebContextMenuItemGtk as ActionType.
1931
1932 2015-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1933
1934         Unreviewed. Add missing inspector files to the GTK+ build.
1935
1936         * PlatformGTK.cmake: Add also Debug css files.
1937
1938 2015-11-30  Alexey Proskuryakov  <ap@apple.com>
1939
1940         Build fix for some compiler versions.
1941
1942         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Disable deprecation warnings while
1943         processing SOFT_LINK_CLASS too.
1944
1945 2015-11-30  Jiewen Tan  <jiewen_tan@apple.com>
1946
1947         Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html
1948         https://bugs.webkit.org/show_bug.cgi?id=149309
1949         <rdar://problem/22748363>
1950
1951         Reviewed by Brent Fulgham.
1952
1953         Callback of bundle clients could kill the documentloader. Therefore, make a copy
1954         of the navigationID before invoking the callback.
1955
1956         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1957         (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
1958         (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
1959         (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
1960         (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
1961         (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
1962         (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
1963         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
1964
1965 2015-11-30  Tim Horton  <timothy_horton@apple.com>
1966
1967         Get rid of the !USE(ASYNC_NSTEXTINPUTCLIENT) codepath
1968         https://bugs.webkit.org/show_bug.cgi?id=151673
1969
1970         Reviewed by Anders Carlsson.
1971
1972         * UIProcess/API/Cocoa/WKWebView.mm:
1973         * UIProcess/API/mac/WKView.mm:
1974         * UIProcess/Cocoa/WebViewImpl.h:
1975         * UIProcess/Cocoa/WebViewImpl.mm:
1976         (WebKit::WebViewImpl::resignFirstResponder): Deleted.
1977         (WebKit::WebViewImpl::interpretKeyEvent): Deleted.
1978         (WebKit::WebViewImpl::executeSavedKeypressCommands): Deleted.
1979         (WebKit::WebViewImpl::doCommandBySelector): Deleted.
1980         (WebKit::WebViewImpl::insertText): Deleted.
1981         (WebKit::WebViewImpl::inputContext): Deleted.
1982         (WebKit::WebViewImpl::selectedRange): Deleted.
1983         (WebKit::WebViewImpl::hasMarkedText): Deleted.
1984         (WebKit::WebViewImpl::unmarkText): Deleted.
1985         (WebKit::WebViewImpl::setMarkedText): Deleted.
1986         (WebKit::WebViewImpl::markedRange): Deleted.
1987         (WebKit::WebViewImpl::attributedSubstringForProposedRange): Deleted.
1988         (WebKit::WebViewImpl::characterIndexForPoint): Deleted.
1989         (WebKit::WebViewImpl::firstRectForCharacterRange): Deleted.
1990         (WebKit::WebViewImpl::performKeyEquivalent): Deleted.
1991         (WebKit::WebViewImpl::keyUp): Deleted.
1992         (WebKit::WebViewImpl::keyDown): Deleted.
1993         (WebKit::WebViewImpl::flagsChanged): Deleted.
1994         * UIProcess/PageClient.h:
1995         * UIProcess/WebPageProxy.cpp:
1996         (WebKit::WebPageProxy::WebPageProxy): Deleted.
1997         (WebKit::WebPageProxy::resetStateAfterProcessExited): Deleted.
1998         * UIProcess/WebPageProxy.h:
1999         * UIProcess/mac/PageClientImpl.h:
2000         * UIProcess/mac/PageClientImpl.mm:
2001         (WebKit::PageClientImpl::notifyApplicationAboutInputContextChange): Deleted.
2002         * UIProcess/mac/WebPageProxyMac.mm:
2003         (WebKit::WebPageProxy::setComposition): Deleted.
2004         (WebKit::WebPageProxy::confirmComposition): Deleted.
2005         (WebKit::WebPageProxy::insertText): Deleted.
2006         (WebKit::WebPageProxy::insertDictatedText): Deleted.
2007         (WebKit::WebPageProxy::getMarkedRange): Deleted.
2008         (WebKit::WebPageProxy::getSelectedRange): Deleted.
2009         (WebKit::WebPageProxy::getAttributedSubstringFromRange): Deleted.
2010         (WebKit::WebPageProxy::characterIndexForPoint): Deleted.
2011         (WebKit::WebPageProxy::firstRectForCharacterRange): Deleted.
2012         (WebKit::WebPageProxy::executeKeypressCommands): Deleted.
2013         (WebKit::WebPageProxy::cancelComposition): Deleted.
2014         (WebKit::WebPageProxy::editorStateChanged): Deleted.
2015         * WebProcess/WebPage/WebPage.cpp:
2016         (WebKit::WebPage::didChangeSelection):
2017         * WebProcess/WebPage/WebPage.h:
2018         * WebProcess/WebPage/WebPage.messages.in:
2019         * WebProcess/WebPage/mac/WebPageMac.mm:
2020         (WebKit::WebPage::setComposition): Deleted.
2021         (WebKit::WebPage::confirmComposition): Deleted.
2022         (WebKit::WebPage::insertText): Deleted.
2023         (WebKit::WebPage::insertDictatedText): Deleted.
2024         (WebKit::WebPage::getMarkedRange): Deleted.
2025         (WebKit::WebPage::getSelectedRange): Deleted.
2026         (WebKit::WebPage::getAttributedSubstringFromRange): Deleted.
2027         (WebKit::WebPage::characterIndexForPoint): Deleted.
2028         (WebKit::WebPage::firstRectForCharacterRange): Deleted.
2029         (WebKit::WebPage::executeKeypressCommands): Deleted.
2030         (WebKit::WebPage::cancelComposition): Deleted.
2031
2032 2015-11-30  Tim Horton  <timothy_horton@apple.com>
2033
2034         Remove some unused synchronous drawing SPI
2035         https://bugs.webkit.org/show_bug.cgi?id=151672
2036
2037         Reviewed by Anders Carlsson.
2038
2039         * UIProcess/API/Cocoa/WKViewPrivate.h:
2040         * UIProcess/API/mac/WKView.mm:
2041         (-[WKView forceAsyncDrawingAreaSizeUpdate:]): Deleted.
2042         (-[WKView waitForAsyncDrawingAreaSizeUpdate]): Deleted.
2043         * UIProcess/Cocoa/WebViewImpl.h:
2044         * UIProcess/Cocoa/WebViewImpl.mm:
2045         (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate): Deleted.
2046         (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate): Deleted.
2047
2048 2015-11-30  Tim Horton  <timothy_horton@apple.com>
2049
2050         Get rid of the legacy swipe shadow style
2051         https://bugs.webkit.org/show_bug.cgi?id=151671
2052
2053         Reviewed by Anders Carlsson.
2054
2055         * UIProcess/mac/ViewGestureControllerMac.mm:
2056         (WebKit::ViewGestureController::beginSwipeGesture): Deleted.
2057         (WebKit::ViewGestureController::handleSwipeGesture): Deleted.
2058         (WebKit::ViewGestureController::removeSwipeSnapshot): Deleted.
2059         It is no longer needed.
2060
2061 2015-11-30  Tim Horton  <timothy_horton@apple.com>
2062
2063         [iOS] Option-up and Option-down should scroll a little less than a full page
2064         https://bugs.webkit.org/show_bug.cgi?id=151538
2065         <rdar://problem/23642675>
2066
2067         Reviewed by Simon Fraser.
2068
2069         * UIProcess/ios/WKContentViewInteraction.mm:
2070         (-[WKContentView _scrollOffsetForEvent:]):
2071         (-[WKContentView _interpretKeyEvent:isCharEvent:]):
2072         Clean up the code a little, and adjust so that we *always* use pageStep
2073         instead of just scrolling by the unobscured rect when scrolling by a page.
2074         Previously, we did for the spacebar, but not for option-up and option-down.
2075
2076 2015-11-30  Brian Burg  <bburg@apple.com>
2077
2078         Web Inspector: using "Reload Web Inspector" when docked breaks dock-specific styles
2079         https://bugs.webkit.org/show_bug.cgi?id=151642
2080
2081         Reviewed by Timothy Hatcher.
2082
2083         After a frontend loads, explicitly tell it about the current dock
2084         state. This is necessary for force-reloading the inspector, since
2085         the dock state isn't sent from UIProcess in this case.
2086
2087         * WebProcess/WebPage/WebInspectorUI.cpp:
2088         (WebKit::WebInspectorUI::frontendLoaded):
2089         (WebKit::WebInspectorUI::setDockingUnavailable):
2090         * WebProcess/WebPage/WebInspectorUI.h:
2091
2092 2015-11-30  Alex Christensen  <achristensen@webkit.org>
2093
2094         Make ProcessModel always MultipleSecondaryProcesses
2095         https://bugs.webkit.org/show_bug.cgi?id=151662
2096
2097         Reviewed by Antti Koivisto.
2098
2099         Single WebProcess behavior can still be achieved by setting the maximum number of WebProcesses to 1.
2100
2101         * Shared/API/c/WKDeprecatedFunctions.cpp:
2102         (WKContextSetUsesNetworkProcess):
2103         (WKContextSetProcessModel):
2104         (WKContextGetProcessModel):
2105         (WKGraphicsContextGetCGContext):
2106         * UIProcess/API/APIProcessPoolConfiguration.cpp:
2107         (API::ProcessPoolConfiguration::createWithLegacyOptions):
2108         (API::ProcessPoolConfiguration::copy):
2109         * UIProcess/API/APIProcessPoolConfiguration.h:
2110         * UIProcess/API/C/WKAPICast.h:
2111         (WebKit::toAPI):
2112         (WebKit::toFontSmoothingLevel):
2113         (WebKit::toProcessModel): Deleted.
2114         * UIProcess/API/C/WKContext.cpp:
2115         (WKContextGetCacheModel):
2116         (WKContextSetMaximumNumberOfProcesses):
2117         (WKContextSetProcessModel): Deleted.
2118         (WKContextGetProcessModel): Deleted.
2119         * UIProcess/API/C/WKContext.h:
2120         * UIProcess/API/Cocoa/WKProcessGroup.mm:
2121         (-[WKProcessGroup initWithInjectedBundleURL:]):
2122         * UIProcess/API/Cocoa/WKProcessPool.mm:
2123         * UIProcess/API/efl/ewk_context.cpp:
2124         (EwkContext::cacheModel):
2125         (EwkContext::setProcessModel):
2126         (EwkContext::processModel):
2127         (EwkContext::clearResourceCache):
2128         (EwkContext::jsGlobalContext):
2129         (ewk_context_message_from_extensions_callback_set):
2130         (ewk_context_process_model_set):
2131         (ewk_context_process_model_get):
2132         (ewk_context_tls_error_policy_get):
2133         (toWKProcessModel): Deleted.
2134         (toEwkProcessModel): Deleted.
2135         * UIProcess/API/gtk/WebKitWebContext.cpp:
2136         * UIProcess/ProcessModel.h: Removed.
2137         * UIProcess/WebCookieManagerProxy.cpp:
2138         (WebKit::WebCookieManagerProxy::shouldTerminate):
2139         (WebKit::WebCookieManagerProxy::refWebContextSupplement):
2140         * UIProcess/WebInspectorProxy.cpp:
2141         (WebKit::WebInspectorProxy::inspectorProcessPool):
2142         * UIProcess/WebPageProxy.cpp:
2143         (WebKit::WebPageProxy::reattachToWebProcess):
2144         * UIProcess/WebProcessPool.cpp:
2145         (WebKit::WebProcessPool::create):
2146         (WebKit::WebProcessPool::setDownloadClient):
2147         (WebKit::WebProcessPool::setMaximumNumberOfProcesses):
2148         (WebKit::WebProcessPool::processDidCachePage):
2149         (WebKit::WebProcessPool::createNewWebProcess):
2150         (WebKit::WebProcessPool::disconnectProcess):
2151         (WebKit::WebProcessPool::createWebPage):
2152         (WebKit::WebProcessPool::postMessageToInjectedBundle):
2153         (WebKit::WebProcessPool::requestWebContentStatistics):
2154         (WebKit::WebProcessPool::requestNetworkingStatistics):
2155         (WebKit::WebProcessPool::setProcessModel): Deleted.
2156         (WebKit::WebProcessPool::ensureSharedWebProcess): Deleted.
2157         * UIProcess/WebProcessPool.h:
2158         (WebKit::WebProcessPool::sendToAllProcessesRelaunchingThemIfNecessary):
2159         (WebKit::WebProcessPool::sendToOneProcess):
2160         * WebKit2.xcodeproj/project.pbxproj:
2161
2162 2015-11-30  Chris Dumez  <cdumez@apple.com>
2163
2164         [WK2][Cache] We should not speculatively revalidate transient resources
2165         https://bugs.webkit.org/show_bug.cgi?id=151402
2166         <rdar://problem/23092196>
2167
2168         Reviewed by Antti Koivisto.
2169
2170         We should not speculatively revalidate transient resources. This patch
2171         adds a simple and conservative algorithm to detect that a subresource is
2172         transient and then ignores those when doing the speculative revalidation.
2173
2174         The algorithm is question marks as transient all subresources that are
2175         not common to the 2 last loads of a main resource.
2176
2177         This is not perfect as I see the number of non-speculative revalidations
2178         going up to 11-12 from 9 in the context of the warm PLT. However, it is
2179         best to be conservative at first and we can improve this later.
2180
2181         * NetworkProcess/cache/NetworkCache.cpp:
2182         (WebKit::NetworkCache::Cache::retrieve):
2183         * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
2184         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::create):
2185         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::~PendingFrameLoad):
2186         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::registerSubresource):
2187         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markLoadAsCompleted):
2188         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::setExistingSubresourcesEntry):
2189         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):
2190         (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::saveToDiskIfReady):
2191         (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
2192         (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
2193         (WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry):
2194         (WebKit::NetworkCache::SpeculativeLoadManager::retrieve): Deleted.
2195         (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry): Deleted.
2196         * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
2197         * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
2198         (WebKit::NetworkCache::SubresourcesEntry::encodeAsStorageRecord):
2199         (WebKit::NetworkCache::SubresourcesEntry::decodeStorageRecord):
2200         (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
2201         (WebKit::NetworkCache::SubresourcesEntry::updateSubresourceKeys):
2202         * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
2203         (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::encode):
2204         (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::decode):
2205         (WebKit::NetworkCache::SubresourcesEntry::SubresourceInfo::SubresourceInfo):
2206         (WebKit::NetworkCache::SubresourcesEntry::subresources):
2207
2208 2015-11-30  Brent Fulgham  <bfulgham@apple.com>
2209
2210         [Mac] Add font service permission to the sandbox profile
2211         https://bugs.webkit.org/show_bug.cgi?id=151509
2212         <rdar://problem/23508753>
2213
2214         Reviewed by Anders Carlsson.
2215
2216         Update the sandbox profile for Mac WebKit to allow access to the
2217         "com.apple.fonts" service.
2218
2219         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2220         * WebProcess/com.apple.WebProcess.sb.in:
2221
2222 2015-11-30  Alex Christensen  <achristensen@webkit.org>
2223
2224         Make usesNetworkProcess always true
2225         https://bugs.webkit.org/show_bug.cgi?id=151580
2226
2227         Reviewed by Darin Adler.
2228
2229         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2230         (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
2231         * Shared/API/c/WKDeprecatedFunctions.cpp:
2232         (WKInspectorToggleJavaScriptProfiling):
2233         (WKContextSetUsesNetworkProcess):
2234         (WKGraphicsContextGetCGContext):
2235         * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
2236         (WebKit::CustomProtocolManager::initializeConnection):
2237         (WebKit::CustomProtocolManager::initialize):
2238         * Shared/Network/CustomProtocols/CustomProtocolManager.h:
2239         * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
2240         (WebKit::CustomProtocolManager::initialize):
2241         * Shared/WebProcessCreationParameters.cpp:
2242         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2243         (WebKit::WebProcessCreationParameters::encode):
2244         (WebKit::WebProcessCreationParameters::decode):
2245         * Shared/WebProcessCreationParameters.h:
2246         * UIProcess/API/APIProcessPoolConfiguration.cpp:
2247         (API::ProcessPoolConfiguration::createWithLegacyOptions):
2248         (API::ProcessPoolConfiguration::copy):
2249         * UIProcess/API/APIProcessPoolConfiguration.h:
2250         * UIProcess/API/C/WKContext.cpp:
2251         (WKContextSetJavaScriptGarbageCollectorTimerEnabled):
2252         (WKContextUseTestingNetworkSession):
2253         (WKContextSetUsesNetworkProcess): Deleted.
2254         * UIProcess/API/C/WKContextPrivate.h:
2255         * UIProcess/API/Cocoa/WKProcessGroup.mm:
2256         (-[WKProcessGroup initWithInjectedBundleURL:]):
2257         * UIProcess/API/efl/ewk_context.cpp:
2258         (EwkContext::setProcessModel):
2259         * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
2260         (WebKit::WebProcessPool::updateProcessSuppressionState):
2261         (WebKit::WebProcessPool::platformInitializeWebProcess):
2262         * UIProcess/Downloads/DownloadProxy.cpp:
2263         (WebKit::DownloadProxy::cancel):
2264         (WebKit::DownloadProxy::invalidate):
2265         * UIProcess/WebCookieManagerProxy.cpp:
2266         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
2267         (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
2268         * UIProcess/WebProcessPool.cpp:
2269         (WebKit::WebProcessPool::WebProcessPool):
2270         (WebKit::m_processSuppressionDisabledForPageCounter):
2271         (WebKit::WebProcessPool::networkingProcessConnection):
2272         (WebKit::WebProcessPool::languageChanged):
2273         (WebKit::WebProcessPool::textCheckerStateChanged):
2274         (WebKit::WebProcessPool::ensureNetworkProcess):
2275         (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
2276         (WebKit::WebProcessPool::createNewWebProcess):
2277         (WebKit::WebProcessPool::download):
2278         (WebKit::WebProcessPool::resumeDownload):
2279         (WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
2280         (WebKit::WebProcessPool::setCacheModel):
2281         (WebKit::WebProcessPool::createDownloadProxy):
2282         (WebKit::WebProcessPool::addMessageReceiver):
2283         (WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
2284         (WebKit::WebProcessPool::setHTTPPipeliningEnabled):
2285         (WebKit::WebProcessPool::requestNetworkingStatistics):
2286         (WebKit::WebProcessPool::setUsesNetworkProcess): Deleted.
2287         (WebKit::WebProcessPool::usesNetworkProcess): Deleted.
2288         * UIProcess/WebProcessPool.h:
2289         (WebKit::WebProcessPool::sendToNetworkingProcess):
2290         (WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
2291         * UIProcess/WebProcessProxy.cpp:
2292         (WebKit::WebProcessProxy::shutDown):
2293         (WebKit::WebProcessProxy::removeWebPage):
2294         (WebKit::WebProcessProxy::canTerminateChildProcess):
2295         (WebKit::WebProcessProxy::updateTextCheckerState):
2296         (WebKit::WebProcessProxy::didSaveToPageCache):
2297         (WebKit::WebProcessProxy::didSetAssertionState):
2298         (WebKit::WebProcessProxy::createDownloadProxy): Deleted.
2299         * UIProcess/WebProcessProxy.h:
2300         * UIProcess/efl/WebProcessPoolEfl.cpp:
2301         (WebKit::WebProcessPool::platformInitializeWebProcess):
2302         (WebKit::WebProcessPool::setIgnoreTLSErrors):
2303         * WebProcess/FileAPI/BlobRegistryProxy.cpp:
2304         (WebKit::BlobRegistryProxy::registerFileBlobURL):
2305         (WebKit::BlobRegistryProxy::registerBlobURL):
2306         (WebKit::BlobRegistryProxy::unregisterBlobURL):
2307         (WebKit::BlobRegistryProxy::registerBlobURLForSlice):
2308         (WebKit::BlobRegistryProxy::blobSize):
2309         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2310         (WebKit::WebPlatformStrategies::cookiesForDOM):
2311         (WebKit::WebPlatformStrategies::setCookiesFromDOM):
2312         (WebKit::WebPlatformStrategies::cookiesEnabled):
2313         (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
2314         (WebKit::WebPlatformStrategies::getRawCookies):
2315         (WebKit::WebPlatformStrategies::deleteCookie):
2316         (WebKit::WebPlatformStrategies::resourceLoadScheduler):
2317         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
2318         (WebKit::WebPlatformStrategies::createPingHandle):
2319         (WebKit::WebPlatformStrategies::createBlobRegistry):
2320         * WebProcess/WebPage/WebFrame.cpp:
2321         (WebKit::WebFrame::startDownload):
2322         (WebKit::WebFrame::convertMainResourceLoadToDownload):
2323         (WebKit::WebFrame::source):
2324         * WebProcess/WebProcess.cpp:
2325         (WebKit::WebProcess::WebProcess):
2326         (WebKit::m_webSQLiteDatabaseTracker):
2327         (WebKit::WebProcess::initializeConnection):
2328         (WebKit::WebProcess::initializeWebProcess):
2329         (WebKit::WebProcess::ensureNetworkProcessConnection):
2330         (WebKit::WebProcess::destroyPrivateBrowsingSession):
2331         (WebKit::WebProcess::pluginProcessConnectionManager):
2332         (WebKit::WebProcess::shouldTerminate):
2333         (WebKit::WebProcess::setInjectedBundleParameters):
2334         (WebKit::WebProcess::networkConnection):
2335         (WebKit::WebProcess::setEnhancedAccessibility):
2336         (WebKit::WebProcess::prefetchDNS):
2337         (WebKit::WebProcess::didCreateDownload): Deleted.
2338         (WebKit::WebProcess::didDestroyDownload): Deleted.
2339         (WebKit::WebProcess::downloadProxyConnection): Deleted.
2340         (WebKit::WebProcess::downloadsAuthenticationManager): Deleted.
2341         (WebKit::WebProcess::downloadManager): Deleted.
2342         (WebKit::WebProcess::usesNetworkProcess): Deleted.
2343         (WebKit::WebProcess::downloadRequest): Deleted.
2344         (WebKit::WebProcess::resumeDownload): Deleted.
2345         (WebKit::WebProcess::cancelDownload): Deleted.
2346         * WebProcess/WebProcess.h:
2347         (WebKit::WebProcess::textCheckerState):
2348         (WebKit::WebProcess::eventDispatcher):
2349         * WebProcess/WebProcess.messages.in:
2350         * WebProcess/soup/WebProcessSoup.cpp:
2351         (WebKit::WebProcess::platformSetCacheModel):
2352         (WebKit::WebProcess::platformClearResourceCaches):
2353         (WebKit::WebProcess::platformInitializeWebProcess):
2354         (WebKit::WebProcess::platformTerminate):
2355         (WebKit::getCacheDiskFreeSize): Deleted.
2356         (WebKit::setSoupSessionAcceptLanguage): Deleted.
2357         (WebKit::languageChanged): Deleted.
2358         (WebKit::WebProcess::setIgnoreTLSErrors): Deleted.
2359         (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Deleted.
2360
2361 2015-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2362
2363         [GTK] UI process crash when the screensaver DBus proxy is being created while the web view is destroyed
2364         https://bugs.webkit.org/show_bug.cgi?id=151653
2365
2366         Reviewed by Martin Robinson.
2367
2368         We correctly cancel the proxy creation, but when the async ready
2369         callback is called, the view could be destroyed already. In that
2370         case g_dbus_proxy_new_for_bus_finish() will return nullptr and
2371         fail with cancelled error, but we are using the passed web view
2372         without checking first if the creation failed or not.
2373
2374         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2375         (screenSaverProxyCreatedCallback):
2376
2377 2015-11-28  Tim Horton  <timothy_horton@apple.com>
2378
2379         Stop unnecessarily copying WKWebViewConfiguration in a few places
2380         https://bugs.webkit.org/show_bug.cgi?id=151639
2381
2382         Reviewed by Dan Bernstein.
2383
2384         * UIProcess/API/Cocoa/WKWebView.mm:
2385         (-[WKWebView initWithFrame:configuration:]):
2386         (-[WKWebView dealloc]):
2387         (-[WKWebView _contentProviderRegistry]):
2388         (-[WKWebView _selectionGranularity]):
2389         (-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
2390         * UIProcess/API/Cocoa/WKWebViewInternal.h:
2391         * UIProcess/ios/PageClientImplIOS.mm:
2392         (WebKit::PageClientImpl::mimeTypesWithCustomContentProviders):
2393         * UIProcess/ios/WKContentViewInteraction.mm:
2394         (-[WKContentView setupInteraction]):
2395         (-[WKContentView _stopAssistingKeyboard]):
2396         Looking at allocation traces I noticed that we were making way more
2397         WKWebViewConfigurations than made sense; looking at backtraces I found
2398         a few internal callers of -[WKWebView configuration], which copies the
2399         configuration. There's no reason for these internal callers to make 
2400         such a copy, though.
2401
2402         I'm not exactly sure what the usual approach is here, but I added
2403         getters so WKContentViewInteraction and PageClientImplIOS can get to
2404         the values they're looking for without using the configuration property.
2405
2406 2015-11-27  Brady Eidson  <beidson@apple.com>
2407
2408         Modern IDB: Class-ify IDBGetResult making it impossible to get the data members wrong.
2409         https://bugs.webkit.org/show_bug.cgi?id=151627
2410
2411         Reviewed by Alexey Proskuryakov.
2412
2413         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2414         (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
2415         * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2416         
2417         * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2418         
2419         * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2420         (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
2421         
2422         * Shared/WebCoreArgumentCoders.cpp:
2423         (IPC::ArgumentCoder<IDBGetResult>::encode):
2424         (IPC::ArgumentCoder<IDBGetResult>::decode):
2425         * Shared/WebCoreArgumentCoders.h:
2426         
2427         * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2428
2429 2015-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2430
2431         [GTK] Remove the remaining uses of GMainLoopSource
2432         https://bugs.webkit.org/show_bug.cgi?id=151632
2433
2434         Reviewed by Žan Doberšek.
2435
2436         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2437         (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
2438         (_WebKitWebViewBasePrivate::clearRedirectedWindowSoonTimerFired):
2439         (webkitWebViewBaseClearRedirectedWindowSoon):
2440         (webkitWebViewBaseEnterAcceleratedCompositingMode):
2441
2442 2015-11-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2443
2444         [GTK] Use the network process unconditionally
2445         https://bugs.webkit.org/show_bug.cgi?id=151541
2446
2447         Reviewed by Alex Christensen.
2448
2449         Make the shared secondary process model become multiple secondary
2450         process model with a limit of 1 web process. Use the same options
2451         when creating a context with legacy configuration (unit tests and
2452         inspector proxy).
2453
2454         * NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
2455         * UIProcess/API/APIProcessPoolConfiguration.cpp:
2456         (API::ProcessPoolConfiguration::createWithLegacyOptions):
2457         * UIProcess/API/gtk/WebKitWebContext.cpp:
2458         (webkitWebContextConstructed):
2459         (webkit_web_context_set_process_model):
2460         (webkit_web_context_get_process_model):
2461         (webkit_web_context_set_web_process_count_limit):
2462         (webkit_web_context_get_web_process_count_limit):
2463         (toWebKitProcessModel): Deleted.
2464         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2465         * UIProcess/gtk/WebProcessPoolGtk.cpp:
2466         (WebKit::WebProcessPool::setIgnoreTLSErrors):
2467         (WebKit::WebProcessPool::platformInitializeWebProcess):
2468
2469 2015-11-23  Brian Burg  <bburg@apple.com>
2470
2471         Web Inspector: inspector settings should not be shared between different inspection levels
2472         https://bugs.webkit.org/show_bug.cgi?id=151151
2473
2474         Reviewed by Timothy Hatcher.
2475
2476         In WebKit2, we already track the inspection level of WebPages in order to give inspectors
2477         different page groups. Send the inspection level to WebInspectorUI WebProcess when
2478         establishing a connection from the UIProcess. Use this number in the FrontendClient.
2479
2480         * UIProcess/WebInspectorProxy.cpp:
2481         (WebKit::WebInspectorProxy::inspectionLevel): Renamed from inspectorLevel to be consistent.
2482         (WebKit::WebInspectorProxy::inspectorPageGroupIdentifier):
2483         (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
2484         (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
2485         (WebKit::WebInspectorProxy::createInspectorPage):
2486         (WebKit::WebInspectorProxy::inspectorLevel): Deleted.
2487         * UIProcess/WebInspectorProxy.h:
2488         * UIProcess/mac/WebInspectorProxyMac.mm:
2489         (WebKit::WebInspectorProxy::updateInspectorWindowTitle):
2490         * WebProcess/WebPage/WebInspectorUI.cpp:
2491         (WebKit::WebInspectorUI::establishConnection):
2492         * WebProcess/WebPage/WebInspectorUI.h:
2493         * WebProcess/WebPage/WebInspectorUI.messages.in:
2494
2495 2015-11-23  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
2496
2497         REGRESSION(r188206): [EFL] Missing to adjust scrollbar size to ewk_view_contents_size_get API test
2498         https://bugs.webkit.org/show_bug.cgi?id=148735
2499
2500         Reviewed by Csaba Osztrogonác.
2501
2502         r189256 missed to adjust scrollbar size to other tests in ewk_view_contents_size_get() API test.
2503         In this case we need to apply scrollbar size to both width and height unlike previous fix. Because
2504         horizontal scrollbar is also shown since device pixel ratio(= 2.0) is adjusted.
2505
2506         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2507         (TEST_F):
2508
2509 2015-11-23  Alex Christensen  <achristensen@webkit.org>
2510
2511         Fix crash in ~WebProcessPool when using Geolocation with useNetworkProcess=true
2512         https://bugs.webkit.org/show_bug.cgi?id=151532
2513
2514         Reviewed by Benjamin Poulain.
2515
2516         * UIProcess/WebGeolocationManagerProxy.cpp:
2517         (WebKit::WebGeolocationManagerProxy::processPoolDestroyed):
2518         (WebKit::WebGeolocationManagerProxy::processDidClose):
2519         When a WebProcessPool is destroyed, only call stopUpdating if m_updateRequesters.clear()
2520         stopped the updating, like we do in WebGeolocationManagerProxy::removeRequester.
2521         Otherwise, call setEnableHighAccuracy if needed, also like we do in WebGeolocationManagerProxy::removeRequester.
2522
2523 2015-11-23  Brian Burg  <bburg@apple.com>
2524
2525         Web Inspector: when inspecting the inspector, add the inspection level to the title bar
2526         https://bugs.webkit.org/show_bug.cgi?id=151555
2527
2528         Reviewed by Timothy Hatcher.
2529
2530         If the inspection level says we are inspecting an inspector, include the level
2531         in the title bar to easily disambiguate it from the base level inspector.
2532
2533         * UIProcess/mac/WebInspectorProxyMac.mm:
2534         (WebKit::WebInspectorProxy::updateInspectorWindowTitle):
2535
2536 2015-11-23  Csaba Osztrogonác  <ossy@webkit.org>
2537
2538         Unreviewed speculative buildfix after r192701.
2539
2540         * PlatformMac.cmake:
2541
2542 2015-11-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2543
2544         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.2 release.
2545
2546         * gtk/NEWS: Add release notes for 2.11.2.
2547
2548 2015-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2549
2550         Unreviewed. Add missing inspector file to GTK+ compilation.
2551
2552         * PlatformGTK.cmake:
2553
2554 == Rolled over to ChangeLog-2015-11-21 ==