1 2015-12-17 Alex Christensen <achristensen@webkit.org>
3 Add types for DownloadID and TaskIdentifier
4 https://bugs.webkit.org/show_bug.cgi?id=152401
6 Reviewed by Brady Eidson.
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>.
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:
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:
95 2015-12-17 Simon Fraser <simon.fraser@apple.com>
97 Disable viewport "shrink to fit" outside of multitasking mode
98 https://bugs.webkit.org/show_bug.cgi?id=152403
99 rdar://problem/23818102
101 Reviewed by Tim Horton.
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.
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().
134 2015-12-16 Simon Fraser <simon.fraser@apple.com>
136 ViewportConfiguration functions should return a bool to say if anything changed
137 https://bugs.webkit.org/show_bug.cgi?id=152353
139 Reviewed by Tim Horton.
141 Rather than callers all checking whether setting ViewportConfiguration values
142 changes state, have its functions return a bool if the values change.
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):
151 2015-12-16 Alex Christensen <achristensen@webkit.org>
153 Progress towards implementing downloads with NetworkSession
154 https://bugs.webkit.org/show_bug.cgi?id=152371
156 Reviewed by Darin Adler.
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:
195 2015-12-16 Simon Fraser <simon.fraser@apple.com>
197 ViewportConfiguration functions should return a bool to say if anything changed
198 https://bugs.webkit.org/show_bug.cgi?id=152353
200 Reviewed by Tim Horton.
202 Rather than callers all checking whether setting ViewportConfiguration values
203 changes state, have its functions return a bool if the values change.
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):
212 2015-12-16 Tim Horton <timothy_horton@apple.com>
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>
218 Reviewed by Simon Fraser.
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.
225 2015-12-16 Tim Horton <timothy_horton@apple.com>
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>
231 Reviewed by Beth Dakin.
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.
239 2015-12-16 Simon Fraser <simon.fraser@apple.com>
241 Simplify isOverlayScrollbar() logic
242 https://bugs.webkit.org/show_bug.cgi?id=152357
244 Reviewed by Beth Dakin.
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.
250 Add ScrollableArea::scrollbarIntrusion() which returns an IntSize with the occupiedWidth
251 and occupiedHeight of any scrollbars, and use it in a few places.
253 * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
254 (WebKit::PDFPlugin::updateScrollbars):
255 (WebKit::PDFPlugin::maximumScrollPosition):
257 2015-12-16 Alex Christensen <achristensen@webkit.org>
259 Build fix when using NETWORK_SESSION after r193972.
261 Rubber-stamped by Joseph Pecoraro.
263 Renamed NetworkSessionDelegate to WKNetworkSessionDelegate to conform to the
264 newly-enforced style rule in check-for-inappropriate-objc-class-names.
266 * NetworkProcess/NetworkSession.h:
267 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
268 (toNSURLSessionAuthChallengeDisposition):
269 (-[WKNetworkSessionDelegate initWithNetworkSession:]):
270 (WebKit::NetworkSession::NetworkSession):
271 (-[NetworkSessionDelegate initWithNetworkSession:]): Deleted.
273 2015-12-16 Alex Christensen <achristensen@webkit.org>
275 Implement Web Timing when using NETWORK_SESSION
276 https://bugs.webkit.org/show_bug.cgi?id=152285
278 Reviewed by Darin Adler.
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.
285 2015-12-16 Youenn Fablet <youenn.fablet@crf.canon.fr>
287 [Fetch API] Add fetch API compile time flag
288 https://bugs.webkit.org/show_bug.cgi?id=152254
290 Reviewed by Darin Adler.
292 * Configurations/FeatureDefines.xcconfig:
294 2015-12-15 Tim Horton <timothy_horton@apple.com>
296 [Mac] Gesture Events should not have negative scale
297 https://bugs.webkit.org/show_bug.cgi?id=151065
298 <rdar://problem/23474123>
300 Reviewed by Anders Carlsson.
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.
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.
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.
336 2015-12-15 Anders Carlsson <andersca@apple.com>
338 Call DatabaseManager directly from WKBundle.cpp
339 https://bugs.webkit.org/show_bug.cgi?id=152317
341 Reviewed by Tim Horton.
343 This is in preparation for getting rid of some old database manager code.
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:
353 2015-12-15 Daniel Bates <dabates@apple.com>
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
358 Reviewed by Tim Horton.
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.
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.
376 2015-12-15 Zan Dobersek <zdobersek@igalia.com>
378 [TexMap] Operate with a reference to the TextureMapper wherever possible
379 https://bugs.webkit.org/show_bug.cgi?id=152118
381 Reviewed by Martin Robinson.
383 Replace pointers to the TextureMapper object with references.
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):
398 2015-12-14 YongGeol Jung <yg48.jung@samsung.com>
400 [Coordinated Graphics] CSS transition effect is not shown when transformed with "%" unit.
401 https://bugs.webkit.org/show_bug.cgi?id=152278
403 Reviewed by Darin Adler.
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.
409 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
410 (IPC::ArgumentCoder<TextureMapperAnimation>::decode):
412 2015-12-14 Dan Bernstein <mitz@apple.com>
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
417 Reviewed by Darin Adler.
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.
427 2015-12-14 Simon Fraser <simon.fraser@apple.com>
429 Dump some more data in the RemoteLayerTreeTransaction
430 https://bugs.webkit.org/show_bug.cgi?id=152283
432 Reviewed by Dean Jackson.
434 Dump some scale factors, viewport meta tag width and render tree size.
436 * Shared/mac/RemoteLayerTreeTransaction.mm:
437 (WebKit::RemoteLayerTreeTransaction::description):
439 2015-12-14 Tim Horton <timothy_horton@apple.com>
441 Frequent crash under -[WKPDFView web_setMinimumSize:]_block_invoke
442 https://bugs.webkit.org/show_bug.cgi?id=152266
443 <rdar://problem/22092676>
445 Reviewed by Simon Fraser.
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.
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.
456 2015-12-14 Tim Horton <timothy_horton@apple.com>
458 TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate() sets fence port on context twice
459 https://bugs.webkit.org/show_bug.cgi?id=152239
460 <rdar://problem/22893289>
462 Reviewed by Darin Adler.
464 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
465 (WebKit::TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate):
466 No need to setFencePort; createFencePort also installs it on the creating context.
468 2015-12-12 Alex Christensen <achristensen@webkit.org>
470 Use existing code for redirects when using NETWORK_SESSION
471 https://bugs.webkit.org/show_bug.cgi?id=152207
472 rdar://problem/23860624
474 Reviewed by Darin Adler.
476 This fixes http/tests/cookies/set-cookie-on-redirect.html when using NETWORK_SESSION.
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:
486 2015-12-13 Tim Horton <timothy_horton@apple.com>
488 Adopt CGIOSurfaceContextCreateImageReference to avoid unnecessary readback
489 https://bugs.webkit.org/show_bug.cgi?id=150988
490 <rdar://problem/18993594>
492 Reviewed by Darin Adler.
494 * WebProcess/WebPage/WebFrame.cpp:
495 (WebKit::WebFrame::createSelectionSnapshot):
496 Adopt sinkIntoImage and drawConsumingImageBuffer in a few places.
498 2015-12-13 Dan Bernstein <mitz@apple.com>
500 Another fix after r194018.
502 * Configurations/BaseTarget.xcconfig:
503 * Configurations/BaseXPCService.xcconfig:
505 2015-12-13 Dan Bernstein <mitz@apple.com>
507 [Mac] Shims used by XPC services are installed inside legacy process bundles
508 https://bugs.webkit.org/show_bug.cgi?id=152233
510 Reviewed by Sam Weinig.
512 Have the shim dylibs installed in the framework’s Frameworks directory instead.
514 * Configurations/BaseLegacyProcess.xcconfig: Simplified now that EXCLUDED_SHIM_FILE_NAME is
515 no longer defined, because shims aren’t copied into legacy processes.
517 * Configurations/NetworkProcess.xcconfig: Removed definition of EXCLUDED_SHIM_FILE_NAME.
518 * Configurations/PluginProcess.xcconfig: Ditto.
519 * Configurations/WebContentProcess.xcconfig: Ditto.
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.
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
527 * Configurations/SecItemShim.xcconfig: Ditto.
528 * Configurations/WebProcessShim.xcconfig:
530 * Configurations/WebKit.xcconfig: Added the shims to EXCLUDED_SOURCE_FILE_NAMES for iOS.
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.
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.
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.
553 2015-12-13 Dan Bernstein <mitz@apple.com>
557 * Configurations/PluginProcess.xcconfig:
559 2015-12-13 Dan Bernstein <mitz@apple.com>
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
564 Reviewed by Darin Adler.
566 * Configurations/BaseTarget.xcconfig: Defined WK_LINK_SHIM on OS X to YES or NO based on the
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.
579 2015-12-12 Katlyn Graff <kgraff@apple.com>
581 Safari background tabs should be fully suspended where possible.
582 https://bugs.webkit.org/show_bug.cgi?id=150515
584 Reviewed by Ryosuke Niwa.
586 Added a runtime flag enabling tab suspension, default off.
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):
599 2015-12-11 Eric Carlson <eric.carlson@apple.com>
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
604 Reviewed by Dean Jackson.
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):
617 2015-12-11 Joseph Pecoraro <pecoraro@apple.com>
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
622 Reviewed by Dan Bernstein.
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.
631 2015-12-10 Eric Carlson <eric.carlson@apple.com>
633 [MediaStream] Expose media capture devices persistent permissions to WebCore
634 https://bugs.webkit.org/show_bug.cgi?id=152087
636 Reviewed by Chris Dumez.
638 * CMakeLists.txt: Add UserMediaPermissionCheckProxy.cpp and WKUserMediaPermissionCheck.cpp.
640 * Shared/API/APIObject.h: Define UserMediaPermissionCheck.
642 * Shared/API/c/WKBase.h: Add WKUserMediaPermissionCheckRef typedef.
644 * UIProcess/API/APIUIClient.h:
645 (API::UIClient::checkUserMediaPermissionForOrigin): New.
647 * UIProcess/API/C/WKAPICast.h: Add WKUserMediaPermissionCheckRef/UserMediaPermissionCheckProxy mapping.
649 * UIProcess/API/C/WKPage.cpp:
650 (WKPageSetPageUIClient): Implement checkUserMediaPermissionForOrigin.
652 * UIProcess/API/C/WKPageUIClient.h: Add WKCheckUserMediaPermissionCallback typedef and add
653 checkUserMediaPermissionForOrigin to WKPageUIClientV6.
655 * UIProcess/API/C/WKUserMediaPermissionCheck.cpp: Added.
656 (WKUserMediaPermissionCheckGetTypeID):
657 (WKUserMediaPermissionCheckSetHasPermission):
659 * UIProcess/API/C/WKUserMediaPermissionCheck.h: Added.
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:
681 * WebKit2.xcodeproj/project.pbxproj: Add UserMediaPermissionCheckProxy.*, and WKUserMediaPermissionCheck.*.
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
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:
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:
704 * WebProcess/WebPage/WebPage.cpp:
705 (WebKit::WebPage::didCompleteUserMediaPermissionCheck): New.
706 * WebProcess/WebPage/WebPage.h:
707 * WebProcess/WebPage/WebPage.messages.in: Add DidCompleteUserMediaPermissionCheck.
709 2015-12-10 Joseph Pecoraro <pecoraro@apple.com>
711 Remote Inspector: Verify the identity of the other side of XPC connections
712 https://bugs.webkit.org/show_bug.cgi?id=152153
714 Reviewed by Brian Burg.
716 * Shared/mac/SandboxUtilities.mm:
717 * UIProcess/ApplicationStateTracker.mm:
720 2015-12-10 Alex Christensen <achristensen@webkit.org>
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
726 Reviewed by Darin Adler.
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.
742 2015-12-10 Zan Dobersek <zdobersek@igalia.com>
744 [CoordinatedGraphics] Reserve capacity for the children vector in CoordinatedGraphicsScene::setLayerChildrenIfNeeded()
745 https://bugs.webkit.org/show_bug.cgi?id=152117
747 Reviewed by Martin Robinson.
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.
754 2015-12-09 Daniel Bates <dabates@apple.com>
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
759 Reviewed by Darin Adler.
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).
765 * UIProcess/WebPageProxy.cpp:
766 (WebKit::WebPageProxy::processWillBecomeSuspended): Early return if the page proxy is invalid.
767 (WebKit::WebPageProxy::processWillBecomeForeground): Ditto.
769 2015-12-09 Commit Queue <commit-queue@webkit.org>
771 Unreviewed, rolling out r193864.
772 https://bugs.webkit.org/show_bug.cgi?id=152100
774 caused all inspector tests to assert in WK2 Debug (Requested
775 by brrian on #webkit).
779 "Web Inspector: reproducible debug ASSERT when inspecting the
781 https://bugs.webkit.org/show_bug.cgi?id=152080
782 http://trac.webkit.org/changeset/193864
784 2015-12-09 Brian Burg <bburg@apple.com>
786 Web Inspector: reproducible debug ASSERT when inspecting the inspector (WK2)
787 https://bugs.webkit.org/show_bug.cgi?id=152080
789 Reviewed by Timothy Hatcher.
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.
795 * UIProcess/WebInspectorProxy.cpp:
796 (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
798 2015-12-09 Gyuyoung Kim <gyuyoung.kim@webkit.org>
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
803 Reviewed by Csaba Osztrogonác.
805 Expect false initial value of ewk_settings_offline_web_application_cache_enabled_get()
806 because r193812 didn't enable it by default.
808 * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
811 2015-12-09 Gwang Yoon Hwang <yoon@igalia.com>
813 [ThreadedCompositor] Add support for HiDPI
814 https://bugs.webkit.org/show_bug.cgi?id=152071
816 Reviewed by Carlos Garcia Campos.
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.
828 2015-12-09 Ryuan Choi <ryuan.choi@navercorp.com>
830 [CoordinatedGraphics] Remove unnecessary guards in CoordinatedDrawingArea
831 https://bugs.webkit.org/show_bug.cgi?id=152068
833 Reviewed by Gyuyoung Kim.
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.
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:
847 2015-12-09 Mario Sanchez Prada <mario@endlessm.com>
849 [GTK] Crash in WebProcess when loading large content with custom URI schemes
850 https://bugs.webkit.org/show_bug.cgi?id=144262
852 Reviewed by Carlos Garcia Campos.
854 Properly handle scenarios where errors happen after reading the first
855 chunk of data coming from the GInputStream provided by the application.
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.
879 2015-12-09 Ryuan Choi <ryuan.choi@navercorp.com>
881 [CoordinatedGraphics][EFL] Fix unhandled web process message when launching MiniBrowser
882 https://bugs.webkit.org/show_bug.cgi?id=152048
884 Reviewed by Gyuyoung Kim.
886 WebPage should be initialized before updating preferences.
888 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
889 (WKViewInitialize): Deleted.
890 * UIProcess/API/C/CoordinatedGraphics/WKView.h:
891 * UIProcess/API/efl/EwkView.cpp:
893 Calls WKViewSetIsActive instead of WKViewInitialize not to change the behavior
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:
902 2015-12-09 Carlos Garcia Campos <cgarcia@igalia.com>
904 [GTK] Add API to handle beforeunload events
905 https://bugs.webkit.org/show_bug.cgi?id=139090
907 Reviewed by Gustavo Noronha Silva.
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.
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.
941 2015-12-09 Gyuyoung Kim <gyuyoung.kim@webkit.org>
943 [EFL] Missing to set ignoreTLSError to NetworkProcess
944 https://bugs.webkit.org/show_bug.cgi?id=152047
946 Reviewed by Csaba Osztrogonác.
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.
952 * UIProcess/efl/WebProcessPoolEfl.cpp:
953 (WebKit::WebProcessPool::setIgnoreTLSErrors):
955 2015-12-09 Gyuyoung Kim <gyuyoung.kim@webkit.org>
957 [EFL] REGRESSION(r193616): WKPreferences test has been failed since r193616
958 https://bugs.webkit.org/show_bug.cgi?id=151942
960 Reviewed by Darin Adler.
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.
965 * UIProcess/efl/WebPreferencesEfl.cpp:
966 (WebKit::WebPreferences::platformInitializeStore): Remove to enable web application cache feature here.
968 2015-12-09 Ryuan Choi <ryuan.choi@navercorp.com>
970 [CoordinatedGraphics] layerTreeHost always exist in CoordinatedDrawingArea
971 https://bugs.webkit.org/show_bug.cgi?id=151987
973 Reviewed by Darin Adler.
975 CoordinatedGraphics using UI side compositor always forces accelerated compositing.
976 This patch cleans up dead code for layerTreeHost which always exists.
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:
1003 2015-12-08 Alex Christensen <achristensen@webkit.org>
1005 Progress towards implementing downloads with NetworkSession
1006 https://bugs.webkit.org/show_bug.cgi?id=151883
1008 Reviewed by Brady Eidson.
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):
1047 2015-12-08 Joseph Pecoraro <pecoraro@apple.com>
1049 Create a Sandbox SPI header
1050 https://bugs.webkit.org/show_bug.cgi?id=151981
1052 Reviewed by Andy Estes.
1054 * PluginProcess/mac/PluginProcessShim.mm:
1055 * Shared/ios/ChildProcessIOS.mm:
1056 * Shared/mac/ChildProcessMac.mm:
1057 * Shared/mac/SandboxUtilities.mm:
1059 2015-12-08 Eric Carlson <eric.carlson@apple.com>
1061 [MediaStream] Rename UserMediaClient and UserMediaController methods
1062 https://bugs.webkit.org/show_bug.cgi?id=152001
1064 Reviewed by Brady Eidson.
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:
1074 2015-12-08 Tomas Popela <tpopela@redhat.com>
1076 [GTK] Remove an unused variable from WebKitWebContext
1077 https://bugs.webkit.org/show_bug.cgi?id=151999
1079 Reviewed by Carlos Garcia Campos.
1081 * UIProcess/API/gtk/WebKitWebContext.cpp:
1083 2015-12-08 Chris Dumez <cdumez@apple.com>
1085 Add diagnostic logging to measure speculative revalidation accuracy
1086 https://bugs.webkit.org/show_bug.cgi?id=151953
1087 <rdar://problem/23092196>
1089 Reviewed by Darin Adler.
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)
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:
1125 2015-12-08 Csaba Osztrogonác <ossy@webkit.org>
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
1130 Reviewed by Darin Adler.
1132 * WebProcess/Network/WebLoaderStrategy.cpp:
1133 (WebKit::maximumBufferingTime): Disable caching if NETWORK_CACHE is disabled.
1135 2015-12-08 Ryuan Choi <ryuan.choi@navercorp.com>
1137 [EFL] Add API to provide preferences before creating ewk_view
1138 https://bugs.webkit.org/show_bug.cgi?id=151587
1140 Reviewed by Gyuyoung Kim.
1142 This patch adds ewk_view_configuration_settings_get to provide preferences
1143 before createing ewk_view.
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().
1155 2015-12-07 Gustavo Noronha Silva <gns@gnome.org>
1157 [GTK] Notify WebCore when notification is clicked
1158 https://bugs.webkit.org/show_bug.cgi?id=151951
1160 Reviewed by Carlos Garcia Campos.
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:
1175 2015-12-07 Commit Queue <commit-queue@webkit.org>
1177 Unreviewed, rolling out r193655.
1178 https://bugs.webkit.org/show_bug.cgi?id=151970
1180 This change broke existing LayoutTests on mac-wk2 (Requested
1181 by ryanhaddad on #webkit).
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
1189 2015-12-05 Gavin Barraclough <barraclough@apple.com>
1191 UIProcess should determine AppNap state for WebPage
1192 https://bugs.webkit.org/show_bug.cgi?id=151964
1194 Reviewed by Anders Carlson.
1196 Step 1 in unifying this with the iOS process suppression mechanism is to move the decision out of the WebContent process.
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
1223 2015-12-07 Chris Dumez <cdumez@apple.com>
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>
1229 Reviewed by Alex Christensen.
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).
1238 * Shared/Authentication/AuthenticationManager.cpp:
1239 (WebKit::AuthenticationManager::shouldCoalesceChallenge):
1240 (WebKit::AuthenticationManager::coalesceChallengesMatching):
1241 (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
1242 * Shared/Authentication/AuthenticationManager.h:
1244 2015-12-07 Beth Dakin <bdakin@apple.com>
1246 Hook up request and show for typing candidates in WK1
1247 https://bugs.webkit.org/show_bug.cgi?id=151831
1249 <rdar://problem/23751214>
1251 Reviewed by Enrica Casucci.
1253 Empty client for now.
1254 * WebProcess/WebCoreSupport/WebEditorClient.h:
1256 2015-12-07 Philippe Normand <pnormand@igalia.com>
1258 [GTK][Mac] socketpair assertion failure
1259 https://bugs.webkit.org/show_bug.cgi?id=151293
1261 Reviewed by Carlos Garcia Campos.
1263 * Platform/IPC/unix/ConnectionUnix.cpp: Don't use SEQPACKET sockets on Darwin.
1265 2015-12-07 Gwang Yoon Hwang <yoon@igalia.com>
1267 [ThreadedCompositor] Add support for PlatformLayer.
1268 https://bugs.webkit.org/show_bug.cgi?id=143299
1270 Reviewed by Žan Doberšek.
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
1279 (WebKit::CoordinatedGraphicsScene::onNewBufferAvailable):
1280 Whenever new buffer comes via TextureMapperPlatformLayerProxy, CoordinatedGraphicsScene will
1281 update the scene if it is needed.
1283 2015-12-07 Mario Sanchez Prada <mario@endlessm.com>
1285 [GTK] Allow applications to force Accelerated Compositing mode
1286 https://bugs.webkit.org/show_bug.cgi?id=150558
1288 Reviewed by Carlos Garcia Campos.
1290 Enable forcing Accelerated Compositing mode to be always on if
1291 a WEBKIT_FORCE_COMPOSITING_MODE environment variable is set.
1293 This can be useful for controlled environments where we know that
1294 AC always on works well enough, to get smoother animations.
1296 * UIProcess/gtk/WebPreferencesGtk.cpp:
1297 (WebKit::WebPreferences::platformInitializeStore): Set forceCompositingMode
1298 setting to true if the environment variable is found.
1300 2015-12-07 Jon Forsberg <jon.orebro@gmail.com>
1302 [GTK] Add webkit_uri_request_get_http_method
1303 https://bugs.webkit.org/show_bug.cgi?id=151601
1305 Reviewed by Martin Robinson.
1307 Add a method to get the HTTP method of a WebKitURIRequest.
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:
1314 2015-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
1316 [GTK] Add WebKitWebPage::console-message-sent signal to Web Extensions API
1317 https://bugs.webkit.org/show_bug.cgi?id=79918
1319 Reviewed by Gustavo Noronha Silva.
1321 Add WebKitConsoleMessage boxed type that is passed to the
1322 WebKitWebPage::console-message-sent signal with all the details
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.
1360 2015-12-07 Ryuan Choi <ryuan.choi@navercorp.com>
1362 [EFL] MiniBrowser doesn't exit when called ewk_view_try_close()
1363 https://bugs.webkit.org/show_bug.cgi?id=151934
1365 Reviewed by Csaba Osztrogonác.
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.
1374 2015-12-07 Jaehun Lim <ljaehun.lim@samsung.com>
1376 [EFL] Moving preference settings from EwkView to WebPreferencesEfl
1377 https://bugs.webkit.org/show_bug.cgi?id=151928
1379 Reviewed by Gyuyoung Kim.
1381 It implements WebPreferences::platformInitializeStore() in WebPreferencesEfl.cpp.
1383 * UIProcess/API/efl/EwkView.cpp:
1385 * UIProcess/efl/WebPreferencesEfl.cpp:
1386 (WebKit::WebPreferences::platformInitializeStore):
1388 2015-12-04 Anders Carlsson <andersca@apple.com>
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
1394 Reviewed by Beth Dakin.
1396 Don't use +[NSURL URLWithString:] since it doesn't handle invalid URLs as well as WebCore::URL.
1398 * UIProcess/mac/WebContextMenuProxyMac.mm:
1399 (WebKit::WebContextMenuProxyMac::createShareMenuItem):
1401 2015-12-04 Beth Dakin <bdakin@apple.com>
1403 Crash in clients using userData in
1404 _immediateActionAnimationControllerForHitTestResult
1405 https://bugs.webkit.org/show_bug.cgi?id=151887
1407 Rubber-stamped by Anders Carlsson.
1409 Follow-up fix to handle null userData.
1410 * UIProcess/API/Cocoa/WKWebView.mm:
1411 (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
1413 2015-12-04 Beth Dakin <bdakin@apple.com>
1415 Crash in clients using userData in
1416 _immediateActionAnimationControllerForHitTestResult
1417 https://bugs.webkit.org/show_bug.cgi?id=151887
1419 Reviewed by Sam Weinig.
1421 Cast this correctly.
1422 * UIProcess/API/Cocoa/WKWebView.mm:
1423 (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
1425 2015-12-04 Gavin Barraclough <barraclough@apple.com>
1427 Background state not being tracked correctly for PDFs on iOS
1428 https://bugs.webkit.org/show_bug.cgi?id=151886
1430 Reviewed by Anders Carlson.
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
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.
1462 2015-12-04 Antti Koivisto <antti@apple.com>
1464 Rename WebResourceLoadScheduler to WebLoaderStrategy
1465 https://bugs.webkit.org/show_bug.cgi?id=151854
1467 Reviewed by Anders Carlsson.
1469 It implements WebCore::LoaderStrategy and doesn't do any scheduling.
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:
1530 2015-12-03 Simon Fraser <simon.fraser@apple.com>
1532 Have layer memory use consult the backing store format
1533 https://bugs.webkit.org/show_bug.cgi?id=151827
1534 rdar://problem/23746497
1536 Reviewed by Dean Jackson.
1538 When computing the backing store memory size, take the pixel format into account,
1539 rather than assuming 4 bytes per pixel.
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:
1548 2015-12-03 Jer Noble <jer.noble@apple.com>
1550 Expose WebCore's InvisibleAutoplayNotPermitted setting to WebKit & WebKit2
1551 https://bugs.webkit.org/show_bug.cgi?id=151830
1553 Reviewed by Anders Carlsson.
1555 Add a new, private WKWebViewConfiguration property _invisibleAutoplayNotPermitted.
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):
1569 2015-12-03 Sam Weinig <sam@webkit.org>
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
1574 Reviewed by Anders Carlsson.
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.
1581 2015-12-03 Anders Carlsson <andersca@apple.com>
1583 Remove Objective-C GC support
1584 https://bugs.webkit.org/show_bug.cgi?id=151819
1585 rdar://problem/23746991
1587 Reviewed by Dan Bernstein.
1589 * Configurations/Base.xcconfig:
1590 * Configurations/BaseLegacyProcess.xcconfig:
1591 * Configurations/BaseXPCService.xcconfig:
1592 * Shared/Cocoa/APIObject.mm:
1593 (API::Object::newObject): Deleted.
1595 2015-12-03 Jer Noble <jer.noble@apple.com>
1597 Unreviewed build-fix; fix !HAVE(AVKIT) build after r193340.
1599 * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
1600 (WebKit::WebVideoFullscreenManagerProxy::applicationDidBecomeActive):
1602 2015-12-03 Sam Weinig <sam@webkit.org>
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
1608 (Add missing function definitions)
1610 * UIProcess/API/C/WKPage.cpp:
1611 (WKPageRunJavaScriptAlertResultListenerGetTypeID):
1612 (WKPageRunJavaScriptAlertResultListenerCall):
1613 (WKPageRunJavaScriptConfirmResultListenerGetTypeID):
1614 (WKPageRunJavaScriptConfirmResultListenerCall):
1615 (WKPageRunJavaScriptPromptResultListenerGetTypeID):
1616 (WKPageRunJavaScriptPromptResultListenerCall):
1618 2015-12-03 Jer Noble <jer.noble@apple.com>
1620 [iOS] Fullscreen -> PiP should resume to Fullscreen, not inline
1621 https://bugs.webkit.org/show_bug.cgi?id=150906
1623 Reviewed by Simon Fraser.
1625 Add methods to pass isVisible(), applicationDidBecomeActive(), and requestFullscreenMode()
1626 to and from models and interfaces.
1628 * UIProcess/ios/WebPageProxyIOS.mm:
1629 (WebKit::WebPageProxy::applicationDidBecomeActive): Notify the fullscreen manager, if preset.
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.
1647 2015-12-02 Antti Koivisto <antti@apple.com>
1649 Move ResourceLoadScheduler to WebKit1
1650 https://bugs.webkit.org/show_bug.cgi?id=151743
1652 Reviewed by Alex Christensen.
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:
1691 2015-12-02 Alex Christensen <achristensen@webkit.org>
1693 Fix authentication requests with NetworkSession and canHandleHTTPSServerTrustEvaluation true
1694 https://bugs.webkit.org/show_bug.cgi?id=151775
1695 rdar://problem/23586265
1697 Reviewed by Chris Dumez.
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.
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:
1713 2015-12-01 Hunseop Jeong <hs85.jeong@samsung.com>
1715 Unreviewed, fix build after r192931.
1717 * CMakeLists.txt: Remove the WKOriginDataManager in CMakeLists.txt.
1719 2015-12-01 Yusuke Suzuki <utatane.tea@gmail.com>
1721 [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
1722 https://bugs.webkit.org/show_bug.cgi?id=150792
1724 Reviewed by Saam Barati.
1726 * Configurations/FeatureDefines.xcconfig:
1728 2015-12-01 Commit Queue <commit-queue@webkit.org>
1730 Unreviewed, rolling out r192914.
1731 https://bugs.webkit.org/show_bug.cgi?id=151734
1733 JSC tests for this change are failing on 32 and 64-bit bots
1734 (Requested by ryanhaddad on #webkit).
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
1743 2015-12-01 Anders Carlsson <andersca@apple.com>
1745 Remove WKOriginDataManager
1746 https://bugs.webkit.org/show_bug.cgi?id=151723
1748 Reviewed by Andy Estes.
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:
1759 2015-12-01 Yusuke Suzuki <utatane.tea@gmail.com>
1761 [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature
1762 https://bugs.webkit.org/show_bug.cgi?id=150792
1764 Reviewed by Saam Barati.
1766 * Configurations/FeatureDefines.xcconfig:
1768 2015-12-01 Sam Weinig <sam@webkit.org>
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
1774 Reviewed by Anders Carlsson.
1776 Add listener based versions of alert, confirm and prompt.
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:
1796 2015-12-01 Anders Carlsson <andersca@apple.com>
1798 Remove WebKit2.framework
1799 https://bugs.webkit.org/show_bug.cgi?id=151715
1801 Reviewed by Dan Bernstein.
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.
1810 2015-12-01 Alex Christensen <achristensen@webkit.org>
1812 Use Optional for matrix inverses
1813 https://bugs.webkit.org/show_bug.cgi?id=151575
1815 Reviewed by Myles C. Maxfield.
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):
1829 2015-12-01 Tim Horton <timothy_horton@apple.com>
1831 Remove swipe snapshot before main document load if scroll position is already restored
1832 https://bugs.webkit.org/show_bug.cgi?id=151224
1834 Reviewed by Darin Adler.
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!).
1855 * UIProcess/ViewGestureController.cpp:
1856 (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
1857 Cancel waiting for any more loads if we get to firstVisuallyNonEmptyLayout.
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.
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.
1869 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com>
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
1874 Reviewed by Tim Horton.
1876 In r192834 the code to send EditorStateChanged message to the UI
1877 process from WebPage::didChangeSelection was removed for non-mac
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.
1884 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com>
1886 Unreviewed. Fix timeouts in several HTTP layout tests in GTK+ after r192796.
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.
1892 * UIProcess/WebProcessPool.h: Bring back m_ignoreTLSErrors initialization.
1894 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com>
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
1899 Reviewed by Martin Robinson.
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.
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.
1925 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com>
1927 Unreviewed. Add missing inspector files to the GTK+ build.
1929 * PlatformGTK.cmake: Add also Debug css files.
1931 2015-11-30 Alexey Proskuryakov <ap@apple.com>
1933 Build fix for some compiler versions.
1935 * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Disable deprecation warnings while
1936 processing SOFT_LINK_CLASS too.
1938 2015-11-30 Jiewen Tan <jiewen_tan@apple.com>
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>
1944 Reviewed by Brent Fulgham.
1946 Callback of bundle clients could kill the documentloader. Therefore, make a copy
1947 of the navigationID before invoking the callback.
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):
1958 2015-11-30 Tim Horton <timothy_horton@apple.com>
1960 Get rid of the !USE(ASYNC_NSTEXTINPUTCLIENT) codepath
1961 https://bugs.webkit.org/show_bug.cgi?id=151673
1963 Reviewed by Anders Carlsson.
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.
2025 2015-11-30 Tim Horton <timothy_horton@apple.com>
2027 Remove some unused synchronous drawing SPI
2028 https://bugs.webkit.org/show_bug.cgi?id=151672
2030 Reviewed by Anders Carlsson.
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.
2041 2015-11-30 Tim Horton <timothy_horton@apple.com>
2043 Get rid of the legacy swipe shadow style
2044 https://bugs.webkit.org/show_bug.cgi?id=151671
2046 Reviewed by Anders Carlsson.
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.
2054 2015-11-30 Tim Horton <timothy_horton@apple.com>
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>
2060 Reviewed by Simon Fraser.
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.
2069 2015-11-30 Brian Burg <bburg@apple.com>
2071 Web Inspector: using "Reload Web Inspector" when docked breaks dock-specific styles
2072 https://bugs.webkit.org/show_bug.cgi?id=151642
2074 Reviewed by Timothy Hatcher.
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.
2080 * WebProcess/WebPage/WebInspectorUI.cpp:
2081 (WebKit::WebInspectorUI::frontendLoaded):
2082 (WebKit::WebInspectorUI::setDockingUnavailable):
2083 * WebProcess/WebPage/WebInspectorUI.h:
2085 2015-11-30 Alex Christensen <achristensen@webkit.org>
2087 Make ProcessModel always MultipleSecondaryProcesses
2088 https://bugs.webkit.org/show_bug.cgi?id=151662
2090 Reviewed by Antti Koivisto.
2092 Single WebProcess behavior can still be achieved by setting the maximum number of WebProcesses to 1.
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:
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:
2155 2015-11-30 Chris Dumez <cdumez@apple.com>
2157 [WK2][Cache] We should not speculatively revalidate transient resources
2158 https://bugs.webkit.org/show_bug.cgi?id=151402
2159 <rdar://problem/23092196>
2161 Reviewed by Antti Koivisto.
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.
2167 The algorithm is question marks as transient all subresources that are
2168 not common to the 2 last loads of a main resource.
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.
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):
2201 2015-11-30 Brent Fulgham <bfulgham@apple.com>
2203 [Mac] Add font service permission to the sandbox profile
2204 https://bugs.webkit.org/show_bug.cgi?id=151509
2205 <rdar://problem/23508753>
2207 Reviewed by Anders Carlsson.
2209 Update the sandbox profile for Mac WebKit to allow access to the
2210 "com.apple.fonts" service.
2212 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2213 * WebProcess/com.apple.WebProcess.sb.in:
2215 2015-11-30 Alex Christensen <achristensen@webkit.org>
2217 Make usesNetworkProcess always true
2218 https://bugs.webkit.org/show_bug.cgi?id=151580
2220 Reviewed by Darin Adler.
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.
2354 2015-11-30 Carlos Garcia Campos <cgarcia@igalia.com>
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
2359 Reviewed by Martin Robinson.
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.
2367 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2368 (screenSaverProxyCreatedCallback):
2370 2015-11-28 Tim Horton <timothy_horton@apple.com>
2372 Stop unnecessarily copying WKWebViewConfiguration in a few places
2373 https://bugs.webkit.org/show_bug.cgi?id=151639
2375 Reviewed by Dan Bernstein.
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.
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.
2399 2015-11-27 Brady Eidson <beidson@apple.com>
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
2404 Reviewed by Alexey Proskuryakov.
2406 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
2407 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
2408 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
2410 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
2412 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
2413 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
2415 * Shared/WebCoreArgumentCoders.cpp:
2416 (IPC::ArgumentCoder<IDBGetResult>::encode):
2417 (IPC::ArgumentCoder<IDBGetResult>::decode):
2418 * Shared/WebCoreArgumentCoders.h:
2420 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
2422 2015-11-27 Carlos Garcia Campos <cgarcia@igalia.com>
2424 [GTK] Remove the remaining uses of GMainLoopSource
2425 https://bugs.webkit.org/show_bug.cgi?id=151632
2427 Reviewed by Žan Doberšek.
2429 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
2430 (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
2431 (_WebKitWebViewBasePrivate::clearRedirectedWindowSoonTimerFired):
2432 (webkitWebViewBaseClearRedirectedWindowSoon):
2433 (webkitWebViewBaseEnterAcceleratedCompositingMode):
2435 2015-11-23 Carlos Garcia Campos <cgarcia@igalia.com>
2437 [GTK] Use the network process unconditionally
2438 https://bugs.webkit.org/show_bug.cgi?id=151541
2440 Reviewed by Alex Christensen.
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
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):
2462 2015-11-23 Brian Burg <bburg@apple.com>
2464 Web Inspector: inspector settings should not be shared between different inspection levels
2465 https://bugs.webkit.org/show_bug.cgi?id=151151
2467 Reviewed by Timothy Hatcher.
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.
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:
2488 2015-11-23 Gyuyoung Kim <gyuyoung.kim@webkit.org>
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
2493 Reviewed by Csaba Osztrogonác.
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.
2499 * UIProcess/API/efl/tests/test_ewk2_view.cpp:
2502 2015-11-23 Alex Christensen <achristensen@webkit.org>
2504 Fix crash in ~WebProcessPool when using Geolocation with useNetworkProcess=true
2505 https://bugs.webkit.org/show_bug.cgi?id=151532
2507 Reviewed by Benjamin Poulain.
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.
2516 2015-11-23 Brian Burg <bburg@apple.com>
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
2521 Reviewed by Timothy Hatcher.
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.
2526 * UIProcess/mac/WebInspectorProxyMac.mm:
2527 (WebKit::WebInspectorProxy::updateInspectorWindowTitle):
2529 2015-11-23 Csaba Osztrogonác <ossy@webkit.org>
2531 Unreviewed speculative buildfix after r192701.
2533 * PlatformMac.cmake:
2535 2015-11-23 Carlos Garcia Campos <cgarcia@igalia.com>
2537 Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.2 release.
2539 * gtk/NEWS: Add release notes for 2.11.2.
2541 2015-11-22 Carlos Garcia Campos <cgarcia@igalia.com>
2543 Unreviewed. Add missing inspector file to GTK+ compilation.
2545 * PlatformGTK.cmake:
2547 == Rolled over to ChangeLog-2015-11-21 ==