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