| 2018-03-17 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthN] Implement authenticatorMakeCredential |
| https://bugs.webkit.org/show_bug.cgi?id=183527 |
| <rdar://problem/35275886> |
| |
| Reviewed by Brent Fulgham. |
| |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp: |
| (WebKit::WebCredentialsMessengerProxy::WebCredentialsMessengerProxy): |
| (WebKit::WebCredentialsMessengerProxy::makeCredential): |
| (WebKit::WebCredentialsMessengerProxy::getAssertion): |
| (WebKit::WebCredentialsMessengerProxy::isUserVerifyingPlatformAuthenticatorAvailable): |
| (WebKit::WebCredentialsMessengerProxy::exceptionReply): |
| (WebKit::WebCredentialsMessengerProxy::makeCredentialReply): |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h: |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.messages.in: |
| * UIProcess/CredentialManagement/cocoa/WebCredentialsMessengerProxyCocoa.mm: Removed. |
| * WebKit.xcodeproj/project.pbxproj: |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.cpp: |
| (WebKit::WebCredentialsMessenger::makeCredential): |
| (WebKit::WebCredentialsMessenger::makeCredentialReply): |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.h: |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.messages.in: |
| |
| 2018-03-17 Daniel Bates <dabates@apple.com> |
| |
| Tests fail in messages_unittest.py |
| https://bugs.webkit.org/show_bug.cgi?id=183725 |
| |
| Partial revert of r222113. The messages generator machinery does not know when |
| it is sufficient to emit an include for wtf/Forward.h as opposed to a concrete |
| header. |
| |
| * Scripts/webkit/LegacyMessages-expected.h: |
| * Scripts/webkit/Messages-expected.h: |
| |
| 2018-03-16 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Unreviewed, rolling out r229688. |
| |
| There's a solution that doesn't require this SPI. |
| |
| Reverted changeset: |
| |
| "Add SPI to expose width and height anchors for WKWebView's |
| content view" |
| https://bugs.webkit.org/show_bug.cgi?id=183711 |
| https://trac.webkit.org/changeset/229688 |
| |
| 2018-03-16 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add SPI to expose width and height anchors for WKWebView's content view |
| https://bugs.webkit.org/show_bug.cgi?id=183711 |
| <rdar://problem/38562899> |
| |
| Reviewed by Tim Horton. |
| |
| Add _contentWidthAnchor and _contentHeightAnchor SPI to WKWebView for internal clients to be able to reason |
| about the size of the content view on iOS using autolayout. |
| |
| Test: WebKit.AutoLayoutPositionHeaderAndFooterViewsInScrollView. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _contentWidthAnchor]): |
| (-[WKWebView _contentHeightAnchor]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2018-03-16 Megan Gardner <megan_gardner@apple.com> |
| |
| Add _useSystemAppearance to WKView |
| https://bugs.webkit.org/show_bug.cgi?id=183706 |
| <rdar://problem/38516584> |
| |
| Reviewed by Tim Horton. |
| |
| Plumb useSystemAppearance and other supporting functions to WKView |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| (-[WKWebView _useSystemAppearance]): |
| (-[WKWebView _setUseSystemAppearance:]): |
| (-[WKWebView effectiveAppearanceDidChange]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView effectiveAppearanceDidChange]): |
| (-[WKView _setUseSystemAppearance:]): |
| (-[WKView _useSystemAppearance]): |
| (-[WKView _setDefaultAppearance:]): |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::setUseSystemAppearance): |
| (WebKit::WebViewImpl::useSystemAppearance): |
| (WebKit::WebViewImpl::setDefaultAppearance): |
| |
| 2018-03-16 Brent Fulgham <bfulgham@apple.com> |
| |
| Set a trap to catch an infrequent form-related nullptr crash |
| https://bugs.webkit.org/show_bug.cgi?id=183704 |
| <rdar://problem/37579354> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add a RELEASE_ASSERT to see if we ever encounter a nullptr WebCore frame. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): |
| |
| 2018-03-16 Jer Noble <jer.noble@apple.com> |
| |
| Make Fullscreen API an Experimental Feature |
| https://bugs.webkit.org/show_bug.cgi?id=183662 |
| |
| Reviewed by Jon Lee. |
| |
| Add the ability to have a conditional for whether an Experimental Feature is "visible", separate from |
| whether the preference is available, for definining platform-specific Experimental Features. |
| |
| * Scripts/GeneratePreferences.rb: |
| * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb: |
| * Shared/WebPreferences.yaml: |
| |
| 2018-03-16 Megan Gardner <megan_gardner@apple.com> |
| |
| Ensure that style is updated when the effective appearance changes |
| https://bugs.webkit.org/show_bug.cgi?id=183690 |
| <rdar://problem/38385900> |
| |
| Reviewed by Tim Horton and Wenson Hsieh. |
| |
| Respond to and respect the effective appearance changing. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView effectiveAppearanceDidChange]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setDefaultAppearance): |
| |
| 2018-03-16 Chris Dumez <cdumez@apple.com> |
| |
| URLSchemeHandler.Basic API test fails with async policy delegates |
| https://bugs.webkit.org/show_bug.cgi?id=183678 |
| |
| Reviewed by Alex Christensen. |
| |
| The issue is that the client calls _didPerformRedirection / didReceiveResponse / didReceiveData / didFinish |
| on the URLScheme task one after the one, synchronously. However, redirects and responses can be processed |
| asynchronously. To address the issue, we now queue operations requested by the client if we're waiting |
| for an async policy delegate. |
| |
| * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp: |
| (WebKit::WebURLSchemeTaskProxy::didPerformRedirection): |
| (WebKit::WebURLSchemeTaskProxy::didReceiveResponse): |
| (WebKit::WebURLSchemeTaskProxy::didReceiveData): |
| (WebKit::WebURLSchemeTaskProxy::didComplete): |
| (WebKit::WebURLSchemeTaskProxy::processNextPendingTask): |
| * WebProcess/WebPage/WebURLSchemeTaskProxy.h: |
| (WebKit::WebURLSchemeTaskProxy::queueTask): |
| |
| 2018-03-16 Claudio Saavedra <csaavedra@igalia.com> |
| |
| Suppress GCC warnings by using #include instead of #import |
| |
| Unreviewed. |
| * UIProcess/SystemPreviewController.cpp: |
| |
| 2018-03-15 Keith Rollin <krollin@apple.com> |
| |
| Telemetry for stalled webpage loads |
| https://bugs.webkit.org/show_bug.cgi?id=183221 |
| <rdar://problem/36549013> |
| |
| Reviewed by Chris Dumez. |
| |
| Add telemetry for page loads, tracking the pages that succeed, fail, |
| or are canceled. This information will be used to track the overall |
| health of our page loading as time goes on. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::close): |
| (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): |
| (WebKit::WebPageProxy::didFinishLoadForFrame): |
| (WebKit::WebPageProxy::didFailLoadForFrame): |
| (WebKit::WebPageProxy::reportPageLoadResult): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::reportPageLoadResult): |
| |
| 2018-03-15 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS WK2] Hit-testing fails when specifying a large top content inset |
| https://bugs.webkit.org/show_bug.cgi?id=183648 |
| <rdar://problem/38421894> |
| |
| Reviewed by Tim Horton. |
| |
| Currently, in the process of computing unobscured content rect in the UI process on iOS, we subtract away parts |
| of the view that are obscured by insets (e.g. MobileSafari's chrome). The helper method -[WKWebView |
| _computeContentInset] is intended to compute these obscuring insets around the view, but it takes scroll view |
| insets into account. This means that if WKWebView's inner scroll view has content insets, we'll end up shrinking |
| the unobscured content rect as if the insetted region obscures the viewport; this causes visible content on the |
| page to be uninteractible, since WKWebView erroneously thinks it's obscured. |
| |
| To address this, we rename _computeContentInset to _computeObscuredInset, and make it _not_ affected by the |
| scroll view's content insets. From code inspection and testing, all but one of the former call sites of |
| _computeContentInset really need the obscured inset instead (see below). The one exception, -[WKWebView |
| _adjustedContentOffset:], takes a scroll position from the page and maps it to a content offset in the inner |
| UIScrollView (see below for more details). |
| |
| Tests: ScrollViewInsetTests.InnerHeightWithLargeTopContentInset |
| ScrollViewInsetTests.InnerHeightWithLargeBottomContentInset |
| ScrollViewInsetTests.RestoreInitialContentOffsetAfterCrash |
| ScrollViewInsetTests.RestoreInitialContentOffsetAfterNavigation |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setHasCustomContentView:loadedMIMEType:]): |
| (-[WKWebView _initialContentOffsetForScrollView]): |
| |
| See -_contentOffsetAdjustedForObscuredInset: below. |
| |
| (-[WKWebView _contentOffsetAdjustedForObscuredInset:]): |
| |
| Formerly -_adjustedContentOffset:. -_contentOffsetAdjustedForObscuredInset: no longer takes scroll view content |
| inset into account, and only cares about insets that obscure the view. This means that the scroll position |
| (0, 0) in the document now maps to the content offset in the inner UIScrollView, such that the top of the page |
| is aligned with the top of the viewport. |
| |
| However, many call sites of -_adjustedContentOffset: were intended to compute the initial, top-left-most content |
| offset in the scroll view to scroll to when resetting the web view (i.e., they pass in CGPointZero for the |
| scroll position). An example of this is the scroll position to jump to after web content process termination, or |
| the scroll position after main frame navigation. In these cases, we actually want to jump to the top of the |
| scroll view, so we do want to use the version of the computed content insets that accounts for scroll view |
| insets. |
| |
| Since these cases are limited to finding the top-left-most scroll position, we pull this out into a separate |
| helper method (-_initialContentOffsetForScrollView) and replace calls to |
| `-[self _adjustedContentOffset:CGPointZero]` with this instead. |
| |
| (-[WKWebView _computedObscuredInset]): |
| |
| A version of -_computeContentInset that doesn't care about scroll view insets. Used whereever we need to account |
| for obscured insets rather than the combination of content insets and unobscured insets (e.g. |
| -_initialContentOffsetForScrollView). |
| |
| (-[WKWebView _processDidExit]): |
| (-[WKWebView _didCommitLayerTree:]): |
| (-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]): |
| (-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]): |
| (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): |
| (-[WKWebView _updateVisibleContentRects]): |
| (-[WKWebView _navigationGestureDidBegin]): |
| |
| In all these places where we inset the view bounds to compute the unobscured region of the viewport, it doesn't |
| make sense to additionally inset by the scroll view's content insets, since (1) the scroll view's content insets |
| don't obscure the viewport, and (2) it's perfectly valid for the inner scroll view to have arbitrarily large |
| content insets. |
| |
| (-[WKWebView _adjustedContentOffset:]): Deleted. |
| |
| Renamed to -_contentOffsetAdjustedForObscuredInset:. |
| |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView _offsetForPageNumberIndicator]): |
| |
| Similar to -_scrollToFragment: (see below). |
| |
| (-[WKPDFView _scrollToFragment:]): |
| |
| This helper figures out which content offset to scroll to, given the y-origin of a page in a PDF document. If |
| insets are added to the scroll view, we end up scrolling to the wrong content offset since we'll add the height |
| of the top content inset (imagine that the top content inset is enormous — then we'll scroll an amount equal to |
| the top content inset _past_ the point where the y-origin of the page is at the top of the viewport). |
| |
| 2018-03-15 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS] Correct sandbox violations during Flash playback under ToT WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=183672 |
| <rdar://problem/38510839> |
| |
| Reviewed by Eric Carlson. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-03-15 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r229484): Plugins often require CGS Connections to draw |
| https://bugs.webkit.org/show_bug.cgi?id=183663 |
| <rdar://problem/38439218> |
| |
| Reviewed by Per Arne Vollan. |
| |
| Flash requires an active CGSConnection to work properly. Since we don't want the WebContent |
| process to have on, create a new plugin process-specific layer host creation method that |
| gives this access. |
| |
| * Platform/mac/LayerHostingContext.h: |
| * Platform/mac/LayerHostingContext.mm: |
| (WebKit::LayerHostingContext::createForExternalPluginHostingProcess): Added. |
| * PluginProcess/mac/PluginControllerProxyMac.mm: |
| (WebKit::PluginControllerProxy::updateLayerHostingContext): Use the new creation |
| method. |
| |
| 2018-03-15 Zan Dobersek <zdobersek@igalia.com> |
| |
| [TexMap] Remove TextureMapperLayer::texture() |
| https://bugs.webkit.org/show_bug.cgi?id=183635 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Remove the CoordinatedBackingStore::texture() override since the virtual |
| method is also being removed. |
| |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: |
| (WebKit::CoordinatedBackingStore::texture const): Deleted. |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.h: |
| |
| 2018-03-14 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Add clearing of storage access to WebResourceLoadStatisticsStore::clearInMemory() |
| https://bugs.webkit.org/show_bug.cgi?id=183641 |
| <rdar://problem/38469497> |
| |
| Reviewed by Brent Fulgham and Chris Dumez. |
| |
| This change is to stabilize existing layout tests by removing |
| all storage access entries on a call to |
| WebResourceLoadStatisticsStore::clearInMemory(). |
| See Ryan Haddad's comment in https://bugs.webkit.org/show_bug.cgi?id=183620. |
| |
| Almost all of the code changes are piping to get this |
| call from the WebResourceLoadStatisticsStore to |
| WebCore::NetworkStorageSession where entries reside. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::removeAllStorageAccess): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::removeAllStorageAccess): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): |
| (WebKit::WebResourceLoadStatisticsStore::removeAllStorageAccess): |
| (WebKit::WebResourceLoadStatisticsStore::clearInMemory): |
| Now also clears all storage access entries in the network process. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::removeAllStorageAccessHandler): |
| (WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2018-03-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r229613. |
| |
| Caused API test failures |
| |
| Reverted changeset: |
| |
| "Make policy decisions asynchronous" |
| https://bugs.webkit.org/show_bug.cgi?id=180568 |
| https://trac.webkit.org/changeset/229613 |
| |
| 2018-03-14 Chris Dumez <cdumez@apple.com> |
| |
| Reduce use of SWServerToContextConnection::globalServerToContextConnection() |
| https://bugs.webkit.org/show_bug.cgi?id=183626 |
| |
| Reviewed by Youenn Fablet. |
| |
| Reduce use of SWServerToContextConnection::globalServerToContextConnection() as we are moving |
| towards having multiple context connections. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::startFetch): |
| (WebKit::WebSWServerConnection::postMessageToServiceWorker): |
| |
| 2018-03-14 Chris Dumez <cdumez@apple.com> |
| |
| Make policy decisions asynchronous |
| https://bugs.webkit.org/show_bug.cgi?id=180568 |
| <rdar://problem/37131297> |
| |
| Reviewed by Alex Christensen. |
| |
| Get rid of synchronous IPC and synchronous code paths for policy delegates. |
| Policy decisions are now all made asynchronously and rely on asynchronous |
| IPC. |
| |
| This code change is based on work by Alex Christensen. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::receivedPolicyDecision): |
| (WebKit::WebPageProxy::decidePolicyForNavigationAction): |
| (WebKit::WebPageProxy::decidePolicyForResponse): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): |
| |
| 2018-03-14 Chris Dumez <cdumez@apple.com> |
| |
| Drop unnecessary StorageToWebProcessConnection::workerContextProcessConnectionCreated() |
| https://bugs.webkit.org/show_bug.cgi?id=183624 |
| |
| Reviewed by Youenn Fablet. |
| |
| Drop unnecessary StorageToWebProcessConnection::workerContextProcessConnectionCreated() |
| since it was going through all SWServers. Calling workerContextProcessConnectionCreated() |
| on every StorageToWebProcessConnection was thus doing redundant work. |
| |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::createStorageToWebProcessConnection): |
| * StorageProcess/StorageToWebProcessConnection.cpp: |
| (WebKit::StorageToWebProcessConnection::establishSWServerConnection): |
| (WebKit::StorageToWebProcessConnection::workerContextProcessConnectionCreated): Deleted. |
| * StorageProcess/StorageToWebProcessConnection.h: |
| |
| 2018-03-14 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build after r229567 |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2018-03-13 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Immediately forward cookie access for domains with previous user interaction when there's an opener document |
| https://bugs.webkit.org/show_bug.cgi?id=183620 |
| <rdar://problem/38431469> |
| |
| Reviewed by Brent Fulgham. |
| |
| It turns out the fix in https://bugs.webkit.org/show_bug.cgi?id=183577 |
| wasn't enough to address the compatibility issues with popups. Some of |
| them just detect their unpartitioned cookies, auto-dismiss themselves, |
| and expect their unpartitioned cookies to be available under the opener |
| afterwards. We should grant them access if the popup's domain has had |
| user interaction _previously_. |
| |
| Note that we still need https://bugs.webkit.org/show_bug.cgi?id=183577 |
| because if the popup's domain has not received user interaction |
| previously, we will not grant it storage access on just the window open. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::requestStorageAccessUnderOpener): |
| (WebKit::WebResourceLoadStatisticsStore::grantStorageAccessUnderOpener): Deleted. |
| Renamed WebResourceLoadStatisticsStore::grantStorageAccessUnderOpener() |
| to WebResourceLoadStatisticsStore::requestStorageAccessUnderOpener() |
| since there is now a case where access will not be granted, i.e. when |
| the popup domain has not had user interaction previously. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebResourceLoadStatisticsStore.messages.in: |
| Similar renaming. |
| * WebProcess/WebProcess.cpp: |
| (WebProcess::WebProcess): |
| Similar renaming. |
| |
| 2018-03-13 Jer Noble <jer.noble@apple.com> |
| |
| Add missing artwork for fullscreen mode. |
| https://bugs.webkit.org/show_bug.cgi?id=183618 |
| |
| Reviewed by Jon Lee. |
| |
| * Resources/ios/iOS.xcassets/Done.imageset/Contents.json: Added. |
| * Resources/ios/iOS.xcassets/Done.imageset/Done.pdf: Added. |
| * Resources/ios/iOS.xcassets/StartPictureInPictureButton.imageset/Contents.json: Added. |
| * Resources/ios/iOS.xcassets/StartPictureInPictureButton.imageset/StartPictureInPictureButton@1x.png: Added. |
| * Resources/ios/iOS.xcassets/StartPictureInPictureButton.imageset/StartPictureInPictureButton@2x.png: Added. |
| * Resources/ios/iOS.xcassets/StartPictureInPictureButton.imageset/StartPictureInPictureButton@3x.png: Added. |
| * Resources/ios/iOS.xcassets/StopPictureInPictureButton.imageset/Contents.json: Added. |
| * Resources/ios/iOS.xcassets/StopPictureInPictureButton.imageset/StopPictureInPictureButton@1x.png: Added. |
| * Resources/ios/iOS.xcassets/StopPictureInPictureButton.imageset/StopPictureInPictureButton@2x.png: Added. |
| * Resources/ios/iOS.xcassets/StopPictureInPictureButton.imageset/StopPictureInPictureButton@3x.png: Added. |
| |
| 2018-03-13 Brian Burg <bburg@apple.com> |
| |
| [WK2] Web Inspector: NavigationAction for opening a link in a new tab should have a UserGestureIndicator |
| https://bugs.webkit.org/show_bug.cgi?id=183612 |
| <rdar://problem/38388641> |
| |
| Reviewed by Timothy Hatcher. |
| |
| The current gesture token will be attached to the NavigationAction at construction time, |
| so set up a UserGestureIndicator when creating the action and sending it out. |
| |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::openInNewTab): |
| |
| 2018-03-13 Dean Jackson <dino@apple.com> |
| |
| WKSystemPreviewView needs to implement some of UIScrollViewDelegate |
| https://bugs.webkit.org/show_bug.cgi?id=183607 |
| <rdar://problem/38427622> |
| |
| Reviewed by Antoine Quint. |
| |
| Add an empty implementation of scrollViewDidScroll. |
| |
| * UIProcess/ios/WKSystemPreviewView.mm: |
| (-[WKSystemPreviewView scrollViewDidScroll:]): |
| |
| 2018-03-13 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Soft-link LocalAuthentication.Framework |
| https://bugs.webkit.org/show_bug.cgi?id=183587 |
| <rdar://problem/38219763> |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/CredentialManagement/cocoa/WebCredentialsMessengerProxyCocoa.mm: |
| (WebKit::WebCredentialsMessengerProxy::platformIsUserVerifyingPlatformAuthenticatorAvailable): |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-03-12 Dean Jackson <dino@apple.com> |
| |
| Add a WKWebViewContentProvider for system previews |
| https://bugs.webkit.org/show_bug.cgi?id=183582 |
| <rdar://problem/38393569> |
| |
| Reviewed by Tim Horton. |
| |
| Implement WKSystemPreviewView, which conforms to WKWebViewContentProvider, in |
| order to view content as a "system preview". This effectively replaces the |
| SystemPreviewController, which will be removed soon. |
| |
| Some of the required methods of WKWebViewContentProvider are not necessary on |
| this instance, so a follow-up patch will clean the protocol up a bit. |
| |
| * UIProcess/Cocoa/NavigationState.mm: Don't trigger a SystemPreview when downloading. |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse): |
| |
| * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: |
| (-[WKWebViewContentProviderRegistry init]): Register the WKSystemPreviewView for |
| MIME types retrieved from WebKitAdditions. |
| |
| * UIProcess/ios/WKSystemPreviewView.h: Added. |
| * UIProcess/ios/WKSystemPreviewView.mm: Added. |
| |
| (-[WKSystemPreviewView web_initWithFrame:webView:]): |
| (-[WKSystemPreviewView web_setContentProviderData:suggestedFilename:]): This is the |
| method that actually creates a QuickLook preview and provides the data. |
| (-[WKSystemPreviewView web_setMinimumSize:]): |
| (-[WKSystemPreviewView web_setOverlaidAccessoryViewsInset:]): |
| (-[WKSystemPreviewView web_computedContentInsetDidChange]): |
| (-[WKSystemPreviewView web_setFixedOverlayView:]): |
| (-[WKSystemPreviewView web_didSameDocumentNavigation:]): |
| (-[WKSystemPreviewView web_countStringMatches:options:maxCount:]): |
| (-[WKSystemPreviewView web_findString:options:maxCount:]): |
| (-[WKSystemPreviewView web_hideFindUI]): |
| |
| (-[WKSystemPreviewView numberOfPreviewItemsInPreviewController:]): QuickLook delegates. |
| (-[WKSystemPreviewView previewController:previewItemAtIndex:]): |
| (-[WKSystemPreviewView provideDataForItem:]): |
| (-[WKSystemPreviewView previewControllerWillDismiss:]): |
| |
| * WebKit.xcodeproj/project.pbxproj: Add new files. |
| |
| 2018-03-12 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Immediately forward cookie access at user interaction when there's an opener document |
| https://bugs.webkit.org/show_bug.cgi?id=183577 |
| <rdar://problem/38266987> |
| |
| Reviewed by Brent Fulgham. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::hasStorageAccessForFrame): |
| Now also checks for general page access. |
| (WebKit::NetworkProcess::grantStorageAccess): |
| Renamed from grantStorageAccessForFrame since the frameID now is optional. |
| (WebKit::NetworkProcess::grantStorageAccessForFrame): Deleted. |
| Renamed since the frameID now is optional. |
| * NetworkProcess/NetworkProcess.h: |
| Renaming since the frameID now is optional. |
| * NetworkProcess/NetworkProcess.messages.in: |
| Renaming since the frameID now is optional. |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::logCookieInformation): |
| Consequence of function renaming. |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::grantStorageAccess): |
| (WebKit::NetworkProcessProxy::grantStorageAccessForFrame): Deleted. |
| Renaming since the frameID now is optional. |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): |
| Renaming since the frameID now is optional. |
| (WebKit::WebResourceLoadStatisticsStore::requestStorageAccess): |
| Handler renaming since the frameID now is optional. |
| (WebKit::WebResourceLoadStatisticsStore::grantStorageAccessUnderOpener): |
| New function for that grants cookie access under a whole page. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| Member renaming since the frameID now is optional. |
| * UIProcess/WebResourceLoadStatisticsStore.messages.in: |
| New message received straight from WebCore::ResourceLoadObserver. |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::grantStorageAccessHandler): |
| Renamed and made frameID optional. |
| (WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback): |
| Consequence of renaming and making frameID optional. |
| (WebKit::WebsiteDataStore::grantStorageAccessForFrameHandler): Deleted. |
| Renamed and made frameID optional. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * WebProcess/WebProcess.cpp: |
| (WebProcess::WebProcess): |
| Now calls setGrantStorageAccessUnderOpenerCallback() on the shared |
| WebCore::ResourceLoadObserver. |
| |
| 2018-03-12 Tim Horton <timothy_horton@apple.com> |
| |
| Stop using SDK conditionals to control feature definitions |
| https://bugs.webkit.org/show_bug.cgi?id=183430 |
| <rdar://problem/38251619> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Configurations/WebKitTargetConditionals.xcconfig: Renamed. |
| |
| 2018-03-12 Yoav Weiss <yoav@yoav.ws> |
| |
| Runtime flag for link prefetch and remove link subresource. |
| https://bugs.webkit.org/show_bug.cgi?id=183540 |
| |
| Reviewed by Chris Dumez. |
| |
| Remove the LINK_PREFETCH build time flag. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::maximumBufferingTime): |
| |
| 2018-03-12 Chris Dumez <cdumez@apple.com> |
| |
| Load may get committed before receiving policy for the resource response |
| https://bugs.webkit.org/show_bug.cgi?id=183579 |
| <rdar://problem/38268780> |
| |
| Reviewed by Youenn Fablet. |
| |
| r228852 updated WebResourceLoader::didReceiveResponse to only send the |
| ContinueDidReceiveResponse IPC back to the Networkprocess *after* the |
| policy decision for the resource response has been made. This is necessary |
| now that policy decisions can be made asynchronously. |
| |
| However, one of the 2 code paths in NetworkProcess side (code path when |
| the resource is already in the HTTP disk cache) failed to wait for the |
| ContinueDidReceiveResponse IPC before sending over the data to the WebProcess. |
| As a result, the WebProcess could commit the load before even receiving the |
| policy response from the client. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::continueDidReceiveResponse): |
| (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): |
| (WebKit::NetworkResourceLoader::continueProcessingCachedEntryAfterDidReceiveResponse): |
| * NetworkProcess/NetworkResourceLoader.h: |
| Make sure NetworkResourceLoader::didRetrieveCacheEntry() does not start sending the data |
| until the network process gets the ContinueDidReceiveResponse IPC back from the WebProcess. |
| |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didReceiveResponse): |
| (WebKit::WebResourceLoader::didReceiveData): |
| * WebProcess/Network/WebResourceLoader.h: |
| Add assertion to make sure didReceiveData() never gets called before didReceiveResponse's |
| completion handler has been called. If this hits, then the load may get committed even |
| though the client did not reply to the policy for the resource response yet. |
| |
| 2018-03-12 Ali Juma <ajuma@chromium.org> |
| |
| http/tests/workers/service/service-worker-download.https.html times out with async policy delegates |
| https://bugs.webkit.org/show_bug.cgi?id=183479 |
| |
| Reviewed by Youenn Fablet. |
| |
| Ensure that ServiceWorkerFetchClient::m_isCheckingResponse is set before code that depends on it |
| executes. This bit was set by code that's posted to the runloop using 'callOnMainThread' in |
| ServiceWorkerFetchClient::didReceiveResponse. But when didReceiveResponse is executing, tasks for |
| handling didReceiveData, didFail, or didFinish may already have been posted to the runloop, and in |
| that case would execute before m_isCheckingResponse gets set, and then incorrectly fail to |
| early-out. Fix this by directly setting m_isCheckingResponse in didReceiveResponse. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::start): |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| |
| 2018-03-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| REGRESSION(r211643): Dismissing WKActionSheet should not also dismiss its presenting view controller |
| https://bugs.webkit.org/show_bug.cgi?id=183549 |
| <rdar://problem/34960698> |
| |
| Reviewed by Andy Estes. |
| |
| Fixes the bug by dismissing the presented view controller (i.e. the action sheet or the view controller being |
| presented during rotation) rather than the presenting view controller. |
| |
| Test: ActionSheetTests.DismissingActionSheetShouldNotDismissPresentingViewController |
| |
| * UIProcess/ios/WKActionSheet.mm: |
| (-[WKActionSheet doneWithSheet:]): |
| |
| 2018-03-12 Javier Fernandez <jfernandez@igalia.com> |
| |
| Remove GridLayout runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=183484 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| The Grid Layout feature has been enabled by default for almost a |
| year, so I think it's time to remove the runtime flag and the |
| codepath run when the feature is disabled. |
| |
| * Shared/WebPreferences.yaml: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| |
| 2018-03-11 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Fix the internal iOS build after r229512 |
| https://bugs.webkit.org/show_bug.cgi?id=183550 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Fixes a typo in a header import, as well as a nullability error. `SecTrustEvaluate()` takes in a nonnull outparam, |
| which was removed in r229512; this adds the outparam back, but does not consult its value when setting the |
| `infoDictionary`. |
| |
| * UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm: |
| (-[WKFullScreenWindowController _EVOrganizationName]): |
| |
| 2018-03-10 Jer Noble <jer.noble@apple.com> |
| |
| Improvements to fullscreen; new UI and security features |
| https://bugs.webkit.org/show_bug.cgi?id=183503 |
| |
| Reviewed by Dean Jackson. |
| |
| Now that the iOS Fullscreen code has more than one major class, move it into an ios/ |
| directory. |
| |
| Clean up the WKFullScreenWindowControllerIOS class to more clearly separate external |
| facing API from purely internal functions. |
| |
| Move the WKFullScreenViewController out into its own file. Add support for fullscreen |
| top inset and fullscreen autohide duration CSS constants. |
| |
| Add a heuristic to distinguish between media control related touches and ones that look |
| more keyboard interactions. |
| |
| Add a new UIStackView based control to hold the fullscreen controls. |
| |
| * UIProcess/ios/WKFullScreenWindowControllerIOS.mm: Removed. |
| * UIProcess/ios/fullscreen/FullscreenTouchSecheuristic.cpp: Added. |
| (WebKit::FullscreenTouchSecheuristic::scoreOfNextTouch): |
| (WebKit::FullscreenTouchSecheuristic::reset): |
| (WebKit::FullscreenTouchSecheuristic::distanceScore): |
| (WebKit::FullscreenTouchSecheuristic::attenuationFactor): |
| * UIProcess/ios/fullscreen/FullscreenTouchSecheuristic.h: |
| (WebKit::FullscreenTouchSecheuristic::setRampUpSpeed): |
| (WebKit::FullscreenTouchSecheuristic::setRampDownSpeed): |
| (WebKit::FullscreenTouchSecheuristic::setXWeight): |
| (WebKit::FullscreenTouchSecheuristic::setYWeight): |
| (WebKit::FullscreenTouchSecheuristic::setSize): |
| (WebKit::FullscreenTouchSecheuristic::setGamma): |
| (WebKit::FullscreenTouchSecheuristic::setGammaCutoff): |
| * UIProcess/ios/fullscreen/WKFullScreenViewController.h: |
| * UIProcess/ios/fullscreen/WKFullScreenViewController.mm: Added. |
| (WKFullScreenViewControllerPlaybackSessionModelClient::setParent): |
| (WKFullScreenViewControllerPlaybackSessionModelClient::setInterface): |
| (-[_WKExtrinsicButton setExtrinsicContentSize:]): |
| (-[_WKExtrinsicButton intrinsicContentSize]): |
| (-[WKFullScreenViewController initWithWebView:]): |
| (-[WKFullScreenViewController dealloc]): |
| (-[WKFullScreenViewController showUI]): |
| (-[WKFullScreenViewController hideUI]): |
| (-[WKFullScreenViewController videoControlsManagerDidChange]): |
| (-[WKFullScreenViewController setPrefersStatusBarHidden:]): |
| (-[WKFullScreenViewController setPlaying:]): |
| (-[WKFullScreenViewController setPictureInPictureActive:]): |
| (-[WKFullScreenViewController loadView]): |
| (-[WKFullScreenViewController viewWillAppear:]): |
| (-[WKFullScreenViewController viewDidLayoutSubviews]): |
| (-[WKFullScreenViewController viewWillTransitionToSize:withTransitionCoordinator:]): |
| (-[WKFullScreenViewController preferredStatusBarStyle]): |
| (-[WKFullScreenViewController prefersStatusBarHidden]): |
| (-[WKFullScreenViewController gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): |
| (-[WKFullScreenViewController gestureRecognizer:shouldReceiveTouch:]): |
| (-[WKFullScreenViewController _manager]): |
| (-[WKFullScreenViewController _effectiveFullscreenInsetTop]): |
| (-[WKFullScreenViewController _cancelAction:]): |
| (-[WKFullScreenViewController _togglePiPAction:]): |
| (-[WKFullScreenViewController _touchDetected:]): |
| (-[WKFullScreenViewController _statusBarFrameDidChange:]): |
| (-[WKFullScreenViewController _updateWebViewFullscreenInsets]): |
| (-[WKFullScreenViewController _showPhishingAlert]): |
| * UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h: Copied from Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.h. |
| * UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm: Added. |
| (WebKit::replaceViewWithView): |
| (WebKit::WKWebViewState::applyTo): |
| (WebKit::WKWebViewState::store): |
| (-[WKFullscreenAnimationController transitionDuration:]): |
| (-[WKFullscreenAnimationController configureInitialAndFinalStatesForTransition:]): |
| (-[WKFullscreenAnimationController animateTransition:]): |
| (-[WKFullscreenAnimationController animationEnded:]): |
| (-[WKFullscreenAnimationController startInteractiveTransition:]): |
| (-[WKFullscreenAnimationController updateWithPercent:]): |
| (-[WKFullscreenAnimationController updateWithPercent:translation:anchor:]): |
| (-[WKFullscreenAnimationController end:]): |
| (-[WKFullScreenInteractiveTransition initWithAnimator:anchor:]): |
| (-[WKFullScreenInteractiveTransition wantsInteractiveStart]): |
| (-[WKFullScreenInteractiveTransition startInteractiveTransition:]): |
| (-[WKFullScreenInteractiveTransition updateInteractiveTransition:withTranslation:]): |
| (-[WKFullScreenInteractiveTransition cancelInteractiveTransition]): |
| (-[WKFullScreenInteractiveTransition finishInteractiveTransition]): |
| (-[WKFullScreenWindowController initWithWebView:]): |
| (-[WKFullScreenWindowController dealloc]): |
| (-[WKFullScreenWindowController isFullScreen]): |
| (-[WKFullScreenWindowController webViewPlaceholder]): |
| (-[WKFullScreenWindowController enterFullScreen]): |
| (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): |
| (-[WKFullScreenWindowController requestExitFullScreen]): |
| (-[WKFullScreenWindowController exitFullScreen]): |
| (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): |
| (-[WKFullScreenWindowController _completedExitFullScreen]): |
| (-[WKFullScreenWindowController close]): |
| (-[WKFullScreenWindowController webViewDidRemoveFromSuperviewWhileInFullscreen]): |
| (-[WKFullScreenWindowController videoControlsManagerDidChange]): |
| (-[WKFullScreenWindowController gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): |
| (-[WKFullScreenWindowController animationControllerForPresentedController:presentingController:sourceController:]): |
| (-[WKFullScreenWindowController animationControllerForDismissedController:]): |
| (-[WKFullScreenWindowController interactionControllerForDismissal:]): |
| (-[WKFullScreenWindowController _exitFullscreenImmediately]): |
| (-[WKFullScreenWindowController _invalidateEVOrganizationName]): |
| (-[WKFullScreenWindowController _isSecure]): |
| (-[WKFullScreenWindowController _serverTrust]): |
| (-[WKFullScreenWindowController _EVOrganizationName]): |
| (-[WKFullScreenWindowController _updateLocationInfo]): |
| (-[WKFullScreenWindowController _manager]): |
| (-[WKFullScreenWindowController _startToDismissFullscreenChanged:]): |
| (-[WKFullScreenWindowController _interactiveDismissChanged:]): |
| * UIProcess/ios/fullscreen/WKFullscreenStackView.h: Renamed from Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.h. |
| * UIProcess/ios/fullscreen/WKFullscreenStackView.mm: Added. |
| (+[WKFullscreenStackView baseEffects]): |
| (+[WKFullscreenStackView configureView:forTintEffectWithColor:filterType:]): |
| (+[WKFullscreenStackView configureView:withBackgroundFillOfColor:opacity:filter:]): |
| (+[WKFullscreenStackView secondaryMaterialOverlayView]): |
| (+[WKFullscreenStackView applyPrimaryGlyphTintToView:]): |
| (+[WKFullscreenStackView applySecondaryGlyphTintToView:]): |
| (-[WKFullscreenStackView initWithArrangedSubviews:axis:]): |
| (-[WKFullscreenStackView setTargetViewForSecondaryMaterialOverlay:]): |
| (-[WKFullscreenStackView contentView]): |
| (-[WKFullscreenStackView _setArrangedSubviews:axis:]): |
| (-[WKFullscreenStackView setBounds:]): |
| (-[WKFullscreenStackView updateConstraints]): |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-03-10 Megan Gardner <megan_gardner@apple.com> |
| |
| Media query for default appearance |
| https://bugs.webkit.org/show_bug.cgi?id=183539 |
| <rdar://problem/38326388> |
| |
| Reviewed by Tim Horton. |
| |
| Write a media query to evaluate appearance. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode const): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| (-[WKWebView _setUseSystemAppearance:]): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| (WebKit::WebPageProxy::setDefaultAppearance): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::defaultAppearance const): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_credentialsMessenger): |
| (WebKit::WebPage::setDefaultAppearance): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2018-03-09 Jer Noble <jer.noble@apple.com> |
| |
| Unconditionalize more methods in VideoFullscreenInterface (and related classes) |
| https://bugs.webkit.org/show_bug.cgi?id=183501 |
| <rdar://problem/38312038> |
| |
| Unreviewed build fix; add correct pragmas to code referencing m_playbackSessionManager. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::hasActiveVideoForControlsManager const): |
| (WebKit::WebPageProxy::requestControlledElementID const): |
| (WebKit::WebPageProxy::isPlayingVideoInEnhancedFullscreen const): |
| |
| 2018-03-09 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: there should only be one way for async backend commands to send failure |
| https://bugs.webkit.org/show_bug.cgi?id=183524 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Remove useless ErrorString argument from async commands. |
| |
| For Automation protocol, introduce sync and async macros for filling |
| in and sending a failure response. Now that async commands don't have |
| an ErrorString and sync commands don't have a callback, trying to send |
| an error with the wrong macro is a compile-time error. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::getBrowsingContexts): |
| (WebKit::WebAutomationSession::getBrowsingContext): |
| (WebKit::WebAutomationSession::createBrowsingContext): |
| (WebKit::WebAutomationSession::closeBrowsingContext): |
| (WebKit::WebAutomationSession::switchToBrowsingContext): |
| (WebKit::WebAutomationSession::setWindowFrameOfBrowsingContext): |
| (WebKit::WebAutomationSession::waitForNavigationToComplete): |
| (WebKit::WebAutomationSession::navigateBrowsingContext): |
| (WebKit::WebAutomationSession::goBackInBrowsingContext): |
| (WebKit::WebAutomationSession::goForwardInBrowsingContext): |
| (WebKit::WebAutomationSession::reloadBrowsingContext): |
| (WebKit::WebAutomationSession::evaluateJavaScriptFunction): |
| (WebKit::WebAutomationSession::resolveChildFrameHandle): |
| (WebKit::WebAutomationSession::resolveParentFrameHandle): |
| (WebKit::WebAutomationSession::computeElementLayout): |
| (WebKit::WebAutomationSession::selectOptionElement): |
| (WebKit::WebAutomationSession::isShowingJavaScriptDialog): |
| (WebKit::WebAutomationSession::dismissCurrentJavaScriptDialog): |
| (WebKit::WebAutomationSession::acceptCurrentJavaScriptDialog): |
| (WebKit::WebAutomationSession::messageOfCurrentJavaScriptDialog): |
| (WebKit::WebAutomationSession::setUserInputForCurrentJavaScriptPrompt): |
| (WebKit::WebAutomationSession::setFilesToSelectForFileUpload): |
| (WebKit::WebAutomationSession::getAllCookies): |
| (WebKit::WebAutomationSession::deleteSingleCookie): |
| (WebKit::WebAutomationSession::addSingleCookie): |
| (WebKit::WebAutomationSession::deleteAllCookies): |
| (WebKit::WebAutomationSession::setSessionPermissions): |
| (WebKit::WebAutomationSession::performMouseInteraction): |
| (WebKit::WebAutomationSession::performKeyboardInteractions): |
| (WebKit::WebAutomationSession::takeScreenshot): |
| (WebKit::WebAutomationSession::didTakeScreenshot): |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/WebAutomationSessionMacros.h: |
| * UIProcess/Automation/mac/WebAutomationSessionMac.mm: |
| (WebKit::WebAutomationSession::inspectBrowsingContext): |
| |
| 2018-03-09 Jer Noble <jer.noble@apple.com> |
| |
| Don't pass NULL to the result parameter of SecTrustEvaluate() |
| https://bugs.webkit.org/show_bug.cgi?id=183495 |
| <rdar://problem/38185688> |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/ios/WKFullScreenWindowControllerIOS.mm: |
| (-[WKFullScreenWindowController _EVOrganizationName]): |
| |
| 2018-03-09 Dean Jackson <dino@apple.com> |
| |
| Allow NavigationState to intercept requests and send them to SystemPreviewController |
| https://bugs.webkit.org/show_bug.cgi?id=183526 |
| <rdar://problem/37801140> |
| |
| Reviewed by Tim Horton. |
| |
| Implement a bit more of SystemPreviewController, such that it can be used |
| from NavigationState to identify and handle content that can be previewed. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse): |
| If we'd in a download response policy, then check if SystemPreviewController |
| can show the content. We ignore the download, but pass the original URL onto |
| the preview. Ultimately, we'd want to avoid the navigation |
| but use the download destination URL for preview. |
| |
| * UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: |
| (-[_WKPreviewControllerDataSource initWithURL:]): |
| Move the URL to property, to help use a single datasource object for all previews. |
| (-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]): |
| (-[_WKPreviewControllerDelegate initWithSystemPreviewController:]): |
| Add a delegate object, so we can detect when the preview is dismissed and return |
| to the previous page. |
| (-[_WKPreviewControllerDelegate previewControllerWillDismiss:]): |
| (WebKit::SystemPreviewController::showPreview): |
| Use single instances of the QLPreviewController, its datasource and delegate. |
| |
| * UIProcess/SystemPreviewController.cpp: |
| Add a helper to navigate back. |
| (WebKit::SystemPreviewController::SystemPreviewController): |
| (WebKit::SystemPreviewController::sendPageBack): |
| * UIProcess/SystemPreviewController.h: |
| |
| 2018-03-09 Jer Noble <jer.noble@apple.com> |
| |
| webkitfullscreenchange event not fired at the same time as :-webkit-full-screen pseudo selector changes; causes glitchiness |
| https://bugs.webkit.org/show_bug.cgi?id=183383 |
| <rdar://problem/38197028> |
| |
| Reviewed by Eric Carlson. |
| |
| Follow-up patch: now that the 'fullscreenchange' event is being fired slightly earlier, the |
| Fullscreen.TopContentInset tests triggers what appears to be an existing behavior: if you |
| exit in the middle of an enter fullscreen animation, the exit never happens, because the |
| NSWindow never starts the exit animation. The solution is to store the exit fullscreen |
| request, and only act upon it when the enter animation completes. |
| |
| * UIProcess/mac/WKFullScreenWindowController.h: |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): |
| (-[WKFullScreenWindowController exitFullScreen]): |
| |
| 2018-03-09 Jer Noble <jer.noble@apple.com> |
| |
| Unconditionalize more methods in VideoFullscreenInterface (and related classes) |
| https://bugs.webkit.org/show_bug.cgi?id=183501 |
| |
| Reviewed by Eric Carlson. |
| |
| No reason for these methods to be PLATFORM(MAC) only. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _videoControlsManagerDidChange]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/Cocoa/PlaybackSessionManagerProxy.mm: |
| (WebKit::PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID): |
| (WebKit::PlaybackSessionManagerProxy::clearPlaybackControlsManager): |
| * UIProcess/Cocoa/VideoFullscreenManagerProxy.h: |
| * UIProcess/Cocoa/VideoFullscreenManagerProxy.mm: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): |
| (WebKit::WebPageProxy::handleControlledElementIDResponse const): |
| (WebKit::WebPageProxy::isPlayingVideoInEnhancedFullscreen const): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::videoControlsManagerDidChange): |
| * UIProcess/ios/WKFullScreenWindowControllerIOS.h: |
| * UIProcess/ios/WKFullScreenWindowControllerIOS.mm: |
| (-[WKFullScreenWindowController videoControlsManagerDidChange]): |
| * WebProcess/cocoa/PlaybackSessionManager.mm: |
| (WebKit::PlaybackSessionManager::setUpPlaybackControlsManager): |
| |
| 2018-03-09 Per Arne Vollan <pvollan@apple.com> |
| |
| Create CA layer contexts with +remoteContextWithOptions. |
| https://bugs.webkit.org/show_bug.cgi?id=182747 |
| |
| Reviewed by Brent Fulgham. |
| |
| CA layer contexts (CAContext) are currently created with +contextWithCGSConnection, which is |
| using the main WindowServer connection to create the context. Instead, the contexts can be |
| created with +remoteContextWithOptions, which does not use the main WindowServer connection. |
| This is a step towards limiting the access the WebContent process has to the window server. |
| To make the +remoteContextWithOptions call succeed, the sandbox has to be modified to allow |
| access to CARenderServer. Also, access to the WindowServer should be denied by calling |
| CGSSetDenyWindowServerConnections(true) before entering the sandbox. This is planned to do |
| in a follow-up patch. The call to +remoteContextWithOptions will open up WindowServer |
| connections, since the WindowServer is the system default CA render server, but these |
| connections come with limited WindowServer exposure. In addition, we need to open up the |
| sandbox for accessing some IOKit properties. |
| |
| * Platform/mac/LayerHostingContext.mm: |
| (WebKit::LayerHostingContext::createForExternalHostingProcess): |
| * Shared/mac/HangDetectionDisablerMac.mm: |
| (WebKit::setClientsMayIgnoreEvents): |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-03-09 Brent Fulgham <bfulgham@apple.com> |
| |
| Remove cookie API access from WebContent Process |
| https://bugs.webkit.org/show_bug.cgi?id=183519 |
| <rdar://problem/35368802> |
| |
| Reviewed by Alex Christensen. |
| |
| All cookie access is now handled in the Network Process. However, there are vestiges of the original logic that used CFNetwork APIs in the WebContent process. |
| |
| This patch removes CFNetwork calls from the WebProcess code paths, since they serve no purpose in modern WebKit. |
| |
| No tests because this is a code cleanup with no expected change in behavior. |
| |
| * NetworkProcess/Cookies/mac/WebCookieManagerMac.mm: |
| (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Moved from WebFrameNetworkingContext. |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::setSharedHTTPCookieStorage): Moved from ChildProcess, since this should only be |
| called in the NetworkProcess. |
| * Shared/ChildProcess.h: |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::setSharedHTTPCookieStorage): Deleted. |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): Remove CFNetwork code. This version of |
| 'ensureWebsiteDataStoreSession' is needed to maintain a dictionary on the WebProcess side so we can refer to |
| the same network session in both the WebContent and Network processes. |
| (WebKit::WebFrameNetworkingContext::webFrameLoaderClient const): |
| (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Deleted. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): Remove calls to CFNetwork. |
| |
| 2018-03-09 Youenn Fablet <youenn@apple.com> |
| |
| ServiceWorkerClientFetch should send data to its resource loader once the didReceiveResponse completion handler is called |
| https://bugs.webkit.org/show_bug.cgi?id=183110 |
| |
| Reviewed by Chris Dumez. |
| |
| Buffering data/finish event/fail event until the response completion handler is called. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| (WebKit::ServiceWorkerClientFetch::didReceiveData): |
| (WebKit::ServiceWorkerClientFetch::didFinish): |
| (WebKit::ServiceWorkerClientFetch::didFail): |
| (WebKit::ServiceWorkerClientFetch::didNotHandle): |
| (WebKit::ServiceWorkerClientFetch::cancel): |
| (WebKit::ServiceWorkerClientFetch::continueLoadingAfterCheckingResponse): |
| * WebProcess/Storage/ServiceWorkerClientFetch.h: |
| |
| 2018-03-09 Jer Noble <jer.noble@apple.com> |
| |
| Add new CSS env constants for use with fullscreen |
| https://bugs.webkit.org/show_bug.cgi?id=183498 |
| |
| Reviewed by Dean Jackson. |
| |
| Pass the values given to WebFullScreenManagerProxy through the process boundary and |
| into WebCore. |
| |
| * UIProcess/WebFullScreenManagerProxy.cpp: |
| (WebKit::WebFullScreenManagerProxy::setFullscreenInsetTop): |
| (WebKit::WebFullScreenManagerProxy::setFullscreenAutoHideDelay): |
| * UIProcess/WebFullScreenManagerProxy.h: |
| * WebProcess/FullScreen/WebFullScreenManager.cpp: |
| (WebKit::WebFullScreenManager::didExitFullScreen): |
| (WebKit::WebFullScreenManager::setFullscreenInsetTop): |
| (WebKit::WebFullScreenManager::setFullscreenAutoHideDelay): |
| * WebProcess/FullScreen/WebFullScreenManager.h: |
| * WebProcess/FullScreen/WebFullScreenManager.messages.in: |
| |
| 2018-03-09 Jer Noble <jer.noble@apple.com> |
| |
| Add isPictureInPictureActive messaging across WebKit process boundary |
| https://bugs.webkit.org/show_bug.cgi?id=183499 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/Cocoa/PlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/PlaybackSessionManagerProxy.messages.in: |
| * UIProcess/Cocoa/PlaybackSessionManagerProxy.mm: |
| (WebKit::PlaybackSessionModelContext::pictureInPictureActiveChanged): |
| (WebKit::PlaybackSessionManagerProxy::pictureInPictureActiveChanged): |
| |
| 2018-03-09 Stephan Szabo <stephan.szabo@sony.com> |
| |
| Add guard for wtf/glib include |
| https://bugs.webkit.org/show_bug.cgi?id=183521 |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: |
| |
| 2018-03-09 Andy Estes <aestes@apple.com> |
| |
| [Mac] WebKit fails to receive file promises when the embedding app is sandboxed |
| https://bugs.webkit.org/show_bug.cgi?id=183489 |
| <rdar://problem/38267517> |
| |
| WebKit calls -[NSFilePromiseReceiver receivePromisedFilesAtDestination:...] with |
| NSTemporaryDirectory() as the destination for receiving file promise drops. AppKit attempts |
| to issue a sandbox extension for this directory, but for security reasons App Sandbox |
| refuses to do so for NSTemporaryDirectory() itself. As a result, AppKit will call our reader |
| block with a nil error and a valid file URL, but no file will actually exist at that URL. |
| |
| In order for App Sandbox to grant issuing the sandbox extension needed by AppKit, we need to |
| use some other destination directory. This patch uses FileSystem::createTemporaryDirectory() |
| to securely create a unique temporary directory inside NSTemporaryDirectory() for use as the |
| drop destination. |
| |
| Reviewed by Wenson Hsieh. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::performDragOperation): |
| |
| 2018-03-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Do not use WebKitDOMHTMLFormElement as argument of signal WebKitWebPage::will-submit-form |
| https://bugs.webkit.org/show_bug.cgi?id=183510 |
| |
| Reviewed by Michael Catanzaro. |
| |
| In 2.22 WebKitDOMHTMLFormElement will be deprecated in GTK+ port and won't still exist in WPE. The new |
| JavaScript GLib API will be used to replace most of the DOM API, but a few classes will remain with a minimal |
| API for things that can't be done with JavaScript. WebKitDOMElement will stay and will be added to WPE as well, |
| so if we change the signal parameter to WebKitDOMElement we will be able to keep using |
| WebKitWebPage::will-submit-form without any changes. WPE will gain this signal and the rest of the API that uses |
| DOM. |
| |
| * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp: |
| (webkit_web_page_class_init): |
| |
| 2018-03-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. [GTK][WPE] Bump Since tags of resource load stats API. |
| |
| The functionality hasn't been properly tested to be released in WebKitGTK+ 2.20. |
| |
| * UIProcess/API/glib/WebKitWebsiteDataManager.cpp: |
| (webkit_website_data_manager_class_init): |
| * UIProcess/API/gtk/WebKitWebsiteData.h: |
| * UIProcess/API/wpe/WebKitWebsiteData.h: |
| |
| 2018-03-08 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed. Suppress GCC warnings in SystemPreviewController.cpp by |
| using the cross-platform #include directives for header inclusion, |
| instead of #import. |
| |
| * UIProcess/SystemPreviewController.cpp: |
| |
| 2018-03-08 Megan Gardner <megan_gardner@apple.com> |
| |
| Allow WebViews to disable system appearance |
| https://bugs.webkit.org/show_bug.cgi?id=183418 |
| <rdar://problem/36975642> |
| |
| Reviewed by Tim Horton. |
| |
| Allow webviews to choose whether or not to follow the default system appearance. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode const): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _useSystemAppearance]): |
| (-[WKWebView _setUseSystemAppearance:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| (WebKit::WebPageProxy::setUseSystemAppearance): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::useSystemAppearance const): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setUseSystemAppearance): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2018-03-08 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, speculative attempt to fix CMake build after r229426 |
| https://bugs.webkit.org/show_bug.cgi?id=183382 |
| <rdar://problem/38191450> |
| |
| * CMakeLists.txt: |
| |
| 2018-03-08 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Support resigning first responder status when focusing a form control |
| https://bugs.webkit.org/show_bug.cgi?id=183477 |
| <rdar://problem/38225994> |
| |
| Reviewed by Tim Horton. |
| |
| Currently, when presenting an input view controller in extra zoom mode, if the web view loses first responder |
| status, we will blur the focused element, which dismisses all focused form control UI. For certain types of form |
| controls, this prevents the user from using key pieces of functionality. |
| |
| To address this, disconnect the notion of first responder status from DOM element focus while the form control |
| overlay is shown. Later, when the active input session ends, if the web content view was first responder before |
| upon focusing the element, restore first responder status on the web view. This extra tweak is needed to ensure |
| that certain UI affordances which require first responder status on the web view continue to work after |
| interacting with a form control that changes the first responder. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView presentFocusedFormControlViewController:]): |
| (-[WKContentView dismissFocusedFormControlViewController:]): |
| |
| 2018-03-08 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Revert defaults read of zero values |
| https://bugs.webkit.org/show_bug.cgi?id=183476 |
| |
| Unreviewed revert of three small changes landed in r229427. |
| |
| * UIProcess/Cocoa/WebResourceLoadStatisticsStoreCocoa.mm: |
| (WebKit::WebResourceLoadStatisticsStore::registerUserDefaultsIfNeeded): |
| Reverted back to strict check of greater than zero for defaults reads. |
| |
| 2018-03-08 Tim Horton <timothy_horton@apple.com> |
| |
| Don't have SafariServices in minimal simulator build |
| https://bugs.webkit.org/show_bug.cgi?id=183436 |
| <rdar://problem/38254778> |
| |
| Reviewed by Dan Bernstein. |
| |
| * config.h: |
| |
| 2018-03-08 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Make debug mode always partition prevalent resources |
| https://bugs.webkit.org/show_bug.cgi?id=183468 |
| <rdar://problem/38269437> |
| |
| Reviewed by Brent Fulgham. |
| |
| After some testing we decided that a 30 second timeout in ITP debug mode just makes |
| it confusing. We should instead always partition prevalent resources in debug mode |
| to make it easy to understand. The partitioned state is what developers want to test |
| anyway. |
| |
| * UIProcess/Cocoa/WebResourceLoadStatisticsStoreCocoa.mm: |
| (WebKit::WebResourceLoadStatisticsStore::registerUserDefaultsIfNeeded): |
| Minor change to include 0 as valid setting. |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::setResourceLoadStatisticsDebugMode): |
| Now just stores the setting of debug mode instead of changing the timeout. |
| (WebKit::WebResourceLoadStatisticsStore::logUserInteraction): |
| Now does not disable partitioning under debug mode. |
| (WebKit::WebResourceLoadStatisticsStore::shouldPartitionCookies const): |
| Now returns true for prevalent resources with user interaction under debug mode. |
| (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning): |
| Removed duplicate debug logging statement. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| Added member m_debugModeEnabled. |
| |
| 2018-03-08 Brent Fulgham <bfulgham@apple.com> |
| |
| Remove WebCookieManager and messaging from WebContent process. |
| https://bugs.webkit.org/show_bug.cgi?id=183382 |
| <rdar://problem/38191450> |
| |
| Reviewed by Alex Christensen. |
| |
| Networking access was fully removed from the WebContent process in Bug 183192 (and related bugs). The |
| UIProcess no longer needs to ask the WebContent process about networking-related things, and shouldn't |
| waste everyone's time doing so. |
| |
| This bug removes some left-over WebCookieManager API stuff, and is a first step in purging the |
| WebContent Process from accessing cookie data. |
| |
| * NetworkProcess/Cookies: Copied from WebProcess/Cookies. |
| * NetworkProcess/Cookies/WebCookieManager.h: |
| * WebKit.xcodeproj/project.pbxproj: |
| * WebProcess/Cookies: Removed. |
| * WebProcess/Cookies/WebCookieManager.cpp: Removed. |
| * WebProcess/Cookies/WebCookieManager.h: Removed. |
| * WebProcess/Cookies/WebCookieManager.messages.in: Removed. |
| * WebProcess/Cookies/curl: Removed. |
| * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed. |
| * WebProcess/Cookies/mac: Removed. |
| * WebProcess/Cookies/mac/WebCookieManagerMac.mm: Removed. |
| * WebProcess/Cookies/soup: Removed. |
| * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: Removed. |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: Remove 'WebCookieManager.h" header. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto. |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Ditto. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::WebProcess): Remove call to add WebCookieManager as a |
| WebProcessSupplement. |
| * CMakeLists.txt: Revised paths. |
| * DerivedSources.make: Ditto. |
| * PlatformMac.cmake: Ditto. |
| * PlatformWin.cmake: Ditto. |
| * SourcesGTK.txt: Ditto. |
| * SourcesWPE.txt: Ditto. |
| |
| 2018-03-08 Youenn Fablet <youenn@apple.com> |
| |
| libwebrtc update broke internal builds |
| https://bugs.webkit.org/show_bug.cgi?id=183454 |
| |
| Reviewed by Eric Carlson. |
| |
| * Configurations/BaseTarget.xcconfig: |
| |
| 2018-03-08 Youenn Fablet <youenn@apple.com> |
| |
| PluginInfoStore::isSupportedPlugin should check for empty mime type |
| https://bugs.webkit.org/show_bug.cgi?id=183457 |
| <rdar://problem/38159575> |
| |
| Reviewed by Chris Dumez. |
| |
| * UIProcess/Plugins/PluginInfoStore.cpp: |
| (WebKit::PluginInfoStore::isSupportedPlugin): |
| |
| 2018-03-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][WebCore] Extend jsDynamicCast for WebCore types in WebCore and remove jsDynamicDowncast |
| https://bugs.webkit.org/show_bug.cgi?id=183449 |
| |
| Reviewed by Mark Lam. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::WebAutomationSessionProxy::elementForNodeHandle): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::frameForContext): |
| |
| 2018-03-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add inherits<T>(VM&) leveraging JSCast fast path |
| https://bugs.webkit.org/show_bug.cgi?id=183429 |
| |
| Reviewed by Mark Lam. |
| |
| * WebProcess/Plugins/Netscape/JSNPMethod.cpp: |
| (WebKit::callMethod): |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| (WebKit::callNPJSObject): |
| (WebKit::constructWithConstructor): |
| * WebProcess/Plugins/Netscape/NPJSObject.cpp: |
| (WebKit::NPJSObject::create): |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::counterValue): |
| |
| 2018-03-08 Zan Dobersek <zdobersek@igalia.com> |
| |
| Remove WebCore::TextureMapperAnimation as a special case in WebKit IPC |
| generation. Values of this type aren't being transferred across IPC. |
| |
| Rubber-stamped by Carlos Garcia Campos. |
| |
| * Scripts/webkit/messages.py: |
| |
| 2018-03-08 Tim Horton <timothy_horton@apple.com> |
| |
| Stop linking ApplicationServices directly |
| https://bugs.webkit.org/show_bug.cgi?id=182867 |
| <rdar://problem/38252142> |
| |
| Reviewed by Alex Christensen. |
| |
| The frameworks that we use that live inside ApplicationServices |
| have mostly moved out, so import them directly. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2018-03-08 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Specify password mode as needed when inputting text |
| https://bugs.webkit.org/show_bug.cgi?id=183428 |
| <rdar://problem/37609386> |
| |
| Reviewed by Tim Horton. |
| |
| If the focused element is a password field, or the input delegate has forced secure text entry, set a flag on |
| the text input view controller to opt in to password text input mode. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView presentTextInputViewController:]): |
| |
| 2018-03-07 Tim Horton <timothy_horton@apple.com> |
| |
| Sort and separate FeatureDefines.xcconfig |
| https://bugs.webkit.org/show_bug.cgi?id=183427 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| Sort and split FeatureDefines into paragraphs |
| (to make it easier to sort later). |
| |
| 2018-03-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r218089): [GTK] webkit_web_view_get_inspector() needs to be called, otherwise inspector does not close |
| https://bugs.webkit.org/show_bug.cgi?id=181126 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| Fix the condition to decide whether to detach the inspector view ourselves. |
| |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::platformDetach): Remove the inspector view from its parent if we don't have a client |
| or the client didn't detach it. |
| |
| 2018-03-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK][WPE] Leak checker is not working in WebKitGLib web process tests |
| https://bugs.webkit.org/show_bug.cgi?id=183404 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add private helper for testing to do a garbage collection when the page is closing. |
| |
| * WebProcess/InjectedBundle/API/glib/WebKitWebExtension.cpp: |
| (webkitWebExtensionSetGarbageCollectOnPageDestroy): |
| * WebProcess/InjectedBundle/API/glib/WebKitWebExtensionPrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.h: Fix annotation of |
| webkit_dom_client_rect_list_item(), it should be transfer full. |
| |
| 2018-03-07 Youenn Fablet <youenn@apple.com> |
| |
| Match unsupported plugins based on domains and not origin |
| https://bugs.webkit.org/show_bug.cgi?id=183384 |
| |
| Reviewed by Chris Dumez. |
| |
| Moved from a HashMap of plugins to a Vector of plugins since we cannot match exactly based on the origin. |
| |
| * Scripts/webkit/messages.py: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextAddSupportedPlugin): |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _addSupportedPlugin:named:withMimeTypes:withExtensions:]): |
| * UIProcess/Plugins/PluginInfoStore.cpp: |
| (WebKit::PluginInfoStore::isSupportedPlugin): |
| (WebKit::PluginInfoStore::supportedPluginNames): |
| (WebKit::PluginInfoStore::addSupportedPlugin): |
| * UIProcess/Plugins/PluginInfoStore.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::addSupportedPlugin): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::getPlugins): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebProcess/Plugins/WebPluginInfoProvider.cpp: |
| (WebKit::WebPluginInfoProvider::getPluginInfo): |
| (WebKit::WebPluginInfoProvider::getWebVisiblePluginInfo): |
| * WebProcess/Plugins/WebPluginInfoProvider.h: |
| |
| 2018-03-07 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION (r229093): Media playback on Facebook and Hulu require mDNSResponder access |
| https://bugs.webkit.org/show_bug.cgi?id=183421 |
| <rdar://problem/38191574> |
| |
| Reviewed by Dean Jackson. |
| |
| CoreMedia fails to properly play back media on Facebook and Hulu if access to the |
| mDNSResponder is blocked by the sandbox. This Bug unblocks that access while we |
| investigate the underlying issue. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-03-07 Dean Jackson <dino@apple.com> |
| |
| Try to fix build for watchOS and tvOS. |
| |
| * UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: |
| * UIProcess/SystemPreviewController.cpp: |
| |
| 2018-03-07 Dean Jackson <dino@apple.com> |
| |
| Add SystemPreviewController for showing system-level views of special file types |
| https://bugs.webkit.org/show_bug.cgi?id=183413 |
| <rdar://problem/37800834> |
| |
| Reviewed by Tim Horton. |
| |
| Add a new controller class that hangs off WebPageProxy, with the goal |
| of providing system-level viewing of some some file types. Specifically |
| those that can't be shown by WebKit. |
| |
| This is the initial implementation which is quite simple. The controller |
| can be queried about whether it supports a MIME type, then it can be |
| asked to show a URL. |
| |
| * UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: Added. |
| (-[_WKPreviewControllerDataSource initWithURL:]): |
| (-[_WKPreviewControllerDataSource numberOfPreviewItemsInPreviewController:]): |
| (-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]): |
| (WebKit::SystemPreviewController::canPreview const): |
| (WebKit::SystemPreviewController::showPreview): |
| * UIProcess/SystemPreviewController.cpp: Added. |
| (WebKit::SystemPreviewController::SystemPreviewController): |
| (WebKit::SystemPreviewController::canPreview const): |
| (WebKit::SystemPreviewController::showPreview): |
| * UIProcess/SystemPreviewController.h: Added. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::m_configurationPreferenceValues): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::systemPreviewController): |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-03-07 Alejandro G. Castro <alex@igalia.com> |
| |
| Make NetworkRTCResolver port agnostic |
| https://bugs.webkit.org/show_bug.cgi?id=178855 |
| |
| Reviewed by Youenn Fablet. |
| |
| Create a specific Cocoa class to isolate the generic code in the base class, make the base implementation port |
| agnostic and dependent on DNS API in the platform directory which encapsulates the platform specific details. |
| |
| * NetworkProcess/webrtc/NetworkRTCProvider.cpp: Create an alias class name defined per platform to instantiate the resolver. |
| (WebKit::NetworkRTCProvider::createResolver): Used the alias class name and receive a new IPAddress class that is not |
| dependent on rtc libwebrtc library. |
| * NetworkProcess/webrtc/NetworkRTCResolver.cpp: Remove the platform specific code. Use the DNS API to implement the |
| platform specific code in the default start and stop methods. Add the identifier of the resolve operation to the class. |
| (WebKit::NetworkRTCResolver::NetworkRTCResolver): Add the identifier in the initialization. |
| (WebKit::NetworkRTCResolver::~NetworkRTCResolver): Remove the platform specific code. |
| (WebKit::NetworkRTCResolver::completed): Ditto. |
| (WebKit::NetworkRTCResolver::start): Add a new implementation using the DNS API. |
| (WebKit::NetworkRTCResolver::stop): Ditto |
| * NetworkProcess/webrtc/NetworkRTCResolver.h: Remove the platform specific code and use the DNSResolveQueue for a general |
| solution to implement the platform specific code. Avoid using the IPAddress class that depends on libwertc classes to make |
| it more general regarding DNS name resolution. |
| (WebKit::NetworkRTCResolver::start): Make this class virtual. |
| (WebKit::NetworkRTCResolver::stop): Ditto. |
| * NetworkProcess/webrtc/NetworkRTCResolverCocoa.cpp: Copied Cocoa code from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.cpp. |
| Now this class overrides the start and stop methods that use DNS, cocoa implementation should use the DNS methods in the future and |
| remove this class, making sure all the platform specific class is in the platform directory. |
| * NetworkProcess/webrtc/NetworkRTCResolverCocoa.h: Copied Cocoa code from Source/WebKit/NetworkProcess/webrtc/NetworkRTCResolver.h. |
| * PlatformGTK.cmake: Add NetworkRTCResolver compilation for GTK. |
| * WebKit.xcodeproj/project.pbxproj: Add the NetworkRTCResolverCocoa class to the compilation. |
| |
| 2018-03-06 Brent Fulgham <bfulgham@apple.com> |
| |
| NetworkDataTask should enable logging for automation clients |
| https://bugs.webkit.org/show_bug.cgi?id=183378 |
| <rdar://problem/38189556> |
| |
| Reviewed by Brian Burg. |
| |
| The NetworkDataTaskCocoa class was only logging if the SessionID object allowed logging. |
| It should also be considering whether the current session is working on behalf of an |
| automation client. If so, it should allow logging. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): |
| (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection): |
| (WebKit::NetworkDataTaskCocoa::isAlwaysOnLoggingAllowed const): |
| |
| 2018-03-06 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed build fix. |
| |
| * UIProcess/ios/WKFullScreenWindowControllerIOS.mm: |
| (-[WKFullScreenWindowController _EVOrganizationName]): |
| |
| 2018-03-06 Antoine Quint <graouts@apple.com> |
| |
| [Web Animations] Add a new runtime flag to control whether CSS Animations and CSS Transitions should run using the Web Animations timeline |
| https://bugs.webkit.org/show_bug.cgi?id=183370 |
| <rdar://problem/38180729> |
| |
| Reviewed by Dean Jackson. |
| |
| Before we start creating WebAnimation objects to perform CSS Animations and CSS Transitions, which will replace the existing codepath |
| involving CSSAnimationController and CompositeAnimation, we need a runtime flag that will allow all the new code to be turned off by |
| default while we bring this feature up. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetCSSAnimationsAndCSSTransitionsBackedByWebAnimationsEnabled): |
| (WKPreferencesGetCSSAnimationsAndCSSTransitionsBackedByWebAnimationsEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _setCSSAnimationsAndCSSTransitionsBackedByWebAnimationsEnabled:]): |
| (-[WKPreferences _cssAnimationsAndCSSTransitionsBackedByWebAnimationsEnabled]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| (WebKit::InjectedBundle::setCSSAnimationsAndCSSTransitionsBackedByWebAnimationsEnabled): |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| |
| 2018-03-06 Ms2ger <Ms2ger@igalia.com> |
| |
| [GLib] Implement WebsiteDataStore::defaultServiceWorkerRegistrationDirectory(). |
| https://bugs.webkit.org/show_bug.cgi?id=183364 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp: |
| (API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory): implement. |
| |
| 2018-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed. Addressing further review feedback for patch landed in r229315. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::commitSceneState): There's no need for |
| explicit calls of the clear() method on both containers in the CommitScope |
| objects, the destructors invoked for these objects from the CommitScope |
| destructor will have the same effect. |
| |
| 2018-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordGraphics] Remove unused scrolling-related code in TextureMapperLayer, CoordinatedGraphics stack |
| https://bugs.webkit.org/show_bug.cgi?id=183340 |
| |
| Reviewed by Michael Catanzaro. |
| |
| With most of the scrolling-related code in TextureMapperLayer on the |
| chopping block, we can now drop the ScrollingClient inheritance and the |
| commitScrollOffset() virtual method implementation. This enables |
| removing the whole commitScrollOffset() call chain that ran from |
| CoordinatedGraphicsScene through CoordinatedLayerTreeHost and |
| CompositingCoordinator to the affected CoordinatedGraphicsLayer object. |
| |
| The CoordinatedGraphicsScene::findScrollableContentsLayerAt() method is |
| also unused and can be deleted. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::setLayerState): |
| (WebKit::CoordinatedGraphicsScene::createLayer): |
| (WebKit::CoordinatedGraphicsScene::commitScrollOffset): Deleted. |
| (WebKit::CoordinatedGraphicsScene::findScrollableContentsLayerAt): Deleted. |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::commitScrollOffset): Deleted. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::commitScrollOffset): Deleted. |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::commitScrollOffset): Deleted. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| |
| 2018-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordGraphics] Apply TextureMapperLayer animations with a single MonotonicTime value |
| https://bugs.webkit.org/show_bug.cgi?id=183360 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext): |
| Pass the monotic time value, as returned by MonotonicTime::now(), to the |
| TextureMapperLayer::applyAnimationsRecursively() call. |
| |
| 2018-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| [CoordGraphics] Clean up CoordinatedImageBacking |
| https://bugs.webkit.org/show_bug.cgi?id=183332 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::createImageBackingIfNeeded): |
| Adjust call to CoordinatedImageBacking::getCoordinatedImageBackingID(). |
| |
| 2018-03-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| CoordinatedGraphicsScene: properly limit data specific to state commit operation |
| https://bugs.webkit.org/show_bug.cgi?id=183326 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| In the process of state commit in CoordinatedGraphicsScene, the released |
| image backings and backing stores with pending updates are stored in |
| Vector and HashSet objects, respectively. Instead of these two objects |
| being member variables on the CoordinatedGraphicsScene class, keep them |
| in the CommitScope structure that's limited to the operations done in |
| the commitSceneState() method. |
| |
| The two member variables are dropped, and the CommitScope object is |
| passed by reference to any helper method that needs to append either |
| kind of object to the respective container. At the end of the state |
| commit, backing stores with pending updates have those updates applied, |
| and the two containers are cleared out as the CommitScope object is |
| destroyed. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::setLayerState): |
| (WebKit::CoordinatedGraphicsScene::prepareContentBackingStore): |
| (WebKit::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize): |
| (WebKit::CoordinatedGraphicsScene::removeTilesIfNeeded): |
| (WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded): |
| (WebKit::CoordinatedGraphicsScene::syncImageBackings): |
| (WebKit::CoordinatedGraphicsScene::updateImageBacking): |
| (WebKit::CoordinatedGraphicsScene::clearImageBackingContents): |
| (WebKit::CoordinatedGraphicsScene::removeImageBacking): |
| (WebKit::CoordinatedGraphicsScene::commitSceneState): |
| (WebKit::CoordinatedGraphicsScene::purgeGLResources): |
| (WebKit::CoordinatedGraphicsScene::removeReleasedImageBackingsIfNeeded): Deleted. |
| (WebKit::CoordinatedGraphicsScene::commitPendingBackingStoreOperations): Deleted. |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| |
| 2018-03-05 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Fix std::make_unique / new[] using system malloc |
| https://bugs.webkit.org/show_bug.cgi?id=182975 |
| |
| Reviewed by JF Bastien. |
| |
| Use Vector instead. |
| |
| * NetworkProcess/win/SystemProxyWin.cpp: |
| (WindowsSystemProxy::getSystemHttpProxy): |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): |
| (IPC::Connection::sendOutputMessage): |
| * Platform/win/LoggingWin.cpp: |
| (WebKit::logLevelString): |
| * Shared/SandboxExtension.h: |
| * Shared/mac/SandboxExtensionMac.mm: |
| (WebKit::SandboxExtension::HandleArray::allocate): |
| (WebKit::SandboxExtension::HandleArray::operator[]): |
| (WebKit::SandboxExtension::HandleArray::operator[] const): |
| (WebKit::SandboxExtension::HandleArray::size const): |
| (WebKit::SandboxExtension::HandleArray::encode const): |
| |
| 2018-03-05 Andy Estes <aestes@apple.com> |
| |
| [Mac] Teach WebCore::Pasteboard about file promise drags |
| https://bugs.webkit.org/show_bug.cgi?id=183314 |
| <rdar://problem/38105493> |
| |
| Reviewed by Darin Adler. |
| |
| Added a FIXME comment. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::performDragOperation): |
| |
| 2018-03-05 Jeff Miller <jeffm@apple.com> |
| |
| Expose still more WKPreferences SPI to match C SPI |
| https://bugs.webkit.org/show_bug.cgi?id=183045 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _setAllowsInlineMediaPlayback:]): |
| (-[WKPreferences _allowsInlineMediaPlayback]): |
| (-[WKPreferences _setApplePayEnabled:]): |
| (-[WKPreferences _applePayEnabled]): |
| (-[WKPreferences _setDNSPrefetchingEnabled:]): |
| (-[WKPreferences _dnsPrefetchingEnabled]): |
| (-[WKPreferences _setInlineMediaPlaybackRequiresPlaysInlineAttribute:]): |
| (-[WKPreferences _inlineMediaPlaybackRequiresPlaysInlineAttribute]): |
| (-[WKPreferences _setInvisibleMediaAutoplayNotPermitted:]): |
| (-[WKPreferences _invisibleMediaAutoplayNotPermitted]): |
| (-[WKPreferences _setLegacyEncryptedMediaAPIEnabled:]): |
| (-[WKPreferences _legacyEncryptedMediaAPIEnabled]): |
| (-[WKPreferences _setMainContentUserGestureOverrideEnabled:]): |
| (-[WKPreferences _mainContentUserGestureOverrideEnabled]): |
| (-[WKPreferences _setMediaStreamEnabled:]): |
| (-[WKPreferences _mediaStreamEnabled]): |
| (-[WKPreferences _setNeedsStorageAccessFromFileURLsQuirk:]): |
| (-[WKPreferences _needsStorageAccessFromFileURLsQuirk]): |
| (-[WKPreferences _setPDFPluginEnabled:]): |
| (-[WKPreferences _pdfPluginEnabled]): |
| (-[WKPreferences _setRequiresUserGestureForAudioPlayback:]): |
| (-[WKPreferences _requiresUserGestureForAudioPlayback]): |
| (-[WKPreferences _setRequiresUserGestureForVideoPlayback:]): |
| (-[WKPreferences _requiresUserGestureForVideoPlayback]): |
| (-[WKPreferences _setServiceControlsEnabled:]): |
| (-[WKPreferences _serviceControlsEnabled]): |
| (-[WKPreferences _setShowsToolTipOverTruncatedText:]): |
| (-[WKPreferences _showsToolTipOverTruncatedText]): |
| (-[WKPreferences _setTextAreasAreResizable:]): |
| (-[WKPreferences _textAreasAreResizable]): |
| (-[WKPreferences _setUseGiantTiles:]): |
| (-[WKPreferences _useGiantTiles]): |
| (-[WKPreferences _setWantsBalancedSetDefersLoadingBehavior:]): |
| (-[WKPreferences _wantsBalancedSetDefersLoadingBehavior]): |
| (-[WKPreferences _setWebAudioEnabled:]): |
| (-[WKPreferences _webAudioEnabled]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2018-03-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Automation: clicking on a disabled option element shouldn't produce an error |
| https://bugs.webkit.org/show_bug.cgi?id=183284 |
| |
| Reviewed by Brian Burg. |
| |
| This was expected by selenium, but the WebDriver spec says we should simply do nothing in those cases. |
| |
| 14.1 Element Click. |
| https://w3c.github.io/webdriver/webdriver-spec.html#element-click |
| |
| Fixes: imported/w3c/webdriver/tests/element_click/select.py::test_option_disabled |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::WebAutomationSessionProxy::selectOptionElement): |
| |
| 2018-03-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Automation: stale elements not detected when removed from the DOM |
| https://bugs.webkit.org/show_bug.cgi?id=183278 |
| |
| Reviewed by Brian Burg. |
| |
| We detect stale elements when the page is reloaded because the maps are recreated, but if an element is removed |
| from the DOM for the same document we keep the nodes in the maps. We should clear stale elements before |
| accessing the maps. |
| |
| Fixes: imported/selenium/py/test/selenium/webdriver/common/webdriverwait_tests.py::testExpectedConditionStalenessOf |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.js: |
| (let.AutomationSessionProxy.prototype.evaluateJavaScriptFunction): Call _clearStaleNodes() |
| (let.AutomationSessionProxy.prototype.nodeForIdentifier): Ditto. |
| (let.AutomationSessionProxy.prototype._clearStaleNodes): Check if cached nodes are still in document and remove them |
| from the maps if they aren't. |
| |
| 2018-03-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WTF] Move currentCPUTime and sleep(Seconds) to CPUTime.h and Seconds.h respectively |
| https://bugs.webkit.org/show_bug.cgi?id=183312 |
| |
| Reviewed by Mark Lam. |
| |
| Remove wtf/CurrentTime.h include pragma. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| * NetworkProcess/cache/CacheStorageEngineCache.cpp: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| * Platform/IPC/Connection.cpp: |
| * Platform/unix/SharedMemoryUnix.cpp: |
| * PluginProcess/WebProcessConnection.cpp: |
| * Shared/ios/NativeWebTouchEventIOS.mm: |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| * UIProcess/ios/WKContentView.mm: |
| * UIProcess/linux/MemoryPressureMonitor.cpp: |
| * WebProcess/Gamepad/WebGamepad.cpp: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| * WebProcess/WebCoreSupport/WebInspectorClient.cpp: |
| * WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: |
| * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp: |
| * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm: |
| * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp: |
| * WebProcess/WebProcess.cpp: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| * WebProcess/gtk/WebProcessMainGtk.cpp: |
| * WebProcess/win/WebProcessMainWin.cpp: |
| * WebProcess/wpe/WebProcessMainWPE.cpp: |
| |
| 2018-03-02 Brian Burg <bburg@apple.com> |
| |
| Web Automation: script evaluations via WebDriver should have a user gesture indicator |
| https://bugs.webkit.org/show_bug.cgi?id=183230 |
| <rdar://problem/37959739> |
| |
| Reviewed by Andy Estes. |
| |
| APIs that normally require a user gesture should just work when using via WebDriver. |
| To support cases where tests need to simulate user actions with JavaScript, use a |
| fake user gesture, similar to how -[WKWebView evaluateJavaScript:] forces a user |
| gesture when clients evaluate JavaScript in their web view. |
| |
| No new tests, this is covered by W3C tests that use the Fullscreen API. |
| This API does nothing if there is no user gesture; with this patch, it just works. |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction): |
| |
| 2018-03-04 Tim Horton <timothy_horton@apple.com> |
| |
| Make !ENABLE(DATA_DETECTION) iOS build actually succeed |
| https://bugs.webkit.org/show_bug.cgi?id=183283 |
| <rdar://problem/38062148> |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]): |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| Guard some more code with ENABLE(DATA_DETECTION). |
| |
| 2018-03-04 Dan Bernstein <mitz@apple.com> |
| |
| Building with ONLY_ACTIVE_ARCH=NO and ARCHS=x86_64 fails |
| https://bugs.webkit.org/show_bug.cgi?id=183320 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/PluginService.32.xcconfig: If the Apple build tool specifies |
| RC_ARCHS=x86_64, then let the service build for x86_64, but don’t install it. |
| |
| 2018-03-03 Brent Fulgham <bfulgham@apple.com> |
| |
| Notify the NetworkProcess when a session is servicing an automation client |
| https://bugs.webkit.org/show_bug.cgi?id=183306 |
| <rdar://problem/37835783> |
| |
| Reviewed by Brian Burg. |
| |
| Network loads servicing WebDriver are done through an ephemeral session. While this is great |
| for protecting a developer's machine from sharing state with test runs, it has the unintended |
| effect of blocking certain logging operations. |
| |
| We do not log content in ephemeral sessions to protect user privacy. However, ephemeral sessions |
| generated by WebDriver should participate in logging so that proper testing (with logging) can |
| be done. |
| |
| This patch signals the NetworkProcess when an ephemeral session (created for automation purposes) |
| is created, so that it can allow logging. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::destroySession): Remove controlled-by-automation entry. |
| (WebKit::NetworkProcess::sessionIsControlledByAutomation const): Added. |
| (WebKit::NetworkProcess::setSessionIsControlledByAutomation): Added. |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::isAlwaysOnLoggingAllowed const): Checks if the relevant session |
| is servicing an automation client, and returns true if it is. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): Signal the network process if this page is being created |
| for an automation client. |
| |
| 2018-03-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WTF] Remove RunLoop and RunLoop::Timer's interface using double as seconds |
| https://bugs.webkit.org/show_bug.cgi?id=183293 |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: |
| (WebKit::CompositingRunLoop::scheduleUpdate): |
| (WebKit::CompositingRunLoop::compositionCompleted): |
| (WebKit::CompositingRunLoop::updateCompleted): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: |
| (WebKit::ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback): |
| |
| 2018-03-02 Don Olmstead <don.olmstead@sony.com> |
| |
| Share common WebError implementation |
| https://bugs.webkit.org/show_bug.cgi?id=183303 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Shared/WebErrors.cpp: |
| (WebKit::cancelledError): |
| (WebKit::fileDoesNotExistError): |
| * Shared/glib/WebErrorsGlib.cpp: Removed. |
| * SourcesGTK.txt: |
| * SourcesWPE.txt: |
| |
| 2018-03-02 Youenn Fablet <youenn@apple.com> |
| |
| LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html is a flaky failure |
| https://bugs.webkit.org/show_bug.cgi?id=179248 |
| <rdar://problem/35377756> |
| |
| Reviewed by Chris Dumez. |
| |
| In case we go up to the initializeSize step and Caches was cleared |
| between the time we stated to initialize and the time we got there, |
| we need to make as if Caches was not initialized, |
| thus keeping m_isInitialized to false and m_storage to nullptr. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::initializeSize): |
| |
| 2018-03-02 Youenn Fablet <youenn@apple.com> |
| |
| Clients should register to StorageProcess with their service worker registration identifier |
| https://bugs.webkit.org/show_bug.cgi?id=182313 |
| <rdar://problem/38044403> |
| |
| Reviewed by Chris Dumez. |
| |
| Relanding. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::registerServiceWorkerClient): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * StorageProcess/ServiceWorker/WebSWServerConnection.messages.in: |
| * WebProcess/Storage/WebSWClientConnection.cpp: |
| (WebKit::WebSWClientConnection::registerServiceWorkerClient): |
| * WebProcess/Storage/WebSWClientConnection.h: |
| |
| 2018-03-02 Tim Horton <timothy_horton@apple.com> |
| |
| Make it possible to disable WKPDFView |
| https://bugs.webkit.org/show_bug.cgi?id=183281 |
| <rdar://problem/38060815> |
| |
| Reviewed by Dan Bates. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isBackground]): |
| (-[WKWebView _isDisplayingPDF]): |
| (-[WKWebView _dataForDisplayedPDF]): |
| (-[WKWebView _suggestedFilenameForDisplayedPDF]): |
| * UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: |
| (-[WKWebViewContentProviderRegistry init]): |
| * UIProcess/ios/WKPDFView.h: |
| * UIProcess/ios/WKPDFView.mm: |
| |
| 2018-03-02 Youenn Fablet <youenn@apple.com> |
| |
| WebProcessProxy should handle its completion handler at destruction time |
| https://bugs.webkit.org/show_bug.cgi?id=183224 |
| |
| Reviewed by Brady Eidson. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::~WebProcessProxy): |
| * UIProcess/WebProcessProxy.h: |
| |
| 2018-03-02 Brent Fulgham <bfulgham@apple.com> |
| |
| Update WebContent process sandbox IOKit properties |
| https://bugs.webkit.org/show_bug.cgi?id=183269 |
| <rdar://problem/37853282> |
| |
| Reviewed by Eric Carlson. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-03-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Remove monotonicallyIncreasingTime |
| https://bugs.webkit.org/show_bug.cgi?id=182911 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * NetworkProcess/cache/CacheStorageEngineCache.cpp: |
| (WebKit::CacheStorage::Cache::toRecordInformation): |
| * Platform/IPC/ArgumentCoders.cpp: |
| (IPC::ArgumentCoder<Seconds>::encode): |
| (IPC::ArgumentCoder<Seconds>::decode): |
| (IPC::ArgumentCoder<MonotonicTime>::encode): |
| (IPC::ArgumentCoder<MonotonicTime>::decode): |
| * Platform/IPC/ArgumentCoders.h: |
| * Shared/Gamepad/GamepadData.cpp: |
| (WebKit::GamepadData::GamepadData): |
| * Shared/Gamepad/GamepadData.h: |
| (WebKit::GamepadData::lastUpdateTime const): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MonotonicTime>::encode): Deleted. |
| (IPC::ArgumentCoder<MonotonicTime>::decode): Deleted. |
| (IPC::ArgumentCoder<Seconds>::encode): Deleted. |
| (IPC::ArgumentCoder<Seconds>::decode): Deleted. |
| ArgumentCoders for MonotonicTime and Seconds are now used internally. |
| Move them to Platform/IPC/ArgumentCoders.h. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/API/glib/IconDatabase.cpp: |
| (WebKit::IconDatabase::iconDatabaseSyncThread): |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::DrawingMonitor::start): |
| (WebKit::DrawingAreaProxyImpl::DrawingMonitor::stop): |
| (WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw): |
| * UIProcess/DrawingAreaProxyImpl.h: |
| * UIProcess/Gamepad/UIGamepad.h: |
| * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: |
| * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart): |
| * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h: |
| * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: |
| (WebKit::RemoteLayerTreeHost::animationDidStart): |
| * WebProcess/WebPage/DrawingArea.h: |
| (WebKit::DrawingArea::acceleratedAnimationDidStart): |
| * WebProcess/WebPage/DrawingArea.messages.in: |
| * WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.h: |
| * WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: |
| (mediaTimeToCurrentTime): |
| (-[WKAnimationDelegate animationDidStart:]): |
| * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::animationStarted): |
| This argument `beginTime` is not CFTimeInverval actually. We add currentTimeToMediaTime |
| conversion here to fix this issue. |
| |
| * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h: |
| * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h: |
| * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm: |
| (WebKit::RemoteLayerTreeContext::animationDidStart): |
| * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::destroyRenderingResources): |
| |
| 2018-03-02 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] whitelist missing AppleJPEG logging feature |
| https://bugs.webkit.org/show_bug.cgi?id=183270 |
| <rdar://problem/37808612> |
| |
| Reviewed by Alex Christensen. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2018-03-02 Youenn Fablet <youenn@apple.com> |
| |
| IOChannel::read and IOChannel::write can destroy the completion handler in the thread used to manipulate thread |
| https://bugs.webkit.org/show_bug.cgi?id=183261 |
| |
| Reviewed by Antti Koivisto. |
| |
| Moving the completion handler when being called so that it gets desttroyed in the thread it is called. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::IOChannel::write): |
| |
| 2018-03-02 Dan Bernstein <mitz@apple.com> |
| |
| Safari uses WebContent.Development when loading injected bundle embedded in its app bundle |
| https://bugs.webkit.org/show_bug.cgi?id=183275 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/mac/WebProcessProxyMac.mm: |
| (WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Return false if this is |
| a platform binary. We can also return false unconditionally when building for any shipping |
| major macOS release. |
| |
| 2018-03-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r229153. |
| https://bugs.webkit.org/show_bug.cgi?id=183274 |
| |
| it is breaking imported/w3c/web-platform-tests/service-workers |
| /service-worker/clients-matchall-exact-controller.https.html |
| (Requested by youenn on #webkit). |
| |
| Reverted changeset: |
| |
| "Clients should register to StorageProcess with their service |
| worker registration identifier" |
| https://bugs.webkit.org/show_bug.cgi?id=182313 |
| https://trac.webkit.org/changeset/229153 |
| |
| 2018-03-01 Brent Fulgham <bfulgham@apple.com> |
| |
| Add the "com.apple.security.cs.disable-library-validation” entitlement to the Plugin Process |
| https://bugs.webkit.org/show_bug.cgi?id=183252 |
| <rdar://problem/37887136> |
| |
| Reviewed by David Kilzer. |
| |
| * Configurations/PluginService.entitlements: |
| |
| 2018-03-01 Youenn Fablet <youenn@apple.com> |
| |
| Clients should register to StorageProcess with their service worker registration identifier |
| https://bugs.webkit.org/show_bug.cgi?id=182313 |
| |
| Reviewed by Chris Dumez. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::registerServiceWorkerClient): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * StorageProcess/ServiceWorker/WebSWServerConnection.messages.in: |
| * WebProcess/Storage/WebSWClientConnection.cpp: |
| (WebKit::WebSWClientConnection::registerServiceWorkerClient): |
| * WebProcess/Storage/WebSWClientConnection.h: |
| |
| 2018-03-01 Youenn Fablet <youenn@apple.com> |
| |
| LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html is a flaky failure |
| https://bugs.webkit.org/show_bug.cgi?id=179248 |
| <rdar://problem/35377756> |
| |
| Reviewed by Chris Dumez. |
| |
| WebKitTestRunner is clearing caches for every test but there might still be some on-going cache activity due to a previous test. |
| In that case, the activity might try to open the Caches object at the same time the files are deleted by the clearing task. |
| If the new test is trying to open the same caches, it will also receive the same error, hence the console log message. |
| |
| To fix that issue, we clear the initialization pending callbacks when clearing the caches. |
| This prevents the new test to receive the error since the new test should only start some cache activity after the cache clear task is done. |
| Made refactoring to append the first callback into the list of pending callbacks. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::initialize): |
| (WebKit::CacheStorage::Caches::initializeSize): |
| (WebKit::CacheStorage::Caches::clear): |
| * NetworkProcess/cache/CacheStorageEngineCaches.h: |
| |
| 2018-03-01 Youenn Fablet <youenn@apple.com> |
| |
| Add API test to validate setting of service worker and cache storage directories |
| https://bugs.webkit.org/show_bug.cgi?id=182543 |
| |
| Reviewed by Chris Dumez. |
| |
| Add cache engine directory path to its representation dump. |
| This is used in API tests to check that the path is correctly set. |
| |
| Add a way for to know whether a service worker was registered from a WKWebsiteDataStore. |
| This is used in API tests to check that the path is correctly set. |
| |
| * NetworkProcess/cache/CacheStorageEngine.cpp: |
| (WebKit::CacheStorage::Engine::representation): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _hasRegisteredServiceWorker]): |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| |
| 2018-03-01 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Fix some errors due to some mach port APIs being unavailable on watchOS |
| https://bugs.webkit.org/show_bug.cgi?id=183262 |
| <rdar://problem/38028521> |
| |
| Reviewed by Tim Horton. |
| |
| Minor build fix; mach_port_guard and mach_port_unguard are not available on this platform. |
| |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::Connection::platformInvalidate): |
| (IPC::Connection::platformInitialize): |
| (IPC::Connection::open): |
| |
| 2018-03-01 Per Arne Vollan <pvollan@apple.com> |
| |
| Unreviewed build fix after r229140. |
| |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| |
| 2018-03-01 Per Arne Vollan <pvollan@apple.com> |
| |
| Scrollbar preferences are ignored when the WebContent process doesn't have access to the WindowServer. |
| https://bugs.webkit.org/show_bug.cgi?id=183231 |
| <rdar://problem/37793457> |
| |
| Reviewed by Brent Fulgham. |
| |
| When the WebContent process doesn't have access to the WindowServer, the scrollbars are always of the overlay type. |
| The notification about scrollbar preferences is never received by the WebContent process when there is no |
| WindowServer access. This can be fixed by adding an observer of scrollbar preferences in the UI process, and |
| notifying the WebProcess about this by sending it a message. This message should also contain the preferred |
| scrollbar type, since the call '[NSScroller preferredScrollerStyle]' will always return the overlay style when |
| there is no WindowServer access. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::registerNotificationObservers): |
| (WebKit::WebProcessPool::unregisterNotificationObservers): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeProcess): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::scrollerStylePreferenceChanged): |
| |
| 2018-03-01 Antti Koivisto <antti@apple.com> |
| |
| Crash when updating cache entry after validation in apps that uses class A file protection |
| https://bugs.webkit.org/show_bug.cgi?id=183242 |
| <rdar://problem/33289058> |
| |
| Reviewed by Chris Dumez. |
| |
| When validating a cache entry, we keep it alive until we get a network response. With 304 response |
| we then update the headers of this existing entry. This accesses the body data of the entry which |
| may be backed by a mapped file. If the app uses class A protection, user might have locked |
| the device and the entry might have become inaccessible, leading to a crash. |
| |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::setNeedsValidation): |
| |
| In case of class A protection, pull the data to a memory buffer immediately before starting a revalidation request. |
| This makes the window where the file could become inaccessible much shorter (since it no longer depends on network). |
| |
| 2018-03-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r221514): [GTK] UI process crash in WebKit::WaylandCompositor::Surface::flushPendingFrameCallbacks |
| https://bugs.webkit.org/show_bug.cgi?id=183091 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Invalidate the surface in the page map when the backing store is destroyed. |
| |
| * UIProcess/gtk/WaylandCompositor.cpp: |
| (WebKit::WaylandCompositor::willDestroySurface): |
| * UIProcess/gtk/WaylandCompositor.h: |
| |
| 2018-02-28 Brian Burg <bburg@apple.com> |
| |
| [Cocoa] Web Automation: provide a way to ask clients the type of a JavaScript dialog |
| https://bugs.webkit.org/show_bug.cgi?id=182660 |
| <rdar://problem/37408183> |
| |
| Reviewed by Tim Horton and Carlos Garcia Campos. |
| |
| Add another delegate method to ask what type of dialog is being shown. |
| This is used to implement §18.4 Step 5, where sending text to a dialog |
| without a prompt will return several different kinds of errors. |
| |
| No new tests, covered by web platform tests once Safari side has landed. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: Update FIXME radar numbers. |
| * UIProcess/Cocoa/AutomationSessionClient.h: |
| * UIProcess/Cocoa/AutomationSessionClient.mm: |
| (WebKit::AutomationSessionClient::AutomationSessionClient): |
| (WebKit::toImpl): |
| (WebKit::AutomationSessionClient::typeOfCurrentJavaScriptDialogOnPage): |
| If there is no current dialog to be checked, the client can return the 'None' |
| type. This gets converted into a std::nullopt and causes a command error later. |
| |
| 2018-02-28 John Wilander <wilander@apple.com> |
| |
| Remove assertion from ResourceLoadStatisticsClassifier::calculateResourcePrevalence() which causes crashes when domains are explicitly set as prevalent without the associated statistics |
| https://bugs.webkit.org/show_bug.cgi?id=183233 |
| |
| Unreviewed removal of an assertion that's causing layout test crashes. |
| |
| * Platform/classifier/ResourceLoadStatisticsClassifier.cpp: |
| (WebKit::ResourceLoadStatisticsClassifier::calculateResourcePrevalence): |
| Removed ASSERT(currentPrevalence == Low). |
| |
| 2018-02-28 John Wilander <wilander@apple.com> |
| |
| Add a second tier of prevalence to facilitate telemetry on very prevalent domains |
| https://bugs.webkit.org/show_bug.cgi?id=183218 |
| <rdar://problem/37992388> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Platform/classifier/ResourceLoadStatisticsClassifier.cpp: |
| (WebKit::vectorLength): |
| New convenience function. |
| (WebKit::ResourceLoadStatisticsClassifier::calculateResourcePrevalence): |
| Renamed from ResourceLoadStatisticsClassifier::hasPrevalentResourceCharacteristics(). |
| Now returns a value from the enum ResourceLoadPrevalence. |
| (WebKit::ResourceLoadStatisticsClassifier::classifyWithVectorThreshold): |
| Now uses the new vectorLength() convenience function. |
| (WebKit::ResourceLoadStatisticsClassifier::hasPrevalentResourceCharacteristics): Deleted. |
| Renamed to ResourceLoadStatisticsClassifier::calculateResourcePrevalence(). |
| * Platform/classifier/ResourceLoadStatisticsClassifier.h: |
| Added enum ResourceLoadPrevalence. |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<ResourceLoadStatistics>::encode): |
| (IPC::ArgumentCoder<ResourceLoadStatistics>::decode): |
| Handling of the new boolean field isVeryPrevalentResource. |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreSetStatisticsVeryPrevalentResource): |
| (WKWebsiteDataStoreIsStatisticsVeryPrevalentResource): |
| Test infrastructure. |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords): |
| (WebKit::WebResourceLoadStatisticsStore::setPrevalentResource): |
| (WebKit::WebResourceLoadStatisticsStore::setVeryPrevalentResource): |
| (WebKit::WebResourceLoadStatisticsStore::isVeryPrevalentResource): |
| (WebKit::WebResourceLoadStatisticsStore::clearPrevalentResource): |
| All of these are for handling of the two-tier classification. |
| Also bumped the statisticsModelVersion to 12. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| |
| 2018-02-28 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce use of NetworkingContext in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=183213 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/RemoteNetworkingContext.h: |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::loadResourceSynchronously): |
| (WebKit::WebLoaderStrategy::preconnectTo): |
| * WebProcess/Network/WebLoaderStrategy.h: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::proxiesForURL): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| * WebProcess/WebPage/WebFrame.cpp: |
| |
| 2018-02-28 Brent Fulgham <bfulgham@apple.com> |
| |
| Remove network access from the WebContent process sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=183192 |
| <rdar://problem/35369115> |
| |
| Reviewed by Alex Christensen. |
| |
| Remove the 'system-network', 'allow-network-common', and 'network-client' access from the WebContent process. |
| That's why we have a Network Process! |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-02-27 Tim Horton <timothy_horton@apple.com> |
| |
| Ensure target triple is propagated correctly to DerivedSources.make |
| https://bugs.webkit.org/show_bug.cgi?id=183189 |
| <rdar://problem/37959694> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| * DerivedSources.make: |
| Ditto the WebCore ChangeLog. |
| |
| 2018-02-27 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| Make it possible to set suggestions in extra zoom mode. |
| https://bugs.webkit.org/show_bug.cgi?id=183154 |
| <rdar://problem/35227450> |
| |
| Reviewed by Tim Horton. |
| |
| In extra zoom mode, when presenting WKFocusedFormControlViewController, make it the inputDelegate for |
| WKContentView. This is needed to ensure we can capture/cache the suggestions when _WKInputSession's |
| suggestions is updated. Later, when we present WKTextInputViewController, we can pass the cached |
| suggestions. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView presentFocusedFormControlViewController:]): Set _focusedFormControlViewController as |
| the inputDelegate for WKContentView. |
| (-[WKContentView dismissFocusedFormControlViewController:]): Null the inputDelegate on dismissal. |
| (-[WKContentView presentTextInputViewController:]): Pass the suggestions from WKFocusedFormControlViewController to |
| WKTextInputViewController when the latter is presented. |
| (-[WKContentView textInputController:didCommitText:]): Call the new delegate method textInputController:didCommitText:withSuggestion:. |
| (-[WKContentView textInputController:didCommitText:withSuggestion:]): When a suggestions is selected, insert the |
| suggestion which will notify the client. |
| (-[WKContentView focusedFormControllerDidUpdateSuggestions:]): Called when the suggestion is updated after the input |
| view controller is presented. |
| |
| 2018-02-27 Tim Horton <timothy_horton@apple.com> |
| |
| Stop using deprecated CADisplay SPI |
| https://bugs.webkit.org/show_bug.cgi?id=183150 |
| <rdar://problem/37918297> |
| |
| Reviewed by Simon Fraser. |
| |
| * Platform/spi/ios/FrontBoardServicesSPI.h: Added. |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): |
| * WebKit.xcodeproj/project.pbxproj: |
| Switch to the more modern way of getting the display name. |
| |
| 2018-02-27 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r229055. |
| |
| Breaks internal builds. |
| |
| Reverted changeset: |
| |
| "Stop using deprecated CADisplay SPI" |
| https://bugs.webkit.org/show_bug.cgi?id=183150 |
| https://trac.webkit.org/changeset/229055 |
| |
| 2018-02-27 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Implement additional SPI for adjusting viewport shrink-to-fit behavior |
| https://bugs.webkit.org/show_bug.cgi?id=183100 |
| <rdar://problem/37840987> |
| |
| Reviewed by Tim Horton. |
| |
| Add new SPI hooks to provide finer control over certain aspects of the shrink-to-fit viewport heuristic. |
| Currently, in certain cases of iPad multitasking, Safari allows shrinking content to fit by default. This means |
| that even when "width=device-width" is used, if the contents of the page are too wide to fit within the |
| viewport's width, we'll adjust the initial scale such that the viewport can fit all of the content. |
| |
| However, in certain viewport dimensions, this heuristic is insufficient to ensure that pages are laid out and |
| displayed properly within the viewport. Namely, one could imagine that an element with a hard-coded width that |
| is larger than the real viewport width would cause all other elements with dimensions relative to the body to be |
| excessively shrunk down once shrink-to-fit is applied, so the page would still look broken even if the contents |
| of the page all fit within the viewport. |
| |
| To mitigate this, we decouple the notions of minimum layout size from the size of the actual viewport (which we |
| simply refer to as "view size"). This allows us to introduce a mechanism where we lay out the page at a given |
| minimum layout size that is larger than the size of the view; later, when we determine the initial scale, we |
| then apply shrink-to-fit scaling using the view size rather than the minimum layout size. This grants us the |
| ability to lay out content as if our view were large, but still ensure that the contents of the page fit within |
| the actual view. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: |
| (WebKit::VisibleContentRectUpdateInfo::encode const): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| (WebKit::operator<<): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::forceHorizontalShrinkToFit const): |
| (WebKit::operator==): |
| |
| Plumb the forceHorizontalShrinkToFit flag through VisibleContentRectUpdateInfo. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode const): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| |
| Plumb viewSize through IPC to WebPage. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| |
| Start off WKWebView flags at their initial values. |
| |
| (-[WKWebView _minimumAllowedLayoutWidth]): |
| (-[WKWebView _setMinimumAllowedLayoutWidth:]): |
| |
| This provides the minimum width at which the page will lay out, such that if the view width dips below this |
| value, we'll use this minimum allowed layout width instead. 0 by default. |
| |
| (-[WKWebView activeMinimumLayoutSizes:]): |
| |
| Refactor this from a static function to a helper method on WKWebView that computes both the minimum layout size |
| (which takes minimum allowed layout width into account) as well as the real view size. Refactor all call sites |
| to use this new method, and also propagate the view size down via IPC, alongside the minimum layout size. |
| |
| (-[WKWebView _dispatchSetMinimumLayoutSize:viewSize:]): |
| (-[WKWebView _frameOrBoundsChanged]): |
| (-[WKWebView _setMinimumLayoutSizeOverride:]): |
| (-[WKWebView _setForceHorizontalViewportShrinkToFit:]): |
| (-[WKWebView _forceHorizontalViewportShrinkToFit]): |
| |
| Setting this flag to YES forces us to always shrink-to-fit in the horizontal axis. NO by default. |
| |
| (-[WKWebView _beginAnimatedResizeWithUpdates:]): |
| (-[WKWebView _endAnimatedResize]): |
| (activeMinimumLayoutSize): Deleted. |
| |
| More refactoring to replace activeMinimumLayoutSize() with -activeMinimumLayoutSizes:. |
| |
| (-[WKWebView _dispatchSetMinimumLayoutSize:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): |
| |
| Pass _forceHorizontalViewportShrinkToFit into the visible content rect update. |
| |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::dynamicViewportSizeUpdate): |
| (WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize): |
| |
| Plumb viewSize alongside the existing minimumLayoutSize. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_credentialsMessenger): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::setViewportConfigurationMinimumLayoutSize): |
| (WebKit::WebPage::dynamicViewportSizeUpdate): |
| (WebKit::WebPage::updateVisibleContentRects): |
| |
| Set forceHorizontalShrinkToFit on the viewport configuration here. |
| |
| 2018-02-27 Tim Horton <timothy_horton@apple.com> |
| |
| Stop using deprecated CADisplay SPI |
| https://bugs.webkit.org/show_bug.cgi?id=183150 |
| <rdar://problem/37918297> |
| |
| Reviewed by Simon Fraser. |
| |
| * Platform/spi/ios/FrontBoardServicesSPI.h: Added. |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): |
| * WebKit.xcodeproj/project.pbxproj: |
| Switch to the more modern way of getting the display name. |
| |
| 2018-02-26 Youenn Fablet <youenn@apple.com> |
| |
| Caches::m_storage should be set to null in case of error at initialization time |
| https://bugs.webkit.org/show_bug.cgi?id=183068 |
| |
| Reviewed by Chris Dumez. |
| |
| In case of error, we need to set m_storage back to nullptr so that |
| next tries to initialize it will restart from scratch. |
| If we do not set it to nullptr, we end up storing the initialize |
| callback in a queue and the callback will never be called. |
| |
| This is difficult to test as we need the following conditions: |
| - we need to have an error case, like a disk writing error |
| - we need the web app to open a cache in two different pages/frames at about the same time. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::initialize): |
| |
| 2018-02-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r226330. |
| https://bugs.webkit.org/show_bug.cgi?id=183152 |
| |
| incorrectly assumes enumeration callback happens once |
| (Requested by alexchristensen on #webkit). |
| |
| Reverted changeset: |
| |
| "Use BlockPtrs and lambdas instead of new/delete to pass |
| parameters to blocks in WebViewImpl::performDragOperation" |
| https://bugs.webkit.org/show_bug.cgi?id=180795 |
| https://trac.webkit.org/changeset/226330 |
| |
| 2018-02-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Release assertion in WebPage::updatePreferences |
| https://bugs.webkit.org/show_bug.cgi?id=183075 |
| |
| Reviewed by Youenn Fablet and Chris Dumez. |
| |
| Replaced the release assertion added in r228589 with a more graceful disabling of the feature when the entitlement is missing. |
| |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::didReceiveMessage): Added an early exit with an entitlement check to disable the feature. |
| (WebKit::StorageProcess::initializeWebsiteDataStore): Ditto. |
| (WebKit::StorageProcess::createStorageToWebProcessConnection): Replaced the release assertion with a debug assertion. |
| (WebKit::StorageProcess::swServerForSession): Removed the assertion. This code can be reached when the service worker is disabled. |
| (WebKit::StorageProcess::registerSWServerConnection): Replaced the release assertion with a debug assertion. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Disable the feature instead of crashing when the entitlement is missing. |
| |
| 2018-02-26 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r223431): Crash under didReceiveChallenge in NetworkSessionCocoa |
| https://bugs.webkit.org/show_bug.cgi?id=183134 |
| <rdar://problem/36339049> |
| |
| Reviewed by Alex Christensen. |
| |
| Like other delegates functions in this file, it is possible for didReceiveChallenge to get called |
| after _session has been nulled out. Other delegate functions already had early returns when |
| _session is null. However, such early return was missing in didReceiveChallenge. |
| |
| This patch ends the early return to didReceiveChallenge so that we do not end up calling |
| _session->downloadID(taskIdentifier) on a null _session. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| |
| 2018-02-26 Youenn Fablet <youenn@apple.com> |
| |
| MessagePort is not always destroyed in the right thread |
| https://bugs.webkit.org/show_bug.cgi?id=183053 |
| |
| Reviewed by Chris Dumez. |
| |
| Update code to pass a lambda to MessagePort::existingMessagePortForIdentifier. |
| |
| * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp: |
| (WebKit::WebMessagePortChannelProvider::checkProcessLocalPortForActivity): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::messagesAvailableForPort): |
| |
| 2018-02-25 Alexey Proskuryakov <ap@apple.com> |
| |
| Font smoothing doesn't get disabled if the preference is set before launching WebContent process |
| https://bugs.webkit.org/show_bug.cgi?id=183108 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): |
| Fix the bug. While at it, also avoid the anti-pattern in setAlwaysUsesComplexTextCodePath. |
| |
| 2018-02-25 Philippe Normand <pnormand@igalia.com> |
| |
| Unreviewed GTK Debug build fix after r228942. |
| |
| * UIProcess/API/glib/IconDatabase.cpp: |
| (WebKit::IconDatabase::iconDatabaseSyncThread): |
| (WebKit::IconDatabase::syncThreadMainLoop): |
| (WebKit::IconDatabase::readFromDatabase): |
| (WebKit::IconDatabase::writeToDatabase): |
| (WebKit::IconDatabase::cleanupSyncThread): |
| |
| 2018-02-25 Chris Dumez <cdumez@apple.com> |
| |
| Service workers do not work well inside Web.app |
| https://bugs.webkit.org/show_bug.cgi?id=183105 |
| <rdar://problem/37864140> |
| |
| Reviewed by Youenn Fablet. |
| |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::didReceiveMessage): |
| We were failing to forward IPC messages to the ChildProcess class here. As a result, |
| the ChildProcess::RegisterURLSchemeServiceWorkersCanHandle IPC was being ignored |
| by the StorageProcess. |
| |
| 2018-02-24 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed WPE breakage fix. |
| |
| * WebProcess/wpe/WebProcessMainWPE.cpp: Call g_set_prgname() in WebProcess |
| to prepare the GLib state for subsequent GStreamer initialization. |
| |
| 2018-02-23 John Wilander <wilander@apple.com> |
| |
| Introduce ITP debug logging as an opt-in developer feature |
| https://bugs.webkit.org/show_bug.cgi?id=183065 |
| <rdar://problem/37803761> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Platform/Logging.h: |
| Added a dedicated channel for Resource Load Statistics debug logging |
| since this will be part of a developer-facing feature and should not |
| be mixed with general Resource Load Statistics logging. |
| * UIProcess/Cocoa/WebResourceLoadStatisticsStoreCocoa.mm: |
| (WebKit::WebResourceLoadStatisticsStore::registerUserDefaultsIfNeeded): |
| Now picks up the user default setting for |
| ResourceLoadStatisticsDebugLoggingEnabled. |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): |
| Now logs for which domains it purges website data if |
| ResourceLoadStatisticsDebugLoggingEnabled is set. |
| (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning): |
| Now logs for which domains it partitions and blocks cookies |
| in third-party contexts if ResourceLoadStatisticsDebugLoggingEnabled |
| is set. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| |
| 2018-02-23 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS] Correct sandbox violation during media playback |
| https://bugs.webkit.org/show_bug.cgi?id=183092 |
| <rdar://problem/37718495> |
| |
| Reviewed by Eric Carlson. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-02-23 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [MSVC] Unknown a type definition error in WebResourceLoadStatisticsStore on wincairo webkit |
| https://bugs.webkit.org/show_bug.cgi?id=182873 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| |
| 2018-02-23 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GStreamer][MiniBrowser] Honor GStreamer command line parameters in MiniBrowser |
| https://bugs.webkit.org/show_bug.cgi?id=173655 |
| <rdar://problem/37706341> |
| |
| Reviewed by Philippe Normand. |
| |
| Actually pass the gst command line options to the WebProcess. The options in /proc/self/cmdline are separated by |
| null characters, so we are effectively passing always the first option only, which is the program name. Then, in |
| the web process we always ignore the first option and providing WebProcess unconditionally, so we were doing |
| nothing. |
| |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): Use WebCore::extractGStreamerOptionsFromCommandLine() |
| * UIProcess/wpe/WebProcessPoolWPE.cpp: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): Ditto. |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformInitializeWebProcess): Move the vector. |
| |
| 2018-02-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Remove currentTime() / currentTimeMS() |
| https://bugs.webkit.org/show_bug.cgi?id=183052 |
| |
| Reviewed by Mark Lam. |
| |
| * NetworkProcess/cache/CacheStorageEngineCache.cpp: |
| * PluginProcess/WebProcessConnection.cpp: |
| * Shared/WebProcessCreationParameters.h: |
| * Shared/linux/WebMemorySamplerLinux.cpp: |
| (WebKit::WebMemorySampler::sampleWebKit const): |
| * Shared/mac/WebMemorySampler.mac.mm: |
| (WebKit::WebMemorySampler::sampleWebKit const): |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime): |
| * UIProcess/API/glib/IconDatabase.cpp: |
| (WebKit::IconDatabase::setIconDataForIconURL): |
| (WebKit::IconDatabase::synchronousLoadDecisionForIconURL): |
| (WebKit::IconDatabase::performURLImport): |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| * UIProcess/Plugins/PlugInAutoStartProvider.cpp: |
| (WebKit::expirationTimeFromNow): |
| (WebKit::PlugInAutoStartProvider::addAutoStartOriginHash): |
| (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy const): |
| (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): |
| (WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime): |
| (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest): |
| (WebKit::PlugInAutoStartProvider::didReceiveUserInteraction): |
| * UIProcess/Plugins/PlugInAutoStartProvider.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::processDidFinishLaunching): |
| (WebKit::WebProcessPool::startMemorySampler): |
| (WebKit::WebProcessPool::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h: |
| (API::InjectedBundle::PageLoaderClient::willPerformClientRedirectForFrame): |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: |
| (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame): |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::m_webSQLiteDatabaseTracker): |
| (WebKit::WebProcess::isPlugInAutoStartOriginHash): |
| (WebKit::WebProcess::plugInDidStartFromOrigin): |
| (WebKit::WebProcess::didAddPlugInAutoStartOriginHash): |
| (WebKit::WebProcess::resetPlugInAutoStartOriginDefaultHashes): |
| (WebKit::WebProcess::resetPlugInAutoStartOriginHashes): |
| (WebKit::WebProcess::plugInDidReceiveUserInteraction): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| * WebProcess/wpe/WebProcessMainWPE.cpp: |
| |
| 2018-02-22 Matt Baker <mattbaker@apple.com> |
| |
| Web Inspector: REGRESSION (r228349): ImageBitmap builtin is now runtime guarded |
| https://bugs.webkit.org/show_bug.cgi?id=183056 |
| <rdar://problem/37799067> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::WebInspectorUI): |
| |
| 2018-02-22 Youenn Fablet <youenn@apple.com> |
| |
| Caches::initialize should call all pending initialization callbacks in case of error |
| https://bugs.webkit.org/show_bug.cgi?id=183062 |
| |
| Reviewed by Chris Dumez. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::initialize): |
| (WebKit::CacheStorage::Caches::initializeSize): |
| |
| 2018-02-22 Youenn Fablet <youenn@apple.com> |
| |
| CacheStorage::Engine::Caches::writeRecord is not always calling the completion handler |
| https://bugs.webkit.org/show_bug.cgi?id=183055 |
| |
| Reviewed by Chris Dumez. |
| |
| Add a completion handler to Storage::store. |
| Use it instead in Caches::writeRecord. |
| This ensures that the Cache add/put promise will be called once all write operations have been done. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::writeRecord): |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::WriteOperation::WriteOperation): |
| (WebKit::NetworkCache::Storage::finishWriteOperation): |
| (WebKit::NetworkCache::Storage::store): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| (WebKit::NetworkCache::Storage::store): |
| |
| 2018-02-22 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add an entitlement check for service worker on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=182865 |
| |
| Reviewed by Dan Bernstein. |
| |
| Addressed Dan's comment by using xpc_connection_copy_entitlement_value instead of obtaining the audit token first. |
| |
| * Shared/mac/SandboxUtilities.h: |
| * Shared/mac/SandboxUtilities.mm: |
| (WebKit::connectedProcessHasEntitlement): |
| * StorageProcess/ios/StorageProcessIOS.mm: |
| (WebKit::StorageProcess::parentProcessHasServiceWorkerEntitlement const): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const): |
| |
| 2018-02-22 Youenn Fablet <youenn@apple.com> |
| |
| Fetch event release assert should take into account the fetch mode |
| https://bugs.webkit.org/show_bug.cgi?id=183047 |
| |
| Reviewed by Chris Dumez. |
| |
| In case of navigation tasks, we should use the request URL and not the origin of the loading client. |
| |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: |
| (WebKit::isValidFetch): |
| (WebKit::WebSWContextManagerConnection::startFetch): |
| |
| 2018-02-22 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [WinCairo] Fix compile errors in WebPageWin.cpp and WebProcessWin.cpp due to WebCore forwarding header paths |
| https://bugs.webkit.org/show_bug.cgi?id=182969 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| * WebProcess/WebPage/win/WebPageWin.cpp: |
| * WebProcess/win/WebProcessWin.cpp: |
| |
| 2018-02-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Remove sleep(double) and sleepMS(double) interfaces |
| https://bugs.webkit.org/show_bug.cgi?id=183038 |
| |
| Reviewed by Mark Lam. |
| |
| * PluginProcess/WebProcessConnection.cpp: |
| (WebKit::WebProcessConnection::createPluginAsynchronously): |
| * UIProcess/linux/MemoryPressureMonitor.cpp: |
| (WebKit::pollIntervalForUsedMemoryPercentage): |
| (WebKit::MemoryPressureMonitor::MemoryPressureMonitor): |
| * WebProcess/wpe/WebProcessMainWPE.cpp: |
| |
| 2018-02-22 Youenn Fablet <youenn@apple.com> |
| |
| Add release logging for CacheStorage::Engine disk related functions |
| https://bugs.webkit.org/show_bug.cgi?id=183042 |
| |
| Reviewed by Chris Dumez. |
| |
| * NetworkProcess/cache/CacheStorageEngine.cpp: |
| (WebKit::CacheStorage::Engine::writeFile): |
| (WebKit::CacheStorage::Engine::readFile): |
| |
| 2018-02-22 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r228902. |
| |
| This broke internal builds. |
| |
| Reverted changeset: |
| |
| "[Cocoa] Web Automation: provide a way to ask clients the type |
| of a JavaScript dialog" |
| https://bugs.webkit.org/show_bug.cgi?id=182660 |
| https://trac.webkit.org/changeset/228902 |
| |
| 2018-02-22 Youenn Fablet <youenn@apple.com> |
| |
| Add release asserts for service worker fetch and postMessage events |
| https://bugs.webkit.org/show_bug.cgi?id=183025 |
| rdar://problem/37765052 |
| |
| Reviewed by Daniel Bates. |
| |
| Add assertion to protect interception of a fetch load by a service worker with |
| a different origin from the page. |
| |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: |
| (WebKit::WebSWContextManagerConnection::startFetch): |
| |
| 2018-02-22 Ms2ger <Ms2ger@igalia.com> |
| |
| [GTK][WPE] Fix some build errors in service workers code |
| https://bugs.webkit.org/show_bug.cgi?id=182966 |
| |
| Reviewed by Žan Doberšek. |
| |
| * CMakeLists.txt: add missing files. |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: add missing includes. |
| * UIProcess/ServiceWorkerProcessProxy.cpp: use #include rather than #import in C++; add missing ifdef. |
| * UIProcess/ServiceWorkerProcessProxy.h: add missing ifdef. |
| * WebProcess/Storage/WebSWClientConnection.cpp: add missing includes. |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: add missing includes. |
| (WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection): |
| call the function that exists outside cocoa. |
| |
| 2018-02-21 Per Arne Vollan <pvollan@apple.com> |
| |
| The WebContent process should not use NSScreen in the screenAvailableRect/screenRect implementations. |
| https://bugs.webkit.org/show_bug.cgi?id=182855 |
| |
| Reviewed by Brent Fulgham. |
| |
| On macOS, the functions screenAvailableRect and screenRect is implemented using NSScreen, which is communicating |
| with the WindowServer. To avoid this WindowServer communication from the WebContent process when calling |
| screenAvailableRect and screenRect, it is possible to let the UIProcess send a message to the WebContent |
| process whenever there is a change in the display properties, and have the WebContent process cache these |
| display properties. This message should also be sent to a newly started WebContent process. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::displayReconfigurationCallBack): |
| (WebKit::registerDisplayConfigurationCallback): |
| (WebKit::WebProcessPool::initializeNewWebProcess): |
| (WebKit::WebProcessPool::warmInitialProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::setScreenProperties): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2018-02-21 Christopher Reid <chris.reid@sony.com> |
| |
| [Curl] Curl Cookie Database File should be configurable using NetworkProcessCreationParameters |
| https://bugs.webkit.org/show_bug.cgi?id=182751 |
| |
| Reviewed by Youenn Fablet. |
| |
| Adding a cookiePersistentStorageFile parameter to Curl's NetworkProcessCreationParameters. |
| This parameter is based on Soup's cookiePersistentStoragePath. |
| This parameter is not used yet, it is added to prepare for WinCairo WebKit support. |
| |
| * NetworkProcess/NetworkProcessCreationParameters.cpp: |
| * NetworkProcess/NetworkProcessCreationParameters.h: |
| * NetworkProcess/curl/NetworkProcessCurl.cpp: |
| * WebProcess/Cookies/WebCookieManager.h: |
| * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: |
| |
| 2018-02-21 Brian Burg <bburg@apple.com> |
| |
| [Cocoa] Web Automation: provide a way to ask clients the type of a JavaScript dialog |
| https://bugs.webkit.org/show_bug.cgi?id=182660 |
| <rdar://problem/37408183> |
| |
| Reviewed by Tim Horton and Carlos Garcia Campos. |
| |
| Add another delegate method to ask what type of dialog is being shown. |
| This is used to implement §18.4 Step 5, where sending text to a dialog |
| without a prompt will return several different kinds of errors. |
| |
| No new tests, covered by web platform tests once Safari side has landed. |
| |
| * UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: Update FIXME radar numbers. |
| * UIProcess/Cocoa/AutomationSessionClient.h: |
| * UIProcess/Cocoa/AutomationSessionClient.mm: |
| (WebKit::AutomationSessionClient::AutomationSessionClient): |
| (WebKit::toImpl): |
| (WebKit::AutomationSessionClient::typeOfCurrentJavaScriptDialogOnPage): |
| If there is no current dialog to be checked, the client can return the 'None' |
| type. This gets converted into a std::nullopt and causes a command error later. |
| |
| 2018-02-21 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [WinCairo] Fix compile errors of WebProcess and NetworkProcess due to no implementation for windows |
| https://bugs.webkit.org/show_bug.cgi?id=182870 |
| |
| Reviewed by Youenn Fablet. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::createNetworkConnectionToWebProcess): |
| * WebProcess/Plugins/PluginProcessConnectionManager.cpp: |
| (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::openFrontendConnection): |
| * WebProcess/WebPage/WebInspectorUI.cpp: |
| (WebKit::WebInspectorUI::establishConnection): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::ensureNetworkProcessConnection): |
| |
| 2018-02-21 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake][Win] Use cmakeconfig.h rather than config.h and Platform.h |
| https://bugs.webkit.org/show_bug.cgi?id=182883 |
| |
| Reviewed by Per Arne Vollan. |
| |
| * config.h: |
| |
| 2018-02-21 Brian Burg <bburg@apple.com> |
| |
| Web Automation: failed provisional loads cause "Navigate To" command to hang |
| https://bugs.webkit.org/show_bug.cgi?id=183007 |
| <rdar://problem/37751819> |
| |
| Reviewed by Andy Estes. |
| |
| This hang was revealed by WPT test current_url.py::get_current_url_file_protocol. Now the |
| test simply fails because Safari chooses a policy of 'Ignore' for externally-opened files. |
| I filed an upstream issue with the test here: https://github.com/w3c/webdriver/issues/1232 |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): |
| Notify the session that the load failed in the frame, just like we do |
| for non-provisional failed loads and successful loads. |
| |
| 2018-02-20 Nan Wang <n_wang@apple.com> |
| |
| AX: Keyboard focus not following VoiceOver cursor into web content or within web content. |
| https://bugs.webkit.org/show_bug.cgi?id=182752 |
| <rdar://problem/37518233> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::assistiveTechnologyMakeFirstResponder): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::assistiveTechnologyMakeFirstResponder): |
| * UIProcess/mac/PageClientImplMac.h: |
| * UIProcess/mac/PageClientImplMac.mm: |
| (WebKit::PageClientImpl::assistiveTechnologyMakeFirstResponder): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::assistiveTechnologyMakeFirstResponder): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::assistiveTechnologyMakeFirstResponder): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2018-02-14 Brian Burg <bburg@apple.com> |
| |
| Web Automation: combine session commands to resize and move top-level browsing contexts |
| https://bugs.webkit.org/show_bug.cgi?id=182749 |
| <rdar://problem/37515170> |
| |
| Reviewed by Andy Estes. |
| |
| Since moving and resizing the window are both accomplished by setting the window frame, |
| and the W3C WebDriver specification has a Get/Set Window Rect command, it's time to |
| deduplicate these two methods which basically do the same thing. |
| |
| Adopt modern JSON::Value getters that return std::optional<float>. I have been trying |
| to move the protocol over to this style wholesale, but it is probably easier to do |
| this conversion in smaller pieces. And so, I have started to do so. |
| |
| This change is covered by existing WebDriver tests. |
| |
| * UIProcess/Automation/Automation.json: Add new command. |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::setWindowFrameOfBrowsingContext): Added. |
| (WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): Deleted. |
| (WebKit::WebAutomationSession::moveWindowOfBrowsingContext): Deleted. |
| * UIProcess/Automation/WebAutomationSession.h: |
| |
| 2018-02-20 Brian Burg <bburg@apple.com> |
| |
| ASSERT under WebAutomationSession::setProcessPool() when running W3C test suite a second time |
| https://bugs.webkit.org/show_bug.cgi?id=182991 |
| <rdar://problem/37620578> |
| |
| Reviewed by Timothy Hatcher. |
| |
| Sometimes when running more than one session end-to-end with the same browser instance, |
| UIProcess would crash under addMessageReceiver because another WebAutomationSession was still |
| registered. This is hard to reproduce, but upon code inspection, the receiver management code |
| is somewhat problematic because it only runs when the WebAutomationSession destructor runs. |
| In some cases the client could retain two sessions and cause the first one to never remove itself |
| as the message receiver. |
| |
| Instead of unregistering the session as a message receiver underneath the session's destructor, |
| do this whenever a new session supplants an old session since there is only one active session at a time. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::~WebAutomationSession): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::setAutomationSession): |
| |
| 2018-02-20 Tim Horton <timothy_horton@apple.com> |
| |
| Introduce HAVE(IOSURFACE_ACCELERATOR) |
| https://bugs.webkit.org/show_bug.cgi?id=182955 |
| <rdar://problem/37699510> |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/RemoteLayerTree/RemoteLayerBackingStore.h: |
| * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: |
| * Shared/cg/ShareableBitmapCG.cpp: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: |
| * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: |
| * UIProcess/mac/ViewSnapshotStore.h: |
| * UIProcess/mac/ViewSnapshotStore.mm: |
| |
| 2018-02-20 Chris Dumez <cdumez@apple.com> |
| |
| Provisional load may get committed before receiving the decidePolicyForNavigationResponse response |
| https://bugs.webkit.org/show_bug.cgi?id=182720 |
| <rdar://problem/37515204> |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didReceiveResponse): |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp: |
| (WebKit::WebURLSchemeTaskProxy::didReceiveResponse): |
| |
| 2018-02-20 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r228829. |
| |
| This caused a consistent failure in the API test |
| WebKit.InteractionDeadlockAfterCrash on iOS Simulator |
| |
| Reverted changeset: |
| |
| "Switch to UIWKTextInteractionAssistant for non-editable text" |
| https://bugs.webkit.org/show_bug.cgi?id=182834 |
| https://trac.webkit.org/changeset/228829 |
| |
| 2018-02-20 Megan Gardner <megan_gardner@apple.com> |
| |
| Switch to UIWKTextInteractionAssistant for non-editable text |
| https://bugs.webkit.org/show_bug.cgi?id=182834 |
| |
| Reviewed by Wenson Hsieh and Tim Horton. |
| |
| Switching to only using the UIWKTextInteractionAssistant. Only character granularity is now supported. |
| Also keep the from regressing gating the keyboard bring up on user interaction. The presents of a |
| textInteractionAssistant can no longer be used as proxy for the presence of the keyboard. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView useSelectionAssistantWithGranularity:]): |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): |
| |
| 2018-02-20 John Wilander <wilander@apple.com> |
| |
| Make WebResourceLoadStatisticsStore::processStatisticsAndDataRecords() call WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed() in a proper callback |
| https://bugs.webkit.org/show_bug.cgi?id=182719 |
| <rdar://problem/37517370> |
| |
| Reviewed by Brent Fulgham. |
| |
| This will allow the page notification, statistics pruning, and persistence write |
| to be done at the right time and hopefully stabilize the layout tests including: |
| http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): |
| Now takes a callback parameter. |
| (WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| Now calls WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed() |
| in a callback provided to WebResourceLoadStatisticsStore::removeDataRecords(). |
| |
| 2018-02-20 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Cairo] Drop target GraphicsContext usage in Cairo operations |
| https://bugs.webkit.org/show_bug.cgi?id=182964 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| The GraphicsContext parameters in various Cairo operations are not used |
| anymore, so they can be removed. Callsites are updated to reflect this. |
| |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::ShareableBitmap::paint): |
| * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: |
| (WebKit::convertCairoSurfaceToShareableBitmap): |
| |
| 2018-02-20 Philippe Normand <pnormand@igalia.com> |
| |
| [GStreamer][MiniBrowser] Honor GStreamer command line parameters in MiniBrowser |
| https://bugs.webkit.org/show_bug.cgi?id=173655 |
| |
| Reviewed by Xabier Rodriguez-Calvar. |
| |
| The FIXME in GStreamerUtilities.cpp asks to pass the command line |
| parameters to the GStreamer initialization function. |
| |
| Based on initial patch by: Vanessa Chipirrás Navalón <vchipirras@igalia.com> |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode const): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: Define the vector which contains the GStreamer options. |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): Read from cmdline file |
| the GStreamer options written by console. |
| * WebProcess/soup/WebProcessSoup.cpp: |
| (WebKit::WebProcess::platformInitializeWebProcess): Call initializeGStreamer() method passing |
| the vector which contains the options. |
| |
| 2018-02-20 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [Win] Fix MSVC's treating __attribute__((warn_unused_result)) |
| https://bugs.webkit.org/show_bug.cgi?id=182479 |
| |
| Reviewed by Darin Adler. |
| |
| Since MSVC doesn't understand "__attribute__", "_Check_return_" is used instead. |
| If clang and VisualStudio 2017 are used, a macro with "__attriute__" will be chosen. |
| |
| * UIProcess/API/cpp/WKRetainPtr.h: |
| |
| 2018-02-19 Brady Eidson <beidson@apple.com> |
| |
| Add WebProcessPool option for process swapping on navigation. |
| https://bugs.webkit.org/show_bug.cgi?id=182945 |
| |
| Reviewed by Alex Christensen. |
| |
| Just the most basic groundwork for testing a new WK2 feature. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| (WKContextConfigurationProcessSwapsOnNavigation): |
| (WKContextConfigurationSetProcessSwapsOnNavigation): |
| * UIProcess/API/C/WKContextConfigurationRef.h: |
| |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration setProcessSwapsOnNavigation:]): |
| (-[_WKProcessPoolConfiguration processSwapsOnNavigation]): |
| |
| 2018-02-19 Daniel Bates <dabates@apple.com> |
| |
| Null pointer dereference in WebPageProxy::urlSchemeHandlerForScheme() |
| https://bugs.webkit.org/show_bug.cgi?id=182905 |
| <rdar://problem/37676775> |
| |
| Reviewed by Alex Christensen. |
| |
| Return nullptr when querying for the scheme handler of the null string. |
| |
| Before a navigation is performed WebKit checks if the destination URL is associated with an app |
| unless the embedding client overrides the WKNavigationDelegate delegate callback -webView:decidePolicyForNavigationAction:decisionHandler. |
| If the URL is not associated with an app then WebKit may fall back to checking if the embedding |
| client registered a scheme handler for it. Currently we assume that the scheme is a non-null |
| string when checking the scheme handler registry. However the scheme can be a null string if |
| it is part of a malformed URL. And this leads to bad news bears when we try to use it to look |
| for a scheme handler. Instead check that the scheme is a non-null string before checking to see |
| if it is in the scheme handler registry. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::urlSchemeHandlerForScheme): |
| |
| 2018-02-19 Eric Carlson <eric.carlson@apple.com> |
| |
| [Extra zoom mode] Don't allow PiP media playback |
| https://bugs.webkit.org/show_bug.cgi?id=182930 |
| <rdar://problem/37676259> |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): Don't enable PiP mode. Require user interaction for |
| all media types. |
| |
| 2018-02-19 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r228696. |
| |
| The API test added with this change is timing out on macOS. |
| |
| Reverted changeset: |
| |
| "Null pointer dereference in |
| WebPageProxy::urlSchemeHandlerForScheme()" |
| https://bugs.webkit.org/show_bug.cgi?id=182905 |
| https://trac.webkit.org/changeset/228696 |
| |
| 2018-02-19 Daniel Bates <dabates@apple.com> |
| |
| Null pointer dereference in WebPageProxy::urlSchemeHandlerForScheme() |
| https://bugs.webkit.org/show_bug.cgi?id=182905 |
| |
| Reviewed by Alex Christensen. |
| |
| Return nullptr when querying for the scheme handler of the null string. |
| |
| Before a navigation is performed WebKit checks if the destination URL is associated with an app |
| unless the embedding client overrides the WKNavigationDelegate delegate callback -webView:decidePolicyForNavigationAction:decisionHandler. |
| If the URL is not associated with an app then WebKit may fall back to checking if the embedding |
| client registered a scheme handler for it. Currently we assume that the scheme is a non-null |
| string when checking the scheme handler registry. However the scheme can be a null string if |
| it is part of a malformed URL. And this leads to bad news bears when we try to use it to look |
| for a scheme handler. Instead check that the scheme is a non-null string before checking to see |
| if it is in the scheme handler registry. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::urlSchemeHandlerForScheme): |
| |
| 2018-02-19 Ms2ger <Ms2ger@igalia.com> |
| |
| Explicitly qualify some method calls on this in lamdas in Service Worker code. |
| https://bugs.webkit.org/show_bug.cgi?id=182875 |
| |
| Reviewed by Chris Dumez. |
| |
| This is necessary for the code to build with GCC 5. Other code already |
| appears to have been adapted similarly. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::startFetch): |
| |
| 2018-02-18 Reza Abbasian <rabbasian@apple.com> |
| |
| Set the appropriate AutoFill context for suggested passwords. |
| https://bugs.webkit.org/show_bug.cgi?id=182718 |
| <rdar://problem/36326863> |
| |
| Reviewed by Wenson Hsieh and Tim Horton. |
| |
| Before starting the input session, call the new delegate to query if AutoFill password suggestion assistance |
| is required for the focused element. |
| |
| * UIProcess/API/Cocoa/_WKFormInputSession.h: |
| * UIProcess/API/Cocoa/_WKInputDelegate.h: |
| Introduce a new delegate to be called before starting an input session to query if AutoFill password suggestion |
| assistance is required for the focused element. |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKFormInputSession initWithContentView:focusedElementInfo:requiresStrongPasswordAssistance:]): |
| (-[WKFormInputSession requiresStrongPasswordAssistance]): |
| (-[WKContentView cleanupInteraction]): |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): |
| Call the delegate to find out if AutoFill suggested password assistance is required. |
| (-[WKContentView _stopAssistingNode]): |
| (-[WKContentView _autofillContext]): If the first responder is a password element and requires |
| assistance for AutoFill suggested password, set the appropriate AutoFill context. |
| (-[WKFormInputSession initWithContentView:focusedElementInfo:]): Deleted. |
| |
| 2018-02-17 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Form control values are stale after dismissing and representing input view controllers |
| https://bugs.webkit.org/show_bug.cgi?id=182877 |
| <rdar://problem/37604395> |
| |
| Reviewed by Tim Horton. |
| |
| Currently, when presenting an input view controller for a focused element, we populate the initial form control |
| value using the WKContentView's assisted node information when it was last focused. However, if the user edits |
| the value of a form control, dismisses to the form control view controller (while the element is still focused) |
| and then begins editing the field again, the initial text will be the previous value of the input, since the |
| AssistedNodeInformation isn't up to date. |
| |
| To fix this, we introduce a mechanism to update WKContentView's AssistedNodeInformation for the current assisted |
| node. This overwrites _assistedNodeInformation with new information computed from the web process, as long as |
| the assisted node before and after the request is made in the UI process has not changed. We accomplish this by |
| adding an identifier to AssistedNodeInformation, which is monotonically incremented when an element is focused |
| in the web process. The UI process may then use this identifier to determine whether AssistedNodeInformations |
| are describing the same focused element. |
| |
| One interesting consideration here is that a normal AssistedNodeInformation update (propagated when focusing an |
| element) may be deferred in the UI process until the next layer tree commit. In the absence of the assisted node |
| identifier check, one could imagine a scenario in which the assisted node information in the UI process gets |
| "updated" from a new value to an old value: |
| |
| 1. The web process focuses an element and sends AssistedNodeInformation `A`. |
| 2. WKContentView calls -updateCurrentAssistedNodeInformation. |
| 3. The web process sends AssistedNodeInformation `B`. |
| 4. `A` is received in the UI process, but deferred. |
| 5. The UI process receives `B` and sets _assistedNodeInformation to `B`. |
| 6. The UI process calls -_startAssistingNode: and sets _assistedNodeInformation to `A`. |
| |
| This would mean that the _assistedNodeInformation is set to an earlier value, `A`, after being set to a later |
| value, `B`. However, because the AssistedNodeInformation identifier in step (2) refers to the assisted node |
| prior to step (1), the assisted node identifier in (5) would not match this identifier, and we would simply bail |
| instead of overwriting assisted node information. |
| |
| We use this AssistedNodeInformation update mechanism after inserting text via input view controllers, and also |
| after reentering edit mode from the focused form control view controller. This fixes two issues where changing |
| the size of the focused element after editing it results in the focused form overlay highlighting a stale frame, |
| and also when setting the initial text when reentering edit mode for a form control that is already focused. |
| |
| * Shared/AssistedNodeInformation.cpp: |
| (WebKit::AssistedNodeInformation::encode const): |
| (WebKit::AssistedNodeInformation::decode): |
| * Shared/AssistedNodeInformation.h: |
| |
| Add a new monotonically increasing identifier (per WebPage) which associates a AssistedNodeInformation with a |
| focused element. In the event that the web process crashes and relaunches (thus resetting this identifier), |
| AssistedNodeInformation state in the UI process is now also reset (see -cleanupInteraction), so we won't end up |
| confusing AssistedNodeInformations computed by different WebPages between a web process crash. |
| |
| * UIProcess/WebPageProxy.h: |
| |
| A bit of related refactoring here to remove an unnecessary bool flag that indicates whether we have a deferred |
| assisted node information. Instead, just use the presence of m_deferredNodeAssistanceArguments. |
| |
| * UIProcess/WebPageProxy.messages.in: |
| |
| Add a AssistedNodeInformationCallback IPC message. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView cleanupInteraction]): |
| |
| Clear out the previous AssistedNodeInformation. See above for details. |
| |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): |
| (-[WKContentView updateCurrentAssistedNodeInformation:]): |
| |
| Tries to update AssistedNodeInformation for the current assisted node, invoking the completion callback when |
| finished. This may result in the assisted node information not being updated due to the current assisted node |
| changing in the time between the start of the request and the information being received in the UI process. |
| |
| (-[WKContentView presentViewControllerForCurrentAssistedNode]): |
| |
| Refactored from -presentViewControllerForAssistedNode:, such that it no longer takes an AssistedNodeInformation |
| as an argument, but rather just uses WKContentView's current _assistedNodeInformation. This was just being |
| called with _assistedNodeInformation from all call sites anyways. |
| |
| (-[WKContentView textInputController:didCommitText:]): |
| |
| Request an AssistedNodeInformation update after setting the value of a form control; if the assisted node hasn't |
| changed, update the focused form control overlay. This is needed to handle cases where the focused element's |
| frame may have changed after inserting text (e.g. due to line wrapping), and the focused form control overlay |
| needs to be updated to reflect this change. |
| |
| (-[WKContentView focusedFormControlControllerDidBeginEditing:]): |
| |
| Request an AssistedNodeInformation update before reentering edit mode; if the assisted node hasn't changed since |
| the start of the request, present the appropriate input view controller. |
| |
| (-[WKContentView presentViewControllerForAssistedNode:]): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::assistedNodeInformationCallback): |
| (WebKit::WebPageProxy::requestAssistedNodeInformation): |
| (WebKit::WebPageProxy::didCommitLayerTree): |
| (WebKit::WebPageProxy::startAssistingNode): |
| (WebKit::WebPageProxy::stopAssistingNode): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::elementDidFocus): |
| |
| Increment the assisted node identifier. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::requestAssistedNodeInformation): |
| |
| Compute and return an AssistedNodeInformation. |
| |
| (WebKit::WebPage::getAssistedNodeInformation): |
| |
| 2018-02-16 Dean Jackson <dino@apple.com> |
| |
| Use OPENGL macros to be more clear about which OpenGL/ES WebGL uses on Cocoa |
| https://bugs.webkit.org/show_bug.cgi?id=182894 |
| |
| Reviewed by Tim Horton. |
| |
| Rename OPENGL_ES_2 to OPENGL_ES. |
| |
| * CMakeLists.txt: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| * UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: |
| (WebKit::AcceleratedBackingStoreWayland::paint): |
| * UIProcess/gtk/WaylandCompositor.cpp: |
| (WebKit::WaylandCompositor::initializeEGL): |
| |
| 2018-02-16 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add an entitlement check for service worker on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=182865 |
| <rdar://problem/37505903> |
| |
| Reviewed by Brady Eidson. |
| |
| Added an entitlement check to enable service workers on iOS. |
| |
| * Shared/mac/SandboxUtilities.h: |
| * Shared/mac/SandboxUtilities.mm: |
| (WebKit::connectedProcessHasEntitlement): Added. |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::createStorageToWebProcessConnection): Enforce the entitlement check by crashing |
| when this code is executed without the parent process having the service worker entitlement. This should |
| never happen unless someone is trying to bypass the entitlement check in UI Process since we ordinarily |
| disable service worker gracefully in WKWebView _initializeWithConfiguration. |
| (WebKit::StorageProcess::swServerForSession): Ditto. |
| (WebKit::StorageProcess::registerSWServerConnection): Ditto. |
| * StorageProcess/StorageProcess.h: |
| (WebKit::StorageProcess::parentProcessHasServiceWorkerEntitlement const): Added. |
| * StorageProcess/ios/StorageProcessIOS.mm: |
| (WebKit::StorageProcess::parentProcessHasServiceWorkerEntitlement const): Added. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): Disable the service workers when the entitlement is |
| missing from the current process. The entitlement is enforced by WebContent and Storage process. |
| This check avoids crashing WebContent process and gracefully disabling the feature. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): Enforce the entitlement check. |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const): Added. |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::parentProcessHasServiceWorkerEntitlement const): Added. |
| |
| 2018-02-16 Youenn Fablet <youenn@apple.com> |
| |
| Allow specifying which plug-ins are supported |
| https://bugs.webkit.org/show_bug.cgi?id=182748 |
| |
| Reviewed by Chris Dumez. |
| |
| Add a C and ObjC API to set which plug-ins are specified. |
| Plug-ins may be allowed by origin of the main page or for all origins. |
| |
| If the API to set a supported plug-in is called, WebKit enters a mode |
| where it will block any plug-in that is not on the list. |
| |
| The list of supported plug-ins is stored in UIProcess and sent to WebProcess. |
| This allows to compute the list of visible plug-ins according supported plugins. |
| |
| PluginInfoStore is storing the list of supported plugins and can |
| answer whether a plug-in creation request is to be made unsupported or not. |
| It also creates the structure sent to WebProcess for computing plugin visibility. |
| |
| Updated ArgumentCoders to accept modern HashSet decoders. |
| |
| * Platform/IPC/ArgumentCoders.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextAddSupportedPlugin): |
| (WKContextClearSupportedPlugins): |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _addSupportedPlugin:named:withMimeTypes:withExtensions:]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/Plugins/PluginInfoStore.cpp: |
| (WebKit::PluginInfoStore::isSupportedPlugin): |
| (WebKit::PluginInfoStore::SupportedPlugins::isSupported): |
| (WebKit::PluginInfoStore::SupportedPlugin::isSupported): |
| (WebKit::PluginInfoStore::supportedPluginNames): |
| (WebKit::PluginInfoStore::addSupportedPlugin): |
| * UIProcess/Plugins/PluginInfoStore.h: |
| (WebKit::PluginInfoStore::clearSupportedPlugins): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::findPlugin): |
| (WebKit::WebPageProxy::unavailablePluginButtonClicked): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::addSupportedPlugin): |
| (WebKit::WebProcessPool::clearSupportedPlugins): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::getPlugins): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebProcess/Plugins/WebPluginInfoProvider.cpp: |
| (WebKit::WebPluginInfoProvider::getPluginInfo): |
| (WebKit::WebPluginInfoProvider::getWebVisiblePluginInfo): |
| (WebKit::WebPluginInfoProvider::populatePluginCache): |
| * WebProcess/Plugins/WebPluginInfoProvider.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton const): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::createPlugin): |
| (WebKit::WebPage::canPluginHandleResponse): |
| |
| 2018-02-16 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthN] Implement PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() |
| https://bugs.webkit.org/show_bug.cgi?id=182771 |
| <rdar://problem/36459988> |
| |
| Reviewed by Brent Fulgham. |
| |
| This patch utilizes LocalAuthentication Framework to determine if biometrics |
| are enrolled on a device, which is the user verifying platform authenticator. |
| To do so, it links the framework to WebKit. |
| |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp: |
| (WebKit::WebCredentialsMessengerProxy::isUserVerifyingPlatformAuthenticatorAvailable): |
| (WebKit::WebCredentialsMessengerProxy::isUserVerifyingPlatformAuthenticatorAvailableReply): |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h: |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.messages.in: |
| * UIProcess/CredentialManagement/cocoa/WebCredentialsMessengerProxyCocoa.mm: |
| (WebKit::WebCredentialsMessengerProxy::platformIsUserVerifyingPlatformAuthenticatorAvailable): |
| * WebKit.xcodeproj/project.pbxproj: |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.cpp: |
| (WebKit::WebCredentialsMessenger::isUserVerifyingPlatformAuthenticatorAvailable): |
| (WebKit::WebCredentialsMessenger::isUserVerifyingPlatformAuthenticatorAvailableReply): |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.h: |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.messages.in: |
| |
| 2018-02-16 Per Arne Vollan <pvollan@apple.com> |
| |
| Implement stopping of run loop in the WebContent process when using NSRunLoop. |
| https://bugs.webkit.org/show_bug.cgi?id=182499 |
| <rdar://problem/37247424> |
| |
| Reviewed by Brent Fulgham. |
| |
| Add the method ChildProcess::stopNSRunLoop to end the WebContent process by executing a block |
| with 'exit(0)' on the main run loop. |
| |
| * Shared/ChildProcess.h: |
| * Shared/mac/ChildProcessMac.mm: |
| (WebKit::ChildProcess::stopNSRunLoop): |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| (WebKit::WebProcess::stopRunLoop): |
| |
| 2018-02-16 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [WinCario] Add NetworkSessionCurl |
| https://bugs.webkit.org/show_bug.cgi?id=182680 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| * NetworkProcess/NetworkSession.cpp: |
| (WebKit::NetworkSession::create): |
| * PlatformWin.cmake: |
| |
| 2018-02-16 Chris Dumez <cdumez@apple.com> |
| |
| ASSERTION FAILED: !m_processes[i] || *m_processes[i] == process in MessagePortChannel::entanglePortWithProcess() |
| https://bugs.webkit.org/show_bug.cgi?id=182054 |
| <rdar://problem/36871207> |
| |
| Reviewed by Brady Eidson. |
| |
| Pipe postMessage messages to and from service workers via the UIProcess instead of going |
| directly to the StorageProcess. This is temporarily needed to avoid races due to the |
| MessagePort registry currently living in the UIProcess and postMessage messages potentially |
| sending MessagePort objects. |
| |
| This change is covered by tests on the bots that currently flakily crash in debug. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::postMessageToServiceWorker): |
| * StorageProcess/StorageProcess.h: |
| * StorageProcess/StorageProcess.messages.in: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::postMessageToServiceWorkerClient): |
| (WebKit::WebProcessPool::postMessageToServiceWorker): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessPool.messages.in: |
| * WebProcess/Storage/WebSWClientConnection.cpp: |
| (WebKit::WebSWClientConnection::postMessageToServiceWorker): |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: |
| (WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient): |
| |
| 2018-02-16 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Add basic support for <input type='date'> using date picker UI |
| https://bugs.webkit.org/show_bug.cgi?id=182847 |
| <rdar://problem/35143111> |
| |
| Reviewed by Tim Horton. |
| |
| Add support for presenting date pickers when focusing a date input. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _stopAssistingNode]): |
| (-[WKContentView dismissAllInputViewControllers]): |
| |
| Pull logic to dismiss input view controllers into a single helper. |
| |
| (-[WKContentView presentDatePickerViewController:]): |
| (-[WKContentView dismissDatePickerViewController:]): |
| (-[WKContentView presentViewControllerForAssistedNode:]): |
| (-[WKContentView textInputController:didCommitText:]): |
| (-[WKContentView _wheelChangedWithEvent:]): |
| |
| Delegate wheel events to the date picker. |
| |
| * UIProcess/ios/forms/WKDatePickerViewController.h: Added. |
| * UIProcess/ios/forms/WKDatePickerViewController.mm: Added. |
| |
| Add harness files for the WKDatePickerViewController implementation in WebKitAdditions. |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-02-15 Youenn Fablet <youenn@apple.com> |
| |
| Resources loaded from service workers are not downloadable |
| https://bugs.webkit.org/show_bug.cgi?id=182848 |
| |
| Reviewed by Chris Dumez. |
| |
| Downloads are not supporting resources loaded through service worker. |
| As a temporary solution, we will let network process handle it. |
| Note that this would not work if the URL can only be loaded through service worker. |
| Note also that for navigation loads, if the content type is the default one (application/octet-stream) we are overriding it to |
| text/html as we do not support mime sniffing yet from service worker responses. |
| This might interfere with automatic downloads from navigation. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload): |
| |
| 2018-02-15 Megan Gardner <megan_gardner@apple.com> |
| |
| Support scrolling for non-editable web-selection and start autoscroll when near screen edges |
| https://bugs.webkit.org/show_bug.cgi?id=182815 |
| |
| Add support for autoscrolling during a selection. This also takes into account the edges of the screen |
| and starts autoscrolling when you get close, while still allowing autoscrolling when you are past the bounds |
| of the WebView. |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView startAutoscroll:]): |
| (-[WKContentView resignFirstResponderForWebView]): |
| (-[WKContentView useSelectionAssistantWithGranularity:]): |
| (-[WKContentView selectedTextRange]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::startAutoscrollAtPosition): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::startAutoscrollAtPosition): |
| (WebKit::WebPage::cancelAutoscroll): |
| |
| 2018-02-15 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Make sure WebResourceLoadStatisticsStore::mergeWithDataFromDecoder() can ingest older plist versions and not reset the database |
| https://bugs.webkit.org/show_bug.cgi?id=182812 |
| <rdar://problem/37511406> |
| |
| Reviewed by Brent Fulgham. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::mergeWithDataFromDecoder): |
| Now does the following: |
| - Logs when there is a model version mismatch. |
| - Does not ingest statistics if the version on disk is newer than the supported one. |
| - Does ingest statistics if the version on disk is older than the supported one. |
| - Passes on the version found on disk to WebCore::ResourceLoadStatistics::decode(). |
| |
| 2018-02-15 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthN] Revisit the whole async model of task dispatching, timeout and aborting |
| https://bugs.webkit.org/show_bug.cgi?id=181946 |
| <rdar://problem/37258262> |
| |
| Reviewed by Chris Dumez. |
| |
| Dummy WebCredentialsMessenger and WebCredentialsMessengerProxy are crafted to establish |
| a message exchange channel between UIProcess and WebProcess. |
| |
| * DerivedSources.make: |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| (WebKit::WebCredentialsMessengerProxy::WebCredentialsMessengerProxy): |
| (WebKit::WebCredentialsMessengerProxy::~WebCredentialsMessengerProxy): |
| (WebKit::WebCredentialsMessengerProxy::makeCredential): |
| (WebKit::WebCredentialsMessengerProxy::getAssertion): |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.messages.in: Added. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::m_configurationPreferenceValues): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPageProxy.h: |
| * WebKit.xcodeproj/project.pbxproj: |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| (WebKit::WebCredentialsMessenger::WebCredentialsMessenger): |
| (WebKit::WebCredentialsMessenger::~WebCredentialsMessenger): |
| (WebKit::WebCredentialsMessenger::makeCredential): |
| (WebKit::WebCredentialsMessenger::getAssertion): |
| (WebKit::WebCredentialsMessenger::makeCredentialReply): |
| (WebKit::WebCredentialsMessenger::getAssertionReply): |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.h: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.messages.in: Added. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_credentialsMessenger): |
| (WebKit::m_cpuLimit): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2018-02-15 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [WPE] Unify build of platform-specific files in WebKit layer |
| https://bugs.webkit.org/show_bug.cgi?id=182696 |
| |
| Reviewed by Žan Doberšek. |
| |
| This is easy, because all needed changes were made in the previously-landed patch. |
| |
| * CMakeLists.txt: |
| * PlatformWPE.cmake: |
| |
| 2018-02-15 Don Olmstead <don.olmstead@sony.com> |
| |
| WebCore headers should not be included relatively within dependent projects |
| https://bugs.webkit.org/show_bug.cgi?id=182805 |
| |
| Reviewed by Chris Dumez. |
| |
| * NetworkProcess/capture/NetworkCaptureManager.cpp: |
| * NetworkProcess/webrtc/NetworkRTCMonitor.h: |
| * Shared/gtk/WebEventFactory.cpp: |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| * UIProcess/gtk/WebPageProxyGtk.cpp: |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: |
| * WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp: |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| * WebProcess/WebPage/wpe/WebPageWPE.cpp: |
| |
| 2018-02-15 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r228495. |
| |
| This caused mulitple perf tests to fail consistently. |
| |
| Reverted changeset: |
| |
| "Resource Load Statistics: Make sure |
| WebResourceLoadStatisticsStore::mergeWithDataFromDecoder() can |
| ingest older plist versions and not reset the database" |
| https://bugs.webkit.org/show_bug.cgi?id=182812 |
| https://trac.webkit.org/changeset/228495 |
| |
| 2018-02-14 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Default definition of InjectedBundle::PlatformBundle should not be Windows-specific. |
| https://bugs.webkit.org/show_bug.cgi?id=182810 |
| |
| Reviewed by Michael Catanzaro. |
| |
| This branch was added in r228455, but should not be limited to OS(WINDOWS). |
| |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| |
| 2018-02-14 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Default implementations of nativeEvent() should be platform-agnostic. |
| https://bugs.webkit.org/show_bug.cgi?id=182806 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/NativeWebKeyboardEvent.h: |
| * Shared/NativeWebMouseEvent.h: |
| * Shared/NativeWebWheelEvent.h: |
| |
| 2018-02-14 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Make sure WebResourceLoadStatisticsStore::mergeWithDataFromDecoder() can ingest older plist versions and not reset the database |
| https://bugs.webkit.org/show_bug.cgi?id=182812 |
| <rdar://problem/37511406> |
| |
| Reviewed by Brent Fulgham. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::mergeWithDataFromDecoder): |
| Now does the following: |
| - Logs when there is a model version mismatch. |
| - Does not ingest statistics if the version on disk is newer than the supported one. |
| - Does ingest statistics if the version on disk is older than the supported one. |
| - Passes on the version found on disk to WebCore::ResourceLoadStatistics::decode(). |
| |
| 2018-02-14 Daniel Bates <dabates@apple.com> |
| |
| Disallow cross-origin subresources from asking for credentials |
| https://bugs.webkit.org/show_bug.cgi?id=182579 |
| <rdar://problem/36162271> |
| |
| Reviewed by Andy Estes. |
| |
| Add a private preference to toggle allowing non-mixed content cross-origin subresources to load. |
| WebKitTestRunner toggles this preference when it sees the test option allowCrossOriginSubresourcesToAskForCredential. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetAllowCrossOriginSubresourcesToAskForCredentials): |
| (WKPreferencesGetAllowCrossOriginSubresourcesToAskForCredentials): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| |
| 2018-02-14 John Wilander <wilander@apple.com> |
| |
| Make maximumParallelReadCount static to fix lambda capture error in WebKit::NetworkCache::Storage::traverse() |
| https://bugs.webkit.org/show_bug.cgi?id=182797 |
| <rdar://problem/37540594> |
| |
| Reviewed by Tim Horton. |
| |
| This capture was added in r228455 and causes a build failure when |
| run with -Wunused-lambda-capture. Xcode also warns about it. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::traverse): |
| |
| 2018-02-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| EventDispatcher::wheelEvent uses a wrong enum values in switch |
| https://bugs.webkit.org/show_bug.cgi?id=182796 |
| |
| Reviewed by Chris Dumez. |
| |
| EventDispatcher::wheelEvent is using PlatformWheelEventPhaseBegan and PlatformWheelEventPhaseEnded |
| but the enum type of wheelEvent.phase() is WebWheelEvent::Phase. |
| |
| The enum values are indentical for both so there is no behavioral change. |
| |
| * WebProcess/WebPage/EventDispatcher.cpp: |
| (WebKit::EventDispatcher::wheelEvent): |
| |
| 2018-02-14 Maureen Daum <mdaum@apple.com> |
| |
| Add C SPI for support of Website Data Store in Website Policies |
| https://bugs.webkit.org/show_bug.cgi?id=182698 |
| <rdar://problem/37412008> |
| |
| Reviewed by Andy Estes. |
| |
| Expand the API added for _WKWebsitePolicies.websiteDataStore in r225989 and r226325 |
| to be available in the C API. In the ObjC API, we handle setting the website data |
| store in NavigationState::NavigationClient::decidePolicyForNavigationAction. There |
| we throw an exception if setting the website data store isn't supported, and then |
| change the website data store. The equivalent place to do this work in the C API is |
| in WKFramePolicyListenerUseWithPolicies. However, instead of throwing exceptions, |
| release asserts are used. |
| |
| * UIProcess/API/C/WKFramePolicyListener.cpp: |
| (WKFramePolicyListenerUseWithPolicies): |
| If the website policies data contains a website data store, do the same checks that |
| are done in NavigationState::NavigationClient::decidePolicyForNavigationAction. Namely, |
| that it is a valid website data store and it is a policy decision for a main frame navigation. |
| If these checks are met, change the website data store. |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageUpdateWebsitePolicies): |
| * UIProcess/API/C/WKWebsitePolicies.cpp: |
| (WKWebsitePoliciesGetDataStore): |
| (WKWebsitePoliciesSetDataStore): |
| * UIProcess/API/C/WKWebsitePolicies.h: |
| * UIProcess/WebFrameListenerProxy.cpp: |
| (WebKit::WebFrameListenerProxy::changeWebsiteDataStore): |
| (WebKit::WebFrameListenerProxy::isMainFrame): |
| Expose whether the frame proxy is for a main frame, which is required to verify that |
| website policies only specify a website data store for main frame policy decisions. |
| * UIProcess/WebFrameListenerProxy.h: |
| * UIProcess/WebFramePolicyListenerProxy.cpp: |
| * UIProcess/WebFrameProxy.cpp: |
| (WebKit::WebFrameProxy::changeWebsiteDataStore): |
| * UIProcess/WebFrameProxy.h: |
| |
| 2018-02-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r228444. |
| |
| Introduced API and Layout test failures. |
| |
| Reverted changeset: |
| |
| "[WebAuthN] Revisit the whole async model of task dispatching, |
| timeout and aborting" |
| https://bugs.webkit.org/show_bug.cgi?id=181946 |
| https://trac.webkit.org/changeset/228444 |
| |
| 2018-02-13 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [WinCairo] Fix build errors which come from including headers and not suitable implementation for windows |
| https://bugs.webkit.org/show_bug.cgi?id=182679 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * NetworkProcess/cache/NetworkCacheBlobStorage.cpp: |
| (WebKit::NetworkCache::BlobStorage::add): |
| * NetworkProcess/cache/NetworkCacheData.cpp: |
| (WebKit::NetworkCache::Data::mapToFile const): |
| (WebKit::NetworkCache::mapFile): |
| (WebKit::NetworkCache::adoptAndMapFile): |
| (WebKit::NetworkCache::readOrMakeSalt): |
| * NetworkProcess/cache/NetworkCacheFileSystem.cpp: |
| (WebKit::NetworkCache::directoryEntryType): |
| (WebKit::NetworkCache::traverseDirectory): |
| (WebKit::NetworkCache::fileTimes): |
| (WebKit::NetworkCache::updateFileModificationTimeIfNeeded): |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::traverse): |
| * NetworkProcess/win/SystemProxyWin.h: |
| * Platform/IPC/Attachment.h: |
| * Platform/Module.h: |
| * Platform/SharedMemory.h: |
| * PluginProcess/WebProcessConnection.cpp: |
| * Shared/API/c/WKBase.h: |
| * Shared/ChildProcess.cpp: |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/ProcessAssertion.h: |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| * WebProcess/WebProcess.cpp: |
| |
| 2018-02-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r228431. |
| https://bugs.webkit.org/show_bug.cgi?id=182766 |
| |
| Regressed CMake build stability (Requested by dolmstead on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[CMake] Make WebCore headers copies" |
| https://bugs.webkit.org/show_bug.cgi?id=182512 |
| https://trac.webkit.org/changeset/228431 |
| |
| 2018-02-13 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthN] Revisit the whole async model of task dispatching, timeout and aborting |
| https://bugs.webkit.org/show_bug.cgi?id=181946 |
| <rdar://problem/37258262> |
| |
| Reviewed by Chris Dumez. |
| |
| Dummy WebCredentialsMessenger and WebCredentialsMessengerProxy are crafted to establish |
| a message exchange channel between UIProcess and WebProcess. |
| |
| * DerivedSources.make: |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| (WebKit::WebCredentialsMessengerProxy::WebCredentialsMessengerProxy): |
| (WebKit::WebCredentialsMessengerProxy::~WebCredentialsMessengerProxy): |
| (WebKit::WebCredentialsMessengerProxy::makeCredential): |
| (WebKit::WebCredentialsMessengerProxy::getAssertion): |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.messages.in: Added. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::m_configurationPreferenceValues): |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| * UIProcess/WebPageProxy.h: |
| * WebKit.xcodeproj/project.pbxproj: |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| (WebKit::WebCredentialsMessenger::WebCredentialsMessenger): |
| (WebKit::WebCredentialsMessenger::~WebCredentialsMessenger): |
| (WebKit::WebCredentialsMessenger::makeCredential): |
| (WebKit::WebCredentialsMessenger::getAssertion): |
| (WebKit::WebCredentialsMessenger::makeCredentialReply): |
| (WebKit::WebCredentialsMessenger::getAssertionReply): |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.h: Copied from Source/WebCore/Modules/webauthn/AuthenticatorResponse.h. |
| * WebProcess/CredentialManagement/WebCredentialsMessenger.messages.in: Added. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_credentialsMessenger): |
| (WebKit::m_cpuLimit): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2018-02-13 Youenn Fablet <youenn@apple.com> |
| |
| Add support for configuring WebsiteDatastore service worker and cache storage path |
| https://bugs.webkit.org/show_bug.cgi?id=182674 |
| |
| Reviewed by Chris Dumez. |
| |
| Beef up WKWebsiteDataStoreConfiguration to easily set the WebsiteDataStore |
| service worker registration and cache storage directory path. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _initWithConfiguration:]): |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: |
| (-[_WKWebsiteDataStoreConfiguration _cacheStorageDirectory]): |
| (-[_WKWebsiteDataStoreConfiguration _setCacheStorageDirectory:]): |
| (-[_WKWebsiteDataStoreConfiguration _serviceWorkerRegistrationDirectory]): |
| (-[_WKWebsiteDataStoreConfiguration _setServiceWorkerRegistrationDirectory:]): |
| |
| 2018-02-13 Brian Burg <bburg@apple.com> |
| |
| Web Automation: don't return an error if resizing/moving a window has no effect |
| https://bugs.webkit.org/show_bug.cgi?id=182742 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): |
| (WebKit::WebAutomationSession::moveWindowOfBrowsingContext): |
| Unify the behavior for all ports. Don't raise an error if the command was |
| idempotent (by mistake or not). It should not be an error to re-maximize a window. |
| |
| 2018-02-13 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Make WebCore headers copies |
| https://bugs.webkit.org/show_bug.cgi?id=182512 |
| |
| Reviewed by Keith Miller. |
| |
| * CMakeLists.txt: |
| * NetworkProcess/capture/NetworkCaptureManager.cpp: |
| * NetworkProcess/webrtc/NetworkRTCMonitor.h: |
| * PlatformWPE.cmake: |
| * Scripts/generate-forwarding-headers.pl: |
| * Shared/gtk/WebEventFactory.cpp: |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| * UIProcess/gtk/WebPageProxyGtk.cpp: |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: |
| * WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp: |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| * WebProcess/WebPage/wpe/WebPageWPE.cpp: |
| |
| 2018-02-13 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] whitelist iokit-get-properties |
| https://bugs.webkit.org/show_bug.cgi?id=182722 |
| <rdar://problem/30929165> |
| |
| Reviewed by Eric Carlson. |
| |
| Update the iOS sandbox to block access to IOKit properties that are not needed for |
| legitimate WebContent process use. This brings the iOS sandbox in line with the |
| work done under macOS. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2018-02-12 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Classify resources as prevalent based on redirects to other prevalent resources |
| https://bugs.webkit.org/show_bug.cgi?id=182664 |
| <rdar://problem/37372572> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Platform/classifier/ResourceLoadStatisticsClassifier.cpp: |
| (WebKit::ResourceLoadStatisticsClassifier::hasPrevalentResourceCharacteristics): |
| Unique top frame redirects now counts toward classification as prevalent. |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<ResourceLoadStatistics>::encode): |
| (IPC::ArgumentCoder<ResourceLoadStatistics>::decode): |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreSetStatisticsSubresourceUniqueRedirectFrom): |
| (WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectTo): |
| (WKWebsiteDataStoreSetStatisticsTopFrameUniqueRedirectFrom): |
| Test infrastructure. |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| Bumped the statistics model to 11 because of the added fields. |
| (WebKit::WebResourceLoadStatisticsStore::recursivelyGetAllDomainsThatHaveRedirectedToThisDomain): |
| This function back traces redirect chains to classify domains |
| that have redirected to a newly classified prevalent resource. |
| (WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords): |
| Now uses the new convenience function WebResourceLoadStatisticsStore::setPrevalentResource(). |
| (WebKit::WebResourceLoadStatisticsStore::setPrevalentResource): |
| New convenience function to make sure we always call |
| WebResourceLoadStatisticsStore::recursivelyGetAllDomainsThatHaveRedirectedToThisDomain() |
| and capture redirect chains backward. |
| (WebKit::WebResourceLoadStatisticsStore::setSubframeUnderTopFrameOrigin): |
| (WebKit::WebResourceLoadStatisticsStore::setSubresourceUnderTopFrameOrigin): |
| (WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectTo): |
| (WebKit::WebResourceLoadStatisticsStore::setSubresourceUniqueRedirectFrom): |
| (WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectTo): |
| (WebKit::WebResourceLoadStatisticsStore::setTopFrameUniqueRedirectFrom): |
| Test infrastructure. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| |
| 2018-02-12 Antti Koivisto <antti@apple.com> |
| |
| Update NetworkCache::Storage::lastStableVersion after r226349 |
| https://bugs.webkit.org/show_bug.cgi?id=182723 |
| <rdar://problem/37469554> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| Allow deleting version 11 caches. |
| |
| 2018-02-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Add support for <input type='time'> using time picker UI |
| https://bugs.webkit.org/show_bug.cgi?id=182683 |
| <rdar://problem/35143162> |
| |
| Reviewed by Tim Horton. |
| |
| Adds support for showing a time picker when an input of type time is focused in extra zoomed mode. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _stopAssistingNode]): |
| (-[WKContentView presentTimePickerViewController:]): |
| (-[WKContentView dismissTimePickerViewController:]): |
| |
| Add helpers to dismiss and present the time picker view controller. |
| |
| (-[WKContentView presentViewControllerForAssistedNode:]): |
| |
| When focusing InputType::Time, present a time picker. Additionally, tweak the logic here to use the generic text |
| input view controller as a fallback when the other input view controllers (number pads, select menus and time |
| pickers thus far) are not relevant. This prevents us from completely being unable to edit form controls that are |
| currently unsupported. |
| |
| (-[WKContentView textInputController:didCommitText:]): |
| (-[WKContentView textInputControllerDidRequestDismissal:]): |
| |
| Tweak WKContentView for changes to WKTextFormControlViewControllerDelegate. |
| |
| (-[WKContentView actionNameForFocusedFormControlController:]): |
| |
| Adjust this implementation to hide the focused form control "Go" button for selects and time inputs. This |
| currently doesn't work for these form controls because it relies on implicit form submission; this should be |
| fixed by future changes, after which we should revert this adjustment. |
| |
| (-[WKContentView _wheelChangedWithEvent:]): |
| |
| Delegate wheel events to the time picker if needed. |
| |
| (-[WKContentView textInputController:didRequestDismissalWithAction:]): Deleted. |
| |
| Renamed to -textInputControllerDidRequestDismissal:. |
| |
| * UIProcess/ios/forms/WKTimePickerViewController.h: Added. |
| * UIProcess/ios/forms/WKTimePickerViewController.mm: Added. |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-02-11 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Unify builds for platform-specific files in WebKit layer |
| https://bugs.webkit.org/show_bug.cgi?id=182450 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Add most GTK-specific sources to unified build. API files are exempted, except for the DOM |
| API. Files shared with PluginProcessGTK2 are also exempted. Finally, files with name |
| conflicts in headers, which appears difficult to fix, are also exempted. |
| |
| * CMakeLists.txt: |
| * NetworkProcess/CustomProtocols/soup/LegacyCustomProtocolManagerSoup.cpp: |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| * NetworkProcess/soup/NetworkSessionSoup.cpp: |
| * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: |
| * Platform/classifier/ResourceLoadStatisticsClassifier.cpp: |
| * PlatformGTK.cmake: |
| * PluginProcess/unix/PluginControllerProxyUnix.cpp: |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| * Shared/CoordinatedGraphics/SimpleViewportController.cpp: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| * Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp: |
| * Shared/Plugins/unix/PluginSearchPath.cpp: |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| * Shared/glib/WebContextMenuItemGlib.cpp: |
| * Shared/glib/WebErrorsGlib.cpp: |
| * Shared/gtk/ArgumentCodersGtk.cpp: |
| * Shared/gtk/NativeWebKeyboardEventGtk.cpp: |
| * Shared/gtk/ProcessExecutablePathGtk.cpp: |
| * Shared/gtk/WebErrorsGtk.cpp: |
| * Shared/gtk/WebEventFactory.cpp: |
| * Shared/linux/WebMemorySamplerLinux.cpp: |
| * Shared/soup/WebCoreArgumentCodersSoup.cpp: |
| * Shared/soup/WebErrorsSoup.cpp: |
| * SourcesGTK.txt: Added. |
| * UIProcess/AcceleratedDrawingAreaProxy.cpp: |
| * UIProcess/Automation/cairo/WebAutomationSessionCairo.cpp: |
| * UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: |
| * UIProcess/BackingStore.cpp: |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: |
| * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: |
| * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| * UIProcess/WebResourceLoadStatisticsTelemetry.cpp: |
| * UIProcess/WebStorage/StorageManager.cpp: |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| * UIProcess/gtk/AcceleratedBackingStore.cpp: |
| * UIProcess/gtk/DragAndDropHandler.cpp: |
| * UIProcess/gtk/GestureController.cpp: |
| * UIProcess/gtk/HardwareAccelerationManager.cpp: |
| * UIProcess/gtk/InputMethodFilter.cpp: |
| * UIProcess/gtk/TextCheckerGtk.cpp: |
| * UIProcess/gtk/WaylandCompositor.cpp: |
| * UIProcess/gtk/WebColorPickerGtk.cpp: |
| * UIProcess/gtk/WebContextMenuProxyGtk.cpp: |
| * UIProcess/gtk/WebPasteboardProxyGtk.cpp: |
| * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: |
| * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp: |
| (webkit_dom_attr_dom_event_target_init): |
| (webkit_dom_attr_set_property): |
| (webkit_dom_attr_get_property): |
| (webkit_dom_attr_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCDATASection.cpp: |
| (webkit_dom_cdata_section_dom_event_target_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp: |
| (webkit_dom_css_rule_set_property): |
| (webkit_dom_css_rule_get_property): |
| (webkit_dom_css_rule_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleList.cpp: |
| (webkit_dom_css_rule_list_get_property): |
| (webkit_dom_css_rule_list_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.cpp: |
| (webkit_dom_css_style_declaration_set_property): |
| (webkit_dom_css_style_declaration_get_property): |
| (webkit_dom_css_style_declaration_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.cpp: |
| (webkit_dom_css_style_sheet_get_property): |
| (webkit_dom_css_style_sheet_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.cpp: |
| (webkit_dom_css_value_set_property): |
| (webkit_dom_css_value_get_property): |
| (webkit_dom_css_value_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp: |
| (webkit_dom_character_data_dom_event_target_init): |
| (webkit_dom_character_data_set_property): |
| (webkit_dom_character_data_get_property): |
| (webkit_dom_character_data_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRect.cpp: |
| (webkit_dom_client_rect_get_property): |
| (webkit_dom_client_rect_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.cpp: |
| (webkit_dom_client_rect_list_get_property): |
| (webkit_dom_client_rect_list_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMComment.cpp: |
| (webkit_dom_comment_dom_event_target_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp: |
| (webkit_dom_dom_selection_get_property): |
| (webkit_dom_dom_selection_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.cpp: |
| (webkit_dom_dom_token_list_set_property): |
| (webkit_dom_dom_token_list_get_property): |
| (webkit_dom_dom_token_list_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp: |
| (webkit_dom_dom_window_dom_event_target_init): |
| (webkit_dom_dom_window_set_property): |
| (webkit_dom_dom_window_get_property): |
| (webkit_dom_dom_window_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp: |
| (webkit_dom_document_dom_event_target_init): |
| (webkit_dom_document_set_property): |
| (webkit_dom_document_get_property): |
| (webkit_dom_document_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.cpp: |
| (webkit_dom_document_fragment_dom_event_target_init): |
| (webkit_dom_document_fragment_get_property): |
| (webkit_dom_document_fragment_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp: |
| (webkit_dom_document_type_dom_event_target_init): |
| (webkit_dom_document_type_get_property): |
| (webkit_dom_document_type_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp: |
| (webkit_dom_element_dom_event_target_init): |
| (webkit_dom_element_set_property): |
| (webkit_dom_element_get_property): |
| (webkit_dom_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp: |
| (webkit_dom_event_set_property): |
| (webkit_dom_event_get_property): |
| (webkit_dom_event_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp: |
| (webkit_dom_file_get_property): |
| (webkit_dom_file_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileList.cpp: |
| (webkit_dom_file_list_get_property): |
| (webkit_dom_file_list_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp: |
| (webkit_dom_html_anchor_element_dom_event_target_init): |
| (webkit_dom_html_anchor_element_set_property): |
| (webkit_dom_html_anchor_element_get_property): |
| (webkit_dom_html_anchor_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAppletElement.cpp: |
| (webkit_dom_html_applet_element_dom_event_target_init): |
| (webkit_dom_html_applet_element_set_property): |
| (webkit_dom_html_applet_element_get_property): |
| (webkit_dom_html_applet_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp: |
| (webkit_dom_html_area_element_dom_event_target_init): |
| (webkit_dom_html_area_element_set_property): |
| (webkit_dom_html_area_element_get_property): |
| (webkit_dom_html_area_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBRElement.cpp: |
| (webkit_dom_html_br_element_dom_event_target_init): |
| (webkit_dom_html_br_element_set_property): |
| (webkit_dom_html_br_element_get_property): |
| (webkit_dom_html_br_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBaseElement.cpp: |
| (webkit_dom_html_base_element_dom_event_target_init): |
| (webkit_dom_html_base_element_set_property): |
| (webkit_dom_html_base_element_get_property): |
| (webkit_dom_html_base_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLBodyElement.cpp: |
| (webkit_dom_html_body_element_dom_event_target_init): |
| (webkit_dom_html_body_element_set_property): |
| (webkit_dom_html_body_element_get_property): |
| (webkit_dom_html_body_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp: |
| (webkit_dom_html_button_element_dom_event_target_init): |
| (webkit_dom_html_button_element_set_property): |
| (webkit_dom_html_button_element_get_property): |
| (webkit_dom_html_button_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCanvasElement.cpp: |
| (webkit_dom_html_canvas_element_dom_event_target_init): |
| (webkit_dom_html_canvas_element_set_property): |
| (webkit_dom_html_canvas_element_get_property): |
| (webkit_dom_html_canvas_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLCollection.cpp: |
| (webkit_dom_html_collection_get_property): |
| (webkit_dom_html_collection_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDListElement.cpp: |
| (webkit_dom_html_d_list_element_dom_event_target_init): |
| (webkit_dom_html_d_list_element_set_property): |
| (webkit_dom_html_d_list_element_get_property): |
| (webkit_dom_html_d_list_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDirectoryElement.cpp: |
| (webkit_dom_html_directory_element_dom_event_target_init): |
| (webkit_dom_html_directory_element_set_property): |
| (webkit_dom_html_directory_element_get_property): |
| (webkit_dom_html_directory_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDivElement.cpp: |
| (webkit_dom_html_div_element_dom_event_target_init): |
| (webkit_dom_html_div_element_set_property): |
| (webkit_dom_html_div_element_get_property): |
| (webkit_dom_html_div_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDocument.cpp: |
| (webkit_dom_html_document_dom_event_target_init): |
| (webkit_dom_html_document_set_property): |
| (webkit_dom_html_document_get_property): |
| (webkit_dom_html_document_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.cpp: |
| (webkit_dom_html_element_dom_event_target_init): |
| (webkit_dom_html_element_set_property): |
| (webkit_dom_html_element_get_property): |
| (webkit_dom_html_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLEmbedElement.cpp: |
| (webkit_dom_html_embed_element_dom_event_target_init): |
| (webkit_dom_html_embed_element_set_property): |
| (webkit_dom_html_embed_element_get_property): |
| (webkit_dom_html_embed_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp: |
| (webkit_dom_html_field_set_element_dom_event_target_init): |
| (webkit_dom_html_field_set_element_get_property): |
| (webkit_dom_html_field_set_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFontElement.cpp: |
| (webkit_dom_html_font_element_dom_event_target_init): |
| (webkit_dom_html_font_element_set_property): |
| (webkit_dom_html_font_element_get_property): |
| (webkit_dom_html_font_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp: |
| (webkit_dom_html_form_element_dom_event_target_init): |
| (webkit_dom_html_form_element_set_property): |
| (webkit_dom_html_form_element_get_property): |
| (webkit_dom_html_form_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameElement.cpp: |
| (webkit_dom_html_frame_element_dom_event_target_init): |
| (webkit_dom_html_frame_element_set_property): |
| (webkit_dom_html_frame_element_get_property): |
| (webkit_dom_html_frame_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFrameSetElement.cpp: |
| (webkit_dom_html_frame_set_element_dom_event_target_init): |
| (webkit_dom_html_frame_set_element_set_property): |
| (webkit_dom_html_frame_set_element_get_property): |
| (webkit_dom_html_frame_set_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHRElement.cpp: |
| (webkit_dom_html_hr_element_dom_event_target_init): |
| (webkit_dom_html_hr_element_set_property): |
| (webkit_dom_html_hr_element_get_property): |
| (webkit_dom_html_hr_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadElement.cpp: |
| (webkit_dom_html_head_element_dom_event_target_init): |
| (webkit_dom_html_head_element_set_property): |
| (webkit_dom_html_head_element_get_property): |
| (webkit_dom_html_head_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHeadingElement.cpp: |
| (webkit_dom_html_heading_element_dom_event_target_init): |
| (webkit_dom_html_heading_element_set_property): |
| (webkit_dom_html_heading_element_get_property): |
| (webkit_dom_html_heading_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp: |
| (webkit_dom_html_html_element_dom_event_target_init): |
| (webkit_dom_html_html_element_set_property): |
| (webkit_dom_html_html_element_get_property): |
| (webkit_dom_html_html_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp: |
| (webkit_dom_html_iframe_element_dom_event_target_init): |
| (webkit_dom_html_iframe_element_set_property): |
| (webkit_dom_html_iframe_element_get_property): |
| (webkit_dom_html_iframe_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp: |
| (webkit_dom_html_image_element_dom_event_target_init): |
| (webkit_dom_html_image_element_set_property): |
| (webkit_dom_html_image_element_get_property): |
| (webkit_dom_html_image_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp: |
| (webkit_dom_html_input_element_dom_event_target_init): |
| (webkit_dom_html_input_element_set_property): |
| (webkit_dom_html_input_element_get_property): |
| (webkit_dom_html_input_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLIElement.cpp: |
| (webkit_dom_html_li_element_dom_event_target_init): |
| (webkit_dom_html_li_element_set_property): |
| (webkit_dom_html_li_element_get_property): |
| (webkit_dom_html_li_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp: |
| (webkit_dom_html_label_element_dom_event_target_init): |
| (webkit_dom_html_label_element_set_property): |
| (webkit_dom_html_label_element_get_property): |
| (webkit_dom_html_label_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLegendElement.cpp: |
| (webkit_dom_html_legend_element_dom_event_target_init): |
| (webkit_dom_html_legend_element_set_property): |
| (webkit_dom_html_legend_element_get_property): |
| (webkit_dom_html_legend_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp: |
| (webkit_dom_html_link_element_dom_event_target_init): |
| (webkit_dom_html_link_element_set_property): |
| (webkit_dom_html_link_element_get_property): |
| (webkit_dom_html_link_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMapElement.cpp: |
| (webkit_dom_html_map_element_dom_event_target_init): |
| (webkit_dom_html_map_element_set_property): |
| (webkit_dom_html_map_element_get_property): |
| (webkit_dom_html_map_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp: |
| (webkit_dom_html_marquee_element_dom_event_target_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMenuElement.cpp: |
| (webkit_dom_html_menu_element_dom_event_target_init): |
| (webkit_dom_html_menu_element_set_property): |
| (webkit_dom_html_menu_element_get_property): |
| (webkit_dom_html_menu_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMetaElement.cpp: |
| (webkit_dom_html_meta_element_dom_event_target_init): |
| (webkit_dom_html_meta_element_set_property): |
| (webkit_dom_html_meta_element_get_property): |
| (webkit_dom_html_meta_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLModElement.cpp: |
| (webkit_dom_html_mod_element_dom_event_target_init): |
| (webkit_dom_html_mod_element_set_property): |
| (webkit_dom_html_mod_element_get_property): |
| (webkit_dom_html_mod_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp: |
| (webkit_dom_html_o_list_element_dom_event_target_init): |
| (webkit_dom_html_o_list_element_set_property): |
| (webkit_dom_html_o_list_element_get_property): |
| (webkit_dom_html_o_list_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp: |
| (webkit_dom_html_object_element_dom_event_target_init): |
| (webkit_dom_html_object_element_set_property): |
| (webkit_dom_html_object_element_get_property): |
| (webkit_dom_html_object_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptGroupElement.cpp: |
| (webkit_dom_html_opt_group_element_dom_event_target_init): |
| (webkit_dom_html_opt_group_element_set_property): |
| (webkit_dom_html_opt_group_element_get_property): |
| (webkit_dom_html_opt_group_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionElement.cpp: |
| (webkit_dom_html_option_element_dom_event_target_init): |
| (webkit_dom_html_option_element_set_property): |
| (webkit_dom_html_option_element_get_property): |
| (webkit_dom_html_option_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp: |
| (webkit_dom_html_options_collection_set_property): |
| (webkit_dom_html_options_collection_get_property): |
| (webkit_dom_html_options_collection_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParagraphElement.cpp: |
| (webkit_dom_html_paragraph_element_dom_event_target_init): |
| (webkit_dom_html_paragraph_element_set_property): |
| (webkit_dom_html_paragraph_element_get_property): |
| (webkit_dom_html_paragraph_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLParamElement.cpp: |
| (webkit_dom_html_param_element_dom_event_target_init): |
| (webkit_dom_html_param_element_set_property): |
| (webkit_dom_html_param_element_get_property): |
| (webkit_dom_html_param_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPreElement.cpp: |
| (webkit_dom_html_pre_element_dom_event_target_init): |
| (webkit_dom_html_pre_element_set_property): |
| (webkit_dom_html_pre_element_get_property): |
| (webkit_dom_html_pre_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLQuoteElement.cpp: |
| (webkit_dom_html_quote_element_dom_event_target_init): |
| (webkit_dom_html_quote_element_set_property): |
| (webkit_dom_html_quote_element_get_property): |
| (webkit_dom_html_quote_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp: |
| (webkit_dom_html_script_element_dom_event_target_init): |
| (webkit_dom_html_script_element_set_property): |
| (webkit_dom_html_script_element_get_property): |
| (webkit_dom_html_script_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp: |
| (webkit_dom_html_select_element_dom_event_target_init): |
| (webkit_dom_html_select_element_set_property): |
| (webkit_dom_html_select_element_get_property): |
| (webkit_dom_html_select_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp: |
| (webkit_dom_html_style_element_dom_event_target_init): |
| (webkit_dom_html_style_element_set_property): |
| (webkit_dom_html_style_element_get_property): |
| (webkit_dom_html_style_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCaptionElement.cpp: |
| (webkit_dom_html_table_caption_element_dom_event_target_init): |
| (webkit_dom_html_table_caption_element_set_property): |
| (webkit_dom_html_table_caption_element_get_property): |
| (webkit_dom_html_table_caption_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp: |
| (webkit_dom_html_table_cell_element_dom_event_target_init): |
| (webkit_dom_html_table_cell_element_set_property): |
| (webkit_dom_html_table_cell_element_get_property): |
| (webkit_dom_html_table_cell_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableColElement.cpp: |
| (webkit_dom_html_table_col_element_dom_event_target_init): |
| (webkit_dom_html_table_col_element_set_property): |
| (webkit_dom_html_table_col_element_get_property): |
| (webkit_dom_html_table_col_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp: |
| (webkit_dom_html_table_element_dom_event_target_init): |
| (webkit_dom_html_table_element_set_property): |
| (webkit_dom_html_table_element_get_property): |
| (webkit_dom_html_table_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableRowElement.cpp: |
| (webkit_dom_html_table_row_element_dom_event_target_init): |
| (webkit_dom_html_table_row_element_set_property): |
| (webkit_dom_html_table_row_element_get_property): |
| (webkit_dom_html_table_row_element_class_init): |
| (webkit_dom_html_table_row_element_insert_cell): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableSectionElement.cpp: |
| (webkit_dom_html_table_section_element_dom_event_target_init): |
| (webkit_dom_html_table_section_element_set_property): |
| (webkit_dom_html_table_section_element_get_property): |
| (webkit_dom_html_table_section_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp: |
| (webkit_dom_html_text_area_element_dom_event_target_init): |
| (webkit_dom_html_text_area_element_set_property): |
| (webkit_dom_html_text_area_element_get_property): |
| (webkit_dom_html_text_area_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTitleElement.cpp: |
| (webkit_dom_html_title_element_dom_event_target_init): |
| (webkit_dom_html_title_element_set_property): |
| (webkit_dom_html_title_element_get_property): |
| (webkit_dom_html_title_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLUListElement.cpp: |
| (webkit_dom_html_u_list_element_dom_event_target_init): |
| (webkit_dom_html_u_list_element_set_property): |
| (webkit_dom_html_u_list_element_get_property): |
| (webkit_dom_html_u_list_element_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyboardEvent.cpp: |
| (webkit_dom_keyboard_event_get_property): |
| (webkit_dom_keyboard_event_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp: |
| (webkit_dom_media_list_set_property): |
| (webkit_dom_media_list_get_property): |
| (webkit_dom_media_list_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp: |
| (webkit_dom_mouse_event_get_property): |
| (webkit_dom_mouse_event_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNamedNodeMap.cpp: |
| (webkit_dom_named_node_map_get_property): |
| (webkit_dom_named_node_map_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp: |
| (webkit_dom_node_dom_event_target_init): |
| (webkit_dom_node_set_property): |
| (webkit_dom_node_get_property): |
| (webkit_dom_node_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp: |
| (webkit_dom_node_iterator_get_property): |
| (webkit_dom_node_iterator_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeList.cpp: |
| (webkit_dom_node_list_get_property): |
| (webkit_dom_node_list_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObject.cpp: |
| (webkitDOMObjectSetProperty): |
| (webkit_dom_object_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMProcessingInstruction.cpp: |
| (webkit_dom_processing_instruction_dom_event_target_init): |
| (webkit_dom_processing_instruction_get_property): |
| (webkit_dom_processing_instruction_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.cpp: |
| (webkit_dom_range_get_property): |
| (webkit_dom_range_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheet.cpp: |
| (webkit_dom_style_sheet_set_property): |
| (webkit_dom_style_sheet_get_property): |
| (webkit_dom_style_sheet_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleSheetList.cpp: |
| (webkit_dom_style_sheet_list_get_property): |
| (webkit_dom_style_sheet_list_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMText.cpp: |
| (webkit_dom_text_dom_event_target_init): |
| (webkit_dom_text_get_property): |
| (webkit_dom_text_class_init): |
| (webkit_dom_event_target_init): Deleted. |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp: |
| (webkit_dom_tree_walker_get_property): |
| (webkit_dom_tree_walker_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp: |
| (webkit_dom_ui_event_get_property): |
| (webkit_dom_ui_event_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp: |
| (webkit_dom_wheel_event_get_property): |
| (webkit_dom_wheel_event_class_init): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp: |
| (webkit_dom_xpath_result_get_property): |
| (webkit_dom_xpath_result_class_init): |
| * WebProcess/InjectedBundle/glib/InjectedBundleGlib.cpp: |
| * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: |
| * WebProcess/Plugins/Netscape/unix/NetscapePluginUnix.cpp: |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| * WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp: |
| * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: |
| * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: |
| * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: |
| * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| * WebProcess/WebPage/AcceleratedSurface.cpp: |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| * WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp: |
| * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp: |
| * WebProcess/WebPage/gtk/WebPageGtk.cpp: |
| * WebProcess/gtk/WaylandCompositorDisplay.cpp: |
| * WebProcess/gtk/WebProcessMainGtk.cpp: |
| |
| 2018-02-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| WebDriver: addCookie command should prepend a dot to domain if missing |
| https://bugs.webkit.org/show_bug.cgi?id=182328 |
| <rdar://problem/37116398> |
| |
| Reviewed by Michael Catanzaro. |
| |
| RFC 2965: If an explicitly specified value does not start with a dot, the user agent supplies a leading dot. |
| |
| Fixes: imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_domain_cookie |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::addSingleCookie): |
| |
| 2018-02-11 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [WinCairo] Add WKBaseWin.h |
| https://bugs.webkit.org/show_bug.cgi?id=182681 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * PlatformWin.cmake: |
| * Shared/API/c/win/WKBaseWin.h: Added. |
| |
| 2018-02-09 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Remove invalidated WebPage::handleEditingKeyboardEvent default implementation after r228260. |
| https://bugs.webkit.org/show_bug.cgi?id=182663 |
| |
| Reviewed by Chris Dumez. |
| |
| This would need to be updated to turn `keyEvent` into `underlyingPlatformEvent`; |
| instead, we can remove it, as it's only for Windows, which doesn't yet support WK2. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::handleEditingKeyboardEvent): Deleted. |
| |
| 2018-02-09 Nan Wang <n_wang@apple.com> |
| |
| AX: Accessibility is not notified when a web process cancels the suspension |
| https://bugs.webkit.org/show_bug.cgi?id=182659 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We were notifying Accessibility with the web process suspended information in actualPrepareToSuspend |
| and processDidResume. However, the suspension can be canceled during the prepare call. So that we |
| should also post a notification in cancelPrepareToSuspend. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::cancelPrepareToSuspend): |
| |
| 2018-02-09 Brent Fulgham <bfulgham@apple.com> |
| |
| Sandbox violating attempting to read log formatting preference file |
| https://bugs.webkit.org/show_bug.cgi?id=182648 |
| <rdar://problem/36629495> |
| |
| Reviewed by Eric Carlson. |
| |
| Various frameworks attempt to read logging format information from /usr/local/lib/log. The sandbox is blocking |
| this, generating log spam and preventing some logging features from working properly. We should allow read |
| access to this path. |
| |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-02-08 Chris Dumez <cdumez@apple.com> |
| |
| There should be a way to disable [OverrideBuiltins] behavior in a given DOMWrapperWorld |
| https://bugs.webkit.org/show_bug.cgi?id=182524 |
| <rdar://problem/9057327> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add C API on WKBundleScriptWorld and Cocoa API on WKWebProcessPlugInScriptWorld to |
| disable the [OverrideBuiltins] behavior on a given script world. |
| |
| The [OverrideBuiltins] behavior [1] is legacy behavior that is needed for Web compatibility |
| but allowing the client to disable this behavior in a given world makes development easier |
| and running injected script on uncontrolled content a lot more reliable. |
| |
| [1] https://heycam.github.io/webidl/#OverrideBuiltins |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: |
| (-[WKWebProcessPlugInScriptWorld disableOverrideBuiltinsBehavior]): |
| * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: |
| (WKBundleScriptWorldDisableOverrideBuiltinsBehavior): |
| * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: |
| (WebKit::InjectedBundleScriptWorld::disableOverrideBuiltinsBehavior): |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: |
| |
| 2018-02-08 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Remove WebProcessPool::platformInitialize stub. |
| https://bugs.webkit.org/show_bug.cgi?id=182621 |
| |
| Reviewed by Alex Christensen. |
| |
| The #if here could be simplified to PLATFORM(WIN), but Windows too will need a proper implementation |
| as part of WK2 support, so this stub shouldn't need to exist at all. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::platformInitialize): Deleted. |
| |
| 2018-02-08 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| TestController should not exercise cocoa-specific resource load statistics APIs |
| https://bugs.webkit.org/show_bug.cgi?id=182355 |
| |
| Reviewed by Alex Christensen. |
| |
| Remove the Cocoa testing SPI, since it's redundant with the C API. Also, add a couple |
| missing cookie partitioning callbacks to the C API. |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreStatisticsUpdateCookiePartitioning): |
| (WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost): |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetLastSeen:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetIsPrevalentResource:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsIsPrevalentResource:completionHandler:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsIsRegisteredAsSubFrameUnder:topFrameHost:completionHandler:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsIsRegisteredAsRedirectingTo:hostRedirectedTo:completionHandler:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetHadUserInteraction:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetHasHadNonRecentUserInteractionForHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsHadUserInteraction:completionHandler:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetIsGrandfathered:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsIsGrandfathered:completionHandler:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetSubframeUnderTopFrameOrigin:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetSubresourceUnderTopFrameOrigin:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetSubresourceUniqueRedirectTo:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetTimeToLiveUserInteraction:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetTimeToLiveCookiePartitionFree:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetMinimumTimeBetweenDataRecordsRemoval:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetGrandfatheringTime:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetMaxStatisticsEntries:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetPruneEntriesDownTo:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsProcessStatisticsAndDataRecords]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:completionHandler:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSubmitTelemetry]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetNotifyPagesWhenDataRecordsWereScanned:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldClassifyResourcesBeforeDataRecordsRemoval:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetNotifyPagesWhenTelemetryWasCaptured:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:completionHandler:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsResetToConsistentState]): Deleted. |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| |
| 2018-02-08 Don Olmstead <don.olmstead@sony.com> |
| |
| Remove JavaScriptCore/ForwardingHeaders directory |
| https://bugs.webkit.org/show_bug.cgi?id=182594 |
| |
| Reviewed by Mark Lam. |
| |
| * PlatformGTK.cmake: |
| |
| 2018-02-08 Tim Horton <timothy_horton@apple.com> |
| |
| Make WebKit public headers modules-safe |
| https://bugs.webkit.org/show_bug.cgi?id=182611 |
| <rdar://problem/37160164> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKPreviewElementInfo.h: |
| * UIProcess/API/Cocoa/WKSnapshotConfiguration.h: |
| Import headers without which these WebKit headers can not be used alone. |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| Make WKWindowFeaturesPrivate a private header like it was supposed to be. |
| |
| 2018-02-08 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r228262. |
| |
| This broke an internal build alongside r228261. |
| |
| Reverted changeset: |
| |
| "WebDriver: addCookie command should prepend a dot to domain |
| if missing" |
| https://bugs.webkit.org/show_bug.cgi?id=182328 |
| https://trac.webkit.org/changeset/228262 |
| |
| 2018-02-08 Miguel Gomez <magomez@igalia.com> |
| |
| [GTK] WaylandCompositor misusing eglGetProcAddress |
| https://bugs.webkit.org/show_bug.cgi?id=182490 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Check that the appropriate extensions are available before calling eglGetProcAddress, as even |
| getting a non null value from it, the functionality can be disabled at runtime. |
| |
| * UIProcess/gtk/WaylandCompositor.cpp: |
| (WebKit::WaylandCompositor::initializeEGL): |
| |
| 2018-02-08 Frederic Wang <fwang@igalia.com> |
| |
| Add scrolling node types to distinguish main frames and subframes. |
| https://bugs.webkit.org/show_bug.cgi?id=182533 |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: Replace the case of |
| FrameScrollingNode with MainFrameScrollingNode and SubframeScrollingNode. |
| (WebKit::encodeNodeAndDescendants): |
| (WebKit::RemoteScrollingCoordinatorTransaction::decode): |
| (WebKit::dump): |
| * UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: Ditto. |
| (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): |
| * UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp: Ditto and pass the node type to the |
| constructor of the frame scrolling node. |
| (WebKit::RemoteScrollingTree::createScrollingTreeNode): |
| * UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm: Replace the case of |
| FrameScrollingNode with MainFrameScrollingNode and SubframeScrollingNode. |
| (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): |
| * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: In order to |
| determine whether the node is a main frame or subframe, use the node type instead of checking |
| whether the node as a parent. |
| (WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateChildNodesAfterScroll): |
| |
| 2018-02-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| WebDriver: addCookie command should prepend a dot to domain if missing |
| https://bugs.webkit.org/show_bug.cgi?id=182328 |
| <rdar://problem/37116398> |
| |
| Reviewed by Michael Catanzaro. |
| |
| RFC 2965: If an explicitly specified value does not start with a dot, the user agent supplies a leading dot. |
| |
| Fixes: imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_domain_cookie |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::addSingleCookie): |
| |
| 2018-01-13 Darin Adler <darin@apple.com> |
| |
| Event improvements |
| https://bugs.webkit.org/show_bug.cgi?id=179591 |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp: |
| (webkit_dom_wheel_event_init_wheel_event): Updated to call initWebKitWheelEvent. |
| |
| * WebProcess/Plugins/PluginView.cpp: Removed include of ScriptValue.h. |
| |
| * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: |
| (WebKit::WebEditorClient::executePendingEditorCommands): |
| Updated for name change from keyEvent to underlyingPlatformEvent. |
| (WebKit::WebEditorClient::handleInputMethodKeydown): Ditto. |
| * WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp: |
| (WebKit::WebEditorClient::handleKeyboardEvent): Ditto. |
| (WebKit::WebEditorClient::handleInputMethodKeydown): Ditto. |
| |
| * WebProcess/WebPage/WebPage.cpp: Removed include of ScriptValue.h. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::handleEditingKeyboardEvent): Updated for name change from |
| keyEvent to underlyingPlatformEvent. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::executeKeypressCommandsInternal): Ditto. |
| (WebKit::WebPage::handleEditingKeyboardEvent): Ditto. |
| |
| 2018-02-07 Antti Koivisto <antti@apple.com> and Youenn Fablet <youenn@apple.com> |
| |
| REGRESSION(r227758): Webpage fails to load due to crash in com.apple.WebKit: WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse + 267 |
| https://bugs.webkit.org/show_bug.cgi?id=182532 |
| <rdar://problem/36414017> |
| |
| Reviewed by Chris Dumez. |
| |
| No test case, don't know how to make one. The repro involves multipart HTTP streaming and details are hazy. |
| We were calling a function that was WTFMoved away just a few lines above. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| |
| 2018-02-07 Tim Horton <timothy_horton@apple.com> |
| |
| Evernote device management web view sometimes displays at the wrong scale |
| https://bugs.webkit.org/show_bug.cgi?id=182590 |
| <rdar://problem/36633687> |
| |
| Reviewed by Simon Fraser. |
| |
| Evernote implements the WKWebView's scroll view's delegate method |
| viewForZoomingInScrollView: and returns nil. This results in |
| WKScrollView's zoomScale always returning 1, no matter what the |
| WKContentView's actual scale is. This will result in us never updating |
| the WKContentView's scale to 1. When loading a page that has a few |
| scale changes during load but ends up at scale 1, we get stuck at whatever |
| intermediate scale immediately preceded settling on 1. |
| |
| Fix this by not forwarding viewForZoomingInScrollView: to the external |
| WKScrollView delegate; we are in charge of the contents of the scroll |
| view (including which view scrollView's zoomScale should track), and |
| overriding viewForZoomingInScrollView: is only ever going to lead to |
| a broken WebKit. |
| |
| * UIProcess/ios/WKScrollView.mm: |
| (shouldForwardScrollViewDelegateMethodToExternalDelegate): |
| (-[WKScrollViewDelegateForwarder forwardInvocation:]): |
| (-[WKScrollViewDelegateForwarder forwardingTargetForSelector:]): |
| |
| 2018-02-07 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Delegate scrolling from the content view to input view controllers |
| https://bugs.webkit.org/show_bug.cgi?id=182534 |
| <rdar://problem/37276625> |
| |
| Reviewed by Tim Horton. |
| |
| Override -_wheelChangedWithEvent: on the content view, and give extra zoomed input view controllers a chance to |
| handle the event. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _wheelChangedWithEvent:]): |
| |
| 2018-02-07 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Implement multiple and single select menus |
| https://bugs.webkit.org/show_bug.cgi?id=182525 |
| <rdar://problem/35143016> |
| |
| Reviewed by Tim Horton. |
| |
| Add support for presenting picker views when focusing single or multiple select elements. See changes below for |
| additional detail. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _startAssistingKeyboard]): |
| |
| Move logic for presenting view controllers when focusing elements out of _startAssistingKeyboard, and into |
| _startAssistingNode:(...). This is because _startAssistingKeyboard is only invoked for certain types of focused |
| element types; importantly, this set excludes select elements. Putting the call to present the focused view |
| controller there also didn't make much since, considering that these new view controllers are not tied to |
| keyboards in any way. |
| |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): |
| (-[WKContentView _stopAssistingNode]): |
| |
| Dismiss any select menu that is being presented. |
| |
| (-[WKContentView presentSelectMenuViewController:]): |
| (-[WKContentView dismissSelectMenuViewController:]): |
| |
| Introduce idempotent helpers for presenting and dismissing the select menu view controller. |
| |
| (-[WKContentView presentViewControllerForAssistedNode:]): |
| (-[WKContentView selectMenu:didSelectItemAtIndex:]): |
| |
| For single select menus. Called when the user selects a row. |
| |
| (-[WKContentView didCancelSelectionInSelectMenu:]): |
| (-[WKContentView numberOfItemsInSelectMenu:]): |
| (-[WKContentView selectMenu:displayTextForItemAtIndex:]): |
| |
| Indicates the text value to show at a given index. |
| |
| (-[WKContentView selectMenu:didCheckItemAtIndex:checked:]): |
| |
| For multiple select menus, invoked when an item is checked. The `checked` parameter indicates whether or not the |
| item is now checked. |
| |
| (-[WKContentView selectMenuSupportsMultipleSelection:]): |
| |
| Indicates whether this select menu is single-item-only, or allows multiple items to be selected (checked). |
| |
| (-[WKContentView selectMenu:hasCheckedOptionAtIndex:]): |
| |
| For multiple select menus. Determines whether an option at the given index is checked. |
| |
| (-[WKContentView startingIndexForSelectMenu:]): |
| |
| Determines the index to instantly scroll to when presenting the select menu. |
| |
| * UIProcess/ios/forms/WKSelectMenuViewController.h: Added. |
| * UIProcess/ios/forms/WKSelectMenuViewController.mm: Added. |
| |
| Add new harness files for WKSelectMenuViewController's header and implementation (see WebKitAdditions). |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-02-07 Brent Fulgham <bfulgham@apple.com> |
| |
| Improve NetworkResourceLoader logging to capture redirect cases |
| https://bugs.webkit.org/show_bug.cgi?id=182573 |
| <rdar://problem/37316714> |
| |
| Reviewed by Chris Dumez. |
| |
| Add logging for cookie partitioning or blocking during redirects. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection): |
| |
| 2018-02-07 John Wilander <wilander@apple.com> |
| |
| Restrict Referer to just the origin for third parties in private mode and third parties ITP blocks cookies for in regular mode |
| https://bugs.webkit.org/show_bug.cgi?id=182559 |
| <rdar://problem/36990337> |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTaskCocoa::isThirdPartyRequest): |
| New convenience function. Checks whether the resource shares |
| partition with the first party. |
| (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): |
| Now strips the referrer to just the origin for: |
| 1. All third party requests in private mode. |
| 2. Third party requests to domains that ITP blocks cookies for. |
| (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection): |
| Now strips the referrer in redirects to just the origin for: |
| 1. All third party requests in private mode. |
| 2. Third party requests to domains that ITP blocks cookies for. |
| |
| 2018-02-07 Daniel Bates <dabates@apple.com> |
| |
| Log error when authentication challenge is blocked due to an insecure request |
| https://bugs.webkit.org/show_bug.cgi?id=182358 |
| |
| Reviewed by Andy Estes. |
| |
| Have network process notify the web process when it blocks an authentication challenge. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::completeAuthenticationChallenge): |
| * NetworkProcess/NetworkLoadClient.h: |
| (WebKit::NetworkLoadClient::didBlockAuthenticationChallenge): |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didBlockAuthenticationChallenge): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didBlockAuthenticationChallenge): |
| * WebProcess/Network/WebResourceLoader.h: |
| * WebProcess/Network/WebResourceLoader.messages.in: |
| |
| 2018-02-07 Chris Dumez <cdumez@apple.com> |
| |
| IndexedDB in service workers is using a memory backed store |
| https://bugs.webkit.org/show_bug.cgi?id=182574 |
| <rdar://problem/37316205> |
| |
| Reviewed by Youenn Fablet. |
| |
| Make sure we pass a proper WebDatabaseProvider to the ServiceWorkerProcess via |
| PageConfiguration. Otherwise, we end up using the default EmptyDatabaseProvider |
| which uses an InProcessIDBServer and a memory-backed store for IndexedDB. |
| |
| * UIProcess/ServiceWorkerProcessProxy.cpp: |
| (WebKit::ServiceWorkerProcessProxy::start): |
| * UIProcess/WebProcessPool.h: |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: |
| (WebKit::WebSWContextManagerConnection::WebSWContextManagerConnection): |
| (WebKit::WebSWContextManagerConnection::installServiceWorker): |
| * WebProcess/Storage/WebSWContextManagerConnection.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::establishWorkerContextConnectionToStorageProcess): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2018-02-07 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Typo in a translatable string |
| https://bugs.webkit.org/show_bug.cgi?id=182570 |
| |
| Unreviewed. Fix a typo. |
| |
| * UIProcess/API/glib/WebKitWebsiteDataManager.cpp: |
| (webkit_website_data_manager_class_init): |
| |
| 2018-02-06 Don Olmstead <don.olmstead@sony.com> |
| |
| Remove WebCore/ForwardingHeaders directory |
| https://bugs.webkit.org/show_bug.cgi?id=182347 |
| |
| Reviewed by Keith Miller. |
| |
| * Platform/mac/StringUtilities.mm: |
| * Shared/Cocoa/WebKit2InitializeCocoa.mm: |
| * Shared/WebKit2Initialize.cpp: |
| * Shared/linux/WebMemorySamplerLinux.cpp: |
| * Shared/mac/WebMemorySampler.mac.mm: |
| * UIProcess/WebProcessPool.cpp: |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h: |
| * WebProcess/InjectedBundle/API/glib/WebKitConsoleMessagePrivate.h: |
| * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| * WebProcess/Plugins/PluginProcessConnection.cpp: |
| * WebProcess/Plugins/PluginView.cpp: |
| * WebProcess/WebPage/WebInspector.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| |
| 2018-02-06 Chris Dumez <cdumez@apple.com> |
| |
| Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-waits-for-activate.https.html is a flaky failure on macOS and iOS |
| https://bugs.webkit.org/show_bug.cgi?id=181392 |
| <rdar://problem/36384136> |
| |
| Reviewed by Youenn Fablet. |
| |
| All tasks from the StorageProcess to the WebContent process to update registrations |
| and service workers state are posted to the runloop. However, the fetch callbacks |
| do not do so. This means that fetch results might come in out of order with regards |
| to the registration / service worker state updates. The test was flaky because an |
| intercepted load would sometimes finish before the task to update the service worker |
| state to "activated" was processed by the runloop. We address the issue by having |
| the ServiceWorkerClientFetch callbacks schedule tasks to the runloop too. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| (WebKit::ServiceWorkerClientFetch::didReceiveData): |
| (WebKit::ServiceWorkerClientFetch::didFinish): |
| (WebKit::ServiceWorkerClientFetch::didFail): |
| (WebKit::ServiceWorkerClientFetch::didNotHandle): |
| |
| 2018-02-06 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS] Correct sandbox violation triggered by Chase.com |
| https://bugs.webkit.org/show_bug.cgi?id=182519 |
| <rdar://problem/37121757> |
| |
| Reviewed by Eric Carlson. |
| |
| Hitting a sandbox violation when attempting to check status of IOAV*En/Decode support. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-02-06 Jeff Miller <jeffm@apple.com> |
| |
| Add WKNavigationDelegate SPI to tell the client when an insecure plug-in is blocked |
| https://bugs.webkit.org/show_bug.cgi?id=182540 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/APILoaderClient.h: |
| (API::LoaderClient::didBlockInsecurePluginVersion): |
| Changed to take a dictionary reference. |
| |
| * UIProcess/API/APINavigationClient.h: |
| (API::NavigationClient::didBlockInsecurePluginVersion): |
| Added. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageLoaderClient): |
| Changed didBlockInsecurePluginVersion() to take a dictionary reference. |
| |
| * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: |
| Added -_webView:didBlockInsecurePluginVersionWithInfo:. |
| |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::setNavigationDelegate): |
| Initialize webViewDidBlockInsecurePluginVersionWithInfo. |
| |
| (WebKit::NavigationState::NavigationClient::didBlockInsecurePluginVersion): |
| Added. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didBlockInsecurePluginVersion): |
| Remove check for PLATFORM(COCOA) (we don't check for this in didFailToInitializePlugin() where we |
| also use createPluginInformationDictionary()) and ENABLE(NETSCAPE_PLUGIN_API) (we're already inside |
| an #if ENABLE(NETSCAPE_PLUGIN_API block) and use auto for pluginInformation. Attempt to use the |
| navigation client before the loader client. |
| |
| 2018-02-06 Youenn Fablet <youenn@apple.com> |
| |
| HasServiceWorkerRegistration bit should be sent when creating a new page |
| https://bugs.webkit.org/show_bug.cgi?id=182410 |
| |
| Reviewed by Chris Dumez. |
| |
| Move the bit computation at page creation time. |
| This allows computing the bit based on the web site data store and not only on the pool configuration. |
| WebPage uses that bit to activate service worker registration matching for the whole process. |
| |
| In case there is a service worker process proxy created, the bit is set to true by default. |
| |
| Bit is computed by checking for database file presence. |
| This information is cached in a map for efficiency reasons and cleared when a service worker process proxy is created. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode const): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode const): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::initializeWebPage): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::establishWorkerContextConnectionToStorageProcess): |
| (WebKit::WebProcessPool::initializeNewWebProcess): |
| (WebKit::WebProcessPool::mayHaveRegisteredServiceWorkers): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_cpuLimit): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2018-02-06 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, fix format specifiers added in r228116 |
| https://bugs.webkit.org/show_bug.cgi?id=182456 |
| <rdar://problem/37181006> |
| |
| * NetworkProcess/cache/CacheStorageEngineConnection.cpp: |
| (WebKit::CacheStorageEngineConnection::open): |
| (WebKit::CacheStorageEngineConnection::remove): |
| (WebKit::CacheStorageEngineConnection::caches): |
| (WebKit::CacheStorageEngineConnection::retrieveRecords): |
| (WebKit::CacheStorageEngineConnection::deleteMatchingRecords): |
| (WebKit::CacheStorageEngineConnection::putRecords): |
| (WebKit::CacheStorageEngineConnection::reference): |
| (WebKit::CacheStorageEngineConnection::dereference): |
| |
| 2018-02-05 Chris Dumez <cdumez@apple.com> |
| |
| Avoid unnecessarily constructing RunLoops for GC AutomaticThreads in Connection::sendMessage() after r228001 |
| https://bugs.webkit.org/show_bug.cgi?id=182494 |
| <rdar://problem/37147632> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Somebody fixed a GC crash in r228001 by allowing RunLoop::current() to be called from a |
| GC thread. However, this is still unnecessarily inefficient. Calling RunLoop::current() |
| will construct RunLoops for background GC threads (WTF::AutomaticThreads). This patches |
| updates the IPC code to call isMainThread() instead of RunLoop::isMain() in |
| Connection::sendMessage(). This should mean the same thing since this code runs in |
| WebKit2 and should be more efficient as it ends up simply calling pthread_main_np(), |
| without constructing a RunLoop. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::sendMessage): |
| |
| 2018-02-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Release assertion in inlineVideoFrame |
| https://bugs.webkit.org/show_bug.cgi?id=182513 |
| <rdar://problem/37159363> |
| |
| Reviewed by Zalan Bujtas. |
| |
| Fixed the bug. Don't try to update the layout when there is no live render tree or active DOM objects |
| had been stopped: i.e. during a document destruction. |
| |
| * WebProcess/cocoa/VideoFullscreenManager.mm: |
| (WebKit::inlineVideoFrame): |
| |
| 2018-02-05 Yousuke Kimoto <yousuke.kimoto@sony.com> |
| |
| [WinCairo] Refine WebKitLegacy and WebKit build for wincairo |
| https://bugs.webkit.org/show_bug.cgi?id=182478 |
| |
| Reviewed by Alex Christensen. |
| |
| Fixed a typo of forwarding header path for InjectedBundle and copying header |
| method, which should use FLATTENED. |
| |
| * PlatformWin.cmake: Fix a typo of a forwarding header path for InjectedBundle and use FLATTENED. |
| |
| 2018-02-05 Youenn Fablet <youenn@apple.com> |
| |
| WebsiteDataStore::resolveDirectoriesIfNecessary() should not overwrite its resolved serviceWorkerRegistrationDirectory if already set |
| https://bugs.webkit.org/show_bug.cgi?id=182514 |
| |
| Reviewed by Chris Dumez. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): |
| |
| 2018-02-05 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] Storage process is using the wrong sandbox profile filename |
| https://bugs.webkit.org/show_bug.cgi?id=182500 |
| <rdar://problem/37232614> |
| |
| Reviewed by David Kilzer. |
| |
| The iOS entitlements file was still referencing the old Databases sandbox profile, even though the |
| process has been renamed 'Storage'. |
| |
| * Configurations/Databases-iOS.entitlements: |
| |
| 2018-02-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add DoNotProcessIncomingMessagesWhenWaitingForSyncReply to GetPlugins and RootViewToScreen |
| https://bugs.webkit.org/show_bug.cgi?id=182458 |
| |
| Reviewed by Chris Dumez. |
| |
| Added DoNotProcessIncomingMessagesWhenWaitingForSyncReply to GetPlugins and RootViewToScreen |
| which are found to get sent from WebContent process while ScriptDisallowedScope is present |
| by a work-in-progress patch on webkit.org/b/182449. |
| |
| * WebProcess/Plugins/WebPluginInfoProvider.cpp: |
| (WebKit::WebPluginInfoProvider::populatePluginCache): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::rootViewToScreen): |
| |
| 2018-02-05 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r227964 and r228087. |
| https://bugs.webkit.org/show_bug.cgi?id=182508 |
| |
| These introduced an API test failure with |
| URLTest.HostIsIPAddress alongside commit r228086 (Requested by |
| mlewis13 on #webkit). |
| |
| Reverted changesets: |
| |
| "[SOUP] Ensure domain is valid when converting a WebCore |
| Cookie to Soup" |
| https://bugs.webkit.org/show_bug.cgi?id=182328 |
| https://trac.webkit.org/changeset/227964 |
| |
| "WebDriver: addCookie command should prepend a dot to domain |
| if missing" |
| https://bugs.webkit.org/show_bug.cgi?id=182328 |
| https://trac.webkit.org/changeset/228087 |
| |
| 2018-02-05 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Implement number pad UI when editing `tel` and `number` inputs |
| https://bugs.webkit.org/show_bug.cgi?id=182472 |
| <rdar://problem/35143057> |
| |
| Reviewed by Tim Horton. |
| |
| Allows the user to edit numeric input types using a number pad. See below comments for more detail. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _startAssistingKeyboard]): |
| (-[WKContentView _stopAssistingNode]): |
| |
| Dismiss the number pad, if it is present. |
| |
| (-[WKContentView dismissNumberPadViewController:]): |
| (-[WKContentView presentNumberPadViewController:]): |
| |
| Add new helpers for showing and hiding the number pad view controller. |
| |
| (-[WKContentView presentViewControllerForAssistedNode:]): |
| (-[WKContentView textInputController:didRequestDismissalWithAction:]): |
| |
| Dismiss the number pad, if it is present. |
| |
| (-[WKContentView focusedFormControlControllerDidBeginEditing:]): |
| (-[WKContentView shouldPresentTextInputViewController:]): Deleted. |
| |
| Remove -shouldPresentTextInputViewController and replace it with -presentViewControllerForAssistedNode:, which |
| presents the appropriate view controller given "assisted" node information. |
| |
| * UIProcess/ios/forms/WKNumberPadView.h: Added. |
| * UIProcess/ios/forms/WKNumberPadView.mm: Added. |
| * UIProcess/ios/forms/WKNumberPadViewController.h: Added. |
| * UIProcess/ios/forms/WKNumberPadViewController.mm: Added. |
| |
| Add "WebKitAdditions harness" files for the new number pad view and view controller classes. |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-02-05 Youenn Fablet <youenn@apple.com> |
| |
| Add logging to CacheStorageEngineConnection |
| https://bugs.webkit.org/show_bug.cgi?id=182456 |
| |
| Reviewed by Chris Dumez. |
| |
| * NetworkProcess/cache/CacheStorageEngineConnection.cpp: |
| (WebKit::CacheStorageEngineConnection::open): |
| (WebKit::CacheStorageEngineConnection::remove): |
| (WebKit::CacheStorageEngineConnection::caches): |
| (WebKit::CacheStorageEngineConnection::retrieveRecords): |
| (WebKit::CacheStorageEngineConnection::deleteMatchingRecords): |
| (WebKit::CacheStorageEngineConnection::putRecords): |
| (WebKit::CacheStorageEngineConnection::reference): |
| (WebKit::CacheStorageEngineConnection::dereference): |
| * Platform/Logging.h: |
| |
| 2018-02-05 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r222795): Nike app "Refused to set unsafe header" when adding and viewing cart |
| https://bugs.webkit.org/show_bug.cgi?id=182491 |
| <rdar://problem/36533447> |
| |
| Reviewed by Brent Fulgham. |
| |
| Exempt Nike from the XHR header restrictions in r222795. |
| |
| Following r222795 only Dashboard widgets are allowed to set arbitrary XHR headers. |
| However Nike also depends on such functionality. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (shouldAllowSettingAnyXHRHeaderFromFileURLs): |
| |
| 2018-02-02 Brent Fulgham <bfulgham@apple.com> |
| |
| Improve NetworkResourceLoader logging so it can be used for 'setCookiesFromDOM' |
| https://bugs.webkit.org/show_bug.cgi?id=182455 |
| <rdar://problem/36626601> |
| |
| Reviewed by Chris Dumez. |
| |
| Refactor "logCookieInformation" so that it can be used for resource loads and DOM cookie |
| manipulation. Place the generally useful logic in a static method that can be invoked |
| from other places in the NetworkProcess. |
| |
| Call the new refactored method from NetworkConnectionToWebProcess::setCookiesFromDOM so |
| we can perform logging there as well. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM): Call the new logging method |
| (when enabled). |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::shouldLogCookieInformation): Changed to static method. |
| (WebKit::escapeForJSON): Made a static function so it could be shared between multiple |
| methods. |
| (WebKit::NetworkResourceLoader::logCookieInformation const): Refactor into two methods. |
| (WebKit::NetworkResourceLoader::logCookieInformation): Ditto. |
| (WebKit::NetworkResourceLoader::shouldLogCookieInformation const): Deleted. |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): Switch to user-enabled release logging |
| to track partitioning and blocking behavior. |
| |
| 2018-02-05 John Wilander <wilander@apple.com> |
| |
| Storage Access API: Add testRunner.getAllStorageAccessEntries() to make testing easier and more explicit |
| https://bugs.webkit.org/show_bug.cgi?id=181601 |
| <rdar://problem/36475837> |
| |
| Reviewed by Alex Christensen. |
| |
| http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html |
| was found to be flaky. With the testRunner.hasStorageAccessEntry() getter |
| it's possible to check access even if a frame doesn't respond timely to |
| postMessage after detach and attach. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::getAllStorageAccessEntries): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _getAllStorageAccessEntries:]): |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::getAllStorageAccessEntries): |
| (WebKit::NetworkProcessProxy::allStorageAccessEntriesResult): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::getAllStorageAccessEntries): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2018-02-05 Daniel Bates <dabates@apple.com> |
| |
| Disallow evaluating JavaScript from NPP_Destroy() in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=181889 |
| <rdar://problem/36674701> |
| |
| Reviewed by Brent Fulgham. |
| |
| Make the behavior of WebKit match the behavior of WebKitLegacy on Mac. |
| |
| * Shared/Plugins/NPObjectMessageReceiver.cpp: |
| (WebKit::NPObjectMessageReceiver::hasMethod): |
| (WebKit::NPObjectMessageReceiver::invoke): |
| (WebKit::NPObjectMessageReceiver::invokeDefault): |
| (WebKit::NPObjectMessageReceiver::hasProperty): |
| (WebKit::NPObjectMessageReceiver::getProperty): |
| (WebKit::NPObjectMessageReceiver::setProperty): |
| (WebKit::NPObjectMessageReceiver::removeProperty): |
| (WebKit::NPObjectMessageReceiver::enumerate): |
| (WebKit::NPObjectMessageReceiver::construct): |
| Bail out if the plugin is executing NPP_Destroy(). |
| |
| * WebProcess/Plugins/Plugin.cpp: |
| (WebKit::Plugin::destroyPlugin): |
| * WebProcess/Plugins/Plugin.h: |
| (WebKit::Plugin::isBeingDestroyed const): |
| Move bookkeeping of whether the plugin is being destroyed from PluginView |
| to here. This makes it straightforward for NPObjectMessageReceiver to query |
| this information. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::~PluginView): |
| (WebKit::PluginView::destroyPluginAndReset): |
| (WebKit::PluginView::recreateAndInitialize): |
| (WebKit::PluginView::protectPluginFromDestruction): |
| (WebKit::PluginView::unprotectPluginFromDestruction): |
| Move bookkeeping of whether the plugin is being destroyed from here |
| to Plugin. |
| |
| * WebProcess/Plugins/PluginView.h: |
| (WebKit::PluginView::isBeingDestroyed const): Turn around and ask the plugin if it |
| is being destroyed, if we have one. |
| |
| 2018-02-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| WebDriver: addCookie command should prepend a dot to domain if missing |
| https://bugs.webkit.org/show_bug.cgi?id=182328 |
| <rdar://problem/37116398> |
| |
| Reviewed by Michael Catanzaro. |
| |
| RFC 2965: If an explicitly specified value does not start with a dot, the user agent supplies a leading dot. |
| |
| Fixes: imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_domain_cookie |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::addSingleCookie): |
| |
| 2018-02-03 Tim Horton <timothy_horton@apple.com> |
| |
| UI process sometimes crashes under -[WKContentView _lookupForWebView:] |
| https://bugs.webkit.org/show_bug.cgi?id=182460 |
| <rdar://problem/33260602> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _lookupForWebView:]): |
| If you have a range selection, but no rects for the selection, retrieving |
| the 0th element of selectionRects will crash the UI process. To fix, in |
| this case, use the rect for the starting caret instead. |
| |
| It doesn't seem like the presentationRect is actually currently used for |
| the Lookup service, so the only impact is that we shouldn't crash anymore. |
| |
| 2018-02-02 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Remove remaining dead !USE(NETWORK_SESSION) code |
| https://bugs.webkit.org/show_bug.cgi?id=182451 |
| |
| Reviewed by Alex Christensen. |
| |
| DownloadCurl.cpp and AuthenticationManagerSoup.cpp have been dead code since NETWORK_SESSION |
| became mandatory. |
| |
| * NetworkProcess/Downloads/curl/DownloadCurl.cpp: Removed. |
| * PlatformGTK.cmake: |
| * PlatformWPE.cmake: |
| * PlatformWin.cmake: |
| * Shared/Authentication/soup/AuthenticationManagerSoup.cpp: Removed. |
| |
| 2018-02-02 Youenn Fablet <youenn@apple.com> |
| |
| CacheStorage should check for origin file presence when computing the origin of a folder |
| https://bugs.webkit.org/show_bug.cgi?id=182454 |
| |
| Reviewed by Chris Dumez. |
| |
| In case caches is opened for an origin but no cache is added, we do not have a caches name file but we do have an origin filename. |
| We should be checking the origin filename anyway since we will be reading it afterwards. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::retrieveOriginFromDirectory): |
| |
| 2018-02-02 Youenn Fablet <youenn@apple.com> |
| |
| Configure serviceWorkerRegistrationDirectory on the web site data store and move it to a Caches subfolder as a default |
| https://bugs.webkit.org/show_bug.cgi?id=182403 |
| <rdar://problem/36673358> |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::legacyWebsiteDataStoreConfiguration): Setting serviceWorkerRegistrationDirectory for legacy stores. |
| |
| 2018-02-02 Youenn Fablet <youenn@apple.com> |
| |
| Clearing all service worker registrations should wait for importing service worker registration to finish |
| https://bugs.webkit.org/show_bug.cgi?id=182407 |
| |
| Reviewed by Chris Dumez. |
| |
| Updating API to take a completion handler. |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations): |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| |
| 2018-02-02 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [Win] MSVC doesn't seem to like "friend class NeverDestroyed<Foo>" |
| https://bugs.webkit.org/show_bug.cgi?id=182081 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| The template friend class, which belongs to a different namespace, |
| can't access private member if its friend declaration is specified |
| without the namespace and with class keyword. |
| |
| Replaced "friend class NeverDestroyed<Foo>" with "friend NeverDestroyed<Foo>". |
| |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/capture/NetworkCaptureManager.h: |
| * PluginProcess/PluginProcess.h: |
| * Shared/CallbackID.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: |
| * StorageProcess/StorageProcess.h: |
| * UIProcess/Plugins/PluginProcessManager.h: |
| * UIProcess/Plugins/gtk/PluginInfoCache.h: |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: |
| * UIProcess/gtk/HardwareAccelerationManager.h: |
| * UIProcess/gtk/WaylandCompositor.h: |
| * UIProcess/linux/MemoryPressureMonitor.h: |
| * UIProcess/mac/ServicesController.h: |
| * WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.h: |
| * WebProcess/Plugins/WebPluginInfoProvider.h: |
| * WebProcess/WebCoreSupport/WebPasteboardOverrides.h: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2018-02-02 Youenn Fablet <youenn@apple.com> |
| |
| Configure serviceWorkerRegistrationDirectory on the web site data store and move it to a Caches subfolder as a default |
| https://bugs.webkit.org/show_bug.cgi?id=182403 |
| |
| Reviewed by Alex Christensen. |
| |
| WebsiteDataStore is the place to set configuration information such as service worker registration path. |
| This patch updates WebKit code accordingly. |
| By default, the service worker registration path is in a Caches subfolder, similarly to cache API path. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithLegacyOptions): |
| (API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration): |
| (API::ProcessPoolConfiguration::ProcessPoolConfiguration): |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| (WKContextConfigurationCopyServiceWorkerDatabaseDirectory): Deleted. |
| (WKContextConfigurationSetServiceWorkerDatabaseDirectory): Deleted. |
| * UIProcess/API/C/WKContextConfigurationRef.h: |
| * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: |
| (API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _serviceWorkerRegistrationDirectory]): |
| (-[WKWebsiteDataStore _setServiceWorkerRegistrationDirectory:]): |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureStorageProcessAndWebsiteDataStore): |
| (WebKit::WebProcessPool::initializeNewWebProcess): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| (WebKit::WebsiteDataStore::serviceWorkerRegistrationDirectory const): |
| (WebKit::WebsiteDataStore::setServiceWorkerRegistrationDirectory): |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| * UIProcess/gtk/WebProcessPoolWPE.cpp: |
| |
| 2018-02-02 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra Zoom Mode] Implement support for indirect mainframe scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=182421 |
| <rdar://problem/35142694> |
| |
| Reviewed by Tim Horton. |
| |
| Makes a few small adjustments to WKScrollView to improve mainframe scrolling, and disable the pinch gesture for |
| zooming. See below for more details. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| |
| Remove a now-unneeded WebKitAdditions import. |
| |
| * UIProcess/ios/WKScrollView.mm: |
| (-[WKScrollView initWithFrame:]): |
| |
| Add imports for -Before and -After versions of WKScrollViewAdditions. |
| |
| (-[WKScrollView addGestureRecognizer:]): |
| |
| Override -addGestureRecognizer here to prevent touches on the pinch gesture recognizer from being recognized. |
| I chose this approach instead of just disabling the gesture in -initWithFrame: because (1) the pinch gesture |
| recognizer is lazily created when setting minimum or maximum zoom scales, rather than immediately in |
| -initWithFrame:, and (2) even if we set the -enabled to NO, UIKit later resets it to YES in other codepaths. |
| |
| 2018-02-01 Tim Horton <timothy_horton@apple.com> |
| |
| WebKit fails to build (_startAssistingNode has conflicting parameters) |
| https://bugs.webkit.org/show_bug.cgi?id=182417 |
| <rdar://problem/36965318> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| Use Big BOOL like in the implementation. |
| |
| 2018-02-01 Brent Fulgham <bfulgham@apple.com> |
| |
| Improve NetworkResourceLogger to report blocked (versus non-partitioned) cookies |
| https://bugs.webkit.org/show_bug.cgi?id=182408 |
| <rdar://problem/36918028> |
| |
| Reviewed by Chris Dumez. |
| |
| Update the logging method to report blocked origins, rather than logging them as non-partitioned |
| loads that have no cookies or other content. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::logCookieInformation const): |
| |
| 2018-02-01 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r222824): UI process crashes in WebKit::WebBackForwardList::backItem const |
| <https://webkit.org/b/182409> |
| <rdar://problem/35495094> |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/WebBackForwardList.cpp: |
| (WebKit::WebBackForwardList::goToItem): Fix typo so the for loop |
| actually checks each value in m_entries. |
| |
| 2018-02-01 Youenn Fablet <youenn@apple.com> |
| |
| Delay service worker process creation until actually needed by SWServer |
| https://bugs.webkit.org/show_bug.cgi?id=182301 |
| |
| Reviewed by Chris Dumez. |
| |
| Do not create a service worker process at creation of the first SWServerConnection. |
| Wait for a WebProcess message that needs it: |
| - postMessage message |
| - fetchEvent message |
| - job scheduling. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::startFetch): |
| (WebKit::WebSWServerConnection::postMessageToServiceWorker): |
| (WebKit::WebSWServerConnection::scheduleJobInServer): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * StorageProcess/StorageToWebProcessConnection.cpp: |
| (WebKit::StorageToWebProcessConnection::establishSWServerConnection): |
| |
| 2018-02-01 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Extra zoom mode] Implement basic support for interacting with text form controls |
| https://bugs.webkit.org/show_bug.cgi?id=182401 |
| <rdar://problem/35143035> |
| |
| Reviewed by Tim Horton. |
| |
| Add UI support for interacting with and editing text form controls when extra zoom mode is enabled. See below |
| for more details. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration encodeWithCoder:]): |
| (-[WKWebViewConfiguration initWithCoder:]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _textInteractionGesturesEnabled]): |
| (-[WKWebViewConfiguration _setTextInteractionGesturesEnabled:]): |
| (-[WKWebViewConfiguration _longPressActionsEnabled]): |
| (-[WKWebViewConfiguration _setLongPressActionsEnabled:]): |
| |
| Introduce two new web view configuration flags: `textInteractionGesturesEnabled` and `longPressActionsEnabled`. |
| The former determines whether text interaction gestures (i.e. text selection, moving the caret, showing UI for |
| IME, etc.) are enabled. The latter determines whether or not long press actions (i.e. touch callout, share |
| sheet, etc.) are enabled. These are disabled by default only in extra zoom mode. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setTextAsync): |
| |
| Add a way to set the text value of a currently edited text form control. This will either set the text value of |
| an input, a. la. autofill, or overwrite the contents of a contenteditable area by selecting everything and |
| inserting the given text. |
| |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::focusNextAssistedNode): |
| |
| Add a default argument for the completion callback. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setupInteraction]): |
| (-[WKContentView _displayFormNodeInputView]): |
| (-[WKContentView _actionForLongPressFromPositionInformation:]): |
| (-[WKContentView hasSelectablePositionAtPoint:]): |
| (-[WKContentView pointIsNearMarkedText:]): |
| (-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): |
| (-[WKContentView insertionPointColor]): |
| |
| Respect the web view configuration flags above by bailing early from text interaction and long press action |
| sheet methods. |
| |
| (-[WKContentView _startAssistingKeyboard]): |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): |
| |
| Add a flag indicating whether we are in the process of changing focus from one node to another. We use this to |
| decide whether or not we want to present the text input view controller right away, or just reload the focused |
| form control overlay. When we stop "assisting" a node, we also keep the focused form control overlay up if we're |
| only changing focus to another form control. |
| |
| (-[WKContentView _stopAssistingNode]): |
| (-[WKContentView presentFocusedFormControlViewController:]): |
| (-[WKContentView dismissFocusedFormControlViewController:]): |
| (-[WKContentView shouldPresentTextInputViewController:]): |
| (-[WKContentView presentTextInputViewController:]): |
| (-[WKContentView dismissTextInputViewController:]): |
| |
| Introduce helpers for managing presentation of the focused form control overlay and text input view controller. |
| All -present and -dismiss helpers here are idempotent. These view controllers are presented from the content |
| view's view controller for fullscreen presentation. |
| |
| (-[WKContentView textInputController:didCommitText:]): |
| (-[WKContentView textInputController:didRequestDismissalWithAction:]): |
| (-[WKContentView focusedFormControlControllerDidSubmit:]): |
| (-[WKContentView focusedFormControlControllerDidCancel:]): |
| (-[WKContentView focusedFormControlControllerDidBeginEditing:]): |
| (-[WKContentView highlightedRectForFocusedFormControlController:inCoordinateSpace:]): |
| (-[WKContentView actionNameForFocusedFormControlController:]): |
| (-[WKContentView focusedFormControlControllerDidRequestNextNode:]): |
| (-[WKContentView focusedFormControlControllerDidRequestPreviousNode:]): |
| (-[WKContentView hasNextNodeForFocusedFormControlController:]): |
| (-[WKContentView hasPreviousNodeForFocusedFormControlController:]): |
| |
| Implement delegate methods for the focused form control and text input view controllers. This mainly involves |
| straightforward plumbing of pieces of AssistedNodeInformation on the content view. |
| |
| (-[WKContentView pointIsInAssistedNode:]): Deleted. |
| |
| Remove a method that was still implemented only for binary compatibility with iOS 10. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setTextAsync): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2018-02-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Shift + mouse scroll should scroll horizontally |
| https://bugs.webkit.org/show_bug.cgi?id=181629 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Swap scroll direction when Shift is pressed for consistency with GtkScrolledWindow. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseScrollEvent): |
| |
| 2018-02-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r227893): fast/events/touch/touch-stale-node-crash.html and other tests crash |
| https://bugs.webkit.org/show_bug.cgi?id=182350 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| Ensure events synthesized from touch gestures have a valid window, screen and device. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| * UIProcess/gtk/GestureController.h: Add virtual destructor to GestureControllerclient. |
| |
| 2018-01-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Use different debug red colors for different contexts |
| https://bugs.webkit.org/show_bug.cgi?id=182362 |
| |
| Reviewed by Tim Horton. |
| |
| Pure red is used elsehwere in the system as a debug color indicator, so use different |
| shades of red for WebKit in the two places where we paint a reddish wash in debug builds, |
| so they are identifiable. |
| |
| * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::drawInContext): |
| |
| 2018-01-31 Don Olmstead <don.olmstead@sony.com> |
| |
| [CMake] Make JavaScriptCore headers copies |
| https://bugs.webkit.org/show_bug.cgi?id=182303 |
| |
| Reviewed by Alex Christensen. |
| |
| * CMakeLists.txt: |
| * Scripts/generate-forwarding-headers.pl: |
| |
| 2018-01-31 Alex Christensen <achristensen@webkit.org> |
| |
| Unreviewed, rolling out r227942. |
| |
| r227875 should not have been rolled out. |
| |
| Reverted changeset: |
| |
| "Unreviewed, rolling out r227875." |
| https://bugs.webkit.org/show_bug.cgi?id=182357 |
| https://trac.webkit.org/changeset/227942 |
| |
| 2018-01-31 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, rolling out r227875. |
| https://bugs.webkit.org/show_bug.cgi?id=182357 |
| |
| Missing cross-platform TestController implementation |
| |
| Reverted changeset: |
| |
| "Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning()" |
| https://bugs.webkit.org/show_bug.cgi?id=181958 |
| https://trac.webkit.org/changeset/227875 |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreStatisticsUpdateCookiePartitioning): |
| (WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning]): |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:]): |
| (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning:]): Deleted. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:completionHandler:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): |
| (WebKit::WebResourceLoadStatisticsStore::logUserInteraction): |
| (WebKit::WebResourceLoadStatisticsStore::logNonRecentUserInteraction): |
| (WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdate): |
| (WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdateForDomains): |
| (WebKit::WebResourceLoadStatisticsStore::scheduleClearPartitioningStateForDomains): |
| (WebKit::WebResourceLoadStatisticsStore::mergeWithDataFromDecoder): |
| (WebKit::WebResourceLoadStatisticsStore::clearInMemory): |
| (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning): |
| (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains): |
| (WebKit::WebResourceLoadStatisticsStore::clearPartitioningStateForDomains): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| |
| 2018-01-31 Brent Fulgham <bfulgham@apple.com> |
| |
| Follow-up to r227939. |
| https://bugs.webkit.org/show_bug.cgi?id=182354 |
| <rdar://problem/37046844> |
| |
| Make sure the correct sandbox is used on iOS as well. |
| |
| * StorageProcess/ios/StorageProcessIOS.mm: |
| (WebKit::StorageProcess::initializeSandbox): |
| |
| 2018-01-31 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r220094): com.apple.WebKit.Storage lost its sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=182354 |
| <rdar://problem/37046844> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The Database process was renamed to Storage, but it's sandbox was not updated. |
| |
| * Configurations/WebKit.xcconfig: Update for sandbox rename. |
| * DerivedSources.make: Ditto. |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb: Removed. |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Storage.sb: Copied from Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb. |
| * StorageProcess/mac/com.apple.WebKit.Databases.sb.in: Removed. |
| * StorageProcess/mac/com.apple.WebKit.Storage.sb.in: Copied from StorageProcess/mac/com.apple.WebKit.Databases.sb.in. |
| * WebKit.xcodeproj/project.pbxproj: Update for sandbox rename. |
| |
| 2018-01-31 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| REGRESSION(r227223): http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html, http/tests/resourceLoadStatistics/grandfathering.html timing out on GTK, WPE |
| https://bugs.webkit.org/show_bug.cgi?id=182222 |
| |
| Reviewed by Alex Christensen. |
| |
| Add callbacks to notify when resource load statistics deletion is complete. |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore): |
| (WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours): |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| |
| 2018-01-31 Tim Horton <timothy_horton@apple.com> |
| |
| Occasional null deref under WebPageProxy::updateBackingStoreDiscardableState() |
| https://bugs.webkit.org/show_bug.cgi?id=182349 |
| <rdar://problem/27822258> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::updateBackingStoreDiscardableState): |
| m_drawingArea can be null during process launch and relaunch. |
| |
| Cocoa ports don't use the result of setBackingStoreIsDiscardable(), |
| but they do run this code to keep it up to date. |
| |
| 2018-01-31 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Move gir and typelib generation into ENABLE_INTROSPECTION conditional |
| https://bugs.webkit.org/show_bug.cgi?id=182308 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PlatformGTK.cmake: |
| |
| 2018-01-31 Youenn Fablet <youenn@apple.com> |
| |
| Remove StorageToWebProcessConnection::removeSWServerConnection |
| https://bugs.webkit.org/show_bug.cgi?id=182305 |
| |
| Reviewed by Chris Dumez. |
| |
| * StorageProcess/StorageToWebProcessConnection.cpp: |
| (WebKit::StorageToWebProcessConnection::removeSWServerConnection): Deleted. |
| * StorageProcess/StorageToWebProcessConnection.h: |
| * StorageProcess/StorageToWebProcessConnection.messages.in: |
| |
| 2018-01-31 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r227544): [GTK] contextMenuEvent is NULL on CONTEXT_MENU call |
| https://bugs.webkit.org/show_bug.cgi?id=182224 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Move the gestures handling to WebKitWebViewBase. This patch adds GestureControllerClient class, created and |
| implemented by WebKitWebViewBase and used by GestureController instead of the WebPageProxy. This way we ensure |
| events are handled consistently. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::doneWithTouchEvent): Cast the GdkEvent since GestureController no longer works wirth |
| const GdkEvents. |
| (WebKit::PageClientImpl::zoom): Use webkit_web_view_set_zoom_level() in case of WebKitWebView or |
| WebPageProxy::setPageZoomFactor() otherwise. |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (ClickCounter::currentClickCountForGdkButtonEvent): Receive a GdkEvent to avoid casts. |
| (webkitWebViewBaseHandleMouseEvent): Helper function to handle mouse events. |
| (webkitWebViewBaseButtonPressEvent): Use webkitWebViewBaseHandleMouseEvent. |
| (webkitWebViewBaseButtonReleaseEvent): Ditto. |
| (webkitWebViewBaseHandleWheelEvent): Helper function to handle wheel events. |
| (webkitWebViewBaseScrollEvent): Use webkitWebViewBaseHandleWheelEvent. |
| (webkitWebViewBaseMotionNotifyEvent): Use webkitWebViewBaseHandleMouseEvent. |
| (webkitWebViewBaseCrossingNotifyEvent): Ditto. |
| (webkitWebViewBaseGestureController): Pass the widget and client to GestureController. |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::GestureController): Receives a widget and client now. |
| (WebKit::GestureController::handleEvent): Remove the const. |
| (WebKit::GestureController::Gesture::Gesture): Initialize client. |
| (WebKit::GestureController::Gesture::handleEvent): Remove the const. |
| (WebKit::GestureController::DragGesture::startDrag): Use the client instead of WebPageProxy. |
| (WebKit::GestureController::DragGesture::handleDrag): Ditto. |
| (WebKit::GestureController::DragGesture::handleTap): Ditto. |
| (WebKit::GestureController::DragGesture::begin): Ignore the const returned by gtk_gesture_get_last_event(). |
| (WebKit::GestureController::DragGesture::update): Ditto. |
| (WebKit::GestureController::DragGesture::end): Ditto. |
| (WebKit::GestureController::DragGesture::DragGesture): Receives a widget and client now. |
| (WebKit::GestureController::SwipeGesture::startMomentumScroll): Use the client instead of WebPageProxy. |
| (WebKit::GestureController::SwipeGesture::swipe): Ignore the const returned by gtk_gesture_get_last_event(). |
| (WebKit::GestureController::SwipeGesture::SwipeGesture): Receives a widget and client now. |
| (WebKit::GestureController::ZoomGesture::begin): Start the zoom. |
| (WebKit::GestureController::ZoomGesture::startZoom): Use the client instead of WebPageProxy. |
| (WebKit::GestureController::ZoomGesture::handleZoom): Ditto. |
| (WebKit::GestureController::ZoomGesture::ZoomGesture): Receives a widget and client now. |
| (WebKit::GestureController::LongPressGesture::longPressed): Use the client instead of WebKitWebView. |
| (WebKit::GestureController::LongPressGesture::pressed): Ignore the const returned by gtk_gesture_get_last_event(). |
| (WebKit::GestureController::LongPressGesture::LongPressGesture): Receives a widget and client now. |
| (WebKit::GestureController::Gesture::simulateMouseClick): Deleted. |
| (WebKit::createScrollEvent): Deleted. |
| * UIProcess/gtk/GestureController.h: |
| |
| 2018-01-31 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Web Automation: cookies returned by automation should have expiry time in seconds |
| https://bugs.webkit.org/show_bug.cgi?id=182293 |
| |
| Reviewed by Brian Burg. |
| |
| When creating a WebCore::Cookie from a WebDriver object we convert the given expiry time to milliseconds, but |
| when creating a WebDriver object from a WebCore::Cookie we are keeping the milliseconds. We should convert to |
| seconds for consistency, so that the WebDriver always handles seconds. |
| |
| Fixes: imported/w3c/webdriver/tests/cookies/get_named_cookie.py::test_get_named_cookie |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::buildObjectForCookie): Convert expiry to seconds. |
| |
| 2018-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Unreviewed iOS build fix. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| |
| 2018-01-30 John Wilander <wilander@apple.com> |
| |
| Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning() |
| https://bugs.webkit.org/show_bug.cgi?id=181958 |
| https://bugs.webkit.org/show_bug.cgi?id=182072 |
| <rdar://problem/36801804> |
| <rdar://problem/36845795> |
| |
| Reviewed by Brent Fulgham. |
| |
| Because of the asynchronous nature of XPC and cookies, |
| we need callbacks in these TestRunner functions so that |
| the layout tests can wait for state changes to finish |
| before checking test conditions. |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreStatisticsUpdateCookiePartitioning): |
| (WKWebsiteDataStoreSetStatisticsShouldPartitionCookiesForHost): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning]): |
| (-[WKWebsiteDataStore _resourceLoadStatisticsUpdateCookiePartitioning:]): |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:]): |
| (-[WKWebsiteDataStore _resourceLoadStatisticsSetShouldPartitionCookies:forHost:completionHandler:]): |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): |
| (WebKit::WebResourceLoadStatisticsStore::logUserInteraction): |
| (WebKit::WebResourceLoadStatisticsStore::logNonRecentUserInteraction): |
| (WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdate): |
| (WebKit::WebResourceLoadStatisticsStore::scheduleCookiePartitioningUpdateForDomains): |
| (WebKit::WebResourceLoadStatisticsStore::scheduleClearPartitioningStateForDomains): |
| (WebKit::WebResourceLoadStatisticsStore::mergeWithDataFromDecoder): |
| (WebKit::WebResourceLoadStatisticsStore::clearInMemory): |
| (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning): |
| (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains): |
| (WebKit::WebResourceLoadStatisticsStore::clearPartitioningStateForDomains): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| |
| 2018-01-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r227550): Resource timing API is disabled on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=182318 |
| |
| Reviewed by Chris Dumez. |
| |
| Resource timing API should be enabled by default all versions of macOS we support now. |
| |
| * Shared/WebPreferences.yaml: |
| * Shared/WebPreferencesDefaultValues.h: |
| |
| 2018-01-30 Tim Horton <timothy_horton@apple.com> |
| |
| WKWebView layout is sometimes wrong after rotation on iPhone X |
| https://bugs.webkit.org/show_bug.cgi?id=182304 |
| <rdar://problem/34158671> |
| |
| Reviewed by Simon Fraser. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _computedContentInset]): |
| (-[WKWebView _scrollViewSystemContentInset]): |
| (activeMinimumLayoutSize): |
| It turns out that it is not always safe to look at the safe area insets of |
| children from inside layoutSubviews, even after the call to super. |
| |
| Instead, make use of the fact that WKScrollView and WKWebView have identical |
| coordinate spaces, and map WKWebView's safe area insets into the WKScrollView. |
| It's safe to use the scroll view's affected-edges and contentScrollInset, |
| because those aren't updated at the same outside-of-layout time that |
| safe area insets are. |
| |
| We could alternatively move all calls to activeMinimumLayoutSize outside |
| of layoutSubviews, but that seems like a larger and riskier change. |
| |
| All attempts to write a test have failed; this depends heavily on use of |
| autolayout and the mechanism by which the system updates system-owned |
| safe area insets during device rotation. |
| |
| 2018-01-30 Don Olmstead <don.olmstead@sony.com> |
| |
| JSExports.h should be included as <JavaScriptCore/JSExportMacros.h> |
| https://bugs.webkit.org/show_bug.cgi?id=182312 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * config.h: |
| |
| 2018-01-30 Brent Fulgham <bfulgham@apple.com> |
| |
| Add telemetry to track storage access API adoption |
| https://bugs.webkit.org/show_bug.cgi?id=182197 |
| <rdar://problem/35803309> |
| |
| Reviewed by Chris Dumez. |
| |
| Part 2: Add telemetry for the Storage Access API case |
| |
| This change increments a counter when an origin is loaded in a first part context because |
| it was granted Storage Access API permissions. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::logCookieInformation const): Add logging to indicate |
| loads that happened with the Storage Access API enabled. |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::requestStorageAccess): Increment counter for |
| loads using the new API. |
| |
| 2018-01-30 Megan Gardner <megan_gardner@apple.com> |
| |
| Make preserve and restore focus more likely to be symmetrical |
| https://bugs.webkit.org/show_bug.cgi?id=182264 |
| <rdar://problem/36948473> |
| |
| Reviewed by Tim Horton. |
| |
| Keep a stack of if we actually increment the focusState, so that |
| changes to the web content do not result in asymmetric decrements to the focus state. |
| To work around problems associated with <rdar://problem/37000122>. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _restoreFocusWithToken:]): |
| (-[WKContentView _preserveFocusWithToken:destructively:]): |
| |
| 2018-01-30 Brent Fulgham <bfulgham@apple.com> |
| |
| Add telemetry to track storage access API adoption |
| https://bugs.webkit.org/show_bug.cgi?id=182197 |
| <rdar://problem/35803309> |
| |
| Reviewed by Chris Dumez. |
| |
| This patch also handled aggregating the counts in the UIProcess, which has access to |
| the right data. |
| |
| The original patch assumed the WebContent process kept track of user interaction. This is |
| only tracked in the UIProcess, so we can get rid of some of the logging code adding in |
| r227755. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode const): Rollout of r227755 changes not |
| needed to track the statistics. |
| (WebKit::WebProcessCreationParameters::decode): Ditto. |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): Ditto. |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::wasAccessedAsFirstPartyDueToUserInteraction): Moved from |
| the WebContent process, which does not keep track of user interaction. |
| (WebKit::WebResourceLoadStatisticsStore::mergeStatistics): Aggregate counts while processing |
| the statistics. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2018-01-30 Chris Dumez <cdumez@apple.com> |
| |
| Make sure we never create a WebSWClientConnection with an invalid sessionID |
| https://bugs.webkit.org/show_bug.cgi?id=182276 |
| <rdar://problem/36582633> |
| |
| Reviewed by Alex Christensen. |
| |
| Make sure we never create a WebSWClientConnection with an invalid sessionID as this |
| could corrupt our hash tables. |
| |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::swServerForSession): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::establishWorkerContextConnectionToStorageProcess): |
| * WebProcess/Storage/WebSWClientConnection.cpp: |
| (WebKit::WebSWClientConnection::WebSWClientConnection): |
| * WebProcess/Storage/WebServiceWorkerProvider.cpp: |
| (WebKit::WebServiceWorkerProvider::serviceWorkerConnectionForSession): |
| (WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession): |
| * WebProcess/Storage/WebToStorageProcessConnection.cpp: |
| (WebKit::WebToStorageProcessConnection::serviceWorkerConnectionForSession): |
| |
| 2018-01-30 Basuke Suzuki <Basuke.Suzuki@sony.com> |
| |
| [WinCairo] Fix forwarding header conflict of WebKit on WinCairo |
| https://bugs.webkit.org/show_bug.cgi?id=177202 |
| |
| Reviewed by Alex Christensen. |
| |
| * PlatformWin.cmake: |
| |
| 2018-01-29 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| WebDriver: evaluateJavaScriptFunction should return null when return value is undefined |
| https://bugs.webkit.org/show_bug.cgi?id=180350 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| undefined can't be converted to JSON string, in which case JSON.stringify() returns undefined and we handle that |
| case to return an empty string. We currently handle this case for execute script commands, but not in all other |
| cases where we use evaluateJavaScriptFunction. It would be simpler if evaluateJavaScriptFunction returned null, |
| because in that case we wouldn't need to handle it as a special case. |
| |
| 15.2 Executing Script |
| https://w3c.github.io/webdriver/webdriver-spec.html#dfn-json-clone |
| |
| Fixes: imported/w3c/webdriver/tests/state/get_element_property.py::test_element_non_existent |
| |
| * WebProcess/Automation/WebAutomationSessionProxy.js: |
| (let.AutomationSessionProxy.prototype._jsonStringify): Return "null" instead of "" when undefined is given. |
| |
| 2018-01-29 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Release assert in updateLayout while waiting for sync reply to WebPageProxy::HasInsecureContent |
| https://bugs.webkit.org/show_bug.cgi?id=182273 |
| |
| Reviewed by Chris Dumez. |
| |
| The assertion was caused by unrelated sync IPCs being processed while WebContent process is waiting for |
| the reply to WebPageProxy::HasInsecureContent. Since this IPC can be used while creating CachedFrame, |
| it's not safe to execute arbitrary code. |
| |
| Fixed the bug by using DoNotProcessIncomingMessagesWhenWaitingForSyncReply added in r227566. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame): |
| |
| 2018-01-29 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add a build step to copy resources from WebKitAdditions as bundle resources in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=182268 |
| <rdar://problem/37003784> |
| |
| Reviewed by Tim Horton and Dan Bernstein. |
| |
| Adds a "Copy Additional Resources" phase when building WebKit. This phase copies resources from |
| usr/local/include/WebKitAdditions/WebKit/AdditionalResources in the build directory into the |
| unlocalized resources directory. If the AdditionalResources directory does not exist in the build |
| directory, we fall back to searching the SDK. |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-01-29 Youenn Fablet <youenn@apple.com> |
| |
| ServiceWorkerClientFetch should not consider responses without Location headers as redirection responses |
| https://bugs.webkit.org/show_bug.cgi?id=182134 |
| |
| Reviewed by Chris Dumez. |
| |
| As per fetch spec, a response with a redirection status code but no Location header should not be considered as a redirection. |
| This is also consistent with SubresourceLoader::didReceiveResponse. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| |
| 2018-01-29 Youenn Fablet <youenn@apple.com> |
| |
| Cache API should make sure to resolve caches.open promises in the same order as called |
| https://bugs.webkit.org/show_bug.cgi?id=182193 |
| <rdar://problem/36930363> |
| |
| Reviewed by Chris Dumez. |
| |
| Covered by added test. |
| Whenever opening/removing a cache requires writing to disk, wait to finish the task |
| until any disk writing task is done. |
| Applying this strategy when clearing data so that we also clear data that is pending to be written. |
| For removing cache, we now return whether a cache was actually deleted by returning zero as removed cache identifier. |
| WebCore uses that information to return true/false as promise resolution value. |
| |
| * NetworkProcess/cache/CacheStorageEngine.cpp: |
| (WebKit::CacheStorage::Engine::retrieveCaches): |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::clear): |
| (WebKit::CacheStorage::Caches::open): |
| (WebKit::CacheStorage::Caches::remove): |
| (WebKit::CacheStorage::Caches::writeCachesToDisk): |
| (WebKit::CacheStorage::Caches::cacheInfos): |
| (WebKit::CacheStorage::Caches::cacheInfos const): Deleted. |
| * NetworkProcess/cache/CacheStorageEngineCaches.h: |
| (WebKit::CacheStorage::Caches::createWeakPtr): |
| |
| 2018-01-29 Alex Christensen <achristensen@webkit.org> |
| |
| Clean up API after bugs 178240 and 176474 |
| https://bugs.webkit.org/show_bug.cgi?id=182259 |
| |
| Reviewed by Dan Bernstein. |
| |
| NS_OPTIONS should be NSUInteger, not NSInteger. This is how all other NS_OPTIONS in WebKit are, |
| and it's necessary if we get really big numbers as options. Changing them won't cause binary |
| incompatibility unless someone does signed integer comparison with currently invalid values. |
| |
| Added availability macros I forgot to add earlier. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2018-01-29 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebAuthN] Add a compile-time feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=182211 |
| <rdar://problem/36936365> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2018-01-29 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Introduce debug mode as experimental feature |
| https://bugs.webkit.org/show_bug.cgi?id=182199 |
| <rdar://problem/36930364> |
| |
| Reviewed by Alex Christensen. |
| |
| The only changes to default behavior are: |
| - Increased resolution on timestamps which is needed to be able to set shorter |
| timeouts in debug mode. |
| - Only update partitioning and blocking table when needed. This is an optimization |
| which pays off in less XPC with shorter timeouts. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::resourceLoadStatisticsDebugMode const): |
| (API::WebsiteDataStore::setResourceLoadStatisticsDebugMode): |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreSetResourceLoadStatisticsDebugMode): |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _resourceLoadStatisticsDebugMode]): |
| (-[WKWebsiteDataStore _setResourceLoadStatisticsDebugMode:]): |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::setResourceLoadStatisticsDebugMode): |
| (WebKit::WebResourceLoadStatisticsStore::logUserInteraction): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::resourceLoadStatisticsDebugMode const): |
| (WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2018-01-29 Andy Estes <aestes@apple.com> |
| |
| [iOS] Restrict synthetic clicks to the origin that handled the underlying touch event |
| https://bugs.webkit.org/show_bug.cgi?id=182252 |
| <rdar://problem/21555881> |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::dispatchTouchEvent): |
| (WebKit::WebPage::updatePotentialTapSecurityOrigin): |
| |
| Record the target frame origin of touch events that are potential taps, are |
| TouchStart events, are targeted in frames that have touch event listeners, and are not |
| handled by those listeners. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::potentialTapAtPosition): |
| (WebKit::WebPage::commitPotentialTap): |
| (WebKit::WebPage::cancelPotentialTapInFrame): |
| |
| Passed the target frame origin to Frame::nodeRespondingToClickEvents() then cleared it. |
| |
| 2018-01-29 Alex Christensen <achristensen@webkit.org> |
| |
| Make policy checks more robust against null pointer dereferencing |
| https://bugs.webkit.org/show_bug.cgi?id=182263 |
| <rdar://problem/34895714> |
| |
| Reviewed by Tim Horton. |
| |
| We're still dereferencing null. Check everything. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): |
| |
| 2018-01-29 Brent Fulgham <bfulgham@apple.com> |
| |
| Add telemetry to track storage access API adoption |
| https://bugs.webkit.org/show_bug.cgi?id=182197 |
| <rdar://problem/35803309> |
| |
| Reviewed by Chris Dumez. |
| |
| Part 1: Add telemetry for the user interaction case |
| |
| This patch adds telemetry to track how frequently third-party cookies are |
| used in a first party context due to user interaction. This will help |
| understand cases where the new Storage Access API can help, and to help |
| us understand if we have considered relevant use cases in its design. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode const): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * UIProcess/WebResourceLoadStatisticsTelemetry.cpp: |
| (WebKit::sortedPrevalentResourceTelemetry): Update for new telemetry. |
| (WebKit::submitTopList): Update for new data types. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): Handle the partitioning time |
| passed from the UIProcess. |
| |
| 2018-01-29 Alex Christensen <achristensen@webkit.org> |
| |
| Fix crash when during canAuthenticateAgainstProtectionSpace |
| https://bugs.webkit.org/show_bug.cgi?id=182260 |
| <rdar://problem/34911343> |
| |
| Reviewed by Chris Dumez. |
| |
| If we have a valid network load with no challenge completion handler and we are |
| telling it to continue with the challenge handling, something has gone wrong. |
| Maybe we've just recovered from a crashed network process. If this happens, do nothing. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace): |
| |
| 2018-01-29 Zach Li <zacharyli323@gmail.com> |
| |
| Warning in 32-bit WebKit build when trying to link to SafariSafeBrowsing |
| https://bugs.webkit.org/show_bug.cgi?id=182251 |
| rdar://problem/36964995 |
| |
| Reviewed by Alex Christensen. |
| |
| * Configurations/WebKit.xcconfig: |
| Only link against SafariSafeBrowsing framework in 64-bit architecture. |
| |
| * Platform/spi/Cocoa/SafeBrowsingSPI.h: |
| Guard the Safe Browsing code with WK_API_ENABLED. |
| |
| 2018-01-29 Chris Dumez <cdumez@apple.com> |
| |
| Make sure we do not re-enter Webcore during StorageToWebProcessConnection::EstablishSWServerConnection Sync IPC |
| https://bugs.webkit.org/show_bug.cgi?id=182256 |
| <rdar://problem/36689233> |
| |
| Reviewed by Simon Fraser. |
| |
| Make sure we do not re-enter Webcore during StorageToWebProcessConnection::EstablishSWServerConnection Sync IPC as |
| this can lead to crashes such as the one in <rdar://problem/36689233>. |
| |
| * WebProcess/Storage/WebSWClientConnection.cpp: |
| (WebKit::WebSWClientConnection::WebSWClientConnection): |
| |
| 2018-01-29 Jan-Michael Brummer <jan.brummer@tabos.org> |
| |
| [GTK] Zooming gesture incorrectly uses scale instead of zoom |
| https://bugs.webkit.org/show_bug.cgi?id=182174 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Switch zooming gesture to use zoom instead of scale function. |
| |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::ZoomGesture::begin): |
| (WebKit::GestureController::ZoomGesture::handleZoom): |
| |
| 2018-01-29 Brady Eidson <beidson@apple.com> |
| |
| Make it possible for apps that use both WK1 and WK2 to use MessagePorts. |
| https://bugs.webkit.org/show_bug.cgi?id=182229 |
| |
| Reviewed by Chris Dumez. |
| |
| * UIProcess/UIMessagePortChannelProvider.cpp: |
| (WebKit::UIMessagePortChannelProvider::UIMessagePortChannelProvider): |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::m_configurationPreferenceValues): The UI process does not need to override the |
| global singleton provider. It can remain the default ProviderImpl to allow WK1 views |
| to work fine, too. |
| |
| 2018-01-29 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| WebDriver: ASSERTION FAILED: !m_loadTimer.isActive() |
| https://bugs.webkit.org/show_bug.cgi?id=182237 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| We should stop the load timer when we dispatch the pending navigation callbacks due to an alert open. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::willShowJavaScriptDialog): |
| |
| 2018-01-29 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Cairo] Add GraphicsContextImplCairo::createFactory() helpers |
| https://bugs.webkit.org/show_bug.cgi?id=182238 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Use GraphicsContextImplCairo::createFactory() helpers throughout the |
| Cairo-specific GraphicsContext constructors in the WebKit layer. |
| |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::ShareableBitmap::createGraphicsContext): |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::BackingStore::incorporateUpdate): |
| * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: |
| (WebKit::WebPrintOperationGtk::renderPage): |
| |
| 2018-01-29 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Cairo] Remove the GraphicsContext(cairo_t*) constructor |
| https://bugs.webkit.org/show_bug.cgi?id=182234 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Call sites of the GraphicsContext(cairo_t*) constructor are adjusted to |
| instead provide a factory function that returns a fresh |
| GraphicsContextImplCairo object, passing that cairo_t object to its |
| constructor. |
| |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::ShareableBitmap::createGraphicsContext): |
| * UIProcess/cairo/BackingStoreCairo.cpp: |
| (WebKit::BackingStore::incorporateUpdate): |
| * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: |
| (WebKit::WebPrintOperationGtk::renderPage): |
| |
| 2018-01-26 Megan Gardner <megan_gardner@apple.com> |
| |
| Don't retain focus for input peripheral views |
| https://bugs.webkit.org/show_bug.cgi?id=182204 |
| |
| Reviewed by Tim Horton. |
| |
| Retaining focus on input peripheral views makes it so they cannot dismiss themselves with |
| the current architecture. This should probably be fixed in UIKit, as there is no reason for |
| focus to be retained on these views anyways, as they don't have keyboard input, but this |
| guards against over-aggressive retain requests. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _restoreFocusWithToken:]): |
| (-[WKContentView _preserveFocusWithToken:destructively:]): |
| |
| 2018-01-26 Chris Dumez <cdumez@apple.com> |
| |
| Make sure service worker code does not launch a StorageProcess unnecessarily |
| https://bugs.webkit.org/show_bug.cgi?id=182192 |
| <rdar://problem/36927427> |
| |
| Reviewed by Geoffrey Garen. |
| |
| When calling WebProcess::existingWebToStorageProcessConnection(), make sure we do not |
| force the creation of a WebProcess connection to the StorageProcess. If there is |
| no WebProcess, just return false right away. |
| |
| * WebProcess/Storage/WebServiceWorkerProvider.cpp: |
| (WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession): |
| * WebProcess/WebProcess.h: |
| |
| 2018-01-26 Alex Christensen <achristensen@webkit.org> |
| |
| Allow cellular access for default-created ephemeral sessions |
| https://bugs.webkit.org/show_bug.cgi?id=182179 |
| <rdar://problem/36572023> |
| |
| Reviewed by Andy Estes. |
| |
| This makes it so when we recover from a NetworkProcess crash (see r227590) on iOS, we will |
| be able to continue browsing using cell data. |
| |
| * Shared/WebsiteDataStoreParameters.cpp: |
| (WebKit::WebsiteDataStoreParameters::privateSessionParameters): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore): |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::setPrivateBrowsingEnabled): |
| |
| 2018-01-26 Alex Christensen <achristensen@webkit.org> |
| |
| Clean up more networking code |
| https://bugs.webkit.org/show_bug.cgi?id=182161 |
| |
| Reviewed by Anders Carlsson. |
| |
| Two cleanups: |
| 1. The WebProcess doesn't need to initialize NetworkSessions. |
| 2. WebFrameNetworkingContext doesn't need to have the NetworkingContext functions to support ResourceHandles in WebKit any more. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/RemoteNetworkingContext.h: |
| (): Deleted. |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| * NetworkProcess/curl/RemoteNetworkingContextCurl.cpp: |
| (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): Deleted. |
| (WebKit::RemoteNetworkingContext::isValid const): Deleted. |
| (WebKit::RemoteNetworkingContext::storageSession const): Deleted. |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): Deleted. |
| (WebKit::RemoteNetworkingContext::isValid const): Deleted. |
| (WebKit::RemoteNetworkingContext::localFileContentSniffingEnabled const): Deleted. |
| (WebKit::RemoteNetworkingContext::storageSession const): Deleted. |
| (WebKit::RemoteNetworkingContext::sourceApplicationAuditData const): Deleted. |
| (WebKit::RemoteNetworkingContext::sourceApplicationIdentifier const): Deleted. |
| (WebKit::RemoteNetworkingContext::blockedError const): Deleted. |
| * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: |
| (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext): Deleted. |
| (WebKit::RemoteNetworkingContext::isValid const): Deleted. |
| (WebKit::RemoteNetworkingContext::storageSession const): Deleted. |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::clearCachedCredentials): |
| |
| 2018-01-26 Jan-Michael Brummer <jan.brummer@tabos.org> |
| |
| [GTK] Support using long-tap gesture to open context menu |
| https://bugs.webkit.org/show_bug.cgi?id=140747 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Add long press gesture which simulates a secondary mouse press to open context menu. |
| |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::GestureController): |
| (WebKit::GestureController::handleEvent): |
| (WebKit::GestureController::isProcessingGestures const): |
| (WebKit::GestureController::Gesture::simulateMousePress): |
| (WebKit::GestureController::DragGesture::handleTap): |
| (WebKit::GestureController::LongPressGesture::longPressed): |
| (WebKit::GestureController::LongPressGesture::pressed): |
| (WebKit::GestureController::LongPressGesture::LongPressGesture): |
| * UIProcess/gtk/GestureController.h: |
| (WebKit::GestureController::reset): |
| |
| 2018-01-26 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. REGRESSION(r227647): window.open() is broken in GTK and WPE after r227647. |
| |
| In r227647, API::UIClient::createNewPage() was changed to use CompletionHandler instead of Function. All |
| implementations were updated expect the GLib one, and we didn't notice it because the method doesn't have the |
| final/override mark. |
| |
| * UIProcess/API/glib/WebKitUIClient.cpp: |
| (UIClient::createNewPage): |
| |
| 2018-01-25 Sergio Villar Senin <svillar@igalia.com> |
| |
| [WebVR] Make WebVR available by default for developer builds |
| https://bugs.webkit.org/show_bug.cgi?id=182101 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Moved WebVR setting to the experimental features section and make it |
| available by default for developer builds for GTK and WPE. |
| |
| * Shared/WebPreferences.yaml: |
| |
| 2018-01-25 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION (r221899): Web Content process hangs when webpage tries to make a new window if the WKWebView doesn’t have a UI delegate |
| https://bugs.webkit.org/show_bug.cgi?id=182152 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Call the completion handler of the default API::UIClient::createNewPage. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::createNewPage): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::createNewPage): |
| |
| 2018-01-25 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS] [WK2] Introduce new views and view controllers to support extra-zoomed text form controls |
| https://bugs.webkit.org/show_bug.cgi?id=182000 |
| <rdar://problem/35143035> |
| |
| Reviewed by Tim Horton. |
| |
| Add new files to support text form control editing while extra-zoomed. |
| |
| * UIProcess/ios/forms/WKFocusedFormControlView.h: Added. |
| * UIProcess/ios/forms/WKFocusedFormControlView.mm: Added. |
| * UIProcess/ios/forms/WKFocusedFormControlViewController.h: Added. |
| * UIProcess/ios/forms/WKFocusedFormControlViewController.mm: Added. |
| * UIProcess/ios/forms/WKTextFormControlViewController.h: Added. |
| * UIProcess/ios/forms/WKTextFormControlViewController.mm: Added. |
| * UIProcess/ios/forms/WKTextInputViewController.h: Added. |
| * UIProcess/ios/forms/WKTextInputViewController.mm: Added. |
| * UIProcess/ios/forms/WKTextSuggestionButton.h: Added. |
| * UIProcess/ios/forms/WKTextSuggestionButton.mm: Added. |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-01-25 Chris Dumez <cdumez@apple.com> |
| |
| Clients.get(id) should only returns clients in the service worker's origin |
| https://bugs.webkit.org/show_bug.cgi?id=182149 |
| <rdar://problem/36882310> |
| |
| Reviewed by Youenn Fablet. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::postMessageToServiceWorker): |
| |
| 2018-01-25 Youenn Fablet <youenn@apple.com> |
| |
| WebPluginInfoProvider should handle null host queries |
| https://bugs.webkit.org/show_bug.cgi?id=182112 |
| |
| Reviewed by Chris Dumez. |
| |
| Return early if host is null. |
| |
| * WebProcess/Plugins/WebPluginInfoProvider.cpp: |
| (WebKit::WebPluginInfoProvider::populatePluginCache): |
| |
| 2018-01-25 Simon Fraser <simon.fraser@apple.com> |
| |
| ASSERT(CGSizeEqualToSize(m_resizeScrollOffset, CGSizeZero)) in WebViewImpl::setFrameAndScrollBy() |
| https://bugs.webkit.org/show_bug.cgi?id=182082 |
| rdar://problem/13971838 |
| |
| Reviewed by Tim Horton. |
| |
| Safari could call WebViewImpl::setFrameAndScrollBy() multiple times with different scroll offsets, |
| triggering this assertion. |
| |
| Rename to m_resizeScrollOffset to m_scrollOffsetAdjustment to reduce confusion with actual scroll offsets. |
| This parameter has no effect on macOS, but is used by the -[WKWebView setFrame:andScrollBy:] so at some point |
| needs to be hooked up to allow synchronous view resize and scroll adjustment (e.g. for the Find bar animation). |
| |
| Remove DrawingAreaProxy's m_layerPosition which was unused, and remove the parameters from the UpdateGeometry message. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _frameOrBoundsChanged]): |
| (-[WKWebView _beginAnimatedResizeWithUpdates:]): |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::setFrameAndScrollBy): |
| (WebKit::WebViewImpl::setDrawingAreaSize): |
| * UIProcess/DrawingAreaProxy.cpp: |
| (WebKit::DrawingAreaProxy::setSize): |
| * UIProcess/DrawingAreaProxy.h: |
| * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry): |
| * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: |
| (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry): |
| * WebProcess/WebPage/DrawingArea.h: |
| (WebKit::DrawingArea::updateGeometry): |
| * WebProcess/WebPage/DrawingArea.messages.in: |
| * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::updateGeometry): |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): |
| |
| 2018-01-25 Keith Rollin <krollin@apple.com> |
| |
| Add logging to facilitate binding of WebContent and Network processes to UI process |
| https://bugs.webkit.org/show_bug.cgi?id=182066 |
| |
| Reviewed by Brent Fulgham. |
| |
| When examining sysdiagnose logs and tracing events from one process to |
| another, it would be helpful to know which WebKit processes were |
| related to each other. When Safari, Mail, Messages, etc. are all |
| running at the same time, it may otherwise be difficult to know if a |
| particular Network process, for example was associated with Safari or |
| some other application. Add some logging to the creation of WebContent |
| and Network processes to identify their "presenting process" (parent |
| application). |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * Platform/Logging.h: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2018-01-25 Youenn Fablet <youenn@apple.com> |
| |
| DocumentLoader should interrupt ongoing load when getting a redirection from network that matches a service worker |
| https://bugs.webkit.org/show_bug.cgi?id=182115 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| |
| 2018-01-25 Alex Christensen <achristensen@webkit.org> |
| |
| Fix crash when preconnecting while closing private browsing |
| https://bugs.webkit.org/show_bug.cgi?id=182114 |
| <rdar://problem/35637284> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * NetworkProcess/PreconnectTask.cpp: |
| There is a race condition when destroying a session while a page is initiating a preconnect. |
| If this happens, fail gracefully instead of trying to preconnect with a null session. |
| |
| 2018-01-25 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Enable library validation for Networking & Storage XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=173424 |
| <rdar://problem/32386565> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Configurations/BaseXPCService.xcconfig: Moved the definitions of |
| WK_LIBRARY_VALIDATION_ENABLED and WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS from |
| WebContentService.xcconfig to here and made them Mac-only at this level. |
| * Configurations/NetworkService.xcconfig: Also set OTHER_CODE_SIGN_FLAGS to |
| WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS. |
| * Configurations/StorageService.xcconfig: Ditto. |
| * Configurations/WebContentService.xcconfig: Moved definitions from here to |
| BaseXPCService.xcconfig. |
| |
| 2018-01-25 David Hyatt <hyatt@apple.com> |
| |
| Enable lines clamp support for Apple Mail by default |
| https://bugs.webkit.org/show_bug.cgi?id=182113 |
| |
| Reviewed by Dean Jackson. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode const): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::appleMailLinesClampEnabled): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_cpuLimit): |
| |
| 2018-01-25 Sergio Villar Senin <svillar@igalia.com> |
| |
| [WebVR][GTK][WPE] Remove the WebVR public API added in r227518 |
| https://bugs.webkit.org/show_bug.cgi?id=182102 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: |
| |
| 2018-01-25 Sergio Villar Senin <svillar@igalia.com> |
| |
| [WebVR][GTK][WPE] Remove the WebVR public API added in r227518 |
| https://bugs.webkit.org/show_bug.cgi?id=182102 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| This new public API was not supposed to be included in the patch |
| that added OpenVR to the tree and to the build. |
| |
| * UIProcess/API/glib/WebKitSettings.cpp: |
| (webKitSettingsSetProperty): |
| (webKitSettingsGetProperty): |
| (webkit_settings_class_init): |
| (webkit_settings_get_enable_webvr): Deleted. |
| (webkit_settings_set_enable_webvr): Deleted. |
| * UIProcess/API/gtk/WebKitSettings.h: |
| * UIProcess/API/wpe/WebKitSettings.h: |
| |
| 2018-01-25 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] Fix build with touch events disabled |
| |
| Unreviewed build fix. |
| |
| Explicitly include gtk.h in files that were indirectly getting it |
| only when touch events were enabled. |
| * UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: |
| * UIProcess/gtk/WaylandCompositor.h: |
| |
| 2018-01-25 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| WebDriver: test imported/selenium/py/test/selenium/webdriver/common/alerts_tests.py crashes in debug |
| https://bugs.webkit.org/show_bug.cgi?id=182096 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| It's an assert in HashTable iterators checkValidity(). The problem is that we get the keys to iterate the values |
| and the map is modified inside the loop. We need to use copyToVector to copy the keys. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::respondToPendingPageNavigationCallbacksWithTimeout): |
| (WebKit::WebAutomationSession::respondToPendingFrameNavigationCallbacksWithTimeout): |
| (WebKit::WebAutomationSession::willShowJavaScriptDialog): |
| |
| 2018-01-24 Alex Christensen <achristensen@webkit.org> |
| |
| Gracefully recover from NetworkProcess crashes in private browsing |
| https://bugs.webkit.org/show_bug.cgi?id=182073 |
| <rdar://problem/36572023> |
| |
| Reviewed by Geoff Garen. |
| |
| If we're using a non-persistent WKWebsiteDataStore and the NetworkProcess crashes and we try to do a load, |
| then the WebProcess restarts the NetworkProcess but doesn't recreate the ephemeral session in the NetworkProcess. |
| When this happens, we've already lost the browsing state in memory in the NetworkProcess, but we don't want to hang. |
| If this is the problem, then just recreate the ephemeral session and continue loading. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::removeStorageAccessForFrame): |
| (WebKit::NetworkConnectionToWebProcess::removeStorageAccessForAllFramesOnPage): |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::startNetworkLoad): |
| * Shared/WebsiteDataStoreParameters.cpp: |
| (WebKit::WebsiteDataStoreParameters::privateSessionParameters): |
| (WebKit::WebsiteDataStoreParameters::legacyPrivateSessionParameters): Deleted. |
| * Shared/WebsiteDataStoreParameters.h: |
| (WebKit::WebsiteDataStoreParameters::legacyPrivateSessionParameters): |
| |
| 2018-01-24 Dan Bernstein <mitz@apple.com> |
| |
| Enable library validation on the Web Content service |
| Part 1 of https://bugs.webkit.org/show_bug.cgi?id=172365 |
| <rdar://problem/26470661> |
| |
| Reviewed by David Kilzer. |
| |
| This makes the Web Content process signed with the Library Validation flag in production |
| builds. Because doing so would prevent engineering builds of Apple apps that use an |
| injected bundle from working, this also adds a Development version of the service, which |
| does not enforce Library Validation. The UI process chooses to use the Development service |
| iff it would need to load an injected bundle that is not part of the OS. |
| |
| * Configurations/DebugRelease.xcconfig: Disable Library Validation in engineering builds. |
| |
| * Configurations/WebContentService.Development.xcconfig: Added. Like the normal service, but |
| only installed when WebKit is installed in the OS, and uses a Development variant. |
| |
| * Configurations/WebContentService.xcconfig: For the Development variant, append |
| ".Development" to the product name, which is also the service identifier. Enable Library |
| Validation for the Normal variant of the service when WK_LIBRARY_VALIDATION_ENABLED allows |
| it. |
| |
| * UIProcess/Launcher/ProcessLauncher.h: Add nonValidInjectedCodeAllowed member to |
| LaunchOptions, false by default. |
| |
| * UIProcess/Launcher/mac/ProcessLauncherMac.mm: |
| (WebKit::serviceName): Use the Development variant if nonValidInjectedCodeAllowed is true. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::getLaunchOptions): Initialize nonValidInjectedCodeAllowed using |
| the new shouldAllowNonValidInjectedCode(). |
| (WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Generic implementation |
| that returns false. |
| * UIProcess/WebProcessProxy.h: Declared shouldAllowNonValidInjectedCode. |
| * UIProcess/mac/WebProcessProxyMac.mm: |
| (WebKit::WebProcessProxy::shouldAllowNonValidInjectedCode const): Return true if this is |
| system WebKit with a non-system injected bundle. |
| |
| * WebKit.xcodeproj/project.pbxproj: Added new service target. |
| |
| 2018-01-24 Chris Dumez <cdumez@apple.com> |
| |
| Add a IPC::SendSyncOption indicating we should not process incoming IPC while waiting for the sync reply |
| https://bugs.webkit.org/show_bug.cgi?id=182021 |
| <rdar://problem/21629943> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add a new DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption that the caller can |
| set when calling sendSync(). This indicates that the sendSync() should return only when we receive |
| the response to our sync IPC message, and that we should not process ANY incoming IPC in the meantime. |
| |
| This patch also starts using this flag in 3 places where we know processing incoming IPC is an issue |
| and is causing crashes. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::sendSyncMessage): |
| When DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption is set, make sure |
| we set the ShouldDispatchMessageWhenWaitingForSyncReply flag on the encoder. If we did not set this |
| flag then it could cause deadlocks when the destination process is also waiting on a synchronous |
| IPC from us. Normally, this flag already gets set for sync messages because sendSyncMessage() calls |
| sendMessage() with DispatchMessageEvenWhenWaitingForSyncReply SyncOption. However, sendMessage() |
| ignores the DispatchMessageEvenWhenWaitingForSyncReply flag if the |
| m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage flag is set on the |
| connection. Note that this flag is set on the connection from the WebProcess to the UIProcess at |
| the moment, which is why we saw deadlocks on the previous iteration of this patch. |
| |
| (IPC::Connection::waitForSyncReply): |
| If DoNotProcessIncomingMessagesWhenWaitingForSyncReply SendSyncOption is set, do not |
| process incoming IPC messages while waiting for our sync IPC reply. |
| |
| * Platform/IPC/Connection.h: |
| Add new SendSyncOption. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| Testing infrastructure. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::loadResourceSynchronously): |
| Use new flag. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| Testing infrastructure. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): |
| Use new flag. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting): |
| Testing infrastructure. |
| |
| (WebKit::WebProcess::ensureNetworkProcessConnection): |
| Use new flag. |
| |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| Testing infrastructure. |
| |
| 2018-01-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Remove duplicate preference update for WebAuthentication value |
| https://bugs.webkit.org/show_bug.cgi?id=182058 |
| |
| Reviewed by Brian Burg. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| An identical update already happens in generated code. |
| |
| 2018-01-24 Alex Christensen <achristensen@webkit.org> |
| |
| Remove WebProcess access to QTKit |
| https://bugs.webkit.org/show_bug.cgi?id=182035 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| This isn't needed any more. We only have a little bit of code that uses QTKit which we should remove, |
| and it's only used for fullscreen controls in WebKitLegacy. Let's tighten up the sandbox! |
| |
| 2018-01-24 Alex Christensen <achristensen@webkit.org> |
| |
| Remove pre-Sierra-OS-specific code in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=182024 |
| |
| Reviewed by Tim Horton. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| * Shared/Cocoa/DataDetectionResult.mm: |
| (WebKit::DataDetectionResult::encode const): |
| * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: |
| (IPC::ArgumentCoder<WebCore::Payment>::encode): |
| (IPC::ArgumentCoder<WebCore::PaymentContact>::encode): |
| (IPC::ArgumentCoder<WebCore::PaymentMerchantSession>::encode): |
| (IPC::ArgumentCoder<WebCore::PaymentMethod>::encode): |
| * Shared/WebPreferencesDefaultValues.h: |
| * Shared/cg/ShareableBitmapCG.cpp: |
| (WebKit::wantsExtendedRange): |
| * Shared/ios/InteractionInformationAtPosition.mm: |
| (WebKit::InteractionInformationAtPosition::encode const): |
| * Shared/mac/CodeSigning.mm: |
| (WebKit::codeSigningIdentifier): |
| (WebKit::codeSigningIdentifierForCurrentProcess): |
| * Shared/mac/ColorSpaceData.mm: |
| (WebKit::ColorSpaceData::encode const): |
| * Shared/mac/PasteboardTypes.mm: |
| (WebKit::PasteboardTypes::forURL): |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::ArgumentCoder<ProtectionSpace>::encodePlatformData): |
| (IPC::ArgumentCoder<Credential>::encodePlatformData): |
| (IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode): |
| (IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData): |
| * Shared/mac/WebHitTestResultData.mm: |
| (WebKit::WebHitTestResultData::platformEncode const): |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _setObject:forBundleParameter:]): |
| (-[WKProcessPool _setObjectsForBundleParametersWithDictionary:]): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _handleAcceptedCandidate:]): |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::handleAcceptedCandidate): |
| (WebKit::WebViewImpl::performDragOperation): |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::showPopupMenu): |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-01-24 Alex Christensen <achristensen@webkit.org> |
| |
| Stop using AuthenticationClient in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=182016 |
| |
| Reviewed by Brady Eidson. |
| |
| It was necessary to support ResourceHandle use in WebKit, but now we're using NetworkSession everywhere in WebKit. |
| |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::useCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::cancelSingleChallenge): |
| (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge): |
| (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge): |
| |
| 2018-01-24 Alex Christensen <achristensen@webkit.org> |
| |
| Remove WebProcess authentication code |
| https://bugs.webkit.org/show_bug.cgi?id=182020 |
| |
| Reviewed by Brady Eidson. |
| |
| * Shared/Authentication/AuthenticationManager.cpp: |
| * Shared/Authentication/AuthenticationManager.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::m_webSQLiteDatabaseTracker): |
| |
| 2018-01-24 Jan-Michael Brummer <jan.brummer@tabos.org> |
| |
| [GTK] Page crash after swipe gesture running GNOME3 under wayland |
| https://bugs.webkit.org/show_bug.cgi?id=181996 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add missing GDK_TOUCH_CANCEL support which fixes page crashes due to cancelled gestures. |
| * Shared/gtk/WebEventFactory.cpp: |
| (WebKit::WebEventFactory::createWebTouchEvent): |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::doneWithTouchEvent): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (touchPointStateForEvents): |
| (webkitWebViewBaseGetTouchPointsForEvent): |
| (webkitWebViewBaseTouchEvent): |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::handleEvent): |
| |
| 2018-01-24 Alex Christensen <achristensen@webkit.org> |
| |
| Remove unused QTKit preference |
| https://bugs.webkit.org/show_bug.cgi?id=181968 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKPreferencesSetQTKitEnabled): |
| (WKPreferencesGetQTKitEnabled): |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetQTKitEnabled): Deleted. |
| (WKPreferencesGetQTKitEnabled): Deleted. |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _setQTKitEnabled:]): Deleted. |
| (-[WKPreferences _qtKitEnabled]): Deleted. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2018-01-24 Youenn Fablet <youenn@apple.com> |
| |
| Fetch response should copy its url from the request if null |
| https://bugs.webkit.org/show_bug.cgi?id=182048 |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| |
| 2018-01-24 Sergio Villar Senin <svillar@igalia.com> |
| |
| Unreviewed build fix after r227518. I forgot to add the function declarations to the WPE |
| header. |
| |
| * UIProcess/API/wpe/WebKitSettings.h: Added webkit_settings_get/set_enable_webvr. |
| |
| 2018-01-24 Youenn Fablet <youenn@apple.com> |
| |
| Add Cache Storage engine assertion following on bug 181887 |
| https://bugs.webkit.org/show_bug.cgi?id=181925 |
| |
| Reviewed by Alex Christensen. |
| |
| In a normal environment, the folderPath should be the same as the path computed from the ClientOrigin. |
| Add assertion to verify this. |
| |
| * NetworkProcess/cache/CacheStorageEngine.cpp: |
| (WebKit::CacheStorage::Engine::clearCachesForOrigin): |
| |
| 2018-01-24 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Use GDK_EVENT_PROPAGATE and GDK_EVENT_STOP in WebKitWebViewBase.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=182031 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| No functional changes, this just replaces TRUE with GDK_EVENT_STOP and FALSE with |
| GDK_EVENT_PROPAGATE, to improve readability. |
| |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseKeyPressEvent): |
| (webkitWebViewBaseKeyReleaseEvent): |
| (webkitWebViewBaseButtonPressEvent): |
| (webkitWebViewBaseButtonReleaseEvent): |
| (webkitWebViewBaseScrollEvent): |
| (webkitWebViewBaseMotionNotifyEvent): |
| (webkitWebViewBaseCrossingNotifyEvent): |
| (webkitWebViewBaseTouchEvent): |
| |
| 2018-01-23 Eric Carlson <eric.carlson@apple.com> |
| |
| Resign NowPlaying status when no media element is eligible |
| https://bugs.webkit.org/show_bug.cgi?id=181914 |
| <rdar://problem/35294116> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _requestActiveNowPlayingSessionInfo:]): Return registeredAsNowPlayingApplication |
| status. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::nowPlayingInfoCallback): Ditto. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebPage/Cocoa/WebPageCocoa.mm: |
| (WebKit::WebPage::requestActiveNowPlayingSessionInfo): Ditto. |
| |
| 2018-01-23 Alex Christensen <achristensen@webkit.org> |
| |
| Use CompletionHandlers for ResourceHandleClient::didReceiveResponseAsync |
| https://bugs.webkit.org/show_bug.cgi?id=181961 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * NetworkProcess/Downloads/Download.h: |
| * NetworkProcess/NetworkLoad.cpp: |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkResourceLoadParameters.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| * WebProcess/WebProcess.cpp: |
| |
| 2018-01-23 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rollout r227216 as it seems to be causing deadlocks |
| https://bugs.webkit.org/show_bug.cgi?id=182013 |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::waitForSyncReply): |
| * Platform/IPC/Connection.h: |
| (IPC::Connection::setShouldProcessIncomingMessagesWhileWaitingForSyncReply): Deleted. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::NetworkProcessConnection): |
| * WebProcess/Storage/WebToStorageProcessConnection.cpp: |
| (WebKit::WebToStorageProcessConnection::WebToStorageProcessConnection): |
| * WebProcess/WebConnectionToUIProcess.cpp: |
| (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::undo): |
| (WebKit::WebEditorClient::redo): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting): Deleted. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2018-01-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r227437. |
| https://bugs.webkit.org/show_bug.cgi?id=182011 |
| |
| broke build (Requested by alexchristensen on #webkit). |
| |
| Reverted changeset: |
| |
| "Remove unused QTKit preference" |
| https://bugs.webkit.org/show_bug.cgi?id=181968 |
| https://trac.webkit.org/changeset/227437 |
| |
| 2018-01-23 Alex Christensen <achristensen@webkit.org> |
| |
| Remove compile guard around beacon API |
| https://bugs.webkit.org/show_bug.cgi?id=182002 |
| |
| Reviewed by Sam Weinig. |
| |
| It's enabled everywhere now. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetBeaconAPIEnabled): |
| (WKPreferencesGetBeaconAPIEnabled): |
| * config.h: |
| |
| 2018-01-23 Alex Christensen <achristensen@webkit.org> |
| |
| Remove unused QTKit preference |
| https://bugs.webkit.org/show_bug.cgi?id=181968 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKPreferencesSetQTKitEnabled): |
| (WKPreferencesGetQTKitEnabled): |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetQTKitEnabled): Deleted. |
| (WKPreferencesGetQTKitEnabled): Deleted. |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _setQTKitEnabled:]): Deleted. |
| (-[WKPreferences _qtKitEnabled]): Deleted. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2018-01-23 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS] WebProcess needs TCC entitlements for media capture |
| https://bugs.webkit.org/show_bug.cgi?id=181995 |
| <rdar://problem/36674649> |
| |
| Reviewed by Eric Carlson. |
| |
| * Configurations/WebContent-OSX.entitlements: Add delegated services needed to support media |
| capture features. |
| |
| 2018-01-23 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Disable header postprocessing when building for macOS High Sierra |
| https://bugs.webkit.org/show_bug.cgi?id=181972 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/WebKit.xcconfig: Adopt macOSTargetConditionals.xcconfig helpers and disable postprocessing |
| when building for macOS 10.13. |
| |
| 2018-01-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Window resizing is broken after detaching to separate window |
| https://bugs.webkit.org/show_bug.cgi?id=181992 |
| <rdar://problem/36714840> |
| |
| Reviewed by Brian Burg. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformDetach): |
| Restore the inspector view's autoresizingMask to the initial value |
| that works with a detached window. This gets changed when the view |
| gets attached to bottom/side, so we need to revert it on detaching. |
| |
| 2018-01-23 Brady Eidson <beidson@apple.com> |
| |
| Allow passing MessagePorts across processes (e.g. ServiceWorkers). |
| https://bugs.webkit.org/show_bug.cgi?id=181178 |
| |
| Reviewed by Andy Estes. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::postMessageToServiceWorker): |
| (WebKit::WebSWServerConnection::postMessageToServiceWorkerClient): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * StorageProcess/ServiceWorker/WebSWServerConnection.messages.in: |
| |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::postMessageToServiceWorkerClient): |
| * StorageProcess/StorageProcess.h: |
| * StorageProcess/StorageProcess.messages.in: |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote): |
| (WebKit::WebProcessProxy::postMessageToRemote): |
| |
| * WebProcess/Storage/WebSWClientConnection.cpp: |
| (WebKit::WebSWClientConnection::postMessageToServiceWorker): |
| (WebKit::WebSWClientConnection::postMessageToServiceWorkerClient): |
| * WebProcess/Storage/WebSWClientConnection.h: |
| * WebProcess/Storage/WebSWClientConnection.messages.in: |
| |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: |
| (WebKit::WebSWContextManagerConnection::postMessageToServiceWorker): |
| (WebKit::WebSWContextManagerConnection::postMessageToServiceWorkerClient): |
| * WebProcess/Storage/WebSWContextManagerConnection.h: |
| * WebProcess/Storage/WebSWContextManagerConnection.messages.in: |
| |
| 2018-01-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r227279 and r227373. |
| https://bugs.webkit.org/show_bug.cgi?id=181988 |
| |
| The LayoutTest crash fix introduced an API test failure. |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changesets: |
| |
| "Resign NowPlaying status when no media element is eligible" |
| https://bugs.webkit.org/show_bug.cgi?id=181914 |
| https://trac.webkit.org/changeset/227279 |
| |
| "Resign NowPlaying status when no media element is eligible" |
| https://bugs.webkit.org/show_bug.cgi?id=181914 |
| https://trac.webkit.org/changeset/227373 |
| |
| 2018-01-23 Youenn Fablet <youenn@apple.com> |
| |
| REGRESSION (r227348): ASSERT_NOT_REACHED in WebKit::ServiceWorkerClientFetch::didFinish() |
| https://bugs.webkit.org/show_bug.cgi?id=181956 |
| <rdar://problem/36755492> |
| |
| Reviewed by Chris Dumez. |
| |
| Covered by test no longer crashing in Debug builds. |
| Reset m_redirectionStatus to None when starting an SW fetch. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::start): |
| (WebKit::ServiceWorkerClientFetch::didFinish): |
| |
| 2018-01-23 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [WPE] TestWebKitFindController asserts |
| https://bugs.webkit.org/show_bug.cgi?id=181472 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Let's fix this in two independent ways. |
| |
| First, use a GRefPtr to hold ownership of the WebKitWebViewBackend. This way, we don't need |
| to change the order in which WebKitWebView destroys its priv struct members from what is |
| used in WebKitGTK+, which can lead to odd bugs. |
| |
| Additionally, just for good measure, stop resetting the find client when disposing |
| WebKitFindController. This is unnecessary because it will never be destroyed before the |
| WebKitWebView. |
| |
| * UIProcess/API/glib/WebKitFindController.cpp: |
| (webkit_find_controller_class_init): |
| (webkitFindControllerDispose): Deleted. |
| * UIProcess/API/glib/WebKitWebView.cpp: |
| (_WebKitWebViewPrivate::~_WebKitWebViewPrivate): |
| (webkitWebViewSetProperty): |
| (webkitWebViewGetProperty): |
| (webkitWebViewCreatePage): |
| (webkit_web_view_get_backend): |
| * UIProcess/API/wpe/WebKitWebViewBackend.cpp: |
| (webkitWebViewBackendCreateDefault): |
| (WTF::refGPtr): |
| (WTF::derefGPtr): |
| * UIProcess/API/wpe/WebKitWebViewBackendPrivate.h: |
| |
| 2018-01-22 Jon Lee <jonlee@apple.com> |
| |
| Update title label size |
| https://bugs.webkit.org/show_bug.cgi?id=181962 |
| rdar://problem/36754744 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/ios/WKFullScreenWindowControllerIOS.mm: |
| (-[_WKFullScreenViewController setLocation:secure:trustedName:trustedSite:]): Move titleLabel properties into |
| createSubviews. |
| (-[_WKFullScreenViewController createSubviews]): Set the title label for both the cancel and location buttons. |
| Refer to a const CGFloat for the font size. |
| |
| 2018-01-22 Megan Gardner <megan_gardner@apple.com> |
| |
| Temporarily restore block selection code conditionally |
| https://bugs.webkit.org/show_bug.cgi?id=181895 |
| <rdar://problem/36567325> |
| |
| Reviewed by Tim Horton. |
| |
| We need to restore this code temporarily to avoid a crash. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]): |
| |
| 2018-01-22 Zach Li <zacharyli323@gmail.com> |
| |
| We should not try to link against the Safe Browsing framework on watchOS and tvOS. |
| https://bugs.webkit.org/show_bug.cgi?id=181965. |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2018-01-22 Alex Christensen <achristensen@webkit.org> |
| |
| Remove pre-NetworkSession loading code |
| https://bugs.webkit.org/show_bug.cgi?id=181944 |
| |
| Reviewed by Tim Horton. |
| |
| We were keeping it around for El Capitan. |
| |
| * NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm: |
| (WebKit::LegacyCustomProtocolManager::registerProtocolClass): |
| * NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp: |
| (WebKit::LegacyCustomProtocolManager::initialize): |
| * NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h: |
| * NetworkProcess/Downloads/BlobDownloadClient.cpp: Removed. |
| * NetworkProcess/Downloads/BlobDownloadClient.h: Removed. |
| * NetworkProcess/Downloads/Download.cpp: |
| (WebKit::Download::~Download): |
| (WebKit::Download::cancel): |
| (WebKit::Download::didReceiveChallenge): |
| (WebKit::Download::didFinish): |
| (WebKit::Download::isAlwaysOnLoggingAllowed const): |
| (WebKit::Download::start): Deleted. |
| (WebKit::Download::startWithHandle): Deleted. |
| (WebKit::Download::didStart): Deleted. |
| (WebKit::Download::willSendRedirectedRequest): Deleted. |
| (WebKit::Download::didReceiveAuthenticationChallenge): Deleted. |
| (WebKit::Download::didReceiveResponse): Deleted. |
| (WebKit::Download::shouldDecodeSourceDataOfMIMEType): Deleted. |
| (WebKit::Download::decideDestinationWithSuggestedFilename): Deleted. |
| (WebKit::Download::decideDestinationWithSuggestedFilenameAsync): Deleted. |
| (WebKit::Download::didDecideDownloadDestination): Deleted. |
| (WebKit::Download::continueDidReceiveResponse): Deleted. |
| * NetworkProcess/Downloads/Download.h: |
| (WebKit::Download::setBlobFileReferences): Deleted. |
| (WebKit::Download::request const): Deleted. |
| * NetworkProcess/Downloads/DownloadManager.cpp: |
| (WebKit::DownloadManager::startDownload): |
| (WebKit::DownloadManager::willDecidePendingDownloadDestination): |
| (WebKit::DownloadManager::convertNetworkLoadToDownload): |
| (WebKit::DownloadManager::continueDecidePendingDownloadDestination): |
| (WebKit::DownloadManager::resumeDownload): |
| (WebKit::DownloadManager::cancelDownload): |
| * NetworkProcess/Downloads/DownloadManager.h: |
| (WebKit::DownloadManager::startDownload): |
| * NetworkProcess/Downloads/PendingDownload.cpp: |
| * NetworkProcess/Downloads/PendingDownload.h: |
| * NetworkProcess/Downloads/cocoa/DownloadCocoa.mm: |
| * NetworkProcess/Downloads/ios/DownloadIOS.mm: Removed. |
| * NetworkProcess/Downloads/mac/DownloadMac.mm: Removed. |
| * NetworkProcess/NetworkCORSPreflightChecker.cpp: |
| * NetworkProcess/NetworkCORSPreflightChecker.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::loadPing): |
| * NetworkProcess/NetworkDataTask.cpp: |
| * NetworkProcess/NetworkDataTask.h: |
| * NetworkProcess/NetworkDataTaskBlob.cpp: |
| * NetworkProcess/NetworkDataTaskBlob.h: |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::~NetworkLoad): |
| (WebKit::NetworkLoad::setDefersLoading): |
| (WebKit::NetworkLoad::cancel): |
| (WebKit::NetworkLoad::continueWillSendRequest): |
| (WebKit::NetworkLoad::continueDidReceiveResponse): |
| (WebKit::NetworkLoad::shouldCaptureExtraNetworkLoadMetrics const): |
| (WebKit::NetworkLoad::didReceiveResponseAsync): Deleted. |
| (WebKit::NetworkLoad::didReceiveBuffer): Deleted. |
| (WebKit::NetworkLoad::didFinishLoading): Deleted. |
| (WebKit::NetworkLoad::didFail): Deleted. |
| (WebKit::NetworkLoad::willSendRequestAsync): Deleted. |
| (WebKit::NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync): Deleted. |
| (WebKit::NetworkLoad::shouldUseCredentialStorage): Deleted. |
| (WebKit::NetworkLoad::didReceiveAuthenticationChallenge): Deleted. |
| (WebKit::NetworkLoad::receivedCancellation): Deleted. |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkLoadParameters.h: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| (WebKit::NetworkProcess::clearCachedCredentials): |
| (WebKit::NetworkProcess::findPendingDownloadLocation): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::startNetworkLoad): |
| * NetworkProcess/NetworkSession.cpp: |
| * NetworkProcess/NetworkSession.h: |
| * NetworkProcess/PingLoad.cpp: |
| * NetworkProcess/PingLoad.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.h: |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| * NetworkProcess/mac/NetworkLoadMac.mm: Removed. |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession): |
| * Shared/Authentication/AuthenticationManager.cpp: |
| (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge): |
| (WebKit::AuthenticationManager::useCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge): |
| (WebKit::AuthenticationManager::cancelSingleChallenge): |
| (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge): |
| (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge): |
| * Shared/Authentication/AuthenticationManager.h: |
| * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Removed. |
| * Shared/SessionTracker.cpp: |
| (WebKit::SessionTracker::setSession): |
| (WebKit::SessionTracker::destroySession): |
| * Shared/SessionTracker.h: |
| * Shared/mac/CookieStorageShim.h: Removed. |
| * Shared/mac/CookieStorageShim.mm: Removed. |
| * UIProcess/API/APIDownloadClient.h: |
| (API::DownloadClient::didReceiveData): |
| (API::DownloadClient::shouldDecodeSourceDataOfMIMEType): Deleted. |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetDownloadClient): |
| * UIProcess/Cocoa/DownloadClient.h: |
| * UIProcess/Cocoa/DownloadClient.mm: |
| (WebKit::DownloadClient::shouldDecodeSourceDataOfMIMEType): Deleted. |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::willSendRequest): |
| (WebKit::DownloadProxy::didReceiveResponse): |
| (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType): Deleted. |
| (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): Deleted. |
| * UIProcess/Downloads/DownloadProxy.h: |
| * UIProcess/Downloads/DownloadProxy.messages.in: |
| * WebKit.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| (WebKit::WebProcess::clearCachedCredentials): |
| * config.h: |
| |
| 2018-01-22 Youenn Fablet <youenn@apple.com> |
| |
| SW: Make sure ServiceWorker loading and requests are correctly cleared by ITP |
| https://bugs.webkit.org/show_bug.cgi?id=181942 |
| <rdar://problem/35132091> |
| |
| Reviewed by Chris Dumez. |
| |
| Add ServiceWorkerRegistrations and DOMCache as persistent data to be cleared according ITP decisions. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::monitoredDataTypes): |
| |
| 2018-01-22 Chris Dumez <cdumez@apple.com> |
| |
| Add release logging to help debug issues related to service workers |
| https://bugs.webkit.org/show_bug.cgi?id=181935 |
| <rdar://problem/36735900> |
| |
| Reviewed by Brady Eidson. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::startFetch): |
| (WebKit::WebSWServerConnection::didFinishFetch): |
| (WebKit::WebSWServerConnection::didFailFetch): |
| (WebKit::WebSWServerConnection::didNotHandleFetch): |
| |
| 2018-01-22 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] REGRESSION (r225763): Allow access to power logging features |
| https://bugs.webkit.org/show_bug.cgi?id=181938 |
| <rdar://problem/36442803> |
| |
| Reviewed by Eric Carlson. |
| |
| I denied access to the powerlog facility in r225763, not realizing that it |
| gets activated in certain logging scenarios. This patch reverts this change. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2018-01-22 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS, iOS] Allow accss to AVFoundation preference |
| https://bugs.webkit.org/show_bug.cgi?id=181937 |
| <rdar://problem/33137029> |
| |
| Reviewed by Eric Carlson. |
| |
| Grant access to the 'com.apple.avfoundation.frecents' preference. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2018-01-22 Brady Eidson <beidson@apple.com> |
| |
| In WebKit2, make the MessagePortChannelRegistry live in the UI process. |
| https://bugs.webkit.org/show_bug.cgi?id=181922 |
| |
| Reviewed by Andy Estes. |
| |
| With all of the work that went into making MessagePorts be fully asynchronous |
| and to be process-aware, formally moving them out-of-process is just a matter |
| of adding WebKit IPC layers. |
| |
| The basic unit of asynchronicity is "MessagePortChannelProvider", and this patch |
| adds both a WebMessagePortChannelProvider and UIMessagePortChannelProvider for |
| each side of the process divide. |
| |
| * UIProcess/UIMessagePortChannelProvider.cpp: Added. |
| (WebKit::UIMessagePortChannelProvider::singleton): |
| (WebKit::UIMessagePortChannelProvider::UIMessagePortChannelProvider): |
| (WebKit::UIMessagePortChannelProvider::~UIMessagePortChannelProvider): |
| (WebKit::UIMessagePortChannelProvider::createNewMessagePortChannel): |
| (WebKit::UIMessagePortChannelProvider::entangleLocalPortInThisProcessToRemote): |
| (WebKit::UIMessagePortChannelProvider::messagePortDisentangled): |
| (WebKit::UIMessagePortChannelProvider::messagePortClosed): |
| (WebKit::UIMessagePortChannelProvider::takeAllMessagesForPort): |
| (WebKit::UIMessagePortChannelProvider::postMessageToRemote): |
| (WebKit::UIMessagePortChannelProvider::checkRemotePortForActivity): |
| (WebKit::UIMessagePortChannelProvider::checkProcessLocalPortForActivity): |
| * UIProcess/UIMessagePortChannelProvider.h: Added. |
| (WebKit::UIMessagePortChannelProvider::registry): |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::m_configurationPreferenceValues): |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::processForIdentifier): |
| (WebKit::m_userMediaCaptureManagerProxy): |
| (WebKit::WebProcessProxy::~WebProcessProxy): |
| (WebKit::WebProcessProxy::shutDown): |
| (WebKit::WebProcessProxy::createNewMessagePortChannel): |
| (WebKit::WebProcessProxy::entangleLocalPortInThisProcessToRemote): |
| (WebKit::WebProcessProxy::messagePortDisentangled): |
| (WebKit::WebProcessProxy::messagePortClosed): |
| (WebKit::WebProcessProxy::takeAllMessagesForPort): |
| (WebKit::WebProcessProxy::didDeliverMessagePortMessages): |
| (WebKit::WebProcessProxy::postMessageToRemote): |
| (WebKit::WebProcessProxy::checkRemotePortForActivity): |
| (WebKit::WebProcessProxy::checkProcessLocalPortForActivity): |
| (WebKit::WebProcessProxy::didCheckProcessLocalPortForActivity): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.cpp: Added. |
| (WebKit::WebMessagePortChannelProvider::singleton): |
| (WebKit::WebMessagePortChannelProvider::WebMessagePortChannelProvider): |
| (WebKit::WebMessagePortChannelProvider::~WebMessagePortChannelProvider): |
| (WebKit::WebMessagePortChannelProvider::createNewMessagePortChannel): |
| (WebKit::WebMessagePortChannelProvider::entangleLocalPortInThisProcessToRemote): |
| (WebKit::WebMessagePortChannelProvider::messagePortDisentangled): |
| (WebKit::WebMessagePortChannelProvider::messagePortClosed): |
| (WebKit::WebMessagePortChannelProvider::takeAllMessagesForPort): |
| (WebKit::WebMessagePortChannelProvider::didTakeAllMessagesForPort): |
| (WebKit::WebMessagePortChannelProvider::didCheckRemotePortForActivity): |
| (WebKit::WebMessagePortChannelProvider::postMessageToRemote): |
| (WebKit::WebMessagePortChannelProvider::checkProcessLocalPortForActivity): |
| (WebKit::WebMessagePortChannelProvider::checkRemotePortForActivity): |
| * WebProcess/WebCoreSupport/WebMessagePortChannelProvider.h: Added. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeProcess): |
| (WebKit::WebProcess::didTakeAllMessagesForPort): |
| (WebKit::WebProcess::checkProcessLocalPortForActivity): |
| (WebKit::WebProcess::didCheckRemotePortForActivity): |
| (WebKit::WebProcess::messagesAvailableForPort): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2018-01-22 Youenn Fablet <youenn@apple.com> |
| |
| Bump default cache storage quota to 50MB |
| https://bugs.webkit.org/show_bug.cgi?id=181924 |
| |
| Reviewed by Chris Dumez. |
| |
| Existing web sites use more than 20 MB. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2018-01-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed build fix after r227292. Fixing a bad copy-paste that broke |
| the GTK+ debug builds. |
| |
| * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: |
| (WebKit::convertCairoSurfaceToShareableBitmap): |
| |
| 2018-01-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Cairo] Refactor PlatformContextCairo::drawSurfaceToContext() into a Cairo operation |
| https://bugs.webkit.org/show_bug.cgi?id=181930 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Call sites of the PlatformContextCairo::drawSurfaceToContext() method |
| are adjusted to now call Cairo::drawSurface() and properly pass the |
| PlatformContextCairo object to the function. |
| |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::ShareableBitmap::paint): |
| * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: |
| (WebKit::convertCairoSurfaceToShareableBitmap): |
| |
| 2018-01-21 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix compile warning. |
| |
| Use #include instead of #import in cross-platform code. |
| |
| * Shared/WebPreferencesDefaultValues.cpp: |
| |
| 2018-01-21 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Turning off custom pasteboard data doesn't actually turn it off in WK2 |
| https://bugs.webkit.org/show_bug.cgi?id=181920 |
| <rdar://problem/36686429> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Moved the code to decide when to enable custom pasteboard data from WebCore |
| since we never enable this feature in WebKit1. |
| |
| * Shared/WebPreferences.yaml: |
| * Shared/WebPreferencesDefaultValues.cpp: |
| (defaultCustomPasteboardDataEnabled): Added. |
| * Shared/WebPreferencesDefaultValues.h: |
| |
| 2018-01-21 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add a new feature flag for EXTRA_ZOOM_MODE and reintroduce AdditionalFeatureDefines.h |
| https://bugs.webkit.org/show_bug.cgi?id=181918 |
| |
| Reviewed by Tim Horton. |
| |
| Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default). |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2018-01-21 Eric Carlson <eric.carlson@apple.com> |
| |
| Resign NowPlaying status when no media element is eligible |
| https://bugs.webkit.org/show_bug.cgi?id=181914 |
| <rdar://problem/35294116> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _requestActiveNowPlayingSessionInfo:]): Return registeredAsNowPlayingApplication |
| status. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::nowPlayingInfoCallback): Ditto. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebPage/Cocoa/WebPageCocoa.mm: |
| (WebKit::WebPage::requestActiveNowPlayingSessionInfo): Ditto. |
| |
| 2018-01-20 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Stop eagerly loading PassKit.framework |
| https://bugs.webkit.org/show_bug.cgi?id=181911 |
| <rdar://problem/36555369> |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode const): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| |
| Removed availablePaymentNetworks from WebPageCreationParameters. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetApplePayEnabled): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| |
| Stopped calling WebPaymentCoordinatorProxy::platformSupportsPayments(). |
| |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp: |
| (WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks): |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in: |
| |
| Added message AvailablePaymentNetworks, which synchronously returns a Vector of payment |
| networks. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformCanMakePayments): |
| |
| Returned false if PassKitLibrary() fails. |
| |
| (WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard): |
| (WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup): |
| |
| Called completionHandler with false if PassKitLibrary() fails. |
| |
| (WebKit::WebPaymentCoordinatorProxy::platformAvailablePaymentNetworks): |
| (WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks): |
| |
| Renamed availablePaymentNetworks to platformAvailablePaymentNetworks |
| |
| (WebKit::WebPaymentCoordinatorProxy::platformSupportsPayments): Deleted. |
| |
| * UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): |
| |
| Called completionHandler with false if PassKitLibrary() fails. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| |
| Stopped calling WebPaymentCoordinatorProxy::availablePaymentNetworks(). |
| |
| * WebProcess/ApplePay/WebPaymentCoordinator.cpp: |
| (WebKit::WebPaymentCoordinator::availablePaymentNetworks): |
| (WebKit::WebPaymentCoordinator::validatedPaymentNetwork): |
| * WebProcess/ApplePay/WebPaymentCoordinator.h: |
| |
| Implemented PaymentCoordinatorClient::validatedPaymentNetwork(). m_availablePaymentNetworks |
| starts off as std::nullopt, but is initialized by sending the AvailablePaymentNetworks sync |
| message the first time it's accessed. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| |
| Stopped setting PageConfiguration::availablePaymentNetworks. |
| |
| 2018-01-20 Jer Noble <jer.noble@apple.com> |
| |
| Release ASSERT when reloading Vimeo page @ WebCore: WebCore::Document::updateLayout |
| https://bugs.webkit.org/show_bug.cgi?id=181840 |
| <rdar://problem/36186214> |
| |
| Reviewed by Simon Fraser. |
| |
| Updating layout while the document is suspended or stopped is unsafe. |
| |
| * WebProcess/cocoa/VideoFullscreenManager.mm: |
| (WebKit::inlineVideoFrame): |
| |
| 2018-01-20 Chris Dumez <cdumez@apple.com> |
| |
| DOMCache data sometimes not properly removed when clearing data for a given origin |
| https://bugs.webkit.org/show_bug.cgi?id=181887 |
| <rdar://problem/36671239> |
| |
| Reviewed by Youenn Fablet. |
| |
| * NetworkProcess/cache/CacheStorageEngine.cpp: |
| (WebKit::CacheStorage::Engine::clearCachesForOrigin): |
| This code was iterating through folders on disk, then reading the folder's origin |
| from the origin file on disk. Then, if the origin would match the one we want to |
| delete, it would regenerate the folder path using cachesRootPath(*folderOrigin). |
| I don't know how but on my machine, I was ended up in a state where the path |
| generated by cachesRootPath(*folderOrigin) differed from the actual folder path |
| we read the origin from (Likely a different salt?). To make the code more robust, |
| I updated the code to delete "folderPath", which is the path we read the origin |
| from. |
| |
| 2018-01-19 Zach Li <zacharyli323@gmail.com> |
| |
| Expose Safe Browsing SPI |
| https://bugs.webkit.org/show_bug.cgi?id=181804 |
| <rdar://problem/36626946> |
| |
| Reviewed by Dan Bernstein. |
| |
| If client is using Apple internal SDK, then we can just import the header; if not, |
| then we declare necessary symbols that client will need. |
| |
| * Configurations/WebKit.xcconfig: |
| Only link against SafariSafeBrowsing framework on macOS High Sierra |
| and iOS 11 and above. Weak link against SafariSafeBrowsing framework |
| because it is not present on the Base system. |
| |
| * Platform/spi/Cocoa/SafeBrowsingSPI.h: Added. |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| Added SafeBrowsingSPI.h. |
| |
| * WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/11/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: |
| Added. |
| |
| 2018-01-19 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed build fix, removed unused lambda capture. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent): |
| |
| 2018-01-19 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Remove unused calls to WebResourceLoadStatisticsStore:logTestingEvent() to fix API test |
| https://bugs.webkit.org/show_bug.cgi?id=181890 |
| <rdar://problem/36674772> |
| |
| Unreviewed API test fix. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent): |
| |
| 2018-01-19 Youenn Fablet <youenn@apple.com> |
| |
| Do not go to the storage process when registering a service worker client if there is no service worker registered |
| https://bugs.webkit.org/show_bug.cgi?id=181740 |
| <rdar://problem/36650400> |
| |
| Reviewed by Chris Dumez. |
| |
| UIProcess notifies all web processes to register their service worker clients when spinning the service worker process. |
| Add private API to set the number of web processes for testing purposes. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _setMaximumNumberOfProcesses:]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::establishWorkerContextConnectionToStorageProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::registerServiceWorkerClients): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2018-01-19 Dean Jackson <dino@apple.com> |
| |
| REGRESSION (r221092): Swipe actions are hard to perform in FastMail app |
| https://bugs.webkit.org/show_bug.cgi?id=181817 |
| <rdar://problem/35274055> |
| |
| Reviewed by Simon Fraser. |
| |
| Add a linked-on-or-after check to set passive touch listeners on document in WebCore. |
| |
| * CMakeLists.txt: |
| * Shared/WebPreferences.yaml: |
| * Shared/WebPreferencesDefaultValues.cpp: Copied from Source/WebKit/UIProcess/Cocoa/VersionChecks.h. |
| (defaultPassiveTouchListenersAsDefaultOnDocument): |
| * Shared/WebPreferencesDefaultValues.h: |
| * UIProcess/Cocoa/VersionChecks.h: |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-01-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [Cocoa] _WKNSWindowExtras.h: Add missing availability annotation |
| https://bugs.webkit.org/show_bug.cgi?id=181868 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/Cocoa/_WKNSWindowExtras.h: |
| |
| 2018-01-19 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Add void to argument list to fix build with -Wstrict-prototypes |
| https://bugs.webkit.org/show_bug.cgi?id=181870 |
| <rdar://problem/36666750> |
| |
| Unreviewed build fix. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| |
| 2018-01-19 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r227211. |
| |
| Breaks iOS Simulator tests. |
| |
| Reverted changeset: |
| |
| "Expose Safe Browsing SPI" |
| https://bugs.webkit.org/show_bug.cgi?id=181804 |
| https://trac.webkit.org/changeset/227211 |
| |
| 2018-01-19 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Implement callback support for removal of WebsiteDataType::ResourceLoadStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=181822 |
| https://bugs.webkit.org/show_bug.cgi?id=175263 |
| https://bugs.webkit.org/show_bug.cgi?id=178536 |
| https://bugs.webkit.org/show_bug.cgi?id=181223 |
| https://bugs.webkit.org/show_bug.cgi?id=181482 |
| <rdar://problem/33491222> |
| <rdar://problem/33805293> |
| <rdar://problem/36332683> |
| <rdar://problem/36549026> |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStore): |
| (WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore]): |
| Calls the new API with no-op completion handler. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStore:]): |
| New API with completion handler. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:]): |
| Calls the new API with no-op completion handler. |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:completionHandler:]): |
| New API with completion handler. |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| * UIProcess/ResourceLoadStatisticsPersistentStorage.cpp: |
| (WebKit::ResourceLoadStatisticsPersistentStorage::populateMemoryStoreFromDisk): |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData): |
| (WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::removeData): |
| (WebKit::WebsiteDataStore::clearResourceLoadStatisticsInWebProcesses): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2018-01-19 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r223149): Ref WebPageProxy objects before calling their functionality |
| https://bugs.webkit.org/show_bug.cgi?id=181863 |
| <rdar://problem/36662452> |
| |
| Reviewed by Chris Dumez. |
| |
| More fix ups following r223149. When notifying all pages of a process state change we need to |
| take care to ref all the pages before iterating over them and notifying them of the change. |
| Notifying a page of such a state change may ultimately delegate to the embedding client. And |
| the embedding client can do anything, including deallocating one or more pages. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didBecomeUnresponsive): |
| (WebKit::WebProcessProxy::didBecomeResponsive): |
| (WebKit::WebProcessProxy::willChangeIsResponsive): |
| (WebKit::WebProcessProxy::didChangeIsResponsive): |
| (WebKit::WebProcessProxy::requestTermination): |
| |
| 2018-01-19 Chris Dumez <cdumez@apple.com> |
| |
| The WebContent process should not process incoming IPC while waiting for a sync IPC reply |
| https://bugs.webkit.org/show_bug.cgi?id=181560 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The WebContent process should not process incoming IPC while waiting for a sync IPC reply. |
| This is causing hard-to-debug crashes because developers often assume the state does not |
| change during a sendSync() call. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::waitForSyncReply): |
| * Platform/IPC/Connection.h: |
| (IPC::Connection::setShouldProcessIncomingMessagesWhileWaitingForSyncReply): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::testIncomingSyncIPCMessageWhileWaitingForSyncReply): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::NetworkProcessConnection): |
| * WebProcess/Storage/WebToStorageProcessConnection.cpp: |
| (WebKit::WebToStorageProcessConnection::WebToStorageProcessConnection): |
| * WebProcess/WebConnectionToUIProcess.cpp: |
| (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess): |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::testIncomingSyncIPCMessageWhileWaitingForSyncReply): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::undo): |
| (WebKit::WebEditorClient::redo): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::syncIPCMessageWhileWaitingForSyncReplyForTesting): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2018-01-19 Keith Miller <keith_miller@apple.com> |
| |
| HaveInternalSDK includes should be "#include?" |
| https://bugs.webkit.org/show_bug.cgi?id=179670 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2018-01-19 Daniel Bates <dabates@apple.com> |
| |
| Fix misspelling; substitute willDetachRenderer for willDetatchRenderer. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::willDetachRenderer): |
| (WebKit::PDFPlugin::willDetatchRenderer): Deleted. |
| * WebProcess/Plugins/Plugin.h: |
| (WebKit::Plugin::willDetachRenderer): |
| (WebKit::Plugin::willDetatchRenderer): Deleted. |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::willDetachRenderer): |
| (WebKit::PluginView::willDetatchRenderer): Deleted. |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2018-01-19 Zach Li <zacharyli323@gmail.com> |
| |
| Expose Safe Browsing SPI |
| https://bugs.webkit.org/show_bug.cgi?id=181804 |
| <rdar://problem/36626946> |
| |
| Reviewed by Alex Christensen. |
| |
| If client is using Apple internal SDK, then we can just import the header; if not, |
| then we declare necessary symbols that client will need. |
| |
| * Configurations/WebKit.xcconfig: |
| Only link against SafariSafeBrowsing framework on macOS High Sierra |
| and iOS 11 and above. Weak link against SafariSafeBrowsing framework |
| because it is not present on the Base system. |
| |
| * Platform/spi/Cocoa/SafeBrowsingSPI.h: Added. |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| Added SafeBrowsingSPI.h. |
| |
| * WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/11/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: |
| Added. |
| |
| 2018-01-18 Chris Dumez <cdumez@apple.com> |
| |
| We should be able to terminate service workers that are unresponsive |
| https://bugs.webkit.org/show_bug.cgi?id=181563 |
| <rdar://problem/35280031> |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: |
| (WebKit::WebSWContextManagerConnection::terminateWorker): |
| Use a 10 second timeout for forcefully exiting the service worker process when |
| the service worker in question fails to terminate. |
| |
| (WebKit::WebSWContextManagerConnection::syncTerminateWorker): |
| Use a 100ms timeout for forcefully exiting the service worker process when |
| the service worker in question fails to terminate. This method is only called |
| from the layout tests, which is why we use a very short timeout. |
| |
| 2018-01-18 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, suppress deprecation warnings to fix the build with a newer SDK. |
| |
| * UIProcess/ios/WKPDFPageNumberIndicator.mm: |
| (-[WKPDFPageNumberIndicator _makeRoundedCorners]): |
| |
| 2018-01-18 Youenn Fablet <youenn@apple.com> |
| |
| Do not go to the storage process when loading a main resource if there is no service worker registered |
| https://bugs.webkit.org/show_bug.cgi?id=181395 |
| |
| Reviewed by Chris Dumez. |
| |
| Add a new web process creation parameter to know whether there is any service worker registered at web process creation time. |
| If there is none, the web process will then start to load HTTP resources from the network. |
| The connection to the storage process is then executed when receiving the first bytes of the main resource. |
| This connection is needed as other web processes may create service workers at any given time. |
| If there is one registered service worker, the web process will wait for its connection to the storage process to be active. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode const): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/ServiceWorkerProcessProxy.cpp: |
| (WebKit::ServiceWorkerProcessProxy::hasRegisteredServiceWorkers): |
| * UIProcess/ServiceWorkerProcessProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::initializeNewWebProcess): |
| * WebProcess/Storage/WebServiceWorkerProvider.cpp: |
| (WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession): |
| * WebProcess/Storage/WebServiceWorkerProvider.h: |
| * WebProcess/Storage/WebToStorageProcessConnection.h: |
| (WebKit::WebToStorageProcessConnection::existingServiceWorkerConnectionForSession): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2018-01-18 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r223149): WebProcessProxy::didClose() no longer refs WebPageProxy objects |
| https://bugs.webkit.org/show_bug.cgi?id=181771 |
| <rdar://problem/36566237> |
| |
| Reviewed by Brady Eidson. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didClose): |
| Use copyToVectorOf<RefPtr<WebPageProxy>>() to maintain pre-r223149 behavior |
| and ref the pages. |
| |
| 2018-01-18 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions |
| https://bugs.webkit.org/show_bug.cgi?id=181803 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: Updated. |
| * Configurations/DebugRelease.xcconfig: Ditto. |
| * Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers. |
| * Configurations/Version.xcconfig: Updated. |
| * Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings |
| useful for defining settings that depend on the target macOS version. |
| |
| 2018-01-18 Chris Dumez <cdumez@apple.com> |
| |
| Service Workers restored from persistent storage have 'redundant' state |
| https://bugs.webkit.org/show_bug.cgi?id=181749 |
| <rdar://problem/36556486> |
| |
| Reviewed by Youenn Fablet. |
| |
| Allow service workers to intercept custom protocol loads as this is useful for |
| API testing. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::scheduleLoad): |
| (WebKit::WebLoaderStrategy::tryLoadingUsingURLSchemeHandler): |
| * WebProcess/Network/WebLoaderStrategy.h: |
| |
| 2018-01-18 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r225858): Sandbox violations due to blocked access to Spotlight search preferences |
| https://bugs.webkit.org/show_bug.cgi?id=181797 |
| <rdar://problem/36546412> |
| |
| Reviewed by Eric Carlson. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Add the read permission for |
| 'com.apple.lookup.shared' to support DataDetectors. |
| |
| 2018-01-17 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Block cookies for prevalent resources without user interaction |
| https://bugs.webkit.org/show_bug.cgi?id=177394 |
| <rdar://problem/34613960> |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: |
| Now has m_hasBeenSetToUseStatelessCookieStorage to handle |
| cookie blocking. |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTaskCocoa::statelessCookieStorage): |
| Returns singleton empty, deny-all cookie storage for cookie blocking. |
| The ugly pragma instructions for clang are because the NSString |
| parameter for _initWithIdentifier was not marked nullable pre-Sierra. |
| (WebKit::NetworkDataTaskCocoa::applyCookieBlockingPolicy): |
| Instead of just decision making, this now applies the policy. |
| (WebKit::NetworkDataTaskCocoa::applyCookiePartitioningPolicy): |
| New method. |
| (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): |
| Now blocks cookies for domains where cookies will be purged anyway. |
| (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection): |
| Now blocks cookies for domains where cookies will be purged anyway. |
| (WebKit::shouldChangePartition): Deleted. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| Now downgrades for blocked cookies instead of partitioned cookies. |
| (-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]): |
| Now downgrades for blocked cookies instead of partitioned cookies. |
| |
| |
| 2018-01-17 Stephan Szabo <stephan.szabo@sony.com> |
| |
| [Curl] Use ResourceRequest::encodeWithPlatformData() |
| https://bugs.webkit.org/show_bug.cgi?id=181768 |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/curl/WebCoreArgumentCodersCurl.cpp: |
| (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): |
| (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): |
| |
| 2018-01-17 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r227076. |
| |
| This breaks internal builds |
| |
| Reverted changeset: |
| |
| "Resource Load Statistics: Block cookies for prevalent |
| resources without user interaction" |
| https://bugs.webkit.org/show_bug.cgi?id=177394 |
| https://trac.webkit.org/changeset/227076 |
| |
| 2018-01-17 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| WEBKIT_FRAMEWORK should not modify file-global include directories |
| https://bugs.webkit.org/show_bug.cgi?id=181656 |
| |
| Reviewed by Konstantin Tokarev. |
| |
| * PlatformGTK.cmake: |
| * PlatformWPE.cmake: |
| |
| 2018-01-17 Youenn Fablet <youenn@apple.com> |
| |
| Put fetch request keepAlive behind a runtime flag |
| https://bugs.webkit.org/show_bug.cgi?id=181592 |
| |
| Reviewed by Chris Dumez. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetFetchAPIKeepAliveEnabled): |
| (WKPreferencesGetFetchAPIKeepAliveEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| |
| 2018-01-17 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Block cookies for prevalent resources without user interaction |
| https://bugs.webkit.org/show_bug.cgi?id=177394 |
| <rdar://problem/34613960> |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.h: |
| Now has m_hasBeenSetToUseStatelessCookieStorage to handle |
| cookie blocking. |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTaskCocoa::statelessCookieStorage): |
| Returns singleton empty, deny-all cookie storage for cookie blocking. |
| (WebKit::NetworkDataTaskCocoa::applyCookieBlockingPolicy): |
| Instead of just decision making, this now applies the policy. |
| (WebKit::NetworkDataTaskCocoa::applyCookiePartitioningPolicy): |
| New method. |
| (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): |
| Now blocks cookies for domains where cookies will be purged anyway. |
| (WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection): |
| Now blocks cookies for domains where cookies will be purged anyway. |
| (WebKit::shouldChangePartition): Deleted. |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| Now downgrades for blocked cookies instead of partitioned cookies. |
| (-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]): |
| Now downgrades for blocked cookies instead of partitioned cookies. |
| |
| 2018-01-17 Daniel Bates <dabates@apple.com> |
| |
| REGRESSION (r222795): Cardiogram never signs in |
| https://bugs.webkit.org/show_bug.cgi?id=181693 |
| <rdar://problem/36286293> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Exempt Cardiogram from the XHR header restrictions in r222795. |
| |
| Following r222795 only Dashboard widgets are allowed to set arbitrary XHR headers. |
| However Cardiogram also depends on such functionality. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (shouldAllowSettingAnyXHRHeaderFromFileURLs): |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/Cocoa/VersionChecks.h: |
| |
| 2018-01-17 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content |
| https://bugs.webkit.org/show_bug.cgi?id=181637 |
| <rdar://problem/36508471> |
| |
| Reviewed by Tim Horton. |
| |
| Add new injected bundle SPI, replacementURLForResource, which clients may use to provide a replacement URL to |
| represent an archive resource, given the resource's data and MIME type. |
| |
| * WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h: |
| (API::InjectedBundle::EditorClient::replacementURLForResource): |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: |
| |
| Add replacementURLForResource, and also bump the current injected bundle editor client version to 2. |
| |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]): |
| * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: |
| (WebKit::InjectedBundlePageEditorClient::replacementURLForResource): |
| * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::replacementURLForResource): |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| |
| 2018-01-17 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Cairo] Don't mirror global alpha and image interpolation quality state values in PlatformContextCairo |
| https://bugs.webkit.org/show_bug.cgi?id=181725 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::ShareableBitmap::paint): |
| Adjust the PlatformContextCairo::drawSurfaceToContext() invocation. |
| * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: |
| (WebKit::convertCairoSurfaceToShareableBitmap): Ditto. |
| |
| 2018-01-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.6 release. |
| |
| * gtk/NEWS: Add release notes for 2.19.6. |
| |
| 2018-01-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds |
| https://bugs.webkit.org/show_bug.cgi?id=179914 |
| |
| Reviewed by Žan Doberšek. |
| |
| Add symbols detected by check-for-global-bss-symbols-in-webkigtk-libs to the version script. |
| |
| * webkitglib-symbols.map: |
| |
| 2018-01-17 Youenn Fablet <youenn@apple.com> |
| |
| Clear Caches volatile storage as a memory optimization. |
| https://bugs.webkit.org/show_bug.cgi?id=181643 |
| |
| Reviewed by Chris Dumez. |
| |
| clearMemoryRepresentation clears m_caches which exposes data potentially stored in m_volatileStorage. |
| Clearing m_volatileStorage allows releasing some memory. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::clearMemoryRepresentation): |
| |
| 2018-01-17 Zan Dobersek <zdobersek@igalia.com> |
| |
| [Cairo] Use one-time ShadowBlur objects when performing shadowing |
| https://bugs.webkit.org/show_bug.cgi?id=181720 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::ShareableBitmap::paint): |
| Adjust the PlatformContextCairo::drawSurfaceToContext() invocation. |
| * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: |
| (WebKit::convertCairoSurfaceToShareableBitmap): Ditto. |
| |
| 2018-01-16 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [CMake] Remove WebCoreDerivedSources library target |
| https://bugs.webkit.org/show_bug.cgi?id=181664 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * CMakeLists.txt: Do not link WebCoreDerivedSources. |
| * PlatformGTK.cmake: Appended WebCore after WebCorePlatformGTK in WebKit_LIBRARIES. |
| * PlatformWin.cmake: Ditto. |
| |
| 2018-01-16 Alex Christensen <achristensen@webkit.org> |
| |
| Merge sync and async code paths for getting context menus |
| https://bugs.webkit.org/show_bug.cgi?id=181423 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| What a mess. We had a code path for asynchronous context menu generation and a different one for synchronous context menu generation. |
| This makes it so there is just one. At the API level we see if there is an asynchronous delegate to call, then synchronous. |
| There is a subtle theoretical change in behaviour because m_page.contextMenuClient().showContextMenu is now called for the asynchronous |
| case and it wasn't before, but the one C API client that uses this has nullptr as it's WKPageShowContextMenuCallback, so we won't break anything! |
| |
| * UIProcess/API/APIContextMenuClient.h: |
| (API::ContextMenuClient::getContextMenuFromProposedMenu): |
| (API::ContextMenuClient::getContextMenuFromProposedMenuAsync): Deleted. |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageContextMenuClient): |
| * UIProcess/API/glib/WebKitContextMenuClient.cpp: |
| * UIProcess/WebContextMenuProxy.h: |
| * UIProcess/gtk/WebContextMenuProxyGtk.cpp: |
| (WebKit::WebContextMenuProxyGtk::show): |
| (WebKit::WebContextMenuProxyGtk::showContextMenuWithItems): |
| * UIProcess/gtk/WebContextMenuProxyGtk.h: |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| * UIProcess/wpe/WebContextMenuProxyWPE.h: |
| |
| 2018-01-16 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Don't link WebKit target directly to JavaScriptCore |
| https://bugs.webkit.org/show_bug.cgi?id=181688 |
| |
| Reviewed by Alex Christensen. |
| |
| It's safer if we only link to the next lower-layered lib in the stack, so let's just link |
| directly to WebCore instead. |
| |
| And WPE doesn't need to specify it twice. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| * PlatformWPE.cmake: |
| |
| 2018-01-16 Eric Carlson <eric.carlson@apple.com> |
| |
| AVSampleBufferDisplayLayer should be flushed when application activates |
| https://bugs.webkit.org/show_bug.cgi?id=181623 |
| <rdar://problem/36487738> |
| |
| Reviewed by Darin Adler. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::applicationWillResignActive): Call page. |
| (WebKit::WebPage::applicationDidEnterBackground): Ditto, let it call libWebRTCProvider. |
| (WebKit::WebPage::applicationWillEnterForeground): Call page. |
| (WebKit::WebPage::applicationDidBecomeActive): Ditto, let it call libWebRTCProvider. |
| |
| 2018-01-16 Zach Li <zachli@apple.com> |
| |
| Add pop-up policy support in website policies. |
| https://bugs.webkit.org/show_bug.cgi?id=181544. |
| rdar://problem/30521400. |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/WebsitePoliciesData.cpp: Encode and decode |
| pop-up policy. |
| (WebKit::WebsitePoliciesData::encode const): |
| (WebKit::WebsitePoliciesData::decode): |
| (WebKit::WebsitePoliciesData::applyToDocumentLoader): |
| Apply the pop-up policy from website policies to the |
| document loader. |
| |
| * Shared/WebsitePoliciesData.h: |
| |
| * Shared/WebsitePopUpPolicy.h: |
| Added for declaring enum WebsitePopUpPolicy. |
| |
| * UIProcess/API/APIWforebsitePolicies.cpp: |
| Include pop-up policy in website policies. |
| (API::WebsitePolicies::WebsitePolicies): |
| (API::WebsitePolicies::data): |
| * UIProcess/API/APIWebsitePolicies.h: |
| |
| * UIProcess/API/C/WKWebsitePolicies.cpp: |
| Added C API to get and set pop-up policy on |
| website policies. |
| (WKWebsitePoliciesGetPopUpPolicy): |
| (WKWebsitePoliciesSetPopUpPolicy): |
| * UIProcess/API/C/WKWebsitePolicies.h: |
| |
| * UIProcess/API/Cocoa/_WKWebsitePolicies.h: |
| Added Obj-C API to get and set pop-up policy |
| on website policies. |
| * UIProcess/API/Cocoa/_WKWebsitePolicies.mm: |
| (-[_WKWebsitePolicies setPopUpPolicy:]): |
| (-[_WKWebsitePolicies popUpPolicy]): |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| Added WebsitePopUpPolicy.h. |
| |
| 2018-01-16 Fujii Hironori <Hironori.Fujii@sony.com> |
| |
| [CMake][Mac] Fix the build errors |
| https://bugs.webkit.org/show_bug.cgi?id=181665 |
| |
| Reviewed by Alex Christensen. |
| |
| * CMakeLists.txt: Added TouchBarMenuData.cpp and TouchBarMenuItemData.cpp to compile. |
| * PlatformMac.cmake: Added _WKApplicationManifest.mm, WKInspectorWKWebView.mm and WKInspectorWindow.mm to compile. |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _webPageContentProcessCount]): Call WebProcessPool::serviceWorkerProxy() only if ENABLE(SERVICE_WORKER). |
| |
| 2018-01-16 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Attachment Support] Provide the `src` of an attachment to the UI delegate when an attachment is inserted |
| https://bugs.webkit.org/show_bug.cgi?id=181638 |
| <rdar://problem/36508702> |
| |
| Reviewed by Dan Bernstein. |
| |
| Add a `source` parameter to the `didInsertAttachment` codepath for notifying WebKit2 clients when attachment |
| elements are inserted into the document. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didInsertAttachment:withSource:]): |
| (-[WKWebView _didInsertAttachment:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/Cocoa/PageClientImplCocoa.h: |
| * UIProcess/Cocoa/PageClientImplCocoa.mm: |
| (WebKit::PageClientImplCocoa::didInsertAttachment): |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::didInsertAttachment): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didInsertAttachment): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::didInsertAttachment): |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| |
| 2018-01-15 Youenn Fablet <youenn@apple.com> |
| |
| ASSERTION FAILED: m_ptr under WebKit::CacheStorage::Caches::writeRecord |
| https://bugs.webkit.org/show_bug.cgi?id=181401 |
| <rdar://problem/36379022> |
| |
| Reviewed by Darin Adler. |
| |
| m_isInitialized is true but m_storage is set to nullptr when calling writeRecord. |
| The only case seems to be if: |
| - We are doing persistent storage |
| - We are traversing the storage to do the initialization. At that point m_storage is set to a correct value. |
| - clearMemoryRepresentation is called, thus setting m_storage to nullptr and m_isInitialized to false. |
| We fix this by making clearMemoryRepresentation a no-op if we are initializing the caches. |
| clearMemoryRepresentation is about cleaning the in-memory information of the caches and the memory representation is empty at init time. |
| Nullifying m_storage is a memory consumption optimization. |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::clearMemoryRepresentation): |
| |
| 2018-01-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Unreviewed, speculative build fix after r226899. |
| |
| Add an empty implementation for PageClient::startDrag. |
| |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::startDrag): |
| |
| 2018-01-12 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS] Remove unneeded accessibility-related sandbox rules |
| https://bugs.webkit.org/show_bug.cgi?id=181619 |
| <rdar://problem/36485356> |
| |
| Reviewed by Eric Carlson. |
| |
| Remove a number of sandbox exceptions that were in place for accessibility support. These are |
| not needed in the WebContent process, since Safari (not WebKit) handles the accessibility |
| interactions. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2018-01-12 Keith Rollin <krollin@apple.com> |
| |
| Logged JSON should escape "'s and \'s in strings. |
| https://bugs.webkit.org/show_bug.cgi?id=181608 |
| |
| Reviewed by Brent Fulgham. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::logCookieInformation const): |
| |
| 2018-01-12 Megan Gardner <megan_gardner@apple.com> |
| |
| Unreviewed, fixing error in UIKitSPI.h. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2018-01-12 Megan Gardner <megan_gardner@apple.com> |
| |
| Implement MultiDocument protocol for restoring focus to a WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=181510 |
| |
| Reviewed by Dan Bernstein. |
| |
| Support the UIKit protocol for restoring focus to a what previously had focus. |
| WebKit already knows what node was previously being focused by the DOM, we merely |
| need to be asked to turn the focus on again. |
| Resubmitting https://trac.webkit.org/changeset/226826 as it broke internal builds |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _restoreFocusWithToken:]): |
| (-[WKContentView _preserveFocusWithToken:destructively:]): |
| |
| 2018-01-12 Youenn Fablet <youenn@apple.com> |
| |
| WebProcess should pass the registration identifier and not the worker identifier for fetch events |
| https://bugs.webkit.org/show_bug.cgi?id=181591 |
| |
| Reviewed by Chris Dumez. |
| |
| Use service worker registration identifier to compute the active service worker identifier responsible to handle the fetch event. |
| |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::startFetch): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * StorageProcess/ServiceWorker/WebSWServerConnection.messages.in: |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::start): |
| * WebProcess/Storage/WebSWClientConnection.cpp: |
| (WebKit::WebSWClientConnection::startFetch): |
| * WebProcess/Storage/WebSWClientConnection.h: |
| * WebProcess/Storage/WebServiceWorkerProvider.cpp: |
| (WebKit::shouldHandleFetch): |
| |
| 2018-01-12 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r226826. |
| |
| Breaks internal builds. |
| |
| Reverted changeset: |
| |
| "Implement MultiDocument protocol for restoring focus to a |
| WKWebView" |
| https://bugs.webkit.org/show_bug.cgi?id=181510 |
| https://trac.webkit.org/changeset/226826 |
| |
| 2018-01-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Unify macOS and iOS codepaths in the UI process when starting a drag |
| https://bugs.webkit.org/show_bug.cgi?id=181574 |
| |
| Reviewed by Tim Horton. |
| |
| Rearrange some macOS drag start logic in the UI process so that it uses the same codepaths in WebPageProxy as |
| iOS. Namely, startDrag should just forward the DragItem and drag image handle along to the appropriate views on |
| each platform (WKContentView and WebViewImpl). |
| |
| There should be no change in behavior. |
| |
| * UIProcess/Cocoa/WebPageProxyCocoa.mm: |
| |
| Both macOS and iOS now funnel through this method. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::startDrag): |
| (WebKit::WebViewImpl::dragImageForView): Deleted. |
| |
| Rename dragImageForView to startDrag. Move the call to didStartDrag() here, and call dragCancelled() in the |
| case where we bailed from starting the drag (due to failing to create a drag image). |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::setDragImage): Deleted. |
| |
| Rename setDragImage to startDrag. |
| |
| * UIProcess/mac/PageClientImplMac.h: |
| * UIProcess/mac/PageClientImplMac.mm: |
| (WebKit::PageClientImpl::startDrag): |
| (WebKit::PageClientImpl::setDragImage): Deleted. |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::startDrag): Deleted. |
| |
| 2018-01-12 Antoine Quint <graouts@apple.com> |
| |
| Add support for the frames() timing function |
| https://bugs.webkit.org/show_bug.cgi?id=181585 |
| <rdar://problem/36463317> |
| |
| Reviewed by Dean. |
| |
| Add the ability to endode and decode the frames() timing function. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<FramesTimingFunction>::encode): |
| (IPC::ArgumentCoder<FramesTimingFunction>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| * WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: |
| (WebKit::PlatformCAAnimationRemote::Properties::encode const): |
| (WebKit::PlatformCAAnimationRemote::Properties::decode): |
| |
| 2018-01-11 Keith Miller <keith_miller@apple.com> |
| |
| Rename ENABLE_ASYNC_ITERATION to ENABLE_JS_ASYNC_ITERATION |
| https://bugs.webkit.org/show_bug.cgi?id=181573 |
| |
| Reviewed by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2018-01-11 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r219530): ResourceLoadStatisticsPersistentStorage should be read-only in ephemeral sessions |
| https://bugs.webkit.org/show_bug.cgi?id=181136 |
| <rdar://problem/36116604> |
| |
| Reviewed by Chris Dumez. |
| |
| Some uses of WebKit involve running a UIProcess as an ephemeral session for the life of the process. In this |
| case, we do not initialize the data path for the set of load statistics triggering an assertion. |
| |
| We actually intended ephemeral sessions to consume the existing resource load data (presumably captured during |
| non-ephemeral browsing). This would be a read-only mode, where it would not add new entries to the load |
| statistics, but would take advantage of existing observations. Currently that does not happen (for this type |
| of WebKit embed), which forces each run as an ephemeral session to build up in-memory browsing data until it has |
| enough observations to begin modifying loads. |
| |
| We need to set the ResourceLoadStatisticsPersistentStorage object to a "read only" mode in this case, so |
| that it read (but does not write) from this database. |
| |
| Tested by ephemeral website data TestWebKitAPI tests. |
| |
| * UIProcess/ResourceLoadStatisticsPersistentStorage.cpp: |
| (WebKit::ResourceLoadStatisticsPersistentStorage::create): Added to allow creation of the right style of |
| Persistent Storage. |
| (WebKit::ResourceLoadStatisticsPersistentStorage::ResourceLoadStatisticsPersistentStorage): Initialize the |
| new data member. |
| (WebKit::ResourceLoadStatisticsPersistentStorage::asyncWriteTimerFired): RELEASE_ASSERT that we never run |
| this method when in "read only" mode. |
| (WebKit::ResourceLoadStatisticsPersistentStorage::writeMemoryStoreToDisk): Ditto. |
| (WebKit::ResourceLoadStatisticsPersistentStorage::scheduleOrWriteMemoryStore): Return early if asked to |
| schedule a write operation for a "read only" persistent store. |
| (WebKit::ResourceLoadStatisticsPersistentStorage::finishAllPendingWorkSynchronously): RELEASE_ASSERT if we |
| ever shut down in "read only" mode with an active write timer. |
| * UIProcess/ResourceLoadStatisticsPersistentStorage.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): Pass a flag indicating whether the |
| storage session is ephemeral or not. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| |
| 2018-01-11 Keith Rollin <krollin@apple.com> |
| |
| Add optional logging of ITP-related user interaction information |
| https://bugs.webkit.org/show_bug.cgi?id=181556 |
| |
| Reviewed by Brent Fulgham. |
| |
| In order to support the tracking of the efficacy of Intelligent |
| Tracking Protection, add some logging indicating when the user |
| interacts with a page in a way that affects cookie partitioning. This |
| logging is off by default, and is enabled with `defaults write -g |
| WebKitLogCookieInformation -bool true`. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode const): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2018-01-11 Megan Gardner <megan_gardner@apple.com> |
| |
| Implement MultiDocument protocol for restoring focus to a WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=181510 |
| |
| Reviewed by Dan Bernstein. |
| |
| Support the UIKit protocol for restoring focus to a what previously had focus. |
| WebKit already has a method to silently remove and replace focus, without telling the |
| web process about the unfocus and refocusing, so we're just using that. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _restoreFocusWithToken:]): |
| (-[WKContentView _preserveFocusWithToken:destructively:]): |
| |
| |
| 2018-01-11 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Don't load inline data when requesting info for an attachment element backed by a file path |
| https://bugs.webkit.org/show_bug.cgi?id=181550 |
| |
| Reviewed by Tim Horton |
| |
| See WebCore/ChangeLog for more information. |
| |
| * UIProcess/API/Cocoa/_WKAttachment.mm: |
| (-[_WKAttachmentInfo initWithInfo:]): |
| (-[_WKAttachmentInfo fileLoadingError]): |
| (-[_WKAttachment requestInfo:]): |
| |
| 2018-01-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r226789 and r226794. |
| https://bugs.webkit.org/show_bug.cgi?id=181564 |
| |
| broke API tests (Requested by alexchristensen on #webkit). |
| |
| Reverted changesets: |
| |
| "Merge sync and async code paths for getting context menus" |
| https://bugs.webkit.org/show_bug.cgi?id=181423 |
| https://trac.webkit.org/changeset/226789 |
| |
| "Revert changes accidentally committed with r226789." |
| https://bugs.webkit.org/show_bug.cgi?id=181423 |
| https://trac.webkit.org/changeset/226794 |
| |
| 2018-01-11 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Send PromisedBlobInfo to the client through DragItem instead of DragClient::prepareToDragPromisedBlob |
| https://bugs.webkit.org/show_bug.cgi?id=181497 |
| |
| Reviewed by Tim Horton. |
| |
| Refactor drag and drop support for promised blob data, so that blob info is shipped across to the client layer |
| via DragItem in the DragClient::startDrag codepath, rather than via a separate prepareToDragPromisedBlob client |
| codepath that stages promised blob info. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::prepareToDragPromisedBlob): Deleted. |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::prepareToDragPromisedBlob): Deleted. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::prepareToDragPromisedBlob): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::prepareToDragPromisedBlob): Deleted. |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _startDrag:item:]): |
| * UIProcess/mac/PageClientImplMac.h: |
| * UIProcess/mac/PageClientImplMac.mm: |
| (WebKit::PageClientImpl::prepareToDragPromisedBlob): Deleted. |
| * WebProcess/WebCoreSupport/WebDragClient.cpp: |
| (WebKit::WebDragClient::prepareToDragPromisedBlob): Deleted. |
| * WebProcess/WebCoreSupport/WebDragClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::prepareToDragPromisedBlob): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2018-01-09 Per Arne Vollan <pvollan@apple.com> |
| |
| VoiceOver does not work when the WebContent process is using NSRunLoop. |
| https://bugs.webkit.org/show_bug.cgi?id=181331 |
| <rdar://problem/36408004> |
| |
| Reviewed by Brent Fulgham. |
| |
| When the WebContent process is using NSRunLoop instead of the NSApplication run loop, |
| accessibility must be initialized for VoiceOver to work. This patch also switches to |
| using NSRunLoop in the WebContent process. |
| |
| * Configurations/WebContentService.xcconfig: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::AccessibilityProcessSuspendedNotification): Remove unneccessary workaround. |
| * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Switch to NSRunLoop. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeProcess): Initialize accessibility. |
| |
| 2018-01-11 Don Olmstead <don.olmstead@sony.com> |
| |
| WebContextMenuListenerProxy.cpp not including config on first line |
| https://bugs.webkit.org/show_bug.cgi?id=181552 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/WebContextMenuListenerProxy.cpp: |
| |
| 2018-01-11 Youenn Fablet <youenn@apple.com> |
| |
| Redirected iframe loading with Request.redirect=follow should fail |
| https://bugs.webkit.org/show_bug.cgi?id=181491 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::validateResponse): |
| |
| 2018-01-11 Youenn Fablet <youenn@apple.com> |
| |
| Replace WebRTCLegacyAPIDisabled by WebRTCLegacyAPIEnabled and switch off WebRTC legacy flag by default |
| https://bugs.webkit.org/show_bug.cgi?id=181480 |
| |
| Reviewed by Eric Carlson. |
| |
| Renaming preference to WebRTCLegacyAPIEnabled for simplification and removing it from experimental feature. |
| Set it to off by default. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetWebRTCLegacyAPIEnabled): |
| (WKPreferencesGetWebRTCLegacyAPIEnabled): |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _webRTCLegacyAPIEnabled]): |
| (-[WKPreferences _setWebRTCLegacyAPIEnabled:]): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureNetworkProcess): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2018-01-11 Alex Christensen <achristensen@webkit.org> |
| |
| Merge sync and async code paths for getting context menus |
| https://bugs.webkit.org/show_bug.cgi?id=181423 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| What a mess. We had a code path for asynchronous context menu generation and a different one for synchronous context menu generation. |
| This makes it so there is just one. At the API level we see if there is an asynchronous delegate to call, then synchronous. |
| There is a subtle theoretical change in behaviour because m_page.contextMenuClient().showContextMenu is now called for the asynchronous |
| case and it wasn't before, but the one C API client that uses this has nullptr as it's WKPageShowContextMenuCallback, so we won't break anything! |
| |
| * UIProcess/API/APIContextMenuClient.h: |
| (API::ContextMenuClient::getContextMenuFromProposedMenu): |
| (API::ContextMenuClient::getContextMenuFromProposedMenuAsync): Deleted. |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageContextMenuClient): |
| * UIProcess/API/glib/WebKitContextMenuClient.cpp: |
| * UIProcess/WebContextMenuProxy.h: |
| * UIProcess/gtk/WebContextMenuProxyGtk.cpp: |
| (WebKit::WebContextMenuProxyGtk::show): |
| (WebKit::WebContextMenuProxyGtk::showContextMenuWithItems): |
| * UIProcess/gtk/WebContextMenuProxyGtk.h: |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| * UIProcess/wpe/WebContextMenuProxyWPE.h: |
| |
| 2018-01-11 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Attachment Support] Support dragging attachment elements out as files on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=181199 |
| <rdar://problem/36299316> |
| |
| Reviewed by Tim Horton, Andy Estes and Joseph Pecoraro. |
| |
| Implement support for registering and beginning a drag with promised blob info. See below for more detail. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKDragSessionContext addTemporaryDirectory:]): |
| (-[WKDragSessionContext cleanUpTemporaryDirectories]): |
| |
| Introduce WKDragSessionContext, which represents the localContext of a UIDragSession initiated in WebKit. The |
| blob promise dragging codepath uses this to register temporary directories when saving blob data to a location |
| on disk; when all data transfers are finished, or if the drag interaction is being reset, we then use |
| -cleanUpTemporaryDirectories to remove each temporary directory. |
| |
| (existingLocalDragSessionContext): |
| (ensureLocalDragSessionContext): |
| |
| Helper methods to set the UIDragSession's localContext to a WKDragSessionContext and query for any existing |
| context. |
| |
| (-[WKContentView cleanupInteraction]): |
| |
| Before the content view's UIDragInteraction goes away, clean up any temporary directories added to the |
| UIDragSession. |
| |
| (-[WKContentView _prepareToDragPromisedBlob:]): |
| |
| When dragging with a promised blob, register a new item provider on the pasteboard representing the blob data, |
| along with any additional metadata associated with the blob. For the promise callback, call out to the network |
| process to write the blob data to a temporary path; when done, call the NSItemProvider's completion handler with |
| the temporary blob data location. |
| |
| (-[WKContentView _itemsForBeginningOrAddingToSessionWithRegistrationList:stagedDragSource:]): |
| (-[WKContentView dragInteraction:sessionDidTransferItems:]): |
| |
| Use this delegate hook as an opportunity to remove any temporary directories created when promised blob data is |
| requested upon drop. Since we know the drag session that has finished transferring data, we simply ask its local |
| context (a WKDragSessionContext) to remove any temporary filepaths it has created. |
| |
| 2018-01-10 Jeff Miller <jeffm@apple.com> |
| |
| -[WKWebView _web_gestureEventWasNotHandledByWebCore:] should call -_gestureEventWasNotHandledByWebCore: |
| https://bugs.webkit.org/show_bug.cgi?id=181498 |
| |
| Reviewed by Alex Christensen. |
| |
| WKView's API contract allows clients to override -_gestureEventWasNotHandledByWebCore:, and -[WKView |
| _web_gestureEventWasNotHandledByWebCore:] calls -_gestureEventWasNotHandledByWebCore: instead of |
| invoking WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly() directly. WKWebView should do |
| the same thing. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _web_gestureEventWasNotHandledByWebCore:]): |
| Call -_gestureEventWasNotHandledByWebCore:, which will call gestureEventWasNotHandledByWebCoreFromViewOnly(). |
| |
| 2018-01-10 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| REGRESSION(r222507): Composition highlight doesn't render when using IME |
| https://bugs.webkit.org/show_bug.cgi?id=181485 |
| <rdar://problem/35896516> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add plumbing for a `suppressUnderline` argument when setting marked text. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageSetComposition): |
| * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setCompositionForTesting): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2018-01-10 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r213590): Swipe from edge to go to previous page is significantly slower than tapping back button on Twitter |
| https://bugs.webkit.org/show_bug.cgi?id=181269 |
| <rdar://problem/35110344> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _processDidExit]): |
| (-[WKWebView _didCommitLayerTree:]): |
| When swiping to a page that set history.scrollRestoration = "manual", |
| we will never restore the scroll position. We will still restore |
| "state", but won't have a location. Currently, the code assumes that |
| it should wait to remove the swipe snapshot until the scroll position |
| is restored. Instead, wait until the "state" is restored, whether |
| or not that includes a scroll position/center point restoration. |
| |
| Do this by making _firstTransactionIDAfterPageRestore an optional, |
| and reset it after it fires, so that we only run the restoration code |
| in _didCommitLayerTree for the first commit after state restoration, |
| not all subsequent commits. Then, tell ViewGestureController that |
| the scroll position has been restored even if the page opted out. |
| |
| The reason that this is specific to pushState is that normal, |
| non-same-document loads bail from waiting for the scroll position |
| restoration in VGC::didReachMainFrameLoadTerminalState() (see the long |
| comment there for an explanation). |
| |
| (-[WKWebView _beginBackSwipeForTesting]): |
| (-[WKWebView _completeBackSwipeForTesting]): |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/Cocoa/ViewGestureController.h: |
| * UIProcess/ios/ViewGestureControllerIOS.mm: |
| (-[WKSwipeTransitionController transitionForDirection:]): |
| (WebKit::ViewGestureController::beginSimulatedSwipeInDirectionForTesting): |
| (WebKit::ViewGestureController::completeSimulatedSwipeInDirectionForTesting): |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::beginSimulatedSwipeInDirectionForTesting): |
| (WebKit::ViewGestureController::completeSimulatedSwipeInDirectionForTesting): |
| Add a mechanism to forcefully test swipe back. Instead of simulating |
| events like on Mac, we just talk to the UIKit internals and force |
| the interaction to start, pause, and then complete when we want. |
| |
| 2018-01-10 Brent Fulgham <bfulgham@apple.com> |
| |
| Use protectedThis for the 'updatePrevalentDomainsToPartitionOrBlockCookies' lambda |
| https://bugs.webkit.org/show_bug.cgi?id=181452 |
| <rdar://problem/36416912> |
| |
| Reviewed by Chris Dumez. |
| |
| We forgot to use a 'protectedThis' back in r225006 for one of the lambdas used by |
| the WebsiteDataStore for processing. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback): |
| |
| 2018-01-09 John Wilander <wilander@apple.com> |
| |
| Storage Access API: Turn feature on by default in WebPreferences.yaml |
| https://bugs.webkit.org/show_bug.cgi?id=181458 |
| |
| Reviewed by Brent Fulgham. |
| |
| * Shared/WebPreferences.yaml: |
| |
| 2018-01-09 Alex Christensen <achristensen@webkit.org> |
| |
| WKOpenPanelParameters SPI should return autoreleased objects |
| https://bugs.webkit.org/show_bug.cgi?id=181457 |
| <rdar://problem/35884960> |
| |
| Reviewed by Tim Horton. |
| |
| In r226607 I made a mistake by returning an object that has been released. |
| I instead follow a pattern of leaking and autoreleasing that we use elsewhere in the ObjC API. |
| |
| * UIProcess/API/Cocoa/WKOpenPanelParameters.mm: |
| (-[WKOpenPanelParameters _acceptedMIMETypes]): |
| (-[WKOpenPanelParameters _acceptedFileExtensions]): |
| |
| 2018-01-09 Dan Bernstein <mitz@apple.com> |
| |
| Removed some empty directories that were left behind |
| |
| * WebProcess/Cookies/cf: Removed. |
| * WebProcess/ios: Removed. |
| |
| 2018-01-09 Paul Knight <pknight@apple.com> |
| |
| Don't record dynamic spelling corrections while in an ephemeral browsing session |
| https://bugs.webkit.org/show_bug.cgi?id=181417 |
| <rdar://problem/33309104> |
| |
| Dynamic spelling correction responses are kept on disk. Avoid recording |
| these responses when in an ephemeral session. |
| |
| Reviewed by Tim Horton and Wenson Hsieh. |
| |
| * UIProcess/mac/CorrectionPanel.h: |
| * UIProcess/mac/CorrectionPanel.mm: |
| (WebKit::CorrectionPanel::recordAutocorrectionResponse): |
| Add a WebViewImpl parameter so we can query the current session. |
| Return early before recording the response if the session is |
| ephemeral. |
| (WebKit::CorrectionPanel::handleAcceptedReplacement): |
| Update a caller to include the new parameter. |
| * UIProcess/mac/PageClientImplMac.mm: |
| (WebKit::PageClientImpl::recordAutocorrectionResponse): |
| Ditto. |
| |
| 2018-01-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.5 release. |
| |
| * gtk/NEWS: Add release notes for 2.19.5. |
| |
| 2018-01-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Missing symbols exported in 2.19.4 |
| https://bugs.webkit.org/show_bug.cgi?id=181433 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add missing WEBKIT_API to webkit_dom_dom_window_webkit_message_handlers_post_message(). |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h: |
| * webkitglib-symbols.map: Remove webkit_media_player_debug from local. |
| |
| 2018-01-09 Youenn Fablet <youenn@apple.com> |
| |
| SWClientConnection should not keep references to service worker jobs |
| https://bugs.webkit.org/show_bug.cgi?id=181381 |
| |
| Reviewed by Chris Dumez. |
| |
| Updated IPC handling based on WebCore refactoring. |
| |
| * Scripts/webkit/messages.py: |
| (forward_declarations_and_headers): |
| (headers_for_type): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::rejectJobInClient): |
| (WebKit::WebSWServerConnection::resolveRegistrationJobInClient): |
| (WebKit::WebSWServerConnection::resolveUnregistrationJobInClient): |
| (WebKit::WebSWServerConnection::startScriptFetchInClient): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * WebProcess/Storage/WebSWClientConnection.messages.in: |
| |
| 2018-01-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.4 release. |
| |
| * gtk/NEWS: Add release notes for 2.19.4. |
| |
| 2018-01-09 Ali Juma <ajuma@chromium.org> |
| |
| Implement VisualViewport API events |
| https://bugs.webkit.org/show_bug.cgi?id=179386 |
| |
| Reviewed by Frédéric Wang. |
| |
| Change the default value of the VisualViewportAPI experimental feature flag to |
| DEFAULT_EXPERIMENTAL_FEATURES_ENABLED. This patch completes the implementation |
| of this feature as specified by https://wicg.github.io/visual-viewport/, so this |
| feature is now ready for wider testing. |
| |
| * Shared/WebPreferences.yaml: |
| |
| 2018-01-08 Alex Christensen <achristensen@webkit.org> |
| |
| Add WKNavigationDelegate SPI exposing WebProcess crash reason |
| https://bugs.webkit.org/show_bug.cgi?id=181410 |
| <rdar://problem/36167199> |
| |
| Reviewed by Wenson Hsieh. |
| |
| We exposed it in the C SPI. |
| |
| * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::setNavigationDelegate): |
| (WebKit::toWKProcessTerminationReason): |
| (WebKit::NavigationState::NavigationClient::processDidTerminate): |
| |
| 2018-01-08 Alex Christensen <achristensen@webkit.org> |
| |
| Make ObjC SPI equivalent to WKPageNavigationClient.decidePolicyForPluginLoad |
| https://bugs.webkit.org/show_bug.cgi?id=181413 |
| <rdar://problem/36169005> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * UIProcess/API/APINavigationClient.h: |
| (API::NavigationClient::decidePolicyForPluginLoad): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageNavigationClient): |
| * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::setNavigationDelegate): |
| (WebKit::toPluginModuleLoadPolicy): |
| (WebKit::toWKPluginModuleLoadPolicy): |
| (WebKit::NavigationState::NavigationClient::decidePolicyForPluginLoad): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::findPlugin): |
| |
| 2018-01-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| iOS build fix attempt after r226602. |
| |
| * UIProcess/API/C/WKContextMenuListener.cpp: |
| (WKContextMenuListenerUseContextMenuItems): |
| |
| 2018-01-08 Alex Christensen <achristensen@webkit.org> |
| |
| Add SPI for WKOpenPanelParameters._acceptedMIMETypes and _acceptedFileExtensions |
| https://bugs.webkit.org/show_bug.cgi?id=181408 |
| <rdar://problem/35884960> |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKOpenPanelParameters.mm: |
| (-[WKOpenPanelParameters _acceptedMIMETypes]): |
| (-[WKOpenPanelParameters _acceptedFileExtensions]): |
| * UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h: |
| * UIProcess/API/Cocoa/WKOpenPanelParametersPrivate.h: Added. |
| * WebKit.xcodeproj/project.pbxproj: |
| |
| 2018-01-08 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r226532 and r226540. |
| https://bugs.webkit.org/show_bug.cgi?id=181422 |
| |
| jessie says basic browsing does not seem to work (Requested by |
| alexchristensen on #webkit). |
| |
| Reverted changesets: |
| |
| "Add CSP support to service workers" |
| https://bugs.webkit.org/show_bug.cgi?id=181385 |
| https://trac.webkit.org/changeset/226532 |
| |
| "SWClientConnection should not keep references to service |
| worker jobs" |
| https://bugs.webkit.org/show_bug.cgi?id=181381 |
| https://trac.webkit.org/changeset/226540 |
| |
| 2018-01-08 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Attachment Support] Expose file name and content type of WKAttachment |
| https://bugs.webkit.org/show_bug.cgi?id=181390 |
| <rdar://problem/36336837> |
| |
| Reviewed by Tim Horton. |
| |
| Add support for -[_WKAttachment requestInfo:], which fetches a snapshot of the attachment's state. This API is |
| meant to be a replacement for -requestData: that provides additional metadata about the attachment. |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<AttachmentInfo>::encode): |
| (IPC::ArgumentCoder<AttachmentInfo>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| |
| Add IPC support for AttachmentInfo. Note that instead of using (encode|decode)SharedBuffer, we send and receive |
| data references to the shared buffer. |
| |
| * UIProcess/API/APIAttachment.cpp: |
| (API::Attachment::requestInfo): |
| (API::Attachment::requestData): Deleted. |
| * UIProcess/API/APIAttachment.h: |
| |
| Change requestData to requestInfo. |
| |
| * UIProcess/API/Cocoa/_WKAttachment.h: |
| * UIProcess/API/Cocoa/_WKAttachment.mm: |
| (-[_WKAttachmentInfo initWithInfo:]): |
| (-[_WKAttachmentInfo data]): |
| (-[_WKAttachmentInfo name]): |
| (-[_WKAttachmentInfo filePath]): |
| (-[_WKAttachmentInfo contentType]): |
| (-[_WKAttachment requestInfo:]): |
| (-[_WKAttachment requestData:]): |
| |
| Implement -requestInfo: by calling into APIAttachment, and reimplement -requestData: in terms of -requestInfo:. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::attachmentInfoCallback): |
| (WebKit::WebPageProxy::requestAttachmentInfo): |
| (WebKit::WebPageProxy::sharedBufferCallback): Deleted. |
| (WebKit::WebPageProxy::requestAttachmentData): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| |
| Rename the SharedBufferCallback IPC message to AttachmentInfoCallback, and make it conditional on |
| ATTACHMENT_ELEMENT. Rename requestAttachmentData to requestAttachmentInfo. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::requestAttachmentInfo): |
| (WebKit::WebPage::invokeSharedBufferCallback): Deleted. |
| (WebKit::WebPage::requestAttachmentData): Deleted. |
| |
| Rename requestAttachmentData to requestAttachmentInfo and adopt HTMLAttachmentElement::requestInfo. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2018-01-08 Alex Christensen <achristensen@webkit.org> |
| |
| Pass around Vector<Ref<WebContextMenuItem>> instead of WKArrayRef or Vector<WebContextMenuItemData> |
| https://bugs.webkit.org/show_bug.cgi?id=181419 |
| |
| Reviewed by Tim Horton. |
| |
| Passing a WKArrayRef to an API object is messy and was preventing me from moving things around and making ObjC SPI. |
| No change in behavior. Just using different layering abstractions for the same data. |
| |
| * UIProcess/API/C/WKContextMenuListener.cpp: |
| (WKContextMenuListenerUseContextMenuItems): |
| * UIProcess/WebContextMenuListenerProxy.cpp: |
| (WebKit::WebContextMenuListenerProxy::useContextMenuItems): |
| * UIProcess/WebContextMenuListenerProxy.h: |
| * UIProcess/WebContextMenuProxy.h: |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| |
| 2018-01-08 John Wilander <wilander@apple.com> |
| |
| Storage Access API: Remove access for all frames under a page when the page is closed |
| https://bugs.webkit.org/show_bug.cgi?id=181398 |
| <rdar://problem/36357879> |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::removeStorageAccessForAllFramesOnPage): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::close): |
| |
| 2018-01-08 Youenn Fablet <youenn@apple.com> |
| |
| SWClientConnection should not keep references to service worker jobs |
| https://bugs.webkit.org/show_bug.cgi?id=181381 |
| |
| Reviewed by Chris Dumez. |
| |
| Updated IPC handling based on WebCore refactoring. |
| |
| * Scripts/webkit/messages.py: |
| (forward_declarations_and_headers): |
| (headers_for_type): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: |
| (WebKit::WebSWServerConnection::rejectJobInClient): |
| (WebKit::WebSWServerConnection::resolveRegistrationJobInClient): |
| (WebKit::WebSWServerConnection::resolveUnregistrationJobInClient): |
| (WebKit::WebSWServerConnection::startScriptFetchInClient): |
| * StorageProcess/ServiceWorker/WebSWServerConnection.h: |
| * WebProcess/Storage/WebSWClientConnection.messages.in: |
| |
| 2018-01-08 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [Cocoa] Web Inspector: Provide a way for clients to check if an NSWindow is a Web Inspector window |
| https://bugs.webkit.org/show_bug.cgi?id=181361 |
| <rdar://problem/36332865> |
| |
| Reviewed by Darin Adler. |
| |
| * WebKit.xcodeproj/project.pbxproj: |
| New files. |
| |
| * Shared/API/Cocoa/_WKNSWindowExtras.h: Added. |
| * Shared/API/Cocoa/_WKNSWindowExtras.mm: Added. |
| (-[NSWindow _web_isWebInspectorWindow]): |
| Method to determing if a window is being used for Web Inspector content. |
| |
| * UIProcess/mac/WKInspectorWindow.h: Added. |
| * UIProcess/mac/WKInspectorWindow.mm: Added. |
| Named subclass so we can use isKindOfClass. |
| |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::createFrontendWindow): |
| Use the named subclass. |
| |
| 2018-01-08 Tim Horton <timothy_horton@apple.com> |
| |
| Build fix for WKPDFView |
| https://bugs.webkit.org/show_bug.cgi?id=181399 |
| <rdar://problem/36311915> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/ios/WKPDFView.mm: |
| Disable deprecation warnings in this whole file. |
| |
| 2018-01-08 Youenn Fablet <youenn@apple.com> |
| |
| Caches::writeCachesToDisk should assert that it is initialized |
| https://bugs.webkit.org/show_bug.cgi?id=181383 |
| |
| Reviewed by Alex Christensen. |
| |
| Add assertion to ensure caches is initialized |
| |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::writeCachesToDisk): |
| |
| 2018-01-08 Youenn Fablet <youenn@apple.com> |
| |
| WebProcessPool::terminateServiceWorkerProcess should protect itself in debug builds |
| https://bugs.webkit.org/show_bug.cgi?id=181384 |
| |
| Reviewed by Chris Dumez. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::terminateServiceWorkerProcess): |
| |
| 2018-01-08 Frederic Wang <fwang@igalia.com> |
| |
| Unreviewed build fix after r226211. |
| |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Use WK_IOS_TBA for iOS. |
| |
| 2018-01-08 Youenn Fablet <youenn@apple.com> |
| |
| navigator.onLine does not work inside service workers |
| https://bugs.webkit.org/show_bug.cgi?id=181079 |
| <rdar://problem/36178606> |
| |
| Reviewed by Darin Adler. |
| |
| Added support for a callback called for each service worker proxy creation. |
| Callback is used by WTR to inject a self.internals object used for testing. |
| |
| * WebProcess/InjectedBundle/API/c/WKBundle.cpp: |
| (WKBundleSetServiceWorkerProxyCreationCallback): |
| * WebProcess/InjectedBundle/API/c/WKBundle.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::setServiceWorkerProxyCreationCallback): |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| |
| 2018-01-07 David Kilzer <ddkilzer@apple.com> |
| |
| Enable -Wcast-qual for WebInspectorUI, WebKitLegacy, WebKit projects |
| <https://webkit.org/b/181256> |
| <rdar://problem/36281730> |
| |
| Reviewed by Darin Adler. |
| |
| * Configurations/Base.xcconfig: |
| (WARNING_CFLAGS): Add -Wcast-qual. |
| * NetworkProcess/cache/NetworkCacheCodersCocoa.cpp: |
| (WTF::Persistence::encodeCertificateChain): Include |
| TypeCastsCF.h from WTF, and use |
| checked_cf_cast<SecCertificateRef>() to fix warning. |
| * Platform/cocoa/WKCrashReporter.mm: |
| (WebKit::setCrashReportApplicationSpecificInformation): |
| - Move `oldMessage` check above nullptr check to fix a leak when |
| passing in nullptr after previously setting the crash string. |
| - Change C-style cast to const_cast<char*>() to fix warning. |
| * PluginProcess/mac/PluginProcessShim.mm: |
| (WebKit::shim_shmat): Change C-style cast to |
| const_cast<void*>() to fix warning. |
| * Shared/Authentication/mac/AuthenticationManager.mac.mm: |
| (WebKit::leafCertificate): Include TypeCastsCF.h from |
| WTF, and use checked_cf_cast<SecCertificateRef>() to fix |
| warning. |
| * Shared/cf/ArgumentCodersCF.cpp: |
| (IPC::encode): Use static_cast<>(const_cast<void*>() to |
| fix warnings since the CFTypeID has already been |
| checked. |
| * Shared/mac/WebCoreArgumentCodersMac.mm: |
| (IPC::decodeNSError): Use an `auto` variable to hold the |
| CFMutableDictionaryRef, then WTFMove() to assign it back to |
| `userInfo`. |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::takeWindowSnapshot): Include TypeCastsCF.h from |
| WTF, and use checked_cf_cast<CGImageRef>() to fix |
| warning. |
| |
| 2018-01-07 Konstantin Tokarev <annulen@yandex.ru> |
| |
| [cmake] Unset CMAKE_REQUIRED_LIBRARIES after check_function_exists test |
| https://bugs.webkit.org/show_bug.cgi?id=181371 |
| |
| Reviewed by Michael Catanzaro. |
| |
| This variable is used by check_function_exists internally, its value |
| should be never used for anything else. |
| |
| * CMakeLists.txt: |
| |
| 2018-01-05 Dan Bernstein <mitz@apple.com> |
| |
| REGRESSION (r226218): iOS-only assets are installed on macOS |
| https://bugs.webkit.org/show_bug.cgi?id=181362 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/WebKit.xcconfig: Exclude everything under Resources/ios when not targeting |
| iOS. |
| |
| * Resources/ios: Added. |
| * Resources/ios/iOS.xcassets: Moved from Source/WebKit/WebKit.xcassets. |
| * Resources/ios/iOS.xcassets/LockMini.imageset/NavigationBarLockMini@2x.pdf: Set the |
| svn:mime-type property. |
| * Resources/ios/iOS.xcassets/LockMini.imageset/NavigationBarLockMini@3x.pdf: Ditto. |
| |
| * Resources/mac: Added. |
| * Resources/mac/mediaIcon.pdf: Moved here… |
| * Resources/mediaIcon.pdf: …from here. |
| |
| * WebKit.xcassets: Moved under Resources/ios. |
| |
| * WebKit.xcodeproj/project.pbxproj: Created an ios group under the Resources group, and |
| cleaned up the mac group. Removed the Recovered References group. |
| |
| 2018-01-05 John Wilander <wilander@apple.com> |
| |
| Storage Access API: Refactor to make naming accurate and explicit, simplify access table, and prepare for access removal for page |
| https://bugs.webkit.org/show_bug.cgi?id=181357 |
| <rdar://problem/36331031> |
| |
| Reviewed by Alex Christensen. |
| |
| This change does the following: |
| - Changes function and message names to reflect how this feature |
| was eventually implemented, i.e. access per frame. |
| - Makes it explicit that the UI process is only involved in |
| granting storage access and not removing storage access. |
| The latter is done directly by the web process. |
| - Simplifies the network process' entry map since only needs to |
| be able to give access to one domain in one frame at a time. |
| Access goes away on frame navigation so there can only be one |
| domain at a time per frame. Also, the map now uses pageIDs as |
| main keys to prepare for efficient access removal for all |
| frames under a page. |
| - Fixes a bug in so that a cross-origin iframe with the same |
| partition as the top frame correctly is handled as already |
| having access. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::removeStorageAccessForFrame): |
| (WebKit::NetworkConnectionToWebProcess::removeStorageAccess): Deleted. |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::hasStorageAccessForFrame): |
| (WebKit::NetworkProcess::grantStorageAccessForFrame): |
| (WebKit::NetworkProcess::hasStorageAccessForPrevalentDomains): Deleted. |
| (WebKit::NetworkProcess::updateStorageAccessForPrevalentDomains): Deleted. |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::hasStorageAccessForFrame): |
| (WebKit::NetworkProcessProxy::grantStorageAccessForFrame): |
| (WebKit::NetworkProcessProxy::hasStorageAccessForPrevalentDomains): Deleted. |
| (WebKit::NetworkProcessProxy::updateStorageAccessForPrevalentDomains): Deleted. |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): |
| (WebKit::WebResourceLoadStatisticsStore::hasStorageAccess): |
| (WebKit::WebResourceLoadStatisticsStore::requestStorageAccess): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::hasStorageAccessForFrameHandler): |
| (WebKit::WebsiteDataStore::grantStorageAccessForFrameHandler): |
| (WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback): |
| (WebKit::WebsiteDataStore::hasStorageAccessForPrevalentDomainsHandler): Deleted. |
| (WebKit::WebsiteDataStore::updateStorageAccessForPrevalentDomainsHandler): Deleted. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::detachedFromParent2): |
| (WebKit::WebFrameLoaderClient::dispatchWillChangeDocument): |
| |
| 2018-01-05 Youenn Fablet <youenn@apple.com> |
| |
| Implement Cache API partitioning based on ClientOrigin |
| https://bugs.webkit.org/show_bug.cgi?id=181240 |
| |
| Reviewed by Alex Christensen. |
| |
| open and retrieveCaches now take a ClientOrigin instead of a String. |
| Updated cache filesystem path computation to take both client origin and top origin. |
| |
| When clearing an origin, caches whose client origin or top origin matches the origin are cleared. |
| Caches are added to the web site data of their client origin with their corresponding cache size. |
| Caches are added to the web site data of their top origin with a size equal to 0. |
| |
| Updated memory representation dumping used for test to include both top and client origins. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| * NetworkProcess/cache/CacheStorageEngine.cpp: |
| (WebKit::CacheStorage::Engine::cachesRootPath): |
| (WebKit::CacheStorage::Engine::open): |
| (WebKit::CacheStorage::Engine::remove): |
| (WebKit::CacheStorage::Engine::retrieveCaches): |
| (WebKit::CacheStorage::Engine::readCachesFromDisk): |
| (WebKit::CacheStorage::Engine::removeCaches): |
| (WebKit::CacheStorage::Engine::fetchEntries): |
| (WebKit::CacheStorage::Engine::clearCachesForOrigin): |
| (WebKit::CacheStorage::Engine::clearMemoryRepresentation): |
| (WebKit::CacheStorage::Engine::representation): |
| * NetworkProcess/cache/CacheStorageEngine.h: |
| * NetworkProcess/cache/CacheStorageEngineCache.cpp: |
| (WebKit::CacheStorage::Cache::Cache): |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::retrieveOriginFromDirectory): |
| (WebKit::CacheStorage::Caches::Caches): |
| (WebKit::CacheStorage::Caches::storeOrigin): |
| (WebKit::CacheStorage::Caches::readOrigin): |
| (WebKit::CacheStorage::Caches::open): |
| * NetworkProcess/cache/CacheStorageEngineCaches.h: |
| (WebKit::CacheStorage::Caches::create): |
| (WebKit::CacheStorage::Caches::origin const): |
| * NetworkProcess/cache/CacheStorageEngineConnection.cpp: |
| (WebKit::CacheStorageEngineConnection::open): |
| (WebKit::CacheStorageEngineConnection::caches): |
| (WebKit::CacheStorageEngineConnection::clearMemoryRepresentation): |
| * NetworkProcess/cache/CacheStorageEngineConnection.h: |
| * NetworkProcess/cache/CacheStorageEngineConnection.messages.in: |
| * WebProcess/Cache/WebCacheStorageConnection.cpp: |
| (WebKit::WebCacheStorageConnection::doOpen): |
| (WebKit::WebCacheStorageConnection::doRetrieveCaches): |
| (WebKit::WebCacheStorageConnection::clearMemoryRepresentation): |
| * WebProcess/Cache/WebCacheStorageConnection.h: |
| |
| 2018-01-05 Megan Gardner <megan_gardner@apple.com> |
| |
| Show Keyboard when re-launching WKWebView with a previously focused element |
| https://bugs.webkit.org/show_bug.cgi?id=181353 |
| |
| Reviewed by Tim Horton. |
| |
| When relaunching an app with a WKWebView, restore the keyboard if there was a previously |
| focused element that was being assisted. The element was already being tracked, we just |
| needed to not bail on showing the keyboard for instances where it was a state change that |
| caused the element to be refocused. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::startAssistingNode): |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]): |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::startAutoscrollAtPosition): |
| (WebKit::WebPageProxy::startAssistingNode): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setActivityState): |
| (WebKit::WebPage::elementDidFocus): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2018-01-05 Alex Christensen <achristensen@webkit.org> |
| |
| Restrict navigation-time WKWebsiteDataStore swapping to main frame navigations |
| https://bugs.webkit.org/show_bug.cgi?id=181217 |
| |
| Reviewed by Tim Horton. |
| |
| If we swap during an iframe navigation, then we get a page in a strange state. |
| The intent of the main frame navigation WKWebsiteDataStore swap is that |
| that is a time when we can change storages without a page in an inconsistent state. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): |
| |
| 2018-01-05 Alex Christensen <achristensen@webkit.org> |
| |
| Add WKBundleFrameCreateFrameHandle |
| https://bugs.webkit.org/show_bug.cgi?id=181232 |
| <rdar://problem/35926696> |
| |
| Reviewed by Tim Horton. |
| |
| InjectedBundle clients wanting to sent a _WKFrameHandle cannot without this function. |
| Before, they would just send the WKBundleFrameRef which would be changed into a WKFrameRef |
| in the UIProcess by WebProcessProxy::transformHandlesToObjects, but there is no ObjC equivalent |
| of WKFrameRef, so we were just getting a WKObject when we wanted a _WKFrameHandle. |
| We can't change WebProcessProxy::transformHandlesToObjects without being incompatible with the |
| existing C API, so let's add a way for clients to say "I want a _WKFrameHandle". |
| |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundleFrameCreateFrameHandle): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.h: |
| |
| 2018-01-05 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Attachment Support] Add a way to write blob data to a file URL from the UI process |
| https://bugs.webkit.org/show_bug.cgi?id=181236 |
| |
| Reviewed by Brady Eidson. |
| |
| Add support for writing a blob to a designated file path. In WebKit, this is mainly plumbing writeBlobToFilePath |
| through WebPageProxy to the network process. |
| |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: |
| (WebKit::NetworkBlobRegistry::writeBlobToFilePath): |
| |
| Call out to the BlobRegistryImpl to write blobs to the file path. Additionally grant sandbox extensions for any |
| file-backed blob parts corresponding to the given blob URL. |
| |
| (WebKit::NetworkBlobRegistry::filesInBlob): |
| |
| Introduce a version of filesInBlob that doesn't check against the NetworkConnectionToWebProcess. This is used |
| when the UI process is the driver for writing a blob. |
| |
| * NetworkProcess/FileAPI/NetworkBlobRegistry.h: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::writeBlobToFilePath): |
| |
| Temporarily grant sandbox access to the given file path. |
| |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<PromisedBlobInfo>::encode): |
| (IPC::ArgumentCoder<PromisedBlobInfo>::decode): |
| (IPC::ArgumentCoder<PromisedBlobData>::encode): Deleted. |
| (IPC::ArgumentCoder<PromisedBlobData>::decode): Deleted. |
| |
| Remove PromisedBlobData (see WebCore/ChangeLog for more information). |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::didClose): |
| |
| If the network process is terminated, flush any pending callbacks in m_writeBlobToFilePathCallbackMap, passing |
| in a failure result (success := false) and clearing the callback map. |
| |
| (WebKit::NetworkProcessProxy::writeBlobToFilePath): |
| (WebKit::NetworkProcessProxy::didWriteBlobToFilePath): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::writeBlobToFilePath): |
| * UIProcess/WebPageProxy.h: |
| |
| 2018-01-05 Dan Bernstein <mitz@apple.com> |
| |
| Add injected bundle equivalents of DOMHTMLDocument (DOMHTMLDocumentExtensions) |
| https://bugs.webkit.org/show_bug.cgi?id=181345 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Declared new methods. |
| * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: |
| (-[WKDOMDocument createDocumentFragmentWithMarkupString:baseURL:]): Added. Calls WebCore’s |
| createFragmentFromMarkup. |
| (-[WKDOMDocument createDocumentFragmentWithText:]): Added. Calls WebCore’s |
| createFragmentFromText. |
| |
| 2018-01-05 Don Olmstead <don.olmstead@sony.com> |
| |
| [Curl] Add implementation stubs for Network Cache |
| https://bugs.webkit.org/show_bug.cgi?id=181343 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/cache/NetworkCacheCodersCurl.cpp: Added. |
| (WTF::Persistence::Coder<WebCore::CertificateInfo>::encode): |
| (WTF::Persistence::Coder<WebCore::CertificateInfo>::decode): |
| * NetworkProcess/cache/NetworkCacheDataCurl.cpp: Added. |
| (WebKit::NetworkCache::Data::Data): |
| (WebKit::NetworkCache::Data::empty): |
| (WebKit::NetworkCache::Data::data const): |
| (WebKit::NetworkCache::Data::isNull const): |
| (WebKit::NetworkCache::Data::apply const): |
| (WebKit::NetworkCache::Data::subrange const): |
| (WebKit::NetworkCache::concatenate): |
| (WebKit::NetworkCache::Data::adoptMap): |
| * NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp: Added. |
| (WebKit::NetworkCache::IOChannel::IOChannel): |
| (WebKit::NetworkCache::IOChannel::~IOChannel): |
| (WebKit::NetworkCache::IOChannel::open): |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::IOChannel::write): |
| * PlatformWin.cmake: |
| |
| 2018-01-05 Don Olmstead <don.olmstead@sony.com> |
| |
| [Curl] Update method declarations in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=181342 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/Downloads/curl/DownloadCurl.cpp: |
| (WebKit::Download::resume): |
| * NetworkProcess/curl/RemoteNetworkingContextCurl.cpp: |
| (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Deleted. |
| (WebKit::RemoteNetworkingContext::blockedError const): Deleted. |
| |
| 2018-01-05 Don Olmstead <don.olmstead@sony.com> |
| |
| WebFullScreenManager should compile when ENABLE(VIDEO) is off |
| https://bugs.webkit.org/show_bug.cgi?id=181338 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/FullScreen/WebFullScreenManager.cpp: |
| (WebKit::WebFullScreenManager::didEnterFullScreen): |
| (WebKit::WebFullScreenManager::willExitFullScreen): |
| * WebProcess/FullScreen/WebFullScreenManager.h: |
| |
| 2018-01-05 Andy Estes <aestes@apple.com> |
| |
| [Apple Pay] Disable Apple Pay on platforms that don't have PassKit.framework |
| https://bugs.webkit.org/show_bug.cgi?id=181335 |
| <rdar://problem/36311296> |
| |
| Reviewed by Brady Eidson. |
| |
| When Safari is running in the macOS Base System, PassKit.framework is not available. |
| If we fail to dlopen PassKit, we should disable Apple Pay. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetApplePayEnabled): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::availablePaymentNetworks): |
| (WebKit::WebPaymentCoordinatorProxy::platformSupportsPayments): |
| |
| 2018-01-05 Dan Bernstein <mitz@apple.com> |
| |
| Fixed the build following AppKit API deprecations in a recent SDKs |
| |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController enterFullScreen:]): Suppressed deprecation warnings. |
| (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Ditto. |
| (-[WKFullScreenWindowController exitFullScreen]): Ditto. |
| (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Ditto. |
| (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]): Ditto. |
| (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Ditto. |
| (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Ditto. |
| * UIProcess/mac/WKPrintingView.mm: |
| (-[WKPrintingView _setAutodisplay:]): Ditto. |
| |
| 2018-01-05 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r226401. |
| |
| This caused timeouts on multiple platforms. |
| |
| Reverted changeset: |
| |
| "Implement Cache API partitioning based on ClientOrigin" |
| https://bugs.webkit.org/show_bug.cgi?id=181240 |
| https://trac.webkit.org/changeset/226401 |
| |
| 2018-01-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ServiceWorkers: Enable UserTiming / ResourceTiming |
| https://bugs.webkit.org/show_bug.cgi?id=181297 |
| <rdar://problem/36307306> |
| |
| Reviewed by Youenn Fablet. |
| |
| * WebProcess/Storage/WebSWContextManagerConnection.cpp: |
| (WebKit::WebSWContextManagerConnection::updatePreferencesStore): |
| Enable Resource Timing / User Timing for the ServiceWorker process. |
| |
| 2018-01-04 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed GTK+ build fix. |
| |
| * UIProcess/API/glib/WebKitUserMediaPermissionRequest.cpp: |
| (webkit_user_media_permission_is_for_audio_device): |
| Call UserMediaPermissionRequestProxy::requiresAudioCapture(). |
| (webkit_user_media_permission_is_for_video_device): |
| Call UserMediaPermissionRequestProxy::requiresVideoCapture(). |
| |
| 2018-01-04 Don Olmstead <don.olmstead@sony.com> |
| |
| [Curl] Fix compilation error in WebFrameNetworkingContext |
| https://bugs.webkit.org/show_bug.cgi?id=181312 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.cpp: |
| (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): |
| |
| 2018-01-04 Tim Horton <timothy_horton@apple.com> |
| |
| WKWebView loses minimum layout size overrides that happen while the process is terminated |
| https://bugs.webkit.org/show_bug.cgi?id=181306 |
| <rdar://problem/34398288> |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode const): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didRelaunchProcess]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didRelaunchProcess): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize): |
| (WebKit::WebPageProxy::setForceAlwaysUserScalable): |
| (WebKit::WebPageProxy::setMaximumUnobscuredSize): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| Pass the current viewport minimum layout size and maximum unobscured size |
| in the WebPageCreationParameters instead of re-sending them in _didRelaunchProcess. |
| |
| The previous approach was problematic when _dispatchSetMinimumLayoutSize: |
| was changed to not re-send identical updates, because if the client calls |
| _overrideLayoutParametersWithMinimumLayoutSize before the Web Content process |
| is re-launched (after terminating), we would cache the size, attempt to send it, |
| fail silently (because the process is not launched), and then in _didRelaunchProcess |
| we would choose not to re-send (after the process is successfully relaunched) |
| because we think we already sent the new value. |
| |
| Add isValid() checks to our message sends. Ideally send() would assert |
| if the process is not alive to avoid problems like this, but it doesn't (yet). |
| |
| Get rid of WKWebView's _didRelaunchProcess, because it does nothing now. |
| |
| 2018-01-04 Stephan Szabo <stephan.szabo@sony.com> |
| |
| NetworkProcess cache files use functions from unistd.h without explicitly including it |
| https://bugs.webkit.org/show_bug.cgi?id=181261 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/cache/NetworkCacheBlobStorage.cpp: |
| * NetworkProcess/cache/NetworkCacheData.cpp: |
| |
| 2018-01-04 Keith Rollin <krollin@apple.com> |
| |
| Add commas |
| https://bugs.webkit.org/show_bug.cgi?id=181295 |
| <rdar://problem/35802295> |
| |
| Reviewed by Brent Fulgham. |
| |
| Fix a problem introduced in r226226 where the emitted JSON didn't |
| include some required commas. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::logCookieInformation const): |
| |
| 2018-01-04 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Add Mock screen capture source |
| https://bugs.webkit.org/show_bug.cgi?id=181291 |
| <rdar://problem/36298164> |
| |
| Reviewed by Dean Jackson. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MediaConstraints>::decode): |
| (IPC::ArgumentCoder<CaptureDevice>::encode): Deleted, moved to CaptureDevice.h |
| (IPC::ArgumentCoder<CaptureDevice>::decode): Ditto. |
| * Shared/WebCoreArgumentCoders.h: |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: Add _WKCaptureDeviceDisplay. |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::requestUserMediaAuthorizationForDevices): Deal with display capture. |
| (WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Ditto. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): requiresAudio -> requiresAudioCapture. |
| (WebKit::UserMediaPermissionRequestManagerProxy::searchForGrantedRequest const): Never reuse |
| a previously granted display capture request. |
| |
| * UIProcess/UserMediaPermissionRequestProxy.cpp: |
| (WebKit::UserMediaPermissionRequestProxy::allow): Search the eligible devices instead of asking |
| the source center to find devices. |
| * UIProcess/UserMediaPermissionRequestProxy.h: |
| (WebKit::UserMediaPermissionRequestProxy::requiresAudioCapture const): Renamed. |
| (WebKit::UserMediaPermissionRequestProxy::requiresVideoCapture const): Ditto. |
| (WebKit::UserMediaPermissionRequestProxy::requiresDisplayCapture const): New. |
| (WebKit::UserMediaPermissionRequestProxy::requiresAudio const): Deleted. |
| (WebKit::UserMediaPermissionRequestProxy::requiresVideo const): Deleted. |
| |
| 2018-01-04 Youenn Fablet <youenn@apple.com> |
| |
| FetchResponse should set its internal response text encoding name |
| https://bugs.webkit.org/show_bug.cgi?id=181284 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): Set default encoding to UTF-8. |
| |
| 2018-01-04 Youenn Fablet <youenn@apple.com> |
| |
| Implement Cache API partitioning based on ClientOrigin |
| https://bugs.webkit.org/show_bug.cgi?id=181240 |
| |
| Reviewed by Alex Christensen. |
| |
| open and retrieveCaches now take a ClientOrigin instead of a String. |
| Updated cache filesystem path computation to take both client origin and top origin. |
| |
| When clearing an origin, caches whose client origin or top origin matches the origin are cleared. |
| Caches are added to the web site data of their client origin with their corresponding cache size. |
| Caches are added to the web site data of their top origin with a size equal to 0. |
| |
| Updated memory representation dumping used for test to include both top and client origins. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteDataForOrigins): |
| * NetworkProcess/cache/CacheStorageEngine.cpp: |
| (WebKit::CacheStorage::Engine::cachesRootPath): |
| (WebKit::CacheStorage::Engine::open): |
| (WebKit::CacheStorage::Engine::remove): |
| (WebKit::CacheStorage::Engine::retrieveCaches): |
| (WebKit::CacheStorage::Engine::readCachesFromDisk): |
| (WebKit::CacheStorage::Engine::removeCaches): |
| (WebKit::CacheStorage::Engine::fetchEntries): |
| (WebKit::CacheStorage::Engine::clearCachesForOrigin): |
| (WebKit::CacheStorage::Engine::clearMemoryRepresentation): |
| (WebKit::CacheStorage::Engine::representation): |
| * NetworkProcess/cache/CacheStorageEngine.h: |
| * NetworkProcess/cache/CacheStorageEngineCache.cpp: |
| (WebKit::CacheStorage::Cache::Cache): |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::retrieveOriginFromDirectory): |
| (WebKit::CacheStorage::Caches::Caches): |
| (WebKit::CacheStorage::Caches::storeOrigin): |
| (WebKit::CacheStorage::Caches::readOrigin): |
| (WebKit::CacheStorage::Caches::open): |
| * NetworkProcess/cache/CacheStorageEngineCaches.h: |
| (WebKit::CacheStorage::Caches::create): |
| (WebKit::CacheStorage::Caches::origin const): |
| * NetworkProcess/cache/CacheStorageEngineConnection.cpp: |
| (WebKit::CacheStorageEngineConnection::open): |
| (WebKit::CacheStorageEngineConnection::caches): |
| (WebKit::CacheStorageEngineConnection::clearMemoryRepresentation): |
| * NetworkProcess/cache/CacheStorageEngineConnection.h: |
| * NetworkProcess/cache/CacheStorageEngineConnection.messages.in: |
| * WebProcess/Cache/WebCacheStorageConnection.cpp: |
| (WebKit::WebCacheStorageConnection::doOpen): |
| (WebKit::WebCacheStorageConnection::doRetrieveCaches): |
| (WebKit::WebCacheStorageConnection::clearMemoryRepresentation): |
| * WebProcess/Cache/WebCacheStorageConnection.h: |
| |
| 2018-01-04 Youenn Fablet <youenn@apple.com> |
| |
| Service Worker should expose redirect mode for navigation loads as manual |
| https://bugs.webkit.org/show_bug.cgi?id=181067 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Storage/ServiceWorkerClientFetch.cpp: |
| (WebKit::ServiceWorkerClientFetch::didReceiveResponse): |
| |
| 2018-01-03 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Attachment Support] Create attachment elements when dropping files on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=181192 |
| <rdar://problem/36280945> |
| |
| Reviewed by Tim Horton. |
| |
| Make some minor adjustments for changes to the pasteboard in WebCore. See WebCore/ChangeLog for more detail. |
| Teaches WebPasteboardProxy et. al. to plumb PasteboardItemInfo from the UI process to the web process via the |
| new `InformationForItemAtIndex` codepath. |
| |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::informationForItemAtIndex): |
| (WebKit::WebPasteboardProxy::getFilenamesForDataInteraction): Deleted. |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::informationForItemAtIndex): |
| (WebKit::WebPlatformStrategies::getFilenamesForDataInteraction): Deleted. |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2018-01-03 Ting-Wei Lan <lantw44@gmail.com> |
| |
| Replace hard-coded paths in shebangs with #!/usr/bin/env |
| https://bugs.webkit.org/show_bug.cgi?id=181040 |
| |
| Reviewed by Alex Christensen. |
| |
| * Scripts/generate-forwarding-headers.pl: |
| |
| 2018-01-03 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Attachment Support] Add plumbing for starting a drag with promised blob data |
| https://bugs.webkit.org/show_bug.cgi?id=181201 |
| |
| Reviewed by Tim Horton. |
| |
| Add boilerplate plumbing for PrepareToDragPromisedBlob, which delivers blob promises to the UI process when |
| dragging, respectively. |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::encodeTypesAndData): |
| (IPC::decodeTypesAndData): |
| (IPC::ArgumentCoder<PasteboardWebContent>::encode): |
| (IPC::ArgumentCoder<PasteboardWebContent>::decode): |
| (IPC::ArgumentCoder<PasteboardImage>::encode): |
| (IPC::ArgumentCoder<PasteboardImage>::decode): |
| (IPC::ArgumentCoder<PromisedBlobInfo>::encode): |
| (IPC::ArgumentCoder<PromisedBlobInfo>::decode): |
| |
| Add IPC support PromisedBlobInfo's additionalTypes and additionalData. |
| |
| (IPC::encodeClientTypesAndData): Deleted. |
| (IPC::decodeClientTypesAndData): Deleted. |
| |
| Rename these helper functions and move them to the top of the file. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::prepareToDragPromisedBlob): |
| * UIProcess/PageClient.h: |
| (WebKit::PageClient::prepareToDragPromisedBlob): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::prepareToDragPromisedBlob): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::prepareToDragPromisedBlob): |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _prepareToDragPromisedBlob:]): |
| * UIProcess/mac/PageClientImplMac.h: |
| * UIProcess/mac/PageClientImplMac.mm: |
| (WebKit::PageClientImpl::prepareToDragPromisedBlob): |
| * WebProcess/WebCoreSupport/WebDragClient.cpp: |
| (WebKit::WebDragClient::prepareToDragPromisedBlob): |
| * WebProcess/WebCoreSupport/WebDragClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::prepareToDragPromisedBlob): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2018-01-03 David Kilzer <ddkilzer@apple.com> |
| |
| REGRESSION (r212929): WKSnapshotConfiguration may leak an NSNumber when deallocated |
| <https://webkit.org/b/181274> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UIProcess/API/Cocoa/WKSnapshotConfiguration.mm: |
| (-[WKSnapshotConfiguration dealloc]): Implement method and |
| release _snapshotWidth. |
| |
| 2018-01-03 John Wilander <wilander@apple.com> |
| |
| Storage Access API: Refactor XPC for access removal to go straight from the web process to the network process |
| https://bugs.webkit.org/show_bug.cgi?id=181270 |
| <rdar://problem/36289544> |
| |
| Reviewed by Alex Christensen. |
| |
| This change refactors how the web process tells the network process |
| to remove storage access. Previously, this was done over the UI process |
| just like requests for storage access. But since no further reasoning |
| is needed, the message should go straight from the web process to the |
| network process for performance reasons and to minimize the risk of a |
| race. |
| |
| As a consequence, the XPC code for storage access removal in the UI |
| process is deleted. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::removeStorageAccess): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::removeStorageAccess): Deleted. |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::removeStorageAccess): Deleted. |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::requestStorageAccess): |
| (WebKit::WebPageProxy::removeStorageAccess): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::requestStorageAccess): |
| (WebKit::WebsiteDataStore::removeStorageAccess): Deleted. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::detachedFromParent2): |
| (WebKit::WebFrameLoaderClient::dispatchWillChangeDocument): |
| |
| 2018-01-03 David Kilzer <ddkilzer@apple.com> |
| |
| com.apple.WebKit.Networking crash in com.apple.Foundation: -[__NSOperationInternal _start:] |
| <https://webkit.org/b/181272> |
| <rdar://problem/35657310> |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (downgradeRequest): Remove unnecessary -autorelease. |
| |
| 2018-01-03 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS] Constant frame dropping during Flash video playback |
| https://bugs.webkit.org/show_bug.cgi?id=181249 |
| <rdar://problem/34843448> |
| |
| Reviewed by Eric Carlson. |
| |
| Review of logs during jerky flash video playback shows a few IOKit properties are being blocked by the sandbox, |
| which prevents some high-efficiency codecs from being used. Add 'AppleGVAKeyDoesNotExist', 'IODVDBundleName', and |
| 'IOGVA*Encode' to the whitelist. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| |
| 2018-01-03 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Add web process API to detect when form is submitted via JavaScript |
| https://bugs.webkit.org/show_bug.cgi?id=173915 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Epiphany relies on the DOM submit event to detect when a form has been submitted. However, |
| for historical reasons, the submit event is not emitted when a form is submitted by |
| JavaScript. It is therefore not currently possible for a web browser to reliably detect form |
| submission and not possible to implement a robust password storage feature. In order to |
| avoid this problem, this patch adds a new WebKitWebPage signal, will-submit-form, that |
| browsers can use in preference to a DOM event listener. |
| |
| Unfortunately, this signal is not available for WPE because it depends on the DOM API. |
| |
| There are two submission events, WEBKIT_FORM_SUBMISSION_WILL_SEND_DOM_EVENT and |
| WEBKIT_FORM_SUBMISSION_WILL_COMPLETE. WEBKIT_FORM_SUBMISSION_WILL_SEND_DOM_EVENT |
| occurs earlier than WEBKIT_FORM_SUBMISSION_WILL_COMPLETE and can be used to retrieve form |
| values before websites receive the DOM submit event. This is useful as some websites like |
| to delete form values right before a submit would normally happen in order to attempt to |
| defeat browser password managers. There are two tricks to note: JavaScript can cancel form |
| submission immediately after this event occurs (by returning false in an onsubmit handler), |
| and, for historical reasons, this event will not occur at all when form submission is |
| triggered by JavaScript. WEBKIT_FORM_SUBMISSION_WILL_COMPLETE occurs next, and is more |
| straightforward: it is always emitted when a form is about to be submitted, when it is too |
| late to cancel. |
| |
| The recommended way to reliably retrieve password form values would be to watch for both |
| events, use the form value detected in WEBKIT_FORM_SUBMISSION_WILL_SEND_DOM_EVENT |
| if that event is emitted, and use the value detected later in |
| WEBKIT_FORM_SUBMISSION_WILL_COMPLETE otherwise. |
| |
| Since one of the signal arguments is an enum, we now have to run glib-mkenums for the web |
| process API. And that has resulted in this patch also adding GType goo for |
| WebKitConsoleMessageLevel and WebKitConsoleMessageSource that was previously missing. Any |
| applications that for some unlikely reason want to use these enums in properties or signals |
| will be happy. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: |
| * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp: |
| (webkit_web_page_class_init): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebProcessEnumTypes.cpp.template: Added. |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebProcessEnumTypes.h.template: Added. |
| |
| 2018-01-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Really fix plugin process after r226327. |
| |
| * PluginProcess/unix/PluginProcessMainUnix.cpp: |
| |
| 2018-01-02 Brent Fulgham <bfulgham@apple.com> |
| |
| [macOS, iOS] Adopt new secure coding APIs in WebKit |
| https://bugs.webkit.org/show_bug.cgi?id=181085 |
| <rdar://problem/34837397> |
| |
| Reviewed by Tim Horton. |
| |
| Update WebKit code to use NSSecureCoding when the underlying operating system supports it. Use new |
| wrapper functions so the same code can be built on all supported OS releases, while enabling |
| seure coding when possible. |
| |
| Note that NSView-based classes cannot be migrated at present due to AppKit not supporting NSSecureCoding |
| in its class hierarchy. |
| |
| Tested by exising TestWebKitAPI tests for Coding and data transfer. |
| |
| * Platform/ios/AccessibilityIOS.mm: |
| (WebKit::newAccessibilityRemoteToken): Encode using NSSecureCoding. |
| * UIProcess/API/Cocoa/WKPreferences.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (+[WKPreferences supportsSecureCoding]): Added to enable NSSecureCoding. |
| * UIProcess/API/Cocoa/WKProcessPool.h: |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (+[WKProcessPool supportsSecureCoding]): Ditto. |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (+[WKUserContentController supportsSecureCoding]): Ditto. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView initWithCoder:]): Use coding initialization that supports secure coding if |
| it is available in the supplied class. |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (+[WKWebViewConfiguration supportsSecureCoding]): Added to enable NSSecureCoding. |
| (-[WKWebViewConfiguration initWithCoder:]): Use secure coding when possible. |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (+[WKWebsiteDataStore supportsSecureCoding]): Added to enable NSSecureCoding. |
| * UIProcess/API/Cocoa/_WKApplicationManifest.h: |
| * UIProcess/API/Cocoa/_WKApplicationManifest.mm: |
| (+[_WKApplicationManifest supportsSecureCoding]): Added to enable NSSecureCoding. |
| (-[_WKApplicationManifest initWithCoder:]): Use secure coding when possible. |
| |
| 2017-12-28 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Remove std::chrono completely |
| https://bugs.webkit.org/show_bug.cgi?id=181186 |
| |
| Reviewed by Alex Christensen. |
| |
| Use MonotonicTime, WallTime, and Seconds instead. |
| Changes are mechanical ones. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::deleteWebsiteData): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/cache/CacheStorageEngineCaches.cpp: |
| (WebKit::CacheStorage::Caches::clear): |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::responseHasExpired): |
| (WebKit::NetworkCache::responseNeedsRevalidation): |
| (WebKit::NetworkCache::makeStoreDecision): |
| (WebKit::NetworkCache::Cache::clear): |
| (WebKit::NetworkCache::Cache::storeData): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheEntry.cpp: |
| (WebKit::NetworkCache::Entry::Entry): |
| (WebKit::NetworkCache::Entry::asJSON const): |
| * NetworkProcess/cache/NetworkCacheEntry.h: |
| (WebKit::NetworkCache::Entry::timeStamp const): |
| * NetworkProcess/cache/NetworkCacheFileSystem.cpp: |
| (WebKit::NetworkCache::fileTimes): |
| (WebKit::NetworkCache::updateFileModificationTimeIfNeeded): |
| * NetworkProcess/cache/NetworkCacheFileSystem.h: |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: |
| (WebKit::NetworkCache::IOChannel::IOChannel): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::responseNeedsRevalidation): |
| (WebKit::NetworkCache::canRevalidate): |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::readRecord): |
| (WebKit::NetworkCache::Storage::clear): |
| (WebKit::NetworkCache::computeRecordWorth): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| Bump the cache version. We now change the data in persistent cache. |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp: |
| (WebKit::NetworkCache::SubresourceInfo::SubresourceInfo): |
| (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry): |
| * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h: |
| (WebKit::NetworkCache::SubresourceInfo::lastSeen const): |
| (WebKit::NetworkCache::SubresourceInfo::firstSeen const): |
| (WebKit::NetworkCache::SubresourcesEntry::timeStamp const): |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::clearHSTSCache): |
| (WebKit::clearNSURLCache): |
| (WebKit::NetworkProcess::clearDiskCache): |
| * NetworkProcess/curl/NetworkProcessCurl.cpp: |
| (WebKit::NetworkProcess::clearDiskCache): |
| * NetworkProcess/mac/NetworkProcessMac.mm: |
| (WebKit::NetworkProcess::clearCacheForAllOrigins): |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::clearCacheForAllOrigins): |
| (WebKit::NetworkProcess::clearDiskCache): |
| * Platform/IPC/ArgumentCoders.cpp: |
| (IPC::ArgumentCoder<WallTime>::encode): |
| (IPC::ArgumentCoder<WallTime>::decode): |
| (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::encode): Deleted. |
| (IPC::ArgumentCoder<std::chrono::system_clock::time_point>::decode): Deleted. |
| * Platform/IPC/ArgumentCoders.h: |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::deleteWebsiteData): |
| * PluginProcess/PluginProcess.h: |
| * PluginProcess/PluginProcess.messages.in: |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * Shared/RemoteLayerTree/RemoteLayerBackingStore.h: |
| (WebKit::RemoteLayerBackingStore::lastDisplayTime const): |
| * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore): |
| (WebKit::RemoteLayerBackingStore::display): |
| * Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h: |
| * Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm: |
| (WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatile): |
| (WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<RecentSearch>::decode): |
| (IPC::ArgumentCoder<WallTime>::encode): Deleted. |
| (IPC::ArgumentCoder<WallTime>::decode): Deleted. |
| * Shared/WebCoreArgumentCoders.h: |
| * StorageProcess/StorageProcess.cpp: |
| (WebKit::StorageProcess::deleteWebsiteData): |
| * StorageProcess/StorageProcess.h: |
| * StorageProcess/StorageProcess.messages.in: |
| * UIProcess/API/C/WKApplicationCacheManager.cpp: |
| (WKApplicationCacheManagerDeleteAllEntries): |
| * UIProcess/API/C/WKCookieManager.cpp: |
| (WKCookieManagerDeleteAllCookiesModifiedAfterDate): |
| * UIProcess/API/C/WKKeyValueStorageManager.cpp: |
| (WKKeyValueStorageManagerDeleteAllEntries): |
| * UIProcess/API/C/WKResourceCacheManager.cpp: |
| (WKResourceCacheManagerClearCacheForAllOrigins): |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours): |
| (WKWebsiteDataStoreStatisticsClearThroughWebsiteDataRemoval): |
| (WKWebsiteDataStoreRemoveAllFetchCaches): |
| (WKWebsiteDataStoreRemoveAllIndexedDatabases): |
| (WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (toSystemClockTime): |
| (-[WKWebsiteDataStore _resourceLoadStatisticsClearInMemoryAndPersistentStoreModifiedSinceHours:]): |
| * UIProcess/API/glib/WebKitWebContext.cpp: |
| (webkit_web_context_clear_cache): |
| * UIProcess/API/glib/WebKitWebsiteDataManager.cpp: |
| (webkit_website_data_manager_clear): |
| * UIProcess/DrawingAreaProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::deleteWebsiteData): |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Plugins/PluginProcessManager.cpp: |
| (WebKit::PluginProcessManager::deleteWebsiteData): |
| * UIProcess/Plugins/PluginProcessManager.h: |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| (WebKit::PluginProcessProxy::deleteWebsiteData): |
| * UIProcess/Plugins/PluginProcessProxy.h: |
| * UIProcess/Storage/StorageProcessProxy.cpp: |
| (WebKit::StorageProcessProxy::deleteWebsiteData): |
| * UIProcess/Storage/StorageProcessProxy.h: |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince): |
| * UIProcess/WebCookieManagerProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::deleteWebsiteData): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp: |
| (WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince): |
| * UIProcess/WebStorage/LocalStorageDatabaseTracker.h: |
| * UIProcess/WebStorage/StorageManager.cpp: |
| (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): |
| * UIProcess/WebStorage/StorageManager.h: |
| * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: |
| (WebKit::WebsiteDataStore::platformRemoveRecentSearches): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::removeData): |
| (WebKit::WebsiteDataStore::removeMediaKeys): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| * UIProcess/gtk/WebPageProxyGtk.cpp: |
| (WebKit::WebsiteDataStore::platformRemoveRecentSearches): |
| * UIProcess/wpe/WebPageProxyWPE.cpp: |
| (WebKit::WebsiteDataStore::platformRemoveRecentSearches): |
| * WebProcess/Cookies/WebCookieManager.cpp: |
| (WebKit::WebCookieManager::deleteAllCookiesModifiedSince): |
| * WebProcess/Cookies/WebCookieManager.h: |
| * WebProcess/Cookies/WebCookieManager.messages.in: |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::lastModifiedDateMS): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::deleteWebsiteData): |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| |
| 2018-01-02 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [Attachment Support] Introduce data structures and IPC support for writing promised blobs |
| https://bugs.webkit.org/show_bug.cgi?id=181189 |
| |
| Reviewed by Tim Horton. |
| |
| Add IPC support for PromisedBlobInfo and PromisedBlobData. See WebCore/ChangeLog for more detail. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<PromisedBlobData>::encode): |
| (IPC::ArgumentCoder<PromisedBlobData>::decode): |
| (IPC::ArgumentCoder<PromisedBlobInfo>::encode): |
| (IPC::ArgumentCoder<PromisedBlobInfo>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| |
| 2018-01-02 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports |
| https://bugs.webkit.org/show_bug.cgi?id=181231 |
| |
| Reviewed by Alex Christensen. |
| |
| Add new C API for use by WebKitTestRunner. |
| |
| * UIProcess/API/C/WKWebsiteDataStoreRef.cpp: |
| (WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder): |
| (WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo): |
| * UIProcess/API/C/WKWebsiteDataStoreRef.h: |
| |
| 2018-01-02 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Add a WebAuthentication runtime feature flag |
| https://bugs.webkit.org/show_bug.cgi?id=181220 |
| <rdar://problem/36055305> |
| |
| Reviewed by Brent Fulgham. |
| |
| Renames the CredentialManagement runtime feature flag into WebAuthentication. |
| |
| * Shared/WebPreferences.yaml: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetWebAuthenticationEnabled): |
| (WKPreferencesGetWebAuthenticationEnabled): |
| (WKPreferencesSetCredentialManagementEnabled): Deleted. |
| (WKPreferencesGetCredentialManagementEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2018-01-02 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| REGRESSION(r226327): [GTK] Plugin process is broken |
| https://bugs.webkit.org/show_bug.cgi?id=181187 |
| |
| Unreviewed, fix PluginProcessMainUnix after r226327. |
| |
| * PluginProcess/unix/PluginProcessMainUnix.cpp: |
| |
| 2018-01-02 Tim Horton <timothy_horton@apple.com> |
| |
| Fix the build on platforms where UICurrentUserInterfaceIdiomIsPad is defined to false |
| https://bugs.webkit.org/show_bug.cgi?id=181218 |
| |
| Reviewed by Alex Christensen. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| (currentUserInterfaceIdiomIsPad): |
| * UIProcess/ios/SmartMagnificationController.mm: |
| (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture): |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKFormInputSession setAccessoryViewCustomButtonTitle:]): |
| (-[WKContentView _requiresKeyboardWhenFirstResponder]): |
| (-[WKContentView _displayFormNodeInputView]): |
| (-[WKContentView requiresAccessoryView]): |
| (-[WKContentView _updateAccessory]): |
| * UIProcess/ios/forms/WKAirPlayRoutePicker.mm: |
| (-[WKAirPlayRoutePicker show:fromRect:]): |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _showPhotoPickerWithSourceType:]): |
| (-[WKFileUploadPanel _presentMenuOptionForCurrentInterfaceIdiom:]): |
| * UIProcess/ios/forms/WKFormInputControl.mm: |
| (-[WKDateTimePicker initWithView:datePickerMode:]): |
| (-[WKFormInputControl initWithView:]): |
| * UIProcess/ios/forms/WKFormSelectControl.mm: |
| (-[WKFormSelectControl initWithView:]): |
| On platforms where UICurrentUserInterfaceIdiomIsPad is defined to false, |
| blocks that conditionally execute based on its value are unreachable. |
| This causes the compiler to complain. Hide it away inside an inline function |
| and make use of that everywhere we used to use the macro. |
| |
| 2018-01-02 Alex Christensen <achristensen@webkit.org> |
| |
| Remove SVN file accidentally added in r226160 |
| https://bugs.webkit.org/show_bug.cgi?id=180934 |
| |
| * UIProcess/WebPageProxy.cpp.orig: Removed. |
| |
| 2018-01-02 Alex Christensen <achristensen@webkit.org> |
| |
| Use BlockPtrs and lambdas instead of new/delete to pass parameters to blocks in WebViewImpl::performDragOperation |
| https://bugs.webkit.org/show_bug.cgi?id=180795 |
| |
| Reviewed by Brent Fulgham. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::performDragOperation): |
| |
| 2018-01-02 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [WPE][GTK] Implement the assignment of ProcessIdentifiers to child processes |
| https://bugs.webkit.org/show_bug.cgi?id=181187 |
| |
| Reviewed by Brady Eidson. |
| |
| * Shared/ChildProcess.cpp: Make the ProcessIdentifier mandatory. |
| (WebKit::ChildProcess::initialize): |
| * Shared/unix/ChildProcessMain.cpp: Initialize ChildProcessInitializationParameters with the |
| ProcessIdentifier. |
| (WebKit::ChildProcessMainBase::parseCommandLine): |
| * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: Copy the ProcessIdentifier from |
| LaunchOptions into argv. |
| (WebKit::ProcessLauncher::launchProcess): |
| * WebProcess/wpe/WebProcessMainWPE.cpp: Expect the WPE socket ID later in the command line. |
| |
| 2018-01-02 Alex Christensen <achristensen@webkit.org> |
| |
| Use new WebsiteDataStore passed in through decidePolicyForNavigation SPI |
| https://bugs.webkit.org/show_bug.cgi?id=180897 |
| <rdar://problem/35535328> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Shared/WebsitePoliciesData.cpp: |
| (WebKit::WebsitePoliciesData::applyToDocumentLoader): |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::changeWebsiteDataStore): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore): |
| (WebKit::WebProcessPool::pageEndUsingWebsiteDataStore): |
| (WebKit::WebProcessPool::pageAddedToProcess): Deleted. |
| (WebKit::WebProcessPool::pageRemovedFromProcess): Deleted. |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::addExistingWebPage): |
| (WebKit::WebProcessProxy::removeWebPage): |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): |
| |
| 2018-01-02 Alex Christensen <achristensen@webkit.org> |
| |
| Only use CookieStorageShim when we aren't using NetworkSession |
| https://bugs.webkit.org/show_bug.cgi?id=180766 |
| |
| Reviewed by Brent Fulgham. |
| |
| * Shared/mac/CookieStorageShim.h: |
| * Shared/mac/CookieStorageShim.mm: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2018-01-02 Alex Christensen <achristensen@webkit.org> |
| |
| Clean up context menu code |
| https://bugs.webkit.org/show_bug.cgi?id=181074 |
| |
| Reviewed by Brent Fulgham. |
| |
| Use Ref instead of RefPtr where possible. |
| Use move semantics instead of copying from const references when possible. |
| Remove dead iOS code. Reduce allocations. Add stub for WPE. |
| |
| * UIProcess/API/APIContextMenuClient.h: |
| (API::ContextMenuClient::getContextMenuFromProposedMenu): |
| (API::ContextMenuClient::getContextMenuFromProposedMenuAsync): |
| (API::ContextMenuClient::showContextMenu): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageContextMenuClient): |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::createContextMenuProxy): |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebContextMenuListenerProxy.cpp: |
| (WebKit::WebContextMenuListenerProxy::useContextMenuItems): |
| * UIProcess/WebContextMenuProxy.cpp: |
| (WebKit::WebContextMenuProxy::WebContextMenuProxy): |
| * UIProcess/WebContextMenuProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::showContextMenu): |
| (WebKit::WebPageProxy::internalShowContextMenu): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/gtk/WebContextMenuProxyGtk.cpp: |
| (WebKit::WebContextMenuProxyGtk::showContextMenuWithItems): |
| (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): |
| * UIProcess/gtk/WebContextMenuProxyGtk.h: |
| (WebKit::WebContextMenuProxyGtk::create): |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::createContextMenuProxy): Deleted. |
| * UIProcess/mac/PageClientImplMac.h: |
| * UIProcess/mac/PageClientImplMac.mm: |
| (WebKit::PageClientImpl::createContextMenuProxy): |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| (WebKit::WebContextMenuProxyMac::create): |
| * UIProcess/mac/WebContextMenuProxyMac.mm: |
| (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac): |
| (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): |
| (WebKit::WebContextMenuProxyMac::showContextMenu): |
| |
| == Rolled over to ChangeLog-2018-01-01 == |