1 2017-03-08 Tim Horton <timothy_horton@apple.com>
3 Remove unused WebPageIOS::zoomToRect and plumbing
4 https://bugs.webkit.org/show_bug.cgi?id=169344
6 Reviewed by Alex Christensen.
8 * UIProcess/PageClient.h:
9 * UIProcess/WebPageProxy.h:
10 * UIProcess/WebPageProxy.messages.in:
11 * UIProcess/ios/PageClientImplIOS.h:
12 * UIProcess/ios/PageClientImplIOS.mm:
13 (WebKit::PageClientImpl::zoomToRect): Deleted.
14 * WebProcess/WebPage/WebPage.h:
15 * WebProcess/WebPage/ios/WebPageIOS.mm:
16 (WebKit::WebPage::zoomToRect): Deleted.
18 2017-03-08 Brad Wright <bwright2@apple.com>
20 UIViewController with WKWebView presented modally causes the presented UIViewController to be dismissed.
21 https://bugs.webkit.org/show_bug.cgi?id=165225
23 Reviewed by Wenson Hsieh.
25 The problem happens on an iPhone with a WKWebView inside a view controller presented modally. If the user selects an HTML file input
26 tag button, a UIDocumentMenuViewController will appear. Anything the user does next causes the entire modal view controller to get dismissed.
28 To fix this problem, I prevent the UIDocumentMenuViewController from being dismissed by not saving a pointer to it. The UIDocumentMenuViewController
29 always goes away by itself on any user interaction. Trying to dismiss the UIDocumentMenuViewController when it is already dismissed causes the modal view controller
32 * UIProcess/ios/forms/WKFileUploadPanel.mm:
33 (-[WKFileUploadPanel _cancel]):
34 (-[WKFileUploadPanel dismiss]):
35 (-[WKFileUploadPanel _showDocumentPickerMenu]):
36 (-[WKFileUploadPanel _presentMenuOptionForCurrentInterfaceIdiom:]):
37 (-[WKFileUploadPanel _presentForCurrentInterfaceIdiom:]): Deleted.
39 2017-03-08 Alexey Proskuryakov <ap@apple.com>
41 WebKit should not export dyld install name hints on watchOS and tvOS
42 https://bugs.webkit.org/show_bug.cgi?id=169342
44 Reviewed by Dan Bernstein.
46 * Shared/API/Cocoa/WebKit.m:
48 2017-03-07 Simon Fraser <simon.fraser@apple.com>
50 Have fixedPositionCreatesStackingContext be on by default everywhere
51 https://bugs.webkit.org/show_bug.cgi?id=169334
53 Reviewed by Zalan Bujtas.
55 It makes no sense to have web-exposed CSS functionality be different based on setting,
56 and other browser are now aligned with having position:fixed create stacking context.
58 So remove the fixedPositionCreatesStackingContext setting and have StyleResolver::adjustRenderStyle()
59 always force stacking context for position:fixed.
61 * WebProcess/WebPage/WebPage.cpp:
62 (WebKit::WebPage::setUseFixedLayout):
63 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
64 (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
65 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
66 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
68 2017-03-07 Brent Fulgham <bfulgham@apple.com>
70 [Mac][WK2] Whitelist iokit-get-properties
71 https://bugs.webkit.org/show_bug.cgi?id=169331
72 <rdar://problem/16363632>
74 Reviewed by Alex Christensen.
76 Block access to all IOKit properties by default. Turn on only those properties
77 that are actually needed by our engine.
79 * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
80 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
81 * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
82 * WebProcess/com.apple.WebProcess.sb.in:
84 2017-03-07 Simon Fraser <simon.fraser@apple.com>
86 Enable SubpixelAntialiasedLayerTextEnabled by default on some versions of macOS
87 https://bugs.webkit.org/show_bug.cgi?id=169329
89 Reviewed by Tim Horton.
91 If the macOS version is > 101300, enable subpixelAntialiasedLayerTextEnabled.
93 * Shared/WebPreferencesDefinitions.h:
95 2017-03-07 Dean Jackson <dino@apple.com>
97 Some platforms won't be able to create a GPUDevice
98 https://bugs.webkit.org/show_bug.cgi?id=169314
99 <rdar://problems/30907521>
103 Disable WEB_GPU on the iOS Simulator.
105 * Configurations/FeatureDefines.xcconfig:
107 2017-03-07 Brent Fulgham <bfulgham@apple.com>
109 [Mac][iOS][WK2] Whitelist sysctl-read
110 https://bugs.webkit.org/show_bug.cgi?id=169306
111 <rdar://problem/16371458>
113 Reviewed by Alex Christensen.
115 Limit access to the 'sysctl' call to read-only cases of the very small
116 set of operations we actually use.
118 * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
119 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
120 * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
121 * Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
122 * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
123 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
124 * WebProcess/com.apple.WebProcess.sb.in:
126 2017-03-07 Alex Christensen <achristensen@webkit.org>
128 [Content Extensions] Rename "Domain" to "Condition" where appropriate
129 https://bugs.webkit.org/show_bug.cgi?id=169297
131 Reviewed by Brady Eidson.
133 * Shared/WebCompiledContentExtension.cpp:
134 (WebKit::WebCompiledContentExtension::filtersWithoutConditionsBytecode):
135 (WebKit::WebCompiledContentExtension::filtersWithoutConditionsBytecodeLength):
136 (WebKit::WebCompiledContentExtension::filtersWithConditionsBytecode):
137 (WebKit::WebCompiledContentExtension::filtersWithConditionsBytecodeLength):
138 (WebKit::WebCompiledContentExtension::conditionedFiltersBytecode):
139 (WebKit::WebCompiledContentExtension::conditionedFiltersBytecodeLength):
140 (WebKit::WebCompiledContentExtension::filtersWithoutDomainsBytecode): Deleted.
141 (WebKit::WebCompiledContentExtension::filtersWithoutDomainsBytecodeLength): Deleted.
142 (WebKit::WebCompiledContentExtension::filtersWithDomainsBytecode): Deleted.
143 (WebKit::WebCompiledContentExtension::filtersWithDomainsBytecodeLength): Deleted.
144 (WebKit::WebCompiledContentExtension::domainFiltersBytecode): Deleted.
145 (WebKit::WebCompiledContentExtension::domainFiltersBytecodeLength): Deleted.
146 * Shared/WebCompiledContentExtension.h:
147 * Shared/WebCompiledContentExtensionData.cpp:
148 (WebKit::WebCompiledContentExtensionData::encode):
149 (WebKit::WebCompiledContentExtensionData::decode):
150 * Shared/WebCompiledContentExtensionData.h:
151 (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData):
152 * UIProcess/API/APIUserContentExtensionStore.cpp:
153 (API::ContentExtensionMetaData::fileSize):
154 (API::encodeContentExtensionMetaData):
155 (API::decodeContentExtensionMetaData):
156 (API::compiledToFile):
157 (API::createExtension):
158 (API::UserContentExtensionStore::lookupContentExtension):
159 (API::UserContentExtensionStore::compileContentExtension):
160 (API::UserContentExtensionStore::removeContentExtension):
161 * UIProcess/API/APIUserContentExtensionStore.h:
163 2017-03-07 Brent Fulgham <bfulgham@apple.com>
165 [Mac][WK2] Expand sandbox to support access to audio component registrar
166 https://bugs.webkit.org/show_bug.cgi?id=169283
167 <rdar://problem/30793512>
169 Reviewed by Alexey Proskuryakov.
171 * WebProcess/com.apple.WebProcess.sb.in:
173 2017-03-07 Chris Dumez <cdumez@apple.com>
175 Port DOMTimer from std::chrono::milliseconds to WTF::Seconds type
176 https://bugs.webkit.org/show_bug.cgi?id=169236
178 Reviewed by Simon Fraser.
180 * UIProcess/WebProcessPool.cpp:
181 (WebKit::WebProcessPool::updateHiddenPageThrottlingAutoIncreaseLimit):
182 * WebProcess/WebPage/WebPage.h:
183 (WebKit::WebPage::setHiddenPageDOMTimerThrottlingIncreaseLimit):
184 * WebProcess/WebProcess.cpp:
185 (WebKit::WebProcess::setHiddenPageDOMTimerThrottlingIncreaseLimit):
186 * WebProcess/WebProcess.h:
187 * WebProcess/WebProcess.messages.in:
189 2017-03-06 Aakash Jain <aakash_jain@apple.com>
191 Enable SUPPORTS_TEXT_BASED_API in WebKit2 for iOS
192 https://bugs.webkit.org/show_bug.cgi?id=169233
194 Reviewed by Alexey Proskuryakov.
196 * Configurations/Base.xcconfig: Enable SUPPORTS_TEXT_BASED_API.
197 * Configurations/WebKit.xcconfig: Pass information to TAPI about reexporting WebKitLegacy and few extra headers.
198 * WebKit2.xcodeproj/project.pbxproj: Run scripts which are run for installhdrs phase for installapi phase as well.
200 2017-03-06 Dan Bernstein <mitz@apple.com>
202 [Cocoa] Expose API::InjectedBundle::EditorClient::didChange via the Objective-C bundle SPI
203 https://bugs.webkit.org/show_bug.cgi?id=169223
205 Reviewed by Tim Horton.
207 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h: Declared new
208 delegate method -_webProcessPlugInBrowserContextControllerDidChangeByEditing:.
209 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
210 (-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]): Added an override
211 of API::InjectedBundle::EditorClient::didChange that calls the new delegate method.
213 2017-03-06 Michael Saboff <msaboff@apple.com>
215 Unreviewed build fix after r213492.
217 * Configurations/Base.xcconfig:
219 2017-03-06 Aakash Jain <aakash_jain@apple.com>
221 Add WK_CLASS_AVAILABLE to _WKLinkIconParameters and _WKWebViewPrintFormatter
222 https://bugs.webkit.org/show_bug.cgi?id=169225
224 Reviewed by Tim Horton.
226 * UIProcess/API/Cocoa/_WKLinkIconParameters.h:
227 * UIProcess/_WKWebViewPrintFormatter.h:
229 2017-03-06 Michael Saboff <msaboff@apple.com>
231 Unreviewed build fix after r213483.
233 * Configurations/Base.xcconfig:
235 2017-03-06 Brent Fulgham <bfulgham@apple.com>
237 [Mac][WK2] Support new CoreMedia routing features
238 https://bugs.webkit.org/show_bug.cgi?id=169241
239 <rdar://problem/30077969>
241 Reviewed by Alexey Proskuryakov.
243 * WebProcess/com.apple.WebProcess.sb.in:
245 2017-03-06 Michael Saboff <msaboff@apple.com>
247 Take advantage of fast permissions switching of JIT memory for devices that support it
248 https://bugs.webkit.org/show_bug.cgi?id=169155
250 Reviewed by Saam Barati.
252 Updated the Xcode config files to match what is in the JavaScriptCore ones.
254 * Configurations/FeatureDefines.xcconfig:
256 2017-03-06 Aakash Jain <aakash_jain@apple.com>
258 Make WKMenuItemIdentifiersPrivate.h private header
259 https://bugs.webkit.org/show_bug.cgi?id=168981
261 Reviewed by Tim Horton.
263 * WebKit2.xcodeproj/project.pbxproj: Made WKMenuItemIdentifiersPrivate.h private.
265 2017-03-06 Alexey Proskuryakov <ap@apple.com>
267 Replace -sub_umbrella linker flag with a build setting
268 https://bugs.webkit.org/show_bug.cgi?id=169146
270 Reviewed by Tim Horton.
272 * Configurations/WebKit.xcconfig:
274 2017-03-03 Matt Rajca <mrajca@apple.com>
276 Media: notify clients when the user never plays a media element that was prevented from auto-playing
277 https://bugs.webkit.org/show_bug.cgi?id=169150
279 Reviewed by Alex Christensen.
281 * UIProcess/API/C/WKPageUIClient.h:
283 2017-03-06 Myles C. Maxfield <mmaxfield@apple.com>
285 Expand font-weight and font-stretch to take any number
286 https://bugs.webkit.org/show_bug.cgi?id=168889
288 Reviewed by Simon Fraser.
290 Migrate off old enum types.
292 * WebProcess/WebPage/WebPage.cpp:
293 (WebKit::WebPage::editorState):
295 2017-03-06 Andreas Kling <akling@apple.com>
297 [iOS] Report domains crashing under memory pressure via enhanced privacy logging.
298 <https://webkit.org/b/169133>
299 <rdar://problem/29964017>
301 Reviewed by Antti Koivisto.
303 Notify the UI process when the memory pressure status changes.
304 If a web process crashes while under memory pressure, log the domain of the last open page
305 using enhanced privacy logging.
307 * UIProcess/WebPageProxy.cpp:
308 (WebKit::WebPageProxy::processDidCrash):
309 * UIProcess/WebProcessProxy.h:
310 (WebKit::WebProcessProxy::memoryPressureStatusChanged):
311 (WebKit::WebProcessProxy::isUnderMemoryPressure):
312 * UIProcess/WebProcessProxy.messages.in:
313 * WebProcess/WebProcess.cpp:
314 (WebKit::WebProcess::initializeWebProcess):
316 2017-03-05 Brady Eidson <beidson@apple.com>
318 Remove new files accidentally added in r213441
322 * UIProcess/WebLoadingProviderProxy.cpp: Removed.
323 * UIProcess/WebLoadingProviderProxy.h: Removed.
324 * UIProcess/WebLoadingProviderProxy.messages.in: Removed.
326 2017-03-05 Brady Eidson <beidson@apple.com>
328 Rename CustomProtocolFoo to LegacyCustomProtocolFoo.
329 https://bugs.webkit.org/show_bug.cgi?id=169188
331 Reviewed by Andy Estes.
334 * DerivedSources.make:
336 * NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm: Renamed from Source/WebKit2/NetworkProcess/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm.
337 (+[WKCustomProtocol canInitWithRequest:]):
338 (+[WKCustomProtocol canonicalRequestForRequest:]):
339 (+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
340 (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
341 (-[WKCustomProtocol initializationRunLoop]):
342 (-[WKCustomProtocol startLoading]):
343 (-[WKCustomProtocol stopLoading]):
344 (WebKit::LegacyCustomProtocolManager::registerProtocolClass):
345 (WebKit::LegacyCustomProtocolManager::registerScheme):
346 (WebKit::LegacyCustomProtocolManager::unregisterScheme):
347 (WebKit::LegacyCustomProtocolManager::supportsScheme):
348 (WebKit::dispatchOnInitializationRunLoop):
349 (WebKit::LegacyCustomProtocolManager::didFailWithError):
350 (WebKit::LegacyCustomProtocolManager::didLoadData):
351 (WebKit::LegacyCustomProtocolManager::didReceiveResponse):
352 (WebKit::LegacyCustomProtocolManager::didFinishLoading):
353 (WebKit::LegacyCustomProtocolManager::wasRedirectedToRequest):
354 (WebKit::LegacyCustomProtocolManager::protocolForID):
356 * NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp: Renamed from Source/WebKit2/NetworkProcess/CustomProtocols/CustomProtocolManager.cpp.
357 (WebKit::generateCustomProtocolID):
358 (WebKit::LegacyCustomProtocolManager::supplementName):
359 (WebKit::LegacyCustomProtocolManager::LegacyCustomProtocolManager):
360 (WebKit::LegacyCustomProtocolManager::initialize):
361 (WebKit::LegacyCustomProtocolManager::addCustomProtocol):
362 (WebKit::LegacyCustomProtocolManager::removeCustomProtocol):
363 (WebKit::LegacyCustomProtocolManager::startLoading):
364 (WebKit::LegacyCustomProtocolManager::stopLoading):
365 * NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h: Renamed from Source/WebKit2/NetworkProcess/CustomProtocols/CustomProtocolManager.h.
366 * NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.messages.in: Renamed from Source/WebKit2/NetworkProcess/CustomProtocols/CustomProtocolManager.messages.in.
368 * NetworkProcess/CustomProtocols/soup/LegacyCustomProtocolManagerSoup.cpp: Renamed from Source/WebKit2/NetworkProcess/CustomProtocols/soup/CustomProtocolManagerSoup.cpp.
369 (WebKit::CustomProtocolManager::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
370 (WebKit::CustomProtocolManager::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
371 (WebKit::CustomProtocolManager::registerProtocolClass):
372 (WebKit::CustomProtocolManager::registerScheme):
373 (WebKit::CustomProtocolManager::unregisterScheme):
374 (WebKit::CustomProtocolManager::supportsScheme):
375 (WebKit::CustomProtocolManager::didFailWithError):
376 (WebKit::CustomProtocolManager::didLoadData):
377 (WebKit::CustomProtocolManager::didReceiveResponse):
378 (WebKit::CustomProtocolManager::didFinishLoading):
379 (WebKit::CustomProtocolManager::wasRedirectedToRequest):
381 * NetworkProcess/NetworkProcess.cpp:
382 (WebKit::NetworkProcess::NetworkProcess):
384 * NetworkProcess/NetworkSession.cpp:
385 (WebKit::NetworkSession::create):
386 * NetworkProcess/NetworkSession.h:
388 * NetworkProcess/cocoa/NetworkSessionCocoa.h:
389 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
390 (WebKit::globalLegacyCustomProtocolManager):
391 (WebKit::NetworkSessionCocoa::setLegacyCustomProtocolManager):
392 (WebKit::NetworkSessionCocoa::create):
393 (WebKit::NetworkSessionCocoa::defaultSession):
394 (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
395 (WebKit::globalCustomProtocolManager): Deleted.
396 (WebKit::NetworkSessionCocoa::setCustomProtocolManager): Deleted.
398 * NetworkProcess/mac/RemoteNetworkingContext.mm:
399 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
401 * UIProcess/API/APICustomProtocolManagerClient.h:
402 (API::LegacyCustomProtocolManagerClient::~LegacyCustomProtocolManagerClient):
403 (API::LegacyCustomProtocolManagerClient::startLoading):
404 (API::LegacyCustomProtocolManagerClient::stopLoading):
405 (API::LegacyCustomProtocolManagerClient::invalidate):
406 (API::CustomProtocolManagerClient::~CustomProtocolManagerClient): Deleted.
407 (API::CustomProtocolManagerClient::startLoading): Deleted.
408 (API::CustomProtocolManagerClient::stopLoading): Deleted.
409 (API::CustomProtocolManagerClient::invalidate): Deleted.
411 * UIProcess/Cocoa/LegacyCustomProtocolManagerClient.h: Renamed from Source/WebKit2/UIProcess/Cocoa/CustomProtocolManagerClient.h.
412 * UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm: Renamed from Source/WebKit2/UIProcess/Cocoa/CustomProtocolManagerClient.mm.
413 (-[WKCustomProtocolLoader initWithLegacyCustomProtocolManagerProxy:customProtocolID:request:]):
414 (-[WKCustomProtocolLoader dealloc]):
415 (-[WKCustomProtocolLoader customProtocolManagerProxyDestroyed]):
416 (-[WKCustomProtocolLoader connection:didFailWithError:]):
417 (-[WKCustomProtocolLoader connection:willCacheResponse:]):
418 (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
419 (-[WKCustomProtocolLoader connection:didReceiveData:]):
420 (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
421 (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
422 (WebKit::LegacyCustomProtocolManagerClient::startLoading):
423 (WebKit::LegacyCustomProtocolManagerClient::stopLoading):
424 (WebKit::LegacyCustomProtocolManagerClient::invalidate):
426 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
427 (WebKit::WebProcessPool::platformInitialize):
429 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.cpp: Removed.
430 * UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.cpp: Added.
431 (WebKit::LegacyCustomProtocolManagerProxy::LegacyCustomProtocolManagerProxy):
432 (WebKit::LegacyCustomProtocolManagerProxy::~LegacyCustomProtocolManagerProxy):
433 (WebKit::LegacyCustomProtocolManagerProxy::startLoading):
434 (WebKit::LegacyCustomProtocolManagerProxy::stopLoading):
435 (WebKit::LegacyCustomProtocolManagerProxy::processDidClose):
436 (WebKit::LegacyCustomProtocolManagerProxy::wasRedirectedToRequest):
437 (WebKit::LegacyCustomProtocolManagerProxy::didReceiveResponse):
438 (WebKit::LegacyCustomProtocolManagerProxy::didLoadData):
439 (WebKit::LegacyCustomProtocolManagerProxy::didFailWithError):
440 (WebKit::LegacyCustomProtocolManagerProxy::didFinishLoading):
441 * UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.h: Renamed from Source/WebKit2/UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h.
442 * UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.messages.in: Renamed from Source/WebKit2/UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in.
444 * UIProcess/Network/NetworkProcessProxy.cpp:
445 * UIProcess/Network/NetworkProcessProxy.h:
447 * UIProcess/WebProcessPool.cpp:
448 (WebKit::WebProcessPool::WebProcessPool):
449 (WebKit::WebProcessPool::setLegacyCustomProtocolManagerClient):
450 (WebKit::WebProcessPool::registerSchemeForCustomProtocol):
451 (WebKit::WebProcessPool::unregisterSchemeForCustomProtocol):
452 (WebKit::WebProcessPool::setCustomProtocolManagerClient): Deleted.
453 * UIProcess/WebProcessPool.h:
455 * WebKit2.xcodeproj/project.pbxproj:
457 * WebProcess/cocoa/WebProcessCocoa.mm:
459 2017-03-04 Eric Carlson <eric.carlson@apple.com>
461 [iOS] The web process should inherit application state from UI process
462 https://bugs.webkit.org/show_bug.cgi?id=169156
463 <rdar://problem/30845473>
465 Reviewed by Alexey Proskuryakov.
467 * Platform/spi/ios/CelestialSPI.h: Added.
469 * WebKit2.xcodeproj/project.pbxproj: Include CelestialSPI.h.
471 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Add entitlement.
473 * WebProcess/WebPage/ios/WebPageIOS.mm:
474 (WebKit::WebPage::platformInitialize): Set up PID proxying.
476 2017-03-04 Aakash Jain <aakash_jain@apple.com>
478 Add symbols required by TAPI from Shared/API/Cocoa/WebKit.m in a header file
479 https://bugs.webkit.org/show_bug.cgi?id=169162
481 Reviewed by Alexey Proskuryakov.
483 The symbols from binary and headers should match precisely, otherwise TAPI would
484 complain. There are few symbols which are not actually needed in header file, but
485 we still need to add them in a header file to make TAPI happy.
487 * Platform/ExtraPublicSymbolsForTAPI.h: Added.
488 * WebKit2.xcodeproj/project.pbxproj: Added ExtraPublicSymbolsForTAPI.h
490 2017-03-04 Aakash Jain <aakash_jain@apple.com>
492 Add symbols required by TAPI in a header file
493 https://bugs.webkit.org/show_bug.cgi?id=169113
494 <rdar://problem/30772033>
496 Reviewed by Alexey Proskuryakov.
498 The symbols from binary and headers should match precisely, otherwise TAPI would
499 complain. There are few symbols which are not actually needed in header file, but
500 we still need to add them in a header file to make TAPI happy.
502 * Platform/ExtraPrivateSymbolsForTAPI.h: Added.
503 * WebKit2.xcodeproj/project.pbxproj: Added Platform/ExtraPrivateSymbolsForTAPI.h
505 2017-03-04 Joseph Pecoraro <pecoraro@apple.com>
507 Remove duplicate initialization guard in WebKit2 logging initialization
508 https://bugs.webkit.org/show_bug.cgi?id=169164
510 Reviewed by Dan Bernstein.
512 * Platform/Logging.cpp:
513 (WebKit::initializeLogChannelsIfNecessary):
515 2017-03-03 Youenn Fablet <youenn@apple.com>
517 [WebRTC] Update libwebrtc source code
518 https://bugs.webkit.org/show_bug.cgi?id=168599
520 Reviewed by Alex Christensen.
522 * WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
524 2017-03-03 Dean Jackson <dino@apple.com>
526 Add WebGPU compile flag and experimental feature flag
527 https://bugs.webkit.org/show_bug.cgi?id=169161
528 <rdar://problem/30846689>
530 Reviewed by Tim Horton.
532 Add ENABLE_WEBGPU, an experimental feature flag, a RuntimeEnabledFeature,
533 and an InternalSetting.
535 * Configurations/FeatureDefines.xcconfig:
536 * Shared/WebPreferencesDefinitions.h:
537 * WebProcess/InjectedBundle/InjectedBundle.cpp:
538 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
539 * WebProcess/WebPage/WebPage.cpp:
540 (WebKit::WebPage::updatePreferences):
542 2017-03-03 Dean Jackson <dino@apple.com>
544 Move Input Events and Gamepad from experimental features into main preferences
545 https://bugs.webkit.org/show_bug.cgi?id=169157
546 <rdar://problems/30845587>
548 Reviewed by Myles C. Maxfield.
550 These are no longer experimental on trunk.
552 * Shared/WebPreferencesDefinitions.h:
554 2017-03-03 Brent Fulgham <bfulgham@apple.com>
556 [MediaStream iOS] REGRESSION(r212883): Missing function definition breaks sandbox
557 https://bugs.webkit.org/show_bug.cgi?id=169148
558 <rdar://problem/30825728>
560 Reviewed by Alex Christensen.
562 The changes in r212883 added a call to 'shared-preferences-read', which is not defined
563 for iOS. In fact, it's not needed since 'user-preference-read' does everything we need on iOS.
564 Switch to the correct preference rule.
566 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Add missing function
568 2017-03-03 Aakash Jain <aakash_jain@apple.com>
570 Move declaration of _WKSetCrashReportApplicationSpecificInformation to header file
571 https://bugs.webkit.org/show_bug.cgi?id=169043
573 Reviewed by Alex Christensen.
575 * WebKit2.xcodeproj/project.pbxproj: Added WebProcessCocoa.h
576 * WebProcess/cocoa/WebProcessCocoa.h: Added.
577 * WebProcess/cocoa/WebProcessCocoa.mm: Imported WebProcessCocoa.h
578 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm: Ditto.
580 2017-03-03 Carlos Garcia Campos <cgarcia@igalia.com>
582 [GTK] Ensure WebKitWebView always have a user content manager
583 https://bugs.webkit.org/show_bug.cgi?id=169130
585 Reviewed by Michael Catanzaro.
587 User content manager is a construct only property, so if not set by the user the web view doesn't have any. We
588 can create a default one, like we do for settings, when user didn't provide one.
590 * UIProcess/API/gtk/WebKitWebView.cpp:
591 (webkitWebViewConstructed):
593 2017-03-02 Sam Weinig <sam@webkit.org>
595 Rename htmlediting.h/cpp to Editing.h/cpp
596 https://bugs.webkit.org/show_bug.cgi?id=169103
598 Reviewed by Alex Christensen.
600 * WebProcess/WebPage/WebPage.cpp:
601 * WebProcess/WebPage/ios/WebPageIOS.mm:
602 * WebProcess/WebPage/mac/WebPageMac.mm:
604 2017-03-02 Joseph Pecoraro <pecoraro@apple.com>
606 [Mac] Set the NSURLSessionTask priority to match the request's priority
607 https://bugs.webkit.org/show_bug.cgi?id=169115
608 <rdar://problem/28881392>
610 Reviewed by Alex Christensen.
612 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
613 (WebKit::toNSURLSessionTaskPriority):
614 (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
615 Set the priority on the task based on the ResourceRequest's priority.
616 This is used for HTTP/2 request prioritization.
618 2017-03-02 Mark Lam <mark.lam@apple.com>
620 Add WebKit2 hooks to notify the VM that the user has requested a debugger break.
621 https://bugs.webkit.org/show_bug.cgi?id=169089
623 Reviewed by Tim Horton and Joseph Pecoraro.
626 * DerivedSources.make:
627 * UIProcess/WebInspectorProxy.cpp:
628 (WebKit::WebInspectorProxy::connect):
629 * WebKit2.xcodeproj/project.pbxproj:
630 * WebProcess/WebPage/WebInspectorInterruptDispatcher.cpp: Added.
631 (WebKit::WebInspectorInterruptDispatcher::create):
632 (WebKit::WebInspectorInterruptDispatcher::WebInspectorInterruptDispatcher):
633 (WebKit::WebInspectorInterruptDispatcher::~WebInspectorInterruptDispatcher):
634 (WebKit::WebInspectorInterruptDispatcher::initializeConnection):
635 (WebKit::WebInspectorInterruptDispatcher::notifyNeedDebuggerBreak):
636 * WebProcess/WebPage/WebInspectorInterruptDispatcher.h: Added.
637 * WebProcess/WebPage/WebInspectorInterruptDispatcher.messages.in: Added.
638 * WebProcess/WebProcess.cpp:
639 (WebKit::WebProcess::WebProcess):
640 (WebKit::WebProcess::initializeConnection):
641 * WebProcess/WebProcess.h:
643 2017-03-02 Brady Eidson <beidson@apple.com>
645 Update WKWebsiteDatastoreConfiguration SPI.
646 https://bugs.webkit.org/show_bug.cgi?id=169102
648 Reviewed by Tim Horton.
650 Make these strings URLs, and throw exceptions if you try to use non-file URLs.
652 * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
653 (-[WKWebsiteDataStore _initWithConfiguration:]):
655 * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
656 * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
658 (-[_WKWebsiteDataStoreConfiguration _webStorageDirectory]):
659 (-[_WKWebsiteDataStoreConfiguration _setWebStorageDirectory:]):
660 (-[_WKWebsiteDataStoreConfiguration _indexedDBDatabaseDirectory]):
661 (-[_WKWebsiteDataStoreConfiguration _setIndexedDBDatabaseDirectory:]):
662 (-[_WKWebsiteDataStoreConfiguration _webSQLDatabaseDirectory]):
663 (-[_WKWebsiteDataStoreConfiguration _setWebSQLDatabaseDirectory:]):
665 2017-03-02 Youenn Fablet <youenn@apple.com>
667 Move part of NetworkRTCProvider::close implementation in NetworkRTCProvider destructor
668 https://bugs.webkit.org/show_bug.cgi?id=169104
670 Reviewed by Alex Christensen.
672 Improving NetworkRTCProvider clean-up by moving some member field cleaning to the destructor.
673 The remaining cleaning is still kept in NetworkRTCProvider::close as we need to go to the rtc network thread and
674 for that, we take a ref of NetworkRTCProvider.
675 Stopping any resolver before freeing them.
677 * NetworkProcess/webrtc/NetworkRTCMonitor.h:
678 * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
679 (WebKit::NetworkRTCProvider::~NetworkRTCProvider):
680 (WebKit::NetworkRTCProvider::close):
681 * NetworkProcess/webrtc/NetworkRTCProvider.h:
683 2017-03-02 Youenn Fablet <youenn@apple.com>
685 [iOS] Replicate NetworkProcess Mac sandboxing in iOS to allow TCP/UDP
686 https://bugs.webkit.org/show_bug.cgi?id=169105
688 Reviewed by Alex Christensen.
690 * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Adding sandbox extension support for TCP/UDP networking.
692 2017-03-02 Aakash Jain <aakash_jain@apple.com>
694 Move stringMatchesWildcardString from WebKit2 to WebCore
695 https://bugs.webkit.org/show_bug.cgi?id=169065
697 Reviewed by Alexey Proskuryakov.
699 * Platform/mac/StringUtilities.h: Moved stringMatchesWildcardString to WebCore.
700 * WebKit2.xcodeproj/project.pbxproj: Make StringUtilities.h a project header.
701 * Platform/mac/StringUtilities.mm:
702 (WebKit::wildcardRegexPatternString): Moved to WebCore.
703 (WebKit::stringMatchesWildcardString): Ditto.
704 * WebProcess/Plugins/WebPluginInfoProvider.cpp: Using stringMatchesWildcardString from WebCore.
706 2017-03-02 Aakash Jain <aakash_jain@apple.com>
708 IsSmartPtr<WKRetainPtr<T>>::value should not be exported
709 https://bugs.webkit.org/show_bug.cgi?id=169047
711 Reviewed by Alexey Proskuryakov.
713 * UIProcess/API/cpp/WKRetainPtr.h:
715 2017-03-02 Youenn Fablet <youenn@apple.com>
717 Activate some new webrtc tests
718 https://bugs.webkit.org/show_bug.cgi?id=168850
720 Reviewed by Alex Christensen.
722 * Shared/WebPreferencesDefinitions.h: Activating peer connection by default when libwebrtc is on.
723 This allows ensuring the network process will have its sandbox extension.
725 2017-03-02 Brian Burg <bburg@apple.com>
727 Web Automation: _WKAutomationSessionDelegate should work with WKWebViews
728 https://bugs.webkit.org/show_bug.cgi?id=169091
729 <rdar://problem/30810538>
731 Reviewed by Tim Horton.
733 As a first step towards fixing the mistake of using WKPageRef in an Objective-C SPI,
734 add the correct delegate methods that take WKWebView so that Objective-C clients can
735 use this functionality.
737 In a future patch, we'll remove the WKPageRef delegate methods when they are no longer
738 being used by clients. Clients should switch to using WKWebView, or wait for a C SPI
739 with equivalent functionality (something like WKAutomationSessionClient) to be ported.
741 While I'm fixing this mess, make API::AutomationSessionClient use references instead
742 of pointers. We null-check all WebPageProxy parameters before calling its methods.
744 * UIProcess/API/APIAutomationSessionClient.h:
745 (API::AutomationSessionClient::didDisconnectFromRemote):
746 (API::AutomationSessionClient::didRequestNewWindow):
747 (API::AutomationSessionClient::isShowingJavaScriptDialogOnPage):
748 (API::AutomationSessionClient::dismissCurrentJavaScriptDialogOnPage):
749 (API::AutomationSessionClient::acceptCurrentJavaScriptDialogOnPage):
750 (API::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage):
751 (API::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage):
752 Change pointer to reference.
754 * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
755 Add duplicate delegate methods that take/return WKWebView instead of WKPageRef.
756 Adjust the delegate method names to reflect parameter type and avoid conflicts with the
757 WKPageRef-using methods that we need to remove eventually.
759 * UIProcess/Automation/WebAutomationSession.cpp:
760 (WebKit::WebAutomationSession::terminate):
761 (WebKit::WebAutomationSession::createBrowsingContext):
762 (WebKit::WebAutomationSession::isShowingJavaScriptDialog):
763 (WebKit::WebAutomationSession::dismissCurrentJavaScriptDialog):
764 (WebKit::WebAutomationSession::acceptCurrentJavaScriptDialog):
765 (WebKit::WebAutomationSession::messageOfCurrentJavaScriptDialog):
766 (WebKit::WebAutomationSession::setUserInputForCurrentJavaScriptPrompt):
767 Dereference `this` and `webPageProxy` when calling API::AutomationSessionClient methods.
769 * UIProcess/Cocoa/AutomationSessionClient.h:
770 * UIProcess/Cocoa/AutomationSessionClient.mm:
771 (WebKit::AutomationSessionClient::AutomationSessionClient):
772 (WebKit::AutomationSessionClient::didDisconnectFromRemote):
773 (WebKit::AutomationSessionClient::didRequestNewWindow):
774 (WebKit::AutomationSessionClient::isShowingJavaScriptDialogOnPage):
775 (WebKit::AutomationSessionClient::dismissCurrentJavaScriptDialogOnPage):
776 (WebKit::AutomationSessionClient::acceptCurrentJavaScriptDialogOnPage):
777 (WebKit::AutomationSessionClient::messageOfCurrentJavaScriptDialogOnPage):
778 (WebKit::AutomationSessionClient::setUserInputForCurrentJavaScriptPromptOnPage):
779 Now there are two possible delegate methods for most of these, so try to use the
780 WKWebView-based delegate method first and fall back to the WKPageRef delegate method.
782 2017-03-02 Alex Christensen <achristensen@webkit.org>
784 Continue enabling WebRTC
785 https://bugs.webkit.org/show_bug.cgi?id=169056
789 * Configurations/FeatureDefines.xcconfig:
791 2017-03-01 Megan Gardner <megan_gardner@apple.com>
793 Data interaction support for WK1
794 https://bugs.webkit.org/show_bug.cgi?id=169062
796 Reviewed by Wenson Hsieh.
798 Allow for separate additions files in WK1 and WK2
800 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
802 2017-03-02 Youenn Fablet <youenn@apple.com>
804 [WebRTC] Activate ICE candidate privacy policy
805 https://bugs.webkit.org/show_bug.cgi?id=168975
807 Reviewed by Alex Christensen.
809 Disabling network enumeration by default.
810 Enabling ICE candidate filtering by default.
811 Chaning ICE candidate filtering according userMediaAccess policy:
812 - If access is denied, filtering is on.
813 - If access is granted, filtering is off.
815 * Shared/WebPageCreationParameters.cpp:
816 (WebKit::WebPageCreationParameters::encode):
817 (WebKit::WebPageCreationParameters::decode):
818 * Shared/WebPageCreationParameters.h:
819 * Shared/WebPreferencesDefinitions.h:
820 * UIProcess/API/C/WKPreferences.cpp:
821 (WKPreferencesSetICECandidateFilteringEnabled):
822 (WKPreferencesGetICECandidateFilteringEnabled):
823 (WKPreferencesSetEnumeratingAllNetworkInterfacesEnabled):
824 (WKPreferencesGetEnumeratingAllNetworkInterfacesEnabled):
825 * UIProcess/API/C/WKPreferencesRefPrivate.h:
826 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
828 (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted):
829 * UIProcess/UserMediaProcessManager.cpp:
830 (WebKit::UserMediaProcessManager::willCreateMediaStream):
831 (WebKit::UserMediaProcessManager::endedCaptureSession):
832 * UIProcess/WebPageProxy.cpp:
833 (WebKit::WebPageProxy::creationParameters):
834 * WebProcess/WebPage/WebPage.cpp:
836 2017-03-02 Tomas Popela <tpopela@redhat.com>
838 [WK2] Keyboard menu key should show context menu
839 https://bugs.webkit.org/show_bug.cgi?id=72099
841 Reviewed by Carlos Garcia Campos.
843 Show the context menu when the GtkWidget::popup-menu signal is
844 emitted. This signal is triggered by pressing a key (usually
845 the Menu key or the Shift + F10 shortcut) or it could be emitted on
848 * UIProcess/API/gtk/WebKitWebView.cpp:
849 (webkit_web_view_class_init):
850 (webkit_web_view_class_init): Update the documentation for the
852 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
853 (webkitWebViewBasePopupMenu): Connect to the popup-menu signal and
854 save the event that was used to trigger the signal. If there is no
855 such event create a new GdkEvent with GDK_NOTHING type.
856 (webkitWebViewBasePopupMenu):
857 (webkit_web_view_base_class_init):
858 * UIProcess/WebPageProxy.cpp:
859 (WebKit::WebPageProxy::handleContextMenuKeyEvent):
860 * UIProcess/WebPageProxy.h:
861 * WebProcess/WebPage/WebPage.cpp:
862 (WebKit::WebPage::contextMenuForKeyEvent):
863 * WebProcess/WebPage/WebPage.h:
864 * WebProcess/WebPage/WebPage.messages.in:
866 2017-03-01 Wenson Hsieh <wenson_hsieh@apple.com>
868 Replace -[WKWebView adjustedDataInteractionItemProviders:] with a UI delegate method
869 https://bugs.webkit.org/show_bug.cgi?id=169013
871 Reviewed by Dan Bernstein.
873 Rather than introduce new SPI on WKWebView directly, we should follow convention and add the hook to the private
874 version of the UI delegate.
876 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
877 * UIProcess/API/Cocoa/WKWebView.mm:
878 (-[WKWebView _adjustedDataInteractionItemProviders:]): Deleted.
879 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
881 2017-03-01 Alex Christensen <achristensen@webkit.org>
883 Unreviewed, rolling out r213259.
885 Broke an internal build
889 "Continue enabling WebRTC"
890 https://bugs.webkit.org/show_bug.cgi?id=169056
891 http://trac.webkit.org/changeset/213259
893 2017-03-01 Alex Christensen <achristensen@webkit.org>
895 Continue enabling WebRTC
896 https://bugs.webkit.org/show_bug.cgi?id=169056
900 * Configurations/FeatureDefines.xcconfig:
902 2017-03-01 Chris Dumez <cdumez@apple.com>
904 [WK2][!NETWORK_SESSION] Failure to download when using a download attribute with no value on an anchor
905 https://bugs.webkit.org/show_bug.cgi?id=169060
906 <rdar://problem/30773140>
908 Reviewed by Darin Adler.
910 In the !NETWORK_SESSION code path, we were failing to use the suggested filename coming from the
911 network layer in the case where the download attribute is present but has no value. We were ending
912 up passing an empty string as suggested filename to Safari which is not handled properly.
914 * UIProcess/Downloads/DownloadProxy.cpp:
915 (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
917 2017-02-28 Matt Rajca <mrajca@apple.com>
919 Media: notify clients when autoplayed media is muted
920 https://bugs.webkit.org/show_bug.cgi?id=168987
922 Reviewed by Alex Christensen.
924 * UIProcess/API/C/WKPageUIClient.h:
926 2017-03-01 Brady Eidson <beidson@apple.com>
928 Add SPI to create WebsiteDataStore objects pointing to custom paths.
929 https://bugs.webkit.org/show_bug.cgi?id=169044
931 Reviewed by Tim Horton.
933 * UIProcess/API/APIWebsiteDataStore.h:
935 * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
936 (-[WKWebsiteDataStore _initWithConfiguration:]):
938 * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
940 * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h.
941 * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h.
943 * UIProcess/WebsiteData/WebsiteDataStore.h:
945 * WebKit2.xcodeproj/project.pbxproj:
947 2017-03-01 Jon Lee <jonlee@apple.com>
949 Update peer connection preference
950 https://bugs.webkit.org/show_bug.cgi?id=169016
951 rdar://problem/30773889
953 Reviewed by Eric Carlson.
955 * Shared/WebPreferencesDefinitions.h:
956 * UIProcess/WebPreferences.cpp:
957 (WebKit::WebPreferences::setEnabledForFeature):
958 (WebKit::WebPreferences::setPeerConnectionAndMediaStreamEnabled): Deleted.
959 * UIProcess/WebPreferences.h:
961 2017-03-01 Tomas Popela <tpopela@redhat.com>
963 [GTK] Fix problems found by Coverity scan in WebPrintOperationGtk.cpp
964 https://bugs.webkit.org/show_bug.cgi?id=169027
966 Reviewed by Carlos Garcia Campos.
968 Initialize the lastPagePosition variable and remove an unused one
971 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
972 (WebKit::PrintPagesData::PrintPagesData):
974 2017-03-01 Andreas Kling <akling@apple.com>
976 Move MemoryPressureHandler to WTF
977 <https://webkit.org/b/168908>
979 Reviewed by Sam Weinig.
981 * NetworkProcess/NetworkProcess.h:
982 * NetworkProcess/mac/NetworkProcessMac.mm:
983 * PluginProcess/PluginProcess.cpp:
984 * Shared/linux/WebMemorySamplerLinux.cpp:
985 * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
986 * WebProcess/WebPage/ios/WebPageIOS.mm:
988 2017-03-01 Joseph Pecoraro <pecoraro@apple.com>
990 [WebRTC] Install libwebrtc.dylib inside of WebCore.framework
991 https://bugs.webkit.org/show_bug.cgi?id=168859
993 Reviewed by Dan Bernstein.
995 * Configurations/BaseTarget.xcconfig:
996 * Configurations/WebKit.xcconfig:
997 Set library search path to find the libwebrtc.dylib inside of WebCore's Frameworks
998 or in the WK_OVERRIDE_FRAMEWORKS_DIR.
1000 2017-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1002 NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/WebKit2/NetworkProcess/NetworkLoad.cpp:423
1003 https://bugs.webkit.org/show_bug.cgi?id=168963
1005 Reviewed by Antti Koivisto.
1007 This is trying to call SpeculativeLoad::didFailLoading() after SpeculativeLoad has already been
1008 completed. SpeculativeLoad::didComplete() call its completion handler that removes the load from
1009 m_pendingPreloads. When the completion handler returns the SpeculativeLoad is deleted. So, we should always
1010 ensure that SpeculativeLoad is not used after didComplete() call. In SpeculativeLoad::willSendRedirectedRequest(),
1011 the call to NetworkLoad::continueWillSendRequest() causes SpeculativeLoad::didFailLoading() to be called. We
1012 don't really need to call continueWillSendRequest() though, since the network load is going to be deleted anyway
1013 by didComplete(), and the willSendRequest completion handler does nothing when the request is null.
1015 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
1016 (WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
1018 2017-02-28 Alexey Proskuryakov <ap@apple.com>
1020 https://bugs.webkit.org/show_bug.cgi?id=168899
1021 Re-add deprecated functions to WKPageGroup.h
1023 Reviewed by Tim Horton.
1025 * Shared/API/c/WKDeprecatedFunctions.cpp:
1026 (WKPageGroupRemoveUserContentFilter):
1027 (WKPageGroupRemoveAllUserContentFilters): Deleted. Unlike the other three, this
1028 function isn't used by any clients.
1029 * UIProcess/API/C/WKPageGroup.h:
1031 2017-02-28 Alexey Proskuryakov <ap@apple.com>
1033 Expose _WKVisitedLinkProvider in a header
1034 https://bugs.webkit.org/show_bug.cgi?id=168955
1036 Reviewed by Tim Horton.
1038 * UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
1039 * UIProcess/API/Cocoa/_WKVisitedLinkStore.h:
1040 The class needs to be visible in a header, as it is exported SPI.
1042 2017-02-28 Brady Eidson <beidson@apple.com>
1044 Move resolving symlinks of some WebsiteDataStore paths from WebProcessPool to... WebsiteDataStore!.
1045 https://bugs.webkit.org/show_bug.cgi?id=168696.
1047 Reviewed by Alex Christensen.
1049 * UIProcess/WebProcessPool.cpp:
1050 (WebKit::WebProcessPool::createNewWebProcess):
1052 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
1053 (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
1054 * UIProcess/WebsiteData/WebsiteDataStore.h:
1055 (WebKit::WebsiteDataStore::resolvedApplicationCacheDirectory):
1056 (WebKit::WebsiteDataStore::resolvedMediaCacheDirectory):
1057 (WebKit::WebsiteDataStore::resolvedMediaKeysDirectory):
1058 (WebKit::WebsiteDataStore::resolvedDatabaseDirectory):
1060 2017-02-28 Alex Christensen <achristensen@webkit.org>
1062 LibWebRTCProvider should check existence of libwebrtc.dylib
1063 https://bugs.webkit.org/show_bug.cgi?id=168986
1065 Reviewed by Youenn Fablet.
1067 * Shared/WebPreferencesDefinitions.h:
1068 * Shared/WebPreferencesStore.cpp:
1069 * UIProcess/WebPreferences.cpp:
1070 (WebKit::checkWebRTCAvailability): Deleted.
1072 2017-02-28 Wenson Hsieh <wenson_hsieh@apple.com>
1074 Unreviewed, build fix after r213176.
1076 * Platform/spi/ios/UIKitSPI.h:
1078 2017-02-28 Tim Horton <timothy_horton@apple.com>
1080 [iOS] Getting QLPreviewProtocol slows down first navigation in Web process
1081 https://bugs.webkit.org/show_bug.cgi?id=168940
1082 <rdar://problem/29468999>
1084 Reviewed by Simon Fraser.
1086 * WebProcess/Network/WebLoaderStrategy.cpp:
1087 (WebKit::WebLoaderStrategy::scheduleLoad):
1088 Make use of isQuickLookPreviewURL.
1090 2017-02-28 Brady Eidson <beidson@apple.com>
1092 Fix API test regression(s):
1093 REGRESSION (r213168): API test WKUserContentController.ScriptMessageHandlerMultipleHandlerRemoval crashing
1094 https://bugs.webkit.org/show_bug.cgi?id=168991
1098 * UIProcess/WebProcessPool.cpp:
1099 (WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
1101 2017-02-28 Wenson Hsieh <wenson_hsieh@apple.com>
1103 Data interaction should support attachment elements
1104 https://bugs.webkit.org/show_bug.cgi?id=168916
1105 <rdar://problem/30664519>
1107 Reviewed by Ryosuke Niwa.
1109 Teaches WKContentView to recognize attachment elements as data interactive content, and add an internal hook to
1110 adjust the list of item providers before initiating data interaction.
1112 * Platform/spi/ios/UIKitSPI.h:
1113 * UIProcess/API/Cocoa/WKWebView.mm:
1114 (-[WKWebView _adjustedDataInteractionItemProviders:]):
1115 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1116 * UIProcess/ios/WKContentViewInteraction.mm:
1117 (-[WKContentView pointIsInDataInteractionContent:]):
1119 2017-02-28 Yongjun Zhang <yongjun_zhang@apple.com>
1121 Add delegate method to handle images with alternate data.
1122 https://bugs.webkit.org/show_bug.cgi?id=168785
1123 <rdar://problem/28776219>
1125 Add delegate methods to WKUIDelegatePrivate so that a WebKit client can provide alternate URL or data for an image
1126 before long-press or preview. When an image has alternate URL or data, we can change the actions accordingly.
1128 Reviewed by Enrica Casucci.
1130 * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add two delegate methods _webView:getAlternateURLFromImage:completionHandler:
1131 and _webView:alternateURLFromImage:userInfo;
1132 * UIProcess/API/Cocoa/_WKActivatedElementInfo.h: Add an readonly property userInfo so that alternate data can be
1133 carried by _WKActivatedElementInfo and be processed by WebKit client.
1134 * UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
1135 (-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:]):
1136 (-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:userInfo:]): A new initializer that also takes userInfo.
1137 (-[_WKActivatedElementInfo userInfo]):
1138 * UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h: A new delegate method for WKActionSheetAssistantDelegate to fetch
1139 alternate data before showing image sheet.
1140 * UIProcess/ios/WKActionSheetAssistant.h:
1141 * UIProcess/ios/WKActionSheetAssistant.mm:
1142 (-[WKActionSheetAssistant showImageSheet]): Before showing the image sheet, if the image doesn't have linked URL (i.e. not a image
1143 link), try to fetch its alternate URL and data.
1144 (-[WKActionSheetAssistant defaultActionsForImageSheet:]): Drive-by fix. We always use positionInformation's URL to populate the
1145 actions, however, we should use elementInfo's URL since the two URLs could mismatch.
1146 * UIProcess/ios/WKContentViewInteraction.mm:
1147 (-[WKContentView actionSheetAssistant:getAlternateURLForImage:completion:]):
1148 (-[WKContentView _presentedViewControllerForPreviewItemController:]): Before previewing an image, synchronously get alternate
1149 data for the image and update the actions accordingly.
1151 2017-02-28 Brady Eidson <beidson@apple.com>
1153 Refactor WebViewImpl creation in preparation for supporting multiple WebsiteDataStores.
1154 https://bugs.webkit.org/show_bug.cgi?id=168676
1156 Reviewed by Alex Christensen and Sam Weinig.
1158 * UIProcess/WebProcessPool.cpp:
1159 (WebKit::WebProcessPool::createNewWebProcess):
1160 (WebKit::WebProcessPool::warmInitialProcess):
1161 (WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
1162 (WebKit::WebProcessPool::createWebPage):
1163 * UIProcess/WebProcessPool.h:
1165 2017-02-28 Youenn Fablet <youenn@apple.com>
1167 [WebRTC] Limit libwebrtc logging in Debug build
1168 https://bugs.webkit.org/show_bug.cgi?id=168974
1170 Reviewed by Alex Christensen.
1172 * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
1173 (WebKit::NetworkRTCProvider::NetworkRTCProvider):
1174 * Platform/Logging.h:
1176 2017-02-28 Youenn Fablet <youenn@apple.com>
1178 [WebRTC] NetworkRTCProvider should stop the network thread from the main thread
1179 https://bugs.webkit.org/show_bug.cgi?id=168972
1181 Reviewed by Alex Christensen.
1183 * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
1184 (WebKit::NetworkRTCProvider::close): Ensuring to stop the network thread from the main thread when provider is
1187 2017-02-24 Matt Rajca <mrajca@apple.com>
1189 Media: notify clients when autoplayed media ends without being paused
1190 https://bugs.webkit.org/show_bug.cgi?id=168852
1192 Reviewed by Alex Christensen.
1194 * UIProcess/API/C/WKPageUIClient.h:
1196 2017-02-28 Csaba Osztrogonác <ossy@webkit.org>
1198 Remove EFL leftover from WebPageProxy.messages.in
1199 https://bugs.webkit.org/show_bug.cgi?id=168828
1201 Reviewed by Gyuyoung Kim.
1203 * UIProcess/WebPageProxy.messages.in:
1205 2017-02-28 Alex Christensen <achristensen@webkit.org>
1207 Main resource requests need cachePartition
1208 https://bugs.webkit.org/show_bug.cgi?id=168806
1210 Reviewed by Brady Eidson.
1212 * NetworkProcess/NetworkResourceLoader.cpp:
1213 (WebKit::NetworkResourceLoader::continueWillSendRequest):
1215 2017-02-27 Alex Christensen <achristensen@webkit.org>
1217 Begin enabling WebRTC on 64-bit
1218 https://bugs.webkit.org/show_bug.cgi?id=168915
1220 Reviewed by Eric Carlson.
1222 * Configurations/FeatureDefines.xcconfig:
1224 2017-02-27 Alexey Proskuryakov <ap@apple.com>
1226 Remove _WKWebsiteDataRecord.h
1227 https://bugs.webkit.org/show_bug.cgi?id=168954
1229 Reviewed by Dan Bernstein.
1231 This doesn't seem to have ever been used, so better to remove it than to add an
1234 * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: Removed.
1235 * WebKit2.xcodeproj/project.pbxproj:
1237 2017-02-27 Alexey Proskuryakov <ap@apple.com>
1239 WKPageIsPlayingVideoInEnhancedFullscreen availability mismatch
1240 https://bugs.webkit.org/show_bug.cgi?id=168952
1242 Reviewed by Dan Bernstein.
1244 * UIProcess/API/C/mac/WKPagePrivateMac.h: TARGET_OS_MAC is not the right thing to
1245 check, as it's true on both macOS and iOS.
1247 2017-02-27 Alexey Proskuryakov <ap@apple.com>
1249 Export WKPluginInformationBundleShortVersionKey
1250 https://bugs.webkit.org/show_bug.cgi?id=168951
1252 Reviewed by Dan Bernstein.
1254 * Shared/API/c/WKPluginInformation.h: It was accidentally not exported when added.
1256 2017-02-27 Youenn Fablet <youenn@apple.com>
1258 [WebRTC] Add support for libwebrtc TCP incoming connections
1259 https://bugs.webkit.org/show_bug.cgi?id=168748
1261 Reviewed by Alex Christensen.
1263 Covered by added layout tests.
1265 When a libwebrtc server socket is signalling a new connnection through SignalNewConnection, we do:
1266 - Wrap the incoming socket into a LibWebRTCSocketClient
1267 - Store it into a pending socket map with an identifier
1268 - Send a message to the web process of a new connection with the server socket identifier and new connection socket identifier.
1269 The Web process then creates a WebRTCSocket wrapper around it by sendinig a WrapNewTCPConnection message.
1270 It then propagates the SignalNewConnection to libwebrtc code path.
1272 * NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:
1273 (WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
1274 (WebKit::LibWebRTCSocketClient::signalReadPacket):
1275 (WebKit::LibWebRTCSocketClient::signalSentPacket):
1276 (WebKit::LibWebRTCSocketClient::signalNewConnection):
1277 (WebKit::LibWebRTCSocketClient::signalAddressReady):
1278 (WebKit::LibWebRTCSocketClient::signalConnect):
1279 (WebKit::LibWebRTCSocketClient::signalClose):
1280 * NetworkProcess/webrtc/LibWebRTCSocketClient.h:
1281 * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
1282 (WebKit::NetworkRTCProvider::wrapNewTCPConnection):
1283 (WebKit::NetworkRTCProvider::newConnection):
1284 * NetworkProcess/webrtc/NetworkRTCProvider.h:
1285 * NetworkProcess/webrtc/NetworkRTCProvider.messages.in:
1286 * WebProcess/Network/webrtc/LibWebRTCSocket.cpp:
1287 (WebKit::LibWebRTCSocket::signalNewConnection):
1288 * WebProcess/Network/webrtc/LibWebRTCSocket.h:
1289 * WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:
1290 (WebKit::LibWebRTCSocketFactory::createNewConnectionSocket):
1291 * WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:
1292 * WebProcess/Network/webrtc/WebRTCSocket.cpp:
1293 (WebKit::WebRTCSocket::signalNewConnection):
1294 * WebProcess/Network/webrtc/WebRTCSocket.h:
1295 * WebProcess/Network/webrtc/WebRTCSocket.messages.in:
1297 2017-02-27 Brent Fulgham <bfulgham@apple.com>
1299 [Mac] Don't use undefined sandbox rule on macOS 10.11 or earlier
1300 https://bugs.webkit.org/show_bug.cgi?id=168942
1301 <rdar://problem/30743376>
1303 Reviewed by Ryosuke Niwa.
1305 * WebProcess/com.apple.WebProcess.sb.in:
1307 2017-02-27 Wenson Hsieh <wenson_hsieh@apple.com>
1309 Unreviewed, roll out r213065.
1311 * UIProcess/ios/WKContentViewInteraction.h:
1313 2017-02-27 Alexey Proskuryakov <ap@apple.com>
1315 Remove some deprecated WKPage plug-in information functions
1316 https://bugs.webkit.org/show_bug.cgi?id=168897
1318 Reviewed by Tim Horton.
1320 * UIProcess/API/C/WKPage.cpp:
1321 (WKPageGetProcessIdentifier):
1322 (WKPageGetPluginInformationBundleIdentifierKey): Deleted.
1323 (WKPageGetPluginInformationBundleVersionKey): Deleted.
1324 (WKPageGetPluginInformationDisplayNameKey): Deleted.
1325 (WKPageGetPluginInformationFrameURLKey): Deleted.
1326 (WKPageGetPluginInformationMIMETypeKey): Deleted.
1327 (WKPageGetPluginInformationPageURLKey): Deleted.
1328 (WKPageGetPluginInformationPluginspageAttributeURLKey): Deleted.
1329 (WKPageGetPluginInformationPluginURLKey): Deleted.
1330 * UIProcess/API/C/WKPage.h:
1332 2017-02-27 Alexey Proskuryakov <ap@apple.com>
1334 Stop exporting C++ member variables from class extensions in WKDOMInternals.h
1335 https://bugs.webkit.org/show_bug.cgi?id=168886
1337 Reviewed by Tim Horton.
1339 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: These are @package variables.
1341 2017-02-27 Alex Christensen <achristensen@webkit.org>
1343 Optimize checkWebRTCAvailability
1344 https://bugs.webkit.org/show_bug.cgi?id=168913
1346 Reviewed by Darin Adler.
1348 We can optimize startup time by using RTLD_LAZY instead of RTLD_NOW because we don't need to load all the symbols.
1349 We just need to check whether libwebrtc.dylib can be found and is a valid dylib for the current architecture.
1350 Also, initialize a static bool so it only needs to be checked once. Right now it's only used when initializing settings,
1351 but if we use it for other things in the future there will be no need to reopen the dylib.
1353 * UIProcess/WebPreferences.cpp:
1354 (WebKit::checkWebRTCAvailability):
1356 2017-02-26 Wenson Hsieh <wenson_hsieh@apple.com>
1358 Unreviewed, revert all temporary build fixes for data interaction
1360 Rolls out r212990, r212988 and r212984.
1362 * UIProcess/ios/WKContentViewInteraction.h:
1364 2017-02-27 Carlos Garcia Campos <cgarcia@igalia.com>
1366 [GTK] Rendering artifacts when resizing the window in X11 with AC mode enabled
1367 https://bugs.webkit.org/show_bug.cgi?id=168728
1369 Reviewed by Žan Doberšek.
1371 This happens because the pixmap we create from the redirected window is uninitialized until the threaded
1372 compositor renders into it. We should always initialize the pixmap right after it's created.
1374 * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
1375 (WebKit::defaultVisual): Helper static method to get the default GdkVisual.
1376 (WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11): Use createPixmap().
1377 (WebKit::AcceleratedSurfaceX11::createPixmap): Create and initialize the pixmap.
1378 (WebKit::AcceleratedSurfaceX11::resize): Use createPixmap().
1379 * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h:
1381 2017-02-27 Carlos Garcia Campos <cgarcia@igalia.com>
1383 [GTK] Flickering when leaving accelerated compositing mode
1384 https://bugs.webkit.org/show_bug.cgi?id=168911
1386 Reviewed by Žan Doberšek.
1388 It doesn't always happen, and it's too fast, more noticeable in websites with a dark background, because we are
1389 drawing a single white frame. This happens when we leave AC mode during the layer flush that schedules an update
1390 on the compositor, which at that point only clears the area and renders nothing. However,
1391 CoordinatedGraphicsScene::paintToCurrentGLContext() always renders a white background when no web view color has
1392 been set. And that's the white frame we get. We could prevent that last update from happening by checking if we
1393 still have a graphics root layer after syncDisplayState() in the layer flush, the same way we check the layer
1394 tree host is still valid.
1396 * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
1397 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1398 (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
1400 2017-02-27 Alex Christensen <achristensen@webkit.org>
1402 [libwebrtc] Enable WebRTC in some Production Builds
1403 https://bugs.webkit.org/show_bug.cgi?id=168858
1405 * Configurations/FeatureDefines.xcconfig:
1407 2017-02-27 Andy Estes <aestes@apple.com>
1409 Links cannot be activated when running Mobile Safari with external SDK build of WebKit for iOS Simulator
1410 https://bugs.webkit.org/show_bug.cgi?id=141906
1412 Reviewed by Tim Horton.
1414 Even if Touch Events are disabled, we still need to register a
1415 UIWebTouchEventsGestureRecognizer to record the layer tree transaction ID when a touch
1416 begins. Click events are only generated for touches that occur after the current frame's
1417 load has committed, and we use the transaction ID from when the touch began to implement
1420 * UIProcess/WebPageProxy.cpp:
1421 (WebKit::WebPageProxy::handleTouchEventSynchronously):
1422 (WebKit::WebPageProxy::resetState):
1423 * UIProcess/WebPageProxy.h:
1424 * UIProcess/ios/WKContentViewInteraction.h: Declared _layerTreeTransactionIdAtLastTouchStart.
1425 * UIProcess/ios/WKContentViewInteraction.mm:
1426 (-[WKContentView setupInteraction]): Register a UIWebTouchEventsGestureRecognizer even if
1427 Touch Events are disabled.
1428 (-[WKContentView cleanupInteraction]): Reset _layerTreeTransactionIdAtLastTouchStart to 0.
1429 (-[WKContentView _webTouchEventsRecognized:]): Update _layerTreeTransactionIdAtLastTouchStart
1430 when a touch begins, even if Touch Events are disabled.
1431 (-[WKContentView _singleTapCommited:]): Passed _layerTreeTransactionIdAtLastTouchStart to
1432 WebPageProxy::commitPotentialTap().
1433 (-[WKContentView _attemptClickAtLocation:]): Ditto for WebPageProxy::handleTap().
1434 * UIProcess/ios/WebPageProxyIOS.mm:
1435 (WebKit::WebPageProxy::commitPotentialTap):
1436 (WebKit::WebPageProxy::handleTap):
1438 2017-02-26 Zan Dobersek <zdobersek@igalia.com>
1440 [CoordinatedGraphics] Remove CoordinatedGraphicsScene::paintToGraphicsContext()
1441 https://bugs.webkit.org/show_bug.cgi?id=168903
1443 Reviewed by Carlos Garcia Campos.
1445 Remove the CoordinatedGraphicsScene::paintToGraphicsContext() method as it
1446 is not used anywhere. Also enables removing the GraphicsContext pointer
1447 member from the TextureMapper class.
1449 * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
1450 (WebKit::CoordinatedGraphicsScene::paintToGraphicsContext): Deleted.
1451 * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
1453 2017-02-26 Carlos Garcia Campos <cgarcia@igalia.com>
1455 [GTK] Hangs when showing Google search results
1456 https://bugs.webkit.org/show_bug.cgi?id=168699
1458 Reviewed by Žan Doberšek.
1460 Connection::sendOutgoingMessage() can poll forever if sendmsg fails with EAGAIN or EWOULDBLOCK. For example if
1461 socket read buffers are full, poll will be blocked until we read the pending data, but we can't read because
1462 the thread is blocked in the poll. In case of EAGAIN/EWOULDBLOCK we should poll using the run loop, to allow
1463 reads to happen in thread while we wait for the socket to be writable again. In the GTK+ port we use
1464 GSocketMonitor to poll socket file descriptor without blocking, using the run loop. This patch renames the
1465 socket monitor as readSocketMonitor and adds another one for polling output. When sendmsg fails with
1466 EAGAIN/EWOULDBLOCK, the pending message is saved and the write monitor starts polling. Once the socket is
1467 writable again we send the pending message. Helper class MessageInfo and a new one UnixMessage have been moved
1468 to its own header file to be able to use std::unique_ptr member to save the pending message.
1470 * Platform/IPC/Connection.cpp: Include UnixMessage.h as required by std::unique_ptr.
1471 * Platform/IPC/Connection.h: Add write socket monitor and also keep the GSocket as a member to reuse it.
1472 * Platform/IPC/glib/GSocketMonitor.cpp: Use Function instead of std::function.
1473 (IPC::GSocketMonitor::start):
1474 * Platform/IPC/glib/GSocketMonitor.h:
1475 * Platform/IPC/unix/ConnectionUnix.cpp:
1476 (IPC::Connection::platformInitialize): Initialize the GSocket here since we rely on it to take the ownership of
1477 the descriptor. We were leaking it if the connection was invalidated without being opened.
1478 (IPC::Connection::platformInvalidate): Destroy the GSocket even when not connected. Also stop the write monitor.
1479 (IPC::Connection::processMessage):
1480 (IPC::Connection::open):
1481 (IPC::Connection::platformCanSendOutgoingMessages): Return false if we have a pending message to ensure
1482 Connection doesn't try to send more messages until the pending message is dispatched. We don't need to check
1483 m_isConnected because the caller already checks that.
1484 (IPC::Connection::sendOutgoingMessage): Split it in two. This creates and prepares a UnixMessage and then calls
1485 sendOutputMessage() to do the rest.
1486 (IPC::Connection::sendOutputMessage): Send the message, or save it if sendmsg fails with EAGAIN or EWOULDBLOCK
1487 to be sent later when the socket is writable.
1488 * Platform/IPC/unix/UnixMessage.h: Added.
1489 (IPC::MessageInfo::MessageInfo):
1490 (IPC::MessageInfo::setMessageBodyIsOutOfLine):
1491 (IPC::MessageInfo::isMessageBodyIsOutOfLine):
1492 (IPC::MessageInfo::bodySize):
1493 (IPC::MessageInfo::attachmentCount):
1494 (IPC::UnixMessage::UnixMessage):
1495 (IPC::UnixMessage::~UnixMessage):
1496 (IPC::UnixMessage::attachments):
1497 (IPC::UnixMessage::messageInfo):
1498 (IPC::UnixMessage::body):
1499 (IPC::UnixMessage::bodySize):
1500 (IPC::UnixMessage::appendAttachment):
1501 * PlatformGTK.cmake:
1503 2017-02-26 Devin Rousso <dcrousso+webkit@gmail.com>
1505 Web Inspector: RTL: Docking Left doesn't constrain the page width
1506 https://bugs.webkit.org/show_bug.cgi?id=168862
1508 Reviewed by Brian Burg.
1510 * UIProcess/mac/WebInspectorProxyMac.mm:
1511 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1512 Calculate the inspectedViewFrame to be the remaining space after WebInspector is opened
1513 instead of using the original page size.
1515 2017-02-26 Alexey Proskuryakov <ap@apple.com>
1517 Stop exporting C++ member variables from WKDOMTextIterator
1518 https://bugs.webkit.org/show_bug.cgi?id=168885
1520 Reviewed by Dan Bernstein.
1522 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
1524 2017-02-26 Alexey Proskuryakov <ap@apple.com>
1526 Add preprocessor guards to Mac specific files that are exposed as private headers on iOS
1527 https://bugs.webkit.org/show_bug.cgi?id=168878
1529 Reviewed by Dan Bernstein.
1531 * UIProcess/API/C/WKInspector.h:
1532 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h:
1534 2017-02-26 Alexey Proskuryakov <ap@apple.com>
1536 Remove spurious C++ include from _WKTestingDelegate.h
1537 https://bugs.webkit.org/show_bug.cgi?id=168877
1539 Reviewed by Dan Bernstein.
1541 * UIProcess/API/Cocoa/_WKTestingDelegate.h:
1543 2017-02-26 Alexey Proskuryakov <ap@apple.com>
1545 Remove unimplemented WKResourceLoadStatisticsManagerSetReducedTimestampResolution
1546 https://bugs.webkit.org/show_bug.cgi?id=168880
1548 Reviewed by Dan Bernstein.
1550 * UIProcess/API/C/WKResourceLoadStatisticsManager.h:
1552 2017-02-26 Alexey Proskuryakov <ap@apple.com>
1554 Remove leftover WebKit2 C API function declarations
1555 https://bugs.webkit.org/show_bug.cgi?id=168879
1557 Reviewed by Tim Horton.
1559 * UIProcess/API/C/WKPreferencesRefPrivate.h:
1561 2017-02-26 Alexey Proskuryakov <ap@apple.com>
1563 Remove some old WKSecurityOrigin binary compatibility stubs
1564 https://bugs.webkit.org/show_bug.cgi?id=168881
1566 Reviewed by Dan Bernstein.
1568 * Shared/API/c/WKSecurityOriginRef.cpp:
1569 (WKSecurityOriginGetHost): Deleted.
1570 (WKSecurityOriginGetProtocol): Deleted.
1572 2017-02-26 Wenson Hsieh <wenson_hsieh@apple.com>
1574 REGRESSION (r211312): Double-clicking a word selects it along with the space that follows it
1575 https://bugs.webkit.org/show_bug.cgi?id=168821
1576 <rdar://problem/30690431>
1578 Reviewed by Tim Horton.
1580 Actually encode and decode smartInsertDeleteEnabled when sending WebPageCreationParameters over XPC.
1582 * Shared/WebPageCreationParameters.cpp:
1583 (WebKit::WebPageCreationParameters::encode):
1584 (WebKit::WebPageCreationParameters::decode):
1586 2017-02-26 Chris Dumez <cdumez@apple.com>
1588 HitTestResult's linkSuggestedFilename should sanitize download attribute
1589 https://bugs.webkit.org/show_bug.cgi?id=168856
1590 <rdar://problem/30683109>
1592 Reviewed by Antti Koivisto.
1594 HitTestResult's linkSuggestedFilename should sanitize download attribute.
1595 This is used by the context menu's "Download Linked File" & "Download Linked
1596 File As..." actions.
1598 * Shared/WebHitTestResultData.cpp:
1599 (WebKit::WebHitTestResultData::WebHitTestResultData):
1600 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1601 (WebKit::InjectedBundleHitTestResult::linkSuggestedFilename):
1603 2017-02-25 Michael Catanzaro <mcatanzaro@igalia.com>
1605 [GTK] Unreviewed, document deficiency in webkit_website_data_manager_clear() API
1607 Document that this function cannot currently delete cookie data for a particular period of
1610 * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
1612 2017-02-24 Joseph Pecoraro <pecoraro@apple.com>
1614 [Resource Timing] Gather timing information with reliable responseEnd time
1615 https://bugs.webkit.org/show_bug.cgi?id=168351
1617 Reviewed by Alex Christensen.
1619 Change from an unused `double finishTime` to a complete WebCore::NetworkLoadMetrics
1620 object in the didFinishLoad ResourceLoader path. We may also extend this in the
1621 didFail path later on. This allows the NetworkProcess to give complete timing
1622 information, and more final metrics about the load, to WebCore.
1624 * NetworkProcess/NetworkDataTask.h:
1625 (WebKit::NetworkDataTaskClient::didCompleteWithError):
1626 Give the NetworkDataTaskClient a basic didCompleteWithError for a completion
1627 without metrics. For loads that complete with an error, or haven't populated
1628 any metrics, this will pass empty metrics onward.
1630 * NetworkProcess/Downloads/BlobDownloadClient.cpp:
1631 (WebKit::BlobDownloadClient::didFinishLoading):
1632 * NetworkProcess/Downloads/BlobDownloadClient.h:
1633 * NetworkProcess/Downloads/PendingDownload.h:
1634 * NetworkProcess/PingLoad.h:
1635 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
1636 (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
1637 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
1638 * NetworkProcess/NetworkDataTaskBlob.cpp:
1639 (WebKit::NetworkDataTaskBlob::didFail):
1640 * NetworkProcess/NetworkLoad.cpp:
1641 (WebKit::NetworkLoad::continueWillSendRequest):
1642 (WebKit::NetworkLoad::didCompleteWithError):
1643 (WebKit::NetworkLoad::didFinishLoading):
1644 * NetworkProcess/NetworkLoad.h:
1645 * NetworkProcess/NetworkLoadClient.h:
1646 * NetworkProcess/NetworkResourceLoader.cpp:
1647 (WebKit::NetworkResourceLoader::didFinishLoading):
1648 (WebKit::NetworkResourceLoader::sendResultForCacheEntry):
1649 * NetworkProcess/NetworkResourceLoader.h:
1650 * WebProcess/Network/WebResourceLoader.cpp:
1651 (WebKit::WebResourceLoader::didFinishResourceLoad):
1652 (WebKit::WebResourceLoader::didReceiveResource):
1653 * WebProcess/Network/WebResourceLoader.h:
1654 * WebProcess/Network/WebResourceLoader.messages.in:
1655 Change didFinishLoad paths to take a NetworkLoadMetrics object instead of finishTime.
1656 Change didCompleteWithError pathes to include a NetworkLoadMetrics object instead of finishTime.
1658 * NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
1659 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
1660 (WebKit::NetworkDataTaskCocoa::didCompleteWithError):
1661 Own a NetworkLoadTiming that will be populated with the load.
1663 * NetworkProcess/cocoa/NetworkSessionCocoa.h:
1664 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1665 (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
1666 (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
1667 (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
1668 Populate NetworkLoadMetrics in the didFinishCollectingMetrics NSURLSessionTaskDelegate method.
1670 * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
1671 (WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
1672 (WebKit::NetworkDataTaskSoup::timeoutFired):
1673 (WebKit::NetworkDataTaskSoup::didSendRequest):
1674 (WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
1675 (WebKit::NetworkDataTaskSoup::dispatchDidCompleteWithError):
1676 (WebKit::NetworkDataTaskSoup::tlsErrorsChanged):
1677 (WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
1678 (WebKit::NetworkDataTaskSoup::didFinishRead):
1679 (WebKit::NetworkDataTaskSoup::didFinishRequestNextPart):
1680 (WebKit::NetworkDataTaskSoup::didFailDownload):
1681 (WebKit::NetworkDataTaskSoup::didFail):
1682 (WebKit::NetworkDataTaskSoup::networkEvent):
1683 (WebKit::NetworkDataTaskSoup::didStartRequest):
1684 (WebKit::NetworkDataTaskSoup::didRestart):
1685 * NetworkProcess/soup/NetworkDataTaskSoup.h:
1686 Instead of populating the NetworkLoadMetrics on the ResourceResponse, populate
1687 a member variable during the entire load and dispatch didFinishCollectingMetrics
1688 right before didCompleteLoadWithError.
1690 2017-02-24 Chris Dumez <cdumez@apple.com>
1692 Unreviewed, rolling out r212944.
1694 Caused a lot of failures on the debug bots
1698 "[Resource Timing] Gather timing information with reliable
1700 https://bugs.webkit.org/show_bug.cgi?id=168351
1701 http://trac.webkit.org/changeset/212944
1703 2017-02-24 Wenson Hsieh <wenson_hsieh@apple.com>
1705 Unreviewed, fix the internal build
1707 * UIProcess/ios/WKContentViewInteraction.h:
1709 2017-02-24 Matt Rajca <mrajca@apple.com>
1711 Media: notify clients when autoplay is denied
1712 https://bugs.webkit.org/show_bug.cgi?id=168840
1714 Reviewed by Alex Christensen.
1716 * UIProcess/API/APIUIClient.h:
1717 (API::UIClient::handleAutoplayEvent):
1718 (API::UIClient::didPlayMediaPreventedFromPlayingWithoutUserGesture): Deleted.
1719 * UIProcess/API/C/WKPage.cpp:
1720 (WKPageSetPageUIClient):
1721 * UIProcess/API/C/WKPageUIClient.h:
1722 * UIProcess/WebPageProxy.cpp:
1723 (WebKit::WebPageProxy::handleAutoplayEvent):
1724 (WebKit::WebPageProxy::didPlayMediaPreventedFromPlayingWithoutUserGesture): Deleted.
1725 * UIProcess/WebPageProxy.h:
1726 * UIProcess/WebPageProxy.messages.in:
1727 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1728 (WebKit::WebChromeClient::handleAutoplayEvent):
1729 (WebKit::WebChromeClient::didPlayMediaPreventedFromPlayingWithoutUserGesture): Deleted.
1730 * WebProcess/WebCoreSupport/WebChromeClient.h:
1732 2017-02-20 Wenson Hsieh <wenson_hsieh@apple.com>
1734 Refactor data interaction to use new WKDataInteraction SPI
1735 https://bugs.webkit.org/show_bug.cgi?id=168602
1736 Work towards <rdar://problem/30313681>
1738 Reviewed by Tim Horton.
1740 Adjust testing SPI to match new data interaction interfaces.
1742 * Platform/spi/ios/UIKitSPI.h:
1743 * UIProcess/API/Cocoa/WKWebView.mm:
1744 (-[WKWebView _simulateDataInteractionEntered:]):
1745 (-[WKWebView _simulateDataInteractionUpdated:]):
1746 (-[WKWebView _simulateDataInteractionPerformOperation:]):
1747 (-[WKWebView _simulateDataInteractionEnded:]):
1748 (-[WKWebView _simulateDataInteractionSessionDidEnd:]):
1749 (-[WKWebView _simulateWillBeginDataInteractionWithSession:]):
1750 (-[WKWebView _simulatedItemsForSession:]):
1751 (-[WKWebView _simulatePrepareForDataInteractionSession:completion:]):
1752 (-[WKWebView _simulateDataInteractionSessionDidEnd:withOperation:]): Deleted.
1753 (-[WKWebView _simulateFailedDataInteractionWithIndex:]): Deleted.
1754 (-[WKWebView _simulateWillBeginDataInteractionWithIndex:withSession:]): Deleted.
1755 (-[WKWebView _simulatedItemsForDataInteractionWithIndex:]): Deleted.
1756 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1757 * UIProcess/ios/WKContentViewInteraction.h:
1758 * UIProcess/ios/WKContentViewInteraction.mm:
1759 (-[WKContentView _positionInformationDidChange:]):
1760 * UIProcess/ios/WKScrollView.h:
1761 * UIProcess/ios/WKScrollView.mm:
1763 2017-02-20 Wenson Hsieh <wenson_hsieh@apple.com>
1765 Remove the data interaction gesture recognizer
1766 https://bugs.webkit.org/show_bug.cgi?id=168600
1767 <rdar://problem/30313681>
1769 Reviewed by Anders Carlsson.
1771 The data interaction gesture recognizer will no longer be needed moving forward.
1773 * UIProcess/API/Cocoa/WKWebView.mm:
1774 (-[WKWebView _simulateDataInteractionGestureRecognized]): Deleted.
1775 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
1776 * UIProcess/ios/WKContentViewInteraction.h:
1777 * UIProcess/ios/WKContentViewInteraction.mm:
1778 (-[WKContentView setupInteraction]):
1779 (-[WKContentView cleanupInteraction]):
1780 (-[WKContentView _removeDefaultGestureRecognizers]):
1781 (-[WKContentView _addDefaultGestureRecognizers]):
1782 (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
1783 (-[WKContentView gestureRecognizerShouldBegin:]):
1784 (-[WKContentView _dataInteractionGestureRecognizer]): Deleted.
1786 2017-02-24 Chris Dumez <cdumez@apple.com>
1788 [iOS][WK2] Disable network cache speculative revalidation / loading in low power mode
1789 https://bugs.webkit.org/show_bug.cgi?id=168832
1790 <rdar://problem/30697911>
1792 Reviewed by Antti Koivisto.
1794 Disable network cache speculative revalidation / loading in low power mode on iOS to
1797 * NetworkProcess/cache/NetworkCache.cpp:
1798 (WebKit::NetworkCache::Cache::initialize):
1799 * NetworkProcess/cache/NetworkCache.h:
1801 2017-02-24 John Wilander <wilander@apple.com>
1803 Resource Load Statistics: Add alternate classification method
1804 https://bugs.webkit.org/show_bug.cgi?id=168347
1805 <rdar://problem/30352793>
1806 <rdar://problem/30646710>
1807 <rdar://problem/30660708>
1809 Reviewed by Alex Christensen.
1811 This patch adds a CorePrediction-based classifier to the WebResourceLoadStatisticsStore.
1812 The CorePrediction framework is introduced as a dependency for macOS and iOS. The patch
1813 also adds functions to support layout tests of the feature.
1815 * Platform/Logging.h:
1816 Added channel ResourceLoadStatistics.
1817 * Platform/classifier/ResourceLoadStatisticsClassifier.h: Added.
1818 Pulls in the Cocoa-specific classifier for Cocoa-based platforms.
1819 (WebKit::ResourceLoadStatisticsClassifier::ResourceLoadStatisticsClassifier):
1820 * Platform/classifier/ResourceLoadStatisticsClassifierBase.cpp: Added.
1821 (WebKit::ResourceLoadStatisticsClassifierBase::hasPrevalentResourceCharacteristics):
1822 Shared classifier logic.
1823 (WebKit::ResourceLoadStatisticsClassifierBase::classifyWithVectorThreshold):
1824 Fallback classifier for when we don't have CorePrediction.
1825 * Platform/classifier/ResourceLoadStatisticsClassifierBase.h: Added.
1826 (WebKit::ResourceLoadStatisticsClassifierBase::ResourceLoadStatisticsClassifierBase):
1827 (WebKit::ResourceLoadStatisticsClassifierBase::~ResourceLoadStatisticsClassifierBase):
1828 * Platform/classifier/cocoa/CorePredictionSoftLink.h: Added.
1829 Soft links to CorePrediction and the two functions we use from it.
1830 * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp: Added.
1831 (WebKit::ResourceLoadStatisticsClassifier::classify):
1832 (WebKit::ResourceLoadStatisticsClassifier::storagePath):
1833 (WebKit::ResourceLoadStatisticsClassifier::shouldUseCorePredictionAndHaveModelLoaded):
1834 (WebKit::ResourceLoadStatisticsClassifier::singletonPredictionModel):
1835 The new classifier for Cocoa platforms.
1836 * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h: Added.
1837 * PlatformGTK.cmake:
1838 Added Platform/classifier directory and ResourceLoadStatisticsClassifierBase.cpp.
1839 * PlatformMac.cmake:
1840 Added Platform/classifier and Platform/classifier/cocoa directories, and
1841 source files ResourceLoadStatisticsClassifierBase.cpp and
1842 ResourceLoadStatisticsClassifierCocoa.cpp
1843 * Resources/ResourceLoadStatistics/corePrediction_model: Added.
1844 Model file to load into CorePrediction.
1845 * UIProcess/API/C/WKResourceLoadStatisticsManager.cpp:
1846 (WKResourceLoadStatisticsManagerSetSubframeUnderTopFrameOrigin):
1847 (WKResourceLoadStatisticsManagerSetSubresourceUnderTopFrameOrigin):
1848 (WKResourceLoadStatisticsManagerSetSubresourceUniqueRedirectTo):
1849 Test infrastructure.
1850 * UIProcess/API/C/WKResourceLoadStatisticsManager.h:
1851 * UIProcess/WebResourceLoadStatisticsManager.cpp:
1852 (WebKit::WebResourceLoadStatisticsManager::setSubframeUnderTopFrameOrigin):
1853 (WebKit::WebResourceLoadStatisticsManager::setSubresourceUnderTopFrameOrigin):
1854 (WebKit::WebResourceLoadStatisticsManager::setSubresourceUniqueRedirectTo):
1855 Test infrastructure.
1856 * UIProcess/WebResourceLoadStatisticsManager.h:
1857 * UIProcess/WebResourceLoadStatisticsStore.cpp:
1858 (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
1859 Renamed m_storagePath to m_statisticsStoragePath for clarity.
1860 (WebKit::WebResourceLoadStatisticsStore::classifyResource):
1861 Now calls the classifier through its ResourceLoadStatisticsClassifier
1863 (WebKit::WebResourceLoadStatisticsStore::persistentStoragePath):
1864 Renamed m_storagePath to m_statisticsStoragePath for clarity.
1865 (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):
1866 Renamed m_storagePath to m_statisticsStoragePath for clarity.
1867 (WebKit::WebResourceLoadStatisticsStore::hasPrevalentResourceCharacteristics): Deleted.
1868 * UIProcess/WebResourceLoadStatisticsStore.h:
1869 * WebKit2.xcodeproj/project.pbxproj:
1870 Added the new classifier source files under Platform/classifier and the
1871 corePrediction_model file under Resources/ResourceLoadStatistics.
1873 2017-02-23 Joseph Pecoraro <pecoraro@apple.com>
1875 [Resource Timing] Add Experimental Feature Flag
1876 https://bugs.webkit.org/show_bug.cgi?id=167147
1878 Reviewed by Ryosuke Niwa.
1880 * Shared/WebPreferencesDefinitions.h:
1881 Move ResourceTiming to experimental section.
1882 Disable it for El Capitan due to known issues.
1884 2017-02-23 Joseph Pecoraro <pecoraro@apple.com>
1886 [Resource Timing] Gather timing information with reliable responseEnd time
1887 https://bugs.webkit.org/show_bug.cgi?id=168351
1889 Reviewed by Alex Christensen.
1891 Change from an unused `double finishTime` to a complete WebCore::NetworkLoadMetrics
1892 object in the didFinishLoad ResourceLoader path. We may also extend this in the
1893 didFail path later on. This allows the NetworkProcess to give complete timing
1894 information, and more final metrics about the load, to WebCore.
1896 * NetworkProcess/NetworkDataTask.h:
1897 (WebKit::NetworkDataTaskClient::didCompleteWithError):
1898 Give the NetworkDataTaskClient a basic didCompleteWithError for a completion
1899 without metrics. For loads that complete with an error, or haven't populated
1900 any metrics, this will pass empty metrics onward.
1902 * NetworkProcess/Downloads/BlobDownloadClient.cpp:
1903 (WebKit::BlobDownloadClient::didFinishLoading):
1904 * NetworkProcess/Downloads/BlobDownloadClient.h:
1905 * NetworkProcess/Downloads/PendingDownload.h:
1906 * NetworkProcess/PingLoad.h:
1907 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
1908 (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
1909 * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
1910 * NetworkProcess/NetworkDataTaskBlob.cpp:
1911 (WebKit::NetworkDataTaskBlob::didFail):
1912 * NetworkProcess/NetworkLoad.cpp:
1913 (WebKit::NetworkLoad::continueWillSendRequest):
1914 (WebKit::NetworkLoad::didCompleteWithError):
1915 (WebKit::NetworkLoad::didFinishLoading):
1916 * NetworkProcess/NetworkLoad.h:
1917 * NetworkProcess/NetworkLoadClient.h:
1918 * NetworkProcess/NetworkResourceLoader.cpp:
1919 (WebKit::NetworkResourceLoader::didFinishLoading):
1920 (WebKit::NetworkResourceLoader::sendResultForCacheEntry):
1921 * NetworkProcess/NetworkResourceLoader.h:
1922 * WebProcess/Network/WebResourceLoader.cpp:
1923 (WebKit::WebResourceLoader::didFinishResourceLoad):
1924 (WebKit::WebResourceLoader::didReceiveResource):
1925 * WebProcess/Network/WebResourceLoader.h:
1926 * WebProcess/Network/WebResourceLoader.messages.in:
1927 Change didFinishLoad paths to take a NetworkLoadMetrics object instead of finishTime.
1928 Change didCompleteWithError pathes to include a NetworkLoadMetrics object instead of finishTime.
1930 * NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
1931 * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
1932 (WebKit::NetworkDataTaskCocoa::didCompleteWithError):
1933 Own a NetworkLoadTiming that will be populated with the load.
1935 * NetworkProcess/cocoa/NetworkSessionCocoa.h:
1936 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
1937 (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
1938 (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
1939 (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
1940 Populate NetworkLoadMetrics in the didFinishCollectingMetrics NSURLSessionTaskDelegate method.
1942 * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
1943 (WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
1944 (WebKit::NetworkDataTaskSoup::timeoutFired):
1945 (WebKit::NetworkDataTaskSoup::didSendRequest):
1946 (WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
1947 (WebKit::NetworkDataTaskSoup::dispatchDidCompleteWithError):
1948 (WebKit::NetworkDataTaskSoup::tlsErrorsChanged):
1949 (WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
1950 (WebKit::NetworkDataTaskSoup::didFinishRead):
1951 (WebKit::NetworkDataTaskSoup::didFinishRequestNextPart):
1952 (WebKit::NetworkDataTaskSoup::didFailDownload):
1953 (WebKit::NetworkDataTaskSoup::didFail):
1954 (WebKit::NetworkDataTaskSoup::networkEvent):
1955 (WebKit::NetworkDataTaskSoup::didStartRequest):
1956 (WebKit::NetworkDataTaskSoup::didRestart):
1957 * NetworkProcess/soup/NetworkDataTaskSoup.h:
1958 Instead of populating the NetworkLoadMetrics on the ResourceResponse, populate
1959 a member variable during the entire load and dispatch didFinishCollectingMetrics
1960 right before didCompleteLoadWithError.
1962 2017-02-23 Beth Dakin <bdakin@apple.com> + Dan Saunders <dasau@microsoft.com>
1964 No reliable way to get a snapshot of WKWebView
1965 https://bugs.webkit.org/show_bug.cgi?id=161450
1967 <rdar://problem/23846039>
1969 Reviewed by Tim Horton.
1971 This patch adds a new API to WKWebView to snapshot a rect:
1972 takeSnapshotWithConfiguration:completionHandler:
1974 It also adds a new API object WKSnapshotConfiguration.
1976 * UIProcess/API/Cocoa/WKSnapshotConfiguration.h: Added.
1977 * UIProcess/API/Cocoa/WKSnapshotConfiguration.mm: Added.
1978 (-[WKSnapshotConfiguration copyWithZone:]):
1979 * UIProcess/API/Cocoa/WKWebView.h:
1980 * UIProcess/API/Cocoa/WKWebView.mm:
1981 (-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
1982 * WebKit2.xcodeproj/project.pbxproj:
1984 2017-02-23 Jer Noble <jer.noble@apple.com>
1986 ASSERT in RTCNetwork::IPAddress::decode()
1987 https://bugs.webkit.org/show_bug.cgi?id=168792
1989 Reviewed by Tim Horton.
1991 An ASSERT added to RTCNetwork::IPAddress::decode in r212781 was hit due to a bad encode of SocketAddress; an
1992 extra boolean value was added to the encoder unnecessarily, leading to garbage data being decoded in the following
1995 Drive-by-fix: allow the IPAddress encoder/decoder to pass through a value of AF_UNSPEC for an IPAddress to support
1996 passing through an "empty" IPAddress value.
1998 * Shared/RTCNetwork.cpp:
1999 (WebKit::RTCNetwork::IPAddress::decode):
2000 (WebKit::RTCNetwork::IPAddress::encode):
2001 (WebKit::RTCNetwork::SocketAddress::encode):
2003 2017-02-23 Eric Carlson <eric.carlson@apple.com>
2005 [WebRTC][Mac][WebKit2] WebRTC requires media capture
2006 https://bugs.webkit.org/show_bug.cgi?id=168782
2007 <rdar://problem/30675242>
2009 Reviewed by Youenn Fablet.
2011 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
2012 (WebKit::WebProcessPool::platformInitializeWebProcess): Extend the sanbox to allow microphone access
2013 if media stream OR WebRTC is enabled.
2015 2017-02-23 Brent Fulgham <bfulgham@apple.com>
2017 [Mac] Remove unneeded sandbox exceptions for media elements
2018 https://bugs.webkit.org/show_bug.cgi?id=168767
2020 Reviewed by Alex Christensen.
2022 Remove several sandbox exceptions that have not been needed for the past four
2023 or five macOS releases.
2025 * WebProcess/com.apple.WebProcess.sb.in:
2027 2017-02-23 Brent Fulgham <bfulgham@apple.com>
2029 [Mac] Remove com.apple.audio.VDCAssistant from sandboxes
2030 https://bugs.webkit.org/show_bug.cgi?id=168764
2031 <rdar://problem/16736919>
2033 Reviewed by Alex Christensen.
2035 Remove unneeded sandbox class.
2037 * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
2038 * WebProcess/com.apple.WebProcess.sb.in:
2040 2017-02-22 Wenson Hsieh <wenson_hsieh@apple.com>
2042 Data interaction causes selection to fall out of sync between web/UI processes
2043 https://bugs.webkit.org/show_bug.cgi?id=168735
2044 <rdar://problem/30657817>
2046 Reviewed by Tim Horton.
2048 Fixes a bug with data interaction causing selection state to fall out of sync between the UI and web processes,
2049 and also introduces testing infrastructure and tests for grabbing UI-side selection view rects in TestWebKitAPI.
2050 While performing a data interaction operation, we now lift restrictions for assisting the focused node.
2052 * UIProcess/ios/WKContentViewInteraction.h:
2053 * UIProcess/ios/WKContentViewInteraction.mm:
2054 (-[WKContentView cleanupInteraction]):
2055 (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
2057 2017-02-23 Carlos Garcia Campos <cgarcia@igalia.com>
2059 [GTK] Crash attempting to load Flash plugin in Wayland
2060 https://bugs.webkit.org/show_bug.cgi?id=163159
2062 Reviewed by Michael Catanzaro.
2064 The problem is that we check if the current diplay is X11 or Wayland also in the plugin process, but with GTK2
2065 plugins the display is always X11. We should early reject plugins requiring GTK2 in the UI process when the
2066 current display is Wayland.
2068 * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
2069 (WebKit::PluginInfoStore::getPluginInfo):
2070 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
2071 (WebKit::PluginProcessProxy::scanPlugin):
2072 * UIProcess/gtk/WebPageProxyGtk.cpp:
2073 (WebKit::WebPageProxy::createPluginContainer): Add an assert to ensure this message is never received on a
2075 * WebProcess/Plugins/PluginView.cpp:
2076 (WebKit::PluginView::createPluginContainer): Never send CreatePluginContainer message to the UI process if the
2079 2017-02-23 Eric Carlson <eric.carlson@apple.com>
2081 [MediaStream iOS] Allow web process sandbox to be extended for media capture
2082 https://bugs.webkit.org/show_bug.cgi?id=168756
2084 Reviewed by Brent Fulgham.
2086 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Add rules to dynamically
2087 extend the sandbox to allow access to the camera and/or microphone.
2089 2017-02-23 Tomas Popela <tpopela@redhat.com>
2091 [GTK] Drag and drop is always moving the content even if copy is requested
2092 https://bugs.webkit.org/show_bug.cgi?id=168424
2094 Reviewed by Carlos Garcia Campos.
2096 Drag and drop is always moving the content around even if the copy is
2097 requested (i.e. by pressing the Control key).
2099 * UIProcess/gtk/DragAndDropHandler.cpp:
2100 (WebKit::DragAndDropHandler::drop):
2102 2017-02-22 Carlos Garcia Campos <cgarcia@igalia.com>
2104 Better handle Thread and RunLoop initialization
2105 https://bugs.webkit.org/show_bug.cgi?id=167828
2107 Reviewed by Yusuke Suzuki.
2109 Remove unnecessary call to WTF::initializeMainThread().
2111 * Shared/WebKit2Initialize.cpp:
2112 (WebKit::InitializeWebKit2):
2114 2017-02-22 Chris Dumez <cdumez@apple.com>
2116 Unreviewed, drop console logging landed by mistake as part of r212832.
2118 * UIProcess/BackgroundProcessResponsivenessTimer.cpp:
2119 (WebKit::BackgroundProcessResponsivenessTimer::timerFired):
2121 2017-02-22 Brent Fulgham <bfulgham@apple.com>
2123 [Mac] Tighten sandbox to deny process-info* access
2124 https://bugs.webkit.org/show_bug.cgi?id=168704
2125 <rdar://problem/16371441>
2127 Reviewed by Alex Christensen.
2129 Tighten the various WebKit sandboxes by denying access to process-info.
2130 Add back specific features needed to run WebKit tests and to do browsing
2131 of websites (including plugins).
2133 * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in:
2134 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2135 * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
2136 * WebProcess/com.apple.WebProcess.sb.in:
2138 2017-02-22 Anders Carlsson <andersca@apple.com>
2140 Crash if there's a mismatch between the WebKit used by the UI process and child processes respectively
2141 https://bugs.webkit.org/show_bug.cgi?id=168739
2142 Part of rdar://problem/30631411.
2144 Reviewed by Geoffrey Garen.
2146 If the UI process and web process for some reason end up using different versions of the WebKit framework, weird things happen
2147 because the message format is different between versions. To avoid this, send along the WebKit bundle version from the UI process
2148 in the XPC bootstrap message, check that it matches inside the XPC main functions. If there's a mismatch, crash.
2150 * Shared/Cocoa/ChildProcessCocoa.mm:
2151 (WebKit::ChildProcess::didReceiveInvalidMessage):
2154 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
2156 Check for the bundle version and crash if it's not what we expect.
2158 * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
2159 (WebKit::ProcessLauncher::launchProcess):
2160 Initialize the bundle version.
2162 * WebProcess/cocoa/WebProcessCocoa.mm:
2163 (WebKit::_WKSetCrashReportApplicationSpecificInformation):
2164 Export this so we can call it from the XPC services without having to link WKSI.
2166 2017-02-22 Chris Dumez <cdumez@apple.com>
2168 [WK2] Call processDidBecomeUnresponsive delegate when a background process is unresponsive
2169 https://bugs.webkit.org/show_bug.cgi?id=168683
2170 <rdar://problem/30558745>
2172 Reviewed by Dan Bernstein.
2174 Call processDidBecomeUnresponsive delegate when a background process is unresponsive
2175 instead of killing it on WebKit side. This gives the client the choice about what it
2176 wants to do about this process.
2178 * UIProcess/API/APIProcessPoolConfiguration.cpp:
2179 (API::ProcessPoolConfiguration::copy):
2180 * UIProcess/API/APIProcessPoolConfiguration.h:
2181 * UIProcess/API/C/WKContext.cpp:
2182 * UIProcess/API/C/WKContextPrivate.h:
2183 * UIProcess/BackgroundProcessResponsivenessTimer.cpp: Renamed from Source/WebKit2/UIProcess/UnresponsiveWebProcessTerminator.cpp.
2184 (WebKit::BackgroundProcessResponsivenessTimer::BackgroundProcessResponsivenessTimer):
2185 (WebKit::BackgroundProcessResponsivenessTimer::updateState):
2186 (WebKit::BackgroundProcessResponsivenessTimer::timerFired):
2187 * UIProcess/BackgroundProcessResponsivenessTimer.h: Renamed from Source/WebKit2/UIProcess/UnresponsiveWebProcessTerminator.h.
2188 * UIProcess/WebPageProxy.cpp:
2189 (WebKit::WebPageProxy::reattachToWebProcess):
2190 (WebKit::WebPageProxy::dispatchActivityStateChange):
2191 (WebKit::WebPageProxy::terminateProcess):
2192 * UIProcess/WebPageProxy.h:
2193 * UIProcess/WebProcessProxy.cpp:
2194 (WebKit::m_backgroundResponsivenessTimer):
2195 * UIProcess/WebProcessProxy.h:
2196 * WebKit2.xcodeproj/project.pbxproj:
2198 2017-02-22 Carlos Garcia Campos <cgarcia@igalia.com>
2200 NetworkProcess: Stop disabling buffering when NETWORK_CACHE is disabled in build
2201 https://bugs.webkit.org/show_bug.cgi?id=168637
2203 Reviewed by Alex Christensen.
2205 It was added in r193752 as part of bug #137692 to fix an infinite loop in network process that happened in EFL
2206 because they didn't enable the network cache at that time. I think that was actually a workaround, and it was
2207 added without any comment so it has stayed there even when EFL enabled disk cache, and now that is gone. Looking
2208 at current code I see no reason why buffering can't work with the disk cache disabled, so I think it's time to
2209 remove that workaround.
2211 * WebProcess/Network/WebLoaderStrategy.cpp:
2212 (WebKit::maximumBufferingTime):
2214 2017-02-21 Youenn Fablet <youenn@apple.com>
2216 [WebRTC][Mac] Activate libwebrtc
2217 https://bugs.webkit.org/show_bug.cgi?id=167293
2218 <rdar://problem/30401864>
2220 Reviewed by Alex Christensen.
2222 Activating PeerConnection runtime flag based on successful loading of libwebrtc.dylib.
2224 * Configurations/WebKit.xcconfig:
2225 * Configurations/FeatureDefines.xcconfig:
2226 * Shared/WebPreferencesDefinitions.h:
2227 * UIProcess/WebPreferences.cpp:
2228 (WebKit::checkWebRTCAvailability):
2230 2017-02-21 Commit Queue <commit-queue@webkit.org>
2232 Unreviewed, rolling out r212786.
2233 https://bugs.webkit.org/show_bug.cgi?id=168710
2235 It broke GTK+ port when using single shared process model
2236 (Requested by KaL on #webkit).
2240 "Refactor WebViewImpl creation in preparation for supporting
2241 multiple WebsiteDataStores."
2242 https://bugs.webkit.org/show_bug.cgi?id=168676
2243 http://trac.webkit.org/changeset/212786
2245 2017-02-21 Brady Eidson <beidson@apple.com>
2247 Refactor WebViewImpl creation in preparation for supporting multiple WebsiteDataStores.
2248 https://bugs.webkit.org/show_bug.cgi?id=168676
2250 Reviewed by Alex Christensen.
2252 * UIProcess/API/Cocoa/WKWebView.mm:
2253 (-[WKWebView _initializeWithConfiguration:]): Allow for WebViewImpl creation to fail.
2255 * UIProcess/API/mac/WKView.mm:
2256 (-[WKView initWithFrame:processPool:configuration:]): Ditto.
2258 * UIProcess/Cocoa/WebViewImpl.h:
2259 * UIProcess/Cocoa/WebViewImpl.mm:
2260 (WebKit::WebViewImpl::maybeCreate):
2261 (WebKit::WebViewImpl::WebViewImpl):
2263 * UIProcess/WebPageProxy.cpp:
2264 (WebKit::WebPageProxy::reattachToWebProcess): New WebProcess creation might fail. Handle it.
2265 * UIProcess/WebProcessPool.cpp:
2266 (WebKit::WebProcessPool::createNewWebProcess):
2267 (WebKit::WebProcessPool::warmInitialProcess):
2268 (WebKit::WebProcessPool::maybeCreateNewWebProcessRespectingProcessCountLimit): This can now fail
2269 if the process will have a non-default WebsiteDataStore but we've already reached the process cap.
2270 (WebKit::WebProcessPool::createWebPage):
2271 (WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit): Deleted.
2272 * UIProcess/WebProcessPool.h:
2274 2017-02-21 Youenn Fablet <youenn@apple.com>
2276 [WebRTC] WebKit2 should assert that libwebrtc transmitted IP addresses family is IP4 or IP6
2277 https://bugs.webkit.org/show_bug.cgi?id=168691
2279 Reviewed by Alex Christensen.
2281 Adding some asserts that family is IPv4 or IPv6.
2283 * Shared/RTCNetwork.cpp:
2284 (WebKit::RTCNetwork::IPAddress::decode):
2285 (WebKit::RTCNetwork::IPAddress::encode):
2287 2017-02-20 Simon Fraser <simon.fraser@apple.com>
2289 Add support to PlatformCALayer/GraphicsLayerCA for subpixel-antialiased text, with a Setting and a MiniBrowser switch
2290 https://bugs.webkit.org/show_bug.cgi?id=168620
2291 <rdar://problem/30617772>
2293 Reviewed by Tim Horton.
2295 Add a Setting for subpixel-antialiased layer text. Plumb this through GraphicsLayerCA and
2296 PlatformCALayer, where it ultimately affects the layer contents format.
2298 This is not supported with UI-side compositing.
2300 * Shared/WebPreferencesDefinitions.h:
2301 * UIProcess/API/C/WKPreferences.cpp:
2302 (WKPreferencesSetSubpixelAntialiasedLayerTextEnabled):
2303 (WKPreferencesGetSubpixelAntialiasedLayerTextEnabled):
2304 * UIProcess/API/C/WKPreferencesRefPrivate.h:
2305 * UIProcess/API/Cocoa/WKPreferences.mm:
2306 (-[WKPreferences _subpixelAntialiasedLayerTextEnabled]):
2307 (-[WKPreferences _setSubpixelAntialiasedLayerTextEnabled:]):
2308 * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
2309 * WebProcess/WebPage/WebPage.cpp:
2310 (WebKit::WebPage::updatePreferences):
2311 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
2312 (WebKit::PlatformCALayerRemote::supportsSubpixelAntialiasedText):
2313 (WebKit::PlatformCALayerRemote::setSupportsSubpixelAntialiasedText):
2314 * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
2315 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
2316 (WebKit::PlatformCALayerRemoteTiledBacking::supportsSubpixelAntialiasedText):
2317 (WebKit::PlatformCALayerRemoteTiledBacking::setSupportsSubpixelAntialiasedText):
2318 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
2320 2017-02-21 John Wilander <wilander@apple.com>
2322 Resource Load Statistics: Only scan website data store once per session ID + reinstate removal counting
2323 https://bugs.webkit.org/show_bug.cgi?id=168541
2325 Reviewed by Alex Christensen.
2327 * UIProcess/WebProcessProxy.cpp:
2328 (WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyOwnedDomainsInAllPersistentDataStores):
2329 The CallbackAggregator now merges a list of domains for which we
2330 have removed data records and eventually reports this back to the
2332 * UIProcess/WebProcessProxy.h:
2333 * UIProcess/WebResourceLoadStatisticsStore.cpp:
2334 (WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
2335 Now reports back to its WebCore::ResourceLoadStatisticsStore
2336 which domains have had data records removed.
2337 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
2338 (WebKit::WebsiteDataStore::fetchDataForTopPrivatelyOwnedDomains):
2339 The completion handler now handles data record removal counting.
2340 (WebKit::WebsiteDataStore::removeDataForTopPrivatelyOwnedDomains):
2341 The completion handler now handles data record removal counting.
2342 * UIProcess/WebsiteData/WebsiteDataStore.h:
2344 2017-02-21 Alex Christensen <achristensen@webkit.org>
2348 * PlatformMac.cmake:
2350 2017-02-21 Youenn Fablet <youenn@apple.com>
2352 [WebRTC][Mac] Network process sandbox does not allow WebRTC networking
2353 https://bugs.webkit.org/show_bug.cgi?id=168594
2355 Reviewed by Brent Fulgham.
2357 UIProcess was passing a boolean to know whether WebRTC networking is allowed or not to the network process.
2358 This boolean was known to late for the sandbox to be relaxed.
2359 A sandbox extension is now used instead to relax the sandbox.
2361 * NetworkProcess/NetworkProcess.h:
2362 * NetworkProcess/NetworkProcessCreationParameters.cpp:
2363 (WebKit::NetworkProcessCreationParameters::encode):
2364 (WebKit::NetworkProcessCreationParameters::decode):
2365 * NetworkProcess/NetworkProcessCreationParameters.h:
2366 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
2367 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
2368 * NetworkProcess/mac/NetworkProcessMac.mm:
2369 (WebKit::NetworkProcess::platformInitializeNetworkProcess):
2370 (WebKit::NetworkProcess::initializeSandbox):
2371 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2372 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
2373 (WebKit::WebProcessPool::platformInitializeNetworkProcess):
2375 2017-02-21 Youenn Fablet <youenn@apple.com>
2377 [WebRTC] ICE candidates should be filtered according a policy
2378 https://bugs.webkit.org/show_bug.cgi?id=168348
2380 Reviewed by Alex Christensen.
2382 Adding the possibility for the UI process to control the ICE candidate filtering and whether libwebrtc can
2383 enumerate all interfaces or not.
2385 Disabling ICE candidate filtering for the moment.
2386 Enabling to enumerate all interfaces for the moment.
2388 In the future, ICE candidate filtering should be tied to getUserMedia.
2389 Interface enumeration should be disabled with the default configuration.
2390 We should do that once we have sufficient testing in various network infrastructures.
2392 * UIProcess/WebPageProxy.cpp:
2393 (WebKit::WebPageProxy::initializeWebPage):
2394 * WebKit2.xcodeproj/project.pbxproj:
2395 * WebProcess/WebPage/WebPage.h:
2396 (WebKit::WebPage::disableICECandidateFiltering):
2397 (WebKit::WebPage::enableICECandidateFiltering):
2398 (WebKit::WebPage::disableEnumeratingAllNetworkInterfaces):
2399 (WebKit::WebPage::enableEnumeratingAllNetworkInterfaces):
2400 * WebProcess/WebPage/WebPage.messages.in:
2402 2017-02-21 Youenn Fablet <youenn@apple.com>
2404 [WebRTC] NetworkRTCMonitor should ensure clearing its manager only once
2405 https://bugs.webkit.org/show_bug.cgi?id=168661
2407 Reviewed by Alex Christensen.
2409 Making sure NetworkRTCMonitor manager is cleared only once.
2410 ALso ensuring that manager does not get destroyed as part of NetworkRTCMonitor destructor.
2411 The manager needs to be destroyed in the RTC network thread.
2413 * NetworkProcess/webrtc/NetworkRTCMonitor.cpp:
2414 (WebKit::NetworkRTCMonitor::~NetworkRTCMonitor):
2415 (WebKit::NetworkRTCMonitor::stopUpdating):
2416 * NetworkProcess/webrtc/NetworkRTCMonitor.h:
2418 2017-02-21 Brent Fulgham <bfulgham@apple.com>
2420 [WebRTC][Mac][WebKit2] Revise sandbox to limit connections to UDP and TCP
2421 https://bugs.webkit.org/show_bug.cgi?id=168664
2422 <rdar://problem/30600587>
2424 Reviewed by Youenn Fablet.
2426 Add filters to the WebRTC rule to limit network traffic to UDP and TCP.
2428 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2430 2017-02-21 Maureen Daum <mdaum@apple.com>
2432 Check what LocalStorage data exists in deleteDatabasesModifiedSince() before attempting deletion.
2433 https://bugs.webkit.org/show_bug.cgi?id=168659
2434 rdar://problem/22781730
2436 Reviewed by Brady Eidson.
2438 Check what LocalStorage data exists in deleteDatabasesModifiedSince() before attempting deletion.
2439 It is possible that another process has caused information to be added to LocalStorage
2440 after we created this LocalStorageDatabaseTracker instance, so we should update our
2441 internal state by checking the contents of StorageTracker.db and the other local
2442 storage files so we know what databases actually exist. By calling importOriginIdentifiers()
2443 at the start of deleteDatabasesModifiedSince(), m_origins will now have the up-to-date
2444 list of origins LocalStorage contains data for.
2446 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
2447 (WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):
2449 2017-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
2451 Reduce platform ifdefs in WebKit2 custom protocols implementation
2452 https://bugs.webkit.org/show_bug.cgi?id=165028
2454 Reviewed by Darin Adler.
2456 Make mac implementation use the APICustomProtocolManagerClient to share more code with the soup based ports.
2458 * CMakeLists.txt: Add CustomProtocolManagerProxy.cpp.
2459 * PlatformEfl.cmake: Remove CustomProtocolManagerProxySoup.cpp.
2460 * PlatformGTK.cmake: Ditto.
2461 * PlatformMac.cmake: Remove CustomProtocolManagerProxyMac.mm.
2462 * UIProcess/API/APICustomProtocolManagerClient.h:
2463 (API::CustomProtocolManagerClient::startLoading): Make it void, since we were always returning true and the
2464 returned value was ignored.
2465 * UIProcess/API/efl/ewk_url_scheme_request.cpp:
2466 (EwkUrlSchemeRequest::finish): Update to new CustomProtocolManagerProxy API.
2467 * UIProcess/API/gtk/WebKitCustomProtocolManagerClient.cpp:
2468 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
2469 (webkitURISchemeRequestReadCallback): Ditto.
2470 * UIProcess/Cocoa/CustomProtocolManagerClient.h: Added.
2471 * UIProcess/Cocoa/CustomProtocolManagerClient.mm: Added.
2472 (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:]):
2473 (-[WKCustomProtocolLoader dealloc]):
2474 (-[WKCustomProtocolLoader connection:didFailWithError:]):
2475 (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
2476 (-[WKCustomProtocolLoader connection:didReceiveData:]):
2477 (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
2478 (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
2479 (WebKit::CustomProtocolManagerClient::startLoading):
2480 (WebKit::CustomProtocolManagerClient::stopLoading):
2481 (WebKit::CustomProtocolManagerClient::invalidate):
2482 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
2483 (WebKit::WebProcessPool::platformInitialize): Set the CustomProtocolManagerClient.
2484 (WebKit::WebProcessPool::platformInitializeNetworkProcess): Remove code that is now shared.
2485 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.cpp: Added.
2486 (WebKit::CustomProtocolManagerProxy::startLoading):
2487 (WebKit::CustomProtocolManagerProxy::processDidClose):
2488 (WebKit::CustomProtocolManagerProxy::wasRedirectedToRequest):
2489 (WebKit::CustomProtocolManagerProxy::didReceiveResponse):
2490 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2491 * UIProcess/WebProcessPool.cpp:
2492 (WebKit::globalURLSchemesWithCustomProtocolHandlers): Just moved here to use it from ensureNetworkProcess().
2493 (WebKit::WebProcessPool::WebProcessPool): Remove soup ifdefs.
2494 (WebKit::WebProcessPool::setCustomProtocolManagerClient): Moved from the soup implementation.
2495 (WebKit::WebProcessPool::ensureNetworkProcess): Initialize custom protocols parameters.
2496 (WebKit::WebProcessPool::registerSchemeForCustomProtocol): Register the protocol if not already registered globally.
2497 (WebKit::WebProcessPool::unregisterSchemeForCustomProtocol): Remove soup ifdefs.
2498 * UIProcess/WebProcessPool.h: Remove soup ifdefs.
2499 * UIProcess/efl/RequestManagerClientEfl.cpp:
2500 * UIProcess/soup/WebProcessPoolSoup.cpp:
2501 (WebKit::WebProcessPool::platformInitializeNetworkProcess): Remove code that is now shared.
2502 * WebKit2.xcodeproj/project.pbxproj:
2504 2017-02-21 Daewoong Jang <daewoong.jang@navercorp.com>
2506 Remove unused files.
2507 https://bugs.webkit.org/show_bug.cgi?id=168656.
2509 Reviewed by Csaba Osztrogonác.
2511 Remove files which became unused after removal of EFL port.
2513 * UIProcess/CoordinatedGraphics/PageViewportController.cpp: Removed.
2514 * UIProcess/CoordinatedGraphics/PageViewportController.h: Removed.
2515 * UIProcess/PageViewportControllerClient.h: Removed.
2517 2017-02-21 Youenn Fablet <youenn@apple.com>
2519 [WebRTC] LibWebRTCSocket::SendTo message should have a correct SocketAddress
2520 https://bugs.webkit.org/show_bug.cgi?id=168636
2522 Reviewed by Eric Carlson.
2524 * WebProcess/Network/webrtc/LibWebRTCSocket.cpp:
2525 (WebKit::LibWebRTCSocket::SendTo): Ensuring address remains valid during SendTo message lifetime.
2527 2017-02-21 Alex Christensen <achristensen@webkit.org>
2529 Unreviewed, rolling out r212699.
2531 Internal build not ready
2535 "[WebRTC][Mac] Activate libwebrtc"
2536 https://bugs.webkit.org/show_bug.cgi?id=167293
2537 http://trac.webkit.org/changeset/212699
2539 2017-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
2541 Remove ENABLE_THREADED_COMPOSITOR build option
2542 https://bugs.webkit.org/show_bug.cgi?id=168606
2544 Reviewed by Michael Catanzaro.
2546 Now that we have AC mode on demand with the threaded compositor there's no reason to keep the old AC code.
2548 * PlatformGTK.cmake:
2549 * WebProcess/WebPage/LayerTreeHost.cpp:
2550 (WebKit::LayerTreeHost::create):
2551 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Removed.
2552 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Removed.
2554 2017-02-20 Youenn Fablet <youenn@apple.com>
2556 [WebRTC][Mac] Activate libwebrtc
2557 https://bugs.webkit.org/show_bug.cgi?id=167293
2558 <rdar://problem/30401864>
2560 Reviewed by Alex Christensen.
2562 Activating PeerConnection runtime flag based on successful loading of libwebrtc.dylib.
2564 * Configurations/WebKit.xcconfig:
2565 * Shared/WebPreferencesDefinitions.h:
2566 * UIProcess/WebPreferences.cpp:
2567 (WebKit::checkWebRTCAvailability):
2569 2017-02-20 Ryan Haddad <ryanhaddad@apple.com>
2571 Unreviewed, rolling out r212685.
2573 This change broke the 32-bit Sierra build.
2577 "Resource Load Statistics: Add alternate classification
2579 https://bugs.webkit.org/show_bug.cgi?id=168347
2580 http://trac.webkit.org/changeset/212685
2582 2017-02-20 John Wilander <wilander@apple.com>
2584 Resource Load Statistics: Add alternate classification method
2585 https://bugs.webkit.org/show_bug.cgi?id=168347
2586 <rdar://problem/30352793>
2588 Reviewed by Alex Christensen.
2590 This patch adds a CorePrediction-based classifier to the WebResourceLoadStatisticsStore.
2591 The CorePrediction framework is introduced as a dependency for macOS and iOS. The patch
2592 also adds functions to support layout tests of the feature.
2594 * Configurations/BaseTarget.xcconfig:
2595 * Configurations/WebKit.xcconfig:
2596 Added dependency on CorePrediction.
2597 * Platform/classifier: Added.
2598 * Platform/classifier/ResourceLoadStatisticsClassifier.h: Added.
2599 Pulls in the Cocoa-specific classifier for Cocoa-based platforms.
2600 (WebKit::ResourceLoadStatisticsClassifier::ResourceLoadStatisticsClassifier):
2601 * Platform/classifier/ResourceLoadStatisticsClassifierBase.cpp: Added.
2602 (WebKit::ResourceLoadStatisticsClassifierBase::hasPrevalentResourceCharacteristics):
2603 Shared classifier logic.
2604 (WebKit::ResourceLoadStatisticsClassifierBase::classifyWithVectorThreshold):
2605 Fallback classifier for when we don't have CorePrediction.
2606 * Platform/classifier/ResourceLoadStatisticsClassifierBase.h: Added.
2607 (WebKit::ResourceLoadStatisticsClassifierBase::ResourceLoadStatisticsClassifierBase):
2608 (WebKit::ResourceLoadStatisticsClassifierBase::~ResourceLoadStatisticsClassifierBase):
2609 * Platform/classifier/cocoa: Added.
2610 * Platform/classifier/cocoa/CorePredictionSPI.h: Added.
2611 Includes CorePrediction if available, otherwise declares needed symbols.
2612 Always redeclares the functions so we'll get a build error if
2613 CorePrediction changes.
2614 * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp: Added.
2615 (WebKit::ResourceLoadStatisticsClassifier::classify):
2616 (WebKit::ResourceLoadStatisticsClassifier::storagePath):
2617 (WebKit::ResourceLoadStatisticsClassifier::shouldUseCorePrediction):
2618 The new classifier for Cocoa platforms.
2619 * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h: Added.
2620 (WebKit::ResourceLoadStatisticsClassifier::ResourceLoadStatisticsClassifier):
2621 * PlatformGTK.cmake:
2622 Added Platform/classifier directory and ResourceLoadStatisticsClassifierBase.cpp.
2623 * PlatformMac.cmake:
2624 Added Platform/classifier and Platform/classifier/cocoa directories, and
2625 source files ResourceLoadStatisticsClassifierBase.cpp and
2626 ResourceLoadStatisticsClassifierCocoa.cpp
2627 * Resources/ResourceLoadStatistics: Added.
2628 * Resources/ResourceLoadStatistics/corePrediction_model: Added.
2629 Model file to load into CorePrediction.
2630 * UIProcess/API/C/WKResourceLoadStatisticsManager.cpp:
2631 (WKResourceLoadStatisticsManagerSetSubframeUnderTopFrameOrigin):
2632 (WKResourceLoadStatisticsManagerSetSubresourceUnderTopFrameOrigin):
2633 (WKResourceLoadStatisticsManagerSetSubresourceUniqueRedirectTo):
2634 Test infrastructure.
2635 * UIProcess/API/C/WKResourceLoadStatisticsManager.h:
2636 * UIProcess/WebResourceLoadStatisticsManager.cpp:
2637 (WebKit::WebResourceLoadStatisticsManager::setSubframeUnderTopFrameOrigin):
2638 (WebKit::WebResourceLoadStatisticsManager::setSubresourceUnderTopFrameOrigin):
2639 (WebKit::WebResourceLoadStatisticsManager::setSubresourceUniqueRedirectTo):
2640 Test infrastructure.
2641 * UIProcess/WebResourceLoadStatisticsManager.h:
2642 * UIProcess/WebResourceLoadStatisticsStore.cpp:
2643 (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
2644 Renamed m_storagePath to m_statisticsStoragePath for clarity.
2645 (WebKit::WebResourceLoadStatisticsStore::classifyResource):
2646 Now calls the classifier through its ResourceLoadStatisticsClassifier
2648 (WebKit::WebResourceLoadStatisticsStore::persistentStoragePath):
2649 Renamed m_storagePath to m_statisticsStoragePath for clarity.
2650 (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):
2651 Renamed m_storagePath to m_statisticsStoragePath for clarity.
2652 (WebKit::WebResourceLoadStatisticsStore::hasPrevalentResourceCharacteristics): Deleted.
2653 * UIProcess/WebResourceLoadStatisticsStore.h:
2654 * WebKit2.xcodeproj/project.pbxproj:
2655 Added the new classifier source files under Platform/classifier and the
2656 corePrediction_model file under Resources/ResourceLoadStatistics.
2658 2017-02-20 Wenson Hsieh <wenson_hsieh@apple.com>
2660 Add plumbing to the UI process for TextIndicatorData when computing the drag image
2661 https://bugs.webkit.org/show_bug.cgi?id=168583
2662 Work towards <rdar://problem/30313681>
2664 Reviewed by Tim Horton.
2666 Changes the SetDragImage IPC message to send TextIndicatorData over to the UI process. Also changes the boolean
2667 isLink parameter to be a DragSourceAction instead, leaving it up to the receiving end (in the UI process) to
2670 Additionally, renames hasDataInteractionAtPosition to hasSelectionAtPosition to better reflect its purpose.
2672 These changes are only infrastructural should not alter any behaviors.
2674 * Shared/ios/InteractionInformationAtPosition.h:
2675 * Shared/ios/InteractionInformationAtPosition.mm:
2676 (WebKit::InteractionInformationAtPosition::encode):
2677 (WebKit::InteractionInformationAtPosition::decode):
2678 * UIProcess/API/Cocoa/WKWebView.mm:
2679 (-[WKWebView _simulateDataInteractionGestureRecognized]):
2680 (-[WKWebView _simulateDataInteractionEntered:]):
2681 (-[WKWebView _simulateDataInteractionUpdated:]):
2682 (-[WKWebView _simulateDataInteractionPerformOperation:]):
2683 (-[WKWebView _simulateDataInteractionEnded:]):
2684 (-[WKWebView _simulateDataInteractionSessionDidEnd:withOperation:]):
2685 (-[WKWebView _simulateFailedDataInteractionWithIndex:]):
2686 (-[WKWebView _simulateWillBeginDataInteractionWithIndex:withSession:]):
2687 (-[WKWebView _simulatedItemsForDataInteractionWithIndex:]):
2688 * UIProcess/API/Cocoa/_WKTestingDelegate.h:
2689 * UIProcess/PageClient.h:
2690 * UIProcess/WebPageProxy.h:
2691 * UIProcess/WebPageProxy.messages.in:
2692 * UIProcess/ios/PageClientImplIOS.h:
2693 * UIProcess/ios/PageClientImplIOS.mm:
2694 (WebKit::PageClientImpl::setDragImage):
2695 (WebKit::PageClientImpl::startDataInteractionWithImage):
2696 * UIProcess/ios/WKContentViewInteraction.h:
2697 * UIProcess/ios/WKContentViewInteraction.mm:
2698 (-[WKContentView hasSelectablePositionAtPoint:]):
2699 (-[WKContentView pointIsInDataInteractionContent:]):
2700 (-[WKContentView _dataInteractionGestureRecognizer]):
2701 (-[WKContentView pointIsInAssistedNode:]):
2702 * UIProcess/mac/PageClientImpl.h:
2703 * UIProcess/mac/PageClientImpl.mm:
2704 (WebKit::PageClientImpl::setDragImage):
2705 * UIProcess/mac/WebPageProxyMac.mm:
2706 (WebKit::WebPageProxy::setDragImage):
2707 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2708 (WebKit::WebDragClient::startDrag):
2709 * WebProcess/WebPage/ios/WebPageIOS.mm:
2710 (WebKit::WebPage::getPositionInformation):
2712 2017-02-20 David Quesada <david_quesada@apple.com>
2714 Don’t set NSURLSessionConfiguration’s _sourceApplicationAuditTokenData if _sourceApplicationBundleIdentifier is also set.
2715 https://bugs.webkit.org/show_bug.cgi?id=168607
2717 rdar://problem/30239618
2719 Reviewed by Geoffrey Garen.
2721 * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
2722 (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
2723 If the process pool configuration sets a source application bundle identifier, don't give the NSURLSession configuration
2724 the audit token from the UI process, as it may be associated with an application with a conflicting bundle identifier.
2726 2017-02-20 Ryan Haddad <ryanhaddad@apple.com>
2728 Unreviewed, rolling out r212632.
2730 This change appears to have caused API test failures.
2734 "Reduce platform ifdefs in WebKit2 custom protocols
2736 https://bugs.webkit.org/show_bug.cgi?id=165028
2737 http://trac.webkit.org/changeset/212632
2739 2017-02-20 Youenn Fablet <youenn@apple.com>
2741 [WebRTC] Fix some memory leaks in libwebrtc binding code
2742 https://bugs.webkit.org/show_bug.cgi?id=168596
2744 Reviewed by Eric Carlson.
2746 * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
2747 (WebKit::NetworkRTCProvider::OnMessage):
2749 2017-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
2751 Remove code under USE(GRAPHICS_SURFACE)
2752 https://bugs.webkit.org/show_bug.cgi?id=168592
2754 Reviewed by Michael Catanzaro.
2756 This was only used by EFL port.
2758 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2759 (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
2760 (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
2761 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
2762 * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
2763 (WebKit::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
2764 (WebKit::CoordinatedGraphicsScene::deleteLayer):
2765 (WebKit::CoordinatedGraphicsScene::assignImageBackingToLayer):
2766 (WebKit::CoordinatedGraphicsScene::purgeGLResources):
2767 * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
2768 * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
2769 (WebKit::WebCoordinatedSurface::Handle::encode):
2770 (WebKit::WebCoordinatedSurface::Handle::decode):
2771 (WebKit::WebCoordinatedSurface::create):
2772 (WebKit::WebCoordinatedSurface::createGraphicsContext):
2773 (WebKit::WebCoordinatedSurface::createHandle):
2774 (WebKit::WebCoordinatedSurface::copyToTexture):
2775 * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
2777 2017-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
2779 Reduce platform ifdefs in WebKit2 custom protocols implementation
2780 https://bugs.webkit.org/show_bug.cgi?id=165028
2782 Reviewed by Darin Adler.
2784 Make mac implementation use the APICustomProtocolManagerClient to share more code with the soup based ports.
2786 * CMakeLists.txt: Add CustomProtocolManagerProxy.cpp.
2787 * PlatformEfl.cmake: Remove CustomProtocolManagerProxySoup.cpp.
2788 * PlatformGTK.cmake: Ditto.
2789 * PlatformMac.cmake: Remove CustomProtocolManagerProxyMac.mm.
2790 * UIProcess/API/APICustomProtocolManagerClient.h:
2791 (API::CustomProtocolManagerClient::startLoading): Make it void, since we were always returning true and the
2792 returned value was ignored.
2793 * UIProcess/API/efl/ewk_url_scheme_request.cpp:
2794 (EwkUrlSchemeRequest::finish): Update to new CustomProtocolManagerProxy API.
2795 * UIProcess/API/gtk/WebKitCustomProtocolManagerClient.cpp:
2796 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
2797 (webkitURISchemeRequestReadCallback): Ditto.
2798 * UIProcess/Cocoa/CustomProtocolManagerClient.h: Added.
2799 * UIProcess/Cocoa/CustomProtocolManagerClient.mm: Added.
2800 (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:]):
2801 (-[WKCustomProtocolLoader dealloc]):
2802 (-[WKCustomProtocolLoader connection:didFailWithError:]):
2803 (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
2804 (-[WKCustomProtocolLoader connection:didReceiveData:]):
2805 (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
2806 (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
2807 (WebKit::CustomProtocolManagerClient::startLoading):
2808 (WebKit::CustomProtocolManagerClient::stopLoading):
2809 (WebKit::CustomProtocolManagerClient::invalidate):
2810 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
2811 (WebKit::WebProcessPool::platformInitialize): Set the CustomProtocolManagerClient.
2812 (WebKit::WebProcessPool::platformInitializeNetworkProcess): Remove code that is now shared.
2813 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.cpp: Added.
2814 (WebKit::CustomProtocolManagerProxy::startLoading):
2815 (WebKit::CustomProtocolManagerProxy::processDidClose):
2816 (WebKit::CustomProtocolManagerProxy::wasRedirectedToRequest):
2817 (WebKit::CustomProtocolManagerProxy::didReceiveResponse):
2818 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
2819 * UIProcess/WebProcessPool.cpp:
2820 (WebKit::globalURLSchemesWithCustomProtocolHandlers): Just moved here to use it from ensureNetworkProcess().
2821 (WebKit::WebProcessPool::WebProcessPool): Remove soup ifdefs.
2822 (WebKit::WebProcessPool::setCustomProtocolManagerClient): Moved from the soup implementation.
2823 (WebKit::WebProcessPool::ensureNetworkProcess): Initialize custom protocols parameters.
2824 (WebKit::WebProcessPool::registerSchemeForCustomProtocol): Register the protocol if not already registered globally.
2825 (WebKit::WebProcessPool::unregisterSchemeForCustomProtocol): Remove soup ifdefs.
2826 * UIProcess/WebProcessPool.h: Remove soup ifdefs.
2827 * UIProcess/efl/RequestManagerClientEfl.cpp:
2828 * UIProcess/soup/WebProcessPoolSoup.cpp:
2829 (WebKit::WebProcessPool::platformInitializeNetworkProcess): Remove code that is now shared.
2830 * WebKit2.xcodeproj/project.pbxproj:
2832 2017-02-20 Manuel Rego Casasnovas <rego@igalia.com>
2834 [css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
2835 https://bugs.webkit.org/show_bug.cgi?id=167693
2837 Reviewed by Sergio Villar Senin.
2839 * Configurations/FeatureDefines.xcconfig:
2840 * WebProcess/InjectedBundle/InjectedBundle.cpp:
2841 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2842 * WebProcess/WebPage/WebPage.cpp:
2843 (WebKit::WebPage::updatePreferences):
2845 2017-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
2847 REGRESSION(r212345): [GTK] ASSERT(cookieChangeCallbackMap().contains(jar)) failed in WebCore::stopObservingCookieChanges:54
2848 https://bugs.webkit.org/show_bug.cgi?id=168375
2850 Reviewed by Alex Christensen.
2852 Simplify the cookies change notification. The current approach of the UI process telling the network process
2853 when to start and stop observing cookie changes is quite fragile and error prone. In the GTK+ port we always
2854 observe cookies, so our cookie manager always calls start in the constructor and stop in the destructor.
2855 Everything would be a lot simpler if the network process always monitored cookies.
2857 * NetworkProcess/soup/NetworkSessionSoup.cpp:
2858 (WebKit::NetworkSessionSoup::NetworkSessionSoup): Set cookies observer handler for the session.
2859 (WebKit::NetworkSessionSoup::~NetworkSessionSoup): Remove the cookies observer handler.
2860 * UIProcess/API/gtk/WebKitCookieManager.cpp:
2861 (_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate): Remove the cookies observer callback.
2862 (webkit_cookie_manager_class_init): Remove dispose implementation that is no longer needed.
2863 (webkitCookieManagerCreate): Set the cookies observer callback.
2864 (webkit_cookie_manager_set_persistent_storage): Remove code to start/stop observing cookies when the jar
2865 changes, the network process deals with that now.
2866 (webkitCookieManagerDispose): Deleted.
2867 * UIProcess/WebCookieManagerProxy.cpp:
2868 (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Remove the optional callback method in favor of an
2869 explicit method to the set the callback that doesn't send the StartObservingCookieChanges message to the network
2871 (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Do not change the callback map here.
2872 (WebKit::WebCookieManagerProxy::setCookieObserverCallback): Add the callback to the map or remove the session if
2874 * UIProcess/WebCookieManagerProxy.h:
2875 * WebProcess/Cookies/WebCookieManager.cpp:
2876 (WebKit::WebCookieManager::notifyCookiesDidChange): Send CookiesDidChange message to the UI process.
2877 (WebKit::WebCookieManager::startObservingCookieChanges): Use notifyCookiesDidChange().
2878 * WebProcess/Cookies/WebCookieManager.h:
2879 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
2880 (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Set the policy on all sessions. Code moved from
2881 WebFrameNetworkingContext since it doesn't belong there.
2882 (WebKit::WebCookieManager::setCookiePersistentStorage): Use new method to set the cookie storage in the
2883 NetworkStorageSession.
2884 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
2885 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Deleted.
2886 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
2888 2017-02-19 Chris Dumez <cdumez@apple.com>
2890 [WK2] Support termination of unresponsive WebContent processes that are in the background
2891 https://bugs.webkit.org/show_bug.cgi?id=168479
2892 <rdar://problem/30558745>
2894 Reviewed by Antti Koivisto.
2896 Support termination of unresponsive WebContent processes that are in the background.
2897 This protects us against cases where a background tab is unresponsive and has high CPU
2898 usage, thus draining the battery without the user knowing about it (e.g.
2899 <rdar://problem/29808005>).
2901 The feature works as follows:
2902 - If a WebProcessProxy has pages but none of them are visible, then it will check
2903 regularly if its associated WebContent process is still responsive.
2904 - Every time we find that the WebContent process is responsive, we exponentially
2905 back off the timer to avoid waking up the process too often. The timer initially
2906 uses a 20 seconds interval and can back off up to 8 hours.
2907 - If the WebContent process is unresponsive, then we terminate it. No notification
2908 is shown to the user and the termination is not immediately observable since the
2909 tab is not visible and its title remains. The tab is not immediately reloaded
2910 so as to avoid getting back into a bad state in the background (and have a
2912 - If the user switches to a tab that was previously killed for being unresponsive
2913 while in the background, we will then reload the tab in a fresh WebContent
2914 process. The crash banner will only be shown if the tab has ever been visible.
2915 If it wasn't ever visible (e.g. session restore case), then it will look as if
2916 the tab loads for the first time when the user switches to it.
2918 The functionality is disabled by default and can be enabled by the client via the new
2919 WKContextSetUnresponsiveBackgroundProcessesTerminationEnabled() private API.
2922 * UIProcess/API/APIProcessPoolConfiguration.cpp:
2923 (API::ProcessPoolConfiguration::copy):
2924 * UIProcess/API/APIProcessPoolConfiguration.h:
2925 * UIProcess/API/C/WKContext.cpp:
2926 (WKContextSetUnresponsiveBackgroundProcessesTerminationEnabled):
2927 * UIProcess/API/C/WKContextPrivate.h:
2928 * UIProcess/UnresponsiveWebProcessTerminator.cpp: Added.
2929 (WebKit::UnresponsiveWebProcessTerminator::UnresponsiveWebProcessTerminator):
2930 (WebKit::UnresponsiveWebProcessTerminator::updateState):
2931 (WebKit::pagesCopy):
2932 (WebKit::UnresponsiveWebProcessTerminator::timerFired):
2933 * UIProcess/UnresponsiveWebProcessTerminator.h: Added.
2934 (WebKit::UnresponsiveWebProcessTerminator::shouldBeActive):
2935 * UIProcess/WebPageProxy.cpp:
2936 (WebKit::WebPageProxy::reattachToWebProcess):
2937 (WebKit::WebPageProxy::reloadAfterBeingKilledInBackground):
2938 (WebKit::WebPageProxy::dispatchActivityStateChange):
2939 (WebKit::WebPageProxy::terminateProcess):
2940 (WebKit::WebPageProxy::resetStateAfterProcessExited):
2941 * UIProcess/WebPageProxy.h:
2942 * UIProcess/WebProcessProxy.cpp:
2943 (WebKit::WebProcessProxy::WebProcessProxy):
2944 (WebKit::m_backgroundResponsivenessTimer):
2945 (WebKit::WebProcessProxy::createWebPage):
2946 (WebKit::WebProcessProxy::addExistingWebPage):
2947 (WebKit::WebProcessProxy::removeWebPage):
2948 (WebKit::WebProcessProxy::updateBackgroundResponsivenessTimer):
2949 * UIProcess/WebProcessProxy.h:
2950 (WebKit::WebProcessProxy::visiblePageCount):
2951 * WebKit2.xcodeproj/project.pbxproj:
2953 2017-02-18 Michael Catanzaro <mcatanzaro@igalia.com>
2955 Remove COORDINATED_GRAPHICS_MULTIPROCESS
2956 https://bugs.webkit.org/show_bug.cgi?id=168514
2958 Reviewed by Darin Adler.
2960 * Shared/DrawingAreaInfo.h:
2961 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
2962 (WKViewFindZoomableAreaForRect):
2963 * UIProcess/AcceleratedDrawingAreaProxy.cpp:
2964 (WebKit::AcceleratedDrawingAreaProxy::AcceleratedDrawingAreaProxy):
2965 * UIProcess/AcceleratedDrawingAreaProxy.h:
2966 (WebKit::AcceleratedDrawingAreaProxy::coordinatedLayerTreeHostProxy): Deleted.
2967 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: Removed.
2968 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: Removed.
2969 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in: Removed.
2970 * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
2971 (WebKit::PageViewportController::pageTransitionViewportReady):
2972 * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: Removed.
2973 * UIProcess/DrawingAreaProxy.h:
2974 * UIProcess/PageClient.h:
2975 * UIProcess/WebPageProxy.cpp:
2976 (WebKit::WebPageProxy::pageDidRequestScroll): Deleted.
2977 (WebKit::WebPageProxy::pageTransitionViewportReady): Deleted.
2978 (WebKit::WebPageProxy::didRenderFrame): Deleted.
2979 (WebKit::WebPageProxy::commitPageTransitionViewport): Deleted.
2980 * UIProcess/WebPageProxy.h:
2981 * UIProcess/WebPageProxy.messages.in:
2982 * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
2983 (WebKit::AcceleratedDrawingArea::AcceleratedDrawingArea):
2984 (WebKit::AcceleratedDrawingArea::updateBackingStoreState):
2985 (WebKit::AcceleratedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage): Deleted.
2986 * WebProcess/WebPage/AcceleratedDrawingArea.h:
2987 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2988 (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2989 (WebKit::CoordinatedLayerTreeHost::commitSceneState):
2990 (WebKit::CoordinatedLayerTreeHost::createCoordinatedSurface):
2991 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2992 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Removed.
2993 * WebProcess/WebPage/DrawingArea.cpp:
2994 (WebKit::DrawingArea::create):
2995 * WebProcess/WebPage/DrawingArea.h:
2996 * WebProcess/WebPage/LayerTreeHost.cpp:
2997 (WebKit::LayerTreeHost::create):
2998 * WebProcess/WebPage/LayerTreeHost.h:
2999 * WebProcess/WebPage/WebPage.cpp:
3000 (WebKit::WebPage::~WebPage):
3001 (WebKit::WebPage::pageDidRequestScroll):
3002 (WebKit::WebPage::didCompletePageTransition):
3003 (WebKit::WebPage::didReceiveMessage):
3004 (WebKit::WebPage::commitPageTransitionViewport): Deleted.
3005 * WebProcess/WebPage/WebPage.h:
3006 * WebProcess/WebPage/WebPage.messages.in:
3008 2017-02-18 Michael Catanzaro <mcatanzaro@igalia.com>
3010 [GTK] Cannot paste primary selection into web view in Wayland
3011 https://bugs.webkit.org/show_bug.cgi?id=166949
3013 Reviewed by Carlos Garcia Campos.
3015 Once upon a time, primary selection (middle-click paste) was not supported in Wayland. At
3016 the time, I changed this function to report that primary selection was unsupported. But
3017 nowadays, primary selection works fine in all GTK+ applications except WebKit. All we have
3018 to do to make it work in WebKit is change this return value.
3020 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3021 (WebKit::WebEditorClient::supportsGlobalSelection):
3023 2017-02-17 Brian Burg <bburg@apple.com>
3025 Web Inspector: RTL: Inspector window should dock to the left when using RTL layout direction
3026 https://bugs.webkit.org/show_bug.cgi?id=168273
3027 <rdar://problem/29949325>
3029 Reviewed by Matt Baker.
3031 Add the ability to dock Web Inspector to the left of the inspected view.
3032 The frontend decides whether the Dock to Side button docks left or right
3033 based on the current layout direction.
3035 * UIProcess/WebInspectorProxy.cpp:
3036 (WebKit::WebInspectorProxy::attachLeft):
3037 (WebKit::WebInspectorProxy::attach):
3038 (WebKit::WebInspectorProxy::createInspectorPage):
3039 * UIProcess/WebInspectorProxy.h:
3040 * UIProcess/WebInspectorProxy.messages.in:
3041 Add plumbing for new dock configuration.
3043 * UIProcess/mac/WebInspectorProxyMac.mm:
3044 (WebKit::WebInspectorProxy::platformCreateInspectorPage):
3045 (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
3046 (WebKit::WebInspectorProxy::platformAttach):
3047 Adapt existing sizing logic to work for docking to left.
3049 * WebProcess/WebPage/WebInspectorUI.cpp:
3050 (WebKit::WebInspectorUI::requestSetDockSide):
3051 (WebKit::WebInspectorUI::setDockSide):
3052 * WebProcess/WebPage/WebInspectorUI.h:
3053 (WebKit::WebInspectorUI::attachedLeft):
3054 * WebProcess/WebPage/WebInspectorUI.messages.in:
3055 Add plumbing for new dock configuration.
3057 2017-02-16 Simon Fraser <simon.fraser@apple.com>
3059 Allow PlatformCALayers to specify that they want deep color backing store
3060 https://bugs.webkit.org/show_bug.cgi?id=168495
3062 Reviewed by Tim Horton.
3064 Currently capable iOS devices get deep color backing store by virtue of a supports
3065 check in PlatformCALayerCocoa::PlatformCALayerCocoa(), and LegacyTileGridTile.
3067 Future work will make layer contents format selection more complex, so express the need
3068 for deep color on PlatformCALayer, and have the creators of PlatformCALayer (mainly the
3069 flavors of GraphicsLayerCA) choose for them to support deep color. A bit of special-casing
3070 is needed to propagte the state to TileControllers.
3072 The deep-colorness now propagates from PlatformCALayerRemote to RemoteLayerBackingStore,
3073 instead of RemoteLayerBackingStore looking at the properties of the screen directly.
3075 Remove PlatformCALayer::LayerTypeWebTiledLayer which was only used for the old CATiledLayers
3076 that we no longer use.
3078 * Shared/mac/RemoteLayerBackingStore.h:
3079 * Shared/mac/RemoteLayerBackingStore.mm:
3080 (WebKit::RemoteLayerBackingStore::ensureBackingStore):
3081 (WebKit::RemoteLayerBackingStore::bytesPerPixel):
3082 (WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
3083 (WebKit::RemoteLayerBackingStore::drawInContext):
3084 (WebKit::RemoteLayerBackingStore::surfaceBufferFormat):
3085 (WebKit::bufferFormat): Deleted.
3086 * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
3087 (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
3088 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
3089 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
3090 (WebKit::PlatformCALayerRemote::PlatformCALayerRemote):
3091 (WebKit::PlatformCALayerRemote::updateBackingStore):
3092 (WebKit::PlatformCALayerRemote::wantsDeepColorBackingStore):
3093 (WebKit::PlatformCALayerRemote::setWantsDeepColorBackingStore):
3094 * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
3095 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
3096 (WebKit::PlatformCALayerRemoteTiledBacking::wantsDeepColorBackingStore):
3097 (WebKit::PlatformCALayerRemoteTiledBacking::setWantsDeepColorBackingStore):
3098 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
3100 2017-02-17 Wenson Hsieh <wenson_hsieh@apple.com>
3102 [WK2] Action sheet should not dismiss when a DDAction with user interface is being presented
3103 https://bugs.webkit.org/show_bug.cgi?id=168528
3104 <rdar://problem/30515324>
3106 Reviewed by Beth Dakin.
3108 After r211643, -[WKActionSheet doneWithSheet] now dismisses the presenting view controller. This is called when
3109 interaction with the sheet is finished and is a reasonable thing to do in most cases. However, when using data
3110 detectors, we don't want to dismiss the presenting view controller, since DataDetector handles dismissing on its
3111 own and expects that its completion handler will be invoked.
3113 To fix this, we add a parameter to doneWithSheet: to indicate whether or not we should additionally dismiss the
3114 presenting view controller, and pass in NO in the case where we are handing control over to DataDetector.
3116 * UIProcess/ios/WKActionSheet.h:
3117 * UIProcess/ios/WKActionSheet.mm:
3118 (-[WKActionSheet doneWithSheet:]):
3119 (-[WKActionSheet doneWithSheet]): Deleted.
3120 * UIProcess/ios/WKActionSheetAssistant.mm:
3121 (-[WKActionSheetAssistant showDataDetectorsSheet]):
3122 (-[WKActionSheetAssistant cleanupSheet]):
3124 2017-02-17 Michael Catanzaro <mcatanzaro@igalia.com>
3126 Remove EFL from WebKit2
3127 https://bugs.webkit.org/show_bug.cgi?id=168511
3129 Reviewed by Alex Christensen.
3131 * Platform/IPC/unix/ConnectionUnix.cpp:
3132 (IPC::Connection::platformInvalidate):
3133 (IPC::Connection::open):
3134 * Platform/Module.h:
3135 * PlatformEfl.cmake: Removed.
3136 * PluginProcess/unix/PluginProcessMainUnix.cpp:
3137 * Shared/API/APIObject.h:
3138 * Shared/API/c/WKBase.h:
3139 * Shared/API/c/WKSharedAPICast.h:
3142 * Shared/NativeWebKeyboardEvent.h:
3143 (WebKit::NativeWebKeyboardEvent::isFakeEventForComposition):
3144 (WebKit::NativeWebKeyboardEvent::isFiltered): Deleted.
3145 * Shared/NativeWebMouseEvent.h:
3146 (WebKit::NativeWebMouseEvent::nativeEvent):
3147 (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): Deleted.
3148 * Shared/NativeWebTouchEvent.h:
3149 (WebKit::NativeWebTouchEvent::nativeEvent):
3150 * Shared/NativeWebWheelEvent.h:
3151 (WebKit::NativeWebWheelEvent::nativeEvent):
3152 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
3153 (WebKit::NetscapePluginModule::determineQuirks):
3154 * Shared/WebPreferencesDefinitions.h:
3155 * UIProcess/API/APIWebsiteDataStore.cpp:
3156 * UIProcess/API/C/WKAPICast.h:
3157 * UIProcess/API/C/WKTextChecker.cpp:
3158 * UIProcess/API/C/WKTextChecker.h:
3159 * UIProcess/ChildProcessProxy.cpp:
3160 (WebKit::ChildProcessProxy::getLaunchOptions):
3161 * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
3162 (WebKit::PageViewportController::pixelAlignedFloatPoint):
3163 * UIProcess/InspectorServer/WebInspectorServer.h:
3164 * UIProcess/Launcher/ProcessLauncher.h:
3165 * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
3166 * UIProcess/PageClient.h:
3167 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
3168 (WebKit::PluginProcessProxy::scanPlugin):
3169 * UIProcess/WebInspectorProxy.h:
3170 * UIProcess/WebPageProxy.h:
3171 * WebKit2.xcodeproj/project.pbxproj:
3172 * WebProcess/InjectedBundle/InjectedBundle.h:
3173 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3174 (WebKit::getPluginDisplay):
3175 (WebKit::x11Screen):
3176 (WebKit::displayDepth):
3177 (WebKit::rootWindowID):
3178 (WebKit::NetscapePluginX11::paint):
3179 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3180 (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
3181 (WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):
3182 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3183 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
3184 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3185 (WebKit::WebFrameLoaderClient::saveViewStateToItem):
3186 (WebKit::WebFrameLoaderClient::restoreViewState):
3187 (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
3188 * WebProcess/WebPage/WebPage.cpp:
3189 (WebKit::WebPage::WebPage):
3190 * WebProcess/WebPage/WebPage.h:
3191 * WebProcess/WebPage/WebPage.messages.in:
3194 2017-02-15 Brady Eidson <beidson@apple.com>
3196 Stop backing up localStorage databases to iCloud by default.
3197 <rdar://problem/29045531> and https://bugs.webkit.org/show_bug.cgi?id=168388
3199 Reviewed by Geoffrey Garen.
3201 * UIProcess/Cocoa/VersionChecks.h:
3203 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
3204 (WebKit::LocalStorageDatabaseTracker::databasePath):
3205 * UIProcess/Storage/LocalStorageDatabaseTracker.h:
3206 * UIProcess/Storage/ios/LocalStorageDatabaseTrackerIOS.mm: Copied from Source/WebKit2/UIProcess/Cocoa/VersionChecks.h.
3207 (WebKit::LocalStorageDatabaseTracker::platformExcludeFromBackup):
3209 * WebKit2.xcodeproj/project.pbxproj:
3211 2017-02-16 Aakash Jain <aakash_jain@apple.com>
3213 Remove unused methods WKPageGetDebugPaintFlags and WKPageSetDebugPaintFlags
3214 https://bugs.webkit.org/show_bug.cgi?id=168464
3216 Reviewed by Alexey Proskuryakov.
3218 * UIProcess/API/C/WKPagePrivate.h:
3220 2017-02-16 Youenn Fablet <youenn@apple.com>
3222 [WebRTC] libwebrtc socket addresses should not be passed as strings
3223 https://bugs.webkit.org/show_bug.cgi?id=168474
3225 Reviewed by Alex Christensen.
3227 Removing all seralization of socket addresses as strings.
3228 Instead, a dedicated serialization is provided.
3229 This allows proper handling of various cases like addresses with both hostnames and resolved IPs.
3231 * NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:
3232 (WebKit::LibWebRTCSocketClient::signalReadPacket):
3233 (WebKit::LibWebRTCSocketClient::signalSentPacket):
3234 (WebKit::LibWebRTCSocketClient::signalAddressReady):
3235 * NetworkProcess/webrtc/NetworkRTCProvider.cpp:
3236 (WebKit::NetworkRTCProvider::createUDPSocket):
3237 (WebKit::NetworkRTCProvider::createServerTCPSocket):
3238 (WebKit::NetworkRTCProvider::createClientTCPSocket):
3239 * NetworkProcess/webrtc/NetworkRTCProvider.h:
3240 * NetworkProcess/webrtc/NetworkRTCProvider.messages.in:
3241 * NetworkProcess/webrtc/NetworkRTCSocket.cpp:
3242 (WebKit::NetworkRTCSocket::sendTo):
3243 * NetworkProcess/webrtc/NetworkRTCSocket.h:
3244 * NetworkProcess/webrtc/NetworkRTCSocket.messages.in:
3245 * Shared/RTCNetwork.cpp:
3246 (WebKit::RTCNetwork::SocketAddress::decode):
3247 (WebKit::RTCNetwork::SocketAddress::encode):
3248 * Shared/RTCNetwork.h:
3249 (WebKit::RTCNetwork::SocketAddress::SocketAddress):
3250 * WebProcess/Network/webrtc/LibWebRTCSocket.cpp:
3251 (WebKit::LibWebRTCSocket::signalAddressReady):
3252 (WebKit::LibWebRTCSocket::SendTo):
3253 * WebProcess/Network/webrtc/LibWebRTCSocket.h:
3254 * WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:
3255 (WebKit::LibWebRTCSocketFactory::CreateServerTcpSocket):
3256 (WebKit::LibWebRTCSocketFactory::CreateUdpSocket):
3257 (WebKit::LibWebRTCSocketFactory::CreateClientTcpSocket):
3258 * WebProcess/Network/webrtc/WebRTCSocket.cpp:
3259 (WebKit::WebRTCSocket::signalAddressReady):
3260 * WebProcess/Network/webrtc/WebRTCSocket.h:
3261 * WebProcess/Network/webrtc/WebRTCSocket.messages.in:
3263 2017-02-16 Daniel Bates <dabates@apple.com>
3265 Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
3266 https://bugs.webkit.org/show_bug.cgi?id=168417
3267 <rdar://problem/30541748>
3269 Reviewed by Brent Fulgham.
3271 Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
3272 Widget* as it is always called with a valid Widget.
3274 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3275 (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
3276 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3277 * mac/WebKit2.order: Remove symbol for WebFrameLoaderClient::redirectDataToPlugin() that took a Widget*
3278 as it no longer exists. I am unclear if this file is still meaningful as it was last modified in
3279 r180570 (2 years ago) though Xcode still references this ordering file (why?).
3281 2017-02-16 Alex Christensen <achristensen@webkit.org>
3283 Remove EFL-specific files in WebKit2.
3285 Rubber-stamped by Anders Carlsson
3287 * DatabaseProcess/efl: Removed.
3288 * DatabaseProcess/efl/DatabaseProcessMainEfl.cpp: Removed.
3289 * NetworkProcess/Downloads/efl: Removed.
3290 * NetworkProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp: Removed.
3291 * NetworkProcess/efl: Removed.
3292 * NetworkProcess/efl/NetworkProcessMainEfl.cpp: Removed.
3293 * Platform/efl: Removed.
3294 * Platform/efl/ModuleEfl.cpp: Removed.
3295 * Shared/API/c/efl: Removed.
3296 * Shared/API/c/efl/WKArrayEfl.cpp: Removed.
3297 * Shared/API/c/efl/WKArrayEfl.h: Removed.
3298 * Shared/API/c/efl/WKBaseEfl.h: Removed.
3299 * Shared/efl: Removed.
3300 * Shared/efl/NativeWebKeyboardEventEfl.cpp: Removed.
3301 * Shared/efl/NativeWebTouchEventEfl.cpp: Removed.
3302 * Shared/efl/NativeWebWheelEventEfl.cpp: Removed.
3303 * Shared/efl/ProcessExecutablePathEfl.cpp: Removed.
3304 * Shared/efl/WebEventFactory.cpp: Removed.
3305 * Shared/efl/WebEventFactory.h: Removed.
3306 * UIProcess/API/C/efl: Removed.
3307 * UIProcess/API/C/efl/WKAPICastEfl.h: Removed.
3308 * UIProcess/API/C/efl/WKColorPickerResultListener.cpp: Removed.
3309 * UIProcess/API/C/efl/WKColorPickerResultListener.h: Removed.
3310 * UIProcess/API/C/efl/WKEventEfl.cpp: Removed.
3311 * UIProcess/API/C/efl/WKEventEfl.h: Removed.
3312 * UIProcess/API/C/efl/WKViewEfl.cpp: Removed.
3313 * UIProcess/API/C/efl/WKViewEfl.h: Removed.
3314 * UIProcess/API/cpp/efl: Removed.
3315 * UIProcess/API/cpp/efl/WKEinaSharedString.cpp: Removed.
3316 * UIProcess/API/cpp/efl/WKEinaSharedString.h: Removed.
3317 * UIProcess/API/efl: Removed.
3318 * UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp: Removed.
3319 * UIProcess/API/efl/EWebKit2.h.in: Removed.
3320 * UIProcess/API/efl/EwkView.cpp: Removed.
3321 * UIProcess/API/efl/EwkView.h: Removed.
3322 * UIProcess/API/efl/EwkViewCallbacks.h: Removed.
3323 * UIProcess/API/efl/GestureRecognizer.cpp: Removed.
3324 * UIProcess/API/efl/GestureRecognizer.h: Removed.
3325 * UIProcess/API/efl/SnapshotImageGL.cpp: Removed.
3326 * UIProcess/API/efl/SnapshotImageGL.h: Removed.
3327 * UIProcess/API/efl/WebAccessibility.cpp: Removed.
3328 * UIProcess/API/efl/WebAccessibility.h: Removed.
3329 * UIProcess/API/efl/ewk_application_cache_manager.cpp: Removed.
3330 * UIProcess/API/efl/ewk_application_cache_manager.h: Removed.
3331 * UIProcess/API/efl/ewk_application_cache_manager_private.h: Removed.
3332 * UIProcess/API/efl/ewk_auth_request.cpp: Removed.
3333 * UIProcess/API/efl/ewk_auth_request.h: Removed.
3334 * UIProcess/API/efl/ewk_auth_request_private.h: Removed.
3335 * UIProcess/API/efl/ewk_back_forward_list.cpp: Removed.
3336 * UIProcess/API/efl/ewk_back_forward_list.h: Removed.
3337 * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Removed.
3338 * UIProcess/API/efl/ewk_back_forward_list_item.h: Removed.
3339 * UIProcess/API/efl/ewk_back_forward_list_item_private.h: Removed.
3340 * UIProcess/API/efl/ewk_back_forward_list_private.h: Removed.
3341 * UIProcess/API/efl/ewk_color_picker.cpp: Removed.
3342 * UIProcess/API/efl/ewk_color_picker.h: Removed.
3343 * UIProcess/API/efl/ewk_color_picker_private.h: Removed.
3344 * UIProcess/API/efl/ewk_context.cpp: Removed.
3345 * UIProcess/API/efl/ewk_context.h: Removed.
3346 * UIProcess/API/efl/ewk_context_menu.cpp: Removed.
3347 * UIProcess/API/efl/ewk_context_menu.h: Removed.
3348 * UIProcess/API/efl/ewk_context_menu_item.cpp: Removed.
3349 * UIProcess/API/efl/ewk_context_menu_item.h: Removed.
3350 * UIProcess/API/efl/ewk_context_menu_item_private.h: Removed.
3351 * UIProcess/API/efl/ewk_context_menu_private.h: Removed.
3352 * UIProcess/API/efl/ewk_context_private.h: Removed.
3353 * UIProcess/API/efl/ewk_cookie_manager.cpp: Removed.
3354 * UIProcess/API/efl/ewk_cookie_manager.h: Removed.
3355 * UIProcess/API/efl/ewk_cookie_manager_private.h: Removed.
3356 * UIProcess/API/efl/ewk_database_manager.cpp: Removed.
3357 * UIProcess/API/efl/ewk_database_manager.h: Removed.
3358 * UIProcess/API/efl/ewk_database_manager_private.h: Removed.
3359 * UIProcess/API/efl/ewk_download_job.cpp: Removed.
3360 * UIProcess/API/efl/ewk_download_job.h: Removed.
3361 * UIProcess/API/efl/ewk_download_job_private.h: Removed.
3362 * UIProcess/API/efl/ewk_error.cpp: Removed.
3363 * UIProcess/API/efl/ewk_error.h: Removed.
3364 * UIProcess/API/efl/ewk_error_private.h: Removed.
3365 * UIProcess/API/efl/ewk_favicon_database.cpp: Removed.
3366 * UIProcess/API/efl/ewk_favicon_database.h: Removed.
3367 * UIProcess/API/efl/ewk_favicon_database_private.h: Removed.
3368 * UIProcess/API/efl/ewk_file_chooser_request.cpp: Removed.
3369 * UIProcess/API/efl/ewk_file_chooser_request.h: Removed.
3370 * UIProcess/API/efl/ewk_file_chooser_request_private.h: Removed.
3371 * UIProcess/API/efl/ewk_form_submission_request.cpp: Removed.
3372 * UIProcess/API/efl/ewk_form_submission_request.h: Removed.
3373 * UIProcess/API/efl/ewk_form_submission_request_private.h: Removed.
3374 * UIProcess/API/efl/ewk_intro.h: Removed.
3375 * UIProcess/API/efl/ewk_main.cpp: Removed.
3376 * UIProcess/API/efl/ewk_main.h: Removed.
3377 * UIProcess/API/efl/ewk_main_private.h: Removed.
3378 * UIProcess/API/efl/ewk_navigation_data.cpp: Removed.
3379 * UIProcess/API/efl/ewk_navigation_data.h: Removed.
3380 * UIProcess/API/efl/ewk_navigation_data_private.h: Removed.
3381 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: Removed.
3382 * UIProcess/API/efl/ewk_navigation_policy_decision.h: Removed.
3383 * UIProcess/API/efl/ewk_navigation_policy_decision_private.h: Removed.
3384 * UIProcess/API/efl/ewk_object.cpp: Removed.
3385 * UIProcess/API/efl/ewk_object.h: Removed.
3386 * UIProcess/API/efl/ewk_object_private.h: Removed.
3387 * UIProcess/API/efl/ewk_page_group.cpp: Removed.
3388 * UIProcess/API/efl/ewk_page_group.h: Removed.
3389 * UIProcess/API/efl/ewk_page_group_private.h: Removed.
3390 * UIProcess/API/efl/ewk_popup_menu.cpp: Removed.
3391 * UIProcess/API/efl/ewk_popup_menu.h: Removed.
3392 * UIProcess/API/efl/ewk_popup_menu_item.cpp: Removed.
3393 * UIProcess/API/efl/ewk_popup_menu_item.h: Removed.
3394 * UIProcess/API/efl/ewk_popup_menu_item_private.h: Removed.
3395 * UIProcess/API/efl/ewk_popup_menu_private.h: Removed.
3396 * UIProcess/API/efl/ewk_security_origin.cpp: Removed.
3397 * UIProcess/API/efl/ewk_security_origin.h: Removed.
3398 * UIProcess/API/efl/ewk_security_origin_private.h: Removed.
3399 * UIProcess/API/efl/ewk_settings.cpp: Removed.
3400 * UIProcess/API/efl/ewk_settings.h: Removed.
3401 * UIProcess/API/efl/ewk_settings_private.h: Removed.
3402 * UIProcess/API/efl/ewk_storage_manager.cpp: Removed.
3403 * UIProcess/API/efl/ewk_storage_manager.h: Removed.
3404 * UIProcess/API/efl/ewk_storage_manager_private.h: Removed.
3405 * UIProcess/API/efl/ewk_text_checker.cpp: Removed.
3406 * UIProcess/API/efl/ewk_text_checker.h: Removed.
3407 * UIProcess/API/efl/ewk_text_checker_private.h: Removed.
3408 * UIProcess/API/efl/ewk_touch.h: Removed.
3409 * UIProcess/API/efl/ewk_url_request.cpp: Removed.
3410 * UIProcess/API/efl/ewk_url_request.h: Removed.
3411 * UIProcess/API/efl/ewk_url_request_private.h: Removed.
3412 * UIProcess/API/efl/ewk_url_response.cpp: Removed.
3413 * UIProcess/API/efl/ewk_url_response.h: Removed.
3414 * UIProcess/API/efl/ewk_url_response_private.h: Removed.
3415 * UIProcess/API/efl/ewk_url_scheme_request.cpp: Removed.
3416 * UIProcess/API/efl/ewk_url_scheme_request.h: Removed.
3417 * UIProcess/API/efl/ewk_url_scheme_request_private.h: Removed.
3418 * UIProcess/API/efl/ewk_view.cpp: Removed.
3419 * UIProcess/API/efl/ewk_view.h: Removed.
3420 * UIProcess/API/efl/ewk_view_configuration.cpp: Removed.
3421 * UIProcess/API/efl/ewk_view_configuration.h: Removed.
3422 * UIProcess/API/efl/ewk_view_configuration_private.h: Removed.
3423 * UIProcess/API/efl/ewk_view_private.h: Removed.
3424 * UIProcess/API/efl/ewk_window_features.cpp: Removed.
3425 * UIProcess/API/efl/ewk_window_features.h: Removed.
3426 * UIProcess/API/efl/ewk_window_features_private.h: Removed.
3427 * UIProcess/API/efl/tests: Removed.
3428 * UIProcess/API/efl/tests/UnitTestUtils: Removed.
3429 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: Removed.
3430 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: Removed.
3431 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: Removed.
3432 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h: Removed.
3433 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp: Removed.
3434 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.cpp: Removed.
3435 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestServer.h: Removed.
3436 * UIProcess/API/efl/tests/extensions: Removed.
3437 * UIProcess/API/efl/tests/extensions/extension_sample.cpp: Removed.
3438 * UIProcess/API/efl/tests/resources: Removed.
3439 * UIProcess/API/efl/tests/resources/Page1.html: Removed.
3440 * UIProcess/API/efl/tests/resources/Page2.html: Removed.
3441 * UIProcess/API/efl/tests/resources/Page3.html: Removed.
3442 * UIProcess/API/efl/tests/resources/blank.ico: Removed.
3443 * UIProcess/API/efl/tests/resources/default_test_page.html: Removed.
3444 * UIProcess/API/efl/tests/resources/empty_theme.edj: Removed.
3445 * UIProcess/API/efl/tests/resources/file_chooser.html: Removed.
3446 * UIProcess/API/efl/tests/resources/frame_flattening_test.html: Removed.
3447 * UIProcess/API/efl/tests/resources/frame_flattening_test_subframe.html: Removed.
3448 * UIProcess/API/efl/tests/resources/local_file_access.html: Removed.
3449 * UIProcess/API/efl/tests/resources/redirect_url_to_default.html: Removed.
3450 * UIProcess/API/efl/tests/resources/resultMHTML.mht: Removed.
3451 * UIProcess/API/efl/tests/resources/same_page_navigation.html: Removed.
3452 * UIProcess/API/efl/tests/resources/spelling_selection_tests.html: Removed.
3453 * UIProcess/API/efl/tests/resources/spelling_test.html: Removed.
3454 * UIProcess/API/efl/tests/resources/test.pdf: Removed.
3455 * UIProcess/API/efl/tests/resources/window_move_resize.html: Removed.
3456 * UIProcess/API/efl/tests/test_ewk2_accessibility.cpp: Removed.
3457 * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp: Removed.
3458 * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: Removed.
3459 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: Removed.
3460 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Removed.
3461 * UIProcess/API/efl/tests/test_ewk2_context.cpp: Removed.
3462 * UIProcess/API/efl/tests/test_ewk2_context_history_callbacks.cpp: Removed.
3463 * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: Removed.
3464 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: Removed.
3465 * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: Removed.
3466 * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: Removed.
3467 * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Removed.
3468 * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: Removed.
3469 * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: Removed.
3470 * UIProcess/API/efl/tests/test_ewk2_javascript_binding.cpp: Removed.
3471 * UIProcess/API/efl/tests/test_ewk2_object.cpp: Removed.
3472 * UIProcess/API/efl/tests/test_ewk2_page.cpp: Removed.
3473 * UIProcess/API/efl/tests/test_ewk2_page_group.cpp: Removed.
3474 * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp: Removed.
3475 * UIProcess/API/efl/tests/test_ewk2_settings.cpp: Removed.
3476 * UIProcess/API/efl/tests/test_ewk2_ssl.cpp: Removed.
3477 * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Removed.
3478 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: Removed.
3479 * UIProcess/API/efl/tests/test_ewk2_view.cpp: Removed.
3480 * UIProcess/API/efl/tests/test_ewk2_view_configuration.cpp: Removed.
3481 * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: Removed.
3482 * UIProcess/InspectorServer/efl: Removed.
3483 * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: Removed.
3484 * UIProcess/Launcher/efl: Removed.
3485 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Removed.
3486 * UIProcess/efl: Removed.
3487 * UIProcess/efl/ContextHistoryClientEfl.cpp: Removed.
3488 * UIProcess/efl/ContextHistoryClientEfl.h: Removed.
3489 * UIProcess/efl/ContextMenuClientEfl.cpp: Removed.
3490 * UIProcess/efl/ContextMenuClientEfl.h: Removed.
3491 * UIProcess/efl/DownloadManagerEfl.cpp: Removed.
3492 * UIProcess/efl/DownloadManagerEfl.h: Removed.
3493 * UIProcess/efl/EasingCurves.cpp: Removed.
3494 * UIProcess/efl/EasingCurves.h: Removed.
3495 * UIProcess/efl/EwkDebug.h: Removed.
3496 * UIProcess/efl/EwkTouchEvent.cpp: Removed.
3497 * UIProcess/efl/EwkTouchEvent.h: Removed.
3498 * UIProcess/efl/EwkTouchPoint.cpp: Removed.
3499 * UIProcess/efl/EwkTouchPoint.h: Removed.
3500 * UIProcess/efl/FindClientEfl.cpp: Removed.
3501 * UIProcess/efl/FindClientEfl.h: Removed.
3502 * UIProcess/efl/FormClientEfl.cpp: Removed.
3503 * UIProcess/efl/FormClientEfl.h: Removed.
3504 * UIProcess/efl/InputMethodContextEfl.cpp: Removed.
3505 * UIProcess/efl/InputMethodContextEfl.h: Removed.
3506 * UIProcess/efl/PageLoadClientEfl.cpp: Removed.
3507 * UIProcess/efl/PageLoadClientEfl.h: Removed.
3508 * UIProcess/efl/PagePolicyClientEfl.cpp: Removed.
3509 * UIProcess/efl/PagePolicyClientEfl.h: Removed.
3510 * UIProcess/efl/PageUIClientEfl.cpp: Removed.
3511 * UIProcess/efl/PageUIClientEfl.h: Removed.
3512 * UIProcess/efl/PageViewportControllerClientEfl.cpp: Removed.
3513 * UIProcess/efl/PageViewportControllerClientEfl.h: Removed.
3514 * UIProcess/efl/RequestManagerClientEfl.cpp: Removed.
3515 * UIProcess/efl/RequestManagerClientEfl.h: Removed.
3516 * UIProcess/efl/TextCheckerClientEfl.cpp: Removed.
3517 * UIProcess/efl/TextCheckerClientEfl.h: Removed.
3518 * UIProcess/efl/TextCheckerEfl.cpp: Removed.
3519 * UIProcess/efl/VibrationClientEfl.cpp: Removed.
3520 * UIProcess/efl/VibrationClientEfl.h: Removed.
3521 * UIProcess/efl/ViewClientEfl.cpp: Removed.
3522 * UIProcess/efl/ViewClientEfl.h: Removed.
3523 * UIProcess/efl/WebColorPickerClient.cpp: Removed.
3524 * UIProcess/efl/WebColorPickerClient.h: Removed.
3525 * UIProcess/efl/WebColorPickerEfl.cpp: Removed.
3526 * UIProcess/efl/WebColorPickerEfl.h: Removed.
3527 * UIProcess/efl/WebColorPickerResultListenerProxy.cpp: Removed.
3528 * UIProcess/efl/WebColorPickerResultListenerProxy.h: Removed.
3529 * UIProcess/efl/WebContextMenuProxyEfl.cpp: Removed.
3530 * UIProcess/efl/WebContextMenuProxyEfl.h: Removed.
3531 * UIProcess/efl/WebInspectorProxyEfl.cpp: Removed.
3532 * UIProcess/efl/WebPageProxyEfl.cpp: Removed.
3533 * UIProcess/efl/WebPopupItemEfl.cpp: Removed.
3534 * UIProcess/efl/WebPopupItemEfl.h: Removed.
3535 * UIProcess/efl/WebPopupMenuProxyEfl.cpp: Removed.
3536 * UIProcess/efl/WebPopupMenuProxyEfl.h: Removed.
3537 * UIProcess/efl/WebPreferencesEfl.cpp: Removed.
3538 * UIProcess/efl/WebProcessPoolEfl.cpp: Removed.
3539 * UIProcess/efl/WebView.cpp: Removed.
3540 * UIProcess/efl/WebView.h: Removed.
3541 * UIProcess/efl/WebViewClient.cpp: Removed.
3542 * UIProcess/efl/WebViewClient.h: Removed.
3543 * WebProcess/InjectedBundle/API/efl: Removed.
3544 * WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h: Removed.
3545 * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp: Removed.
3546 * WebProcess/InjectedBundle/API/efl/ewk_extension.h: Removed.
3547 * WebProcess/InjectedBundle/API/efl/ewk_extension_private.h: Removed.
3548 * WebProcess/InjectedBundle/API/efl/ewk_page.cpp: Removed.
3549 * WebProcess/InjectedBundle/API/efl/ewk_page.h: Removed.
3550 * WebProcess/InjectedBundle/API/efl/ewk_page_private.h: Removed.
3551 * WebProcess/InjectedBundle/efl: Removed.
3552 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: Removed.
3553 * WebProcess/WebCoreSupport/efl: Removed.
3554 * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: Removed.
3555 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: Removed.
3556 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: Removed.
3557 * WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp: Removed.
3558 * WebProcess/WebPage/efl: Removed.
3559 * WebProcess/WebPage/efl/WebInspectorUIEfl.cpp: Removed.
3560 * WebProcess/WebPage/efl/WebPageEfl.cpp: Removed.
3561 * WebProcess/efl: Removed.
3562 * WebProcess/efl/ExtensionManagerEfl.cpp: Removed.
3563 * WebProcess/efl/ExtensionManagerEfl.h: Removed.
3564 * WebProcess/efl/WebInjectedBundleMainEfl.cpp: Removed.
3565 * WebProcess/efl/WebProcessMainEfl.cpp: Removed.
3567 * efl/EWebKit2Config.cmake.in: Removed.
3568 * efl/EWebKit2ConfigVersion.cmake.in: Removed.
3569 * efl/ewebkit2-extension.pc.in: Removed.
3570 * efl/ewebkit2.pc.in: Removed.
3572 2017-02-16 Alex Christensen <achristensen@webkit.org>
3574 Remove old URL parser
3575 https://bugs.webkit.org/show_bug.cgi?id=168483
3577 Reviewed by Tim Horton.
3579 * NetworkProcess/NetworkProcess.cpp:
3580 (WebKit::NetworkProcess::initializeNetworkProcess):
3581 * NetworkProcess/NetworkProcessCreationParameters.cpp:
3582 (WebKit::NetworkProcessCreationParameters::encode):
3583 (WebKit::NetworkProcessCreationParameters::decode):
3584 * NetworkProcess/NetworkProcessCreationParameters.h:
3585 * PlatformEfl.cmake:
3586 * PlatformGTK.cmake:
3587 * PlatformMac.cmake:
3588 * Shared/Cocoa/WebKit2InitializeCocoa.mm: Removed.
3589 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
3590 (WebKit::XPCServiceInitializer):
3591 * Shared/WebKit2Initialize.cpp:
3592 (WebKit::InitializeWebKit2):
3593 * Shared/WebKit2Initialize.h:
3595 * Shared/WebProcessCreationParameters.cpp:
3596 (WebKit::WebProcessCreationParameters::encode):
3597 (WebKit::WebProcessCreationParameters::decode):
3598 * Shared/WebProcessCreationParameters.h:
3599 * Shared/efl/WebKit2InitializeEFL.cpp: Removed.
3600 * Shared/gtk/WebKit2InitializeGTK.cpp: Removed.
3601 * UIProcess/WebProcessPool.cpp:
3602 (WebKit::WebProcessPool::ensureNetworkProcess):
3603 (WebKit::WebProcessPool::createNewWebProcess):
3604 * WebKit2.xcodeproj/project.pbxproj:
3605 * WebProcess/WebProcess.cpp:
3606 (WebKit::WebProcess::initializeWebProcess):
3608 2017-02-16 Wenson Hsieh <wenson_hsieh@apple.com>
3610 [WK2] Add additional test infrastructure and unit tests for data interaction
3611 https://bugs.webkit.org/show_bug.cgi?id=168439
3612 <rdar://problem/30557942>
3614 Reviewed by Tim Horton.
3616 Adds two new _WKTestingDelegate protocol methods that are fired when a 'start data interaction' request has been
3617 sent to the web process, and when a response has been received. See Tools/ChangeLog for more details.
3619 * UIProcess/API/Cocoa/_WKTestingDelegate.h:
3621 2017-02-16 Aakash Jain <aakash_jain@apple.com>
3623 Remove unused method WKBundlePageCopyContextMenuItemTitle
3624 https://bugs.webkit.org/show_bug.cgi?id=168456
3626 Reviewed by Dan Bernstein.
3628 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Removed WKBundlePageCopyContextMenuItemTitle.
3630 2017-02-16 Aakash Jain <aakash_jain@apple.com>
3632 Remove unused WKContextGetProcessSuppressionEnabled and WKContextSetProcessSuppressionEnabled
3633 https://bugs.webkit.org/show_bug.cgi?id=168460
3635 Reviewed by Dan Bernstein.
3637 * UIProcess/API/C/mac/WKContextPrivateMac.h:
3639 2017-02-16 Aakash Jain <aakash_jain@apple.com>
3641 Removed unused method WKContextGetProcessModel
3642 https://bugs.webkit.org/show_bug.cgi?id=168457
3644 Reviewed by Dan Bernstein.
3646 * UIProcess/API/C/WKContext.h: Removed WKContextGetProcessModel.
3648 2017-02-16 Tim Horton <timothy_horton@apple.com>
3650 WKWebView inside a UICollectionView flashes when items are inserted above it
3651 https://bugs.webkit.org/show_bug.cgi?id=168376
3652 <rdar://problem/29322051>
3654 Reviewed by Simon Fraser.
3656 Previously, we would immediately send visible content rect updates
3657 whenever we scrolled, or our frame or bounds changed, or ... a whole
3658 bunch of other things. This message would be immediately sent to the
3659 Web Content process, and coalesced at the whims of the Web Content process
3660 main thread. However, if we received multiple such updates within the
3661 same runloop cycle in the UI process, the Web Content process could
3662 send back layer tree commits for intermediate states that would
3663 never make it to the screen.
3665 In the UICollectionView case, UIKit would first scroll to the new location
3666 (potentially putting the WKWebView totally off-screen), and then update
3667 our frame (back on screen), and we would get two layer tree commits;
3668 one, with less tile coverage than needed to cover the area, and another
3671 Instead, wait until just before we commit the UI-side layer tree (and
3672 thus everyone is done moving things around) to push the new visible
3673 rect info to the Web Content process.
3675 So far, I have not found a way to test that reliably fails before
3676 and reliably passes after without adding a ton of supporting code to WebKit.
3678 * UIProcess/API/Cocoa/WKWebView.mm:
3679 (-[WKWebView _didInvokeUIScrollViewDelegateCallback]):
3680 (-[WKWebView _didCommitLayerTree:]):
3681 (-[WKWebView _didFinishScrolling]):
3682 (-[WKWebView scrollViewDidScroll:]):
3683 (-[WKWebView scrollViewDidZoom:]):
3684 (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
3685 (-[WKWebView _scrollViewDidInterruptDecelerating:]):
3686 (-[WKWebView _didScroll]):
3687 (-[WKWebView _enclosingScrollerScrollingEnded:]):
3688 (-[WKWebView _frameOrBoundsChanged]):
3689 (-[WKWebView _scheduleVisibleContentRectUpdate]):
3690 (-[WKWebView _scrollViewIsInStableState:]):
3691 (-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]):
3692 (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
3693 (-[WKWebView _setObscuredInsets:]):
3694 (-[WKWebView _endInteractiveObscuredInsetsChange]):
3695 (-[WKWebView _beginAnimatedResizeWithUpdates:]):
3696 (-[WKWebView _endAnimatedResize]):
3697 (-[WKWebView _updateVisibleContentRects]): Deleted.
3698 (-[WKWebView _updateVisibleContentRectAfterScrollInView:]): Deleted.
3699 * UIProcess/API/Cocoa/WKWebViewInternal.h:
3700 * UIProcess/ios/WKContentView.mm:
3701 (-[WKContentView _didCommitLayerTree:]):
3702 * UIProcess/ios/WKContentViewInteraction.mm:
3703 (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
3704 (-[WKContentView _stopAssistingNode]):
3705 * UIProcess/ios/WKScrollView.mm:
3706 (-[WKScrollView setContentInset:]):
3707 Have existing callers of _updateVisibleContentRect* instead call
3708 _scheduleVisibleContentRectUpdate*.
3710 In _scheduleVisibleContentRectUpdate, schedule a pre-commit callback
3711 in which we will compute the new visible content rect information
3712 and send it to the Web Content process.
3714 Keep track of the stable state of the scroll view which most recently
3715 scheduled an update, and use that to inform _updateVisibleContentRects.
3716 This matches the previous behavior where the updates might get coalesced
3717 in the Web Content process, and the most recent update wins.
3719 Make a few callers of _updateVisibleContentRectAfterScrollInView
3720 that passed in our scroll view just use _scheduleVisibleContentRectUpdate instead.
3722 2017-02-16 Brent Fulgham <bfulgham@apple.com>
3724 [WebRTC][Mac] Conditionally add sandbox extensions to the Network Process
3725 https://bugs.webkit.org/show_bug.cgi?id=168010
3726 <rdar://problem/30245503>
3728 Reviewed by Youenn Fablet.
3730 Conditionally add sandbox extensions to the Network Process when the WebRTC/Media Capture
3731 features are enabled.
3733 * NetworkProcess/NetworkProcess.h:
3734 * NetworkProcess/NetworkProcessCreationParameters.cpp:
3735 (WebKit::NetworkProcessCreationParameters::encode): Serialize new process configuration flag.
3736 (WebKit::NetworkProcessCreationParameters::decode): Ditto.
3737 * NetworkProcess/NetworkProcessCreationParameters.h:
3738 * NetworkProcess/mac/NetworkProcessMac.mm:
3739 (WebKit::NetworkProcess::platformInitializeNetworkProcess): Remember state of WebRTC for when the
3740 sandbox is established.
3741 (WebKit::NetworkProcess::initializeSandbox): Add ENABLE_WEB_RTC parameter to sandbox launch state.
3742 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Add conditional sandbox expansion to allow
3743 bidirectional network access when the ENABLE_LIBWEBRTC flag is present in the sandbox launch parameters.
3744 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3745 (WebKit::WebProcessPool::platformInitializeWebProcess): Use proper compile guards and check media stream
3746 preference, rather than the peer connection preference.
3747 (WebKit::WebProcessPool::platformInitializeNetworkProcess): Notify NetworkProcess at launch time whether the
3748 user wants WebRTC support.
3750 2017-02-16 Brent Fulgham <bfulgham@apple.com>
3752 [WebRTC][Mac][WebKit2] Initial WebProcess does not support WebRTC
3753 https://bugs.webkit.org/show_bug.cgi?id=168438
3754 <rdar://problem/30401818>
3756 Reviewed by Youenn Fablet.
3758 The sandbox extension for microphone access does not take effect until the second WebProcess
3759 is created, causing the initial browser tab to lack microphone support.
3761 This patch checks the setting earlier in the boot process so that the initial WebProcess
3762 instance gets the correct setting.
3764 * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
3765 (WebKit::WebProcessPool::platformInitializeWebProcess): Move microphone sandbox extension here, so that the
3766 initial WebProcess has the correct microphone access.
3767 * UIProcess/WebProcessPool.cpp:
3768 (WebKit::WebProcessPool::createNewWebProcess): Move microphone sandbox extension from here to platform-specific file.
3769 (WebKit::WebProcessPool::createWebPage): Remove unneeded preference checks.
3771 2017-02-16 Eric Carlson <eric.carlson@apple.com>
3773 Add WebRTC as an off-by-default experimental feature menu item.
3774 https://bugs.webkit.org/show_bug.cgi?id=167972
3775 <rdar://problem/30293429>
3777 Reviewed by Alex Christensen.
3779 * Shared/WebPreferencesDefinitions.h:
3780 * UIProcess/WebPreferences.cpp:
3781 (WebKit::WebPreferences::setPeerConnectionAndMediaStreamEnabled): We need to enable/disable
3782 peer connection and media stream preferences at the same time, so special case them.
3783 (WebKit::WebPreferences::setEnabledForFeature):
3784 * UIProcess/WebPreferences.h:
3786 2017-02-15 Alex Christensen <achristensen@webkit.org>
3788 Unreviewed, rolling out r212394.
3790 Fixed iOS WebInspector
3794 "Unreviewed, rolling out r212169."
3795 https://bugs.webkit.org/show_bug.cgi?id=166681
3796 http://trac.webkit.org/changeset/212394
3798 2017-02-15 Eric Carlson <eric.carlson@apple.com>
3800 [MediaStream] delete CaptureDeviceInfo struct
3801 https://bugs.webkit.org/show_bug.cgi?id=168395
3803 Reviewed by Sam Weinig.
3805 * Shared/WebCoreArgumentCoders.cpp:
3806 (IPC::ArgumentCoder<CaptureDevice>::encode):
3807 (IPC::ArgumentCoder<CaptureDevice>::decode):
3809 2017-02-15 Anders Carlsson <andersca@apple.com>
3813 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
3814 (WebKit::WebDragClient::startDrag):
3816 2017-02-15 Anders Carlsson <andersca@apple.com>
3818 Attempt to fix the GTK+ build.
3820 * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
3821 (WebKit::WebDragClient::startDrag):
3823 2017-02-15 Simon Fraser <simon.fraser@apple.com>
3825 Clean up WebProcessCreationParameters a little
3826 https://bugs.webkit.org/show_bug.cgi?id=168349
3828 Reviewed by Alex Christensen.
3830 Initialize the data members better, and rearrange to group the types in a slightly more space-efficient manner.
3832 * Shared/WebProcessCreationParameters.cpp:
3833 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
3834 * Shared/WebProcessCreationParameters.h:
3836 2017-02-15 Jer Noble <jer.noble@apple.com>
3838 REGRESSION(r183937): Fullscreen Exit animation missing mask
3839 https://bugs.webkit.org/show_bug.cgi?id=168360
3841 Reviewed by Eric Carlson.
3843 In r183937, the fullscreen window's clip layer has it's mask removed when the enter
3844 fullscreen animation completes, allowing low-power video playback mode to be entered. But
3845 this breaks the exit fullscreen animaiton, which assumes a mask is present. Abstract the
3846 mask creation code out into a static helper method, and use it at the beginning of the exit
3847 fullscreen animation to re-create the mask before adding animations to it.
3849 * UIProcess/mac/WKFullScreenWindowController.mm:
3851 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
3852 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
3854 2017-02-15 Alex Christensen <achristensen@webkit.org>
3856 Unreviewed, rolling out r212169.
3858 Broke iOS WebInspector
3862 "WebInspector: refactor RemoteInspector to move cocoa specific
3863 code to their own files"
3864 https://bugs.webkit.org/show_bug.cgi?id=166681
3865 http://trac.webkit.org/changeset/212169
3867 2017-02-15 Anders Carlsson <andersca@apple.com>
3869 Modernize DragClient::startDrag somewhat
3870 https://bugs.webkit.org/show_bug.cgi?id=168379
3872 Reviewed by Tim Horton.
3874 Update for WebCore changes.
3876 * WebProcess/WebCoreSupport/WebDragClient.cpp:
3877 (WebKit::WebDragClient::startDrag):
3878 * WebProcess/WebCoreSupport/WebDragClient.h:
3879 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3880 (WebKit::WebDragClient::startDrag):
3882 2017-02-15 Aakash Jain <aakash_jain@apple.com>
3884 Remove WebIOSEvent interface
3885 https://bugs.webkit.org/show_bug.cgi?id=168368
3887 Reviewed by Tim Horton.
3889 * Shared/NativeWebKeyboardEvent.h: Using WebEvent from WebCore instead of WebIOSEvent.
3890 * Shared/ios/NativeWebKeyboardEventIOS.mm: Ditto.
3891 * Shared/ios/WebIOSEventFactory.h: Ditto.
3892 * Shared/ios/WebIOSEventFactory.mm: Ditto.
3893 * UIProcess/ios/WKContentViewInteraction.h: Ditto.
3894 * UIProcess/ios/WKContentViewInteraction.mm: Ditto.
3895 * UIProcess/API/C/WKPage.cpp: Using WebEvent from WebKit.
3897 2017-02-14 Carlos Garcia Campos <cgarcia@igalia.com>
3899 [GTK] Update cookie manager API to properly work with ephemeral sessions
3900 https://bugs.webkit.org/show_bug.cgi?id=168230
3902 Reviewed by Michael Catanzaro.
3904 WebKitCookieManager is associated to a particular WebKitWebContext and uses the default session ID
3905 unconditionally. It should be associated to a WebKitWebsiteDataManager instead and use its session ID. This
3906 patch also adds support for handling cookies with WebKitWebsiteDataManager and deprecates
3907 webkit_cookie_manager_get_domains_with_cookies(), webkit_cookie_manager_delete_cookies_for_domain() and
3908 webkit_cookie_manager_delete_all_cookies(). It also adds API to get the the WebKitWebsiteDataManager of a
3909 WebKitWebView, since it's the only way to get the WebKitCookieManager associated to an ephemeral web view.
3911 * UIProcess/API/gtk/WebKitCookieManager.cpp:
3912 (webkitCookieManagerDispose): Stop observing cookie changes.
3913 (webkit_cookie_manager_class_init): Add dispose implementation.
3914 (webkitCookieManagerCreate): Create the WebKitCookieManager with a WebKitWebsiteDataManager.
3915 (webkit_cookie_manager_set_persistent_storage): Work with all contexts having the session.
3916 (webkit_cookie_manager_set_accept_policy): Ditto.
3917 (webkit_cookie_manager_get_accept_policy): Use any context having the session.
3918 (webkit_cookie_manager_get_domains_with_cookies): Deprecate and implement using WebKitWebsiteDataManager.
3919 (webkit_cookie_manager_get_domains_with_cookies_finish): Ditto.
3920 (webkit_cookie_manager_delete_cookies_for_domain): Ditto.
3921 (webkit_cookie_manager_delete_all_cookies): Ditto.
3922 * UIProcess/API/gtk/WebKitCookieManager.h:
3923 * UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
3924 * UIProcess/API/gtk/WebKitCustomProtocolManagerClient.cpp:
3925 (attachCustomProtocolManagerClientToContext):
3926 * UIProcess/API/gtk/WebKitDownloadClient.cpp:
3927 (attachDownloadClientToContext):
3928 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
3929 (attachInjectedBundleClientToContext):
3930 * UIProcess/API/gtk/WebKitSecurityManager.cpp:
3931 (registerSecurityPolicyForURIScheme):
3932 * UIProcess/API/gtk/WebKitWebContext.cpp:
3933 (webkitWebContextConstructed): Call webkitWebsiteDataManagerAddProcessPool.
3934 (webkitWebContextDispose): Call webkitWebsiteDataManagerRemoveProcessPool.
3935 (webkit_web_context_get_cookie_manager): Return the WebKitCookieManager of the WebKitWebsiteDataManager.
3936 (webkitWebContextGetProcessPool): Make it return a reference.
3937 * UIProcess/API/gtk/WebKitWebContextPrivate.h:
3938 * UIProcess/API/gtk/WebKitWebView.cpp:
3939 (webkitWebViewConstructed): Call webkitWebsiteDataManagerAddProcessPool when creating a ephemeral web view.
3940 (webkitWebViewDispose): Call webkitWebsiteDataManagerRemoveProcessPool if needed.
3941 (webkit_web_view_get_website_data_manager): Return the WebKitWebsiteDataManager or the context one.
3942 * UIProcess/API/gtk/WebKitWebView.h:
3943 * UIProcess/API/gtk/WebKitWebsiteData.cpp: Add support for Cookies type.
3944 (recordContainsSupportedDataTypes):
3945 (toWebKitWebsiteDataTypes):
3946 * UIProcess/API/gtk/WebKitWebsiteData.h:
3947 * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
3948 (_WebKitWebsiteDataManagerPrivate::~_WebKitWebsiteDataManagerPrivate): Ensure all contexts were unregistered.
3949 (webkitWebsiteDataManagerAddProcessPool): Register the process pool in the session.
3950 (webkitWebsiteDataManagerRemoveProcessPool): Unregister the process poll from the session.
3951 (webkitWebsiteDataManagerGetProcessPools): Return the list of proces pools registered.
3952 (webkit_website_data_manager_get_cookie_manager): Return the WebKitCookieManager.
3953 (toWebsiteDataTypes): Add Cookies.
3954 * UIProcess/API/gtk/WebKitWebsiteDataManager.h:
3955 * UIProcess/API/gtk/WebKitWebsiteDataManagerPrivate.h:
3956 * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
3957 * UIProcess/WebsiteData/WebsiteDataRecord.cpp:
3958 (WebKit::WebsiteDataRecord::displayNameForCookieHostName): Handle localhost as a special case here for backwards
3961 2017-02-14 Wenson Hsieh <wenson_hsieh@apple.com>
3963 [WK2] Support data interaction on links
3964 https://bugs.webkit.org/show_bug.cgi?id=168331
3965 <rdar://problem/30200837>
3967 Reviewed by Tim Horton.
3969 Adds support for data interaction on links at the client layer for WebKit2. This involves several changes,
3970 detailed in the per-method changes below:
3972 * Shared/ios/InteractionInformationAtPosition.h:
3973 * Shared/ios/InteractionInformationAtPosition.mm:
3974 (WebKit::InteractionInformationAtPosition::encode):
3975 (WebKit::InteractionInformationAtPosition::decode):
3977 Add adjustedPointForNodeRespondingToClickEvents (the request point, adjusted to take nodeRespondingToClickEvents
3978 into account) to InteractionInformationAtPosition. The web process sends this adjusted point over to the UI
3979 process so that the UI process will be able to begin a data interaction at the adjusted point rather than the
3980 request point, which is necessary for small clickable (and data-interactive) elements such as links.
3982 * UIProcess/ios/WKActionSheet.h:
3983 * UIProcess/ios/WKActionSheet.mm:
3984 (-[WKActionSheet presentSheet:]):
3985 (-[WKActionSheet _presentationRectForStyle:]):
3986 (-[WKActionSheet updateSheetPosition]):
3987 * UIProcess/ios/WKActionSheetAssistant.h:
3988 * UIProcess/ios/WKActionSheetAssistant.mm:
3989 (-[WKActionSheetAssistant presentationRectForElementUsingClosestIndicatedRect]):
3990 (-[WKActionSheetAssistant presentationRectForIndicatedElement]):
3991 (-[WKActionSheetAssistant showImageSheet]):
3992 (-[WKActionSheetAssistant _shouldPresentAtTouchLocationForElementRect:]):
3993 (-[WKActionSheetAssistant needsLinkIndicator]):
3994 (-[WKActionSheetAssistant showLinkSheet]):
3995 (-[WKActionSheetAssistant cleanupSheet]):
3996 (-[WKActionSheetAssistant _presentationStyleForImageAtElementRect:]): Deleted.
3998 Add support for the WKActionSheetPresentAtClosestIndicatorRect style of presenting an action sheet. When
3999 showing the action sheet for a link and there is space along the margins to show a popover in the first place,
4000 we will now target the popover rect to the bounding rect of the set of adjacent (or nearly-adjacent) element
4001 rects closest to the user's touch location. This covers cases where the link is split into multiple rects due to
4002 a line break, when the link is on multiple lines with a jagged rect per line, and when both of the above are
4005 * UIProcess/ios/WKContentViewInteraction.mm:
4006 (-[WKContentView pointIsInDataInteractionContent:]):
4007 (-[WKContentView _positionInformationDidChange:]):
4008 (-[WKContentView positionInformationForActionSheetAssistant:]):
4009 (-[WKContentView updatePositionInformationForActionSheetAssistant:]):
4011 Include link indicator data in the position information request if needed. As the FIXME suggests, this can be
4012 improved by asynchronously presenting the action sheet assistant after the request returns, and is something we
4013 should address in the future.
4015 * WebProcess/WebPage/ios/WebPageIOS.mm:
4016 (WebKit::WebPage::getPositionInformation):
4018 2017-02-14 Jason Rinn <jrinn@apple.com>
4020 Add new WKWebKit Cocoa API for getContentsAsString.
4021 https://bugs.webkit.org/show_bug.cgi?id=168147
4022 <rdar://problem/30502539>
4024 Reviewed by Tim Horton.
4026 * UIProcess/API/Cocoa/WKWebView.mm:
4027 (-[WKWebView _getContentsAsStringWithCompletionHandler:]): New API for getContentsAsString.
4028 * UIProcess/API/Cocoa/WKWebViewPrivate.h:
4030 2017-02-14 Chris Dumez <cdumez@apple.com>
4032 HTML Form Validation bubble should take minimum font size setting into consideration
4033 https://bugs.webkit.org/show_bug.cgi?id=168271
4034 <rdar://problem/29869869>
4036 Reviewed by Simon Fraser.
4038 * UIProcess/API/Cocoa/WKWebView.mm:
4039 (-[WKWebView _contentsOfUserInterfaceItem:]):
4040 Return font size used in the validation bubble.
4042 * UIProcess/PageClient.h:
4043 * UIProcess/ios/PageClientImplIOS.h:
4044 * UIProcess/ios/PageClientImplIOS.mm:
4045 (WebKit::PageClientImpl::createValidationBubble):
4046 * UIProcess/ios/WebPageProxyIOS.mm:
4047 (WebKit::WebPageProxy::showValidationMessage):
4048 * UIProcess/mac/PageClientImpl.h:
4049 * UIProcess/mac/PageClientImpl.mm:
4050 (WebKit::PageClientImpl::createValidationBubble):
4051 * UIProcess/mac/WebPageProxyMac.mm:
4052 (WebKit::WebPageProxy::showValidationMessage):
4053 Pass minimum font size setting when constructing the form validation bubble.
4055 2017-02-14 Commit Queue <commit-queue@webkit.org>
4057 Unreviewed, rolling out r211879.
4058 https://bugs.webkit.org/show_bug.cgi?id=168330
4060 Not ready for the menu yet (Requested by eric_car_ on
4065 "Add WebRTC as an off-by-default experimental feature menu
4067 https://bugs.webkit.org/show_bug.cgi?id=167972
4068 http://trac.webkit.org/changeset/211879
4070 2017-02-14 Simon Fraser <simon.fraser@apple.com>
4072 Add logging and defensive fixes to try to detect problems causing blank tabs
4073 https://bugs.webkit.org/show_bug.cgi?id=168270
4074 rdar://problem/30505482
4076 Reviewed by Jon Lee.
4078 Add release logging when -[WKWebView _beginAnimatedResizeWithUpdates:] and -[WKWebView _endAnimatedResize]
4079 are unbalanced across a commit, to detect cases where _endAnimatedResize&nbs