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