| 2017-06-13 Daniel Bates <dabates@apple.com> |
| |
| Implement W3C Secure Contexts Draft Specification |
| https://bugs.webkit.org/show_bug.cgi?id=158121 |
| <rdar://problem/26012994> |
| |
| Reviewed by Brent Fulgham. |
| |
| Part 4 |
| |
| Adds a preference to toggle the runtime enabled feature flag isSecureContextAttributeEnabled. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetIsSecureContextAttributeEnabled): |
| (WKPreferencesGetIsSecureContextAttributeEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-06-13 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Allow AppleEvents in Citrix View Plugin |
| https://bugs.webkit.org/show_bug.cgi?id=173280 |
| <rdar://problem/31913624> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Allow the Citrix Viewer plugin to issue Apple Events. |
| |
| * PluginProcess/mac/PluginProcessMac.mm: |
| (WebKit::PluginProcess::platformInitializeProcess): Allow AppleEvents for the Citrix Viewer plugin. |
| |
| 2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Blob download doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=172442 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| GTK+ API uses URIs for download destination paths, and passes that URIs to the WebKit internals. But WebKit |
| expects download destination location to be a local path. This is not a problem for normal downloads, because |
| the soup backend handles the cases of download destination being a URI and a path. For blob downloads |
| NetworkDataTaskBlob is used, and it always expects the download destination to be a local path, failing in |
| FileSystem::openFile() when a URI is passed. We need to keep using local files internally and convert to URIs |
| only when exposing those paths to the API. |
| |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| (WebKit::NetworkDataTaskSoup::download): Stop handling URIs here, we should always expect local files. |
| * UIProcess/API/gtk/WebKitDownload.cpp: |
| (webkitDownloadDecideDestinationWithSuggestedFilename): Convert destination URI to filanme before pasing it to DownloadClient. |
| (webkitDownloadDestinationCreated): Convert the destination path to a URI before passing it to WebKitDownload::created-destionation signal. |
| * UIProcess/API/gtk/WebKitDownloadClient.cpp: |
| * UIProcess/API/gtk/WebKitDownloadPrivate.h: |
| |
| 2017-06-13 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Unable to paste text that was copied from a page into the universal search field |
| https://bugs.webkit.org/show_bug.cgi?id=173293 |
| <rdar://problem/32440918> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add boilerplate SPI on WKPreferences to enable JavaScript access to copy and paste. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _setJavaScriptCanAccessClipboard:]): |
| (-[WKPreferences _javaScriptCanAccessClipboard]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2017-06-13 Sam Weinig <sam@webkit.org> |
| |
| Rename JSDOMWindowShell to JSDOMWindowProxy to match the HTML5 spec. |
| https://bugs.webkit.org/show_bug.cgi?id=80733 |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::windowScriptNPObject): |
| |
| 2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Remove unused code from GTK+ WebKitPrivate. |
| |
| * UIProcess/API/gtk/WebKitPrivate.cpp: |
| (wkEventModifiersToGdkModifiers): Deleted. |
| (wkEventMouseButtonToWebKitMouseButton): Deleted. |
| * UIProcess/API/gtk/WebKitPrivate.h: |
| |
| 2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix return value of PageLoaderClient::shouldGoToBackForwardListItem after r218164. |
| |
| It should return true as InjectedBundlePageLoaderClient does. This caused several timeouts in GTK+ unit tests |
| after r218171. |
| |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h: |
| (API::InjectedBundle::PageLoaderClient::shouldGoToBackForwardListItem): |
| |
| 2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use API::GeolocationProvider in WebKitGeolocationProvider |
| https://bugs.webkit.org/show_bug.cgi?id=173151 |
| |
| Reviewed by Žan Doberšek. |
| |
| Also cleanup a bit the WebKitGeolocationProvider implementation, it doesn't need to be refcounted. |
| |
| * UIProcess/API/gtk/WebKitGeolocationProvider.cpp: |
| (WebKit::GeolocationProvider::GeolocationProvider): |
| (WebKit::WebKitGeolocationProvider::~WebKitGeolocationProvider): |
| (WebKit::WebKitGeolocationProvider::WebKitGeolocationProvider): |
| (toGeolocationProvider): Deleted. |
| (startUpdatingCallback): Deleted. |
| (stopUpdatingCallback): Deleted. |
| (WebKitGeolocationProvider::~WebKitGeolocationProvider): Deleted. |
| (WebKitGeolocationProvider::create): Deleted. |
| (WebKitGeolocationProvider::WebKitGeolocationProvider): Deleted. |
| (WebKitGeolocationProvider::startUpdating): Deleted. |
| (WebKitGeolocationProvider::stopUpdating): Deleted. |
| (WebKitGeolocationProvider::notifyPositionChanged): Deleted. |
| (WebKitGeolocationProvider::notifyErrorOccurred): Deleted. |
| * UIProcess/API/gtk/WebKitGeolocationProvider.h: |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| |
| 2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use API::IconDatabaseClient in WebKitFaviconDatabase |
| https://bugs.webkit.org/show_bug.cgi?id=173146 |
| |
| Reviewed by Žan Doberšek. |
| |
| * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: |
| (_WebKitFaviconDatabasePrivate::~_WebKitFaviconDatabasePrivate): |
| (webkitFaviconDatabaseCreate): |
| (didChangeIconForPageURLCallback): Deleted. |
| (iconDataReadyForPageURLCallback): Deleted. |
| |
| 2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use API::InjectedBundle::PageLoaderClient in WebKitWebPage |
| https://bugs.webkit.org/show_bug.cgi?id=173304 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitWebPageCreate): |
| (getDocumentLoaderURL): Deleted. |
| (didStartProvisionalLoadForFrame): Deleted. |
| (didReceiveServerRedirectForProvisionalLoadForFrame): Deleted. |
| (didSameDocumentNavigationForFrame): Deleted. |
| (didCommitLoadForFrame): Deleted. |
| (didFinishDocumentLoadForFrame): Deleted. |
| (didClearWindowObjectForFrame): Deleted. |
| |
| 2017-06-13 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GStreamerGL] Release GstVideoFrame when there is a flush event from the pipeline |
| https://bugs.webkit.org/show_bug.cgi?id=172427 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::texmapGL): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| Provides current texmapGL to platform layer proxies to create and copy |
| bitmap textures. |
| |
| 2017-06-13 Youenn Fablet <youenn@apple.com> |
| |
| Switch off Legacy WebRTC API flag by default |
| https://bugs.webkit.org/show_bug.cgi?id=173241 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Add API::GeolocationProvider |
| https://bugs.webkit.org/show_bug.cgi?id=173150 |
| |
| Reviewed by Alex Christensen. |
| |
| It will be used by GTK+ port instead of the C API. |
| |
| * UIProcess/API/APIGeolocationProvider.h: Added. |
| (API::GeolocationProvider::~GeolocationProvider): |
| (API::GeolocationProvider::startUpdating): |
| (API::GeolocationProvider::stopUpdating): |
| (API::GeolocationProvider::setEnableHighAccuracy): |
| * UIProcess/API/C/WKGeolocationManager.cpp: |
| (WKGeolocationManagerSetProvider): |
| * UIProcess/WebGeolocationManagerProxy.cpp: |
| (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy): |
| (WebKit::WebGeolocationManagerProxy::setProvider): |
| (WebKit::WebGeolocationManagerProxy::processPoolDestroyed): |
| (WebKit::WebGeolocationManagerProxy::startUpdating): |
| (WebKit::WebGeolocationManagerProxy::removeRequester): |
| (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy): |
| * UIProcess/WebGeolocationManagerProxy.h: |
| * UIProcess/WebGeolocationProvider.cpp: |
| (WebKit::WebGeolocationProvider::WebGeolocationProvider): |
| (WebKit::WebGeolocationProvider::startUpdating): |
| (WebKit::WebGeolocationProvider::stopUpdating): |
| (WebKit::WebGeolocationProvider::setEnableHighAccuracy): |
| * UIProcess/WebGeolocationProvider.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Add API::InjectedBundle::PageLoaderClient |
| https://bugs.webkit.org/show_bug.cgi?id=173265 |
| |
| Reviewed by Alex Christensen. |
| |
| It will be used by the GTK+ port instead of the C API. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h: Added. |
| (API::InjectedBundle::PageLoaderClient::willLoadURLRequest): |
| (API::InjectedBundle::PageLoaderClient::willLoadDataRequest): |
| (API::InjectedBundle::PageLoaderClient::shouldGoToBackForwardListItem): |
| (API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame): |
| (API::InjectedBundle::PageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (API::InjectedBundle::PageLoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (API::InjectedBundle::PageLoaderClient::didCommitLoadForFrame): |
| (API::InjectedBundle::PageLoaderClient::didFinishDocumentLoadForFrame): |
| (API::InjectedBundle::PageLoaderClient::didFinishLoadForFrame): |
| (API::InjectedBundle::PageLoaderClient::didFinishProgress): |
| (API::InjectedBundle::PageLoaderClient::didFailLoadWithErrorForFrame): |
| (API::InjectedBundle::PageLoaderClient::didSameDocumentNavigationForFrame): |
| (API::InjectedBundle::PageLoaderClient::didReceiveTitleForFrame): |
| (API::InjectedBundle::PageLoaderClient::didRemoveFrameFromHierarchy): |
| (API::InjectedBundle::PageLoaderClient::didDisplayInsecureContentForFrame): |
| (API::InjectedBundle::PageLoaderClient::didRunInsecureContentForFrame): |
| (API::InjectedBundle::PageLoaderClient::didDetectXSSForFrame): |
| (API::InjectedBundle::PageLoaderClient::didFirstLayoutForFrame): |
| (API::InjectedBundle::PageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): |
| (API::InjectedBundle::PageLoaderClient::didLayoutForFrame): |
| (API::InjectedBundle::PageLoaderClient::didReachLayoutMilestone): |
| (API::InjectedBundle::PageLoaderClient::didClearWindowObjectForFrame): |
| (API::InjectedBundle::PageLoaderClient::didCancelClientRedirectForFrame): |
| (API::InjectedBundle::PageLoaderClient::willPerformClientRedirectForFrame): |
| (API::InjectedBundle::PageLoaderClient::didHandleOnloadEventsForFrame): |
| (API::InjectedBundle::PageLoaderClient::globalObjectIsAvailableForFrame): |
| (API::InjectedBundle::PageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject): |
| (API::InjectedBundle::PageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject): |
| (API::InjectedBundle::PageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension): |
| (API::InjectedBundle::PageLoaderClient::shouldForceUniversalAccessFromLocalURL): |
| (API::InjectedBundle::PageLoaderClient::featuresUsedInPage): |
| (API::InjectedBundle::PageLoaderClient::willDestroyFrame): |
| (API::InjectedBundle::PageLoaderClient::userAgentForURL): |
| (API::InjectedBundle::PageLoaderClient::layoutMilestones): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (WKBundlePageSetPageLoaderClient): |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: |
| (WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient): |
| (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest): |
| (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest): |
| (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem): |
| (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didFinishProgress): |
| (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy): |
| (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didReachLayoutMilestone): |
| (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame): |
| (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject): |
| (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject): |
| (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension): |
| (WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL): |
| (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): |
| (WebKit::InjectedBundlePageLoaderClient::userAgentForURL): |
| (WebKit::InjectedBundlePageLoaderClient::layoutMilestones): |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::detachedFromParent2): |
| (WebKit::WebFrameLoaderClient::dispatchDidDispatchOnloadEvents): |
| (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect): |
| (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect): |
| (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage): |
| (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): |
| (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): |
| (WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone): |
| (WebKit::WebFrameLoaderClient::dispatchDidLayout): |
| (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): |
| (WebKit::WebFrameLoaderClient::didDisplayInsecureContent): |
| (WebKit::WebFrameLoaderClient::didRunInsecureContent): |
| (WebKit::WebFrameLoaderClient::didDetectXSS): |
| (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): |
| (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable): |
| (WebKit::WebFrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject): |
| (WebKit::WebFrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject): |
| (WebKit::WebFrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension): |
| (WebKit::WebFrameLoaderClient::shouldForceUniversalAccessFromLocalURL): |
| * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: |
| (WebKit::WebProgressTrackerClient::progressFinished): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::setInjectedBundlePageLoaderClient): |
| (WebKit::WebPage::close): |
| (WebKit::WebPage::loadRequest): |
| (WebKit::WebPage::loadDataImpl): |
| (WebKit::WebPage::userAgent): |
| (WebKit::WebPage::reportUsedFeatures): |
| (WebKit::WebPage::dispatchDidReachLayoutMilestone): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::injectedBundleLoaderClient): |
| |
| 2017-06-12 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Peeking on an image could result in a preview at the wrong size |
| https://bugs.webkit.org/show_bug.cgi?id=173274 |
| rdar://problem/30404627 |
| |
| Reviewed by Tim Horton. |
| |
| There were a couple of issues with the way the page scale is communicated between the web process |
| and the UI process. |
| |
| Generally, the page scale is computed by the web process, and sent to the UI process via |
| layer tree commits. UI-side scale is them communicated back to the web process via visibleContentRect |
| updates. When receiving a new scale, WebPage has a "scale was set by the UI process" flag to handle |
| the case where user interaction overrides the viewport-computed page scale. However, this flag would |
| get set erroneously in a couple of situations. |
| |
| First, during page loading, layer flushing is suspended temporarily, so web process scale changes never |
| make it to the UI process. In that scenario, the UI process could send an old scale back to the web process, |
| setting the "scale was set by the UI process" when it really wasn't. |
| |
| Secondly, web -> UI layer commit messages, and UI -> web updateVisibleContentRect messages can be in flight at the |
| same time, again causing a stale scale to reach the web process. |
| |
| Fix this by only setting the "scale was set by the UI process" when we know the UI scale should be in sync, by comparing |
| commit IDs of sent and received scales. |
| |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::scaleFromUIProcess): |
| (WebKit::WebPage::updateVisibleContentRects): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| (WebKit::RemoteLayerTreeDrawingArea::lastCommittedTransactionID): |
| |
| 2017-06-12 Alex Christensen <achristensen@webkit.org> |
| |
| Modernize UserScript.h |
| https://bugs.webkit.org/show_bug.cgi?id=173273 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<UserScript>::encode): Deleted. |
| (IPC::ArgumentCoder<UserScript>::decode): Deleted. |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupAddUserScript): |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::addUserScript): |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::addUserScript): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2017-06-12 Tim Horton <timothy_horton@apple.com> |
| |
| [iOS] Cmd-C doesn't copy text from WKWebView |
| https://bugs.webkit.org/show_bug.cgi?id=173277 |
| <rdar://problem/32396742> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _lookupForWebView:]): |
| (-[WKContentView _shareForWebView:]): |
| (-[WKContentView _addShortcutForWebView:]): |
| (-[WKContentView _promptForReplaceForWebView:]): |
| (-[WKContentView _transliterateChineseForWebView:]): |
| (-[WKContentView _reanalyzeForWebView:]): |
| (-[WKContentView replaceForWebView:]): |
| (-[WKContentView canPerformAction:withSender:]): |
| (-[WKContentView copyForWebView:]): |
| (-[WKContentView cutForWebView:]): |
| (-[WKContentView pasteForWebView:]): |
| (-[WKContentView selectForWebView:]): |
| (-[WKContentView selectAllForWebView:]): |
| (-[WKContentView toggleBoldfaceForWebView:]): |
| (-[WKContentView toggleItalicsForWebView:]): |
| (-[WKContentView toggleUnderlineForWebView:]): |
| (-[WKContentView _showTextStyleOptionsForWebView:]): |
| (-[WKContentView _defineForWebView:]): |
| (-[WKContentView _arrowKeyForWebView:]): |
| (-[WKContentView _lookup:]): Deleted. |
| (-[WKContentView _share:]): Deleted. |
| (-[WKContentView _addShortcut:]): Deleted. |
| (-[WKContentView _promptForReplace:]): Deleted. |
| (-[WKContentView _transliterateChinese:]): Deleted. |
| (-[WKContentView _reanalyze:]): Deleted. |
| (-[WKContentView replace:]): Deleted. |
| (-[WKContentView copy:]): Deleted. |
| (-[WKContentView cut:]): Deleted. |
| (-[WKContentView paste:]): Deleted. |
| (-[WKContentView select:]): Deleted. |
| (-[WKContentView selectAll:]): Deleted. |
| (-[WKContentView toggleBoldface:]): Deleted. |
| (-[WKContentView toggleItalics:]): Deleted. |
| (-[WKContentView toggleUnderline:]): Deleted. |
| (-[WKContentView _showTextStyleOptions:]): Deleted. |
| (-[WKContentView _define:]): Deleted. |
| (-[WKContentView _arrowKey:]): Deleted. |
| Similar to what r211897 did for canPerformAction, and other patches |
| have done for other selectors, forward methods for standard editing |
| commands from WKContentView up to WKWebView, and back down to WKContentView. |
| |
| This is necessary because these are not treated as normal |
| responder-chain-respecting methods, so they do not bubble up the view tree. |
| |
| In 211897, WKContentView (who is usually first responder and thus receives |
| the actions) stopped claiming to be able to perform these actions, depending |
| on this non-existent bubbling behavior to keep them working. |
| |
| 2017-06-12 Chris Dumez <cdumez@apple.com> |
| |
| Null dereference under WebProcessPool::pageRemovedFromProcess() |
| https://bugs.webkit.org/show_bug.cgi?id=173271 |
| <rdar://problem/32038814> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Null-check networkProcess() before dereferencing it in WebProcessPool::pageRemovedFromProcess(). |
| This is the only place in this class where we failed to null check before dereferencing |
| networkProcess(). To my knowledge, there is no guarantee there is a network process. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::pageRemovedFromProcess): |
| |
| 2017-06-12 Jiewen Tan <jiewen_tan@apple.com> |
| |
| [WebCrypto] Remove experimental feature flag of SubtleCrypto |
| https://bugs.webkit.org/show_bug.cgi?id=173197 |
| <rdar://problem/32688148> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetSubtleCryptoEnabled): Deleted. |
| (WKPreferencesGetSubtleCryptoEnabled): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-06-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS DnD] Allow the injected bundle to add client data when writing an image to the pasteboard |
| https://bugs.webkit.org/show_bug.cgi?id=173238 |
| <rdar://problem/31943370> |
| |
| Reviewed by Ryosuke Niwa and Tim Horton. |
| |
| Send PasteboardImage.clientTypes and PasteboardImage.clientData over IPC. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::encodeClientTypesAndData): |
| (IPC::decodeClientTypesAndData): |
| |
| Factor out common logic used to encode and decode client types and data into static helpers. |
| |
| (IPC::ArgumentCoder<PasteboardWebContent>::encode): |
| (IPC::ArgumentCoder<PasteboardWebContent>::decode): |
| (IPC::ArgumentCoder<PasteboardImage>::encode): |
| (IPC::ArgumentCoder<PasteboardImage>::decode): |
| |
| 2017-06-12 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS DnD] Introduce hooks to override targeted drag previews when lifting and cancelling |
| https://bugs.webkit.org/show_bug.cgi?id=173240 |
| <rdar://problem/31943370> |
| |
| Reviewed by Ryosuke Niwa and Tim Horton. |
| |
| Adds two new delegate hooks: _webView:previewForLiftingItem:session: and |
| _webView:previewForCancellingItem:withDefault:. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| |
| 2017-06-12 Chris Dumez <cdumez@apple.com> |
| |
| Regression(r217867): Legacy SessionHistoryEntryData format should not change |
| https://bugs.webkit.org/show_bug.cgi?id=173267 |
| <rdar://problem/32701257> |
| |
| Reviewed by Simon Fraser. |
| |
| Revert changes to Legacy SessionHistoryEntryData format that were made in r217867, |
| as this apparently breaks compatiblity. |
| |
| * UIProcess/mac/LegacySessionStateCoding.cpp: |
| (WebKit::encodeFrameStateNode): |
| (WebKit::decodeBackForwardTreeNode): |
| |
| 2017-06-12 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Alow iokit-get-properties for additional media features |
| https://bugs.webkit.org/show_bug.cgi?id=173082 |
| <rdar://problem/32597547> |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Add API::IconDatabaseClient |
| https://bugs.webkit.org/show_bug.cgi?id=173145 |
| |
| Reviewed by Alex Christensen. |
| |
| It will be used by GTK+ port instead of the C API. |
| |
| * UIProcess/API/APIIconDatabaseClient.h: |
| (API::IconDatabaseClient::~IconDatabaseClient): |
| (API::IconDatabaseClient::didChangeIconForPageURL): |
| (API::IconDatabaseClient::didRemoveAllIcons): |
| (API::IconDatabaseClient::iconDataReadyForPageURL): |
| * UIProcess/API/C/WKIconDatabase.cpp: |
| (WKIconDatabaseSetIconDatabaseClient): |
| * UIProcess/WebIconDatabase.cpp: |
| (WebKit::WebIconDatabase::WebIconDatabase): |
| (WebKit::WebIconDatabase::setClient): |
| (WebKit::WebIconDatabase::didChangeIconForPageURL): |
| (WebKit::WebIconDatabase::didRemoveAllIcons): |
| (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL): |
| * UIProcess/WebIconDatabase.h: |
| * UIProcess/WebIconDatabaseClient.cpp: |
| (WebKit::WebIconDatabaseClient::WebIconDatabaseClient): |
| (WebKit::WebIconDatabaseClient::didChangeIconForPageURL): |
| (WebKit::WebIconDatabaseClient::didRemoveAllIcons): |
| (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL): |
| * UIProcess/WebIconDatabaseClient.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Stop dismissing menus attached to the web view for every injected event |
| https://bugs.webkit.org/show_bug.cgi?id=172708 |
| |
| Reviewed by Alex Christensen. |
| |
| To actually simulate a right-click event we should also send the button release after the press, and let the page |
| handle the events in addition to sending the event to the context menu controller, like we do with normal |
| events. So, this is mostly the same as a real right-click event but without actually showing the menu. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::contextMenuAtPointInWindow): |
| |
| 2017-06-12 Daewoong Jang <daewoong.jang@navercorp.com> |
| |
| [CoordinatedGraphics] Behavior change of DrawingAreaImpl after r217779 |
| https://bugs.webkit.org/show_bug.cgi?id=173153 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::mainFrameContentSizeChanged): |
| |
| 2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Prefer to use private WebKitWebView API over WebKitWebViewBase |
| https://bugs.webkit.org/show_bug.cgi?id=173254 |
| |
| Reviewed by Žan Doberšek. |
| |
| WebKitWebViewBase is specific to the GTK+ API, but WebKitWebView should be present in any glib-based API. Add |
| webkitWebViewCreatePage() and webkitWebViewGetPage() and use them when possible instead of the WebKitWebViewBase |
| ones. |
| |
| * UIProcess/API/gtk/WebKitAutomationSession.cpp: |
| * UIProcess/API/gtk/WebKitContextMenuClient.cpp: |
| (attachContextMenuClientToView): |
| * UIProcess/API/gtk/WebKitFindController.cpp: |
| (getPage): |
| (webkitFindControllerDispose): |
| (webkitFindControllerConstructed): |
| (webKitFindControllerPerform): |
| (webkit_find_controller_search_finish): |
| * UIProcess/API/gtk/WebKitFormClient.cpp: |
| (attachFormClientToView): |
| * UIProcess/API/gtk/WebKitLoaderClient.cpp: |
| (attachLoaderClientToView): |
| * UIProcess/API/gtk/WebKitPolicyClient.cpp: |
| (attachPolicyClientToView): |
| * UIProcess/API/gtk/WebKitPrintOperation.cpp: |
| (drawPagesForPrintingCompleted): |
| (webkitPrintOperationPrintPagesForFrame): |
| (webkit_print_operation_run_dialog): |
| (webkit_print_operation_print): |
| * UIProcess/API/gtk/WebKitUIClient.cpp: |
| (attachUIClientToView): |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextCreatePageForWebView): |
| (webkitWebContextWebViewDestroyed): |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewCreatePage): |
| (webkitWebViewGetPage): |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| |
| 2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] getPage() in WebKitWebView should return a reference instead of a pointer |
| https://bugs.webkit.org/show_bug.cgi?id=173251 |
| |
| Reviewed by Žan Doberšek. |
| |
| The WebPageProxy is created on WebKitWebView construction, so getPage() can only return nullptr if it's called |
| during construction. And that can only happen when construct properties are set. It's better to check that the |
| view has been constructed only in these particular cases and make getPage() return a reference. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewCreateJavaScriptDialog): |
| (allowModalDialogsChanged): Settings signals are only connected after the page has been created, so we don't |
| need to check page is available here. |
| (zoomTextOnlyChanged): |
| (userAgentChanged): |
| (webkitWebViewIsConstructed): Helper method to check if the view has been constructed. |
| (webkitWebViewUpdateSettings): Return early if view hasn't been constructed. |
| (webkitWebViewDisconnectSettingsSignalHandlers): Ditto. |
| (webkitWebViewConstructed): |
| (webkitWebViewDispose): |
| (webkitWebViewCreateNewPage): |
| (webkitWebViewSelectionDidChange): |
| (webkit_web_view_try_close): |
| (webkit_web_view_load_uri): |
| (webkit_web_view_load_html): |
| (webkit_web_view_load_alternate_html): |
| (webkit_web_view_load_plain_text): |
| (webkit_web_view_load_bytes): |
| (webkit_web_view_load_request): |
| (webkit_web_view_get_page_id): |
| (webkit_web_view_reload): |
| (webkit_web_view_reload_bypass_cache): |
| (webkit_web_view_stop_loading): |
| (webkit_web_view_is_playing_audio): |
| (webkit_web_view_go_back): |
| (webkit_web_view_can_go_back): |
| (webkit_web_view_go_forward): |
| (webkit_web_view_can_go_forward): |
| (webkit_web_view_get_custom_charset): |
| (webkit_web_view_set_custom_charset): |
| (webkit_web_view_get_estimated_load_progress): |
| (webkit_web_view_go_to_back_forward_list_item): |
| (webkit_web_view_set_zoom_level): |
| (webkit_web_view_get_zoom_level): |
| (webkit_web_view_can_execute_editing_command): |
| (webkit_web_view_execute_editing_command): |
| (webkit_web_view_execute_editing_command_with_argument): |
| (webkit_web_view_run_javascript): |
| (resourcesStreamReadCallback): |
| (webkit_web_view_get_inspector): |
| (webkit_web_view_can_show_mime_type): |
| (webkit_web_view_save): |
| (webkit_web_view_save_to_file): |
| (webkit_web_view_download_uri): |
| (webkit_web_view_get_tls_info): |
| (webkit_web_view_get_snapshot): |
| (webkit_web_view_set_background_color): |
| (webkit_web_view_get_background_color): |
| (webkit_web_view_is_editable): |
| (webkit_web_view_set_editable): |
| (webkit_web_view_get_editor_state): |
| (webkit_web_view_get_session_state): |
| (webkit_web_view_restore_session_state): |
| |
| 2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Move WebKit GType macros to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=173249 |
| |
| Reviewed by Žan Doberšek. |
| |
| Moving to a common place where they could be shared by all ports using a glib-based API. |
| |
| * UIProcess/API/gtk/WebKitPrivate.h: |
| |
| 2017-06-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remove WKInspectorClientGtk |
| https://bugs.webkit.org/show_bug.cgi?id=173142 |
| |
| Reviewed by Michael Catanzaro. |
| |
| It's only used internally in GTk+ API, we can simplify it by using a C++ client instead. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/API/C/gtk/WKInspectorClientGtk.cpp: Removed. |
| * UIProcess/API/C/gtk/WKInspectorClientGtk.h: Removed. |
| * UIProcess/API/gtk/WebKitPrivate.h: |
| * UIProcess/API/gtk/WebKitWebInspector.cpp: |
| (_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate): |
| (webkitWebInspectorCreate): |
| * UIProcess/WebInspectorProxy.cpp: |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/gtk/WebInspectorClientGtk.cpp: Removed. |
| * UIProcess/gtk/WebInspectorProxyClient.h: Renamed from Source/WebKit2/UIProcess/gtk/WebInspectorClientGtk.h. |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::setClient): |
| (WebKit::WebInspectorProxy::createInspectorWindow): |
| (WebKit::WebInspectorProxy::platformDidClose): |
| (WebKit::WebInspectorProxy::platformBringToFront): |
| (WebKit::WebInspectorProxy::platformInspectedURLChanged): |
| (WebKit::WebInspectorProxy::platformAttach): |
| (WebKit::WebInspectorProxy::platformDetach): |
| (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): |
| (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): |
| (WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): |
| |
| 2017-06-11 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r217870): Null deref under PageOverlayController::uninstallPageOverlay using find in page |
| https://bugs.webkit.org/show_bug.cgi?id=173196 |
| <rdar://problem/32686871> |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebPage/ios/FindControllerIOS.mm: |
| (WebKit::FindController::updateFindIndicator): |
| The reason this caused a crash instead of just a missing indicator |
| is that FindControllerIOS would early return after uninstalling |
| the old overlay, before installing a new one, and leave m_isShowingFindIndicator |
| set to true. Instead, reset it (and m_findIndicatorOverlay, which |
| we would never re-use but might as well be freed immediately). |
| |
| This likely already crashed in other less reproducible cases where a |
| TextIndicator was not created for a find match, so clean it up. |
| |
| 2017-06-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remove WKFullScreenClientGtk |
| https://bugs.webkit.org/show_bug.cgi?id=173140 |
| |
| Reviewed by Michael Catanzaro. |
| |
| It's only used internally in the GTK+ API. Implementation is a lot simpler without using it, we can simply use |
| either WebKitWebView or WebKitWebViewBase from PageClient directly. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp: Removed. |
| * UIProcess/API/C/gtk/WKFullScreenClientGtk.h: Removed. |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::isFullScreen): |
| (WebKit::PageClientImpl::enterFullScreen): |
| (WebKit::PageClientImpl::exitFullScreen): |
| * UIProcess/API/gtk/WebKitFullscreenClient.cpp: Removed. |
| * UIProcess/API/gtk/WebKitFullscreenClient.h: Removed. |
| * UIProcess/API/gtk/WebKitPrivate.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewConstructed): |
| (webkitWebViewEnterFullScreen): |
| (webkitWebViewExitFullScreen): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseEnterFullScreen): |
| (webkitWebViewBaseExitFullScreen): |
| (webkitWebViewBaseIsFullScreen): |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| * UIProcess/gtk/WebFullScreenClientGtk.cpp: Removed. |
| * UIProcess/gtk/WebFullScreenClientGtk.h: Removed. |
| |
| 2017-06-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Handle page download request in WebKitWebView directly |
| https://bugs.webkit.org/show_bug.cgi?id=173137 |
| |
| Reviewed by Žan Doberšek. |
| |
| We don't need to pass through WebKitWebViewBase, since the base doesn't have an implementation. |
| |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::handleDownloadRequest): |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewConstructed): |
| (webkitWebViewHandleDownloadRequest): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseSetDownloadRequestHandler): Deleted. |
| (webkitWebViewBaseHandleDownloadRequest): Deleted. |
| * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: |
| * UIProcess/API/gtk/WebKitWebViewPrivate.h: |
| |
| 2017-06-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use a lambda in webkit_cookie_manager_get_accept_policy instead of toGenericCallbackFunction |
| https://bugs.webkit.org/show_bug.cgi?id=173134 |
| |
| Reviewed by Žan Doberšek. |
| |
| It's simpler and easier to read. |
| |
| * UIProcess/API/gtk/WebKitCookieManager.cpp: |
| (webkit_cookie_manager_get_accept_policy): |
| (webkitCookieManagerGetAcceptPolicyCallback): Deleted. |
| |
| 2017-06-10 Dan Bernstein <mitz@apple.com> |
| |
| Reverted r218056 because it made the IDE reindex constantly. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2017-06-10 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE |
| https://bugs.webkit.org/show_bug.cgi?id=173223 |
| |
| Reviewed by Sam Weinig. |
| |
| The rebuilds were happening due to a difference in the compiler options that the IDE and |
| xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make |
| xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and |
| specify an appropriate path in CLANG_INDEX_STORE_PATH. |
| |
| * Configurations/DebugRelease.xcconfig: |
| |
| 2017-06-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Crash inside WebKit::PluginView::getAuthenticationInfo |
| https://bugs.webkit.org/show_bug.cgi?id=173083 |
| <rdar://problem/32513144> |
| |
| Address Darin's review comment. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::getAuthenticationInfo): |
| |
| 2017-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Use WTF::Function instead of std::function in NetworkProcess code |
| https://bugs.webkit.org/show_bug.cgi?id=173182 |
| |
| Reviewed by Alex Christensen. |
| |
| Use WTF::Function instead of std::function in NetworkProcess code to avoid |
| unnecessary copying. |
| |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/cache/NetworkCacheIOChannel.h: |
| * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::IOChannel::write): |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::IOChannel::readSyncInThread): |
| (WebKit::NetworkCache::IOChannel::write): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| * NetworkProcess/cache/NetworkCacheStatistics.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::clearNSURLCache): |
| (WebKit::NetworkProcess::clearDiskCache): |
| * NetworkProcess/soup/NetworkProcessSoup.cpp: |
| (WebKit::NetworkProcess::clearDiskCache): |
| |
| 2017-06-09 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION (r213584): WeChat app can not switch to next text field |
| https://bugs.webkit.org/show_bug.cgi?id=173183 |
| <rdar://problem/32323478> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/ios/InputViewUpdateDeferrer.mm: |
| (WebKit::InputViewUpdateDeferrer::~InputViewUpdateDeferrer): |
| It turns out that _endIgnoringReloadInputViews doesn't actually perform |
| the update if there was one ignored. It does, however, return whether |
| there was a change ignored, and we can force an update. |
| |
| This remains untestable without sizable additional API test infrastructure |
| for the same reasons as the original patch. |
| |
| 2017-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Make sure we protect |this| in lambdas in WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver() |
| https://bugs.webkit.org/show_bug.cgi?id=173174 |
| <rdar://problem/32598919> |
| |
| Reviewed by Darin Adler. |
| |
| Follow-up fix to r218006, which caused a crash on the bots. We cannot WTFMove() protectedThis |
| here because the callback gets called several times. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): |
| |
| 2017-06-09 Jer Noble <jer.noble@apple.com> |
| |
| Crash in -[WKWebView _initializeWithConfiguration:] |
| https://bugs.webkit.org/show_bug.cgi?id=173126 |
| <rdar://problem/32664993> |
| |
| Reviewed by Darin Adler. |
| |
| Follow up to previous fix; when setting NSString properties, store a copy of |
| the string rather than the NSString itself. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _overrideContentSecurityPolicy]): |
| (-[WKWebViewConfiguration _setOverrideContentSecurityPolicy:]): |
| (-[WKWebViewConfiguration _setMediaContentTypesRequiringHardwareSupport:]): |
| |
| 2017-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Use WTF::Function instead of std::function in StorageManager |
| https://bugs.webkit.org/show_bug.cgi?id=173177 |
| |
| Reviewed by Brady Eidson. |
| |
| Use WTF::Function instead of std::function in StorageManager. This eliminates some |
| potential implicit copying of captured variables, which is important here because |
| we pass those lambdas to other threads. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::getSessionStorageOrigins): |
| (WebKit::StorageManager::deleteSessionStorageOrigins): |
| (WebKit::StorageManager::deleteSessionStorageEntriesForOrigins): |
| (WebKit::StorageManager::getLocalStorageOrigins): |
| (WebKit::StorageManager::getLocalStorageOriginDetails): |
| (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): |
| (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins): |
| * UIProcess/Storage/StorageManager.h: |
| |
| 2017-06-09 Daniel Bates <dabates@apple.com> |
| |
| CSP: Apply img-src directive to favicon loads |
| https://bugs.webkit.org/show_bug.cgi?id=172733 |
| <rdar://problem/32082654> |
| |
| Reviewed by Brady Eidson. |
| |
| Return 0 seconds for the maximum buffering time for favicons (no change in behavior). |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::maximumBufferingTime): |
| |
| 2017-06-09 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [iOS DnD] Add a hook to perform two-step drops in editable content |
| https://bugs.webkit.org/show_bug.cgi?id=172992 |
| <rdar://problem/32590174> |
| |
| Reviewed by Tim Horton. |
| |
| Add plumbing to support an injected bundle hook for overriding two-step drops. See WebCore ChangeLog. |
| |
| * WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h: |
| (API::InjectedBundle::EditorClient::performTwoStepDrop): |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]): |
| * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: |
| (WebKit::InjectedBundlePageEditorClient::performTwoStepDrop): |
| * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::performTwoStepDrop): |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| |
| 2017-06-09 Brent Fulgham <bfulgham@apple.com> |
| |
| Use Function rather than std::function for thread safety in WebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=173172 |
| |
| Reviewed by Chris Dumez. |
| <rdar://problem/32679311> |
| |
| Remove a few more instances of std::function in the WebsiteDataStore, and WTFMove completion handler to |
| avoid unnecessary copies. |
| |
| * Shared/WebsiteData/WebsiteDataType.h: Remove redundant WebsiteDataType from name. |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataType): Update for revised name. |
| (WebKit::toWKWebsiteDataTypes): Ditto. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores): ASSERT that |
| this function, as well as its completion handler, are getting called from the main thread. |
| (WebKit::WebProcessProxy::topPrivatelyControlledDomainsWithWebiteData): Ditto. |
| (WebKit::WebProcessProxy::fetchWebsiteData): Move the completionHandler. |
| (WebKit::WebProcessProxy::deleteWebsiteData): Ditto. |
| (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins): Ditto. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): Switch to Function, and move completion handler. |
| (WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains): Ditto. |
| (WebKit::WebsiteDataStore::topPrivatelyControlledDomainsWithWebsiteData): Ditto. |
| (WebKit::WebsiteDataStore::removeData): Ditto. |
| (WebKit::WebsiteDataStore::removeDataForTopPrivatelyControlledDomains): Ditto. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2017-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Make sure we protect |this| in lambdas in WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver() |
| https://bugs.webkit.org/show_bug.cgi?id=173174 |
| <rdar://problem/32598919> |
| |
| Reviewed by Darin Adler. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): |
| |
| 2017-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Avoid some ref counting churn in WebResourceLoadStatisticsStore |
| https://bugs.webkit.org/show_bug.cgi?id=173168 |
| |
| Reviewed by Brent Fulgham. |
| |
| Move the protectedThis around instead of ref'ing it every time we capture it |
| in a lambda. Also add a missing protectedThis in WebResourceLoadStatisticsStore::removeDataRecords() |
| which likely fixes crashes. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): |
| (WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData): |
| |
| 2017-06-09 Sam Weinig <sam@webkit.org> |
| |
| Add SubresourceIntegrity as an experimental feature |
| https://bugs.webkit.org/show_bug.cgi?id=173164 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| Add SubresourceIntegrity to the list of experimental features. Also, sort the experimental features |
| as requested by the comment above it. |
| |
| 2017-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Make sure |this| is protected in lambda capture in WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData() |
| https://bugs.webkit.org/show_bug.cgi?id=173163 |
| |
| Reviewed by Brent Fulgham. |
| |
| Make sure |this| is protected in lambda capture in WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData() |
| or it may end up getting destroyed before the lambda executing and crash when calling m_statisticsQueue->dispatch(). |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData): |
| |
| 2017-06-09 Daewoong Jang <daewoong.jang@navercorp.com> |
| |
| [CoordinatedGraphics] Remove unneeded interfaces in PageClient |
| https://bugs.webkit.org/show_bug.cgi?id=173149 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * UIProcess/PageClient.h: |
| |
| 2017-06-09 Chris Dumez <cdumez@apple.com> |
| |
| Use WTF::Function instead of std::function in SpeculativeLoadManager::ExpiringEntry |
| https://bugs.webkit.org/show_bug.cgi?id=173125 |
| |
| Reviewed by Antti Koivisto. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry): |
| |
| 2017-06-09 Daewoong Jang <daewoong.jang@navercorp.com> |
| |
| Use WTF::getCurrentProcessID() instead of getpid() |
| https://bugs.webkit.org/show_bug.cgi?id=173130 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| |
| 2017-06-09 Claudio Saavedra <csaavedra@igalia.com> |
| |
| struct does not accept initializer-form if member has initializers in GCC 4.9 |
| |
| Unreviewed speculative build fix. |
| |
| Remove the default initializers for DeniedRequest struct, |
| since it's only initialized in one place, to keep gcc 4.9 |
| happy. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| 2017-06-09 Adrien Plazas <aplazas@igalia.com> |
| |
| [GTK] Add kinetic scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=155750 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Patch by Adrien Plazas and Yusuke Suzuki. |
| |
| Add the notion of phase and momentum phase to WebWheelEvent. |
| |
| Make WebWheelEvent manage the 'is_stop' attribute of GdkEventScroll to create the corresponding WebWheelEvent |
| with the correct phases and deltas. |
| |
| Make GestureController manage swipes to create the corresponding WebWheelEvent with the correct phases and |
| deltas. |
| |
| * Shared/NativeWebWheelEvent.h: |
| * Shared/WebEvent.h: |
| * Shared/WebEventConversion.cpp: |
| (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): |
| * Shared/WebWheelEvent.cpp: |
| (WebKit::WebWheelEvent::WebWheelEvent): |
| (WebKit::WebWheelEvent::encode): |
| (WebKit::WebWheelEvent::decode): |
| * Shared/gtk/NativeWebWheelEventGtk.cpp: |
| (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): |
| * Shared/gtk/WebEventFactory.cpp: |
| (WebKit::WebEventFactory::createWebWheelEvent): |
| * Shared/gtk/WebEventFactory.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::handleWheelEvent): |
| (WebKit::WebPageProxy::shouldProcessWheelEventNow): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::GestureController): |
| (WebKit::GestureController::handleEvent): |
| (WebKit::GestureController::isProcessingGestures): |
| (WebKit::createScrollEvent): |
| (WebKit::GestureController::DragGesture::startDrag): |
| (WebKit::GestureController::DragGesture::handleDrag): |
| (WebKit::GestureController::DragGesture::begin): |
| (WebKit::GestureController::DragGesture::end): |
| (WebKit::GestureController::SwipeGesture::startMomentumScroll): |
| (WebKit::GestureController::SwipeGesture::swipe): |
| (WebKit::GestureController::SwipeGesture::SwipeGesture): |
| * UIProcess/gtk/GestureController.h: |
| |
| 2017-06-09 Jer Noble <jer.noble@apple.com> |
| |
| Crash in -[WKWebView _initializeWithConfiguration:] |
| https://bugs.webkit.org/show_bug.cgi?id=173126 |
| |
| Reviewed by Antti Koivisto. |
| |
| Crash occurs when passing an autoreleased NSString into _setMediaContentTypesRequiringHardwareSupport. |
| The ivar should be a RetainPtr rather than a bare NSString *. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _mediaContentTypesRequiringHardwareSupport]): |
| |
| 2017-06-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use API::FormClient instead of the C API in WebKitFormClient |
| https://bugs.webkit.org/show_bug.cgi?id=173098 |
| |
| Reviewed by Žan Doberšek. |
| |
| * UIProcess/API/gtk/WebKitFormClient.cpp: |
| (attachFormClientToView): |
| (willSubmitForm): Deleted. |
| * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp: |
| (webkitFormSubmissionRequestCreate): |
| (webkit_form_submission_request_get_text_fields): |
| * UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkitWebPageCreate): |
| |
| 2017-06-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Use API::Findclient instead of the C API in WebKitFindController |
| https://bugs.webkit.org/show_bug.cgi?id=173095 |
| |
| Reviewed by Žan Doberšek. |
| |
| * UIProcess/API/gtk/WebKitFindController.cpp: |
| (getPage): |
| (webkitFindControllerDispose): |
| (webkitFindControllerConstructed): |
| (webkit_find_controller_class_init): |
| |
| 2017-06-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Get rid of custom marshallers of signals |
| https://bugs.webkit.org/show_bug.cgi?id=173094 |
| |
| Reviewed by Žan Doberšek. |
| |
| Use g_cclosure_marshal_generic instead. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/API/gtk/WebKitBackForwardList.cpp: |
| * UIProcess/API/gtk/WebKitDownload.cpp: |
| (webkit_download_class_init): |
| * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: |
| (webkit_favicon_database_class_init): |
| * UIProcess/API/gtk/WebKitWebInspector.cpp: |
| (webkit_web_inspector_class_init): |
| * UIProcess/API/gtk/WebKitWebResource.cpp: |
| (webkit_web_resource_class_init): |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkit_web_view_class_init): |
| * UIProcess/API/gtk/webkit2marshal.list: Removed. |
| * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: |
| (webkit_web_page_class_init): |
| |
| 2017-06-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Crash under -[WKWebView _updateVisibleContentRects] |
| https://bugs.webkit.org/show_bug.cgi?id=173123 |
| rdar://problem/32650112 |
| |
| Reviewed by Tim Horton. |
| |
| Make sure the WKWebView is valid in places where we dispatch_async or use |
| a pre-commit handler. |
| |
| Speculative fix for a rare crasher. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _isValid]): |
| (-[WKWebView _addUpdateVisibleContentRectPreCommitHandler]): |
| (-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]): |
| |
| 2017-06-07 Simon Fraser <simon.fraser@apple.com> |
| |
| Use initializers in WebPageProxy |
| https://bugs.webkit.org/show_bug.cgi?id=173073 |
| |
| Reviewed by Tim Horton. |
| |
| Initialize the member variables the modern way. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::WebPageProxy): |
| * UIProcess/WebPageProxy.h: |
| |
| 2017-06-08 Jeremy Jones <jeremyj@apple.com> |
| |
| Implement additional AVPlayerController interfaces for minTime and maxTime. |
| https://bugs.webkit.org/show_bug.cgi?id=172396 |
| rdar://problem/30737452 |
| |
| Reviewed by Jer Noble. |
| |
| Add support for new HLS UI in AVKit. |
| |
| Plumb seekableTimeRangesLastModifiedTime and liveUpdateInterval across process boundaries. |
| |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: |
| (WebKit::WebPlaybackSessionModelContext::setSeekableRanges): |
| (WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector): |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionInterfaceContext::seekableRangesChanged): |
| (WebKit::WebPlaybackSessionManager::seekableRangesChanged): |
| |
| 2017-06-08 Chris Dumez <cdumez@apple.com> |
| |
| Use WTF::Function more in SpeculativeLoadManager |
| https://bugs.webkit.org/show_bug.cgi?id=173109 |
| |
| Reviewed by Antti Koivisto. |
| |
| Use WTF::Function more in SpeculativeLoadManager. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::create): |
| (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad): |
| (WebKit::NetworkCache::SpeculativeLoadManager::retrieveSubresourcesEntry): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h: |
| |
| 2017-06-08 Youenn Fablet <youenn@apple.com> |
| |
| getUserMedia should not be prompted again if user denied access |
| https://bugs.webkit.org/show_bug.cgi?id=173104 |
| |
| Reviewed by Geoff Garen. |
| |
| Store denied requests to be able to replay them. |
| If mic is denied, user might be prompted for camera, not for mic and camera. |
| Same principle applies to the case of denied camera. |
| Clearing the stored denied requests when reloading/navigating away. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): |
| (WebKit::UserMediaPermissionRequestManagerProxy::resetAccess): |
| (WebKit::UserMediaPermissionRequestManagerProxy::isRequestDenied): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| 2017-06-08 Jer Noble <jer.noble@apple.com> |
| |
| Clients of the WK2 C-API don't have their mediaContentTypesRequiringHardwareSupport setting initialized correctly. |
| https://bugs.webkit.org/show_bug.cgi?id=173091 |
| |
| Reviewed by Eric Carlson. |
| |
| Rather than add yet a third way of setting this preference, centralize everything by moving the |
| definition of the default value into WebCore. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-06-08 Jer Noble <jer.noble@apple.com> |
| |
| [WK2] mediaContentTypesRequiringHardwareSupport setting not being propogated |
| https://bugs.webkit.org/show_bug.cgi?id=173090 |
| |
| Reviewed by Eric Carlson. |
| |
| Passing a NSString* into the WebPreferencesStore::Value constructor would rather cast the NSString* |
| into a bool than a const String&. So explicitly cast the NSString* into a String before passing. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| |
| 2017-06-08 Youenn Fablet <youenn@apple.com> |
| |
| getUserMedia request should not be allowed for background tabs unless the tab is already capturing |
| https://bugs.webkit.org/show_bug.cgi?id=172989 |
| |
| Reviewed by Eric Carlson. |
| |
| Covered by updated test and manual testing. |
| |
| In case a getUserMedia can be granted, we check for visbility of the view. |
| If the view is visible, the getUserMedia request is allowed and promise is resolved. |
| Otherwise we store the pregranted request and will allow it when the view gets visible. |
| Pregranted requests will be cleared if the document of the view is changed. |
| |
| Pregranted requests will not be used when capture page is muted. |
| In that case, a prompt will appear. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::removeGrantedAccess): |
| (WebKit::allowRequest): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| (WebKit::UserMediaPermissionRequestManagerProxy::processPregrantedRequests): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::dispatchActivityStateChange): |
| (WebKit::WebPageProxy::viewIsBecomingVisible): |
| * UIProcess/WebPageProxy.h: |
| |
| 2017-06-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [WPE] Enable resource usage |
| https://bugs.webkit.org/show_bug.cgi?id=173054 |
| |
| Reviewed by Žan Doberšek. |
| |
| Enable/disable the resources overlay with CTRL + Shift + G. |
| |
| * UIProcess/API/wpe/WPEView.cpp: |
| (WKWPE::m_compositingManagerProxy): |
| |
| 2017-06-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Remove legacy INSPECTOR_SERVER implementation |
| https://bugs.webkit.org/show_bug.cgi?id=172966 |
| |
| Reviewed by Žan Doberšek. |
| |
| * CMakeLists.txt: |
| * Platform/Logging.h: |
| * PlatformWPE.cmake: |
| * UIProcess/InspectorServer/HTTPRequest.cpp: Removed. |
| * UIProcess/InspectorServer/HTTPRequest.h: Removed. |
| * UIProcess/InspectorServer/WebInspectorServer.cpp: Removed. |
| * UIProcess/InspectorServer/WebInspectorServer.h: Removed. |
| * UIProcess/InspectorServer/WebSocketServer.cpp: Removed. |
| * UIProcess/InspectorServer/WebSocketServer.h: Removed. |
| * UIProcess/InspectorServer/WebSocketServerClient.h: Removed. |
| * UIProcess/InspectorServer/WebSocketServerConnection.cpp: Removed. |
| * UIProcess/InspectorServer/WebSocketServerConnection.h: Removed. |
| * UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Removed. |
| * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: Removed. |
| * UIProcess/WebInspectorProxy.cpp: |
| (WebKit::WebInspectorProxy::invalidate): |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/WebInspectorProxy.messages.in: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::initializeWebPage): |
| (WebKit::WebPageProxy::preferencesDidChange): |
| * UIProcess/wpe/WebProcessPoolWPE.cpp: |
| * WebProcess/WebPage/WebInspector.cpp: |
| (WebKit::WebInspector::sendMessageToFrontend): |
| * WebProcess/WebPage/WebInspector.h: |
| * WebProcess/WebPage/WebInspector.messages.in: |
| |
| 2017-06-07 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] additionalReadAccessAllowedURLs doesn’t preserve non-Latin-1 paths |
| https://bugs.webkit.org/show_bug.cgi?id=173086 |
| |
| Reviewed by Andy Estes. |
| |
| We were incorrectly passing the fileSystemRepresentation of an NSURL into the WTF::String |
| constructor that expects a Latin-1 string. However, in general, fileSystemRepresentation is |
| not Latin-1. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.h: Changed m_additionalReadAccessAllowedPaths |
| from a Vector<WTF::String> into a Vector<WTF::CString>. |
| |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration additionalReadAccessAllowedURLs]): Updated for the change. |
| (-[_WKProcessPoolConfiguration setAdditionalReadAccessAllowedURLs:]): Ditto. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::resolvePathsForSandboxExtensions): Ditto. |
| |
| 2017-06-07 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Crash inside WebKit::PluginView::getAuthenticationInfo |
| https://bugs.webkit.org/show_bug.cgi?id=173083 |
| |
| Reviewed by Chris Dumez. |
| |
| Added a null pointer check. The content document may have went away by the time we get there from IPC. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::getAuthenticationInfo): |
| |
| 2017-06-07 Youenn Fablet <youenn@apple.com> |
| |
| getUserMedia is prompting too often |
| https://bugs.webkit.org/show_bug.cgi?id=172859 |
| <rdar://problem/32589950> |
| |
| Reviewed by Eric Carlson. |
| |
| Introduce a storage of granted requests to skip prompting when needed. |
| This is a partial implementation as granted requests should not happen for background tabs. |
| This will be covered in a follow-up patch. |
| Covered by manual tests. |
| |
| A granted request keeps its mainFrameID. |
| Whenever the document of the main frame changes, the granted requests for that mainFrameID will be removed. |
| This handles the case of navigating, reloading... while still supporting the case of granting getUserMedia after in page navigation. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): |
| (WebKit::UserMediaPermissionRequestManagerProxy::removeGrantedAccess): |
| (WebKit::UserMediaPermissionRequestManagerProxy::searchForGrantedRequest): |
| (WebKit::UserMediaPermissionRequestManagerProxy::grantAccess): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| * UIProcess/UserMediaPermissionRequestProxy.cpp: |
| (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): |
| * UIProcess/UserMediaPermissionRequestProxy.h: |
| (WebKit::UserMediaPermissionRequestProxy::create): |
| (WebKit::UserMediaPermissionRequestProxy::mainFrameID): |
| (WebKit::UserMediaPermissionRequestProxy::frameID): |
| (WebKit::UserMediaPermissionRequestProxy::userMediaDocumentSecurityOrigin): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didChangeMainDocument): |
| (WebKit::WebPageProxy::backForwardGoToItem): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidChangeMainDocument): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| |
| 2017-06-07 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] additionalReadAccessAllowedURLs should be consumed before loading the injected bundle |
| https://bugs.webkit.org/show_bug.cgi?id=173078 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): Changed the order. |
| |
| 2017-06-07 Per Arne Vollan <pvollan@apple.com> |
| |
| Support removal of authentication data through the Website data store API. |
| https://bugs.webkit.org/show_bug.cgi?id=171217 |
| <rdar://problem/29522573> |
| |
| Reviewed by Brady Eidson. |
| |
| Add support to remove and fetch credential data through the Website data store API. |
| Credential data is removed and fetched from both the network process and web process. |
| Authentication data stored in the keychain will not be cleared. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::fetchWebsiteData): |
| (WebKit::NetworkProcess::deleteWebsiteData): |
| * Shared/WebsiteData/WebsiteData.cpp: |
| (WebKit::WebsiteData::encode): |
| (WebKit::WebsiteData::decode): |
| * Shared/WebsiteData/WebsiteData.h: |
| * Shared/WebsiteData/WebsiteDataType.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm: |
| (dataTypesToString): |
| * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h: |
| (WebKit::toWebsiteDataType): |
| (WebKit::toWKWebsiteDataTypes): |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (+[WKWebsiteDataStore allWebsiteDataTypes]): |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::WebsiteDataRecord::addOriginWithCredential): |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::fetchWebsiteData): |
| (WebKit::WebProcess::deleteWebsiteData): |
| |
| 2017-06-06 Dan Bernstein <mitz@apple.com> |
| |
| Fixed building with the macOS 10.13 Apple Internal SDK when targeting macOS 10.12. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]): |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): |
| |
| 2017-06-06 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][Cocoa] Allow network process to bind addresses without webrtc extension |
| https://bugs.webkit.org/show_bug.cgi?id=173032 |
| <rdar://problem/32597426> |
| |
| Reviewed by Youenn Fablet. |
| |
| Remove the unnecessary WebRTC sandbox extension handle and conditional sandbox rules, since we've |
| decided that all WebKit clients should be able to use the WebRTC protocol. |
| |
| * NetworkProcess/NetworkProcessCreationParameters.cpp: |
| (WebKit::NetworkProcessCreationParameters::encode): Remove unused sandbox extension from serialization. |
| (WebKit::NetworkProcessCreationParameters::decode): Ditto. |
| * NetworkProcess/NetworkProcessCreationParameters.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): We no longer send the sandbox extension, |
| so don't attempt to consume it. |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: Remove check for 'com.apple.webkit.webrtc' |
| extension. Make rules conditional on building with WEB_RTC feature enabled. |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Remove check for 'com.apple.webkit.webrtc' |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): Do not create unnecessary sandbox extension |
| handle. |
| |
| 2017-06-06 Tim Horton <timothy_horton@apple.com> |
| |
| Crash trying to drag the entire text of a long book out of Mail compose view |
| https://bugs.webkit.org/show_bug.cgi?id=173042 |
| <rdar://problem/32382059> |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebPage/ios/FindControllerIOS.mm: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::didConcludeEditDataInteraction): |
| Adapt to the new name. |
| |
| 2017-06-06 Chris Dumez <cdumez@apple.com> |
| |
| RELEASE_ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values)) hit in convertEnumerationToJS<WebCore::History::ScrollRestoration>() |
| https://bugs.webkit.org/show_bug.cgi?id=173033 |
| <rdar://problem/32591099> |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/SessionState.h: |
| Make sure FrameState::shouldRestoreScrollPosition and other struct members are always |
| intialized. |
| |
| * UIProcess/mac/LegacySessionStateCoding.cpp: |
| (WebKit::encodeFrameStateNode): |
| (WebKit::decodeBackForwardTreeNode): |
| Make sure FrameState::shouldRestoreScrollPosition is properly encoded / decoded. |
| |
| 2017-06-06 Andy Estes <aestes@apple.com> |
| |
| REGRESSION (r199558): WKWebView upload file which name contains Chinese character results in garbled code |
| https://bugs.webkit.org/show_bug.cgi?id=172849 |
| <rdar://problem/32567454> |
| |
| Reviewed by Darin Adler. |
| |
| This is the Mac equivalent of what was fixed in r208295. This time we use -[NSURL path] to |
| construct a WTF::String instead of calling String::fromUTF8() on -[NSURL fileSystemRepresentation]. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::runOpenPanel): |
| |
| 2017-06-06 Yoav Weiss <yoav@yoav.ws> |
| |
| [preload] Conditional support for media preloading and align media `as` values. |
| https://bugs.webkit.org/show_bug.cgi?id=172501 |
| |
| Reviewed by Dean Jackson. |
| |
| Add media preloading preference and hook it up to runtime enabled features. |
| |
| * Shared/WebPreferencesDefinitions.h: Added a macro defining media preloading preference. |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WebKit2::WKPreferences::WKPreferencesSetMediaPreloadingEnabled): |
| (WebKit2::WKPreferences::WKPreferencesGetMediaPreloadingEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: Set runtime enabled feature based on preference. |
| |
| 2017-06-06 Don Olmstead <don.olmstead@am.sony.com> |
| |
| [WebCore] Enable REQUEST_ANIMATION_FRAME_TIMER for all ports |
| https://bugs.webkit.org/show_bug.cgi?id=172780 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::scheduleAnimation): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::syncDisplayState): |
| |
| 2017-06-06 Beth Dakin <bdakin@apple.com> |
| |
| Netflix seeking quirk should also apply to Now Playing, and should always use the |
| livestream UI |
| https://bugs.webkit.org/show_bug.cgi?id=173030 |
| -and corresponding- |
| rdar://problem/32228660 |
| |
| Reviewed by Darin Adler. |
| |
| See WebCore ChangeLog for more details. We can roll out allowsTouchBarScrubbing() |
| and rely on supportsSeeking(). |
| |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: |
| (WebKit::WebPlaybackSessionModelContext::setAllowsTouchBarScrubbing): Deleted. |
| (WebKit::WebPlaybackSessionManagerProxy::setAllowsTouchBarScrubbing): Deleted. |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionInterfaceContext::allowsTouchBarScrubbingChanged): Deleted. |
| (WebKit::WebPlaybackSessionManager::allowsTouchBarScrubbingChanged): Deleted. |
| |
| 2017-06-06 Jer Noble <jer.noble@apple.com> |
| |
| [Cocoa] Set defaults for mediaContentTypesRequiringHardwareSupport setting |
| https://bugs.webkit.org/show_bug.cgi?id=173008 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| |
| 2017-06-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Move Resource Timing / User Timing from experimental features into main preferences |
| https://bugs.webkit.org/show_bug.cgi?id=172950 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| Move Resource Timing and User Timing out of the Experimental Features section. |
| |
| 2017-06-06 Youenn Fablet <youenn@apple.com> |
| |
| Add an option to disable getUserMedia prompt in case of mock capture sources |
| https://bugs.webkit.org/show_bug.cgi?id=172981 |
| <rdar://problem/32580325> |
| |
| Reviewed by Eric Carlson. |
| |
| Adding mockCaptureDevicesPromptEnabled option. |
| Allowing any getUserMedia request if mock is on and prompt is off. |
| |
| Renaming UserMediaProcessManager::willEnableMediaStreamInPage to muteCaptureMediaStreamsExceptIn. |
| This eases reading the code. |
| Making sure that a page for which a new getUserMedia MediaStream will be created is capture-unmuted. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| * UIProcess/UserMediaProcessManager.cpp: |
| (WebKit::UserMediaProcessManager::muteCaptureMediaStreamsExceptIn): |
| (WebKit::UserMediaProcessManager::willCreateMediaStream): |
| * UIProcess/UserMediaProcessManager.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setMuted): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::activateMediaStreamCaptureInPage): |
| |
| 2017-06-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [WPE] Enable remote inspector |
| https://bugs.webkit.org/show_bug.cgi?id=172971 |
| |
| Reviewed by Žan Doberšek. |
| |
| Initialize the remote inpector if needed. |
| |
| * UIProcess/wpe/WebProcessPoolWPE.cpp: |
| (WebKit::initializeRemoteInspectorServer): |
| (WebKit::WebProcessPool::platformInitialize): |
| |
| 2017-06-06 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Make remote inspector DBus protocol common to all glib based ports |
| https://bugs.webkit.org/show_bug.cgi?id=172970 |
| |
| Reviewed by Žan Doberšek. |
| |
| Use webkit instead of webkitgtk and reomve platform idfeds. |
| |
| * UIProcess/glib/RemoteInspectorClient.cpp: |
| |
| 2017-06-06 Zan Dobersek <zdobersek@igalia.com> |
| |
| [WPE] Don't disable Web security preference by default |
| https://bugs.webkit.org/show_bug.cgi?id=172964 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/wpe/WPEView.cpp: |
| (WKWPE::View::View): Don't disable Web security by default. |
| |
| 2017-06-05 Chris Dumez <cdumez@apple.com> |
| |
| ASSERTION FAILED: RunLoop::isMain() in com.apple.WebKit: IPC::Connection::sendSyncMessage + 128 |
| https://bugs.webkit.org/show_bug.cgi?id=172943 |
| <rdar://problem/31288058> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| In Connection::sendMessage(), make sure we only ever transform asynchronous messages into synchronous |
| ones if sendMessage() is called on the main thread. This is necessary because we no longer support |
| sending synchronous messages from a background thread since r205125. |
| |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::sendMessage): |
| (IPC::Connection::sendSyncMessage): |
| |
| 2017-06-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Revert r217405, this headerpad increase is no longer needed. |
| |
| Rubber-stamped by Dan Bernstein. |
| |
| * Configurations/BaseXPCService.xcconfig: |
| |
| 2017-06-05 Dan Bernstein <mitz@apple.com> |
| |
| Tried to fix the build when targrting macOS 10.12 using the macOS 10.13 developer beta SDK. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::mediaPlaybackControlsView): |
| |
| 2017-06-05 Jer Noble <jer.noble@apple.com> |
| |
| Allow clients to specify a list of codecs which should require hardware decode support. |
| https://bugs.webkit.org/show_bug.cgi?id=172787 |
| |
| Reviewed by Alex Christensen. |
| |
| Add a WKWebPageConfiguration (and associated WebPreferences and WKPreferencesRef) properties |
| allowing clients to require specified codecs have hardware decode support. Also open up the |
| sandbox on Cocoa ports to services required to check for hardware decode availability. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetMediaCodecsRequiringHardwareSupport): |
| (WKPreferencesCopyMediaCodecsRequiringHardwareSupport): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _mediaCodecsRequiringHardwareSupport]): |
| (-[WKWebViewConfiguration _setMediaCodecsRequiringHardwareSupport:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-06-05 Beth Dakin <bdakin@apple.com> |
| |
| Modify Netflix controlsManager quirk to prevent only scrubbing |
| https://bugs.webkit.org/show_bug.cgi?id=172881 |
| -and corresponding- |
| rdar://problem/32228660 |
| |
| Reviewed by Andy Estes. |
| |
| Plumbing for allowsTouchBarScrubbing. See WebCore ChangeLog for more details. |
| |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: |
| (WebKit::WebPlaybackSessionModelContext::setAllowsTouchBarScrubbing): |
| (WebKit::WebPlaybackSessionManagerProxy::setAllowsTouchBarScrubbing): |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionInterfaceContext::allowsTouchBarScrubbingChanged): |
| (WebKit::WebPlaybackSessionManager::allowsTouchBarScrubbingChanged): |
| |
| 2017-06-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ build with OpenGL disabled after r217779. |
| |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::mainFrameContentSizeChanged): |
| |
| 2017-06-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [WPE] Use AcceleratedDrawingArea instead of its fork |
| https://bugs.webkit.org/show_bug.cgi?id=172496 |
| |
| Reviewed by Žan Doberšek. |
| |
| WPE uses its own drawing area implementation, which is actually a fork of AcceleratedDrawingArea, but simplified |
| for the case of compositing being always forced. AcceleratedDrawingArea already handles the case of compositing |
| being forced, so now that WPE is upstream we could simply use AcceleratedDrawingArea instead. |
| |
| * PlatformWPE.cmake: |
| * Shared/DrawingAreaInfo.h: Remove DrawingAreaTypeWPE type. |
| * UIProcess/API/wpe/DrawingAreaProxyWPE.cpp: Removed. |
| * UIProcess/API/wpe/DrawingAreaProxyWPE.h: Removed. |
| * UIProcess/API/wpe/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::createDrawingAreaProxy): Create an AcceleratedDrawingAreaProxy. |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::mainFrameContentSizeChanged): Moved from DrawingAreaImpl since it actually |
| belongs here. |
| * WebProcess/WebPage/DrawingArea.cpp: |
| (WebKit::DrawingArea::create): Create an AcceleratedDrawingArea for WPE port. |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: Remove mainFrameContentSizeChanged() that doesn't belong here. |
| * WebProcess/WebPage/DrawingAreaImpl.h: |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.cpp: Removed. |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.h: Removed. |
| |
| 2017-06-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Sort the project file. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-06-02 Chris Dumez <cdumez@apple.com> |
| |
| ResourceLoadStatistics are not using unique paths during test runs |
| https://bugs.webkit.org/show_bug.cgi?id=172861 |
| <rdar://problem/32442251> |
| |
| Reviewed by Darin Adler. |
| |
| Add WKContextConfigurationSetResourceLoadStatisticsDirectory() C API to allow |
| WKTR to use a custom directory. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration): |
| (API::ProcessPoolConfiguration::ProcessPoolConfiguration): |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| (WKContextConfigurationCopyResourceLoadStatisticsDirectory): |
| (WKContextConfigurationSetResourceLoadStatisticsDirectory): |
| * UIProcess/API/C/WKContextConfigurationRef.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::legacyWebsiteDataStoreConfiguration): |
| |
| 2017-06-02 Brady Eidson <beidson@apple.com> |
| |
| Prevent scheme handlers from handling all built-in URL schemes. |
| <rdar://problem/32404790> and https://bugs.webkit.org/show_bug.cgi?id=172869 |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (+[WKWebView handlesURLScheme:]): Check against WebCore's new master list of URL schemes. |
| |
| 2017-06-02 Simon Fraser <simon.fraser@apple.com> |
| |
| All scroll peformance logging should happen in the UI process |
| https://bugs.webkit.org/show_bug.cgi?id=172874 |
| rdar://problem/24474830 |
| |
| Reviewed by Tim Horton. |
| |
| Printing to stdout from the WebProcess doesn't show up anywhere in non-development builds, |
| so we have to log from the UI process. |
| |
| Achieve this by adding a PerformanceLoggingClient to Page which forwards messages to |
| WebPageProxy, which prints them with the same format they had before. Some plumbing through |
| PlatformCALayerClient and GraphicsLayerClient is required to get messages from TileControllers |
| through to something that can get to Page. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::logScrollingEvent): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebPerformanceLoggingClient.cpp: Added. |
| (WebKit::WebPerformanceLoggingClient::WebPerformanceLoggingClient): |
| (WebKit::WebPerformanceLoggingClient::logScrollingEvent): |
| * WebProcess/WebCoreSupport/WebPerformanceLoggingClient.h: Added. |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_cpuLimit): |
| |
| 2017-06-02 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION (r206386): Xactimate Website Crashes @ com.apple.WebKit: WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant + 255 |
| https://bugs.webkit.org/show_bug.cgi?id=172846 |
| <rdar://problem/31093005> |
| |
| Reviewed by Mark Lam. |
| |
| Follow-up to r217695 to deal with exceptions potentially thrown by |
| NPRuntimeObjectMap::convertJSValueToNPVariant() as well. |
| |
| * WebProcess/Plugins/Netscape/NPJSObject.cpp: |
| (WebKit::NPJSObject::invoke): |
| |
| 2017-06-02 Jeremy Jones <jeremyj@apple.com> |
| |
| Add abilility to specify presentingApplicationPID for a WebProcessPool. |
| https://bugs.webkit.org/show_bug.cgi?id=172839 |
| rdar://problem/32247170 |
| |
| Reviewed by Tim Horton. |
| |
| Expose presentingApplicationPID through WebProcessPoolConfiguration. |
| This allows rehosted WebViews to specify the hosting application. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration setPresentingApplicationPID:]): |
| (-[_WKProcessPoolConfiguration presentingApplicationPID]): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureNetworkProcess): |
| (WebKit::WebProcessPool::createNewWebProcess): |
| |
| 2017-06-02 Frederic Wang <fwang@igalia.com> |
| |
| [Mac] Use compositing for frames when ScrollingTreeIncludesFrames=true |
| https://bugs.webkit.org/show_bug.cgi?id=172851 |
| |
| Reviewed by Simon Fraser. |
| |
| When fast frame scrolling is supported on mac (bug 171667), scrollable frames will require |
| special composited layer. This commit enables that on mac but only when |
| ScrollingTreeIncludesFrames=true, so that the default behavior is unchanged. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.h: Make scrollable inner frame trigger |
| compositing on Mac by default. This is ignored on mac when ScrollingTreeIncludesFrames=false. |
| Rename ScrollableInnerFrameTrigger to ScrollableNonMainFrameTrigger. |
| |
| 2017-06-02 Zalan Bujtas <zalan@apple.com> |
| |
| Allow clients to override viewport size for CSS viewport units. |
| https://bugs.webkit.org/show_bug.cgi?id=172838 |
| <rdar://problem/32523441> |
| |
| Reviewed by Tim Horton. |
| |
| This enables auto-sizing clients to ensure that styles relative to the viewport are |
| resolved to a set value (presumably the size of the container) as opposed to the preferred |
| document size (which is set as the FrameView size). |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _viewportSizeForCSSViewportUnits]): |
| (-[WKWebView _setViewportSizeForCSSViewportUnits:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| (WebKit::WebPageProxy::setViewportSizeForCSSViewportUnits): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::viewportSizeForCSSViewportUnits): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_cpuLimit): |
| (WebKit::WebPage::setViewportSizeForCSSViewportUnits): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::viewportSizeForCSSViewportUnits): |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2017-06-02 Simon Fraser <simon.fraser@apple.com> |
| |
| Get <chrono> out of StdLibExtras.h |
| https://bugs.webkit.org/show_bug.cgi?id=172744 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Only bring in <chrono> and namespace std::literals::chrono_literals when necessary. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| * NetworkProcess/cache/NetworkCacheFileSystem.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::computeRecordWorth): |
| * Shared/mac/RemoteLayerBackingStoreCollection.mm: |
| * WebProcess/Cookies/WebCookieManager.h: |
| |
| 2017-06-02 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Add a "supportedCountries" property to ApplePayPaymentRequest |
| https://bugs.webkit.org/show_bug.cgi?id=172832 |
| <rdar://problem/30735544> |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: |
| (IPC::ArgumentCoder<PaymentRequest>::encode): |
| (IPC::ArgumentCoder<PaymentRequest>::decode): |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toNSSet): |
| (WebKit::toPKPaymentRequest): |
| |
| 2017-06-02 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] Header postprocessing should be based on the target OS version rather than the builder OS version |
| https://bugs.webkit.org/show_bug.cgi?id=172860 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/WebKit.xcconfig: Use TARGET_MAC_OS_X_VERSION_MAJOR |
| |
| 2017-06-02 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| REGRESSION(r217214): [Coordinated Graphics] UpdateAtlas didn't released while resetting testrunner |
| https://bugs.webkit.org/show_bug.cgi?id=172746 |
| |
| Reviewed by Žan Doberšek. |
| |
| After clearing update atlases in CompositingCoordinator, we should |
| release update atlases at the compositing thread, too. |
| |
| We cannot remove update atlases from the CoordinatedGraphicsScene |
| without regard to update scheduling, since previously committed scene |
| states can try to use already released update atlases. |
| To prevent this timing problem, releasing update atlases should be done |
| with a update scheduler. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::syncRemoteContent): |
| (WebKit::CoordinatedGraphicsScene::appendUpdate): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| Use WTF::Function instead of std::function |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::updateSceneState): |
| (WebKit::ThreadedCompositor::releaseUpdateAtlases): |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::ThreadedCompositor::flushPendingLayerChanges): |
| Release UpdateAtlases at the end of compositing states update, too. |
| (WebKit::CompositingCoordinator::clearUpdateAtlases): |
| |
| 2017-06-01 Andreas Kling <akling@apple.com> |
| |
| [Mac] Remove backing store for layers that are outside the viewport |
| https://bugs.webkit.org/show_bug.cgi?id=170082 |
| <rdar://problem/31245009> |
| |
| Reviewed by Simon Fraser. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| |
| 2017-06-01 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION (r206386): Xactimate Website Crashes @ com.apple.WebKit: WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant + 255 |
| https://bugs.webkit.org/show_bug.cgi?id=172846 |
| <rdar://problem/31093005> |
| |
| Reviewed by Andreas Kling. |
| |
| In NPJSObject::invoke(), return early if there was an exception when calling JSC::call(). |
| Using the value returned by JSC::call() when an exception occurred is unsafe. |
| |
| * WebProcess/Plugins/Netscape/NPJSObject.cpp: |
| (WebKit::NPJSObject::invoke): |
| |
| 2017-06-01 Jon Lee <jonlee@apple.com> |
| |
| Rename an experimental feature item |
| https://bugs.webkit.org/show_bug.cgi?id=172830 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2017-06-01 Andy Estes <aestes@apple.com> |
| |
| REGRESSION (r217626): ENABLE_APPLE_PAY_SESSION_V3 was disabled by mistake |
| https://bugs.webkit.org/show_bug.cgi?id=172828 |
| |
| Reviewed by Beth Dakin. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-06-01 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Update plugin process sandbox profile for flash plugin on HBONow |
| https://bugs.webkit.org/show_bug.cgi?id=172820 |
| <rdar://problem/32513297> |
| |
| Reviewed by Brent Fulgham. |
| |
| Relax the IOKit whitelist to silence sandbox violations by Flash plugin on |
| HBONow. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| |
| 2017-06-01 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Upstream support for JCB as a supported payment network |
| https://bugs.webkit.org/show_bug.cgi?id=172819 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toSupportedNetwork): |
| (WebKit::toAdditionalSupportedNetwork): Deleted. |
| |
| 2017-05-31 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] "administrativeArea" contact field maps to the wrong CNPostalAddress key when creating NSErrors |
| https://bugs.webkit.org/show_bug.cgi?id=172784 |
| <rdar://problem/32414416> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toNSError): Used CNPostalAddressStateKey instead of CNPostalAddressCityKey. |
| |
| 2017-05-31 Andy Estes <aestes@apple.com> |
| |
| Rename ENABLE_APPLE_PAY_DELEGATE to ENABLE_APPLE_PAY_SESSION_V3 and bump the supported version number |
| https://bugs.webkit.org/show_bug.cgi?id=172366 |
| |
| Reviewed by Daniel Bates. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebProcess/ApplePay/WebPaymentCoordinator.cpp: |
| (WebKit::WebPaymentCoordinator::supportsVersion): |
| |
| 2017-05-31 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Fix bad assertion in BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck() |
| https://bugs.webkit.org/show_bug.cgi?id=172763 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Fix bad assertion in BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck(). |
| It gets hit when a process becomes unresponsive. The reason is that RunLoop::Timer::isActive() |
| still returns true while the timerFired() callback is called. |
| |
| * UIProcess/BackgroundProcessResponsivenessTimer.cpp: |
| (WebKit::BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck): |
| |
| 2017-05-31 Youenn Fablet <youenn@apple.com> |
| |
| Make WebRTC legacy API switch an experimental feature |
| https://bugs.webkit.org/show_bug.cgi?id=172760 |
| |
| Reviewed by Eric Carlson. |
| |
| This patch adds an experimental feature to disable WebRTC legacy API. |
| We keep the runtime flag as "enable WebRTC legacy API" to minimize the changes and as it is clearer in the code. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetWebRTCLegacyAPIEnabled): |
| (WKPreferencesGetWebRTCLegacyAPIEnabled): |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _webRTCLegacyAPIEnabled]): |
| (-[WKPreferences _setWebRTCLegacyAPIEnabled:]): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-05-31 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r217603. |
| |
| This patch broke the internal builds. |
| |
| Reverted changeset: |
| |
| "Get <chrono> out of StdLibExtras.h" |
| https://bugs.webkit.org/show_bug.cgi?id=172744 |
| http://trac.webkit.org/changeset/217603 |
| |
| 2017-05-31 Brent Fulgham <bfulgham@apple.com> |
| |
| Make ResourceLoadStatistics testing more reliable |
| https://bugs.webkit.org/show_bug.cgi?id=172730 |
| <rdar://problem/32028373> |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed): Add a convenience method to notify the |
| WebProcess when the UIProcess has finished processing the load statistics data. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords): Notify clients (if they requested) when |
| statistics have been processed. |
| |
| 2017-05-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Get <chrono> out of StdLibExtras.h |
| https://bugs.webkit.org/show_bug.cgi?id=172744 |
| |
| Reviewed by Saam Barati. |
| |
| Only bring in <chrono> and namespace std::literals::chrono_literals when necessary. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| * NetworkProcess/cache/NetworkCacheFileSystem.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::computeRecordWorth): |
| * Shared/mac/RemoteLayerBackingStoreCollection.mm: |
| * WebProcess/Cookies/WebCookieManager.h: |
| |
| 2017-05-31 Zan Dobersek <zdobersek@igalia.com> |
| |
| CoordinatedLayerTreeHost: properly support async force repaints |
| https://bugs.webkit.org/show_bug.cgi?id=172444 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Before these changes the force-repaint callbacks were executed once |
| the next layer flush was performed. This is not appropriate since |
| with the threaded compositor this was done even before the flushed |
| state was handled on the rendering thread. |
| |
| Instead, the callback should be invoked once the first following |
| flushed state is rendered through the compositor and the update |
| finish is reported back to CoordinatedLayerTreeHost through invoking |
| the renderNextFrame() method. |
| |
| If the force-repaint callback is registered while a state update is |
| already being processed by the renderer (i.e. the threaded compositor), |
| the callback is invoked only after the following flush, which is |
| executed when renderNextFrame() is called for the current state update. |
| |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: |
| Add the forceFrameSync() method that forces the following state flush |
| to produce a state update that will be handled by the compositor. |
| This ensures that the compositor informs the CoordinatedLayerTreeHost |
| once this state update is done, invoking renderNextFrame() which would |
| handle the force-repaint callback. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::forceRepaintAsync): |
| (WebKit::CoordinatedLayerTreeHost::renderNextFrame): |
| (WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| Remove the forceRepaintAsync() override that returned false. |
| |
| 2017-05-31 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix copy-paste error added in r217209. |
| |
| It seems I pasted twice. |
| |
| * UIProcess/API/gtk/WebKitContextMenuItem.h: |
| |
| 2017-05-30 Tim Horton <timothy_horton@apple.com> |
| |
| Keyboard autocorrections do not apply with an active selection (but keyboard acts like they did) |
| https://bugs.webkit.org/show_bug.cgi?id=172735 |
| <rdar://problem/32015977> |
| |
| Reviewed by Enrica Casucci. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView applyAutocorrection:toString:withCompletionHandler:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| Expose applyAutocorrection on the WKTesting category for use from UIScriptController. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::syncApplyAutocorrection): |
| If there is a range selection and it precisely matches the autocorrection's "before" |
| string, allow the autocorrection to take place. |
| |
| 2017-05-30 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: images dragged from Inspector to Desktop are named "Unknown.png" |
| https://bugs.webkit.org/show_bug.cgi?id=141515 |
| <rdar://problem/9251308> |
| |
| Reviewed by Wenson Hsieh. |
| |
| In Web Inspector these images are <img src="..."> with data: or blob: |
| content. In these cases we have the image data but the URL does not |
| provide a useful name. In fact the name "Unknown.png" comes from |
| -[NSURLResponse suggestedFilename] for this URL / content. |
| |
| To start, improve this situation for drags in Web Inspector pages. |
| If the image element being dragged has a filename attribute use that |
| as the suggested filename for the drag. |
| |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::declareAndWriteDragImage): |
| |
| 2017-05-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Only include DataDetectorsUI headers in iOS |
| https://bugs.webkit.org/show_bug.cgi?id=172633 |
| |
| Reviewed by David Kilzer. |
| |
| Enable data detectors only on iOS and not other variants of iOS. |
| |
| * Platform/spi/ios/ManagedConfigurationSPI.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _dataDetectionResults]): |
| * UIProcess/ios/WKActionSheetAssistant.h: |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showDataDetectorsSheet]): |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _actionForLongPressFromPositionInformation:]): |
| (-[WKContentView _didNotHandleTapAsClick:]): |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm: |
| (-[WKWebProcessPlugInRangeHandle detectDataWithTypes:context:]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::handleTap): |
| (WebKit::WebPage::handleTwoFingerTapAtPoint): |
| (WebKit::WebPage::commitPotentialTap): |
| |
| 2017-05-30 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION(r215946): Can't reference a table cell in Google spreadsheet |
| https://bugs.webkit.org/show_bug.cgi?id=172703 |
| <rdar://problem/32458086> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Fix GObject bindings accordingly. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.cpp: |
| (WebKit::kit): |
| (WebKit::core): |
| (WebKit::wrapDOMRectList): |
| (webkit_dom_client_rect_list_constructed): |
| (webkit_dom_client_rect_list_item): |
| (webkit_dom_client_rect_list_get_length): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectListPrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp: |
| (webkit_dom_element_get_client_rects): |
| |
| 2017-05-30 Daniel Bates <dabates@apple.com> |
| |
| [WK2] Add runBeforeUnloadConfirmPanel WKUIDelegate SPI; support onbeforeunload confirm panel in MiniBrowser |
| https://bugs.webkit.org/show_bug.cgi?id=172603 |
| <rdar://problem/32471306> |
| |
| Reviewed by Brady Eidson. |
| |
| A page loaded in MiniBrowser using WebKit2 cannot show a beforeunload confirm panel (by registering |
| an onbeforeunload event handler) when it is unloaded. The same page loaded in MiniBrowser using |
| WebKit1 can show such a confirm panel. We need to add WKUIDelegate SPI so that an embedding client, |
| such as MiniBrowser, can register to receive a callback to show a beforeunload confirm panel. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::runBeforeUnloadConfirmPanel): Modified to take a SecurityOriginData object. This |
| makes the API consistent with the existing JavaScript dialog callbacks. |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add SPI -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView setUIDelegate:]): Set the delegate of WebKit::UIDelegate to the specified WKUIDelegate |
| before we set the UI client on the page so as to ensure that API::UIClient callbacks that depend |
| -respondsToSelector: checks (e.g. API::UIClient::canRunBeforeUnloadConfirmPanel()) return the correct |
| result. To elaborate further, a API::UIClient client must override both canRunBeforeUnloadConfirmPanel() |
| and runBeforeUnloadConfirmPanel() to support running a beforeunload confirm dialog. When mapping |
| the Cocoa SPI, WKUIDelegatePrivate, to API::UIClient we implement API::UIClient::canRunBeforeUnloadConfirmPanel() |
| in terms of whether the Cocoa delegate responds at runtime to the selector -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:. |
| We need to do such runtime checks before we pass the API::UIClient to the page. Otherwise, querying |
| API::UIClient::canRunBeforeUnloadConfirmPanel() will return the wrong result. |
| * UIProcess/API/gtk/WebKitUIClient.cpp: Modified runBeforeUnloadConfirmPanel() to take a SecurityOriginData object. |
| * UIProcess/Cocoa/UIDelegate.h: Add declarations for API::UIClient overrides: canRunBeforeUnloadConfirmPanel() |
| and runBeforeUnloadConfirmPanel(). Add a bit to m_delegateMethods as to whether the Cocoa delegate |
| responds to selector -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:. |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): Set the above m_delegateMethods bit if the Cocoa delegate responds |
| to selector -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:. |
| (WebKit::UIDelegate::UIClient::canRunBeforeUnloadConfirmPanel): Return whether the above m_delegateMethods |
| bit was set. |
| (WebKit::UIDelegate::UIClient::runBeforeUnloadConfirmPanel): Turn around and call -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: (if applicable). |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): Modified to take a SecurityOriginData object |
| and pass it to API::UIClient::runBeforeUnloadConfirmPanel(). |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: Add SecurityOriginData argument to message RunBeforeUnloadConfirmPanel. |
| Also pass the message for the panel as the last argument so as to make the order of arguments to message |
| RunBeforeUnloadConfirmPanel more closely match the order of arguments passed to other JavaScript dialog |
| messages (e.g. RunJavaScriptAlert) for consistency. |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): Include the SecurityOriginData object for the |
| frame in message RunBeforeUnloadConfirmPanel. |
| |
| 2017-05-30 Alex Christensen <achristensen@webkit.org> |
| |
| Update libwebrtc configuration |
| https://bugs.webkit.org/show_bug.cgi?id=172727 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-05-30 Tim Horton <timothy_horton@apple.com> |
| |
| Dictionary lookup disappears after a few seconds on observer.com |
| https://bugs.webkit.org/show_bug.cgi?id=172725 |
| <rdar://problem/32328324> |
| |
| Reviewed by Beth Dakin. |
| |
| Only dismiss content-relative child windows on main frame loads, |
| not all subframes. This was causing e.g. dictionary popovers |
| relative to main-frame content to be dismissed when subframe |
| ads finished loading, which is likely the cause of most incidents |
| of this problem. |
| |
| If the popover is relative to subframe content and the subframe |
| navigates out from under the popover, the popover will persist until |
| dismissed by the user (or one of the other automatic dismissal |
| mechanisms), but that seems preferable to the old behavior. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| Remove an unimplemented and unused declaration. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::processDidExit): |
| Move dismissContentRelativeChildWindows call here from WebPageProxy. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didCommitLoadForFrame): |
| (WebKit::WebPageProxy::resetStateAfterProcessExited): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::didCommitLoadForMainFrame): |
| (WebKit::PageClientImpl::navigationGestureDidBegin): |
| (WebKit::PageClientImpl::dismissContentRelativeChildWindows): |
| Remove dismissContentRelativeChildWindows from PageClient(Impl), |
| call it from inside PageClientImpl and other Mac-specific places |
| instead of inside ifdefs in WebPageProxy. |
| |
| 2017-05-30 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Don't use designated initializers in WebBackForwardListProxy.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=172667 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/WebPage/WebBackForwardListProxy.cpp: |
| (WebKit::WebBackForwardListProxy::addItemFromUIProcess): |
| (WebKit::WebBackForwardListProxy::addItem): |
| |
| 2017-05-30 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION(r191402?): Safari, Mail crash at com.apple.WebKit: WebKit::WebContextMenuListenerProxy::invalidate + 4 |
| https://bugs.webkit.org/show_bug.cgi?id=172704 |
| |
| Reviewed by Andreas Kling. |
| |
| r191402 made WebContextMenuProxy non-refcounted. However there are several potential ways for WebContextMenuProxyMac::show() |
| to re-enter WebPageProxy and delete itself. This patch partially reverts r191402 bringing refcounting back and protects |
| WebContextMenuProxy during show(). |
| |
| Speculative fix. No test, can't repro the crash. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebContextMenuProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::internalShowContextMenu): |
| |
| Protect WebContextMenuProxy during show(). |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/gtk/WebContextMenuProxyGtk.h: |
| (WebKit::WebContextMenuProxyGtk::create): |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::createContextMenuProxy): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::createContextMenuProxy): |
| * UIProcess/mac/WebContextMenuProxyMac.h: |
| (WebKit::WebContextMenuProxyMac::create): |
| |
| 2017-05-30 Zan Dobersek <zdobersek@igalia.com> |
| |
| Invalidate the LayerTreeHost when destroying the DrawingAreaWPE object. |
| |
| Rubber-stamped by Carlos Garcia Campos. |
| |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.cpp: |
| (WebKit::DrawingAreaWPE::~DrawingAreaWPE): Invalidate the LayerTreeHost |
| object, properly deconstructing the graphics pipeline. |
| |
| 2017-05-29 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] Remove unneeded forward declaration |
| |
| Rubber-stamped by Zan Dobersek. |
| |
| * UIProcess/API/C/gtk/WKAPICastGtk.h: Remove WebGrammarDetail as |
| its header is included in the same file. |
| |
| 2017-05-29 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [WPE] Build fix after r217531 |
| |
| Unreviewed. |
| |
| * UIProcess/API/C/wpe/WKAPICastWPE.h: |
| (WebKit::toAPI): Add missing WebGrammarDetail API cast. |
| |
| 2017-05-28 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES |
| https://bugs.webkit.org/show_bug.cgi?id=172691 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO. |
| |
| * UIProcess/API/C/WKAPICast.h: Moved GTK-only definitions that used WebGrammarDetail.h to |
| WKAPICastGtk.h. This had the effect of no longer including APIArray.h from this header. |
| |
| * UIProcess/API/C/gtk/WKAPICastGtk.h: Moved GTK-only definitions to here. |
| (WebKit::toAPI): |
| * UIProcess/WebGrammarDetail.h: Replaced include of APIArray.h with a forward declaration. |
| |
| * Shared/API/c/WKRenderLayer.cpp: |
| * Shared/API/c/WKRenderObject.cpp: |
| * UIProcess/API/C/WKApplicationCacheManager.cpp: |
| * UIProcess/API/C/WKContext.cpp: |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| * UIProcess/API/C/WKCookieManager.cpp: |
| * UIProcess/API/C/WKKeyValueStorageManager.cpp: |
| * UIProcess/API/C/WKNotificationManager.cpp: |
| * UIProcess/API/C/WKOpenPanelResultListener.cpp: |
| * UIProcess/API/C/WKPageGroup.cpp: |
| * UIProcess/API/C/WKResourceCacheManager.cpp: |
| * UIProcess/API/C/WKUserContentControllerRef.cpp: |
| * UIProcess/API/gtk/WebKitBackForwardList.cpp: |
| * UIProcess/WebContextMenuListenerProxy.cpp: |
| |
| Added #include "APIArray.h" to these files now that WKAPICast.h does not include it. |
| |
| 2017-05-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Simply some NSNumber usage |
| https://bugs.webkit.org/show_bug.cgi?id=172677 |
| |
| Reviewed by Sam Weinig. |
| |
| * PluginProcess/mac/PluginControllerProxyMac.mm: |
| (WebKit::PluginControllerProxy::platformGeometryDidChange): |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::registerUserDefaultsIfNeeded): |
| * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm: |
| (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]): |
| |
| 2017-05-26 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2] Address thread safety issues with ResourceLoadStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=172519 |
| <rdar://problem/31707642> |
| |
| Reviewed by Chris Dumez. |
| |
| Address some thread safety issues with the ResourceLoadStatistics architecture. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): Assert that this is never called on the main thread. Also |
| ensure that coreStore is only accessed on the statistics queue, not the main thread. |
| (WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords): Dispatch coreStore-accessing code |
| on the statistics queue. |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): Assert we do not hit this method |
| on the main thread. |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): Assert that this is being called on the |
| main thread. Also ensure that coreStore is only accessed on the statistics queue, not the main thread. |
| (WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData): Dispatch coreStore-accessing code |
| on the statistics queue. |
| (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): Lock data before operating on it. |
| (WebKit::WebResourceLoadStatisticsStore::writeStoreToDisk): Assert we do not hit this method on the main thread. |
| (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk): Ditto. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * WebProcess/WebProcess.cpp: Add a queue for the local WebProcess ResourceLoadStatisticsStore to use while processing data. |
| (WebKit::m_statisticsQueue): Added. |
| * WebProcess/WebProcess.h: |
| |
| 2017-05-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| [Cocoa] Simplify some WebViewImpl pasteboard code |
| https://bugs.webkit.org/show_bug.cgi?id=172668 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/mac/PasteboardTypes.mm: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::setFileAndURLTypes): |
| (WebKit::WebViewImpl::setPromisedDataForAttachment): |
| |
| 2017-05-26 Joseph Pecoraro <pecoraro@apple.com> |
| |
| JSContext Inspector: Improve the reliability of automatically pausing in auto-attach |
| https://bugs.webkit.org/show_bug.cgi?id=172664 |
| <rdar://problem/32362933> |
| |
| Reviewed by Matt Baker. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::connect): |
| * UIProcess/Automation/WebAutomationSession.h: |
| Special connection options are ignored in automation sessions. |
| |
| 2017-05-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r217479. |
| https://bugs.webkit.org/show_bug.cgi?id=172642 |
| |
| Exposes an underlying bug in WPEBackend-mesa that we have to |
| resolve separately (Requested by zdobersek on #webkit). |
| |
| Reverted changeset: |
| |
| "[WPE] Use AcceleratedDrawingArea instead of its fork" |
| https://bugs.webkit.org/show_bug.cgi?id=172496 |
| http://trac.webkit.org/changeset/217479 |
| |
| 2017-05-26 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed Mac cmake buildfix after r217137, just for fun. |
| https://bugs.webkit.org/show_bug.cgi?id=172362 |
| |
| * PlatformMac.cmake: |
| |
| 2017-05-26 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [WPE] Use AcceleratedDrawingArea instead of its fork |
| https://bugs.webkit.org/show_bug.cgi?id=172496 |
| |
| Reviewed by Žan Doberšek. |
| |
| WPE uses its own drawing area implementation, which is actually a fork of AcceleratedDrawingArea, but simplified |
| for the case of compositing being always forced. AcceleratedDrawingArea already handles the case of compositing |
| being forced, so now that WPE is upstream we could simply use AcceleratedDrawingArea instead. |
| |
| * PlatformWPE.cmake: |
| * Shared/DrawingAreaInfo.h: Remove DrawingAreaTypeWPE type. |
| * UIProcess/API/wpe/DrawingAreaProxyWPE.cpp: Removed. |
| * UIProcess/API/wpe/DrawingAreaProxyWPE.h: Removed. |
| * UIProcess/API/wpe/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::createDrawingAreaProxy): Create an AcceleratedDrawingAreaProxy. |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::mainFrameContentSizeChanged): Moved from DrawingAreaImpl since it actually |
| belongs here. |
| * WebProcess/WebPage/DrawingArea.cpp: |
| (WebKit::DrawingArea::create): Create an AcceleratedDrawingArea for WPE port. |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: Remove mainFrameContentSizeChanged() that doesn't belong here. |
| * WebProcess/WebPage/DrawingAreaImpl.h: |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.cpp: Removed. |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.h: Removed. |
| |
| 2017-05-25 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| [iOS] Disbale async image decoding when synchronously painting a newly parented WebView |
| https://bugs.webkit.org/show_bug.cgi?id=172626 |
| |
| Reviewed by Simon Fraser. |
| |
| Large images have to be synchronously decoded when bringing a WebView to |
| the foreground because the whole page will be painted when we unblock the |
| UI process. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::drawInContext): Get nextFlushIsForImmediatePaint |
| from RemoteLayerTreeContext and pass the correct GraphicsLayerPaintFlags |
| to drawLayerContents(). |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: |
| (WebKit::RemoteLayerTreeContext::setNextFlushIsForImmediatePaint): |
| (WebKit::RemoteLayerTreeContext::nextFlushIsForImmediatePaint): |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::flushLayers): Pass |
| m_nextFlushIsForImmediatePaint to RemoteLayerTreeContext and then reset it. |
| (WebKit::RemoteLayerTreeDrawingArea::activityStateDidChange): |
| Set m_nextFlushIsForImmediatePaint to true to say that in the next flush, |
| large images have to be synchronously decoded. |
| |
| 2017-05-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| _WKUserStyleSheet and WKUserScript leak string data |
| https://bugs.webkit.org/show_bug.cgi?id=172583 |
| <rdar://problem/32395209> |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKUserScript.mm: |
| (-[WKUserScript dealloc]): |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: |
| (-[_WKUserStyleSheet dealloc]): |
| Follow the pattern of destructing the internal API object. |
| |
| * UIProcess/API/Cocoa/WKUserScriptInternal.h: |
| * UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h: |
| Remove unnecessary includes. |
| |
| 2017-05-25 Chris Dumez <cdumez@apple.com> |
| |
| ASSERT(m_websiteDataStore->websiteDataStore().sessionID() == m_sessionID) in PageConfiguration::sessionID() |
| https://bugs.webkit.org/show_bug.cgi?id=172615 |
| <rdar://problem/32277488> |
| |
| Reviewed by Brady Eidson. |
| |
| Fix assertion added in r215923 to take into account the fact that the PageConfiguration's sessionID |
| is SessionID::legacyPrivateSessionID() when private browsing is enabled, instead of being the |
| WebsiteDataStore's sessionID. |
| |
| See code in WebProcessPool::createWebPage(): |
| """ |
| pageConfiguration->setSessionID(pageConfiguration->preferences()->privateBrowsingEnabled() ? SessionID::legacyPrivateSessionID() : m_websiteDataStore->websiteDataStore().sessionID()); |
| """ |
| |
| * UIProcess/API/APIPageConfiguration.cpp: |
| (API::PageConfiguration::sessionID): |
| |
| 2017-05-25 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS] Add a mach-lookup exception for 'com.apple.lsd.mapdb' to Network sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=172465 |
| <rdar://problem/32332836> |
| |
| Reviewed by Alex Christensen. |
| |
| Expand sandbox to allow lookup of the mapdb that contains UTI information used |
| by the Network process. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: |
| |
| 2017-05-25 Youenn Fablet <youenn@apple.com> |
| |
| com.apple.coremedia.videoencoder XPC service should be allowed by WebProcess sandbox |
| https://bugs.webkit.org/show_bug.cgi?id=172599 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-05-25 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Avoid setting contentsScale and rasterizationScale on CATransformLayers |
| https://bugs.webkit.org/show_bug.cgi?id=172569 |
| |
| Reviewed by Dean Jackson. |
| |
| Setting contentsScale and rasterizationScale on CATransformLayers is a waste of CPU time, |
| and triggers unwanted logging, so don't do it. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::PlatformCALayerRemote): |
| |
| 2017-05-25 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r217409. |
| |
| The revision caused api failures |
| |
| Reverted changeset: |
| |
| "_WKUserStyleSheet leaks string data" |
| https://bugs.webkit.org/show_bug.cgi?id=172583 |
| http://trac.webkit.org/changeset/217409 |
| |
| 2017-05-25 Joseph Pecoraro <pecoraro@apple.com> |
| |
| _WKUserStyleSheet leaks string data |
| https://bugs.webkit.org/show_bug.cgi?id=172583 |
| <rdar://problem/32395209> |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: |
| (-[_WKUserStyleSheet dealloc]): |
| |
| 2017-05-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Increase the headerpad for WebKit XPC Services |
| https://bugs.webkit.org/show_bug.cgi?id=172571 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Configurations/BaseXPCService.xcconfig: |
| Increase the headerpad to make room for additional dyld commands. |
| |
| 2017-05-24 David Keijser <keijser@gmail.com> |
| |
| [GTK] Provide details on javascript exception |
| https://bugs.webkit.org/show_bug.cgi?id=161187 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewRunJavaScriptCallback): |
| (webkit_web_view_run_javascript): |
| (resourcesStreamReadCallback): |
| |
| 2017-05-24 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, suppress deprecation warnings to fix the build. |
| |
| * Shared/mac/ColorSpaceData.mm: |
| (WebKit::ColorSpaceData::decode): |
| |
| 2017-05-24 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Plumb additional image metadata to item providers when beginning data interaction on an image |
| https://bugs.webkit.org/show_bug.cgi?id=172536 |
| <rdar://problem/32371300> |
| |
| Reviewed by Beth Dakin. |
| |
| Boilerplate plumbing to send suggestedName over IPC. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<PasteboardImage>::encode): |
| (IPC::ArgumentCoder<PasteboardImage>::decode): |
| |
| 2017-05-24 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Remove workaround to disable zooming to the focus rect while performing a data interaction |
| https://bugs.webkit.org/show_bug.cgi?id=172546 |
| |
| Reviewed by Beth Dakin. |
| |
| Removes a now-unnecessary workaround to prevent scrolling when performing a data interaction operation in |
| editable content. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _displayFormNodeInputView]): |
| |
| 2017-05-24 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Change grandfathering default to one hour |
| https://bugs.webkit.org/show_bug.cgi?id=172524 |
| <rdar://problem/32360462> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/WebResourceLoadStatisticsManager.cpp: |
| (WebKit::WebResourceLoadStatisticsManager::resetToConsistentState): |
| |
| 2017-05-24 Jer Noble <jer.noble@apple.com> |
| |
| Rename DisplaySleepDisabler -> SleepDisabler |
| https://bugs.webkit.org/show_bug.cgi?id=172478 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/mac/WKFullScreenWindowController.h: |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| |
| 2017-05-23 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Don't include HSTS cache data in website data removal |
| https://bugs.webkit.org/show_bug.cgi?id=172525 |
| <rdar://problem/32332704> |
| |
| Reviewed by Brent Fulgham. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::initializeDataTypesToRemove): |
| |
| 2017-05-15 Matt Rajca <mrajca@apple.com> |
| |
| Replace autoplay events that fire at navigation with a DidAutoplayMediaPastThreshold event. |
| https://bugs.webkit.org/show_bug.cgi?id=172138 |
| |
| Reviewed by Alex Christensen. |
| |
| Updated auto-play event types. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| |
| 2017-05-23 Chris Dumez <cdumez@apple.com> |
| |
| ASSERT(!m_timeoutTimer.isActive()) hit in BackgroundProcessResponsivenessTimer::responsivenessCheckTimerFired() |
| https://bugs.webkit.org/show_bug.cgi?id=172509 |
| <rdar://problem/32251578> |
| |
| Reviewed by Geoffrey Garen. |
| |
| In the BackgroundProcessResponsivenessTimer class, we have 2 timers: |
| - m_responsivenessCheckTimer that causes us to do an IPC handshake with |
| the WebProcess. |
| - m_timeoutTimer that is started when we send the IPC message to the |
| WebProcess and which is stopped when we get the response from the |
| WebProcess. If we do not get the response by the time m_timeoutTimer |
| fires, then we mark the process as unresponsive. |
| |
| As a result, of the behavior above, whenever the BackgroundProcessResponsivenessTimer |
| is considered "active", there should be one of the 2 timers above that |
| is active, and only one. |
| |
| The assertion hit showed that we decided to start the m_responsivenessCheckTimer |
| timer even though the m_timeoutTimer timer is still active (we are still waiting |
| for an IPC message from the WebProcess and the process is not considered |
| unresponsive yet), which is wrong. The reason was that in |
| BackgroundProcessResponsivenessTimer::updateState(), if we should be active, |
| we would start the m_responsivenessCheckTimer if m_responsivenessCheckTimer is |
| not already active, without checking if m_timeoutTimer is active. So if |
| updateState() was called while the IPC handshake was in process, we would have |
| both timers running at the same time. |
| |
| * UIProcess/BackgroundProcessResponsivenessTimer.cpp: |
| (WebKit::BackgroundProcessResponsivenessTimer::updateState): |
| (WebKit::BackgroundProcessResponsivenessTimer::isActive): |
| * UIProcess/BackgroundProcessResponsivenessTimer.h: |
| |
| 2017-05-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Snapshotting via -renderInContext: should do synchronous image decodes |
| https://bugs.webkit.org/show_bug.cgi?id=172485 |
| rdar://problem/32276146 |
| |
| Reviewed by Tim Horton. |
| |
| Pass the PaintBehaviorSnapshotting flag in functions that do snapshotting. |
| |
| * Shared/mac/RemoteLayerBackingStore.mm: |
| (WebKit::RemoteLayerBackingStore::drawInContext): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: |
| (WebKit::imageForRect): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: |
| (WebKit::InjectedBundleRangeHandle::renderedImage): |
| |
| 2017-05-23 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Remove dead ENABLE(FONT_LOAD_EVENTS) code |
| https://bugs.webkit.org/show_bug.cgi?id=172517 |
| |
| Rubber-stamped by Simon Fraser. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-05-23 Tim Horton <timothy_horton@apple.com> |
| |
| Zoom in/out is slow in Safari with large PDFs |
| https://bugs.webkit.org/show_bug.cgi?id=172495 |
| <rdar://problem/32338631> |
| |
| Reviewed by Simon Fraser. |
| |
| No tests; just a performance improvement. |
| |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::computePageBoxes): |
| Use PDFKit instead of CGPDF to compute the first page box, so we can take |
| advantage of PDFKit optimizations. PDFKit also handles box fallback, |
| so we don't need to do that ourselves. Stop fetching all the boxes, as |
| we only seem to use the first one. |
| |
| 2017-05-23 Tim Horton <timothy_horton@apple.com> |
| |
| REGRESSION: API test WebKit2.WKObject is failing |
| https://bugs.webkit.org/show_bug.cgi?id=172497 |
| <rdar://problem/31694641> |
| |
| Reviewed by Geoff Garen. |
| |
| * Shared/Cocoa/WKNSString.mm: |
| (-[WKNSString superclass]): |
| (-[WKNSString class]): |
| Pretend to be NSString instead of the more specific subclass (__NSCFString) |
| that we actually are. There is code underneath us that assumes that if |
| -class returns __NSCFString, that the object is a CFStringRef, which is |
| not true in our case. |
| |
| 2017-05-23 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS] Add a mach-lookup exception for 'com.apple.analyticsd' |
| https://bugs.webkit.org/show_bug.cgi?id=172462 |
| <rdar://problem/32331638> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2017-05-22 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS] Adopt a whitelist for XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=172182 |
| <rdar://problem/30669445> |
| |
| Reviewed by Sam Weinig. |
| |
| Tell the Sandbox to block all XPC connections that are not explicitly allowed by |
| the sandbox profile. The default behavior is to allow everything by default. |
| |
| If the restriction is set before including the standard iOS sandbox profiles, there |
| does not seem to be a need to white list any other services. |
| |
| General web browsing on multiple devices indicate that these sandbox profiles work |
| properly with media, accessibility, webgl, and general web content. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2017-05-23 Emilio Cobos Álvarez <ecobos@igalia.com> |
| |
| Add a RuntimeEnabledFeature for display: contents, defaulted to false. |
| https://bugs.webkit.org/show_bug.cgi?id=171984 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetDisplayContentsEnabled): |
| (WKPreferencesGetDisplayContentsEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-05-20 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION(r215686): O(n^2) algorithm in CachedRawResource::addDataBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=172406 |
| <rdar://32109532> |
| |
| Reviewed by Brady Eidson. |
| |
| * Platform/IPC/DataReference.cpp: |
| (IPC::SharedBufferDataReference::encode): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::redeliverManualStream): |
| |
| 2017-05-22 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| Need a way to allow WKWebView to load request with ShouldOpenExternalURLsPolicy::ShouldAllow. |
| https://bugs.webkit.org/show_bug.cgi?id=172460 |
| |
| Add an new method [WKWebView _loadRequest:shouldOpenExternalURLs:] to WKWebView; a WebKit client |
| can use this to load request that allows opening external URLs. |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _loadRequest:shouldOpenExternalURLs:]): When calling WebPageProxy::loadRequest, also |
| set ShouldOpenExternalURLsPolicy based on the value of shouldOpenExternalURLs. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: Add [WKWebView _loadRequest:shouldOpenExternalURLs:]. |
| |
| 2017-05-22 Youenn Fablet <youenn@apple.com> |
| |
| Remove AVAudioCaptureSource |
| https://bugs.webkit.org/show_bug.cgi?id=172360 |
| |
| Reviewed by Sam Weinig. |
| |
| Removing the handling of AVAudio/CoreAudio capture source dynamic switch. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetUseAVFoundationAudioCapture): Deleted. |
| (WKPreferencesGetUseAVFoundationAudioCapture): Deleted. |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-05-22 Brian Burg <bburg@apple.com> |
| |
| Web Automation: characters produced with shift modifier on QWERTY keyboard should be delivered as shift-down, char-down, char-up, shift-up events |
| https://bugs.webkit.org/show_bug.cgi?id=172299 |
| <rdar://problem/32277988> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| WebDriver tests expect some ASCII characters to be produced using the shift key, |
| regardless of the actual keyboard layout. Emit extra events when simulating these |
| keystrokes if the shift key is not already pressed. |
| |
| * UIProcess/Automation/mac/WebAutomationSessionMac.mm: |
| (WebKit::characterIsProducedUsingShift): |
| (WebKit::WebAutomationSession::platformSimulateKeySequence): |
| |
| 2017-05-22 Sam Weinig <sam@webkit.org> |
| |
| [WebIDL] Support callbacks with arbitrary return types |
| https://bugs.webkit.org/show_bug.cgi?id=172407 |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.cpp: |
| * WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.h: |
| Update to match new interface of NodeFilterCondition. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp: |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp: |
| Update to account for new WebCore implementation return types. |
| |
| 2017-05-22 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| -Wreturn-type warning triggered by WKPage.cpp:2277 |
| https://bugs.webkit.org/show_bug.cgi?id=171866 |
| |
| Reviewed by Žan Doberšek. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| |
| 2017-05-22 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| -Wreturn-type warning triggered by WebAutomationSession.cpp:851 |
| https://bugs.webkit.org/show_bug.cgi?id=171867 |
| |
| Reviewed by Žan Doberšek. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::protocolModifierToWebEventModifier): |
| |
| 2017-05-22 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Remove unused documentIsHandlingNonDefaultDrag plumbing for WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=172453 |
| |
| Reviewed by Tim Horton. |
| |
| Removes unused plumbing that was originally added to support file uploads. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didPerformDragControllerAction): |
| (WebKit::WebPageProxy::resetCurrentDragInformation): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::currentDragCaretRect): |
| (WebKit::WebPageProxy::documentIsHandlingNonDefaultDrag): Deleted. |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::performDragControllerAction): |
| |
| 2017-05-22 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Add even more input validation in Connection::processMessage() |
| https://bugs.webkit.org/show_bug.cgi?id=171682 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Verify that the size of the out-of-line message body matches the size of the AttachmentInfo |
| that is containing it. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): |
| |
| 2017-05-22 Tomas Popela <tpopela@redhat.com> |
| |
| Remove some of the EFL port leftovers |
| https://bugs.webkit.org/show_bug.cgi?id=172440 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Scripts/generate-forwarding-headers.pl: |
| |
| 2017-05-22 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [CoordinatedGraphics] Clear UpdateAtlases for each tests |
| https://bugs.webkit.org/show_bug.cgi?id=172119 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| In Coordinated Graphics, we reuses at least one update atlas to |
| render root compositing layer for several tests. So if one of the |
| test cases breaks the internal states of Cairo's states, other |
| followed test cases runs on same instance of WebKitTestRunner will |
| be effected by broken states of Cairo. Because it increases test |
| flaknesses, we should drop update atlases after each tests. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: Remove a redundant |
| include statement for Coordinated graphics |
| (WebKit::WebChromeClient::resetUpdateAtlasForTesting): Added. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::resetUpdateAtlasForTesting): Added. |
| * WebProcess/WebPage/AcceleratedDrawingArea.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::clearUpdateAtlases): Added. |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::clearUpdateAtlases): Added. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/DrawingArea.h: |
| * WebProcess/WebPage/LayerTreeHost.h: |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.cpp: |
| (WebKit::DrawingAreaWPE::resetUpdateAtlasForTesting): |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.h: |
| |
| 2017-05-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.17.3 release. |
| |
| * gtk/NEWS: Add release notes for 2.17.3. |
| |
| 2017-05-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add webkit_context_menu_item_new_from_gaction |
| https://bugs.webkit.org/show_bug.cgi?id=159631 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add new API to create a WebKitContextMenuItem from a GAction and also to get the associated GAction. |
| |
| * Shared/gtk/WebContextMenuItemGtk.cpp: |
| (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk): Add constructor that receives a GAction. |
| (WebKit::isGActionChecked): Helper to check if a stateful GAction is checked or not. |
| (WebKit::WebContextMenuItemGtk::createActionIfNeeded): When creating a GAction from a GtkAtion, use the |
| GtkAction name instead of adding a new one. Do not create the GAction if we already have one. |
| * Shared/gtk/WebContextMenuItemGtk.h: |
| (WebKit::WebContextMenuItemGtk::gAction): |
| (WebKit::WebContextMenuItemGtk::gActionTarget): |
| * UIProcess/API/gtk/WebKitContextMenuItem.cpp: |
| (webkit_context_menu_item_new_from_gaction): |
| (webkit_context_menu_item_get_gaction): |
| * UIProcess/API/gtk/WebKitContextMenuItem.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols. |
| * UIProcess/gtk/WebContextMenuProxyGtk.cpp: |
| (WebKit::contextMenuItemActivatedCallback): Update the state of the internal GAction in case of toggle menu items. |
| (WebKit::WebContextMenuProxyGtk::append): Pass the GAction target to g_menu_item_set_action_and_target_value. Do |
| not connect to activate signal of actions provided by the user. |
| |
| 2017-05-21 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Add more input validation in Connection::readBytesFromSocket() |
| https://bugs.webkit.org/show_bug.cgi?id=171871 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Check the control message length is in the limits. Credit to Nathan Crandall for reporting this issue and |
| submitting an equivalent fix. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::readBytesFromSocket): |
| |
| 2017-05-20 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| -Wreturn-type warning triggered by WKNotification.cpp:77 |
| https://bugs.webkit.org/show_bug.cgi?id=172414 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/C/WKNotification.cpp: |
| (WKNotificationCopyDir): |
| |
| 2017-05-19 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Use WebProcessPool::allProcessPools() when sending message to network process about partitioning |
| https://bugs.webkit.org/show_bug.cgi?id=172370 |
| <rdar://problem/32288012> |
| |
| Reviewed by Alex Christensen. |
| |
| The existing test case |
| http/tests/loading/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html |
| is currently failing and should start passing again with this patch. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::shouldPartitionCookiesForTopPrivatelyOwnedDomains): |
| |
| 2017-05-19 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Notify client when a process exceeds background CPU limit while in the foreground |
| https://bugs.webkit.org/show_bug.cgi?id=172246 |
| <rdar://problem/32235411> |
| |
| Reviewed by Geoffrey Garen. |
| |
| When there is a background CPU limit set by the client, we now monitor the CPU |
| usages of all WebContent processes, not just the non-visible ones. This way, we |
| are now able to notify the client a process has exceeded the background CPU |
| limit while in the foreground, via the UIClient's didExceedBackgroundResourceLimitWhileInForeground |
| function, passing kWKResourceLimitCPU. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/APIPageConfiguration.cpp: |
| (API::PageConfiguration::copy): |
| * UIProcess/API/APIPageConfiguration.h: |
| (API::PageConfiguration::cpuLimit): |
| (API::PageConfiguration::setCPULimit): |
| * UIProcess/API/C/WKPageConfigurationRef.cpp: |
| (WKPageConfigurationSetBackgroundCPULimit): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::updateThrottleState): |
| (WebKit::WebPageProxy::creationParameters): |
| (WebKit::WebPageProxy::didExceedInactiveMemoryLimitWhileActive): |
| (WebKit::WebPageProxy::didExceedBackgroundCPULimitWhileInForeground): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didExceedCPULimit): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_cpuLimit): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::cpuLimit): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::createWebPage): |
| (WebKit::WebProcess::removeWebPage): |
| (WebKit::WebProcess::updateCPULimit): |
| (WebKit::WebProcess::updateCPUMonitorState): |
| (WebKit::WebProcess::pageActivityStateDidChange): |
| * WebProcess/WebProcess.h: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::updateCPULimit): |
| (WebKit::WebProcess::updateCPUMonitorState): |
| |
| 2017-05-19 Jeremy Jones <jeremyj@apple.com> |
| |
| Remove defunct WebVideoFullscreenInterface |
| https://bugs.webkit.org/show_bug.cgi?id=172254 |
| |
| Reviewed by Jon Lee. |
| |
| Remove reference to WebVideoFullscreenInterface. It has long since been replaced by |
| WebVideoFullscreenModelClient. |
| |
| * WebProcess/cocoa/WebVideoFullscreenManager.h: |
| |
| 2017-05-19 Jeremy Jones <jeremyj@apple.com> |
| |
| [WebRTC] Remove PiP support for video elements that are showing camera capture |
| https://bugs.webkit.org/show_bug.cgi?id=172336 |
| |
| Reviewed by Eric Carlson. |
| |
| Ask video element if it supports picture-in-picture instead of asking the mediaSession directly. |
| This allows the video element to give a more robust answer. |
| |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): |
| |
| 2017-05-19 Chris Dumez <cdumez@apple.com> |
| |
| Make sure implementation of InitializeWebKit2() always run on the main thread |
| https://bugs.webkit.org/show_bug.cgi?id=172362 |
| <rdar://problem/32295678> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add logic in InitializeWebKit2() for Cocoa ports to always run the initialization code |
| is only called once, and on the main thread. If we are called from a non-main thread, |
| we will dispatch synchronously to the main thread to run the initialization code. |
| |
| This is needed because WebKit2Initialize() is called from the API::Object constructor. |
| API::Object is thread-safe RefCounted and those objects are sometimes initialized on |
| non-main thread. If the first of such objects happened to be initialized on a non-main |
| thread, then we would run the initialization code for the first time on a non-main |
| thread. This would lead to hard to debug issues because code such as |
| RunLoop::initializeMainRunLoop() is only safe to call on the main thread because it |
| stores a pointer to the current thread's RunLoop in a static variable for later use |
| (i.e. for RunLoop::main()). |
| |
| * Shared/Cocoa/WebKit2InitializeCocoa.mm: Copied from Source/WebKit2/Shared/WebKit2Initialize.cpp. |
| (WebKit::runInitializationCode): |
| (WebKit::InitializeWebKit2): |
| * Shared/WebKit2Initialize.cpp: |
| (WebKit::InitializeWebKit2): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-05-19 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| REGRESSION(r216977): [GTK] Ephemeral sessions broken after r216977 |
| https://bugs.webkit.org/show_bug.cgi?id=172345 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Since r216977, WebProcessPool sends the page session ID to the web process, but the WebsiteDataStoreParameters |
| session ID to the network process. WebsiteDataStoreParameters is only implemented for Cocoa, so we are sending 0 |
| session ID to the network process, while using the right session ID everywhere else. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::pageAddedToProcess): Add an ASSERT to ensure we are sending the same session ID to Web |
| and Network processes. |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::parameters): Add minimal implementation for non-Cocoa ports to at least set the |
| session ID. |
| |
| 2017-05-19 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Add more input validation in Connection::processMessage() |
| https://bugs.webkit.org/show_bug.cgi?id=171682 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Check limits of attachments and message size. Credit to Nathan Crandall for reporting this issue and submitting |
| an equivalent fix. |
| |
| * Platform/IPC/unix/ConnectionUnix.cpp: |
| (IPC::Connection::processMessage): |
| |
| 2017-05-19 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [Threaded Compositor] Remove platform ifdefs from threaded compositor implementation |
| https://bugs.webkit.org/show_bug.cgi?id=172265 |
| |
| Reviewed by Žan Doberšek. |
| |
| Add AcceleratedSurfaceWPE implementation that is equivalent to the PlatformDisplayWPE::EGLTarget. Since WPE needs the |
| surface to be initialized/finalized in the compositing thread, two new virtual methods has been added to |
| AcceleratedSurface initialize/finalize that are only implemented by WPE. The threaded compositor no longer |
| receives a native surface handle as contructor parameter, it now asks the client for it from the compositing |
| thread, right after it's created. |
| |
| * PlatformWPE.cmake: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::create): Remove ativeSurfaceHandle parameter. |
| (WebKit::ThreadedCompositor::ThreadedCompositor): Initialize m_nativeSurfaceHandle from the compositing thread |
| asking the client for it. |
| (WebKit::ThreadedCompositor::createGLContext): Remove the WPE implementation. |
| (WebKit::ThreadedCompositor::invalidate): Notify the client that the GL context has been destroyed. |
| (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): Remove GTK ifdefs. |
| (WebKit::ThreadedCompositor::setViewportSize): Remove WPE implementation. |
| (WebKit::ThreadedCompositor::renderLayerTree): Notify the client the frame will be rendered, and when it has |
| been rendered. |
| (WebKit::ThreadedCompositor::frameComplete): Remove WPE ifdefs. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| * WebProcess/WebPage/AcceleratedSurface.cpp: |
| (WebKit::AcceleratedSurface::create): Add client parameter. |
| (WebKit::AcceleratedSurface::AcceleratedSurface): Create a AcceleratedSurfaceWPE if display is WPE. |
| * WebProcess/WebPage/AcceleratedSurface.h: |
| (WebKit::AcceleratedSurface::surfaceID): |
| (WebKit::AcceleratedSurface::initialize): |
| (WebKit::AcceleratedSurface::finalize): |
| (WebKit::AcceleratedSurface::willRenderFrame): |
| (WebKit::AcceleratedSurface::didRenderFrame): |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| (WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Pass this as client of AcceleratedSurface. |
| (WebKit::ThreadedCoordinatedLayerTreeHost::frameComplete): Notify the compositor. |
| (WebKit::ThreadedCoordinatedLayerTreeHost::nativeSurfaceHandleForCompositing): Initialize the surface and return |
| the window handler. |
| (WebKit::ThreadedCoordinatedLayerTreeHost::didDestroyGLContext): Finalize the surface. |
| (WebKit::ThreadedCoordinatedLayerTreeHost::willRenderFrame): Notify the surface. |
| (WebKit::ThreadedCoordinatedLayerTreeHost::didRenderFrame): Ditto. |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp: |
| (WebKit::AcceleratedSurfaceWayland::create): Add client parameter. |
| (WebKit::AcceleratedSurfaceWayland::AcceleratedSurfaceWayland): Ditto. |
| (WebKit::AcceleratedSurfaceWayland::didRenderFrame): Call Client::frameComplete(). |
| * WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: |
| * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp: |
| (WebKit::AcceleratedSurfaceX11::create): Add client parameter. |
| (WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11): Ditto. |
| (WebKit::AcceleratedSurfaceX11::didRenderFrame): Call Client::frameComplete(). |
| * WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: |
| * WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp: Added. |
| (WebKit::AcceleratedSurfaceWPE::create): |
| (WebKit::AcceleratedSurfaceWPE::AcceleratedSurfaceWPE): |
| (WebKit::AcceleratedSurfaceWPE::~AcceleratedSurfaceWPE): |
| (WebKit::AcceleratedSurfaceWPE::initialize): |
| (WebKit::AcceleratedSurfaceWPE::finalize): |
| (WebKit::AcceleratedSurfaceWPE::window): |
| (WebKit::AcceleratedSurfaceWPE::surfaceID): |
| (WebKit::AcceleratedSurfaceWPE::resize): |
| (WebKit::AcceleratedSurfaceWPE::willRenderFrame): |
| (WebKit::AcceleratedSurfaceWPE::didRenderFrame): |
| * WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.h: Copied from Source/WebKit2/WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h. |
| |
| 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| |
| Reviewed by Saam Barati. |
| |
| * WebProcess/Plugins/Netscape/JSNPMethod.cpp: |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| |
| 2017-05-18 Andreas Kling <akling@apple.com> |
| |
| [WK2] Notify WebPageProxy client when an active process goes over the inactive memory limit |
| https://bugs.webkit.org/show_bug.cgi?id=172244 |
| <rdar://problem/31800943> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add a WKPageUIClient callback that is invoked when an active process exceeds the inactive memory limit. |
| |
| With the current state of the implementation, this means that a UI client can learn that backgrounding |
| a non-audible, non-capturing tab may cause it to get killed once the active/inactive hysteresis time |
| is over (8 minutes.) |
| |
| The callback can be invoked multiple times if we exceed the limit, and then go under, and exceed again. |
| |
| This is the callback: |
| |
| didExceedBackgroundResourceLimitWhileInForeground(WKPageRef, WKResourceLimit) |
| |
| Where WKResourceLimit is one of { kWKResourceLimitMemory, kWKResourceLimitCPU } |
| The CPU enum value is a placeholder pending implementation soon. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::didExceedBackgroundResourceLimitWhileInForeground): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didExceedInactiveMemoryLimitWhileActive): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didExceedInactiveMemoryLimitWhileActive): |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebProcessProxy.messages.in: |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2017-05-18 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] do not cache gUM permissions |
| https://bugs.webkit.org/show_bug.cgi?id=172245 |
| |
| Reviewed by Youenn Fablet. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidatePendingRequests): |
| (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): |
| (WebKit::FrameAuthorizationState::FrameAuthorizationState): Deleted. |
| (WebKit::FrameAuthorizationState::hasPermissionToUseCaptureDevice): Deleted. |
| (WebKit::FrameAuthorizationState::setHasPermissionToUseCaptureDevice): Deleted. |
| (WebKit::FrameAuthorizationState::ensureSecurityOriginsAreEqual): Deleted. |
| (WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest): Deleted. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| (WebKit::FrameAuthorizationState::setDeviceIdentifierHashSalt): Deleted. |
| (WebKit::FrameAuthorizationState::deviceIdentifierHashSalt): Deleted. |
| * UIProcess/UserMediaPermissionRequestProxy.cpp: |
| (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): |
| * UIProcess/UserMediaPermissionRequestProxy.h: |
| (WebKit::UserMediaPermissionRequestProxy::create): |
| (WebKit::UserMediaPermissionRequestProxy::deviceIdentifierHashSalt): |
| |
| 2017-05-18 Tim Horton <timothy_horton@apple.com> |
| |
| Data interaction conclusion snapshot has too much margin |
| https://bugs.webkit.org/show_bug.cgi?id=172323 |
| <rdar://problem/32283772> |
| |
| Reviewed by Beth Dakin. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::didConcludeEditDataInteraction): |
| Disable the default TextIndicator margin. |
| |
| 2017-05-18 Andy Estes <aestes@apple.com> |
| |
| ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier |
| https://bugs.webkit.org/show_bug.cgi?id=172305 |
| |
| Reviewed by Anders Carlsson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-05-18 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Grandfather domains for existing data records |
| https://bugs.webkit.org/show_bug.cgi?id=172155 |
| <rdar://problem/24913532> |
| |
| Reviewed by Alex Christensen. |
| |
| When WebResourceLoadStatisticsStore starts fresh it needs |
| to scan existing website data records and 'grandfather' them to |
| allow ample time to capture user interaction. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.cpp: |
| (WKResourceLoadStatisticsManagerSetGrandfathered): |
| (WKResourceLoadStatisticsManagerIsGrandfathered): |
| (WKResourceLoadStatisticsManagerSetMinimumTimeBetweeenDataRecordsRemoval): |
| (WKResourceLoadStatisticsManagerSetGrandfatheringTime): |
| Functions for testing and configuration. |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.h: |
| * UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm: |
| (WebKit::WebResourceLoadStatisticsManager::registerUserDefaultsIfNeeded): |
| Added grandfathering configuration. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::topPrivatelyControlledDomainsWithWebiteData): |
| New function to get all top privately controlled domains that |
| have website data. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsManager.cpp: |
| (WebKit::WebResourceLoadStatisticsManager::setGrandfathered): |
| (WebKit::WebResourceLoadStatisticsManager::isGrandfathered): |
| (WebKit::WebResourceLoadStatisticsManager::setMinimumTimeBetweeenDataRecordsRemoval): |
| (WebKit::WebResourceLoadStatisticsManager::setGrandfatheringTime): |
| (WebKit::WebResourceLoadStatisticsManager::resetToConsistentState): |
| Functions for testing and configuration. |
| WebResourceLoadStatisticsManager::setMinimumTimeBetweeenDataRecordsRemoval() changed |
| as a result of WebResourceLoadStatisticsStore::setMinimumTimeBetweeenDataRecordsRemoval() |
| moving to WebCore::ResourceLoadObserver::setMinimumTimeBetweeenDataRecordsRemoval(). |
| * UIProcess/WebResourceLoadStatisticsManager.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::initializeDataTypesToRemove): |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): |
| Moved handling of pending removal into WebCore::ResourceLoadStatisticsStore since |
| that's where grandfathering happens. |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): |
| Moved registration of write persistent store callback and reading of Cocoa defaults to |
| WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver without parameters |
| so they are called for platforms without CFNETWORK_STORAGE_PARTITIONING. |
| Now includes registering WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData() |
| as handler for grandfathering since it involves reading of the website data store. |
| (WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData): |
| (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): |
| (WebKit::WebResourceLoadStatisticsStore::setMinimumTimeBetweeenDataRecordsRemoval): Deleted. |
| Now happens in WebCore::ResourceLoadObserver::setMinimumTimeBetweeenDataRecordsRemoval(). |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::WebsiteDataRecord::topPrivatelyControlledDomain): |
| New function to ask a WebsiteDataRecord for its top privately controlled domain. |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::topPrivatelyControlledDomainsWithWebsiteData): |
| New function to get all top privately controlled domains that |
| have website data. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2017-05-18 Andy Estes <aestes@apple.com> |
| |
| Add "countryCode" to ApplePayErrorContactField |
| https://bugs.webkit.org/show_bug.cgi?id=172264 |
| <rdar://problem/32004909> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toNSError): |
| |
| 2017-05-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r217031, r217032, and r217037. |
| https://bugs.webkit.org/show_bug.cgi?id=172293 |
| |
| cause linking errors in Windows (Requested by yusukesuzuki on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "[JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass" |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| http://trac.webkit.org/changeset/217031 |
| |
| "Unreviewed, rebaseline for newly added ClassInfo" |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| http://trac.webkit.org/changeset/217032 |
| |
| "Unreviewed, fix debug and non-JIT build" |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| http://trac.webkit.org/changeset/217037 |
| |
| 2017-05-18 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [WPE] Unreviewed build fix |
| |
| Add missing header after r217041. |
| * UIProcess/API/wpe/WPEView.cpp: |
| |
| 2017-05-18 Tim Horton <timothy_horton@apple.com> |
| |
| More WebKit2 header cleanup |
| https://bugs.webkit.org/show_bug.cgi?id=172214 |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/WebFindOptions.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| * UIProcess/UserMediaPermissionRequestProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setCompositionAsync): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| * WebProcess/ApplePay/WebPaymentCoordinator.cpp: |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: |
| * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: |
| * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: |
| * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| * WebProcess/Notifications/WebNotificationManager.cpp: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: |
| * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: |
| * WebProcess/WebCoreSupport/WebValidationMessageClient.cpp: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::WebPage): |
| (WebKit::WebPage::setDeviceScaleFactor): |
| (WebKit::WebPage::centerSelectionInVisibleArea): |
| (WebKit::WebPage::findString): |
| (WebKit::WebPage::findStringMatches): |
| (WebKit::WebPage::getImageForFindMatch): |
| (WebKit::WebPage::selectFindMatch): |
| (WebKit::WebPage::hideFindUI): |
| (WebKit::WebPage::countStringMatches): |
| (WebKit::WebPage::didReceiveGeolocationPermissionDecision): |
| (WebKit::WebPage::mainFrameDidLayout): |
| (WebKit::WebPage::setCompositionAsync): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::findController): |
| (WebKit::WebPage::geolocationPermissionRequestManager): |
| * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp: |
| Many small changes added up to a few percent. Removing UserMediaRequest |
| from UserMediaPermissionRequestProxy, which is included into WebPageProxy.h, |
| was worth another ~10% because it got VM.h out of WebPageProxy.h (like the |
| previous patch did with WebPage.h). In total, in my measurement (WebKit2 |
| clean debug build) this is a ~15% speedup. |
| |
| We really should figure out how to make DOMPromise.h not bring in all of |
| JavaScriptCore (or how to use promises without including DOMPromise.h in headers). |
| |
| 2017-05-17 Chris Dumez <cdumez@apple.com> |
| |
| Fix unsafe lambda capture in ContentRuleListStore::lookupContentRuleList() |
| https://bugs.webkit.org/show_bug.cgi?id=172258 |
| |
| Reviewed by Brady Eidson. |
| |
| Fix unsafe lambda capture in ContentRuleListStore::lookupContentRuleList(). The String |
| was moved instead of calling isolatedCopy(), even though we're passing the String to |
| another thread. |
| |
| * UIProcess/API/APIContentRuleListStore.cpp: |
| (API::ContentRuleListStore::lookupContentRuleList): |
| |
| 2017-05-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| |
| Reviewed by Saam Barati. |
| |
| * WebProcess/Plugins/Netscape/JSNPMethod.cpp: |
| * WebProcess/Plugins/Netscape/JSNPObject.cpp: |
| |
| 2017-05-17 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r217014. |
| |
| This change caused mac-wk2 LayoutTests to exit early due to |
| crashes. |
| |
| Reverted changeset: |
| |
| "Resource Load Statistics: Grandfather domains for existing |
| data records" |
| https://bugs.webkit.org/show_bug.cgi?id=172155 |
| http://trac.webkit.org/changeset/217014 |
| |
| 2017-05-17 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Grandfather domains for existing data records |
| https://bugs.webkit.org/show_bug.cgi?id=172155 |
| <rdar://problem/24913532> |
| |
| Reviewed by Alex Christensen. |
| |
| When WebResourceLoadStatisticsStore starts fresh it needs |
| to scan existing website data records and 'grandfather' them to |
| allow ample time to capture user interaction. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.cpp: |
| (WKResourceLoadStatisticsManagerSetGrandfathered): |
| (WKResourceLoadStatisticsManagerIsGrandfathered): |
| (WKResourceLoadStatisticsManagerSetMinimumTimeBetweeenDataRecordsRemoval): |
| (WKResourceLoadStatisticsManagerSetGrandfatheringTime): |
| Functions for testing and configuration. |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.h: |
| * UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm: |
| (WebKit::WebResourceLoadStatisticsManager::registerUserDefaultsIfNeeded): |
| Added grandfathering configuration. |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::topPrivatelyControlledDomainsWithWebiteData): |
| New function to get all top privately controlled domains that |
| have website data. |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsManager.cpp: |
| (WebKit::WebResourceLoadStatisticsManager::setGrandfathered): |
| (WebKit::WebResourceLoadStatisticsManager::isGrandfathered): |
| (WebKit::WebResourceLoadStatisticsManager::setMinimumTimeBetweeenDataRecordsRemoval): |
| (WebKit::WebResourceLoadStatisticsManager::setGrandfatheringTime): |
| (WebKit::WebResourceLoadStatisticsManager::resetToConsistentState): |
| Functions for testing and configuration. |
| WebResourceLoadStatisticsManager::setMinimumTimeBetweeenDataRecordsRemoval() changed |
| as a result of WebResourceLoadStatisticsStore::setMinimumTimeBetweeenDataRecordsRemoval() |
| moving to WebCore::ResourceLoadObserver::setMinimumTimeBetweeenDataRecordsRemoval(). |
| * UIProcess/WebResourceLoadStatisticsManager.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::initializeDataTypesToRemove): |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): |
| Moved handling of pending removal into WebCore::ResourceLoadStatisticsStore since |
| that's where grandfathering happens. |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): |
| Moved registration of write persistent store callback and reading of Cocoa defaults to |
| WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver without parameters |
| so they are called for platforms without CFNETWORK_STORAGE_PARTITIONING. |
| Now includes registering WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData() |
| as handler for grandfathering since it involves reading of the website data store. |
| (WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData): |
| (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): |
| (WebKit::WebResourceLoadStatisticsStore::setMinimumTimeBetweeenDataRecordsRemoval): Deleted. |
| Now happens in WebCore::ResourceLoadObserver::setMinimumTimeBetweeenDataRecordsRemoval(). |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::WebsiteDataRecord::topPrivatelyControlledDomain): |
| New function to ask a WebsiteDataRecord for its top privately controlled domain. |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::topPrivatelyControlledDomainsWithWebsiteData): |
| New function to get all top privately controlled domains that |
| have website data. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2017-05-17 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS] Allow access to additional IOHID user class |
| https://bugs.webkit.org/show_bug.cgi?id=172198 |
| <rdar://problem/31967635> |
| |
| Reviewed by Alex Christensen. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2017-05-17 Chris Dumez <cdumez@apple.com> |
| |
| Add more assertions in BackgroundProcessResponsivenessTimer |
| https://bugs.webkit.org/show_bug.cgi?id=172239 |
| |
| Reviewed by Andreas Kling. |
| |
| Add more assertions in BackgroundProcessResponsivenessTimer to help figure out the |
| source of <rdar://problem/32251578>. |
| |
| * UIProcess/BackgroundProcessResponsivenessTimer.cpp: |
| (WebKit::BackgroundProcessResponsivenessTimer::updateState): |
| (WebKit::BackgroundProcessResponsivenessTimer::scheduleNextResponsivenessCheck): |
| |
| 2017-05-17 Youenn Fablet <youenn@apple.com> |
| |
| No need to copy origin references in UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo |
| https://bugs.webkit.org/show_bug.cgi?id=172242 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): |
| |
| 2017-05-17 Youenn Fablet <youenn@apple.com> |
| |
| Move-related refactoring on UserMediaPermissionRequestProxy |
| https://bugs.webkit.org/show_bug.cgi?id=172195 |
| |
| Reviewed by Alex Christensen. |
| |
| Moving vectors of strings instead of passing as const ref so that we do not copy them. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| * UIProcess/UserMediaPermissionRequestProxy.cpp: |
| (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): |
| * UIProcess/UserMediaPermissionRequestProxy.h: |
| (WebKit::UserMediaPermissionRequestProxy::create): |
| |
| 2017-05-17 Andy Estes <aestes@apple.com> |
| |
| REGRESSION (r215480): PKPaymentAuthorizationStatusFailure sent to PassKit in completeShippingContactSelection() even when there are no errors |
| https://bugs.webkit.org/show_bug.cgi?id=172227 |
| <rdar://problem/31978432> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toPKPaymentAuthorizationStatus): If there is an update with no errors, we should |
| return PKPaymentAuthorizationStatusSuccess instead of PKPaymentAuthorizationStatusFailure. |
| |
| 2017-05-17 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r216974. |
| |
| Revision caused consistent timeouts on all platforms. |
| |
| Reverted changeset: |
| |
| "Add a RuntimeEnabledFeature for display: contents, defaulted |
| to false." |
| https://bugs.webkit.org/show_bug.cgi?id=171984 |
| http://trac.webkit.org/changeset/216974 |
| |
| 2017-05-17 Alex Christensen <achristensen@webkit.org> |
| |
| Interacting with WKHTTPCookieStores before creating WKWebViews and WKProcessPools should affect cookies used |
| https://bugs.webkit.org/show_bug.cgi?id=171987 |
| |
| Reviewed by Brady Eidson. |
| |
| When putting cookies in a WKHTTPCookieStore that hasn't been associated with a WKProcessPool yet, there is no |
| NetworkProcess into which to put the cookies. In such a case, we should store these cookies in the WebsiteDataStore |
| until there is a NetworkProcess. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession): |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| (WebKit::NetworkProcess::ensurePrivateBrowsingSession): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/RemoteNetworkingContext.h: |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): |
| (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession): |
| * Shared/WebsiteDataStoreParameters.cpp: |
| (WebKit::WebsiteDataStoreParameters::~WebsiteDataStoreParameters): |
| (WebKit::WebsiteDataStoreParameters::encode): |
| (WebKit::WebsiteDataStoreParameters::decode): |
| (WebKit::WebsiteDataStoreParameters::WebsiteDataStoreParameters): Deleted. |
| * Shared/WebsiteDataStoreParameters.h: |
| * UIProcess/API/APIHTTPCookieStore.cpp: |
| (API::HTTPCookieStore::cookies): |
| (API::HTTPCookieStore::setCookie): |
| (API::HTTPCookieStore::deleteCookie): |
| * UIProcess/API/APIHTTPCookieStore.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled): |
| (WebKit::WebProcessPool::pageAddedToProcess): |
| * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: |
| (WebKit::WebsiteDataStore::parameters): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::pendingCookies): |
| (WebKit::WebsiteDataStore::addPendingCookie): |
| (WebKit::WebsiteDataStore::removePendingCookie): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2017-05-17 Emilio Cobos Álvarez <ecobos@igalia.com> |
| |
| Add a RuntimeEnabledFeature for display: contents, defaulted to false. |
| https://bugs.webkit.org/show_bug.cgi?id=171984 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetDisplayContentsEnabled): |
| (WKPreferencesGetDisplayContentsEnabled): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-05-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix the build with MEDIA_STREAM disabled after r216952. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): |
| |
| 2017-05-17 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [Threaded Compositor] SHOULD NEVER BE REACHED in WebKit::CompositingRunLoop::updateCompleted |
| https://bugs.webkit.org/show_bug.cgi?id=172167 |
| |
| Reviewed by Michael Catanzaro. |
| |
| This is still happening, even after r216182, less often but still happens. There are two conditions in which |
| this can happen: |
| |
| - Again in force repaint. r216182 fixed the case of force repaint called when update state is completed, but it |
| can also crash if update state is inProgress or PendingAfterCompletion when m_coordinateUpdateCompletionWithClient |
| is true. |
| - When the threaded compositor is invalidated right after renderLayerTree() starts, but before it finishes. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::invalidate): Invalidate the refresh monitor right after stopping updates in the |
| compositing run loop to ensure no more updates are scheduled. |
| (WebKit::ThreadedCompositor::renderLayerTree): Check the scene is still active before calling sceneUpdateFinished(). |
| (WebKit::ThreadedCompositor::updateSceneState): Do not update m_coordinateUpdateCompletionWithClient when in |
| force repaint. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: |
| (WebKit::ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback): Return early if the monitor has been invalidated. |
| |
| 2017-05-16 Sam Weinig <sam@webkit.org> |
| |
| Bring Notification.idl up to spec |
| https://bugs.webkit.org/show_bug.cgi?id=172156 |
| |
| Reviewed by Chris Dumez. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/API/C/WKNotification.cpp: |
| (WKNotificationCopyDir): |
| * UIProcess/Notifications/WebNotification.cpp: |
| (WebKit::WebNotification::WebNotification): |
| * UIProcess/Notifications/WebNotification.h: |
| (WebKit::WebNotification::create): |
| (WebKit::WebNotification::dir): |
| * UIProcess/Notifications/WebNotificationManagerProxy.cpp: |
| (WebKit::WebNotificationManagerProxy::show): |
| * UIProcess/Notifications/WebNotificationManagerProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::showNotification): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: |
| (WebKit::NotificationPermissionRequestManager::startRequest): |
| (WebKit::NotificationPermissionRequestManager::permissionLevel): |
| (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): |
| * WebProcess/Notifications/WebNotificationManager.cpp: |
| (WebKit::WebNotificationManager::policyForOrigin): |
| (WebKit::WebNotificationManager::show): |
| * WebProcess/WebCoreSupport/WebNotificationClient.cpp: |
| (WebKit::WebNotificationClient::checkPermission): |
| * WebProcess/WebCoreSupport/WebNotificationClient.h: |
| Update for enum vs String usage. |
| |
| 2017-05-16 Youenn Fablet <youenn@apple.com> |
| |
| Modernize WebKit2 getUserMedia passing of parameters |
| https://bugs.webkit.org/show_bug.cgi?id=172161 |
| |
| Reviewed by Eric Carlson. |
| |
| Passing SecurityOrigin as SecurityOriginData through IPC instead of Strings. |
| Making more use of Ref<> instead of RefPtr<>. |
| |
| * UIProcess/UserMediaPermissionCheckProxy.cpp: |
| (WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy): |
| (WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo): |
| * UIProcess/UserMediaPermissionCheckProxy.h: |
| (WebKit::UserMediaPermissionCheckProxy::create): |
| (WebKit::UserMediaPermissionCheckProxy::userMediaDocumentSecurityOrigin): |
| (WebKit::UserMediaPermissionCheckProxy::topLevelDocumentSecurityOrigin): |
| (WebKit::UserMediaPermissionCheckProxy::completionHandler): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::FrameAuthorizationState::FrameAuthorizationState): |
| (WebKit::FrameAuthorizationState::ensureSecurityOriginsAreEqual): |
| (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| (WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): |
| (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| * UIProcess/UserMediaPermissionRequestProxy.cpp: |
| (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): |
| * UIProcess/UserMediaPermissionRequestProxy.h: |
| (WebKit::UserMediaPermissionRequestProxy::create): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): |
| (WebKit::WebPageProxy::enumerateMediaDevicesForFrame): |
| (WebKit::WebPageProxy::requestNotificationPermission): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::sendUserMediaRequest): |
| (WebKit::UserMediaPermissionRequestManager::enumerateMediaDevices): |
| |
| 2017-05-16 David Kilzer <ddkilzer@apple.com> |
| |
| Unused lambdas in UserMediaPermissionRequestManagerProxy.cpp |
| <https://webkit.org/b/172179> |
| |
| Reviewed by Eric Carlson. |
| |
| Fixes unused lambda warnings found with newer clang: |
| |
| Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:309:46: error: lambda capture 'userMediaID' is not used [-Werror,-Wunused-lambda-capture] |
| auto validateConstraintsHandler = [this, userMediaID, validHandler = WTFMove(validHandler), invalidHandler = WTFMove(invalidHandler), audioConstraints = WebCore::MediaConstraints(audioConstraints), videoConstraints = WebCore::MediaConstraints(videoConstraints)](String&& deviceIdentifierHashSalt) mutable { |
| ^ |
| Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:318:41: error: lambda capture 'userMediaID' is not used [-Werror,-Wunused-lambda-capture] |
| auto haveDeviceSaltHandler = [this, userMediaID, frameID, validateConstraintsHandler = WTFMove(validateConstraintsHandler)](uint64_t userMediaID, String&& deviceIdentifierHashSalt, bool originHasPersistentAccess) mutable { |
| ^ |
| Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:318:54: error: lambda capture 'frameID' is not used [-Werror,-Wunused-lambda-capture] |
| auto haveDeviceSaltHandler = [this, userMediaID, frameID, validateConstraintsHandler = WTFMove(validateConstraintsHandler)](uint64_t userMediaID, String&& deviceIdentifierHashSalt, bool originHasPersistentAccess) mutable { |
| ^ |
| Source/WebKit2/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:362:37: error: lambda capture 'userMediaID' is not used [-Werror,-Wunused-lambda-capture] |
| auto completionHandler = [this, userMediaID](uint64_t userMediaID, String&& deviceIdentifierHashSalt, bool originHasPersistentAccess) { |
| ^ |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): |
| - Remove unused lambdas. |
| |
| 2017-05-16 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Support Flash Player DRM features |
| https://bugs.webkit.org/show_bug.cgi?id=172157 |
| <rdar://problem/31889297> |
| |
| Reviewed by Dean Jackson. |
| |
| Relax the IOKit whitelist to support DRM features needed by |
| some websites. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| |
| 2017-05-16 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Adopt a whitelist for XPC services |
| https://bugs.webkit.org/show_bug.cgi?id=172151 |
| <rdar://problem/31916325> |
| |
| Reviewed by Alex Christensen. |
| |
| * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-05-16 Timothy Horton <timothy_horton@apple.com> |
| |
| Make it possible to adjust which edges are affected by safe area insets |
| https://bugs.webkit.org/show_bug.cgi?id=172149 |
| <rdar://problem/31564729> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| (-[WKWebView _computedContentInset]): |
| (-[WKWebView _obscuredInsetEdgesAffectedBySafeArea]): |
| (-[WKWebView _setObscuredInsetEdgesAffectedBySafeArea:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| Add SPI to adjust which edges are taken into account, and adjust the default. |
| |
| 2017-05-16 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GLib] Use RunLoopSourcePriority::RunLoopDispatcher as the GSocketMonitor's GSource priority |
| https://bugs.webkit.org/show_bug.cgi?id=172160 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Platform/IPC/glib/GSocketMonitor.cpp: |
| (IPC::GSocketMonitor::start): Explicitly set the priority for the GSocketMonitor's |
| GSource object to RunLoopSourcePriority::RunLoopDispatcher, equating it to the |
| priority that's used in RunLoop for dispatches of the queued functions. |
| |
| 2017-05-16 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GLib] Name more GSource-based RunLoop::Timers |
| https://bugs.webkit.org/show_bug.cgi?id=172158 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: |
| (WebKit::CompositingRunLoop::CompositingRunLoop): |
| Specify 'CompositingRunLoop' as the name of this GSource-based RunLoop::Timer. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: |
| (WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor): |
| Specify 'ThreadedDisplayRefreshMonitor' as the name of this GSource-based RunLoop::Timer. |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): |
| Specify 'CoordinatedLayerTreeHost' as the name of this GSource-based RunLoop::Timer. |
| |
| 2017-05-16 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Revert change committed by mistakle in r216922. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::forceRepaint): |
| |
| 2017-05-16 Youenn Fablet <youenn@apple.com> |
| |
| Remove MediaConstraintsData and MediaConstraintsImpl |
| https://bugs.webkit.org/show_bug.cgi?id=172132 |
| |
| Reviewed by Eric Carlson. |
| |
| Removing MediaConstraintsData and MediaConstraintsImpl allows simplifying the code. |
| Further simplified the code by making MediaConstraints no longer ref counted and now a struct. |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MediaConstraints>::encode): |
| (IPC::ArgumentCoder<MediaConstraints>::decode): |
| (IPC::ArgumentCoder<MediaConstraintsData>::encode): Deleted. |
| (IPC::ArgumentCoder<MediaConstraintsData>::decode): Deleted. |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): |
| (WebKit::UserMediaCaptureManagerProxy::applyConstraints): |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::sendUserMediaRequest): |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::applyConstraints): |
| |
| 2017-05-16 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [SOUP] Remove LATEST_RECORD_VERSION from GnuTLS priority string |
| https://bugs.webkit.org/show_bug.cgi?id=172153 |
| |
| Based on discussion with Nikos in https://bugzilla.gnome.org/show_bug.cgi?id=782218, we |
| should remove LATEST_RECORD_VERSION from our GnuTLS priority string. This causes GnuTLS to |
| use the latest TLS record version (the record format is separate from the TLS protocol |
| version), which we needed a couple years ago (after dropping SSLv3) for maximum |
| compatibility with broken web servers. But it's not needed anymore, and is causing new |
| compatibility problems with other broken web servers, so let's get rid of it. |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp: |
| (main): |
| * WebProcess/EntryPoint/unix/WebProcessMain.cpp: |
| (main): |
| |
| 2017-05-15 Andy Estes <aestes@apple.com> |
| |
| Make the application PID available to WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=172133 |
| |
| Reviewed by Andreas Kling. |
| |
| Added uiProcessPID to Web and Networking process creation parameters. The UI process |
| initializes these to getpid(), and the child processes call WebCore::setPresentingApplicationPID() |
| at initialization time. |
| |
| This replaces presenterApplicationPid. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/NetworkProcessCreationParameters.cpp: |
| (WebKit::NetworkProcessCreationParameters::encode): |
| (WebKit::NetworkProcessCreationParameters::decode): |
| * NetworkProcess/NetworkProcessCreationParameters.h: |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): |
| (WebKit::WebProcessCreationParameters::decode): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureNetworkProcess): |
| (WebKit::WebProcessPool::createNewWebProcess): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::platformInitialize): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| * WebProcess/WebProcess.h: |
| (WebKit::WebProcess::presenterApplicationPid): Deleted. |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::platformInitializeWebProcess): |
| |
| 2017-05-15 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Do not delete asynchronously decoded frames for large images if their clients are in the viewport |
| https://bugs.webkit.org/show_bug.cgi?id=170640 |
| |
| Reviewed by Simon Fraser. |
| |
| Enable the async decoding for large images. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-05-15 Youenn Fablet <youenn@apple.com> |
| |
| Simplify RealtimeMediaSource data production and state |
| https://bugs.webkit.org/show_bug.cgi?id=171999 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::startProducingData): |
| (WebKit::UserMediaCaptureManagerProxy::stopProducingData): |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| |
| 2017-05-15 Brent Fulgham <bfulgham@apple.com> |
| |
| Correct typo (part of r216790). |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: The check-in missed part of a |
| regular expression needed to fix the audio playback. |
| |
| 2017-05-15 Jer Noble <jer.noble@apple.com> |
| |
| Add experimental setting to allow document gesture interaction to fulfill media playback gesture requirement |
| https://bugs.webkit.org/show_bug.cgi?id=172131 |
| |
| Reviewed by Eric Carlson. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetMediaUserGestureInheritsFromDocument): |
| (WKPreferencesGetMediaUserGestureInheritsFromDocument): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-05-15 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS][iOS] Allow Network process to access nsurlstoraged's top level domain data cache |
| https://bugs.webkit.org/show_bug.cgi?id=172128 |
| <rdar://problem/30871490> |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: |
| |
| 2017-05-15 David Kilzer <ddkilzer@apple.com> |
| |
| Update json.hpp to v2.1.1 |
| <https://webkit.org/b/172085> |
| <rdar://problem/32180980> |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/capture/NetworkCaptureEvent.cpp: |
| - Define JSON_NOEXCEPTION as 1 to disable exceptions in |
| json.hpp. |
| (WebKit::NetworkCapture::JSONCoder<String>::encode): |
| (WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::encode): |
| - Build std::string passing in length to avoid the need for a |
| custom basic_json() constructor, and for efficiency. |
| |
| * NetworkProcess/capture/json.hpp: |
| - Update to v2.1.1 and remove customizations. |
| |
| 2017-05-15 Brent Fulgham <bfulgham@apple.com> |
| |
| Unreviewed build fix. |
| |
| Debugging code was accidentally left in the Plugin sandbox profile. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| |
| 2017-05-15 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [WPE] Unreviewed debug build fix |
| https://bugs.webkit.org/show_bug.cgi?id=172118 |
| |
| Unreviewed, remove a dead code accidentally committed in r215259. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h: |
| Remove deprecated CompositingRunLoop::isCurrent. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::frameComplete): |
| |
| 2017-05-14 Daewoong Jang <daewoong.jang@navercorp.com> |
| |
| [CoordinatedGraphics] Remove unused files and lines |
| https://bugs.webkit.org/show_bug.cgi?id=172080 |
| |
| Reviewed by Darin Adler. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: Removed. |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: Removed. |
| * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: Removed. |
| * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: Removed. |
| * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h: Removed. |
| * UIProcess/WebPageProxy.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in: Removed. |
| |
| 2017-05-14 Andreas Kling <akling@apple.com> |
| |
| Always reset the assisted node when the main frame commits a new load. |
| https://bugs.webkit.org/show_bug.cgi?id=172088 |
| |
| Reviewed by Antti Koivisto. |
| |
| WebPage::m_assistedNode could extend the lifetime of the document it pointed into |
| if the main frame was navigated while the assisted node was in one of its subframes. |
| The life-supported document wouldn't be reachable from JavaScript but nevertheless |
| would consume memory and other resources. |
| |
| This patch fixes the issue by always clearing WebPage::m_assistedNode when the main |
| frame commits a new load. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::resetAssistedNodeForFrame): |
| |
| 2017-05-14 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed Mac cmake buildfix after r216690, just for fun. |
| |
| * PlatformMac.cmake: |
| |
| 2017-05-14 David Kilzer <ddkilzer@apple.com> |
| |
| Fix unused lambdas in WebKit2 |
| <https://webkit.org/b/172090> |
| |
| Reviewed by Chris Dumez. |
| |
| Fixes unused lambda warnings found with newer clang. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::retrieve): |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| (WebKit::NetworkCache::Statistics::initialize): |
| - Use UNUSED_PARAM() to silence unused lambda warning since |
| 'startTime' is used in Debug builds. |
| |
| * NetworkProcess/capture/NetworkCaptureManager.cpp: |
| (WebKit::NetworkCapture::Manager::fuzzyMatchURLs): |
| - Remove unused 'this' from lambda capture. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): |
| - Use UNUSED_PARAM() to silence unused lambda warning since |
| 'taskIdentifier' is used in Debug builds. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): |
| (WebKit::WebResourceLoadStatisticsStore::applicationWillTerminate): |
| - Remove unused 'this' from lambda captures. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| - Remove unused 'fetchOptions' from lambda capture. |
| (WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains): |
| - Remove unused 'this' from lambda capture. |
| |
| * UIProcess/mac/ViewGestureControllerMac.mm: |
| (WebKit::ViewGestureController::forceRepaintIfNeeded): |
| - Remove unused 'this' from lambda capture. |
| |
| * WebProcess/cocoa/WebVideoFullscreenManager.mm: |
| (WebKit::WebVideoFullscreenManager::didExitFullscreen): |
| - Remove unused 'this' from nested lambda captures. |
| |
| 2017-05-13 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] deviceId constraint doesn't work with getUserMedia |
| https://bugs.webkit.org/show_bug.cgi?id=171877 |
| <rdar://problem/31899730> |
| |
| Reviewed by Jer Noble. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MediaConstraintsData>::encode): Encode deviceIDHashSalt. |
| (IPC::ArgumentCoder<MediaConstraintsData>::decode): Decode deviceIDHashSalt. |
| |
| * UIProcess/UserMediaPermissionCheckProxy.cpp: |
| (WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy): Initialize |
| completion handler, frame ID, and security origins. |
| (WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo): Complete by calling |
| completion handler because we now sometimes request access info before calling gUM. |
| (WebKit::UserMediaPermissionCheckProxy::invalidate): Clear completion handler. |
| * UIProcess/UserMediaPermissionCheckProxy.h: |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::FrameAuthorizationState::FrameAuthorizationState): Take security origins, not |
| UserMediaPermissionRequestProxy, so it can be constructed with a UserMediaPermissionCheckProxy. |
| (WebKit::FrameAuthorizationState::ensureSecurityOriginsAreEqual): Ditto. Clear has salt |
| when origins don't match. |
| (WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest): Templatize. |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): Fix typo. |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto. |
| Don't set state for empty UIDs. Pass hash salt to web process. |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| The device ID hash salt is now required to validate constraints, so get it first. |
| (WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): Helper |
| method used to get the device ID hash salt. |
| (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Restructure |
| to use getUserMediaPermissionInfo. |
| (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Deleted. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted): Add device ID |
| hash salt parameter. |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::userMediaAccessWasGranted): Ditto. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::createCaptureSource): Use new MediaConstraintsData |
| constructor. |
| |
| 2017-05-13 Chris Dumez <cdumez@apple.com> |
| |
| Stop using RefPtr::release() |
| https://bugs.webkit.org/show_bug.cgi?id=172074 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Platform/unix/SharedMemoryUnix.cpp: |
| (WebKit::SharedMemory::create): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::createImageBacking): |
| * Shared/cairo/ShareableBitmapCairo.cpp: |
| (WebKit::ShareableBitmap::createCairoSurface): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeFilter.cpp: |
| (WebKit::core): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::getContentsAsMHTMLData): |
| |
| 2017-05-12 Chris Dumez <cdumez@apple.com> |
| |
| Drop remaining uses of PassRefPtr in WebKit2/WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=172055 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: |
| (+[WKWebProcessPlugInScriptWorld normalWorld]): |
| * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: |
| (contextMenuItems): |
| * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: |
| (WKBundleScriptWorldNormalWorld): |
| * WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp: |
| (webkitScriptWorldCreate): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp: |
| (WebKit::InjectedBundleCSSStyleDeclarationHandle::getOrCreate): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.h: |
| * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: |
| (WebKit::InjectedBundleRangeHandle::getOrCreate): |
| (WebKit::InjectedBundleRangeHandle::create): |
| (WebKit::InjectedBundleRangeHandle::coreRange): |
| (WebKit::InjectedBundleRangeHandle::renderedImage): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::create): |
| (WebKit::InjectedBundle::createWebDataFromUint8Array): |
| * WebProcess/InjectedBundle/InjectedBundle.h: |
| * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp: |
| (WebKit::InjectedBundleBackForwardList::itemAtIndex): |
| * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h: |
| (WebKit::InjectedBundleBackForwardList::detach): |
| * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: |
| (WebKit::InjectedBundleBackForwardListItem::create): |
| (WebKit::InjectedBundleBackForwardListItem::InjectedBundleBackForwardListItem): |
| * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: |
| (WebKit::InjectedBundleHitTestResult::nodeHandle): |
| (WebKit::InjectedBundleHitTestResult::urlElementHandle): |
| * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: |
| * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: |
| (WebKit::InjectedBundleNavigationAction::create): |
| (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): |
| * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: |
| (WebKit::InjectedBundleScriptWorld::getOrCreate): |
| (WebKit::InjectedBundleScriptWorld::normalWorld): |
| * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::create): |
| (WebKit::NetscapePlugin::NetscapePlugin): |
| (WebKit::NetscapePlugin::supportsSnapshotting): |
| * WebProcess/Plugins/Netscape/NetscapePlugin.h: |
| * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: |
| * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: |
| (WebKit::PDFPluginAnnotation::create): |
| * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h: |
| * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm: |
| (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement): |
| * WebProcess/Plugins/PDF/PDFPluginPasswordField.h: |
| * WebProcess/Plugins/PDF/PDFPluginPasswordField.mm: |
| (WebKit::PDFPluginPasswordField::createAnnotationElement): |
| * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h: |
| * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: |
| (WebKit::PDFPluginTextAnnotation::createAnnotationElement): |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::worldMap): |
| (WebKit::WebUserMessageHandlerDescriptorProxy::create): |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::convertImageToBitmap): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::addUserScript): |
| (WebKit::WebPage::addUserStyleSheet): |
| * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: |
| (WebKit::WebPrintOperationGtk::create): |
| * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::rangeForPosition): |
| (WebKit::rangeAtWordBoundaryForPosition): |
| * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h: |
| |
| 2017-05-12 Alex Christensen <achristensen@webkit.org> |
| |
| Rename WKContentExtension to WKContentRuleList |
| https://bugs.webkit.org/show_bug.cgi?id=172053 |
| <rdar://problem/32141005> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Shared/API/APIObject.h: |
| * Shared/API/Cocoa/WebKit.h: |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| (WKPageGroupAddUserContentFilter): |
| (WKPageGroupRemoveUserContentFilter): |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| * Shared/WebCompiledContentExtension.cpp: Removed. |
| * Shared/WebCompiledContentExtension.h: Removed. |
| * Shared/WebCompiledContentExtensionData.cpp: Removed. |
| * Shared/WebCompiledContentExtensionData.h: Removed. |
| * Shared/WebCompiledContentRuleList.cpp: Copied from Source/WebKit2/Shared/WebCompiledContentExtension.cpp. |
| (WebKit::WebCompiledContentRuleList::create): |
| (WebKit::WebCompiledContentRuleList::WebCompiledContentRuleList): |
| (WebKit::WebCompiledContentRuleList::~WebCompiledContentRuleList): |
| (WebKit::WebCompiledContentRuleList::conditionsApplyOnlyToDomain): |
| (WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecode): |
| (WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecodeLength): |
| (WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecode): |
| (WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecodeLength): |
| (WebKit::WebCompiledContentRuleList::topURLFiltersBytecode): |
| (WebKit::WebCompiledContentRuleList::topURLFiltersBytecodeLength): |
| (WebKit::WebCompiledContentRuleList::actions): |
| (WebKit::WebCompiledContentRuleList::actionsLength): |
| (WebKit::WebCompiledContentExtension::create): Deleted. |
| (WebKit::WebCompiledContentExtension::WebCompiledContentExtension): Deleted. |
| (WebKit::WebCompiledContentExtension::~WebCompiledContentExtension): Deleted. |
| (WebKit::WebCompiledContentExtension::conditionsApplyOnlyToDomain): Deleted. |
| (WebKit::WebCompiledContentExtension::filtersWithoutConditionsBytecode): Deleted. |
| (WebKit::WebCompiledContentExtension::filtersWithoutConditionsBytecodeLength): Deleted. |
| (WebKit::WebCompiledContentExtension::filtersWithConditionsBytecode): Deleted. |
| (WebKit::WebCompiledContentExtension::filtersWithConditionsBytecodeLength): Deleted. |
| (WebKit::WebCompiledContentExtension::topURLFiltersBytecode): Deleted. |
| (WebKit::WebCompiledContentExtension::topURLFiltersBytecodeLength): Deleted. |
| (WebKit::WebCompiledContentExtension::actions): Deleted. |
| (WebKit::WebCompiledContentExtension::actionsLength): Deleted. |
| * Shared/WebCompiledContentRuleList.h: Copied from Source/WebKit2/Shared/WebCompiledContentExtension.h. |
| * Shared/WebCompiledContentRuleListData.cpp: Copied from Source/WebKit2/Shared/WebCompiledContentExtensionData.cpp. |
| (WebKit::WebCompiledContentRuleListData::encode): |
| (WebKit::WebCompiledContentRuleListData::decode): |
| (WebKit::WebCompiledContentExtensionData::encode): Deleted. |
| (WebKit::WebCompiledContentExtensionData::decode): Deleted. |
| * Shared/WebCompiledContentRuleListData.h: Copied from Source/WebKit2/Shared/WebCompiledContentExtensionData.h. |
| (WebKit::WebCompiledContentRuleListData::WebCompiledContentRuleListData): |
| (WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData): Deleted. |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/APIContentExtension.cpp: Removed. |
| * UIProcess/API/APIContentExtension.h: Removed. |
| * UIProcess/API/APIContentExtensionStore.cpp: Removed. |
| * UIProcess/API/APIContentExtensionStore.h: Removed. |
| * UIProcess/API/APIContentRuleList.cpp: Copied from Source/WebKit2/UIProcess/API/APIContentExtension.cpp. |
| (API::ContentRuleList::ContentRuleList): |
| (API::ContentRuleList::~ContentRuleList): |
| (API::ContentExtension::ContentExtension): Deleted. |
| (API::ContentExtension::~ContentExtension): Deleted. |
| * UIProcess/API/APIContentRuleList.h: Copied from Source/WebKit2/UIProcess/API/APIContentExtension.h. |
| * UIProcess/API/APIContentRuleListStore.cpp: Copied from Source/WebKit2/UIProcess/API/APIContentExtensionStore.cpp. |
| (API::ContentRuleListStore::legacyDefaultStore): |
| (API::ContentRuleListStore::nonLegacyDdefaultStore): |
| (API::ContentRuleListStore::defaultStore): |
| (API::ContentRuleListStore::storeWithPath): |
| (API::ContentRuleListStore::ContentRuleListStore): |
| (API::ContentRuleListStore::~ContentRuleListStore): |
| (API::constructedPathPrefix): |
| (API::ContentRuleListMetaData::fileSize): |
| (API::encodeContentRuleListMetaData): |
| (API::decodeContentRuleListMetaData): |
| (API::openAndMapContentRuleList): |
| (API::compiledToFile): |
| (API::createExtension): |
| (API::ContentRuleListStore::lookupContentRuleList): |
| (API::ContentRuleListStore::getAvailableContentRuleListIdentifiers): |
| (API::ContentRuleListStore::compileContentRuleList): |
| (API::ContentRuleListStore::removeContentRuleList): |
| (API::ContentRuleListStore::synchronousRemoveAllContentRuleLists): |
| (API::ContentRuleListStore::invalidateContentRuleListVersion): |
| (API::ContentRuleListStore::getContentRuleListSource): |
| (API::contentRuleListStoreErrorCategory): |
| (API::ContentExtensionStore::defaultStore): Deleted. |
| (API::ContentExtensionStore::storeWithPath): Deleted. |
| (API::ContentExtensionStore::ContentExtensionStore): Deleted. |
| (API::ContentExtensionStore::~ContentExtensionStore): Deleted. |
| (API::ContentExtensionMetaData::fileSize): Deleted. |
| (API::encodeContentExtensionMetaData): Deleted. |
| (API::decodeContentExtensionMetaData): Deleted. |
| (API::openAndMapContentExtension): Deleted. |
| (API::ContentExtensionStore::lookupContentExtension): Deleted. |
| (API::ContentExtensionStore::getAvailableContentExtensionIdentifiers): Deleted. |
| (API::ContentExtensionStore::compileContentExtension): Deleted. |
| (API::ContentExtensionStore::removeContentExtension): Deleted. |
| (API::ContentExtensionStore::synchronousRemoveAllContentExtensions): Deleted. |
| (API::ContentExtensionStore::invalidateContentExtensionVersion): Deleted. |
| (API::ContentExtensionStore::getContentExtensionSource): Deleted. |
| (API::contentExtensionStoreErrorCategory): Deleted. |
| * UIProcess/API/APIContentRuleListStore.h: Copied from Source/WebKit2/UIProcess/API/APIContentExtensionStore.h. |
| (API::make_error_code): |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKPageGroup.cpp: |
| * UIProcess/API/C/WKUserContentControllerRef.cpp: |
| (WKUserContentControllerAddUserContentFilter): |
| (WKUserContentControllerRemoveAllUserContentFilters): |
| * UIProcess/API/C/WKUserContentExtensionStoreRef.cpp: |
| (WKUserContentExtensionStoreGetTypeID): |
| * UIProcess/API/Cocoa/APIUserContentExtensionStoreCocoa.mm: |
| (API::ContentRuleListStore::defaultStorePath): |
| (API::ContentExtensionStore::defaultStorePath): Deleted. |
| * UIProcess/API/Cocoa/WKContentExtension.h: Removed. |
| * UIProcess/API/Cocoa/WKContentExtension.mm: Removed. |
| * UIProcess/API/Cocoa/WKContentExtensionInternal.h: Removed. |
| * UIProcess/API/Cocoa/WKContentExtensionStore.h: Removed. |
| * UIProcess/API/Cocoa/WKContentExtensionStore.mm: Removed. |
| * UIProcess/API/Cocoa/WKContentExtensionStoreInternal.h: Removed. |
| * UIProcess/API/Cocoa/WKContentExtensionStorePrivate.h: Removed. |
| * UIProcess/API/Cocoa/WKContentRuleList.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtension.h. |
| * UIProcess/API/Cocoa/WKContentRuleList.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtension.mm. |
| (-[WKContentRuleList dealloc]): |
| (-[WKContentRuleList _apiObject]): |
| (-[WKContentRuleList identifier]): |
| (-[WKContentExtension dealloc]): Deleted. |
| (-[WKContentExtension _apiObject]): Deleted. |
| (-[WKContentExtension identifier]): Deleted. |
| * UIProcess/API/Cocoa/WKContentRuleListInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionInternal.h. |
| (WebKit::wrapper): |
| * UIProcess/API/Cocoa/WKContentRuleListStore.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStore.h. |
| * UIProcess/API/Cocoa/WKContentRuleListStore.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStore.mm. |
| (toWKErrorCode): |
| (-[WKContentRuleListStore dealloc]): |
| (+[WKContentRuleListStore defaultStore]): |
| (+[WKContentRuleListStore storeWithURL:]): |
| (-[WKContentRuleListStore compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:]): |
| (-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:releasesArgument:]): |
| (-[WKContentRuleListStore lookUpContentRuleListForIdentifier:completionHandler:]): |
| (-[WKContentRuleListStore getAvailableContentRuleListIdentifiers:]): |
| (-[WKContentRuleListStore removeContentRuleListForIdentifier:completionHandler:]): |
| (-[WKContentRuleListStore _apiObject]): |
| (-[WKContentRuleListStore _removeAllContentRuleLists]): |
| (-[WKContentRuleListStore _invalidateContentRuleListVersionForIdentifier:]): |
| (-[WKContentRuleListStore _getContentRuleListSourceForIdentifier:completionHandler:]): |
| (-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:]): |
| (-[WKContentExtensionStore dealloc]): Deleted. |
| (+[WKContentExtensionStore defaultStore]): Deleted. |
| (+[WKContentExtensionStore storeWithURL:]): Deleted. |
| (-[WKContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): Deleted. |
| (-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:releasesArgument:]): Deleted. |
| (-[WKContentExtensionStore lookUpContentExtensionForIdentifier:completionHandler:]): Deleted. |
| (-[WKContentExtensionStore getAvailableContentExtensionIdentifiers:]): Deleted. |
| (-[WKContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]): Deleted. |
| (-[WKContentExtensionStore _apiObject]): Deleted. |
| (-[WKContentExtensionStore _removeAllContentExtensions]): Deleted. |
| (-[WKContentExtensionStore _invalidateContentExtensionVersionForIdentifier:]): Deleted. |
| (-[WKContentExtensionStore _getContentExtensionSourceForIdentifier:completionHandler:]): Deleted. |
| (-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): Deleted. |
| * UIProcess/API/Cocoa/WKContentRuleListStoreInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStoreInternal.h. |
| (WebKit::wrapper): |
| * UIProcess/API/Cocoa/WKContentRuleListStorePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKContentExtensionStorePrivate.h. |
| * UIProcess/API/Cocoa/WKError.h: |
| * UIProcess/API/Cocoa/WKError.mm: |
| (localizedDescriptionForErrorCode): |
| * UIProcess/API/Cocoa/WKUserContentController.h: |
| * UIProcess/API/Cocoa/WKUserContentController.mm: |
| (-[WKUserContentController addContentRuleList:]): |
| (-[WKUserContentController removeContentRuleList:]): |
| (-[WKUserContentController removeAllContentRuleLists]): |
| (-[WKUserContentController _addUserContentFilter:]): |
| (-[WKUserContentController _removeUserContentFilter:]): |
| (-[WKUserContentController _removeAllUserContentFilters]): |
| (-[WKUserContentController addContentExtension:]): Deleted. |
| (-[WKUserContentController removeContentExtension:]): Deleted. |
| (-[WKUserContentController removeAllContentExtensions]): Deleted. |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm: |
| (toUserContentRuleListStoreError): |
| (+[_WKUserContentExtensionStore defaultStore]): |
| (+[_WKUserContentExtensionStore storeWithURL:]): |
| (-[_WKUserContentExtensionStore compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:]): |
| (-[_WKUserContentExtensionStore lookupContentExtensionForIdentifier:completionHandler:]): |
| (-[_WKUserContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]): |
| (-[_WKUserContentExtensionStore _apiObject]): |
| (-[_WKUserContentExtensionStore _removeAllContentExtensions]): |
| (-[_WKUserContentExtensionStore _invalidateContentExtensionVersionForIdentifier:]): |
| (-[_WKUserContentExtensionStore _initWithWKContentRuleListStore:]): |
| (toUserContentExtensionStoreError): Deleted. |
| (-[_WKUserContentExtensionStore _initWithWKContentExtensionStore:]): Deleted. |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStoreInternal.h: |
| * UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h: |
| * UIProcess/API/Cocoa/_WKUserContentFilter.mm: |
| (-[_WKUserContentFilter _apiObject]): |
| (-[_WKUserContentFilter _initWithWKContentRuleList:]): |
| (-[_WKUserContentFilter _initWithWKContentExtension:]): Deleted. |
| * UIProcess/API/Cocoa/_WKUserContentFilterInternal.h: |
| * UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h: |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addContentRuleList): |
| (WebKit::WebUserContentControllerProxy::removeContentRuleList): |
| (WebKit::WebUserContentControllerProxy::removeAllContentRuleLists): |
| (WebKit::WebUserContentControllerProxy::addContentExtension): Deleted. |
| (WebKit::WebUserContentControllerProxy::removeContentExtension): Deleted. |
| (WebKit::WebUserContentControllerProxy::removeAllContentExtensions): Deleted. |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| * UIProcess/WebPageGroup.cpp: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::addContentRuleLists): |
| (WebKit::WebUserContentController::removeContentRuleList): |
| (WebKit::WebUserContentController::removeAllContentRuleLists): |
| (WebKit::WebUserContentController::addContentExtensions): Deleted. |
| (WebKit::WebUserContentController::removeContentExtension): Deleted. |
| (WebKit::WebUserContentController::removeAllContentExtensions): Deleted. |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/UserContent/WebUserContentController.messages.in: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_backgroundCPULimit): |
| |
| 2017-05-12 Jeremy Jones <jeremyj@apple.com> |
| |
| Add objc version of WK2 UIPageClient setHasVideoInPictureInPicture and rename it to hasVideoInPictureInPictureDidChange. |
| https://bugs.webkit.org/show_bug.cgi?id=172048 |
| rdar://problem/32163054 |
| |
| Reviewed by Simon Fraser. |
| |
| Rename UIPageClient setHasVideoInPictureInPicture to hasVideoInPictureInPictureDidChange. |
| Add missing _allowsPictureInPictureMediaPlayback property to WKPreferences. |
| Add -hasVideoInPictureInPictureDidChange to UIDelegate. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::hasVideoInPictureInPictureDidChange): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _allowsPictureInPictureMediaPlayback]): |
| (-[WKPreferences _setAllowsPictureInPictureMediaPlayback:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): |
| (WebKit::UIDelegate::UIClient::hasVideoInPictureInPictureDidChange): |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): |
| |
| 2017-05-12 David Quesada <david_quesada@apple.com> |
| |
| Add SPI for overriding WKWebView's clipping behavior for _visibleContentRect |
| https://bugs.webkit.org/show_bug.cgi?id=172000 |
| rdar://problem/32144756 |
| |
| Reviewed by Simon Fraser. |
| |
| Extract -[WKWebView _visibleContentRect]'s use of -_scroller to a new property |
| _enclosingViewForExposedRectComputation, which is declared in the private |
| header for subclasses to implement custom logic for determining the view to |
| clip rendering to. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _enclosingViewForExposedRectComputation]): |
| (-[WKWebView _visibleRectInEnclosingView:]): |
| (-[WKWebView _visibleContentRect]): |
| (-[WKWebView _visibleRectInEnclosingScrollView:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2017-05-12 Chris Dumez <cdumez@apple.com> |
| |
| Stop using PassRefPtr under WebKit2/UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=172029 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _takeViewSnapshot]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/API/gtk/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::registerEditCommand): |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: |
| (getIconSurfaceSynchronously): |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| * UIProcess/API/wpe/PageClientImpl.cpp: |
| (WebKit::PageClientImpl::registerEditCommand): |
| * UIProcess/API/wpe/PageClientImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::registerEditCommand): |
| * UIProcess/DefaultUndoController.cpp: |
| (WebKit::DefaultUndoController::registerEditCommand): |
| * UIProcess/DefaultUndoController.h: |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::create): |
| * UIProcess/Downloads/DownloadProxy.h: |
| * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: |
| (WebKit::GeolocationPermissionRequestManagerProxy::createRequest): |
| * UIProcess/GeolocationPermissionRequestManagerProxy.h: |
| * UIProcess/InspectorServer/HTTPRequest.cpp: |
| (WebKit::HTTPRequest::parseHTTPRequestFromBuffer): |
| * UIProcess/InspectorServer/HTTPRequest.h: |
| * UIProcess/InspectorServer/WebInspectorServer.cpp: |
| (WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest): |
| (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest): |
| (WebKit::WebInspectorServer::didEstablishWebSocketConnection): |
| * UIProcess/InspectorServer/WebInspectorServer.h: |
| * UIProcess/InspectorServer/WebSocketServerClient.h: |
| (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest): |
| (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest): |
| (WebKit::WebSocketServerClient::didEstablishWebSocketConnection): |
| * UIProcess/InspectorServer/WebSocketServerConnection.cpp: |
| (WebKit::WebSocketServerConnection::readHTTPMessage): |
| (WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection): |
| * UIProcess/InspectorServer/WebSocketServerConnection.h: |
| * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: |
| (WebKit::NotificationPermissionRequestManagerProxy::createRequest): |
| * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: |
| * UIProcess/Notifications/WebNotificationProvider.cpp: |
| (WebKit::WebNotificationProvider::notificationPermissions): |
| * UIProcess/Notifications/WebNotificationProvider.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/Storage/LocalStorageDatabase.cpp: |
| * UIProcess/WebContextMenuListenerProxy.h: |
| * UIProcess/WebCookieManagerProxy.h: |
| * UIProcess/WebEditCommandProxy.cpp: |
| (WebKit::WebEditCommandProxy::unapply): |
| (WebKit::WebEditCommandProxy::reapply): |
| * UIProcess/WebEditCommandProxy.h: |
| * UIProcess/WebGrammarDetail.cpp: |
| (WebKit::WebGrammarDetail::create): |
| * UIProcess/WebGrammarDetail.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::ExceededDatabaseQuotaRecords::createRecord): |
| (WebKit::WebPageProxy::registerEditCommand): |
| (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy): |
| (WebKit::WebPageProxy::exceededDatabaseQuota): |
| (WebKit::WebPageProxy::reachedApplicationCacheOriginQuota): |
| (WebKit::WebPageProxy::takeViewSnapshot): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::plugInAutoStartOriginHashes): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (-[WKEditCommandObjC initWithWebEditCommandProxy:]): |
| (WebKit::PageClientImpl::registerEditCommand): |
| (WebKit::PageClientImpl::saveImageToLibrary): |
| (WebKit::PageClientImpl::setDragImage): |
| (WebKit::PageClientImpl::takeViewSnapshot): |
| * UIProcess/ios/WKGeolocationProviderIOS.mm: |
| (-[WKWebAllowDenyPolicyListener initWithPermissionRequestProxy:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::saveImageToLibrary): |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::registerEditCommand): |
| (WebKit::PageClientImpl::setDragImage): |
| (WebKit::PageClientImpl::setPromisedDataForImage): |
| (WebKit::PageClientImpl::takeViewSnapshot): |
| * UIProcess/mac/WKImmediateActionController.mm: |
| (-[WKImmediateActionController _webHitTestResult]): |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::setDragImage): |
| (WebKit::WebPageProxy::setPromisedDataForImage): |
| * WebProcess/IconDatabase/WebIconDatabaseProxy.h: |
| |
| 2017-05-12 Jeremy Jones <jeremyj@apple.com> |
| |
| Add UIClient callback for when picture-in-picture is activated. |
| https://bugs.webkit.org/show_bug.cgi?id=172023 |
| |
| Reviewed by Simon Fraser. |
| |
| Add WKUIPageClientV10 with setHasVideoInPictureInPicture. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::setHasVideoInPictureInPicture): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm: |
| (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): |
| (WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): |
| |
| 2017-05-12 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r213564): Flash audio playback failures |
| https://bugs.webkit.org/show_bug.cgi?id=171876 |
| <rdar://problem/32082745> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The IOKit property filters added in r213564 need to be expanded to support |
| some Flash features. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| |
| 2017-05-12 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Add a mach-lookup exception for 'com.apple.analyticsd' |
| https://bugs.webkit.org/show_bug.cgi?id=172040 |
| <rdar://problem/31765514> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-05-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Add some logging for layer tree commits, and resize and orientation change events |
| https://bugs.webkit.org/show_bug.cgi?id=172041 |
| |
| Reviewed by Tim Horton. |
| |
| Add some logging that's useful during rotation investigations. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didCommitLayerTree:]): |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _didCommitLayerTree:]): |
| |
| 2017-05-12 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Stop setting a status on PKPaymentRequestShippingContactUpdate when there are errors |
| https://bugs.webkit.org/show_bug.cgi?id=172036 |
| <rdar://problem/31587957> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection): |
| |
| 2017-05-12 Chris Dumez <cdumez@apple.com> |
| |
| Stop using PassRefPtr under WebKit2/Shared |
| https://bugs.webkit.org/show_bug.cgi?id=172017 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Shared/API/APIDictionary.cpp: |
| (API::Dictionary::add): |
| (API::Dictionary::set): |
| * Shared/API/APIDictionary.h: |
| * Shared/API/APISecurityOrigin.h: |
| (API::SecurityOrigin::createFromString): |
| (API::SecurityOrigin::create): |
| (API::SecurityOrigin::securityOrigin): |
| (API::SecurityOrigin::SecurityOrigin): |
| * Shared/API/APISerializedScriptValue.h: |
| (API::SerializedScriptValue::create): |
| (API::SerializedScriptValue::SerializedScriptValue): |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::ProxyingRefPtr::ProxyingRefPtr): |
| * Shared/APIWebArchiveResource.h: |
| * Shared/APIWebArchiveResource.mm: |
| (API::WebArchiveResource::create): |
| (API::WebArchiveResource::WebArchiveResource): |
| * Shared/AsyncRequest.h: |
| (WebKit::AsyncRequestMap::add): |
| * Shared/BlobDataFileReferenceWithSandboxExtension.cpp: |
| (WebKit::BlobDataFileReferenceWithSandboxExtension::BlobDataFileReferenceWithSandboxExtension): |
| * Shared/BlobDataFileReferenceWithSandboxExtension.h: |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: |
| (WebKit::CoordinatedBackingStoreTile::setBackBuffer): |
| (WebKit::CoordinatedBackingStore::updateTile): |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.h: |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::createUpdateAtlas): |
| (WebKit::CoordinatedGraphicsScene::updateImageBacking): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * Shared/Plugins/Netscape/NetscapePluginModule.cpp: |
| (WebKit::NetscapePluginModule::getOrCreate): |
| * Shared/Plugins/Netscape/NetscapePluginModule.h: |
| * Shared/VisitedLinkTable.cpp: |
| (WebKit::VisitedLinkTable::setSharedMemory): |
| * Shared/VisitedLinkTable.h: |
| * Shared/WebBackForwardListItem.h: |
| (WebKit::WebBackForwardListItem::setSnapshot): |
| * Shared/WebContextMenuItem.cpp: |
| (WebKit::WebContextMenuItem::create): |
| * Shared/WebContextMenuItem.h: |
| * Shared/WebGeolocationPosition.h: |
| * Shared/WebRenderLayer.cpp: |
| (WebKit::WebRenderLayer::create): |
| (WebKit::WebRenderLayer::createArrayFromLayerList): |
| (WebKit::WebRenderLayer::WebRenderLayer): |
| * Shared/WebRenderLayer.h: |
| * Shared/WebRenderObject.cpp: |
| (WebKit::WebRenderObject::create): |
| (WebKit::WebRenderObject::WebRenderObject): |
| * Shared/WebRenderObject.h: |
| * UIProcess/VisitedLinkStore.cpp: |
| (WebKit::VisitedLinkStore::resizeTable): |
| * WebProcess/WebPage/VisitedLinkTableController.cpp: |
| (WebKit::VisitedLinkTableController::setVisitedLinkTable): |
| |
| 2017-05-11 Brady Eidson <beidson@apple.com> |
| |
| [WKWebsiteDataStore removeDataOfTypes:...] doesn't work for IndexedDB if the data store has a custom IDB path. |
| <rdar://problem/30612463> and https://bugs.webkit.org/show_bug.cgi?id=171994 |
| |
| Reviewed by Andy Estes. |
| Informal review by Maureen Daum. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::deleteWebsiteData): Instead of accessing the m_idbServers set directly, make |
| the method call that creates the server on demand. |
| (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): Ditto. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureDatabaseProcessAndWebsiteDataStore): Not only create the DatabaseProcess if necessary, |
| but also notify it about the passed-in WebsiteDataStore. |
| (WebKit::WebProcessPool::getDatabaseProcessConnection): |
| (WebKit::WebProcessPool::ensureDatabaseProcess): Deleted. |
| * UIProcess/WebProcessPool.h: |
| (WebKit::WebProcessPool::sendToDatabaseProcessRelaunchingIfNecessary): |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchData): |
| (WebKit::WebsiteDataStore::removeData): |
| (WebKit::WebsiteDataStore::databaseProcessParameters): |
| |
| 2017-05-11 Dean Jackson <dino@apple.com> |
| |
| Modern Media Controls shouldn't be an experimental feature |
| https://bugs.webkit.org/show_bug.cgi?id=172004 |
| <rdar://problem/32146522> |
| |
| Reviewed by Simon Fraser. |
| |
| This is either always on or always off, so shouldn't |
| show up in an Experimental Features menu. |
| |
| * Shared/WebPreferencesDefinitions.h: Move ModernMediaControlsEnabled |
| to a normal preference. |
| |
| 2017-05-11 Tim Horton <timothy_horton@apple.com> |
| |
| Mail spins launching spell checker when typing |
| https://bugs.webkit.org/show_bug.cgi?id=171986 |
| <rdar://problem/26305327> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setEditable:]): |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::didBecomeEditable): |
| (WebKit::WebViewImpl::startObservingFontPanel): Deleted. |
| Asynchronously pre-warm the spell checker when a WKWebView becomes editable. |
| |
| 2017-05-11 Chris Dumez <cdumez@apple.com> |
| |
| Stop using PassRefPtr in platform/graphics |
| https://bugs.webkit.org/show_bug.cgi?id=171977 |
| |
| Reviewed by Alex Christensen. |
| |
| Build fix. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::createBackingStoreIfNeeded): |
| (WebKit::CoordinatedGraphicsScene::removeBackingStoreIfNeeded): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<Cursor>::decode): |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::createImageBackingIfNeeded): |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: |
| * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: |
| (WebKit::GraphicsLayerCARemote::createPlatformCALayer): |
| (WebKit::GraphicsLayerCARemote::createPlatformCAAnimation): |
| * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: |
| * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h: |
| * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm: |
| (WebKit::PlatformCAAnimationRemote::copy): |
| |
| 2017-05-11 Tim Horton <timothy_horton@apple.com> |
| |
| Data loss when saving a PDF form where only radio buttons/checkboxes were modified |
| https://bugs.webkit.org/show_bug.cgi?id=171991 |
| <rdar://problem/32115945> |
| |
| Reviewed by Andy Estes. |
| |
| * WebProcess/Plugins/PDF/PDFLayerControllerSPI.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (-[WKPDFLayerControllerDelegate didChangeAnnotationState]): |
| Mark the PDF as dirty (so we re-encode it when asked to save) if annotations |
| that only PDFKit knows about change. |
| |
| 2017-05-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove Vibration API |
| https://bugs.webkit.org/show_bug.cgi?id=171766 |
| |
| Rubber-stamped by Alexey Proskuryakov. |
| |
| * CMakeLists.txt: |
| * Shared/API/APIObject.h: |
| * Shared/API/c/WKBase.h: |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetVibration): Deleted. |
| * UIProcess/API/C/WKPage.h: |
| * UIProcess/API/C/WKVibration.cpp: Removed. |
| * UIProcess/API/C/WKVibration.h: Removed. |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::m_weakPtrFactory): |
| (WebKit::WebPageProxy::resetState): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::vibration): Deleted. |
| * UIProcess/WebVibrationProvider.cpp: Removed. |
| * UIProcess/WebVibrationProvider.h: Removed. |
| * UIProcess/WebVibrationProxy.cpp: Removed. |
| * UIProcess/WebVibrationProxy.h: Removed. |
| * UIProcess/WebVibrationProxy.messages.in: Removed. |
| * WebProcess/WebCoreSupport/WebVibrationClient.cpp: Removed. |
| * WebProcess/WebCoreSupport/WebVibrationClient.h: Removed. |
| * WebProcess/WebPage/WebPage.cpp: |
| |
| 2017-05-11 Andy Estes <aestes@apple.com> |
| |
| Fix a spelling mistake in ApplePayErrorCode |
| https://bugs.webkit.org/show_bug.cgi?id=171981 |
| <rdar://problem/32136567> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toPKPaymentErrorCode): |
| (WebKit::toPKPaymentAuthorizationStatus): |
| |
| 2017-05-11 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Enable configuration through preferences |
| https://bugs.webkit.org/show_bug.cgi?id=171949 |
| <rdar://problem/31894518> |
| |
| Reviewed by Alex Christensen. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| Added ResourceLoadStatisticsTimeToLiveUserInteraction, |
| ResourceLoadStatisticsTimeToLiveCookiePartitionFree, and |
| ResourceLoadStatisticsReducedTimestampResolution. |
| * UIProcess/Cocoa/WebResourceLoadStatisticsManagerCocoa.mm: Added. |
| (WebKit::WebResourceLoadStatisticsManager::registerUserDefaultsIfNeeded): |
| * UIProcess/WebResourceLoadStatisticsManager.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): |
| Now calls WebResourceLoadStatisticsManager::registerUserDefaultsIfNeeded(). |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-05-11 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] Remove notifications guards from GTK API layer |
| https://bugs.webkit.org/show_bug.cgi?id=170014 |
| |
| Reviewed by Michael Catanzaro. |
| |
| ENABLE_NOTIFICATIONS in the GTK port is a private option and |
| disabling it is unsupported, hence remove its guards from the GTK API |
| layer. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| |
| 2017-05-11 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.17.2 release. |
| |
| * gtk/NEWS: Add release notes for 2.17.2. |
| |
| 2017-05-11 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] JavaScript prompt uses title of page to be loaded rather than title of current page |
| https://bugs.webkit.org/show_bug.cgi?id=152690 |
| |
| Reviewed by Michael Catanzaro. |
| |
| webkit_web_view_get_uri() returns the page to be loaded, use |
| internal api for this. |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewCreateJavaScriptDialog): |
| |
| 2017-05-10 Tim Horton <timothy_horton@apple.com> |
| |
| Null deref in WebPage::dictionaryPopupInfoForRange |
| https://bugs.webkit.org/show_bug.cgi?id=171959 |
| <rdar://problem/20886282> |
| |
| Reviewed by Beth Dakin. |
| |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::dictionaryPopupInfoForRange): |
| Speculative fix for non-reproducible crash when the startContainer of |
| the range is in an anonymous node. |
| |
| 2017-05-09 Sam Weinig <sam@webkit.org> |
| |
| Remove support for legacy Notifications |
| https://bugs.webkit.org/show_bug.cgi?id=171487 |
| |
| Reviewed by Jon Lee. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Shared/WebProcessCreationParameters.cpp: |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/WebProcessPool.cpp: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: |
| * WebProcess/Notifications/NotificationPermissionRequestManager.h: |
| * WebProcess/Notifications/WebNotificationManager.cpp: |
| * WebProcess/Notifications/WebNotificationManager.h: |
| * WebProcess/WebCoreSupport/WebNotificationClient.cpp: |
| * WebProcess/WebCoreSupport/WebNotificationClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/WebProcess.cpp: |
| Remove legacy notification specific code. |
| |
| 2017-05-10 Tim Horton <timothy_horton@apple.com> |
| |
| Add an experimental feature flag for viewport-fit |
| https://bugs.webkit.org/show_bug.cgi?id=171948 |
| <rdar://problem/31995518> |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| Add an experimental feature flag. |
| |
| 2017-05-10 Alex Christensen <achristensen@webkit.org> |
| |
| Include headers in WebKit.h |
| https://bugs.webkit.org/show_bug.cgi?id=171943 |
| |
| Reviewed by Dan Bernstein. |
| |
| * Shared/API/Cocoa/WebKit.h: |
| |
| 2017-05-10 Timothy Horton <timothy_horton@apple.com> |
| |
| Disable block selection for dynamic selection granularity |
| https://bugs.webkit.org/show_bug.cgi?id=171908 |
| <rdar://problem/32098024> |
| |
| Reviewed by Enrica Casucci. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _allowsBlockSelection]): |
| (-[WKWebViewConfiguration _setAllowsBlockSelection:]): |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| Add a private configuration parameter to re-enable block selection. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _allowsBlockSelection]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/Cocoa/VersionChecks.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::allowsBlockSelection): |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/WebPage/WebPage.h: |
| Plumb allowsBlockSelection through from WKWebViewConfiguration to WebPage. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setupInteraction]): |
| (-[WKContentView useSelectionAssistantWithGranularity:]): |
| (-[WKContentView _startAssistingKeyboard]): |
| (-[WKContentView _stopAssistingKeyboard]): |
| (toUIWebSelectionMode): Deleted. |
| (-[WKContentView useSelectionAssistantWithMode:]): Deleted. |
| Stop needlessly converting to UIWebSelectionMode. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::shouldSwitchToBlockModeForHandle): |
| Don't switch to block selection unless allowsBlockSelection is set. |
| |
| 2017-05-10 Tim Horton <timothy_horton@apple.com> |
| |
| Add an experimental feature flag for constant properties |
| https://bugs.webkit.org/show_bug.cgi?id=171913 |
| <rdar://problem/31995518> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| Add an experimental feature flag. |
| |
| 2017-05-09 Dean Jackson <dino@apple.com> |
| |
| Disable WebGL2 by default |
| https://bugs.webkit.org/show_bug.cgi?id=171894 |
| <rdar://problem/32089917> |
| |
| Reviewed by Tim Horton. |
| |
| Some WASM and WebGL2 content is failing because it |
| detects our WebGL2RenderingContext, but doesn't realise |
| that we don't implement enough of it to be useful. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2017-05-10 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r216563. |
| |
| Revision caused 2 api failures |
| |
| Reverted changeset: |
| |
| "[MediaStream] deviceId constraint doesn't work with |
| getUserMedia" |
| https://bugs.webkit.org/show_bug.cgi?id=171877 |
| http://trac.webkit.org/changeset/216563 |
| |
| 2017-05-10 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] HTTP authentication dialog should focus on first input field |
| https://bugs.webkit.org/show_bug.cgi?id=151349 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Setting focus on a widget before it's mapped does nothing. Move |
| the call to the right place. |
| |
| * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: |
| (webkitAuthenticationDialogInitialize): |
| (webkitAuthenticationDialogMap): |
| |
| 2017-05-10 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] -Wmissing-field-initializers triggered by RemoteInspectorServer.cpp:128 |
| https://bugs.webkit.org/show_bug.cgi?id=171273 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/glib/RemoteInspectorClient.cpp: |
| (WebKit::RemoteInspectorClient::RemoteInspectorClient): |
| |
| 2017-05-09 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] deviceId constraint doesn't work with getUserMedia |
| https://bugs.webkit.org/show_bug.cgi?id=171877 |
| <rdar://problem/31899730> |
| |
| Reviewed by Jer Noble. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MediaConstraintsData>::encode): Encode deviceIDHashSalt. |
| (IPC::ArgumentCoder<MediaConstraintsData>::decode): Decode deviceIDHashSalt. |
| |
| * UIProcess/UserMediaPermissionCheckProxy.cpp: |
| (WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy): Initialize |
| completion handler, frame ID, and security origins. |
| (WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo): Complete by calling |
| completion handler because we now sometimes request access info before calling gUM. |
| (WebKit::UserMediaPermissionCheckProxy::invalidate): Clear completion handler. |
| * UIProcess/UserMediaPermissionCheckProxy.h: |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::FrameAuthorizationState::FrameAuthorizationState): Take security origins, not |
| UserMediaPermissionRequestProxy, so it can be constructed with a UserMediaPermissionCheckProxy. |
| (WebKit::FrameAuthorizationState::ensureSecurityOriginsAreEqual): Ditto. Clear has salt |
| when origins don't match. |
| (WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest): Templatize. |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): Fix typo. |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto. |
| Don't set state for empty UIDs. Pass hash salt to web process. |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| The device ID hash salt is now required to validate constraints, so get it first. |
| (WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): Helper |
| method used to get the device ID hash salt. |
| (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Restructure |
| to use getUserMediaPermissionInfo. |
| (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Deleted. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted): Add device ID |
| hash salt parameter. |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::userMediaAccessWasGranted): Ditto. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::createCaptureSource): Use new MediaConstraintsData |
| constructor. |
| |
| 2017-05-09 Alex Christensen <achristensen@webkit.org> |
| |
| Buffer media in NetworkProcess to reduce IPC overhead |
| https://bugs.webkit.org/show_bug.cgi?id=171834 |
| <rdar://problem/31485485> |
| |
| Reviewed by Jer Noble. |
| |
| I have measured a significant CPU usage reduction when buffering media data in the NetworkProcess, |
| especially on arm64 processors. Buffering data in the NetworkProcess introduces no additional data |
| copies after r215686, and it reduces the number of messages sent from the NetworkProcess to the WebProcess, |
| each of which must also be forwarded to mediaserverd by AVFoundation. This reduces the number of messages |
| from thousands per second to a maximum of 20 per second. This adds 1/20 second additional latency in |
| media loading, which will probably not be noticed by most users. This also adds the possibility of large |
| allocations when decoding IPC messages in the WebProcess, and if that becomes the source of crashes we can |
| add a maximum buffered amount in addition to a maximum buffered time, but we are likely not to receive |
| so much data in 1/20 second to have problems allocating the buffer. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::maximumBufferingTime): |
| Buffer data in the NetworkProcess for up to 50ms before sending it to the WebProcess in one message. |
| This value is used in NetworkResourceLoader::didReceiveBuffer to append to m_bufferedData instead of |
| sending the small chunks immediately. |
| |
| 2017-05-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r216545. |
| https://bugs.webkit.org/show_bug.cgi?id=171889 |
| |
| Caused a test failure (Requested by eric_carlson on #webkit). |
| |
| Reverted changeset: |
| |
| "[MediaStream] deviceId constraint doesn't work with |
| getUserMedia" |
| https://bugs.webkit.org/show_bug.cgi?id=171877 |
| http://trac.webkit.org/changeset/216545 |
| |
| 2017-05-09 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] deviceId constraint doesn't work with getUserMedia |
| https://bugs.webkit.org/show_bug.cgi?id=171877 |
| <rdar://problem/31899730> |
| |
| Reviewed by Jer Noble. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MediaConstraintsData>::encode): Encode deviceIDHashSalt. |
| (IPC::ArgumentCoder<MediaConstraintsData>::decode): Decode deviceIDHashSalt. |
| |
| * UIProcess/UserMediaPermissionCheckProxy.cpp: |
| (WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy): Initialize |
| completion handler, frame ID, and security origins. |
| (WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo): Complete by calling |
| completion handler because we now sometimes request access info before calling gUM. |
| (WebKit::UserMediaPermissionCheckProxy::invalidate): Clear completion handler. |
| * UIProcess/UserMediaPermissionCheckProxy.h: |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::FrameAuthorizationState::FrameAuthorizationState): Take security origins, not |
| UserMediaPermissionRequestProxy, so it can be constructed with a UserMediaPermissionCheckProxy. |
| (WebKit::FrameAuthorizationState::ensureSecurityOriginsAreEqual): Ditto. Clear has salt |
| when origins don't match. |
| (WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest): Templatize. |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): Fix typo. |
| (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto. |
| Don't set state for empty UIDs. Pass hash salt to web process. |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| The device ID hash salt is now required to validate constraints, so get it first. |
| (WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): Helper |
| method used to get the device ID hash salt. |
| (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Restructure |
| to use getUserMediaPermissionInfo. |
| (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Deleted. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted): Add device ID |
| hash salt parameter. |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::userMediaAccessWasGranted): Ditto. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::createCaptureSource): Use new MediaConstraintsData |
| constructor. |
| |
| 2017-05-10 Dean Jackson <dino@apple.com> |
| |
| Restrict SVG filters to accessible security origins |
| https://bugs.webkit.org/show_bug.cgi?id=118689 |
| <rdar://problem/27362159> |
| |
| Reviewed by Brent Fulgham. |
| |
| Update parameter lists. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::paint): |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2017-05-09 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> |
| |
| [Coordinated Graphics] Debug Visuals don't hide |
| https://bugs.webkit.org/show_bug.cgi?id=162704 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode): |
| (IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode): |
| (IPC::ArgumentCoder<DebugVisuals>::encode): |
| (IPC::ArgumentCoder<DebugVisuals>::decode): |
| The encoder and decoder for DebugVisuals have been added. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::setLayerState): |
| Update the debug visuals of a layer according to the DebugVisuals information |
| if the debugVisualsChanged flag is set to true. |
| |
| 2017-05-09 Zan Dobersek <zdobersek@igalia.com> |
| |
| Upstream the WPE port |
| https://bugs.webkit.org/show_bug.cgi?id=171110 |
| |
| Reviewed by Alex Christensen. |
| |
| webkit-dev thread: |
| https://lists.webkit.org/pipermail/webkit-dev/2017-April/028923.html |
| |
| Existing files changed to properly use PLATFORM(WPE) build guards or other |
| WPE-specific additions (e.g. pasteboard support). |
| In-file changes removed from this ChangeLog entry for brevity. |
| |
| * Platform/IPC/glib/GSocketMonitor.cpp: |
| * PlatformWPE.cmake: Added. |
| * Scripts/generate-forwarding-headers.pl: |
| * Shared/API/c/WKBase.h: |
| * Shared/API/c/wpe/WKBaseWPE.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * Shared/API/c/wpe/WebKit.h: Added. |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| * Shared/DrawingAreaInfo.h: |
| * Shared/NativeWebKeyboardEvent.h: |
| * Shared/NativeWebMouseEvent.h: |
| * Shared/NativeWebTouchEvent.h: |
| * Shared/NativeWebWheelEvent.h: |
| * Shared/WebCoreArgumentCoders.cpp: |
| * Shared/WebCoreArgumentCoders.h: |
| * Shared/WebPreferencesDefinitions.h: |
| * Shared/wpe/NativeWebKeyboardEventWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * Shared/wpe/NativeWebMouseEventWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * Shared/wpe/NativeWebTouchEventWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * Shared/wpe/NativeWebWheelEventWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * Shared/wpe/ProcessExecutablePathWPE.cpp: Added. |
| * Shared/wpe/WebEventFactory.cpp: Added. |
| * Shared/wpe/WebEventFactory.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/C/WKAPICast.h: |
| * UIProcess/API/C/wpe/WKAPICastWPE.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/C/wpe/WKView.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/C/wpe/WKView.h: Copied from Source/WebKit2/Shared/NativeWebWheelEvent.h. |
| * UIProcess/API/wpe/CompositingManagerProxy.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/wpe/CompositingManagerProxy.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/wpe/CompositingManagerProxy.messages.in: Added. |
| * UIProcess/API/wpe/DrawingAreaProxyWPE.cpp: Added. |
| * UIProcess/API/wpe/DrawingAreaProxyWPE.h: Copied from Source/WebKit2/Shared/NativeWebWheelEvent.h. |
| * UIProcess/API/wpe/PageClientImpl.cpp: Added. |
| * UIProcess/API/wpe/PageClientImpl.h: Added. |
| * UIProcess/API/wpe/ScrollGestureController.cpp: Added. |
| * UIProcess/API/wpe/ScrollGestureController.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/wpe/WPEView.cpp: Added. |
| * UIProcess/API/wpe/WPEView.h: Added. |
| * UIProcess/API/wpe/WPEViewClient.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/wpe/WPEViewClient.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/API/wpe/WebKit2InspectorGResourceBundle.xml: Added. |
| * UIProcess/ChildProcessProxy.cpp: |
| * UIProcess/Launcher/ProcessLauncher.h: |
| * UIProcess/Launcher/wpe/ProcessLauncherWPE.cpp: Added. |
| * UIProcess/WebInspectorProxy.h: |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| * UIProcess/WebProcessPool.cpp: |
| * UIProcess/wpe/TextCheckerWPE.cpp: Added. |
| * UIProcess/wpe/WebInspectorProxyWPE.cpp: Added. |
| * UIProcess/wpe/WebPageProxyWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/wpe/WebPasteboardProxyWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * UIProcess/wpe/WebPreferencesWPE.cpp: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h. |
| * UIProcess/wpe/WebProcessPoolWPE.cpp: Added. |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebKit2Prefix.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/wpe/WebContextMenuClientWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * WebProcess/WebCoreSupport/wpe/WebEditorClientWPE.cpp: Added. |
| * WebProcess/WebCoreSupport/wpe/WebPopupMenuWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| * WebProcess/WebPage/DrawingArea.cpp: |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/wpe/CompositingManager.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * WebProcess/WebPage/wpe/CompositingManager.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.cpp: Added. |
| * WebProcess/WebPage/wpe/DrawingAreaWPE.h: Added. |
| * WebProcess/WebPage/wpe/WebInspectorUIWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * WebProcess/WebPage/wpe/WebInspectorWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * WebProcess/WebPage/wpe/WebPageWPE.cpp: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h. |
| * WebProcess/wpe/WebProcessMainWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h. |
| * wpe/wpe-webkit.pc.in: Added. |
| |
| 2017-05-09 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Building Webkit2Gtk without OpenGL fails. |
| https://bugs.webkit.org/show_bug.cgi?id=170959 |
| |
| Reviewed by Žan Doberšek. |
| |
| * UIProcess/gtk/HardwareAccelerationManager.cpp: |
| (WebKit::HardwareAccelerationManager::HardwareAccelerationManager): |
| |
| 2017-05-08 Youenn Fablet <youenn@apple.com> |
| |
| Follow-up to bug 171710: use more references and reject if either audio or video source creation is failing |
| https://bugs.webkit.org/show_bug.cgi?id=171824 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): |
| |
| 2017-05-08 Brent Fulgham <bfulgham@apple.com> |
| |
| REGRESSION(r213564): Flash video playback failures |
| https://bugs.webkit.org/show_bug.cgi?id=171840 |
| <rdar://problem/32041569> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The sandbox restrictions added in r213564 to prevent access to unused iokit properties |
| blocked some items needed for Flash video playback. This change relaxes the sandbox |
| to allow this software to run properly. |
| |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| |
| 2017-05-08 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce PassRefPtr use in WebKit2 |
| https://bugs.webkit.org/show_bug.cgi?id=171831 |
| |
| Reviewed by Chris Dumez. |
| |
| * UIProcess/API/C/WKPageGroup.cpp: |
| (WKPageGroupCreateWithIdentifier): |
| * UIProcess/GenericCallback.h: |
| (WebKit::GenericCallback::create): |
| (WebKit::CallbackMap::put): |
| * UIProcess/StatisticsRequest.cpp: |
| (WebKit::StatisticsRequest::StatisticsRequest): |
| * UIProcess/StatisticsRequest.h: |
| (WebKit::StatisticsRequest::create): |
| * UIProcess/TextChecker.h: |
| * UIProcess/TextCheckerCompletion.cpp: |
| (WebKit::TextCheckerCompletion::create): |
| * UIProcess/TextCheckerCompletion.h: |
| * UIProcess/WebColorPicker.h: |
| (WebKit::WebColorPicker::create): |
| * UIProcess/WebConnectionToWebProcess.cpp: |
| (WebKit::WebConnectionToWebProcess::create): |
| * UIProcess/WebConnectionToWebProcess.h: |
| * UIProcess/WebContextInjectedBundleClient.cpp: |
| (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData): |
| * UIProcess/WebContextInjectedBundleClient.h: |
| * UIProcess/WebContextMenuListenerProxy.h: |
| (WebKit::WebContextMenuListenerProxy::create): |
| * UIProcess/WebCookieManagerProxy.cpp: |
| (WebKit::WebCookieManagerProxy::create): |
| * UIProcess/WebCookieManagerProxy.h: |
| * UIProcess/WebEditCommandProxy.h: |
| (WebKit::WebEditCommandProxy::create): |
| * UIProcess/WebFormSubmissionListenerProxy.h: |
| (WebKit::WebFormSubmissionListenerProxy::create): |
| * UIProcess/WebFrameListenerProxy.h: |
| * UIProcess/WebFrameProxy.h: |
| (WebKit::WebFrameProxy::create): |
| * UIProcess/WebFullScreenManagerProxy.cpp: |
| (WebKit::WebFullScreenManagerProxy::create): |
| * UIProcess/WebFullScreenManagerProxy.h: |
| * UIProcess/WebGeolocationManagerProxy.cpp: |
| (WebKit::WebGeolocationManagerProxy::create): |
| * UIProcess/WebGeolocationManagerProxy.h: |
| * UIProcess/WebIconDatabase.cpp: |
| (WebKit::WebIconDatabase::create): |
| (WebKit::WebIconDatabase::iconDataForPageURL): |
| * UIProcess/WebIconDatabase.h: |
| * UIProcess/WebMediaSessionFocusManager.cpp: |
| (WebKit::WebMediaSessionFocusManager::create): |
| * UIProcess/WebMediaSessionFocusManager.h: |
| * UIProcess/WebOpenPanelResultListenerProxy.h: |
| (WebKit::WebOpenPanelResultListenerProxy::create): |
| * UIProcess/WebPageGroup.cpp: |
| (WebKit::WebPageGroup::create): |
| * UIProcess/WebPageGroup.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::forceRepaint): |
| (WebKit::WebPageProxy::computePagesForPrinting): |
| (WebKit::WebPageProxy::drawRectToImage): |
| (WebKit::WebPageProxy::drawPagesToPDF): |
| (WebKit::WebPageProxy::drawPagesForPrinting): |
| (WebKit::WebPageProxy::callAfterNextPresentationUpdate): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/TextCheckerIOS.mm: |
| (WebKit::TextChecker::requestCheckingOfString): |
| * UIProcess/mac/TextCheckerMac.mm: |
| (WebKit::TextChecker::requestCheckingOfString): |
| * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: |
| * UIProcess/mac/WKFullScreenWindowController.mm: |
| (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): |
| * UIProcess/mac/WKPrintingView.mm: |
| (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): |
| (-[WKPrintingView _drawPreview:]): |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::loadURL): |
| (WebKit::NetscapePlugin::manualStreamDidReceiveResponse): |
| * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: |
| (WebKit::NetscapePluginStream::NetscapePluginStream): |
| * WebProcess/Plugins/Netscape/NetscapePluginStream.h: |
| (WebKit::NetscapePluginStream::create): |
| * WebProcess/WebCoreSupport/SessionStateConversion.cpp: |
| (WebKit::toFormData): |
| |
| 2017-05-08 Youenn Fablet <youenn@apple.com> |
| |
| Add support for reading and writing settings from UIProcess audio capture |
| https://bugs.webkit.org/show_bug.cgi?id=171633 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): |
| (WebKit::UserMediaCaptureManagerProxy::applyConstraints): |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::Source::setSettings): |
| (WebKit::UserMediaCaptureManager::Source::applyConstraintsSucceeded): |
| (WebKit::UserMediaCaptureManager::Source::applyConstraintsFailed): |
| (WebKit::UserMediaCaptureManager::createCaptureSource): |
| (WebKit::UserMediaCaptureManager::sourceSettingsChanged): |
| (WebKit::UserMediaCaptureManager::applyConstraints): |
| (WebKit::UserMediaCaptureManager::applyConstraintsSucceeded): |
| (WebKit::UserMediaCaptureManager::applyConstraintsFailed): |
| (WebKit::UserMediaCaptureManager::Source::setMuted): Deleted. |
| (WebKit::UserMediaCaptureManager::Source::setEnabled): Deleted. |
| * WebProcess/cocoa/UserMediaCaptureManager.h: |
| * WebProcess/cocoa/UserMediaCaptureManager.messages.in: |
| |
| 2017-05-08 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce PassRefPtr use |
| https://bugs.webkit.org/show_bug.cgi?id=171809 |
| |
| Reviewed by Chris Dumez. |
| |
| * PluginProcess/PluginControllerProxy.cpp: |
| (WebKit::PluginControllerProxy::setInitializationReply): |
| * PluginProcess/PluginControllerProxy.h: |
| * PluginProcess/WebProcessConnection.cpp: |
| (WebKit::WebProcessConnection::destroyPlugin): |
| (WebKit::WebProcessConnection::createPlugin): |
| * PluginProcess/WebProcessConnection.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::runOpenPanel): |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::registerUndoStep): |
| * WebProcess/WebPage/VisitedLinkTableController.cpp: |
| (WebKit::VisitedLinkTableController::getOrCreate): |
| * WebProcess/WebPage/VisitedLinkTableController.h: |
| * WebProcess/WebPage/WebFrame.cpp: |
| (WebKit::WebFrame::hitTest): |
| (WebKit::WebFrame::createSelectionSnapshot): |
| * WebProcess/WebPage/WebFrame.h: |
| * WebProcess/WebPage/WebOpenPanelResultListener.cpp: |
| (WebKit::WebOpenPanelResultListener::create): |
| (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener): |
| * WebProcess/WebPage/WebOpenPanelResultListener.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::unapplyEditCommand): |
| (WebKit::WebPage::reapplyEditCommand): |
| * WebProcess/WebPage/WebPageGroupProxy.cpp: |
| (WebKit::WebPageGroupProxy::create): |
| * WebProcess/WebPage/WebPageGroupProxy.h: |
| * WebProcess/WebPage/WebUndoStep.cpp: |
| (WebKit::WebUndoStep::create): |
| * WebProcess/WebPage/WebUndoStep.h: |
| (WebKit::WebUndoStep::step): |
| (WebKit::WebUndoStep::WebUndoStep): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::create): |
| (WebKit::PlatformCALayerRemote::clone): |
| (WebKit::PlatformCALayerRemote::animationForKey): |
| (WebKit::PlatformCALayerRemote::createCompatibleLayer): |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.h: |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: |
| * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: |
| (WebKit::PlatformCALayerRemoteCustom::create): |
| (WebKit::PlatformCALayerRemoteCustom::clone): |
| |
| 2017-05-08 Jer Noble <jer.noble@apple.com> |
| |
| [Mac] Audio capture fails when shouldCaptureAudioInUIProcess is set. |
| https://bugs.webkit.org/show_bug.cgi?id=171710 |
| |
| Reviewed by Eric Carlson. |
| |
| RealtimeMediaSourceCenterMac's setUseAVFoundationAudioCapture() is now accessed via a singleton. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs): |
| |
| 2017-05-08 Andy Estes <aestes@apple.com> |
| |
| [macOS] com.macromedia.Flash Player ESR.plugin.sb is installed outside of PlugInSandboxProfiles |
| https://bugs.webkit.org/show_bug.cgi?id=171774 |
| |
| Reviewed by Dan Bernstein. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-05-08 Youenn Fablet <youenn@apple.com> |
| |
| Clean UserMediaCaptureManager::capabilities return value |
| https://bugs.webkit.org/show_bug.cgi?id=171808 |
| |
| Reviewed by Eric Carlson. |
| |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::capabilities): |
| * WebProcess/cocoa/UserMediaCaptureManager.h: |
| |
| 2017-05-08 Chris Dumez <cdumez@apple.com> |
| |
| Move 'style' from Element to HTMLElement / SVGElement and make it settable |
| https://bugs.webkit.org/show_bug.cgi?id=171795 |
| |
| Reviewed by Alex Christensen. |
| |
| Build fix. |
| |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::shouldApplyStyle): |
| |
| 2017-05-07 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS] REGRESSION (r209409): getBoundingClientRect is wrong for fixed-position elements in resize/orientationchange |
| https://bugs.webkit.org/show_bug.cgi?id=171140 |
| rdar://problem/31765167 |
| |
| Reviewed by Sam Weinig. |
| |
| WebPage::dynamicViewportSizeUpdate() is called during rotation, and does a layout which needs to have |
| an up-to-date layout viewport, since the layout viewport state is detectable in orientationchange and |
| resize events via fetching the client rect of fixed elements. Normally we send in the layout viewport |
| from the UI process, but in this case we need to compute one in the web process. So factor code |
| into FrameView to do the computation, called from both places. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: |
| (WebKit::RemoteScrollingCoordinatorProxy::customFixedPositionRect): |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::computeCustomFixedPositionRect): |
| * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: |
| (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::dynamicViewportSizeUpdate): |
| |
| 2017-05-07 Youenn Fablet <youenn@apple.com> |
| |
| [MediaStream] r216197 caused some webrtc tests to fail |
| https://bugs.webkit.org/show_bug.cgi?id=171728 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/UserMediaProcessManager.cpp: |
| (WebKit::UserMediaProcessManager::willEnableMediaStreamInPage): Removing muting streams of the page requesting |
| additional capture streams. This is now done in the WebProcess. |
| |
| 2017-05-07 Tim Horton <timothy_horton@apple.com> |
| |
| Clean up some WebProcessProxy, WebPage, and message handler includes |
| https://bugs.webkit.org/show_bug.cgi?id=171791 |
| |
| Reviewed by Sam Weinig. |
| |
| This is worth another ~10% off WebKit2 clean build time on Mac. |
| This time, the most impactful change is the removal of |
| UserMediaPermissionRequestManager.h from WebPage.h, which completely |
| eradicates JSC's VM.h (which is enormous) from WebPage.h (at least on Mac). |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| Stop specializing CompositionUnderline now that it has its own file. |
| |
| * Shared/API/c/WKDeprecatedFunctions.cpp: |
| * Shared/WebCoreArgumentCoders.cpp: |
| * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: |
| * UIProcess/Gamepad/UIGamepadProvider.cpp: |
| * UIProcess/HiddenPageThrottlingAutoIncreasesCounter.h: Added. |
| * UIProcess/HighPerformanceGraphicsUsageSampler.cpp: |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| * UIProcess/PerActivityStateCPUUsageSampler.cpp: |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::toWebCore): |
| * UIProcess/VisibleWebPageCounter.h: Added. |
| * UIProcess/VisitedLinkStore.h: |
| * UIProcess/WebPageGroup.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessLifetimeTracker.cpp: |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.h: |
| Remove WebPageProxy and forward-declare a whole bunch of things. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebUserMediaClient.cpp: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::userMediaAccessWasGranted): |
| (WebKit::WebPage::userMediaAccessWasDenied): |
| (WebKit::WebPage::didCompleteMediaDeviceEnumeration): |
| (WebKit::WebPage::grantUserMediaDeviceSandboxExtensions): |
| (WebKit::WebPage::revokeUserMediaDeviceSandboxExtensions): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::userMediaPermissionRequestManager): |
| * WebProcess/WebPage/ios/FindControllerIOS.mm: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: |
| (WebKit::RemoteLayerTreeContext::deviceScaleFactor): Deleted. |
| (WebKit::RemoteLayerTreeContext::layerHostingMode): Deleted. |
| * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: |
| (WebKit::RemoteLayerTreeContext::deviceScaleFactor): |
| (WebKit::RemoteLayerTreeContext::layerHostingMode): |
| |
| 2017-05-06 Chris Dumez <cdumez@apple.com> |
| |
| Align our IDL files with the latest DOM specification |
| https://bugs.webkit.org/show_bug.cgi?id=171777 |
| |
| Reviewed by Sam Weinig. |
| |
| GTK build fix. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp: |
| (webkit_dom_document_get_ready_state): |
| |
| 2017-05-06 Tim Horton <timothy_horton@apple.com> |
| |
| Reduce the number of includes in WebPage.h and WebProcess.h |
| https://bugs.webkit.org/show_bug.cgi?id=171779 |
| |
| Reviewed by Sam Weinig. |
| |
| * WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h: |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| * WebProcess/Network/webrtc/LibWebRTCProvider.cpp: |
| * WebProcess/Network/webrtc/LibWebRTCResolver.cpp: |
| * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: |
| * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: |
| * WebProcess/WebPage/FindController.cpp: |
| * WebProcess/WebPage/WebFrame.cpp: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::disableEnumeratingAllNetworkInterfaces): |
| (WebKit::WebPage::enableEnumeratingAllNetworkInterfaces): |
| (WebKit::WebPage::didReceivePolicyDecision): |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::disableEnumeratingAllNetworkInterfaces): Deleted. |
| (WebKit::WebPage::enableEnumeratingAllNetworkInterfaces): Deleted. |
| * WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h: |
| * WebProcess/WebProcess.cpp: |
| * WebProcess/WebProcess.h: |
| In my measurement, this improves WebKit2 debug clean build time by |
| ~10% for Mac and ~5% for iOS. The most valuable change is the one to |
| remove LibWebRTC headers.. |
| |
| 2017-05-06 Alexey Proskuryakov <ap@apple.com> |
| |
| REGRESSION (r216294): The new test fails on WebKit1 |
| https://bugs.webkit.org/show_bug.cgi?id=171780 |
| |
| Rolling back https://trac.webkit.org/r216294, https://trac.webkit.org/r216296, |
| https://trac.webkit.org/216299, https://trac.webkit.org/216330 |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::paint): |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2017-05-06 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Make rotation tests more reliable |
| https://bugs.webkit.org/show_bug.cgi?id=171778 |
| |
| Reviewed by Tim Horton. |
| |
| Switching between "safari-style" rotation and normal rotation left state on the WKWebView |
| that would cause later viewport-sensitive tests to fail. The WKWebView would be left |
| with override layout parameters, and an override orientation, and these caused viewport |
| size to leak into later tests, and WebCore orientation to not get reset correctly. |
| |
| Also, WKWebView was unregistering for UIWindowDidRotateNotification notifications when |
| an override orientation was set, and would never re-register, causing lost orientationchanged |
| events. |
| |
| Fix by exposing WKWebView SPI to clear the various bits of overide state. Also don't unregister |
| from the UIWindowDidRotateNotification notification; it's already ignored anyway if it fires. |
| |
| Also wait for a visible content rect update after resizing the WKWebVeiw between tests, to make sure |
| the WebProcess is caught up before proceeding with the test. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setInterfaceOrientationOverride:]): |
| (-[WKWebView _clearInterfaceOrientationOverride]): |
| (-[WKWebView _beginAnimatedResizeWithUpdates:]): |
| (-[WKWebView _clearOverrideLayoutParameters]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2017-05-06 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Remove unused lambda capture |
| https://bugs.webkit.org/show_bug.cgi?id=171772 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::fetchWebsiteData): |
| |
| 2017-05-06 David Kilzer <ddkilzer@apple.com> |
| |
| messages_unittest.py should support a [-r|--reset-results] switch |
| <https://webkit.org/b/171627> |
| |
| Reviewed by Daniel Bates. |
| |
| This change adds support for a [-r|--reset-results] switch when |
| running messages_unittest.py to make it easy to update the |
| expected file results. |
| |
| This also cleans up a lot of duplicate code in |
| messages_unittest.py by extracting common code into new methods |
| and by pushing code down into methods where it's actually used. |
| |
| * Scripts/webkit/LegacyMessageReceiver-expected.cpp: |
| * Scripts/webkit/LegacyMessages-expected.h: |
| * Scripts/webkit/MessageReceiver-expected.cpp: |
| * Scripts/webkit/MessageReceiverSuperclass-expected.cpp: |
| * Scripts/webkit/Messages-expected.h: |
| * Scripts/webkit/MessagesSuperclass-expected.h: |
| - Update expected files using the new --reset-results switch. |
| |
| * Scripts/webkit/messages_unittest.py: |
| - Remove what appears to be a debugging print statement. |
| - Replace the code that reads in expected files with variables |
| that contain the expected file names. The code to read in the |
| contents moved into |
| GeneratedFileContentsTest.assertGeneratedFileContentsEqual(). |
| (ParsingTest.check_message): |
| - Drive-by fix to change "!= None" to "is not None". |
| (GeneratedFileContentsTest.assertGeneratedFileContentsEqual): |
| - Add support for [-r|--reset-results] switch here. This will |
| write out updated expected file contents when the switch is |
| used. |
| - Push down most of the global code that reads in file contents |
| into this method. |
| - Change use of split('\n') into splitlines(False). |
| (GeneratedFileContentsTest.assertHeaderEqual): Add. |
| - Extracts common code from test_receiver_headers(). |
| (GeneratedFileContentsTest.assertImplementationEqual): Add. |
| - Extracts common code from test_receiver_implementations(). |
| (HeaderTest): |
| (HeaderTest.test_receiver_headers): |
| - Rename from HeaderTest.test_header(). |
| - Simplify by calling assertHeaderEqual(). |
| (ReceiverImplementationTest): |
| (ReceiverImplementationTest.test_receiver_implementations): |
| - Rename from |
| ReceiverImplementationTest.test_receiver_implementation(). |
| - Simplify by calling assertImplementationEqual(). |
| (add_reset_results_to_unittest_help): Add. |
| - Inserts help text for [-r|--reset-results] switch. |
| (parse_sys_argv): Add. |
| - Parses [-r|--reset-results] switch, and then removes it from |
| sys.argv. We do this instead of using argparse so that the |
| original help for the unittest module is still shown when |
| using --help. |
| |
| 2017-05-05 Timothy Horton <timothy_horton@apple.com> |
| |
| [Mac] Adjust cursor position for dragged link (and stop it from moving based on how fast you are dragging) |
| https://bugs.webkit.org/show_bug.cgi?id=171764 |
| <rdar://problem/32005865> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::dragImageForView): |
| Always use the last mouse down event to originate the drag; this was a 2004 hack |
| to work around a seemingly-fixed macOS bug that somehow propagated into WebKit2. |
| With WebKit2, this would cause trouble because currentEvent could move on |
| during the bounce to the Web Content process and back, causing the delta between |
| clientPoint and the mouse point to be dependent on timing, and thus causing the |
| link to sit at timing-dependent distance from the cursor, instead of exactly |
| where dragOffsetForLinkDragImage placed it. |
| |
| 2017-05-05 Brady Eidson <beidson@apple.com> |
| |
| API test WebKit2.WebsiteDataStoreCustomPaths is failing on ios-simulator. |
| <rdar://problem/31977294> and https://bugs.webkit.org/show_bug.cgi?id=171513 |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::syncAllCookies): |
| |
| 2017-05-05 Dean Jackson <dino@apple.com> |
| |
| Restrict SVG filters to accessible security origins |
| https://bugs.webkit.org/show_bug.cgi?id=118689 |
| <rdar://problem/27362159> |
| |
| Reviewed by Brent Fulgham. |
| |
| Update parameter lists. |
| |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::paint): |
| * WebProcess/Plugins/PluginView.h: |
| |
| 2017-05-05 Beth Dakin <bdakin@apple.com> |
| |
| Ensure NSColorPickerTouchBarItem only uses sRGB colors |
| https://bugs.webkit.org/show_bug.cgi?id=171758 |
| -and corresponding- |
| rdar://problem/28314183 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (-[WKTextTouchBarItemController itemForIdentifier:]): |
| |
| 2017-05-05 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS][macOS] Expand sandbox to access vm.footprint_suspend |
| https://bugs.webkit.org/show_bug.cgi?id=171749 |
| <rdar://problem/32019494> |
| |
| Reviewed by Geoffrey Garen. |
| |
| The 'sysctl' whitelist needs to be extended to support an additional VM-related feature. |
| |
| * DatabaseProcess/mac/com.apple.WebKit.Databases.sb.in: |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| * PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-05-05 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Don't cover in-memory and disk caches during website data removal |
| https://bugs.webkit.org/show_bug.cgi?id=171741 |
| <rdar://problem/32020691> |
| |
| Reviewed by Brent Fulgham. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): |
| No longer removes WebsiteDataType::DiskCache or WebsiteDataType::MemoryCache. |
| |
| 2017-05-05 Brian Burg <bburg@apple.com> |
| |
| CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::commonVMSlow + 57 |
| https://bugs.webkit.org/show_bug.cgi?id=171669 |
| <rdar://problem/31967684> |
| |
| Reviewed by Mark Lam. |
| |
| safaridriver's AutomaticInspection capability causes us to call WebInspectorProxy::connect() |
| underneath the Automation.inspectBrowsingContext command. This fires a NeedDebuggerBreak |
| interrupt for the web content's VM, but this is racy because the web content process may |
| not yet be fully initialized when this interrupt is handled. |
| |
| To work around this, just don't deliver any interrupts if the VM singleton is still null. |
| This is a reliable signal that the web content process is not fully initialized yet. Not delivering |
| is harmless; the interrupt only exists to break out of infinite loops in JS code, but there |
| could not be any such infinite loop yet if the web content process is not fully initialized. |
| |
| * WebProcess/WebPage/WebInspectorInterruptDispatcher.cpp: |
| (WebKit::WebInspectorInterruptDispatcher::notifyNeedDebuggerBreak): |
| |
| 2017-05-05 Brian Burg <bburg@apple.com> |
| |
| Web Automation: cookie-related commands don't work correctly |
| https://bugs.webkit.org/show_bug.cgi?id=171713 |
| <rdar://problem/29829930> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Commands that use WebCookieManager directly should complete when |
| the manager's completion handler is called. Otherwise, this will race |
| with subsequent accesses to cookies via the web process (document.cookie). |
| |
| Also, these commands need to use the active browsing context's session ID. |
| They currently use the process pool's storage session, which is wrong |
| since we specially configure automation instances with an ephemeral store. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::addSingleCookie): |
| (WebKit::WebAutomationSession::deleteAllCookies): |
| |
| 2017-05-05 Chris Dumez <cdumez@apple.com> |
| |
| Rename webProcessDidCrashWithReason callback to webProcessDidTerminate and stop calling webProcessDidCrash for client terminations |
| https://bugs.webkit.org/show_bug.cgi?id=171624 |
| |
| Reviewed by Dan Bernstein. |
| |
| Follow-up fixes after r216129 based on feedback I have received: |
| - Rename webProcessDidCrashWithReason callback function to webProcessDidTerminate given that this is called |
| for non-crashes (e.g. terminations requested by the client). |
| - Rename WKProcessCrashReason / ProcessCrashReason to WKProcessTerminationReason / ProcessTerminationReason |
| for consistency with the new naming. |
| - Stop calling processDidCrash / webProcessDidCrash for terminations requested by the client, to maintain |
| pre-r216129 behavior. Those are not crashes (The client used an API such as WKPageTerminateProcess()). |
| webProcessDidTerminate will still be called though. |
| - Fix a bug where - for terminations due to resource limits - WebPageProxy::processDidCrash() was getting |
| called twice: First by WebProcessProxy::requestTermination() with reason "RequestedByClient" then a |
| second time by WebProcessProxy::terminateProcessDueToResourceLimits() with the proper reason. |
| |
| * Shared/ProcessTerminationReason.h: Renamed from Source/WebKit2/Shared/ProcessCrashReason.h. |
| * UIProcess/API/APINavigationClient.h: |
| (API::NavigationClient::processDidTerminate): |
| * UIProcess/API/C/WKAPICast.h: |
| (WebKit::toAPI): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageTerminate): |
| (WKPageSetPageNavigationClient): |
| * UIProcess/API/C/WKPageNavigationClient.h: |
| * UIProcess/API/C/WKProcessTerminationReason.h: Renamed from Source/WebKit2/UIProcess/API/C/WKProcessCrashReason.h. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _killWebContentProcessAndResetState]): |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::processDidTerminate): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::processDidTerminate): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didClose): |
| (WebKit::WebProcessProxy::requestTermination): |
| (WebKit::WebProcessProxy::logDiagnosticMessageForResourceLimitTermination): |
| (WebKit::WebProcessProxy::didExceedActiveMemoryLimit): |
| (WebKit::WebProcessProxy::didExceedInactiveMemoryLimit): |
| (WebKit::WebProcessProxy::didExceedBackgroundCPULimit): |
| * UIProcess/WebProcessProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-05-05 Derek Schuff <dschuff@chromium.org> |
| |
| Mac cmake buildfix after r216037 |
| https://bugs.webkit.org/show_bug.cgi?id=171558 |
| |
| Reviewed by JF Bastien. |
| |
| * PlatformMac.cmake: |
| |
| 2017-05-05 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [GTK] Enable runtime flag for MediaDevices with enable-media-stream property. |
| https://bugs.webkit.org/show_bug.cgi?id=171730 |
| |
| Reviewed by Michael Catanzaro. |
| |
| After r215939 the MediaDevices runtime setting has to be enabled |
| also to use MediaStream / WebRTC. |
| |
| Enable it as part of the enable-media-stream property of the |
| WebKitGTK+ API. |
| |
| * UIProcess/API/gtk/WebKitSettings.cpp: |
| (webkit_settings_set_enable_media_stream): |
| |
| 2017-05-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Assertion failure in Inspector::RemoteInspector::setRemoteInspectorClient when disposing WebKitWebContext |
| https://bugs.webkit.org/show_bug.cgi?id=171644 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Ensure that it's not possible to enable automation in more than one WebKitWebContext at the same time. Instead |
| of creating the AutomationClient unconditionally when the context is constructed, it's now created only when |
| automation is enabled, and deleted if it's disabled. |
| |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| (webkit_web_context_is_automation_allowed): |
| (webkit_web_context_set_automation_allowed): |
| * UIProcess/Cocoa/AutomationClient.mm: |
| (WebKit::AutomationClient::AutomationClient): |
| (WebKit::AutomationClient::~AutomationClient): |
| |
| 2017-05-04 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r216206. |
| https://bugs.webkit.org/show_bug.cgi?id=171714 |
| |
| Multiple LayoutTests crashing in Document::page() (Requested |
| by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "Remove support for legacy Notifications" |
| https://bugs.webkit.org/show_bug.cgi?id=171487 |
| http://trac.webkit.org/changeset/216206 |
| |
| 2017-05-04 Mark Lam <mark.lam@apple.com> |
| |
| NeverDestroyed<String>(ASCIILiteral(...)) is not thread safe. |
| https://bugs.webkit.org/show_bug.cgi?id=171586 |
| <rdar://problem/31873190> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * Shared/API/APIError.cpp: |
| (API::Error::webKitErrorDomain): |
| (API::Error::webKitNetworkErrorDomain): |
| (API::Error::webKitPolicyErrorDomain): |
| (API::Error::webKitPluginErrorDomain): |
| (API::Error::webKitDownloadErrorDomain): |
| (API::Error::webKitPrintErrorDomain): |
| * Shared/WebPreferencesKeys.cpp: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::executeEditCommand): |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::didBeginEditing): |
| (WebKit::WebEditorClient::respondToChangedContents): |
| (WebKit::WebEditorClient::respondToChangedSelection): |
| (WebKit::WebEditorClient::didEndEditing): |
| |
| 2017-05-04 Jeremy Jones <jeremyj@apple.com> |
| |
| Add mute to WebPlaybackSessionModel. |
| https://bugs.webkit.org/show_bug.cgi?id=171592 |
| rdar://problem/31814074 |
| |
| Reviewed by Jer Noble. |
| |
| Plumb through muted. |
| |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: |
| (WebKit::WebPlaybackSessionModelContext::toggleMuted): |
| (WebKit::WebPlaybackSessionModelContext::setMuted): |
| (WebKit::WebPlaybackSessionManagerProxy::setMuted): |
| (WebKit::WebPlaybackSessionManagerProxy::toggleMuted): |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.messages.in: |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionInterfaceContext::mutedChanged): |
| (WebKit::WebPlaybackSessionManager::mutedChanged): |
| (WebKit::WebPlaybackSessionManager::toggleMuted): |
| |
| 2017-05-04 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Image action sheets sometimes do not dismiss when beginning data interaction |
| https://bugs.webkit.org/show_bug.cgi?id=171687 |
| <rdar://problem/31996534> |
| |
| Reviewed by Beth Dakin. |
| |
| When presenting an image sheet using WKActionSheetAssistant, we may present the popover asynchronously. In this |
| case, even if -cleanupSheet is invoked after -showImageSheet, the popover will still be presented. To fix this, |
| add a flag, _hasPendingActionSheet, that is set to true when an image action sheet will be presented in the |
| future. |
| |
| In cleanupSheet, we revert this flag to NO, and in the sheet presentation block, we first check to see if there |
| is a pending action sheet. If there is not, then simply do not invoke the image sheet presentation block. |
| |
| * UIProcess/ios/WKActionSheetAssistant.mm: |
| (-[WKActionSheetAssistant showImageSheet]): |
| (-[WKActionSheetAssistant cleanupSheet]): |
| |
| 2017-05-04 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Add support for keeping the selection in a focused editable element when dragging begins |
| https://bugs.webkit.org/show_bug.cgi?id=171585 |
| <rdar://problem/31544320> |
| |
| Reviewed by Beth Dakin and Zalan Bujtas. |
| |
| Minor adjustments and refactoring in WebKit2. See WebCore ChangeLog for more details. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::startDrag): |
| (WebKit::WebPageProxy::didStartDrag): |
| |
| Factor out code in WebPageProxy that sends a WebPage::DidStartDrag message to the web process into a separate |
| helper, and tweak the places where we directly send this IPC message to the web process to instead call this |
| helper. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/WebPageProxyMac.mm: |
| (WebKit::WebPageProxy::setDragImage): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::didStartDrag): |
| (WebKit::WebPage::dragCancelled): |
| |
| Clear out state in the web process and call out to the EventHandler to handle drag cancellation and the drag |
| start response from the UI process. |
| |
| * WebProcess/WebPage/WebPage.h: |
| (WebKit::WebPage::didStartDrag): Deleted. |
| (WebKit::WebPage::dragCancelled): Deleted. |
| |
| 2017-05-04 Sam Weinig <sam@webkit.org> |
| |
| Remove support for legacy Notifications |
| https://bugs.webkit.org/show_bug.cgi?id=171487 |
| |
| Reviewed by Jon Lee. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * Shared/WebProcessCreationParameters.cpp: |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/WebProcessPool.cpp: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: |
| * WebProcess/Notifications/NotificationPermissionRequestManager.h: |
| * WebProcess/Notifications/WebNotificationManager.cpp: |
| * WebProcess/Notifications/WebNotificationManager.h: |
| * WebProcess/WebCoreSupport/WebNotificationClient.cpp: |
| * WebProcess/WebCoreSupport/WebNotificationClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| * WebProcess/WebProcess.cpp: |
| Remove legacy notification specific code. |
| |
| 2017-05-04 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Allow host application to enable/disable media capture |
| https://bugs.webkit.org/show_bug.cgi?id=171292 |
| <rdar://problem/31821492> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetMediaCaptureEnabled): New. |
| (WKPageGetMediaCaptureEnabled): New. |
| * UIProcess/API/C/WKPagePrivate.h: |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setMediaCaptureEnabled:]): New. |
| (-[WKWebView _mediaCaptureEnabled]): New. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): Initialize webViewRequestUserMediaAuthorizationForDevicesURLMainFrameURLDecisionHandler |
| and webViewCheckUserMediaPermissionForURLMainFrameURLFrameIdentifierDecisionHandler on macOS |
| and iOS. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::UserMediaPermissionRequestManagerProxy): |
| Initialize the rejection timer. |
| (WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy): |
| Call invalidatePendingRequests. |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidatePendingRequests): Invalidate all |
| pending requests. |
| (WebKit::UserMediaPermissionRequestManagerProxy::stopCapture): New. |
| (WebKit::UserMediaPermissionRequestManagerProxy::rejectionTimerFired): Reject a promise and |
| schedule the timer if there are any others pending. |
| (WebKit::UserMediaPermissionRequestManagerProxy::scheduleNextRejection): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Don't |
| prompt the user if capture is disabled. |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Deleted. |
| (WebKit::UserMediaPermissionRequestManagerProxy::clearCachedState): Deleted. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * UIProcess/UserMediaProcessManager.cpp: |
| (WebKit::UserMediaProcessManager::willEnableMediaStreamInPage): Stop capture in the current |
| page on iOS. |
| (WebKit::UserMediaProcessManager::setCaptureEnabled): |
| * UIProcess/UserMediaProcessManager.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setMediaCaptureEnabled): |
| |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::mediaCaptureEnabled): |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::cancelPendingRequests): New, cancel all pending |
| requests. |
| (WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest): Deny the request. |
| (WebKit::UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration): |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::stopMediaCapture): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2017-05-04 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Fix compilation with ICU 59.1 |
| https://bugs.webkit.org/show_bug.cgi?id=171612 |
| |
| Reviewed by Mark Lam. |
| |
| ICU 59.1 has broken source compatibility. Now it defines UChar as |
| char16_t, which does not allow automatic type conversion from unsigned |
| short in C++ code. |
| |
| * Shared/API/c/WKString.cpp: |
| (WKStringGetCharacters): |
| |
| 2017-05-04 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] -[WKWebsiteDataStore httpCookieStore] is declared in the main @interface but implemented in a category |
| https://bugs.webkit.org/show_bug.cgi?id=171657 |
| |
| Reviewed by Sam Weinig. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore httpCookieStore]): Moved from the WKPrivate category into the main |
| @implementation block. |
| |
| 2017-05-04 Andy Estes <aestes@apple.com> |
| |
| [Cocoa] Add an optional width parameter to -[WKWebProcessPlugInNodeHandle renderedImageWithOptions:] |
| https://bugs.webkit.org/show_bug.cgi?id=171646 |
| <rdar://problem/30306321> |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: |
| * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: |
| (-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]): Called |
| -renderedImageWithOptions:width: with a nil width. |
| (-[WKWebProcessPlugInNodeHandle renderedImageWithOptions:width:]): Passed an optional width |
| to InjectedBundleNodeHandle::renderedImage(). |
| * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: |
| (WebKit::imageForRect): If a width is specified, create an image graphics context at that |
| width, preserving the aspect ratio of paintingRect. |
| (WebKit::InjectedBundleNodeHandle::renderedImage): |
| * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: |
| |
| 2017-05-04 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r216172. |
| https://bugs.webkit.org/show_bug.cgi?id=171654 |
| |
| FTBFS for iOS due to missing WebPageProxy::stopMediaCapture() |
| implementation. (Requested by ddkilzer on #webkit). |
| |
| Reverted changeset: |
| |
| "[MediaStream] Allow host application to enable/disable media |
| capture" |
| https://bugs.webkit.org/show_bug.cgi?id=171292 |
| http://trac.webkit.org/changeset/216172 |
| |
| 2017-05-04 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [Threaded Compositor] SHOULD NEVER BE REACHED in WebKit::CompositingRunLoop::updateCompleted |
| https://bugs.webkit.org/show_bug.cgi?id=171336 |
| |
| Reviewed by Michael Catanzaro. |
| |
| We are assuming that all calls to ThreadedCompositor::renderLayerTree() happen because of an scheduled update, |
| but that's not true in the case of ThreadedCompositor::forceRepaint(). In that case we never want to call |
| CompositingRunLoop::updateCompleted(). |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::ThreadedCompositor::forceRepaint): |
| (WebKit::ThreadedCompositor::sceneUpdateFinished): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| |
| 2017-05-04 David Kilzer <ddkilzer@apple.com> |
| |
| check-webkit-style exits with an error while parsing Source/WebKit2/Scripts/webkit/ directory: KeyError: 'st' |
| <https://bugs.webkit.org/show_bug.cgi?id=171510> |
| |
| Reviewed by Daniel Bates. |
| |
| The problem was that 'import parser' was ambiguous since there |
| is a built-in parser module that comes with Python. Changing |
| 'import parser' to 'from webkit import parser' fixed the error |
| in check-webkit-style (and pylint) by forcing it to load the |
| local 'parser' module, but then running messages_unittest.py |
| directly would fail because .../Source/WebKit2/Scripts was not |
| in the module search path by default. This is fixed by using |
| sys.path.append() to add .../Source/WebKit2/Scripts to the |
| module search path based on the path to messages_unittest.py. |
| |
| As an added bonus, this patch also fixes all webkit-style issues |
| in Source/WebKit2/Scripts/webkit/*.py files. |
| |
| * Scripts/webkit/messages.py: |
| - Separate local module imports from built-in modules for |
| consistency. |
| - Fix whitespace issues for check-webkit-style, and remove stray |
| semi-colon. |
| * Scripts/webkit/messages_unittest.py: |
| - Update sys.path to find the 'webkit' module based on the path |
| to messages_unittest.py. This makes 'from webkit import ...' |
| statements work when running messages_unittest.py directly. |
| - Change 'messages' and 'parser' modules to use |
| 'from webkit import ...' format for consistency. |
| - Fix whitespace issues for check-webkit-style. |
| * Scripts/webkit/model.py: |
| - Fix whitespace issue for check-webkit-style. |
| * Scripts/webkit/parser.py: |
| - Fix whitespace issue for check-webkit-style. |
| |
| 2017-05-03 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Allow host application to enable/disable media capture |
| https://bugs.webkit.org/show_bug.cgi?id=171292 |
| <rdar://problem/31821492> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetMediaCaptureEnabled): New. |
| (WKPageGetMediaCaptureEnabled): New. |
| * UIProcess/API/C/WKPagePrivate.h: |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setMediaCaptureEnabled:]): New. |
| (-[WKWebView _mediaCaptureEnabled]): New. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): Initialize webViewRequestUserMediaAuthorizationForDevicesURLMainFrameURLDecisionHandler |
| and webViewCheckUserMediaPermissionForURLMainFrameURLFrameIdentifierDecisionHandler on macOS |
| and iOS. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::UserMediaPermissionRequestManagerProxy): |
| Initialize the rejection timer. |
| (WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy): |
| Call invalidatePendingRequests. |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidatePendingRequests): Invalidate all |
| pending requests. |
| (WebKit::UserMediaPermissionRequestManagerProxy::stopCapture): New. |
| (WebKit::UserMediaPermissionRequestManagerProxy::rejectionTimerFired): Reject a promise and |
| schedule the timer if there are any others pending. |
| (WebKit::UserMediaPermissionRequestManagerProxy::scheduleNextRejection): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Don't |
| prompt the user if capture is disabled. |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Deleted. |
| (WebKit::UserMediaPermissionRequestManagerProxy::clearCachedState): Deleted. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * UIProcess/UserMediaProcessManager.cpp: |
| (WebKit::UserMediaProcessManager::willEnableMediaStreamInPage): Stop capture in the current |
| page on iOS. |
| (WebKit::UserMediaProcessManager::setCaptureEnabled): |
| * UIProcess/UserMediaProcessManager.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setMediaCaptureEnabled): |
| |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::mediaCaptureEnabled): |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::cancelPendingRequests): New, cancel all pending |
| requests. |
| (WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest): Deny the request. |
| (WebKit::UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration): |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::stopMediaCapture): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2017-05-03 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Remove all statistics for modifiedSince website data removals |
| https://bugs.webkit.org/show_bug.cgi?id=171584 |
| <rdar://problem/24702576> |
| |
| Reviewed by Brent Fulgham. |
| |
| These are all test infrastructure changes. |
| |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.cpp: |
| (WKResourceLoadStatisticsManagerClearInMemoryAndPersistentStoreModifiedSinceHours): |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.h: |
| * UIProcess/WebResourceLoadStatisticsManager.cpp: |
| (WebKit::WebResourceLoadStatisticsManager::clearInMemoryAndPersistentStoreModifiedSinceHours): |
| * UIProcess/WebResourceLoadStatisticsManager.h: |
| |
| 2017-05-03 Timothy Horton <timothy_horton@apple.com> |
| |
| Maintain interaction information imageURL as a URL, not a string |
| https://bugs.webkit.org/show_bug.cgi?id=171639 |
| |
| Reviewed by Sam Weinig. |
| |
| * Shared/ios/InteractionInformationAtPosition.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| (-[WKContentView _previewItemController:commitPreview:]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2017-05-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r216160 and r216161. |
| https://bugs.webkit.org/show_bug.cgi?id=171640 |
| |
| These changes broke the iOS build. (Requested by mlewis13 on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "[MediaStream] Allow host application to enable/disable media |
| capture" |
| https://bugs.webkit.org/show_bug.cgi?id=171292 |
| http://trac.webkit.org/changeset/216160 |
| |
| "[MediaStream] Allow host application to enable/disable media |
| capture" |
| https://bugs.webkit.org/show_bug.cgi?id=171292 |
| http://trac.webkit.org/changeset/216161 |
| |
| 2017-05-03 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Allow host application to enable/disable media capture |
| https://bugs.webkit.org/show_bug.cgi?id=171292 |
| <rdar://problem/31821492> |
| |
| Unreviewed build fix. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::clearUserMediaState): |
| * UIProcess/WebPageProxy.h: |
| |
| 2017-05-03 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Allow host application to enable/disable media capture |
| https://bugs.webkit.org/show_bug.cgi?id=171292 |
| <rdar://problem/31821492> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetMediaCaptureEnabled): New. |
| (WKPageGetMediaCaptureEnabled): New. |
| (WKPageClearUserMediaState): Deleted, unused. |
| * UIProcess/API/C/WKPagePrivate.h: |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setMediaCaptureEnabled:]): New. |
| (-[WKWebView _mediaCaptureEnabled]): New. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): Initialize webViewRequestUserMediaAuthorizationForDevicesURLMainFrameURLDecisionHandler |
| and webViewCheckUserMediaPermissionForURLMainFrameURLFrameIdentifierDecisionHandler on macOS |
| and iOS. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::UserMediaPermissionRequestManagerProxy): |
| Initialize the rejection timer. |
| (WebKit::UserMediaPermissionRequestManagerProxy::~UserMediaPermissionRequestManagerProxy): |
| Call invalidatePendingRequests. |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidatePendingRequests): Invalidate all |
| pending requests. |
| (WebKit::UserMediaPermissionRequestManagerProxy::stopCapture): New. |
| (WebKit::UserMediaPermissionRequestManagerProxy::rejectionTimerFired): Reject a promise and |
| schedule the timer if there are any others pending. |
| (WebKit::UserMediaPermissionRequestManagerProxy::scheduleNextRejection): |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Don't |
| prompt the user if capture is disabled. |
| (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Deleted. |
| (WebKit::UserMediaPermissionRequestManagerProxy::clearCachedState): Deleted. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * UIProcess/UserMediaProcessManager.cpp: |
| (WebKit::UserMediaProcessManager::willEnableMediaStreamInPage): Stop capture in the current |
| page on iOS. |
| (WebKit::UserMediaProcessManager::setCaptureEnabled): |
| * UIProcess/UserMediaProcessManager.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setMediaCaptureEnabled): |
| (WebKit::WebPageProxy::clearUserMediaState): Deleted. |
| |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::mediaCaptureEnabled): |
| |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp: |
| (WebKit::UserMediaPermissionRequestManager::cancelPendingRequests): New, cancel all pending |
| requests. |
| (WebKit::UserMediaPermissionRequestManager::cancelUserMediaRequest): Deny the request. |
| (WebKit::UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration): |
| * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::stopMediaCapture): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| |
| 2017-05-03 Tim Horton <timothy_horton@apple.com> |
| |
| Maintain interaction information URL as a URL, not a string |
| https://bugs.webkit.org/show_bug.cgi?id=171623 |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/ios/InteractionInformationAtPosition.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _showAttachmentSheet]): |
| (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]): |
| (-[WKContentView _dataForPreviewItemController:atPosition:type:]): |
| * UIProcess/ios/WKPDFView.mm: |
| (-[WKPDFView annotation:isBeingPressedAtPoint:controller:]): |
| (-[WKPDFView actionSheetAssistant:performAction:]): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::getPositionInformation): |
| |
| 2017-05-03 Simon Fraser <simon.fraser@apple.com> |
| |
| Have WKWebView call _updateVisibleContentRects for the current transaction if possible, rather than always delaying |
| https://bugs.webkit.org/show_bug.cgi?id=171619 |
| |
| Also fixes webkit.org/b/170153 and webkit.org/b/170195 |
| |
| Reviewed by Tim Horton. |
| |
| In r214391 we started adding the pre-commit handler in a dispatch_async() to ensure that |
| the handler would always run, since we couldn't reliably test the phase of the current |
| transaction. Now that problem has been solved (rdar://problem/31253952) we can go back to |
| checking the transaction phase on newer iOS versions. If we're too late for the current transaction |
| we still need to dispatch_async() to get into the next one. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _addUpdateVisibleContentRectPreCommitHandler]): |
| (-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]): |
| |
| 2017-05-03 Chris Dumez <cdumez@apple.com> |
| |
| REGRESSION (r216129): ASSERTION FAILED: m_process->state() == WebProcessProxy::State::Terminated |
| https://bugs.webkit.org/show_bug.cgi?id=171616 |
| |
| Reviewed by Brady Eidson. |
| |
| Stop calling resetStateAfterProcessExited() in WebPageProxy::terminateProcess() as the call to |
| WebProcessProxy::requestTermination() already causes WebPageProxy::processDidCrash() to be called |
| after r216129. WebPageProxy::processDidCrash() already takes care of calling |
| resetStateAfterProcessExited(). |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::terminateProcess): |
| |
| 2017-05-03 Brady Eidson <beidson@apple.com> |
| |
| Handle KVO updating of the "hasOnlySecureContent" before a page results in an HTTP auth challenge. |
| https://bugs.webkit.org/show_bug.cgi?id=171607 |
| |
| Reviewed by Andy Estes. |
| |
| To test this fix we'd need the combination of an HTTPD inside API tests, so no test for now. |
| |
| * UIProcess/PageLoadState.cpp: |
| (WebKit::PageLoadState::hasOnlySecureContent): If the state is provisional, check the provisional URL instead. |
| |
| 2017-05-03 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Extend processDidCrash delegate to let the client know the reason for the crash |
| https://bugs.webkit.org/show_bug.cgi?id=171565 |
| <rdar://problem/31204417> |
| |
| Reviewed by Sam Weinig. |
| |
| Extend processDidCrash delegate to let the client know the reason for the crash. This |
| is needed by some clients to distinguish actual crashes from terminations due to |
| resource limits. |
| |
| * Shared/ProcessCrashReason.h: Added. |
| * UIProcess/API/APINavigationClient.h: |
| (API::NavigationClient::processDidCrash): |
| * UIProcess/API/C/WKAPICast.h: |
| (WebKit::toAPI): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageNavigationClient): |
| * UIProcess/API/C/WKPageNavigationClient.h: |
| * UIProcess/API/C/WKProcessCrashReason.h: Added. |
| * UIProcess/Cocoa/NavigationState.h: |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::processDidCrash): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::processDidCrash): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didClose): |
| (WebKit::WebProcessProxy::requestTermination): |
| (WebKit::diagnosticLoggingKeyForTerminationReason): |
| (WebKit::toProcessCrashReason): |
| (WebKit::WebProcessProxy::terminateProcessDueToResourceLimits): |
| (WebKit::WebProcessProxy::didExceedActiveMemoryLimit): |
| (WebKit::WebProcessProxy::didExceedInactiveMemoryLimit): |
| (WebKit::WebProcessProxy::didExceedBackgroundCPULimit): |
| * UIProcess/WebProcessProxy.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-05-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add GTK+ implementation of WebAutomationSession |
| https://bugs.webkit.org/show_bug.cgi?id=171431 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Add platform dependent methods for GTK+ to synthesize events. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/API/gtk/WebKitUIClient.cpp: Always resize the window for web views controlled by automation. |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): |
| (WebKit::WebAutomationSession::moveWindowOfBrowsingContext): |
| (WebKit::WebAutomationSession::performMouseInteraction): |
| (WebKit::WebAutomationSession::performKeyboardInteractions): |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp: Added. |
| (WebKit::modifiersToEventState): |
| (WebKit::mouseButtonToGdkButton): |
| (WebKit::doMouseEvent): |
| (WebKit::doMotionEvent): |
| (WebKit::WebAutomationSession::platformSimulateMouseInteraction): |
| (WebKit::doKeyStrokeEvent): |
| (WebKit::keyCodeForVirtualKey): |
| (WebKit::WebAutomationSession::platformSimulateKeyStroke): |
| (WebKit::WebAutomationSession::platformSimulateKeySequence): |
| (WebKit::WebAutomationSession::platformGetBase64EncodedPNGData): |
| |
| 2017-05-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Update OptionsGTK.cmake and NEWS for 2.17.1 release. |
| |
| * gtk/NEWS: Add release notes for 2.17.1. |
| |
| 2017-05-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [Soup] Add request headers to network load metrics |
| https://bugs.webkit.org/show_bug.cgi?id=171545 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| This will make the headers to appear in the web inspector. |
| |
| Fixes: http/tests/inspector/network/resource-request-headers.html |
| |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| (WebKit::NetworkDataTaskSoup::didGetHeaders): |
| |
| 2017-05-02 Simon Fraser <simon.fraser@apple.com> |
| |
| Dynamically added position:fixed element is in the wrong place |
| https://bugs.webkit.org/show_bug.cgi?id=170280 |
| rdar://problem/31374008 |
| |
| Reviewed by Tim Horton. |
| |
| Layers for position:fixed elements have their positions reconciled after scrolls |
| via AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions() and GraphicsLayerCA::syncPosition(), |
| which updates the GraphicsLayer's position, but does not push it to the PlatformCALayer. |
| |
| This bug was a case where a position:fixed element gained a fixed ancestor, so had a GraphicsLayerCA whose |
| position had been updated via syncPosition() in the past. A subsequent layout updated the GraphicsLayerCA position, |
| but to a value that was the same as its pre-sync position, so the PlatformCALayerRemote's position didn't change, |
| but there was no signal to the UI process to restore the layer's pre-scrolled position. |
| |
| Fix by avoiding the early return in PlatformCALayerRemote::setPosition(), to ensure that GraphicsLayerCA |
| geometry updates in the web process always send new positions to the UI process. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::setPosition): |
| |
| 2017-05-02 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK] Drop coordinated surfaces from the compositing thread as soon as possible |
| https://bugs.webkit.org/show_bug.cgi?id=171544 |
| |
| Reviewed by Žan Doberšek. |
| |
| Released coordinated surface from the main thread didn't be freed until |
| next commit message because the deletion of coordinated surfaces is |
| considered as a part of scene state. We need to release corresponding |
| surfaces whenever the compositing coordinator drops update atlases to |
| reduce memory usages. |
| |
| No new tests, only an optimization. |
| |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: |
| Remove atlasesToRemove from the GraphicsState. it is not a commit |
| state anymore. |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::syncUpdateAtlases): |
| (WebKit::CoordinatedGraphicsScene::releaseUpdateAtlases): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::CompositingCoordinator::releaseAtlases): Pass the list of |
| released update atlases to the compositing thread right after cleaning |
| up deactivated update atlases. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::clearPendingStateChanges): |
| (WebKit::CompositingCoordinator::removeUpdateAtlas): |
| (WebKit::CompositingCoordinator::releaseAtlases): |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| (WebKit::ThreadedCoordinatedLayerTreeHost::releaseUpdateAtlases): |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| |
| 2017-05-02 Timothy Horton <timothy_horton@apple.com> |
| |
| Inform clients when viewport-fit state changes, so they can recompute insets |
| https://bugs.webkit.org/show_bug.cgi?id=171573 |
| <rdar://problem/31947614> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didChangeAvoidsUnsafeArea]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didChangeAvoidsUnsafeArea): |
| For clients who use setObscuredInsets/setUnobscuredSafeAreaInsets |
| themselves, we need to let them know when the current state of |
| viewport-fit changes so that they can recompute the insets. |
| |
| 2017-05-02 Gwang Yoon Hwang <yoon@igalia.com> |
| |
| [GTK] Recycle textures while handling tiles |
| https://bugs.webkit.org/show_bug.cgi?id=171541 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: |
| (WebKit::CoordinatedBackingStoreTile::swapBuffers): |
| Whenever we create new tiles or delete tiles, CoordGfx creates and |
| deletes textures accordingly. We should avoid this kind of heavy |
| operations whenever possible. This patch modifies to use the texture |
| pool to reduce texture allocations. Also this patch reduces number of |
| resetting textures, which is also expensive operation. |
| * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: |
| (WebKit::WebCoordinatedSurface::copyToTexture): |
| Modified to pass BitmapTexture as a reference. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp: |
| (WebKit::ThreadSafeCoordinatedSurface::copyToTexture): Ditto. |
| |
| 2017-05-02 David Kilzer <ddkilzer@apple.com> |
| |
| Stop using strcpy() in WebProcess::registerWithStateDumper() in WebProcessCocoa.mm |
| <https://webkit.org/b/171520> |
| |
| Reviewed by Chris Dumez. |
| |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::registerWithStateDumper): Switch from |
| strcpy() to strlcpy(), removing comment in the process. |
| |
| 2017-05-02 Andrew Gold <agold@apple.com> |
| |
| MediaDevices is not enabled for MobileSafari |
| https://bugs.webkit.org/show_bug.cgi?id=171433 |
| <rdar://problem/31923178> |
| |
| Reviewed by Youenn Fablet. |
| |
| Added the Cocoa API for toggling this feature and removed API for toggling |
| MediaStreamEnabled since it will always be on. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _mediaDevicesEnabled]): |
| (-[WKPreferences _setMediaDevicesEnabled:]): |
| (-[WKPreferences _mediaStreamEnabled]): Deleted. |
| (-[WKPreferences _setMediaStreamEnabled:]): Deleted. |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2017-05-02 Andy Estes <aestes@apple.com> |
| |
| REGRESSION (r213036): Crash in -[WKContentView _webTouchEventsRecognized:] when a touch event arrives after a WebPageProxy has been invalidated |
| https://bugs.webkit.org/show_bug.cgi?id=171539 |
| <rdar://problem/31614982> |
| |
| Reviewed by Tim Horton. |
| |
| Prior to r213036, the layer tree transaction at last touch start was tracked by |
| WebPageProxy::handleTouchEventSynchronously(), which would ask the drawing area proxy for |
| its most recent transaction ID after ensuring that the WebPageProxy was valid. |
| |
| r213036 moved the tracking up to -[WKContentView _webTouchEventsRecognized:], but failed to |
| check if _page was valid before asking for its drawing area proxy's last transaction ID; the |
| drawing area proxy is set to null on WebPageProxy invalidation. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _webTouchEventsRecognized:]): Added an early return if _page isn't valid. |
| |
| 2017-05-02 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Web Automation: generate resizeWindowOfBrowsingContext and moveWindowOfBrowsingContext for all platforms |
| https://bugs.webkit.org/show_bug.cgi?id=171107 |
| |
| Reviewed by Brian Burg. |
| |
| The implementation is actually cross-platform, so it could be moved from WebAutomationSessionMac.mm to |
| WebAutomationSession.cpp and simply return a NotImplemented error for iOS. This will allow to use these methods |
| in other platforms. |
| |
| * UIProcess/Automation/Automation.json: |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): |
| (WebKit::WebAutomationSession::moveWindowOfBrowsingContext): |
| * UIProcess/Automation/WebAutomationSession.h: |
| * UIProcess/Automation/mac/WebAutomationSessionMac.mm: |
| (WebKit::WebAutomationSession::resizeWindowOfBrowsingContext): Deleted. |
| (WebKit::WebAutomationSession::moveWindowOfBrowsingContext): Deleted. |
| |
| 2017-05-01 Chris Dumez <cdumez@apple.com> |
| |
| Use RELEASE_LOG_ERROR() to do process termination logging |
| https://bugs.webkit.org/show_bug.cgi?id=171521 |
| |
| Reviewed by Andreas Kling. |
| |
| Use RELEASE_LOG_ERROR() to do process termination logging instead of RELEASE_LOG(). |
| This makes the issue more visible in Console. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didExceedActiveMemoryLimit): |
| (WebKit::WebProcessProxy::didExceedInactiveMemoryLimit): |
| (WebKit::WebProcessProxy::didExceedBackgroundCPULimit): |
| |
| 2017-05-01 Brady Eidson <beidson@apple.com> |
| |
| Only try to get sandbox extension handle for IndexedDB directory if it is set. |
| rdar://problem/31925828 and https://bugs.webkit.org/show_bug.cgi?id=171522 |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): |
| |
| 2017-05-01 Timothy Horton <timothy_horton@apple.com> |
| |
| Expose viewport-fit instead of clip-to-safe-area |
| https://bugs.webkit.org/show_bug.cgi?id=171503 |
| <rdar://problem/31918249> |
| |
| Reviewed by Simon Fraser. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| (WebKit::operator<<): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::unobscuredSafeAreaInsets): |
| (WebKit::operator==): |
| Plumb the safe area insets down from the UI process to the Web Content |
| process inside the visible content rect update, alongside the obscured |
| insets. |
| |
| * Shared/mac/RemoteLayerTreeTransaction.h: |
| (WebKit::RemoteLayerTreeTransaction::avoidsUnsafeArea): |
| (WebKit::RemoteLayerTreeTransaction::setAvoidsUnsafeArea): |
| * Shared/mac/RemoteLayerTreeTransaction.mm: |
| (WebKit::RemoteLayerTreeTransaction::encode): |
| (WebKit::RemoteLayerTreeTransaction::decode): |
| (WebKit::RemoteLayerTreeTransaction::description): |
| * UIProcess/PageClient.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didChangeAvoidsUnsafeArea): |
| (WebKit::PageClientImpl::didChangeClipToSafeArea): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::didCommitLayerTree): |
| * UIProcess/mac/PageClientImpl.h: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::didChangeClipToSafeArea): Deleted. |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::willCommitLayerTree): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::viewportConfigurationChanged): |
| (WebKit::WebPage::updateVisibleContentRects): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::resetState): |
| (WebKit::WebPageProxy::setAvoidsUnsafeArea): |
| (WebKit::WebPageProxy::setClipToSafeArea): Deleted. |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::avoidsUnsafeArea): |
| (WebKit::WebPageProxy::clipToSafeArea): Deleted. |
| * UIProcess/WebPageProxy.messages.in: |
| Plumb the effective value of viewport-fit (whether or not to avoid |
| the safe area for layout purposes) from the Web Content process |
| to the UI process inside the layer tree transaction. |
| Also, remove clip-to-safe-area plumbing. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| (-[WKWebView _computedContentInset]): |
| (-[WKWebView _computedUnobscuredSafeAreaInset]): |
| (-[WKWebView _updateVisibleContentRects]): |
| (-[WKWebView _updateScrollViewInsetAdjustmentBehavior]): |
| (-[WKWebView _safeAreaShouldAffectObscuredInsets]): |
| (-[WKWebView _unobscuredSafeAreaInsets]): |
| (-[WKWebView _setUnobscuredSafeAreaInsets:]): |
| (-[WKWebView _contentMayDrawInObscuredInsets]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| Make use of the effective value of viewport-fit to decide whether to |
| take the safe area into account when computing the obscured insets, |
| and expose this to clients (in the case that they need to know |
| because they push their own obscured insets down). Also expose a |
| safe area inset setter for that case as well. |
| |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView updateFixedClippingView:]): |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInsets:unobscuredSafeAreaInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): |
| Remove a piece of the clip-to-safe-area implementation, and plumb |
| safe area insets into the visible content rect update info. |
| |
| * UIProcess/ios/WKScrollView.h: |
| * UIProcess/ios/WKScrollView.mm: |
| (-[WKScrollView initWithFrame:]): |
| (-[WKScrollView _contentInsetAdjustmentBehaviorWasExternallyOverridden]): |
| (-[WKScrollView _setContentInsetAdjustmentBehavior:]): |
| (-[WKScrollView _setContentInsetAdjustmentBehaviorInternal:]): |
| Keep track of whether the client has ever touched the content inset adjustment |
| behavior; if they have, we won't manage it ourselves. |
| |
| 2017-05-01 Brady Eidson <beidson@apple.com> |
| |
| Update names in WKURLSchemeHandler/WKURLSchemeHandlerTask APIs. |
| <rdar://problem/31824838> and https://bugs.webkit.org/show_bug.cgi?id=171508 |
| |
| Reviewed by Andy Estes. |
| |
| This patch: |
| - Renames WKURLSchemeHandlerTask to WKURLSchemeTask |
| - Renames the method "startTask" to "startURLSchemeTask" |
| - Renames the method "stopTask" to "stopURLSchemeTask" |
| |
| To those effects it's basically a global replace. |
| |
| * Shared/API/APIObject.h: |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| * UIProcess/API/APIURLSchemeTask.cpp: Renamed from Source/WebKit2/UIProcess/API/APIURLSchemeHandlerTask.cpp. |
| (API::URLSchemeTask::create): |
| (API::URLSchemeTask::URLSchemeTask): |
| * UIProcess/API/APIURLSchemeTask.h: Renamed from Source/WebKit2/UIProcess/API/APIURLSchemeHandlerTask.h. |
| * UIProcess/API/Cocoa/WKURLSchemeHandler.h: |
| * UIProcess/API/Cocoa/WKURLSchemeTask.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKURLSchemeHandlerTask.h. |
| * UIProcess/API/Cocoa/WKURLSchemeTask.mm: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKURLSchemeHandlerTask.mm. |
| (raiseExceptionIfNecessary): |
| (-[WKURLSchemeTaskImpl request]): |
| (-[WKURLSchemeTaskImpl didReceiveResponse:]): |
| (-[WKURLSchemeTaskImpl didReceiveData:]): |
| (-[WKURLSchemeTaskImpl didFinish]): |
| (-[WKURLSchemeTaskImpl didFailWithError:]): |
| (-[WKURLSchemeTaskImpl _apiObject]): |
| * UIProcess/API/Cocoa/WKURLSchemeTaskInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKURLSchemeHandlerTaskInternal.h. |
| (WebKit::wrapper): |
| * UIProcess/Cocoa/WebURLSchemeHandlerCocoa.h: |
| * UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm: |
| (WebKit::WebURLSchemeHandlerCocoa::platformStartTask): |
| (WebKit::WebURLSchemeHandlerCocoa::platformStopTask): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::startURLSchemeTask): |
| (WebKit::WebPageProxy::stopURLSchemeTask): |
| (WebKit::WebPageProxy::startURLSchemeHandlerTask): Deleted. |
| (WebKit::WebPageProxy::stopURLSchemeHandlerTask): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/WebURLSchemeHandler.cpp: |
| (WebKit::WebURLSchemeHandler::startTask): |
| * UIProcess/WebURLSchemeHandler.h: |
| * UIProcess/WebURLSchemeTask.cpp: Renamed from Source/WebKit2/UIProcess/WebURLSchemeHandlerTask.cpp. |
| (WebKit::WebURLSchemeTask::create): |
| (WebKit::WebURLSchemeTask::WebURLSchemeTask): |
| (WebKit::WebURLSchemeTask::didReceiveResponse): |
| (WebKit::WebURLSchemeTask::didReceiveData): |
| (WebKit::WebURLSchemeTask::didComplete): |
| (WebKit::WebURLSchemeTask::pageDestroyed): |
| (WebKit::WebURLSchemeTask::stop): |
| * UIProcess/WebURLSchemeTask.h: Renamed from Source/WebKit2/UIProcess/WebURLSchemeHandlerTask.h. |
| (WebKit::WebURLSchemeTask::identifier): |
| (WebKit::WebURLSchemeTask::request): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::addURLSchemeTaskProxy): |
| (WebKit::WebLoaderStrategy::removeURLSchemeTaskProxy): |
| (WebKit::WebLoaderStrategy::remove): |
| (WebKit::WebLoaderStrategy::addURLSchemeHandlerTaskProxy): Deleted. |
| (WebKit::WebLoaderStrategy::removeURLSchemeHandlerTaskProxy): Deleted. |
| * WebProcess/Network/WebLoaderStrategy.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::urlSchemeTaskDidReceiveResponse): |
| (WebKit::WebPage::urlSchemeTaskDidReceiveData): |
| (WebKit::WebPage::urlSchemeTaskDidComplete): |
| (WebKit::WebPage::urlSchemeHandlerTaskDidReceiveResponse): Deleted. |
| (WebKit::WebPage::urlSchemeHandlerTaskDidReceiveData): Deleted. |
| (WebKit::WebPage::urlSchemeHandlerTaskDidComplete): Deleted. |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/WebPage.messages.in: |
| * WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp: |
| (WebKit::WebURLSchemeHandlerProxy::startNewTask): |
| (WebKit::WebURLSchemeHandlerProxy::taskDidComplete): |
| (WebKit::WebURLSchemeHandlerProxy::taskDidStopLoading): |
| * WebProcess/WebPage/WebURLSchemeHandlerProxy.h: |
| * WebProcess/WebPage/WebURLSchemeTaskProxy.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.cpp. |
| (WebKit::WebURLSchemeTaskProxy::WebURLSchemeTaskProxy): |
| (WebKit::WebURLSchemeTaskProxy::startLoading): |
| (WebKit::WebURLSchemeTaskProxy::stopLoading): |
| (WebKit::WebURLSchemeTaskProxy::didReceiveResponse): |
| (WebKit::WebURLSchemeTaskProxy::didReceiveData): |
| (WebKit::WebURLSchemeTaskProxy::didComplete): |
| (WebKit::WebURLSchemeTaskProxy::hasLoader): |
| * WebProcess/WebPage/WebURLSchemeTaskProxy.h: Renamed from Source/WebKit2/WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.h. |
| (WebKit::WebURLSchemeTaskProxy::request): |
| (WebKit::WebURLSchemeTaskProxy::identifier): |
| |
| 2017-05-01 Chris Dumez <cdumez@apple.com> |
| |
| Tweak how long we allow a process to go over its background CPU limit |
| https://bugs.webkit.org/show_bug.cgi?id=170460 |
| <rdar://problem/31433141> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Tweak how long we allow a process to go over its background CPU limit. We now use 8 minutes |
| intervals (instead of previously 15). This is less conservative and aligned with our memory |
| kills. |
| |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| |
| 2017-05-01 Beth Dakin <bdakin@apple.com> |
| |
| On-screen panel for candidate bar is in the wrong place when the caret is at the |
| start of a paragraph |
| https://bugs.webkit.org/show_bug.cgi?id=171453 |
| -and corresponding- |
| rdar://problem/29779764 |
| |
| Reviewed by Tim Horton. |
| |
| This bug only happens when the caret is at the beginning of the paragraph, and it |
| is because Range::absoluteTextQuads() returns no quads in this case. I think it |
| might be correct that absoluteTextQuads() returns no quads in this case, so this |
| patch fixes the bug at the call site by using absoluteCaretBounds() in this case. |
| |
| SPI for testing. |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _candidateRect]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| Bug fix. |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::platformEditorState): |
| |
| 2017-05-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add automation session API |
| https://bugs.webkit.org/show_bug.cgi?id=171428 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| Add new API to allow WebKitGTK+ to be controlled by automation. By default it's disabled, applications have to |
| explicitly call webkit_web_context_set_automation_allowed() to enabled it. When a new automation session is |
| requested, the signal WebKitWebContext::automation-started is emitted with a newly created |
| WebKitAutomationSession, similar to how WebKitWebContext::download-started works. The user should connect to it |
| have access to the WebKitAutomationSession and connect it its signals. When a new web view is requested to be |
| created in a WebKitAutomationSession, the signal WebKitAutomationSession::create-web-view is emitted. The user |
| should connect to it and return a WebKitWebView. The web views used for automation are special ones and need to |
| be created with the new WebKitWebView:is-controlled-by-automation construct property enabled, otherwise we will |
| refuse to create the requested browsing context. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/API/gtk/WebKitAutomationSession.cpp: Added. |
| (webkitAutomationSessionSetProperty): |
| (webkitAutomationSessionConstructed): |
| (webkit_automation_session_class_init): |
| (webkitAutomationSessionCreate): |
| (webkitAutomationSessionGetSession): |
| (webkit_automation_session_get_id): |
| * UIProcess/API/gtk/WebKitAutomationSession.h: Added. |
| * UIProcess/API/gtk/WebKitAutomationSessionPrivate.h: Added. |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| (webkit_web_context_class_init): |
| (webkit_web_context_is_automation_allowed): |
| (webkit_web_context_set_automation_allowed): |
| (webkitWebContextCreatePageForWebView): |
| * UIProcess/API/gtk/WebKitWebContext.h: |
| * UIProcess/API/gtk/WebKitWebView.cpp: |
| (webkitWebViewConstructed): |
| (webkitWebViewSetProperty): |
| (webkitWebViewGetProperty): |
| (webkit_web_view_class_init): |
| (webkit_web_view_is_controlled_by_automation): |
| * UIProcess/API/gtk/WebKitWebView.h: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: |
| * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: |
| * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: |
| * UIProcess/API/gtk/webkit2.h: |
| |
| 2017-05-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ debug build after r216002. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.cpp: |
| (WebKit::wrapClientRectList): |
| |
| 2017-04-30 Chris Dumez <cdumez@apple.com> |
| |
| Drop support for legacy ClientRect / ClientRectList |
| https://bugs.webkit.org/show_bug.cgi?id=171418 |
| |
| Reviewed by Sam Weinig. |
| |
| GTK build fix. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRect.cpp: |
| (WebKit::kit): |
| (WebKit::core): |
| (WebKit::wrapClientRect): |
| (webkit_dom_client_rect_constructed): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectList.cpp: |
| (ClientRectList::create): |
| (ClientRectList::items): |
| (ClientRectList::ClientRectList): |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectListPrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMClientRectPrivate.h: |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp: |
| (webkit_dom_element_get_bounding_client_rect): |
| (webkit_dom_element_get_client_rects): |
| |
| 2017-04-30 Brady Eidson <beidson@apple.com> |
| |
| More fixing after r215991 |
| https://bugs.webkit.org/show_bug.cgi?id=171483 |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::syncAllCookies): |
| |
| 2017-04-30 Brady Eidson <beidson@apple.com> |
| |
| Fix r215991 |
| https://bugs.webkit.org/show_bug.cgi?id=171483 |
| |
| Unreviewed. |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::syncAllCookies): |
| |
| 2017-04-30 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Replaces uses of [get…() alloc] with alloc…Instance() |
| https://bugs.webkit.org/show_bug.cgi?id=171485 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Platform/mac/MenuUtilities.mm: |
| (WebKit::menuItemForTelephoneNumber): |
| (WebKit::menuForTelephoneNumber): |
| |
| 2017-04-30 Brady Eidson <beidson@apple.com> |
| |
| Updates to _WKWebsiteDataStoreConfiguration cookie storage location SPI. |
| <rdar://problem/31906397> and https://bugs.webkit.org/show_bug.cgi?id=171483 |
| |
| Reviewed by Geoff Garen (and kind of Andy Estes). |
| |
| Updates include: |
| -Taking a file path as the config argument instead of a directory. |
| -Proper sandbox extension handling. |
| -Proper and thorough API test. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::syncAllCookies): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::syncAllCookies): |
| |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession): |
| |
| * Shared/WebsiteDataStoreParameters.cpp: |
| (WebKit::WebsiteDataStoreParameters::encode): |
| (WebKit::WebsiteDataStoreParameters::decode): |
| * Shared/WebsiteDataStoreParameters.h: |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _syncNetworkProcessCookies]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _initWithConfiguration:]): |
| |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: |
| (-[_WKWebsiteDataStoreConfiguration _cookieStoragePath]): |
| (-[_WKWebsiteDataStoreConfiguration _setCookieStoragePath:]): |
| (-[_WKWebsiteDataStoreConfiguration _cookieStorageDirectory]): Deleted. |
| (-[_WKWebsiteDataStoreConfiguration _setCookieStorageDirectory:]): Deleted. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::syncNetworkProcessCookies): |
| * UIProcess/WebProcessPool.h: |
| |
| * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: |
| (WebKit::WebsiteDataStore::parameters): |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| (WebKit::WebsiteDataStore::resolvedCookieStoragePath): |
| (WebKit::WebsiteDataStore::resolvedCookieStorageDirectory): Deleted. |
| |
| 2017-04-30 Brady Eidson <beidson@apple.com> |
| |
| Regression (r215941) Unexpected logging causes perf tests to fail. |
| <rdar://problem/31907269> and https://bugs.webkit.org/show_bug.cgi?id=171482 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Shared/mac/SandboxExtensionMac.mm: |
| (WebKit::resolveAndCreateReadWriteDirectoryForSandboxExtension): |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::networkingCachesDirectory): |
| (WebKit::WebProcessPool::webContentCachesDirectory): |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): Only resolve the cookie storage directory |
| if a custom one has been set. |
| |
| 2017-04-29 Youenn Fablet <youenn@apple.com> |
| |
| Readd assertion removed accidentally in r215955 |
| https://bugs.webkit.org/show_bug.cgi?id=171466 |
| |
| Reviewed by Eric Carlson. |
| |
| * WebProcess/WebPage/WebBackForwardListProxy.cpp: |
| (WebKit::WebBackForwardListProxy::addItemFromUIProcess): |
| |
| 2017-04-29 Andy Estes <aestes@apple.com> |
| |
| [macOS] Picture-in-picture should be disabled in WebPlaybackControlsManager during external media playback |
| https://bugs.webkit.org/show_bug.cgi?id=171468 |
| <rdar://problem/31900349> |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateMediaTouchBar): Set canTogglePictureInPicture to YES by default |
| on WebPlaybackControlsManager. |
| |
| 2017-04-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Move WebCore CPUTime to WTF and implement it in all the platforms |
| https://bugs.webkit.org/show_bug.cgi?id=171477 |
| |
| Reviewed by Chris Dumez. |
| |
| We now hold Seconds in CPUTime instead of int64_t. It finally sends |
| Seconds through WebKit2 IPC. We do not need to specialize ArgumentCoder |
| for Seconds since Seconds just holds double. |
| |
| * UIProcess/PerActivityStateCPUUsageSampler.cpp: |
| (WebKit::PerActivityStateCPUUsageSampler::PerActivityStateCPUUsageSampler): |
| (WebKit::PerActivityStateCPUUsageSampler::reportWebContentCPUTime): |
| (WebKit::PerActivityStateCPUUsageSampler::loggingTimerFired): |
| * UIProcess/PerActivityStateCPUUsageSampler.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::reportWebContentCPUTime): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessPool.messages.in: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::reportProcessCPUTime): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2017-04-28 Brady Eidson <beidson@apple.com> |
| |
| Teach the DatabaseProcess to be fully SessionID aware |
| https://bugs.webkit.org/show_bug.cgi?id=171451 |
| |
| Reviewed by Geoffrey Garen. |
| |
| SessionIDs were already at the periphery of IDB and the DatabaseProcess. |
| Getting a separate IDBServer per SessionID is a pretty straightforward improvement. |
| |
| * DatabaseProcess/DatabaseProcess.cpp: |
| (WebKit::DatabaseProcess::idbServer): |
| (WebKit::DatabaseProcess::initializeWebsiteDataStore): |
| (WebKit::DatabaseProcess::fetchWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteData): |
| (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins): |
| (WebKit::DatabaseProcess::indexedDatabaseOrigins): |
| (WebKit::DatabaseProcess::initializeDatabaseProcess): Deleted. |
| (WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists): Deleted. |
| (WebKit::DatabaseProcess::absoluteIndexedDatabasePathFromDatabaseRelativePath): Deleted. |
| * DatabaseProcess/DatabaseProcess.h: |
| (WebKit::DatabaseProcess::indexedDatabaseDirectory): Deleted. |
| * DatabaseProcess/DatabaseProcess.messages.in: |
| |
| * DatabaseProcess/DatabaseToWebProcessConnection.cpp: |
| (WebKit::DatabaseToWebProcessConnection::establishIDBConnectionToServer): |
| * DatabaseProcess/DatabaseToWebProcessConnection.h: |
| * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: |
| |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp: |
| (WebKit::WebIDBConnectionToClient::create): |
| (WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient): |
| (WebKit::WebIDBConnectionToClient::disconnectedFromWebProcess): |
| (WebKit::WebIDBConnectionToClient::deleteDatabase): |
| (WebKit::WebIDBConnectionToClient::openDatabase): |
| (WebKit::WebIDBConnectionToClient::abortTransaction): |
| (WebKit::WebIDBConnectionToClient::commitTransaction): |
| (WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction): |
| (WebKit::WebIDBConnectionToClient::createObjectStore): |
| (WebKit::WebIDBConnectionToClient::deleteObjectStore): |
| (WebKit::WebIDBConnectionToClient::renameObjectStore): |
| (WebKit::WebIDBConnectionToClient::clearObjectStore): |
| (WebKit::WebIDBConnectionToClient::createIndex): |
| (WebKit::WebIDBConnectionToClient::deleteIndex): |
| (WebKit::WebIDBConnectionToClient::renameIndex): |
| (WebKit::WebIDBConnectionToClient::putOrAdd): |
| (WebKit::WebIDBConnectionToClient::getRecord): |
| (WebKit::WebIDBConnectionToClient::getAllRecords): |
| (WebKit::WebIDBConnectionToClient::getCount): |
| (WebKit::WebIDBConnectionToClient::deleteRecord): |
| (WebKit::WebIDBConnectionToClient::openCursor): |
| (WebKit::WebIDBConnectionToClient::iterateCursor): |
| (WebKit::WebIDBConnectionToClient::establishTransaction): |
| (WebKit::WebIDBConnectionToClient::databaseConnectionPendingClose): |
| (WebKit::WebIDBConnectionToClient::databaseConnectionClosed): |
| (WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded): |
| (WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent): |
| (WebKit::WebIDBConnectionToClient::openDBRequestCancelled): |
| (WebKit::WebIDBConnectionToClient::confirmDidCloseFromServer): |
| (WebKit::WebIDBConnectionToClient::getAllDatabaseNames): |
| * DatabaseProcess/IndexedDB/WebIDBConnectionToClient.h: |
| |
| * Shared/Databases/DatabaseProcessCreationParameters.cpp: |
| (WebKit::DatabaseProcessCreationParameters::encode): |
| (WebKit::DatabaseProcessCreationParameters::decode): |
| * Shared/Databases/DatabaseProcessCreationParameters.h: |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::ensureDatabaseProcess): |
| (WebKit::WebProcessPool::resolvePathsForSandboxExtensions): |
| (WebKit::WebProcessPool::pageAddedToProcess): |
| * UIProcess/WebProcessPool.h: |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): |
| (WebKit::WebsiteDataStore::databaseProcessParameters): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| (WebKit::WebsiteDataStore::resolvedIndexedDatabaseDirectory): |
| |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp: |
| (WebKit::WebIDBConnectionToServer::create): |
| (WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer): |
| * WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h: |
| |
| * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: |
| (WebKit::WebToDatabaseProcessConnection::idbConnectionToServerForSession): |
| |
| 2017-04-28 Youenn Fablet <youenn@apple.com> |
| |
| getUserMedia video streams should follow device orientation |
| https://bugs.webkit.org/show_bug.cgi?id=171284 |
| |
| Reviewed by Eric Carlson. |
| |
| Refactoring to specialize CaptureFactory in VideoCaptureFactory and AudioCaptureFactory. |
| Refactoring to return a CaptureSourceOrError instead of passing an out parameter in addition to returning a RefPtr. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::createCaptureSource): |
| (WebKit::UserMediaCaptureManager::createMediaSourceForCaptureDeviceWithConstraints): Deleted. |
| * WebProcess/cocoa/UserMediaCaptureManager.h: |
| |
| 2017-04-28 Chris Dumez <cdumez@apple.com> |
| |
| [iOS] We should not take a background assertion for the UIProcess when app is MobileMail |
| https://bugs.webkit.org/show_bug.cgi?id=171435 |
| <rdar://problem/31132330> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add SPI to disable taking on background process assertions in the UIProcess. |
| This is useful for MobileMail. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration shouldTakeUIBackgroundAssertion]): |
| (-[_WKProcessPoolConfiguration setShouldTakeUIBackgroundAssertion:]): |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::NetworkProcessProxy): |
| * UIProcess/ProcessAssertion.h: |
| (WebKit::ProcessAssertion::setClient): |
| * UIProcess/ProcessThrottler.cpp: |
| (WebKit::ProcessThrottler::ProcessThrottler): |
| (WebKit::m_shouldTakeUIBackgroundAssertion): |
| (WebKit::ProcessThrottler::didConnectToProcess): |
| * UIProcess/ProcessThrottler.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::WebProcessProxy): |
| |
| 2017-04-28 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed attempt to fix iOS build after r215943. |
| |
| * Configurations/Base.xcconfig: |
| |
| 2017-04-28 Andy Estes <aestes@apple.com> |
| |
| [macOS] WebPlaybackControlsManager needs to know when the selected text or audio track changes |
| https://bugs.webkit.org/show_bug.cgi?id=171434 |
| <rdar://problem/31887922> |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: |
| (WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionIndex): Set |
| m_audioMediaSelectedIndex and notified clients. |
| (WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionIndex): Ditto for |
| m_legibleMediaSelectedIndex. |
| (WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionIndex): Called |
| WebPlaybackSessionModelContext::setAudioMediaSelectionIndex(). |
| (WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionIndex): Called |
| WebPlaybackSessionModelContext::setLegibleMediaSelectionIndex(). |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionIndexChanged): Called |
| WebPlaybackSessionManager:: audioMediaSelectionIndexChanged(). |
| (WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionIndexChanged): Called |
| WebPlaybackSessionManager::legibleMediaSelectionIndexChanged(). |
| (WebKit::WebPlaybackSessionManager::audioMediaSelectionIndexChanged): Sent |
| WebPlaybackSessionManagerProxy::SetAudioMediaSelectionIndex(). |
| (WebKit::WebPlaybackSessionManager::legibleMediaSelectionIndexChanged): Sent |
| WebPlaybackSessionManagerProxy::SetLegibleMediaSelectionIndex(). |
| |
| 2017-04-28 Brady Eidson <beidson@apple.com> |
| |
| Start of support for multiple WebsiteDataStore/SessionIDs per process |
| https://bugs.webkit.org/show_bug.cgi?id=171422 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * CMakeLists.txt: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::addWebsiteDataStore): |
| (WebKit::NetworkProcess::destroySession): |
| (WebKit::NetworkProcess::destroyPrivateBrowsingSession): Deleted. |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| |
| * NetworkProcess/RemoteNetworkingContext.h: |
| * NetworkProcess/mac/RemoteNetworkingContext.mm: |
| (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession): |
| * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: |
| (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession): |
| |
| * Shared/WebsiteDataStoreParameters.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h. |
| (WebKit::WebsiteDataStoreParameters::WebsiteDataStoreParameters): |
| (WebKit::WebsiteDataStoreParameters::encode): |
| (WebKit::WebsiteDataStoreParameters::decode): |
| * Shared/WebsiteDataStoreParameters.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::defaultDataStore): |
| (API::WebsiteDataStore::createLegacy): |
| (API::WebsiteDataStore::WebsiteDataStore): |
| (API::WebsiteDataStore::create): Deleted. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _initWithConfiguration:]): |
| |
| * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp: |
| (webkitWebsiteDataManagerCreate): |
| (webkitWebsiteDataManagerGetDataStore): |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::m_weakPtrFactory): |
| * UIProcess/WebPageProxy.h: |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled): |
| (WebKit::WebProcessPool::pageAddedToProcess): |
| (WebKit::WebProcessPool::pageRemovedFromProcess): |
| |
| * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: |
| (WebKit::WebsiteDataStore::parameters): |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::create): |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| (WebKit::WebsiteDataStore::~WebsiteDataStore): |
| (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): |
| (WebKit::WebsiteDataStore::parameters): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: |
| * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: |
| (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): |
| (WebKit::WebFrameNetworkingContext::storageSession): |
| * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: |
| (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession): |
| * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::addWebsiteDataStore): |
| (WebKit::WebProcess::destroySession): |
| (WebKit::WebProcess::destroyPrivateBrowsingSession): Deleted. |
| * WebProcess/WebProcess.h: |
| * WebProcess/WebProcess.messages.in: |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| |
| 2017-04-28 Youenn Fablet <youenn@apple.com> |
| |
| Adding a runtime flag specific to MediaDevices |
| https://bugs.webkit.org/show_bug.cgi?id=171433 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Adding a preference for MediaDevices. |
| Setting media devices runtime flag to false by default. |
| Setting peer connection and media stream flags to true by default. |
| Sending microphone sandbox extension based on media devices and not media stream flag. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetMediaDevicesEnabled): |
| (WKPreferencesGetMediaDevicesEnabled): |
| * UIProcess/API/C/WKPreferencesRef.h: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-04-28 Brady Eidson <beidson@apple.com> |
| |
| Teach WebProcessPool to track a map of SessionIDs to WebPageProxys to manage their lifetime |
| https://bugs.webkit.org/show_bug.cgi?id=171408 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/APIPageConfiguration.cpp: |
| (API::PageConfiguration::sessionID): |
| * UIProcess/API/APIPageConfiguration.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| (WebKit::WebPageProxy::close): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::pageAddedToProcess): |
| (WebKit::WebProcessPool::pageRemovedFromProcess): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::createWebPage): |
| (WebKit::WebProcessProxy::addExistingWebPage): |
| (WebKit::WebProcessProxy::removeWebPage): |
| * UIProcess/WebProcessProxy.h: |
| |
| 2017-04-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Move UUID from WebCore/platform to WTF |
| https://bugs.webkit.org/show_bug.cgi?id=171372 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * UIProcess/Automation/WebAutomationSession.cpp: |
| (WebKit::WebAutomationSession::handleForWebPageProxy): |
| (WebKit::WebAutomationSession::handleForWebFrameID): |
| * UIProcess/gtk/WaylandCompositor.cpp: |
| * WebProcess/Automation/WebAutomationSessionProxy.cpp: |
| (WebKit::createUUID): |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::openWithNativeApplication): |
| |
| 2017-04-27 Chris Dumez <cdumez@apple.com> |
| |
| Align colspan/rowspan limits with the latest HTML specification |
| https://bugs.webkit.org/show_bug.cgi?id=171322 |
| |
| Reviewed by Darin Adler. |
| |
| GTK build fix. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp: |
| (webkit_dom_html_table_cell_element_get_col_span): |
| (webkit_dom_html_table_cell_element_set_col_span): |
| |
| 2017-04-27 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| WKUIDelegatePrivate needs a hook to vend data used to initialize item providers for data interaction |
| https://bugs.webkit.org/show_bug.cgi?id=171386 |
| <rdar://problem/31557237> |
| |
| Reviewed by Beth Dakin. |
| |
| Add a new WKUIDelegate hook, _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| |
| 2017-04-27 Brady Eidson <beidson@apple.com> |
| |
| Refactor SessionID to support multiple non-ephemeral (persistent) sessions. |
| https://bugs.webkit.org/show_bug.cgi?id=171367 |
| |
| Reviewed by Andy Estes. |
| |
| * Shared/ChildProcess.cpp: |
| (WebKit::ChildProcess::initialize): Child processes should never be generating new SessionIDs, |
| so enable generation protection. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<SessionID>::encode): Deleted. |
| (IPC::ArgumentCoder<SessionID>::decode): Deleted. |
| * Shared/WebCoreArgumentCoders.h: |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::createNonPersistent): |
| (WebKit::generateNonPersistentSessionID): Deleted. |
| |
| 2017-04-27 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| REGRESSION(r213764): Async decoding of animated images is disabled for ImageDocument |
| https://bugs.webkit.org/show_bug.cgi?id=170333 |
| |
| Reviewed by Simon Fraser. |
| |
| Disbale the async decoding for large images for now. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-04-27 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Allow multi-touch related iokit-get-properties |
| https://bugs.webkit.org/show_bug.cgi?id=171355 |
| <rdar://problem/31851928> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| During testing I've noticed Sandbox Violations being generated during some 'Force Touch' track pad use. |
| The sandbox should allow these IOKit properties to be accessed. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-04-27 Alex Christensen <achristensen@webkit.org> |
| |
| Add stub SPI for setting cookie storage path on _WKWebsiteDataStoreConfiguration |
| https://bugs.webkit.org/show_bug.cgi?id=171399 |
| |
| Reviewed by Brady Eidson. |
| |
| This SPI isn't hooked up yet, but it has a test that will need to be updated once it works. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore _initWithConfiguration:]): |
| * UIProcess/API/Cocoa/_WKDraggableElementInfo.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: |
| * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: |
| (-[_WKWebsiteDataStoreConfiguration _cookieStorageDirectory]): |
| (-[_WKWebsiteDataStoreConfiguration _setCookieStorageDirectory:]): |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| (WebKit::WebsiteDataStore::resolvedCookieStorageDirectory): |
| |
| 2017-04-27 Chris Dumez <cdumez@apple.com> |
| |
| Element.getBoundingClientRect() / getClientRects() should return a DOMRect types |
| https://bugs.webkit.org/show_bug.cgi?id=171226 |
| |
| Reviewed by Simon Fraser. |
| |
| GTK build fix. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp: |
| (toClientRect): |
| (webkit_dom_element_get_bounding_client_rect): |
| (webkit_dom_element_get_client_rects): |
| |
| 2017-04-27 Brady Eidson <beidson@apple.com> |
| |
| Update NetworkStorageSession to support multiple persistent sessions and explicitly set cookie storages. |
| https://bugs.webkit.org/show_bug.cgi?id=171365 |
| |
| Reviewed by Andy Estes. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): |
| |
| 2017-04-27 Alex Christensen <achristensen@webkit.org> |
| |
| Modernize Frame.h |
| https://bugs.webkit.org/show_bug.cgi?id=171357 |
| |
| Reviewed by Andy Estes. |
| |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled): |
| * WebProcess/WebCoreSupport/WebEditorClient.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::contextMenuAtPointInWindow): |
| (WebKit::handleContextMenuEvent): |
| (WebKit::WebPage::isSelectTrailingWhitespaceEnabled): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::selectWithGesture): |
| (WebKit::WebPage::selectPositionAtPoint): |
| (WebKit::WebPage::selectPositionAtBoundaryWithDirection): |
| (WebKit::WebPage::rangeForGranularityAtPoint): |
| (WebKit::WebPage::selectTextWithGranularityAtPoint): |
| (WebKit::WebPage::updateSelectionWithExtentPointAndBoundary): |
| (WebKit::WebPage::updateSelectionWithExtentPoint): |
| |
| 2017-04-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Remote inspector should support inspecting targets with previous version of backend commands |
| https://bugs.webkit.org/show_bug.cgi?id=171267 |
| |
| Reviewed by Michael Catanzaro. |
| |
| There's a FIXME for this in the code. The remote inspector proxy allows to pass a backend commands URL when |
| inspecting a target. That URL, if not empty, is used as Protocol/InspectorBackendCommands.js in the inspector |
| code instead of the local copy. We are currently assuming that both ends use the same version of that file. |
| |
| * UIProcess/glib/RemoteInspectorClient.cpp: |
| (WebKit::RemoteInspectorProxy::load): Pass RemoteInspectorClient::backendCommandsURL() to load(). |
| (WebKit::RemoteInspectorClient::setupConnection): Get the local backend commands hash and pass it to |
| SetupInspectorClient method. Extract the server backend commands from the result and call setBackendCommands(). |
| (WebKit::RemoteInspectorClient::setBackendCommands): Create a data URL for the server backend commands file |
| conents if needed. |
| * UIProcess/glib/RemoteInspectorClient.h: |
| (WebKit::RemoteInspectorClient::backendCommandsURL): |
| |
| 2017-04-26 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| WebItemProviderPasteboard should not synchronously load provided data |
| https://bugs.webkit.org/show_bug.cgi?id=171341 |
| <rdar://problem/31614010> |
| |
| Reviewed by Tim Horton. |
| |
| Adds plumbing for updatePreferredTypeIdentifiers through the WebPasteboardProxy. This allows the web process to |
| signal to the UI process what UTIs the current drop target should accept and load. See WebCore ChangeLog for more |
| details. |
| |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::updatePreferredTypeIdentifiers): |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::updatePreferredTypeIdentifiers): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2017-04-26 Youenn Fablet <youenn@apple.com> |
| |
| Unauthenticated CORS preflight requests should not use client certificates |
| https://bugs.webkit.org/show_bug.cgi?id=171298 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): Ensuring that session dedicated to requests that do not want to use credentials do not look for client credentials. |
| |
| 2017-04-26 Eric Carlson <eric.carlson@apple.com> |
| |
| The current page is given a muted state when starting a media stream on iOS. |
| https://bugs.webkit.org/show_bug.cgi?id=171290 |
| <rdar://problem/31821427> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/UserMediaProcessManager.cpp: |
| (WebKit::UserMediaProcessManager::willEnableMediaStreamInPage): Don't mute the current |
| page on iOS either, that will prevent the new media stream from playing. |
| |
| 2017-04-26 Alex Christensen <achristensen@webkit.org> |
| |
| Make user script injection more robust |
| https://bugs.webkit.org/show_bug.cgi?id=171339 |
| <rdar://problem/30643691> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * WebProcess/UserContent/WebUserContentController.cpp: |
| (WebKit::WebUserContentController::forEachUserScript): |
| (WebKit::WebUserContentController::forEachUserStyleSheet): |
| (WebKit::WebUserContentController::forEachUserMessageHandler): |
| * WebProcess/UserContent/WebUserContentController.h: |
| |
| 2017-04-26 Zalan Bujtas <zalan@apple.com> |
| |
| RTL: recent searches popover is displayed in incorrect location |
| https://bugs.webkit.org/show_bug.cgi?id=171338 |
| <rdar://problem/31377807> |
| |
| Reviewed by Dean Jackson. |
| |
| Add RTL support for the pop-under branch. |
| |
| * UIProcess/mac/WebPopupMenuProxyMac.mm: |
| (WebKit::WebPopupMenuProxyMac::showPopupMenu): |
| |
| 2017-04-26 Antti Koivisto <antti@apple.com> |
| |
| Enable expired-only reload policy on Mac and iOS |
| https://bugs.webkit.org/show_bug.cgi?id=171264 |
| <rdar://problem/31807637> |
| |
| Reviewed by Andreas Kling. |
| |
| Enable the reload policy where only expired subresources are revalidated on Mac and iOS. |
| The behavor is enabled in Safari and for other clients based on SDK version check. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageReload): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView reload]): |
| * UIProcess/Cocoa/VersionChecks.h: |
| |
| 2017-04-26 Andy Estes <aestes@apple.com> |
| |
| [macOS] Add picture-in-picture support to WebPlaybackControlsManager |
| https://bugs.webkit.org/show_bug.cgi?id=171328 |
| <rdar://problem/29875010> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: |
| (WebKit::WebPlaybackSessionModelContext::togglePictureInPicture): Added. Calls |
| WebPlaybackSessionManagerProxy::togglePictureAndPicture(). |
| (WebKit::WebPlaybackSessionManagerProxy::togglePictureInPicture): Added. Sends |
| TogglePictureInPicture to WebPlaybackSessionManager. |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateMediaTouchBar): Called |
| -[WebPlaybackControlsManager setAllowsPictureInPicturePlayback:YES] if |
| WebPreferences::allowsPictureInPictureMediaPlayback() is true. |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.messages.in: |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionManager::togglePictureInPicture): Added. Sets a |
| UserGestureIndicator and calls WebPlaybackSessionModel::togglePictureInPicture(). |
| |
| 2017-04-26 Tim Horton <timothy_horton@apple.com> |
| |
| WebKit calls AppKit NSCell API from a background queue |
| https://bugs.webkit.org/show_bug.cgi?id=171318 |
| <rdar://problem/31798317> |
| |
| Reviewed by Anders Carlsson. |
| |
| * UIProcess/mac/ServicesController.mm: |
| (WebKit::ServicesController::refreshExistingServices): |
| Synchronously bounce to the main thread to do non-thread-safe NSCell related work. |
| |
| 2017-04-25 Alex Christensen <achristensen@webkit.org> |
| |
| Encoded filename should be decoded for WKContentExtension.identifier |
| https://bugs.webkit.org/show_bug.cgi?id=171316 |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/API/APIContentExtensionStore.cpp: |
| (API::createExtension): |
| (API::ContentExtensionStore::lookupContentExtension): |
| (API::ContentExtensionStore::getAvailableContentExtensionIdentifiers): |
| |
| 2017-04-26 Andrew Gold <agold@apple.com> |
| |
| Move mediaCaptureEnabled from WKWebViewConfiguration to WKPreferences |
| https://bugs.webkit.org/show_bug.cgi?id=171294 |
| |
| Reviewed by Eric Carlson. |
| |
| Since we now want the ability to toggle this setting dynamically, I have |
| moved it from WKWebViewConfiguration to WKPreferences. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _mediaStreamEnabled]): |
| (-[WKPreferences _setMediaStreamEnabled:]): |
| |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): No longer set mediaStream enabled from |
| the configuration. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _mediaStreamEnabled]): Deleted. |
| (-[WKWebViewConfiguration _setMediaStreamEnabled:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: |
| |
| 2017-04-25 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION(206450): WebKit2PlatformMouseEvent m_modifierFlags not set |
| https://bugs.webkit.org/show_bug.cgi?id=171297 |
| <rdar://problem/31530719> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * Shared/WebEventConversion.cpp: |
| (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): |
| |
| 2017-04-25 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Unreviewed, speculative build fix |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| |
| For the time being, remove all references to UIItemProviders from this private header. |
| This should be fixed to use unavailability macros in a followup. See <rdar://problem/31827095>. |
| |
| 2017-04-25 Brent Fulgham <bfulgham@apple.com> |
| |
| Limit allowed size of document.title to avoid locking WebKit clients |
| https://bugs.webkit.org/show_bug.cgi?id=165113 |
| <rdar://problem/28324389> |
| |
| Reviewed by Darin Adler. |
| |
| When a web application attempts to set an extremely long title, truncate the |
| title to a more reasonable size. |
| |
| We do this at at the presentation layer, rather than in the DOM, so that we do |
| not affect script function. Instead, we merely limit display to a level that is |
| reasonable for normal GUI widgets. Anything else needs to be truncated in the UI |
| layer, so it is a waste of effort to send across IPC. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: |
| |
| 2017-04-25 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Introduce shorter time-to-live for cookie partition whitelisting |
| https://bugs.webkit.org/show_bug.cgi?id=171295 |
| <rdar://problem/31823818> |
| |
| Reviewed by Brent Fulgham. |
| |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.cpp: |
| (WKResourceLoadStatisticsManagerSetTimeToLiveCookiePartitionFree): |
| (WKResourceLoadStatisticsManagerFireShouldPartitionCookiesHandler): |
| (WKResourceLoadStatisticsManagerFireShouldPartitionCookiesHandlerForOneDomain): |
| Changes and additions to test infrastructure. |
| * UIProcess/API/C/WKResourceLoadStatisticsManager.h: |
| * UIProcess/WebResourceLoadStatisticsManager.cpp: |
| (WebKit::WebResourceLoadStatisticsManager::setTimeToLiveCookiePartitionFree): |
| (WebKit::WebResourceLoadStatisticsManager::fireShouldPartitionCookiesHandler): |
| (WebKit::WebResourceLoadStatisticsManager::fireShouldPartitionCookiesHandlerForOneDomain): |
| (WebKit::WebResourceLoadStatisticsManager::resetToConsistentState): |
| Changes and additions to test infrastructure. |
| * UIProcess/WebResourceLoadStatisticsManager.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): |
| No longer sends a boolean parameter to |
| WebCore::ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler(). |
| |
| 2017-04-25 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r213719): WebGL content on cubeslam.com is 1/4 expected size |
| https://bugs.webkit.org/show_bug.cgi?id=171300 |
| rdar://problem/31051538 |
| |
| Reviewed by Dean Jackson. |
| |
| Propagating the contentsScale to the UI process for canvas content layers causes |
| scaling issues, so don't do it for contents-provided layers. |
| |
| No test because WebGL can't be tested in the iOS simulator. |
| |
| * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: |
| (WebKit::PlatformCALayerRemote::PlatformCALayerRemote): |
| |
| 2017-04-25 Brady Eidson <beidson@apple.com> |
| |
| Update WebProcess(Pool) to assume there's always a WebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=171299 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::reattachToWebProcess): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| (WebKit::WebProcessPool::warmInitialProcess): |
| (WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit): |
| (WebKit::WebProcessPool::createWebPage): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::create): |
| (WebKit::WebProcessProxy::WebProcessProxy): |
| (WebKit::m_userMediaCaptureManagerProxy): |
| * UIProcess/WebProcessProxy.h: |
| (WebKit::WebProcessProxy::websiteDataStore): |
| |
| 2017-04-25 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r215730. |
| |
| The LayoutTest for this change is a flaky timeout on mac-wk1 |
| debug. |
| |
| Reverted changeset: |
| |
| "Enable expired-only reload policy on Mac and iOS" |
| https://bugs.webkit.org/show_bug.cgi?id=171264 |
| http://trac.webkit.org/changeset/215730 |
| |
| 2017-04-24 Matt Rajca <mrajca@apple.com> |
| |
| Indicate presence of audio when handling autoplay events. |
| https://bugs.webkit.org/show_bug.cgi?id=171227 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::handleAutoplayEvent): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageUIClient): |
| * UIProcess/API/C/WKPageUIClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::handleAutoplayEvent): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::handleAutoplayEvent): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| |
| 2017-04-25 Daniel Bates <dabates@apple.com> |
| |
| [Cocoa][Win] Enable of X-Content-Type-Options: nosniff header |
| https://bugs.webkit.org/show_bug.cgi?id=136452 |
| <rdar://problem/23412620> |
| |
| Reviewed by Brent Fulgham. |
| |
| Enable X-Content-Type-Options: nosniff on Mac, iOS and Windows platforms. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-04-25 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Clear network process cache when clearing store |
| https://bugs.webkit.org/show_bug.cgi?id=171256 |
| <rdar://problem/31802347> |
| |
| Reviewed by Brent Fulgham. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::shouldPartitionCookiesForTopPrivatelyOwnedDomains): |
| Now takes and passes on the boolean parameter clearFirst to |
| WebCore::NetworkStorageSession::setShouldPartitionCookiesForHosts(). |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| The message ShouldPartitionCookiesForTopPrivatelyOwnedDomains now |
| takes the boolean parameter clearFirst. |
| * UIProcess/Network/NetworkProcessProxy.cpp: |
| (WebKit::NetworkProcessProxy::shouldPartitionCookiesForTopPrivatelyOwnedDomains): |
| Now takes and passes on the boolean parameter clearFirst to |
| Messages::NetworkProcess::ShouldPartitionCookiesForTopPrivatelyOwnedDomains. |
| * UIProcess/Network/NetworkProcessProxy.h: |
| * UIProcess/Network/NetworkProcessProxy.messages.in: |
| The message ShouldPartitionCookiesForTopPrivatelyOwnedDomains now |
| takes the boolean parameter clearFirst. |
| * UIProcess/WebResourceLoadStatisticsManager.cpp: |
| (WebKit::WebResourceLoadStatisticsManager::fireShouldPartitionCookiesHandler): |
| Now uses the boolean parameter clearFirst when calling |
| WebCore::ResourceLoadObserver::fireShouldPartitionCookiesHandler(). |
| (WebKit::WebResourceLoadStatisticsManager::clearInMemoryAndPersistentStore): |
| No longer uses the deleted store getter. |
| (WebKit::WebResourceLoadStatisticsManager::resetToConsistentState): |
| No longer uses the deleted store getter. |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): |
| No sends the boolean parameter clearFirst to |
| ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler(). |
| (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver): |
| Now expects a handler with the boolean parameter clearFirst. |
| (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded): |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| Now uses the new WebCore::ResourceLoadObserver::clearInMemoryStore(). |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::shouldPartitionCookiesForTopPrivatelyOwnedDomains): |
| Now takes and passes on the boolean parameter clearFirst in its |
| message to the network process. |
| (WebKit::WebsiteDataStore::registerSharedResourceLoadObserver): |
| Now expects a handler with the boolean parameter clearFirst. |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2017-04-25 Chris Dumez <cdumez@apple.com> |
| |
| Content-Disposition header filename is ignored when 'download' attribute is specified in HTML |
| https://bugs.webkit.org/show_bug.cgi?id=171239 |
| <rdar://problem/31789855> |
| |
| Reviewed by Alex Christensen. |
| |
| Content-Disposition header filename is ignored when 'download' attribute is specified in HTML. |
| This is not as per HTML specification: |
| - https://html.spec.whatwg.org/#as-a-download (Step 2) |
| |
| Content-Disposition header filename is supposed to override the value of the download attribute. |
| |
| Firefox and Chrome follow the specification. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::findPendingDownloadLocation): |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::didReceiveResponse): |
| |
| 2017-04-25 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add WebKitInspectorWindow to create inspector windows from local and remote inspector |
| https://bugs.webkit.org/show_bug.cgi?id=171261 |
| |
| Reviewed by Michael Catanzaro. |
| |
| The code is currently duplicated in WebInspectorProxyGtk.cpp and RemoteWebInspectorProxyGtk.cpp. We can simplify |
| it by using a common widget in both places. |
| This patch also fixes the build when using GTK+ < 3.16. |
| |
| * PlatformGTK.cmake: |
| * UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp: |
| (WebKit::RemoteWebInspectorProxy::updateWindowTitle): |
| (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow): |
| * UIProcess/gtk/WebInspectorProxyGtk.cpp: |
| (WebKit::WebInspectorProxy::createInspectorWindow): |
| (WebKit::WebInspectorProxy::updateInspectorWindowTitle): |
| * UIProcess/gtk/WebKitInspectorWindow.cpp: Added. |
| (webkit_inspector_window_class_init): |
| (webkit_inspector_window_init): |
| (webkitInspectorWindowNew): |
| (webkitInspectorWindowSetSubtitle): |
| * UIProcess/gtk/WebKitInspectorWindow.h: Added. |
| |
| 2017-04-25 Antti Koivisto <antti@apple.com> |
| |
| Enable expired-only reload policy on Mac and iOS |
| https://bugs.webkit.org/show_bug.cgi?id=171264 |
| <rdar://problem/31807637> |
| |
| Reviewed by Andreas Kling. |
| |
| Enable the reload policy where only expired subresources are revalidated on Mac and iOS. |
| The behavor is enabled in Safari and for other clients based on SDK version check. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageReload): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView reload]): |
| * UIProcess/Cocoa/VersionChecks.h: |
| |
| 2017-04-25 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Support reading NSURL titles from the pasteboard when performing data interaction |
| https://bugs.webkit.org/show_bug.cgi?id=171156 |
| <rdar://problem/31356937> |
| |
| Reviewed by Tim Horton. |
| |
| Adjust for interface changes in WebCore to support plumbing the title of an NSURL from the platform pasteboard |
| back to WebCore. Additionally, implement WebEditorClient::hasRichlyEditableSelection (which previously returned |
| false) to check whether the current selection is richly editable, or the drop caret is in richly editable content. |
| See WebCore ChangeLog for more details. |
| |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::readURLFromPasteboard): |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::readURLFromPasteboard): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm: |
| (WebKit::WebEditorClient::hasRichlyEditableSelection): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::hasRichlyEditableSelection): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2017-04-24 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Respect fidelity order when reading web content from item providers |
| https://bugs.webkit.org/show_bug.cgi?id=171155 |
| <rdar://problem/31356937> |
| |
| Reviewed by Tim Horton. |
| |
| Adjusts for changes in WebCore by adding plumbing to support Pasteboard::getTypesByFidelityForItemAtIndex. See |
| WebCore/ChangeLog for more details. |
| |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::getPasteboardTypesByFidelityForItemAtIndex): |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::getTypesByFidelityForItemAtIndex): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2017-04-24 Brady Eidson <beidson@apple.com> |
| |
| WebProcessPools should always have a WebsiteDataStore |
| https://bugs.webkit.org/show_bug.cgi?id=171252 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/APIWebsiteDataStore.cpp: |
| (API::WebsiteDataStore::registerSharedResourceLoadObserver): Deleted. |
| * UIProcess/API/APIWebsiteDataStore.h: |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextGetWebsiteDataStore): |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitialize): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::WebProcessPool): |
| (WebKit::WebProcessPool::createWebPage): |
| * UIProcess/WebProcessPool.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::isAssociatedProcessPool): |
| |
| 2017-04-24 Youenn Fablet <youenn@apple.com> |
| |
| Set defaults video getUserMedia constraints |
| https://bugs.webkit.org/show_bug.cgi?id=171127 |
| |
| Reviewed by Eric Carlson. |
| |
| Updated to cope with MediaStreamConstraintsImpl refactoring. |
| |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): |
| |
| 2017-04-24 Chris Dumez <cdumez@apple.com> |
| |
| Allow tabs with capturing audio or video to exceed background CPU limit |
| https://bugs.webkit.org/show_bug.cgi?id=171249 |
| <rdar://problem/31796314> |
| |
| Reviewed by Geoffrey Garen. |
| |
| Allow tabs with capturing audio or video to exceed background CPU limit as this |
| is a legit case of potentially high background CPU use. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::didExceedBackgroundCPULimit): |
| |
| 2017-04-24 Andy Estes <aestes@apple.com> |
| |
| Try to fix the 32-bit macOS build. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| |
| 2017-04-24 Andy Estes <aestes@apple.com> |
| |
| [macOS] Enable media selection button on AVTouchBarScrubber |
| https://bugs.webkit.org/show_bug.cgi?id=171149 |
| <rdar://problem/29875010> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateMediaTouchBar): |
| |
| 2017-04-24 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce copies and allocations in SharedBuffer::append |
| https://bugs.webkit.org/show_bug.cgi?id=170956 |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| * Platform/IPC/DataReference.cpp: |
| (IPC::SharedBufferDataReference::encode): |
| * Shared/ShareableResource.cpp: |
| (WebKit::ShareableResource::wrapInSharedBuffer): |
| * UIProcess/API/Cocoa/WKURLSchemeHandlerTask.mm: |
| (-[WKURLSchemeHandlerTaskImpl didReceiveData:]): |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]): |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::addArchiveResource): |
| (WebKit::PDFPlugin::liveResourceData): |
| (WebKit::PDFPlugin::writeItemsToPasteboard): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::redeliverManualStream): |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::declareAndWriteDragImage): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::cachedResponseDataForURL): |
| |
| 2017-04-24 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Switch to use ENABLE_REMOTE_INSPECTOR instead of ENABLE_INSPECTOR_SERVER for the remote inspector |
| https://bugs.webkit.org/show_bug.cgi?id=166680 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Remove INSPECTOR_SERVER code and add new classes to implement REMOTE_INSPECTOR. The WebKitWebContext registers a |
| custom protocol "inspector" that loads a page with the list of debuggable targets. |
| |
| * PlatformGTK.cmake: Add new files to compilation and remove the old ones. |
| * UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml: Removed. |
| * UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp: Added. |
| (WebKit::RemoteInspectorProtocolHandler::RemoteInspectorProtocolHandler): |
| (WebKit::RemoteInspectorProtocolHandler::~RemoteInspectorProtocolHandler): |
| (WebKit::RemoteInspectorProtocolHandler::webViewDestroyed): |
| (WebKit::RemoteInspectorProtocolHandler::userContentManagerDestroyed): |
| (WebKit::RemoteInspectorProtocolHandler::handleRequest): |
| (WebKit::RemoteInspectorProtocolHandler::inspect): |
| (WebKit::RemoteInspectorProtocolHandler::targetListChanged): |
| (WebKit::RemoteInspectorProtocolHandler::connectionClosed): |
| * UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.h: Added. |
| * UIProcess/API/gtk/WebKitWebContext.cpp: |
| (webkitWebContextConstructed): |
| * UIProcess/InspectorServer/HTTPRequest.cpp: Add missing ENABLE(INSPECTOR_SERVER) ifdefs. |
| * UIProcess/InspectorServer/HTTPRequest.h: |
| * UIProcess/InspectorServer/WebInspectorServer.h: |
| * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Removed. |
| * UIProcess/RemoteWebInspectorProxy.cpp: |
| * UIProcess/RemoteWebInspectorProxy.h: |
| * UIProcess/WebProcessPool.cpp: |
| * UIProcess/glib/RemoteInspectorClient.cpp: Added. |
| (WebKit::RemoteInspectorClient::RemoteInspectorClient): |
| (WebKit::RemoteInspectorClient::~RemoteInspectorClient): |
| (WebKit::dbusConnectionCallAsyncReadyCallback): |
| (WebKit::RemoteInspectorClient::connectionClosedCallback): |
| (WebKit::RemoteInspectorClient::setupConnection): |
| (WebKit::RemoteInspectorClient::connectionClosed): |
| (WebKit::RemoteInspectorClient::inspect): |
| (WebKit::RemoteInspectorClient::sendMessageToBackend): |
| (WebKit::RemoteInspectorClient::closeFromFrontend): |
| (WebKit::RemoteInspectorClient::setTargetList): |
| (WebKit::RemoteInspectorClient::sendMessageToFrontend): |
| * UIProcess/glib/RemoteInspectorClient.h: Added. |
| (WebKit::RemoteInspectorObserver::~RemoteInspectorObserver): |
| (WebKit::RemoteInspectorClient::targets): |
| (WebKit::RemoteInspectorClient::hostAndPort): |
| * UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp: Added. |
| (WebKit::RemoteWebInspectorProxy::updateWindowTitle): |
| (WebKit::inspectorViewDestroyed): |
| (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow): |
| (WebKit::RemoteWebInspectorProxy::platformCloseFrontendPageAndWindow): |
| (WebKit::RemoteWebInspectorProxy::platformBringToFront): |
| (WebKit::RemoteWebInspectorProxy::platformSave): |
| (WebKit::RemoteWebInspectorProxy::platformAppend): |
| (WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): |
| (WebKit::RemoteWebInspectorProxy::platformOpenInNewTab): |
| * UIProcess/gtk/WebProcessPoolGtk.cpp: |
| (WebKit::initializeRemoteInspectorServer): |
| (WebKit::WebProcessPool::platformInitialize): |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: |
| (didReceiveMessageToPage): Updated after the GRefPtr hash traitds changes. |
| * config.h: |
| |
| 2017-04-23 Dan Bernstein <mitz@apple.com> |
| |
| [macOS] WKWebInspectorProxyObjCAdapter has a public ivar |
| https://bugs.webkit.org/show_bug.cgi?id=171200 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Made ivar private. |
| |
| 2017-04-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r215657 and r215676. |
| https://bugs.webkit.org/show_bug.cgi?id=171201 |
| |
| Broke the build (Requested by ap on #webkit). |
| |
| Reverted changesets: |
| |
| "[macOS] Enable media selection button on AVTouchBarScrubber" |
| https://bugs.webkit.org/show_bug.cgi?id=171149 |
| http://trac.webkit.org/changeset/215657 |
| |
| "Build fix after r215657." |
| http://trac.webkit.org/changeset/215676 |
| |
| 2017-04-23 Alexey Proskuryakov <ap@apple.com> |
| |
| Build fix after r215657. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| |
| 2017-04-23 Andy Estes <aestes@apple.com> |
| |
| [macOS] AVTouchBarMediaSelectionOptions should be created with the correct type |
| https://bugs.webkit.org/show_bug.cgi?id=171192 |
| <rdar://problem/29875010> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<MediaSelectionOption>::encode): |
| (IPC::ArgumentCoder<MediaSelectionOption>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: |
| * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: |
| (WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions): |
| (WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions): |
| * WebProcess/cocoa/WebPlaybackSessionManager.h: |
| * WebProcess/cocoa/WebPlaybackSessionManager.mm: |
| (WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionOptionsChanged): |
| (WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionOptionsChanged): |
| (WebKit::WebPlaybackSessionManager::audioMediaSelectionOptionsChanged): |
| (WebKit::WebPlaybackSessionManager::legibleMediaSelectionOptionsChanged): |
| |
| 2017-04-21 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Support writing link titles to the pasteboard when beginning data interaction on a link |
| https://bugs.webkit.org/show_bug.cgi?id=171154 |
| <rdar://problem/31356937> |
| |
| Reviewed by Andy Estes. |
| |
| Adds support for setting the _title attribute of NSURLs written to the pasteboard. See WebCore ChangeLog for more details. |
| |
| * Scripts/webkit/messages.py: |
| (headers_for_type): |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<PasteboardURL>::encode): |
| (IPC::ArgumentCoder<PasteboardURL>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| |
| Teach PasteboardURL to be serialized in IPC. For now, we just send across the absolute string of the link and |
| its title. |
| |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::writeURLToPasteboard): |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| |
| Add IPC plumbing for writing PasteboarURLs to the pasteboard. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::writeToPasteboard): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2017-04-21 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, rolling out r215608. |
| |
| Hundreds of test failures on GTK bot |
| |
| Reverted changeset: |
| |
| "Reduce copies and allocations in SharedBuffer::append" |
| https://bugs.webkit.org/show_bug.cgi?id=170956 |
| http://trac.webkit.org/changeset/215608 |
| |
| 2017-04-21 Andy Estes <aestes@apple.com> |
| |
| [macOS] Enable media selection button on AVTouchBarScrubber |
| https://bugs.webkit.org/show_bug.cgi?id=171149 |
| <rdar://problem/29875010> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::updateMediaTouchBar): |
| |
| 2017-04-21 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Add delegate hooks for overriding unhanded data interaction operations |
| https://bugs.webkit.org/show_bug.cgi?id=171005 |
| <rdar://problem/31669646> |
| |
| Reviewed by Tim Horton. |
| |
| Adds support for overriding data interaction operations through two new delegate methods: |
| _webView:willUpdateDataInteractionOperationToOperation:forSession:, and |
| _webView:dataInteractionOperationWasHandled:forSession:. The former may be overridden to return a different |
| operation type than what WebKit would originally have returned, and the latter may be overridden to run custom |
| logic after the web process has handled a data interaction operation. |
| |
| Additionally, includes some minor cleanup around WKContentViewInteraction. With the new |
| _webView:dataInteractionOperationWasHandled:forSession: delegate method, the last method on _WKTestingDelegate |
| may be removed. This means _WKTestingDelegate is no longer needed, so this patch removes its header entirely. |
| Also, relocates some state variables formerly on WKContentView to WKContentView's WKDataInteractionState struct |
| instead, so that all state associated with data interaction may be cleaned up at the same time. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _testingDelegate]): Deleted. |
| (-[WKWebView _setTestingDelegate:]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/_WKTestingDelegate.h: Removed. |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| |
| Add a new "handled" IPC argument to DidPerformDataInteractionControllerOperation. This lets the UI process |
| know whether or not the data interaction operation was handled by the web process, and is eventually plumbed |
| through to the UI delegate via the new SPI. |
| |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didPerformDataInteractionControllerOperation): |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView cleanupInteraction]): |
| (-[WKContentView _displayFormNodeInputView]): |
| (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::didPerformDataInteractionControllerOperation): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::performDragControllerAction): |
| |
| 2017-04-21 Anders Carlsson <andersca@apple.com> |
| |
| Stop using deprecated APIs, part 5 |
| https://bugs.webkit.org/show_bug.cgi?id=171134 |
| rdar://problem/31589635 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toPKPaymentAuthorizationStatus): |
| Remove this and add a new version that doesn't use any deprecated values. |
| |
| (WebKit::toPKPaymentAuthorizationStatus): |
| New function that takes a WebCore::PaymentAuthorizationResult and converts it to a status, for older OSes. |
| |
| (WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession): |
| Use the new toPKPaymentAuthorizationStatus versions. |
| |
| (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection): |
| Ditto. |
| |
| (WebKit::status): Deleted. |
| |
| 2017-04-21 David Kilzer <ddkilzer@apple.com> |
| |
| Switch from -std=gnu++11 to -std=gnu++14 for consistency in DerivedSources.make |
| <https://webkit.org/b/171122> |
| |
| Reviewed by Brent Fulgham. |
| |
| * DerivedSources.make: Switch to -std=gnu++14 for preprocessing |
| headers to check for build settings. |
| |
| 2017-04-21 Jer Noble <jer.noble@apple.com> |
| |
| [WK2][MediaCapture] Pass muted and enabled state across process boundary when capturing in UIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=170846 |
| |
| Reviewed by Jon Lee. |
| |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::setMuted): |
| (WebKit::UserMediaCaptureManagerProxy::setEnabled): |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::Source::setMuted): |
| (WebKit::UserMediaCaptureManager::Source::setEnabled): |
| (WebKit::UserMediaCaptureManager::setMuted): |
| (WebKit::UserMediaCaptureManager::setEnabled): |
| * WebProcess/cocoa/UserMediaCaptureManager.h: |
| |
| 2017-04-21 Jer Noble <jer.noble@apple.com> |
| |
| [WK2][MediaCapture] Remove now-unused WKWebViewConfiguration property for shouldCaptureAudioInUIProcess |
| https://bugs.webkit.org/show_bug.cgi?id=170847 |
| |
| Reviewed by Jon Lee. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _shouldCaptureAudioInUIProcess]): Deleted. |
| (-[WKWebViewConfiguration _setShouldCaptureAudioInUIProcess:]): Deleted. |
| |
| 2017-04-21 Anders Carlsson <andersca@apple.com> |
| |
| Stop using deprecated APIs, part 4 |
| https://bugs.webkit.org/show_bug.cgi?id=171125 |
| rdar://problem/31589635 |
| |
| Reviewed by Tim Horton. |
| |
| It doesn't really matter what we pass to these completion functions, since the sheet has already been dismissed at this point |
| so just remove the status parameter. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): |
| |
| 2017-04-21 Andrew Gold <agold@apple.com> |
| |
| -[WKUIDelegatePrivate _webView:requestUserMediaAuthorizationForMicrophone:camera:url:mainFrameURL:decisionHandler:] |
| decision handler should only have one parameter. |
| https://bugs.webkit.org/show_bug.cgi?id=171081 |
| |
| Reviewed by Tim Horton. |
| |
| Because user media authorization is all or nothing, we should not have separate booleans |
| to indicate authorization. Additionally, rather than passing two separate booleans to the |
| UIDelegate, we now pass an NS_OPTIONS parameter. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added _WKCaptureDevice NS_OPTIONS. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): Uses new WKUIDelegatePrivate method. |
| (WebKit::UIDelegate::UIClient::decidePolicyForUserMediaPermissionRequest): Ditto. |
| |
| 2017-04-21 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Unreviewed, added missing file to PlatformMac.cmake |
| |
| * PlatformMac.cmake: |
| |
| 2017-04-21 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Unreviewed follow-up for r215609 |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: Move internal header include too. |
| |
| 2017-04-21 Konstantin Tokarev <annulen@yandex.ru> |
| |
| Include iOS-specific headers inside preprocessor guard |
| https://bugs.webkit.org/show_bug.cgi?id=171104 |
| |
| Reviewed by Michael Catanzaro. |
| |
| This patch should fix Mac cmake build. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| |
| 2017-04-21 Alex Christensen <achristensen@webkit.org> |
| |
| Reduce copies and allocations in SharedBuffer::append |
| https://bugs.webkit.org/show_bug.cgi?id=170956 |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]): |
| * Platform/IPC/DataReference.cpp: |
| (IPC::SharedBufferDataReference::encode): |
| * Shared/ShareableResource.cpp: |
| (WebKit::ShareableResource::wrapInSharedBuffer): |
| * UIProcess/API/Cocoa/WKURLSchemeHandlerTask.mm: |
| (-[WKURLSchemeHandlerTaskImpl didReceiveData:]): |
| * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: |
| (-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]): |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (WebKit::PDFPlugin::addArchiveResource): |
| (WebKit::PDFPlugin::liveResourceData): |
| (WebKit::PDFPlugin::writeItemsToPasteboard): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::redeliverManualStream): |
| * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: |
| (WebKit::WebDragClient::declareAndWriteDragImage): |
| * WebProcess/WebPage/mac/WebPageMac.mm: |
| (WebKit::WebPage::cachedResponseDataForURL): |
| |
| 2017-04-20 Konstantin Tokarev <annulen@yandex.ru> |
| |
| [cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere |
| https://bugs.webkit.org/show_bug.cgi?id=171071 |
| |
| Reviewed by Michael Catanzaro. |
| |
| "${DERIVED_SOURCES_DIR}/ForwardingHeaders" path occurs very often in the |
| build system files. GTK-specifc FORWARDING_HEADERS_DIR variable should |
| be available for all ports. |
| |
| * CMakeLists.txt: |
| * PlatformMac.cmake: |
| |
| 2017-04-20 Brady Eidson <beidson@apple.com> |
| |
| WebContent process becomes unresponsive after returning nil from async version of -webView:createWebViewWithConfiguration:... |
| <rdar://problem/31739023> and https://bugs.webkit.org/show_bug.cgi?id=171090 |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::createNewPageCommon): Handle the perfectly valid "nil webView" case correctly. |
| |
| 2017-04-20 Dan Bernstein <mitz@apple.com> |
| |
| Disable header postprocessing when building for Sierra |
| |
| Absolutely rubber-stamped by Anders Carlsson. |
| |
| * Configurations/WebKit.xcconfig: |
| |
| 2017-04-20 Matt Rajca <mrajca@apple.com> |
| |
| Cocoa: add private API for suppressing first responder changes |
| https://bugs.webkit.org/show_bug.cgi?id=171069 |
| <rdar://problem/31658967> |
| |
| Reviewed by Tim Horton. |
| |
| Some clients may not want the web view to be programmatically made the first responder |
| and invoking -makeFirstResponder: unconditionally posts 'first responder did change' |
| notifications. |
| |
| Added API test. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setShouldSuppressFirstResponderChanges:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::setShouldSuppressFirstResponderChanges): |
| * UIProcess/PageClient.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::makeFirstResponder): |
| |
| 2017-04-20 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream iOS] Hold process assertion while media capture is active |
| https://bugs.webkit.org/show_bug.cgi?id=171017 |
| <rdar://problem/31719177> |
| |
| Reviewed by Dean Jackson. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::updateActivityState): Update IsCapturingMedia when necessary. |
| (WebKit::WebPageProxy::updateThrottleState): Hold a token when capture is active. |
| (WebKit::WebPageProxy::setMuted): Capture state may change when the page is muted, |
| so pass IsCapturingMedia to activityStateDidChange. |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): Ditto. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updateThrottleState): Don't allow page suppression when capture |
| is active. |
| |
| 2017-04-20 Anders Carlsson <andersca@apple.com> |
| |
| Fix build. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession): |
| |
| 2017-04-20 Brady Eidson <beidson@apple.com> |
| |
| Add CompletionHandlerCallChecker to SPI added in r215545. |
| https://bugs.webkit.org/show_bug.cgi?id=171067 |
| |
| Reviewed by Dan Bernstein. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::createNewPageCommon): |
| |
| 2017-04-20 Anders Carlsson <andersca@apple.com> |
| |
| Replace isFinalStateStatus with isFinalStateResult |
| https://bugs.webkit.org/show_bug.cgi?id=171072 |
| rdar://problem/31589635 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp: |
| (WebKit::WebPaymentCoordinatorProxy::completePaymentSession): |
| |
| 2017-04-20 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] -[WKContentView doAfterPositionInformationUpdate:atPosition:] should be robust against synchronous reentrancy |
| https://bugs.webkit.org/show_bug.cgi?id=170922 |
| <rdar://problem/31634990> |
| |
| Reviewed by Tim Horton. |
| |
| Refactors part of the asynchronous position information mechanism introduced in |
| <https://trac.webkit.org/changeset/215171>, and introduces infrastructure for unit testing UI-side position |
| information requests. |
| |
| _invokeAndRemovePendingHandlersValidForCurrentPositionInformation is a helper method on WKContentView |
| responsible for invoking queued position information handlers after receiving a position information response |
| from the web process. Previously, this method would iterate over the list of pending callbacks and invoke all |
| callbacks whose requests are satisfied by the incoming position information update, saving the indices of these |
| handled callbacks in the process. At the end, it would then remove callbacks at these indices from the array of |
| pending callbacks. This is problematic when a synchronous position update (via |
| ensurePositionInformationIsUpToDate:) is triggered from within one of these callbacks, since |
| _invokeAndRemovePendingHandlersValidForCurrentPositionInformation will be called from within itself, and then we |
| will attempt to remove a callback at the same index twice. |
| |
| To fix this, we change the array of pending position information handlers to be an array of optionals instead. |
| When invoking and removing pending handlers after a position information response arrives, we now mark callbacks |
| as handled by setting them to std::nullopt. Then, when the top-level invocation to |
| _invokeAndRemovePendingHandlersValidForCurrentPositionInformation is finished, we remove all marked handlers |
| from the pending vector. |
| |
| Covered by 6 new unit tests: |
| - PositionInformationTests.FindDraggableLinkAtPosition |
| - PositionInformationTests.RequestDraggableLinkAtPosition |
| - PositionInformationTests.FindDraggableLinkAtDifferentPositionWithinRequestBlock |
| - PositionInformationTests.FindDraggableLinkAtSamePositionWithinRequestBlock |
| - PositionInformationTests.RequestDraggableLinkAtSamePositionWithinRequestBlock |
| - PositionInformationTests.RequestDraggableLinkAtDifferentPositionWithinRequestBlock |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView draggableElementAtPosition:]): |
| (-[WKWebView requestDraggableElementAtPosition:completionBlock:]): |
| |
| Uses WKContentView's position information request helpers to search for draggable elements on the page. There |
| are both synchronous and asynchronous versions of this, both of which retrieve a _WKDraggableElementInfo. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/_WKDraggableElementInfo.h: Added. |
| * UIProcess/API/Cocoa/_WKDraggableElementInfo.mm: Added. |
| |
| Exposes what elements are draggable at a given position as SPI (only for use in testing code, at the moment). |
| |
| (-[_WKDraggableElementInfo initWithInteractionInformationAtPosition:]): |
| (-[_WKDraggableElementInfo copyWithZone:]): |
| * UIProcess/API/Cocoa/_WKDraggableElementInfoInternal.h: Added. |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView currentPositionInformation]): |
| (-[WKContentView doAfterPositionInformationUpdate:forRequest:]): |
| (-[WKContentView _invokeAndRemovePendingHandlersValidForCurrentPositionInformation]): |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-04-20 Anders Carlsson <andersca@apple.com> |
| |
| Fix a PassKit function declaration typo |
| https://bugs.webkit.org/show_bug.cgi?id=171068 |
| rdar://problem/31635008 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard): |
| |
| 2017-04-20 Jer Noble <jer.noble@apple.com> |
| |
| [MediaCapture] gUM() with CoreAudio fails if capturing audio in the UIProcess. |
| https://bugs.webkit.org/show_bug.cgi?id=171021 |
| |
| Reviewed by Eric Carlson. |
| |
| Pass a deviceID rather than a CaptureDevice across the process boundary. |
| |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::createMediaSourceForCaptureDeviceWithConstraints): |
| * WebProcess/cocoa/UserMediaCaptureManager.h: |
| |
| 2017-04-20 Alex Christensen <achristensen@webkit.org> |
| |
| Fix assertions in webProcessProxyFromConnection |
| https://bugs.webkit.org/show_bug.cgi?id=171025 |
| <rdar://problem/31184073> |
| |
| Reviewed by Brady Eidson. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::webProcessProxyFromConnection): |
| If we have a Connection, then we have a valid process attached to that connection, |
| unless it's a Connection to a different type of child process. |
| Calling ChildProcessProxy::connection on other web processes that are in State::Launching, |
| then we get an assertion. Luckily, ChildProcessProxy::hasConnection was introduced in r210861 |
| for this reason. |
| |
| 2017-04-20 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Allow iokit-get-properties for IOAudioControlValue |
| https://bugs.webkit.org/show_bug.cgi?id=171020 |
| <rdar://problem/30878974> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: Add missing property name. |
| |
| 2017-04-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove WebKitTestRunner code for enabling features that are already enabled by default |
| https://bugs.webkit.org/show_bug.cgi?id=171033 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| |
| 2017-04-19 Youenn Fablet <youenn@apple.com> |
| |
| [Mac] Allow customizing H264 encoder |
| https://bugs.webkit.org/show_bug.cgi?id=170829 |
| |
| Reviewed by Alex Christensen. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-04-19 Brady Eidson <beidson@apple.com> |
| |
| Add asynchronous equivalent of -[<WKUIDelegate> webView:createWebViewWithConfiguration:...]. |
| <rdar://problem/30699851> and https://bugs.webkit.org/show_bug.cgi?id=171018 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::createNewPageAsync): |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::setDelegate): |
| (WebKit::UIDelegate::UIClient::createNewPageCommon): |
| (WebKit::UIDelegate::UIClient::createNewPage): |
| (WebKit::UIDelegate::UIClient::createNewPageAsync): |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::createNewPage): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| |
| 2017-04-19 Anders Carlsson <andersca@apple.com> |
| |
| Stop using deprecated APIs, part 3 |
| https://bugs.webkit.org/show_bug.cgi?id=171003 |
| rdar://problem/31589635 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: |
| (IPC::ArgumentCoder<WebCore::ShippingMethodUpdate>::encode): |
| (IPC::ArgumentCoder<WebCore::ShippingMethodUpdate>::decode): |
| Don't encode/decode status. |
| |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp: |
| (WebKit::WebPaymentCoordinatorProxy::cancelPaymentSession): |
| Hide the UI and report back. |
| |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: |
| Add new member. |
| |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in: |
| Add new message. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection): |
| Always pass success in the old code path. Stop using the deprecated method. |
| |
| * WebProcess/ApplePay/WebPaymentCoordinator.cpp: |
| (WebKit::WebPaymentCoordinator::cancelPaymentSession): |
| Send a message to the UI process. |
| |
| * WebProcess/ApplePay/WebPaymentCoordinator.h: |
| Add new member. |
| |
| 2017-04-19 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Limit capture to one tab at a time |
| https://bugs.webkit.org/show_bug.cgi?id=171009 |
| |
| Reviewed by Jon Lee. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::stopCapture): Deleted, not used. |
| * UIProcess/UserMediaPermissionRequestManagerProxy.h: |
| |
| * UIProcess/UserMediaProcessManager.cpp: |
| (WebKit::UserMediaProcessManager::willEnableMediaStreamInPage): Mute media streams |
| on other pages. |
| (WebKit::UserMediaProcessManager::willCreateMediaStream): Call willEnableMediaStreamInPage. |
| * UIProcess/UserMediaProcessManager.h: |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::setMuted): If media streams in the page will be unmuted, call |
| willEnableMediaStreamInPage so streams in other pages are muted first. |
| |
| 2017-04-19 Brady Eidson <beidson@apple.com> |
| |
| REGRESSION (r213168): An extra Web Content process is spun up on launch and is never closed. |
| <rdar://problem/30774839> and https://bugs.webkit.org/show_bug.cgi?id=171002 |
| |
| Reviewed by Alex Christensen. |
| |
| The original change unnecessarily avoided using the initial warmed process if an explicit |
| data store was set on the new WKWebView. |
| |
| Fixing that fixes the regression. |
| |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _webProcessCount]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createWebPage): |
| |
| 2017-04-19 Anders Carlsson <andersca@apple.com> |
| |
| Rename cancelPayment to cancelPaymentSession |
| https://bugs.webkit.org/show_bug.cgi?id=171007 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp: |
| (WebKit::WebPaymentCoordinatorProxy::showPaymentUI): |
| (WebKit::WebPaymentCoordinatorProxy::didCancelPaymentSession): |
| (WebKit::WebPaymentCoordinatorProxy::didCancelPayment): Deleted. |
| * UIProcess/ApplePay/WebPaymentCoordinatorProxy.h: |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewControllerDidFinish:]): |
| * WebProcess/ApplePay/WebPaymentCoordinator.cpp: |
| (WebKit::WebPaymentCoordinator::didCancelPaymentSession): |
| (WebKit::WebPaymentCoordinator::didCancelPayment): Deleted. |
| * WebProcess/ApplePay/WebPaymentCoordinator.h: |
| * WebProcess/ApplePay/WebPaymentCoordinator.messages.in: |
| |
| 2017-04-19 David Kilzer <ddkilzer@apple.com> |
| |
| Stop using strcpy() in WebKit::EnvironmentUtilities::stripValuesEndingWithString() |
| <https://webkit.org/b/170994> |
| <rdar://problem/29889932> |
| |
| Reviewed by Brent Fulgham. |
| |
| * Platform/unix/EnvironmentUtilities.cpp: |
| (WebKit::EnvironmentUtilities::stripValuesEndingWithString): |
| Switch from using strcpy() to strlcpy(). Also switch from using |
| strstr() to strnstr(). |
| * Platform/unix/EnvironmentUtilities.h: Switch to #pragma once. |
| (WebKit::EnvironmentUtilities::stripValuesEndingWithString): |
| Export function for testing. |
| * WebKit2.xcodeproj/project.pbxproj: |
| (EnvironmentUtilitiesTest.h): Make header private for testing. |
| |
| 2017-04-19 Eric Carlson <eric.carlson@apple.com> |
| |
| Provide a way for clients to unmute a media stream. |
| https://bugs.webkit.org/show_bug.cgi?id=170855 |
| <rdar://problem/31656855> |
| |
| Unreviewed, fix a typo missed in the review of r215420. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setPageMuted:]): |
| |
| 2017-04-19 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] WebKitAutocleanups.h regression in v2.16.1 release |
| https://bugs.webkit.org/show_bug.cgi?id=170987 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/API/gtk/WebKitAutocleanups.h: Remove stray semicolon. |
| |
| 2017-04-18 Per Arne Vollan <pvollan@apple.com> |
| |
| Dragging a few items over MiniBrowser has 0 in the red indicator. |
| https://bugs.webkit.org/show_bug.cgi?id=170874 |
| |
| Reviewed by Tim Horton. |
| |
| When WebKit does not accept the drag items, the drag count badge should not be updated. |
| Also, if WebKit changes the drag count badge, it should be restored to its original |
| value when the drag exits. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::draggingEntered): |
| (WebKit::WebViewImpl::draggingUpdated): |
| (WebKit::WebViewImpl::draggingExited): |
| |
| 2017-04-18 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Add infrastructure and unit tests for file uploads using data interaction |
| https://bugs.webkit.org/show_bug.cgi?id=170903 |
| <rdar://problem/31314689> |
| |
| Reviewed by Tim Horton. |
| |
| See Tools/ChangeLog for more details. Makes a small adjustment to _simulateDataInteractionUpdated: to return a |
| BOOL indicating whether or not to allow the operation to proceed. This is necessary for testing scenarios where |
| multiple files are being "data interacted" onto an element. See <https://bugs.webkit.org/show_bug.cgi?id=170880> |
| for more details about the change this patch is testing. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _simulateDataInteractionUpdated:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/ios/WKContentViewInteraction.h: |
| |
| 2017-04-18 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Support DataTransfer::files() when performing a DHTML data interaction |
| https://bugs.webkit.org/show_bug.cgi?id=170880 |
| <rdar://problem/31314689> |
| |
| Reviewed by Tim Horton. |
| |
| See the WebCore ChangeLog for more details. |
| |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::getFilenamesForDataInteraction): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didPerformDragControllerAction): |
| (WebKit::WebPageProxy::resetCurrentDragInformation): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::documentIsHandlingNonDefaultDrag): |
| * UIProcess/WebPageProxy.messages.in: |
| |
| Adds an IPC argument to DidPerformDragControllerAction specifying whether the page prevented the default behavior. |
| |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| |
| Adds IPC plumbing for the new filenamesForDataInteraction Pasteboard codepath. |
| |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::getFilenamesForDataInteraction): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::performDragControllerAction): |
| |
| 2017-04-18 John Wilander <wilander@apple.com> |
| |
| Resource Load Statistics: Check both origins and cookieHostNames for domain matches in data removal |
| https://bugs.webkit.org/show_bug.cgi?id=170763 |
| <rdar://problem/31573091> |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores): |
| Move semantics for topPrivatelyControlledDomains vector. |
| (WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyOwnedDomainsInAllPersistentDataStores): Deleted. |
| Renamed 'PrivatelyControlled' instead of 'PrivatelyOwned.' |
| * UIProcess/WebProcessProxy.h: |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::removeDataRecords): |
| Move semantics for prevalentResourceDomains vector. |
| * UIProcess/WebsiteData/WebsiteDataRecord.cpp: |
| (WebKit::hostIsInDomain): |
| Static convenience function. |
| (WebKit::WebsiteDataRecord::matchesTopPrivatelyControlledDomain): |
| Checks for matching cookieHostNames if types contains WebsiteDataType::Cookies. |
| Also checks origins. |
| * UIProcess/WebsiteData/WebsiteDataRecord.h: |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains): |
| Now makes use of the new function |
| WebKit::WebsiteDataRecord::validForTopPrivatelyControlledDomain(). |
| (WebKit::WebsiteDataStore::removeDataForTopPrivatelyControlledDomains): |
| Move semantics for topPrivatelyControlledDomains vector. |
| (WebKit::WebsiteDataStore::fetchDataForTopPrivatelyOwnedDomains): Deleted. |
| Renamed 'PrivatelyControlled' instead of 'PrivatelyOwned.' |
| (WebKit::WebsiteDataStore::removeDataForTopPrivatelyOwnedDomains): Deleted. |
| Renamed 'PrivatelyControlled' instead of 'PrivatelyOwned.' |
| * UIProcess/WebsiteData/WebsiteDataStore.h: |
| |
| 2017-04-18 Brent Fulgham <bfulgham@apple.com> |
| |
| [iOS][WK2] Prevent ephemeral files from being backed up |
| https://bugs.webkit.org/show_bug.cgi?id=170963 |
| <rdar://problem/30470332> |
| |
| Reviewed by Brady Eidson. |
| |
| Tell the OS to skip temporary data files when performing backups. |
| |
| * UIProcess/Cocoa/WebResourceLoadStatisticsStoreCocoa.mm: Added. |
| (WebKit::WebResourceLoadStatisticsStore::platformExcludeFromBackup): Added. |
| * UIProcess/WebResourceLoadStatisticsStore.cpp: |
| (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk): |
| (WebKit::WebResourceLoadStatisticsStore::platformExcludeFromBackup): Add stub for |
| non-iOS platforms. |
| * UIProcess/WebResourceLoadStatisticsStore.h: |
| * WebKit2.xcodeproj/project.pbxproj: Add new file. |
| |
| 2017-04-18 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Cannot select text on nytimes.com when the selection granularity is WKSelectionGranularityCharacter |
| https://bugs.webkit.org/show_bug.cgi?id=170968 |
| <rdar://problem/31692560> |
| |
| Reviewed by Dan Bernstein. |
| |
| Makes a small adjustment to textInteractionGesture:shouldBeginAtPoint:. When determining whether to allow the |
| text interaction assistant to recognize at a given point, instead of depending on whether or not the hit node is |
| the same as the assisted node, only enforce this restriction when editing an assisted node. Otherwise, default |
| to allowing the selection gesture. |
| |
| Note that character granularity selection was working on most pages before, due to the fact that |
| nodeAtPositionIsAssistedNode was true in many cases when there is no assisted node at all. This is because, in |
| WebPage.mm, we compute the hit-tested node responding to click events to be null, and then set |
| nodeAtPositionIsAssistedNode to be equal to hitNode == m_assistedNode, which ends up being true because both of |
| these values are null. |
| |
| This allowed text selection to work in the simple case when selection granularity character is used, but not |
| when the node containing the selected point actually does respond to click events, since the comparison returns |
| false. |
| |
| New layout test: LayoutTests/editing/selection/character-granularity-select-text-with-click-handler.html. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): |
| |
| 2017-04-18 Keith Rollin <krollin@apple.com> |
| |
| Add additional information when logging URL disposition in WebLoaderStrategy::scheduleLoad |
| https://bugs.webkit.org/show_bug.cgi?id=170813 |
| |
| Reviewed by Alex Christensen. |
| |
| There are a few logging statements in WebLoaderStrategy::scheduleLoad |
| that report, for example, "URL will be loaded as data". These |
| statements also log the address of the frame doing the loading and the |
| identifier of the resource. For consistency with other logging and to |
| make scripted analysis of the logs more robust, also include the |
| pageID and frameID in the logging. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::scheduleLoad): |
| |
| 2017-04-18 Anders Carlsson <andersca@apple.com> |
| |
| Stop using deprecated APIs, part 2 |
| https://bugs.webkit.org/show_bug.cgi?id=170965 |
| |
| Reviewed by Tim Horton. |
| |
| * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: |
| (IPC::ArgumentCoder<WebCore::ShippingContactUpdate>::encode): |
| (IPC::ArgumentCoder<WebCore::ShippingContactUpdate>::decode): |
| Remove the status member variable. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::status): |
| New function to be used by older OSes. This will recreate a PKPaymentAuthorizationStatus given a ShippingContactUpdate. |
| |
| (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection): |
| Stop using the deprecated API. |
| |
| 2017-04-18 Timothy Horton <timothy_horton@apple.com> |
| |
| Force scroll view insets to be respected regardless of rubber-banding state |
| https://bugs.webkit.org/show_bug.cgi?id=170937 |
| <rdar://problem/31412788> |
| |
| Reviewed by Simon Fraser. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| |
| 2017-04-18 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GLIB] Define priorities also for async network IO tasks |
| https://bugs.webkit.org/show_bug.cgi?id=170905 |
| |
| Reviewed by Žan Doberšek. |
| |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: |
| (WebKit::NetworkCache::inputStreamReadReadyCallback): |
| (WebKit::NetworkCache::IOChannel::read): |
| (WebKit::NetworkCache::outputStreamWriteReadyCallback): |
| (WebKit::NetworkCache::IOChannel::write): |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| (WebKit::NetworkDataTaskSoup::skipInputStreamForRedirection): |
| (WebKit::NetworkDataTaskSoup::read): |
| (WebKit::NetworkDataTaskSoup::requestNextPart): |
| (WebKit::NetworkDataTaskSoup::writeDownload): |
| (WebKit::NetworkDataTaskSoup::didFinishDownload): |
| * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: |
| (webkitURISchemeRequestReadCallback): |
| (webkit_uri_scheme_request_finish): |
| |
| 2017-04-17 Timothy Horton <timothy_horton@apple.com> |
| |
| Plumb all four obscured insets to WebCore, instead of just top/left |
| https://bugs.webkit.org/show_bug.cgi?id=170913 |
| |
| Reviewed by Wenson Hsieh. |
| |
| * Shared/VisibleContentRectUpdateInfo.cpp: |
| (WebKit::VisibleContentRectUpdateInfo::encode): |
| (WebKit::VisibleContentRectUpdateInfo::decode): |
| (WebKit::operator<<): |
| * Shared/VisibleContentRectUpdateInfo.h: |
| (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo): |
| (WebKit::VisibleContentRectUpdateInfo::obscuredInsets): |
| (WebKit::operator==): |
| (WebKit::VisibleContentRectUpdateInfo::obscuredInset): Deleted. |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<FloatRectInsets>::encode): |
| (IPC::ArgumentCoder<FloatRectInsets>::decode): |
| * Shared/WebCoreArgumentCoders.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _didCommitLayerTree:]): |
| (-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]): |
| (-[WKWebView _updateVisibleContentRects]): |
| * UIProcess/API/Cocoa/WKWebViewInternal.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::restorePageState): |
| * UIProcess/ios/WKContentView.h: |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInsets:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): |
| (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:inputViewBounds:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollableAncestorView:]): Deleted. |
| * UIProcess/ios/WebPageProxyIOS.mm: |
| (WebKit::WebPageProxy::restorePageState): |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::restorePageState): |
| (WebKit::WebPage::updateVisibleContentRects): |
| Adopt FloatBoxExtent for obscuredInsets (and adjust pluralization). |
| |
| 2017-04-17 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Doesn't show size of compressed content correctly |
| https://bugs.webkit.org/show_bug.cgi?id=155112 |
| <rdar://problem/25006728> |
| |
| Reviewed by Alex Christensen and Timothy Hatcher. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::sendResultForCacheEntry): |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]): |
| Include size information in network load metrics. |
| |
| 2017-04-17 Youenn Fablet <youenn@apple.com> |
| |
| com.apple.WebKit.Networking.Development crashed in com.apple.WebKit: WebKit::NetworkRTCProvider::resolvedName |
| https://bugs.webkit.org/show_bug.cgi?id=170889 |
| |
| Reviewed by Alex Christensen. |
| |
| * NetworkProcess/webrtc/NetworkRTCProvider.cpp: |
| (WebKit::NetworkRTCProvider::Resolver::~Resolver): Unschedule the host resolution in addition to cancelling it. |
| Providing a test would need to stop the resolver between the time the resolver is created and gets |
| data in the network process. Or we would need to change Resolver to be instantiated/tested on its own. |
| * NetworkProcess/webrtc/NetworkRTCProvider.h: |
| |
| 2017-04-17 Brady Eidson <beidson@apple.com> |
| |
| Make WKHTTPCookieStore public. |
| <rdar://problem/31024691> and https://bugs.webkit.org/show_bug.cgi?id=170920 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UIProcess/API/Cocoa/WKHTTPCookieStore.h: |
| * UIProcess/API/Cocoa/WKHTTPCookieStore.mm: |
| (-[WKHTTPCookieStore getAllCookies:]): |
| (-[WKHTTPCookieStore allCookies:]): Deleted. |
| |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.h: |
| * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: |
| (-[WKWebsiteDataStore httpCookieStore]): |
| (-[WKWebsiteDataStore _httpCookieStore]): Deleted. |
| * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-04-17 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Fix typo in UIDelegate::mediaCaptureStateDidChange |
| https://bugs.webkit.org/show_bug.cgi?id=170911 |
| |
| Reviewed by Youenn Fablet. |
| |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::mediaCaptureStateDidChange): Fix typo. |
| |
| 2017-04-17 Keith Rollin <krollin@apple.com> |
| |
| Move and update WebLoaderStrategy logging statement |
| https://bugs.webkit.org/show_bug.cgi?id=170140 |
| |
| Reviewed by Alex Christensen. |
| |
| WebLoaderStrategy::scheduleLoad has a logging statement that says, in |
| part: "Resource has been queued for scheduling with the |
| NetworkProcess". This statement is emitted after the |
| ScheduleResourceLoad message has been successfully sent to the |
| NetworkProcess. The logging statement was added at this location to |
| indicate that the resource-load had been successfully handed off; it |
| pairs a similar logging statement that is emitted if the sending of |
| the ScheduleResourceLoad message fails. |
| |
| I think it would be better to move this logging statement before the |
| ScheduleResourceLoad message is sent to the NetworkProcess (and change |
| its wording to "Resource is being scheduled with the NetworkProcess"). |
| The reason for this change is to help make sure that the sequence of |
| logging statements is more deterministic. In the current form, the |
| message "Resource has been queued for scheduling with the |
| NetworkProcess" normally appears before any NetworkProcess logging |
| statements that indicate that the resource-loading is continuing |
| there, but in rare occasions the logging statements can be reversed. |
| This change in the ordering of the statements has caused a problem in |
| a script I've written that examines the resource-loading process and |
| looks for errors. By ensuring that the WebLoaderStrategy statement |
| always appears before the NetworkResourceLoader statement, the flow |
| makes better sense and the script can be more robust. |
| |
| In making this change, we are probably not giving up any assurance |
| that the ScheduleResourceLoad message has been sent to the |
| NetworkResourceLoader. If the message is successfully sent, we'll see |
| logging in the NetworkProcess. If the message has not been sent, we'll |
| see WebLoaderStrategy logging an error. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::scheduleLoad): |
| |
| 2017-04-17 Anders Carlsson <andersca@apple.com> |
| |
| Stop using deprecated APIs, part 1 |
| https://bugs.webkit.org/show_bug.cgi?id=170915 |
| rdar://problem/31589635 |
| |
| Reviewed by Tim Horton. |
| |
| Stop using the PKPaymentRequestPaymentMethodUpdate initializer that takes a status, it's been deprecated |
| and we always passed PKPaymentAuthorizationStatusSuccess anyway. |
| |
| * Shared/Cocoa/WebCoreArgumentCodersCocoa.mm: |
| (IPC::ArgumentCoder<WebCore::PaymentMethodUpdate>::encode): |
| (IPC::ArgumentCoder<WebCore::PaymentMethodUpdate>::decode): |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection): |
| |
| 2017-04-17 Youenn Fablet <youenn@apple.com> |
| |
| Disable outdated WritableStream API |
| https://bugs.webkit.org/show_bug.cgi?id=170749 |
| <rdar://problem/31446233> |
| |
| Reviewed by Alex Christensen. |
| |
| Replacing READABLE_STREAM_API, READABLE_BYTE_STREAM_API and WRITABLE_STREAM_API compilation flag by: |
| - A STREAMS_API compilation flag. |
| - A ReadableByteStreamAPI and WritableStreamAPI runtime flags, turned off except for RWT and DRT. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebProcess/InjectedBundle/InjectedBundle.cpp: |
| (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): |
| |
| 2017-04-17 Tim Horton <timothy_horton@apple.com> |
| |
| Provide a viewport parameter to disable clipping to the safe area |
| https://bugs.webkit.org/show_bug.cgi?id=170766 |
| <rdar://problem/31564634> |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::resetState): |
| (WebKit::WebPageProxy::setClipToSafeArea): |
| * UIProcess/WebPageProxy.h: |
| (WebKit::WebPageProxy::clipToSafeArea): |
| * UIProcess/WebPageProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::didChangeClipToSafeArea): |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * UIProcess/API/gtk/PageClientImpl.h: |
| * UIProcess/PageClient.h: |
| * UIProcess/ios/PageClientImplIOS.h: |
| * UIProcess/ios/PageClientImplIOS.mm: |
| (WebKit::PageClientImpl::didChangeClipToSafeArea): |
| * UIProcess/mac/PageClientImpl.h: |
| Forward clip-to-safe-area changes from ChromeClient to WKWebView. |
| Update visible content rects when it changes, which will |
| result in a call to updateFixedClippingView, as below. |
| Keep track of the current state in the UI process. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _contentMayDrawInObscuredInsets]): |
| Expose the current state of the clip-to-safe-area bit as SPI. |
| |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView updateFixedClippingView:]): |
| Disable fixed clipping when clip-to-safe-area is disabled. |
| |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::viewportConfigurationChanged): |
| Push the viewport's clip-to-safe-area bit onto the main frame's FrameView. |
| |
| 2017-04-17 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Move isNullFunctionPointer down into WTF |
| https://bugs.webkit.org/show_bug.cgi?id=170892 |
| |
| Reviewed by Sam Weinig. |
| |
| * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp: |
| (WebKit::ResourceLoadStatisticsClassifierCocoa::canUseCorePrediction): Changed to use |
| WTF::isNullFunctionPointer. |
| (WebKit::isNullFunctionPointer): Deleted. |
| |
| 2017-04-17 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Respect a new internal setting for defaulting to character selection granularity |
| https://bugs.webkit.org/show_bug.cgi?id=170904 |
| <rdar://problem/31364280> |
| |
| Reviewed by Dan Bernstein. |
| |
| Respect a new WebKitDebugDefaultSelectionGranularityCharacter user default by initializing |
| WKWebViewConfiguration with WKSelectionGranularityCharacter, but only when linked on or after the first iOS to |
| use WKSelectionGranularityCharacter by default. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| * UIProcess/Cocoa/VersionChecks.h: |
| |
| 2017-04-17 Eric Carlson <eric.carlson@apple.com> |
| |
| Provide a way for clients to unmute a media stream. |
| https://bugs.webkit.org/show_bug.cgi?id=170855 |
| <rdar://problem/31656855> |
| |
| Reviewed by Jon Lee. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _setPageMuted:]): New. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2017-04-17 Jeremy Jones <jeremyj@apple.com> |
| |
| Refactor enumerateDevices to allow separate CaptureDeviceManagers for audio and video. |
| https://bugs.webkit.org/show_bug.cgi?id=170778 |
| |
| Reviewed by Tim Horton. |
| |
| setUseAVFoundationAudioCapture is moved from AVCaptureDeviceManager to RealtimeMediaSourceCenterMac. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs): |
| |
| 2017-04-15 Keith Rollin <krollin@apple.com> |
| |
| Include resource size in some existing logging |
| https://bugs.webkit.org/show_bug.cgi?id=170866 |
| |
| Reviewed by Alex Christensen. |
| |
| In order to correlate resource load times with resource size, we log |
| when the resource is starting to be loaded and when the resource is |
| finished loading. In NetworkResourceLoader::didReceiveResponse, we |
| also log the expected resource length. However, we can only log the |
| length if it is provided in Content-Length, which is not always the |
| case. If it's not provided, we end up logging "length = -1". To make |
| up for this, change NetworkResourceLoader::didFinishLoading and |
| WebResourceLoader:: didFinishLoading to log the length once we know |
| it. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::didReceiveBuffer): |
| (WebKit::NetworkResourceLoader::didFinishLoading): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * WebProcess/Network/WebResourceLoader.cpp: |
| (WebKit::WebResourceLoader::didReceiveData): |
| (WebKit::WebResourceLoader::didFinishResourceLoad): |
| * WebProcess/Network/WebResourceLoader.h: |
| |
| 2017-04-15 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Support data interaction of files into file inputs |
| https://bugs.webkit.org/show_bug.cgi?id=170803 |
| <rdar://problem/31286130> |
| |
| Reviewed by Tim Horton. |
| |
| Implements remaining support for performing data interaction onto file inputs. There are two main changes at |
| this layer: plumbing the number of files in the pasteboard to the web process, and pulling the implementation of |
| createSandboxExtensionsIfNeeded out of Mac-specific WebViewImpl::createSandboxExtensionsIfNeeded and into |
| WebPageProxy::createSandboxExtensionsIfNeeded. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<DragData>::encode): |
| (IPC::ArgumentCoder<DragData>::decode): |
| |
| Relax special-casing of encoding and decoding filenames to be PLATFORM(COCOA) rather than PLATFORM(MAC). |
| |
| * UIProcess/Cocoa/WebPageProxyCocoa.mm: |
| (WebKit::WebPageProxy::createSandboxExtensionsIfNeeded): |
| * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: |
| (WebKit::WebPasteboardProxy::getNumberOfFiles): |
| |
| More boilerplate plumbing to deliver the number of files in the pasteboard to the web process. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::performDragOperation): |
| (WebKit::WebViewImpl::createSandboxExtensionsIfNeeded): Deleted. |
| |
| Move the logic in WebViewImpl::createSandboxExtensionsIfNeeded over to WebPageProxy::createSandboxExtensionsIfNeeded. |
| |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPasteboardProxy.h: |
| * UIProcess/WebPasteboardProxy.messages.in: |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::getNumberOfFiles): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.h: |
| |
| 2017-04-14 Mark Lam <mark.lam@apple.com> |
| |
| Update architectures in xcconfig files. |
| https://bugs.webkit.org/show_bug.cgi?id=170867 |
| <rdar://problem/31628104> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-04-14 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Support Icon creation from file URLs on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=170809 |
| <rdar://problem/31286130> |
| |
| Reviewed by Tim Horton. |
| |
| Refactors file icon generation logic to support showing an Icon representing the content at a list of file paths |
| on iOS. Pulls out logic in WKFileUploadPanel responsible for generating the thumbnail image for a file input into |
| separate helpers in WebIconUtilities, and then uses these utilities in both WKFileUploadPanel and |
| WebChromeClientIOS. |
| |
| * Shared/ios/WebIconUtilities.h: Added. |
| * Shared/ios/WebIconUtilities.mm: Added. |
| (WebKit::squareCropRectForSize): |
| (WebKit::squareImage): |
| (WebKit::thumbnailSizedImageForImage): |
| (WebKit::fallbackIconForFile): |
| (WebKit::iconForImageFile): |
| (WebKit::iconForVideoFile): |
| (WebKit::iconForFile): |
| |
| Add logic for generating thumbnail icons, moved from WKFileUploadPanel.mm. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (squareCropRectForSize): Deleted. |
| (squareImage): Deleted. |
| (thumbnailSizedImageForImage): Deleted. |
| (fallbackIconForFile): Deleted. |
| (iconForImageFile): Deleted. |
| (iconForVideoFile): Deleted. |
| (iconForFile): Deleted. |
| |
| Remove logic for generating thumbnail icons. |
| |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebChromeClient.cpp: |
| (WebKit::WebChromeClient::loadIconForFiles): |
| (WebKit::WebChromeClient::createIconForFiles): |
| |
| Rather than call Icon::createIconForFiles directly, loadIconForFiles now consults ChromeClient::createIconForFiles |
| instead. On other platforms, this just turns around and calls Icon::createIconForFiles, but on iOS, we use the |
| utilities introduced in WebIconUtilities to generate a file icon. |
| |
| * WebProcess/WebCoreSupport/WebChromeClient.h: |
| * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: |
| (WebKit::WebChromeClient::createIconForFiles): |
| |
| 2017-04-14 Brady Eidson <beidson@apple.com> |
| |
| Fix basic WKURLSchemeHandler bugs. |
| <rdar://problem/30647559> and https://bugs.webkit.org/show_bug.cgi?id=170862 |
| |
| Reviewed by Andy Estes. |
| |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction): |
| |
| * UIProcess/WebURLSchemeHandlerTask.cpp: |
| (WebKit::WebURLSchemeHandlerTask::didReceiveResponse): |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::addURLSchemeHandlerTaskProxy): |
| (WebKit::WebLoaderStrategy::removeURLSchemeHandlerTaskProxy): |
| (WebKit::WebLoaderStrategy::remove): |
| * WebProcess/Network/WebLoaderStrategy.h: |
| |
| * WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp: |
| (WebKit::WebURLSchemeHandlerProxy::startNewTask): |
| (WebKit::WebURLSchemeHandlerProxy::taskDidComplete): |
| (WebKit::WebURLSchemeHandlerProxy::taskDidStopLoading): |
| * WebProcess/WebPage/WebURLSchemeHandlerProxy.h: |
| |
| * WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.cpp: |
| (WebKit::WebURLSchemeHandlerTaskProxy::WebURLSchemeHandlerTaskProxy): |
| (WebKit::WebURLSchemeHandlerTaskProxy::stopLoading): |
| (WebKit::WebURLSchemeHandlerTaskProxy::didReceiveResponse): |
| (WebKit::WebURLSchemeHandlerTaskProxy::didReceiveData): |
| (WebKit::WebURLSchemeHandlerTaskProxy::didComplete): |
| (WebKit::WebURLSchemeHandlerTaskProxy::hasLoader): |
| * WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.h: |
| (WebKit::WebURLSchemeHandlerTaskProxy::identifier): |
| |
| 2017-04-14 Jer Noble <jer.noble@apple.com> |
| |
| [MediaSource] Push capabilities across process boundary during UIProcess capture. |
| https://bugs.webkit.org/show_bug.cgi?id=170814 |
| |
| Reviewed by Eric Carlson. |
| |
| Make a new synchronous getter for capabilities(), moderated by only requesting the capabilities() cross-process |
| the first time called. |
| |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::capabilities): |
| (WebKit::UserMediaCaptureManagerProxy::supportedConstraints): |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in: |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::Source::setCapabilities): |
| (WebKit::UserMediaCaptureManager::capabilities): |
| * WebProcess/cocoa/UserMediaCaptureManager.h: |
| |
| 2017-04-13 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] Allow clients to specify in _WKProcessPoolConfiguration additional directory sandbox extensions |
| https://bugs.webkit.org/show_bug.cgi?id=170387 |
| |
| Reviewed by Sam Weinig. |
| |
| Test: TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm |
| |
| Added an additionalReadAccessAllowedURLs property to _WKProcessPoolConfiguration. |
| |
| * Shared/WebProcessCreationParameters.cpp: |
| (WebKit::WebProcessCreationParameters::encode): Encode the new |
| additionalSandboxExtensionHandles member. |
| (WebKit::WebProcessCreationParameters::decode): Decode it. |
| * Shared/WebProcessCreationParameters.h: Added additionalSandboxExtensionHandles member. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): Copy new m_additionalReadAccessAllowedPaths member. |
| * UIProcess/API/APIProcessPoolConfiguration.h: Added m_additionalReadAccessAllowedPaths |
| member and accessor functions. |
| |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: Declared new |
| additionalReadAccessAllowedURLs property whose value is an array of URLs to which the Web |
| Content process will be given read access. |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration additionalReadAccessAllowedURLs]): New getter that returns |
| an array of file URLs from the ProcessPoolConfiguration’s additionalReadAccessAllowedPaths(). |
| (-[_WKProcessPoolConfiguration setAdditionalReadAccessAllowedURLs:]): New setter that checks |
| that the given URLs are file URLs and populates the ProcessPoolConfiguration’s |
| additionalReadAccessAllowedPaths with their paths. |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::resolvePathsForSandboxExtensions): Populate the new |
| m_resolvedPaths.additionalWebProcessSandboxExtensionPaths with resolved paths from the |
| ProcessPoolConfiguration’s additionalReadAccessAllowedPaths. |
| (WebKit::WebProcessPool::createNewWebProcess): Populate the WebProcessCreationParameters’s |
| additionalSandboxExtensionHandles member with read-only sandbox extensions created from |
| the resolved paths. |
| * UIProcess/WebProcessPool.h: Added additionalWebProcessSandboxExtensionPaths member to |
| the Paths struct. |
| |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): Consume the additional sandbox extensions. |
| |
| 2017-04-13 Alex Christensen <achristensen@webkit.org> |
| |
| Fix CMake build |
| https://bugs.webkit.org/show_bug.cgi?id=170815 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration _setShouldCaptureAudioInUIProcess:]): |
| |
| 2017-04-12 Dan Bernstein <mitz@apple.com> |
| |
| [Mac] Future-proof .xcconfig files |
| https://bugs.webkit.org/show_bug.cgi?id=170802 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/Base.xcconfig: |
| * Configurations/DebugRelease.xcconfig: |
| * Configurations/FeatureDefines.xcconfig: |
| * Configurations/Version.xcconfig: |
| |
| 2017-04-12 Brady Eidson <beidson@apple.com> |
| |
| QuotaExceededError when saving to localStorage in private mode. |
| https://bugs.webkit.org/show_bug.cgi?id=157010 |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/Storage/StorageAreaMap.cpp: |
| (WebKit::StorageAreaMap::StorageAreaMap): |
| (WebKit::StorageAreaMap::~StorageAreaMap): |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::createEphemeralLocalStorageNamespace): |
| (WebKit::StorageNamespaceImpl::storageArea): |
| (WebKit::StorageNamespaceImpl::ephemeralLocalStorageArea): |
| (WebKit::StorageNamespaceImpl::copy): |
| * WebProcess/Storage/StorageNamespaceImpl.h: |
| |
| * WebProcess/Storage/WebStorageNamespaceProvider.cpp: |
| (WebKit::WebStorageNamespaceProvider::createEphemeralLocalStorageNamespace): |
| * WebProcess/Storage/WebStorageNamespaceProvider.h: |
| |
| 2017-04-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, fix build failure on Ubuntu LTS GTK bot |
| https://bugs.webkit.org/show_bug.cgi?id=170781 |
| |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| |
| 2017-04-12 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] rename -[WKWebView _stopMediaCapture] |
| https://bugs.webkit.org/show_bug.cgi?id=170791 |
| <rdar://problem/31589204> |
| |
| Reviewed by Youenn Fablet. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _muteMediaCapture]): |
| (-[WKWebView _stopMediaCapture]): Deleted. |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2017-04-12 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed build fix. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): |
| (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): |
| (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection): |
| (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection): |
| (WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection): |
| |
| 2017-04-12 Jer Noble <jer.noble@apple.com> |
| |
| [WK2] Add a C-API for creating a WKContextConfigurationRef with legacy options. |
| https://bugs.webkit.org/show_bug.cgi?id=170790 |
| |
| Reviewed by Alex Christensen. |
| |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| (WKContextConfigurationCreate): |
| (WKContextConfigurationCreateWithLegacyOptions): |
| * UIProcess/API/C/WKContextConfigurationRef.h: |
| |
| 2017-04-12 Jer Noble <jer.noble@apple.com> |
| |
| [WK2] Do not pass microphone sandbox extension to WebProcess if capturing is happening in UIProcess. |
| https://bugs.webkit.org/show_bug.cgi?id=170781 |
| |
| Reviewed by Alex Christensen. |
| |
| Simultaneously, allow clients to configure whether capturing will occur in the UIProcess through |
| _WKProcessPoolConfiguration. |
| |
| * UIProcess/API/APIProcessPoolConfiguration.cpp: |
| (API::ProcessPoolConfiguration::copy): |
| * UIProcess/API/APIProcessPoolConfiguration.h: |
| * UIProcess/API/C/WKContextConfigurationRef.cpp: |
| (WKContextConfigurationShouldCaptureAudioInUIProcess): |
| (WKContextConfigurationSetShouldCaptureAudioInUIProcess): |
| * UIProcess/API/C/WKContextConfigurationRef.h: |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration copyWithZone:]): |
| (-[WKWebViewConfiguration _shouldCaptureAudioInUIProcess]): |
| (-[WKWebViewConfiguration _setShouldCaptureAudioInUIProcess:]): |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: |
| * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: |
| (-[_WKProcessPoolConfiguration shouldCaptureAudioInUIProcess]): |
| (-[_WKProcessPoolConfiguration setShouldCaptureAudioInUIProcess:]): |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeWebProcess): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| |
| 2017-04-12 Keith Rollin <krollin@apple.com> |
| |
| Add some missing NetworkResourceLoader logging |
| https://bugs.webkit.org/show_bug.cgi?id=170139 |
| |
| Reviewed by Alex Christensen. |
| |
| Once execution enters the lambda in |
| NetworkResourceLoader::retrieveCacheEntry, there is little indication |
| of which exit point was taken. If flow enters into startNetworkLoad, |
| we'll get some logging from that function, but not from the others. |
| Add some logging so that we know what the result was from looking up |
| the resource in the cache. |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::retrieveCacheEntry): |
| |
| 2017-04-12 Anders Carlsson <andersca@apple.com> |
| |
| Tweak WebCore::setMetadataURL function |
| https://bugs.webkit.org/show_bug.cgi?id=170786 |
| |
| Reviewed by Beth Dakin. |
| |
| Update for WebCore changes. |
| |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination): |
| |
| 2017-04-12 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][Mac] Stop allowing access to disk arbitration process |
| https://bugs.webkit.org/show_bug.cgi?id=170517 |
| <rdar://problem/31071151> |
| |
| Reviewed by Alex Christensen. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| |
| 2017-04-12 Beth Dakin <bdakin@apple.com> |
| |
| 32-bit build fix. |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _mediaPlaybackControlsView]): |
| |
| 2017-04-12 Beth Dakin <bdakin@apple.com> |
| |
| More 32-bit build fix. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _mediaPlaybackControlsView]): |
| (-[WKWebView _addMediaPlaybackControlsView:]): |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _mediaPlaybackControlsView]): |
| (-[WKView _addMediaPlaybackControlsView:]): |
| |
| 2017-04-12 Beth Dakin <bdakin@apple.com> |
| |
| Another 32 bit build fix. |
| |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::mediaPlaybackControlsView): |
| |
| 2017-04-12 Alex Christensen <achristensen@webkit.org> |
| |
| Stop using didReceiveDataArray callback on El Capitan |
| https://bugs.webkit.org/show_bug.cgi?id=170780 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::supportsDataArray): Deleted. |
| (WebKit::NetworkLoad::didReceiveDataArray): Deleted. |
| * NetworkProcess/NetworkLoad.h: |
| |
| 2017-04-12 Beth Dakin <bdakin@apple.com> |
| |
| Speculative build fix. |
| |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| |
| 2017-04-12 Beth Dakin <bdakin@apple.com> |
| |
| Attempted build fix. |
| |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| |
| 2017-04-12 Beth Dakin <bdakin@apple.com> |
| |
| Adopt AVKit name change from AVFunctionBar* to AVTouchBar* |
| https://bugs.webkit.org/show_bug.cgi?id=170693 |
| -and corresponding- |
| rdar://problem/31230018 |
| |
| Reviewed by Sam Weinig. |
| |
| Since the new names only apply to some versions of macOS, this patch uses typedefs |
| for the older OS’s. SO: |
| |
| AVFunctionBarScrubber is now AVTouchBarScrubber |
| |
| AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider |
| |
| AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption |
| |
| And the protocol AVFunctionBarPlaybackControlsControlling is now |
| AVTouchBarPlaybackControlsControlling |
| |
| Use the new name. |
| * UIProcess/API/Cocoa/WKViewPrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _mediaPlaybackControlsView]): |
| (-[WKWebView _addMediaPlaybackControlsView:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _mediaPlaybackControlsView]): |
| (-[WKView _addMediaPlaybackControlsView:]): |
| * UIProcess/Cocoa/WebViewImpl.h: |
| |
| Soft links and allocations cannot use the typedefs. |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::mediaPlaybackControlsView): |
| (WebKit::WebViewImpl::updateMediaTouchBar): |
| |
| 2017-04-12 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Audio source in UI process not identified as capture source |
| https://bugs.webkit.org/show_bug.cgi?id=170776 |
| |
| Reviewed by Youenn Fablet. |
| |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: Override isCaptureSource. |
| |
| 2017-04-12 Andrew Gold <agold@apple.com> |
| |
| Allow iOS to toggle webRTCAPI legacy flag. |
| https://bugs.webkit.org/show_bug.cgi?id=170735 |
| |
| Reviewed by Eric Carlson. |
| |
| * UIProcess/API/Cocoa/WKPreferences.mm: |
| (-[WKPreferences _webRTCLegacyAPIEnabled]): |
| (-[WKPreferences _setWebRTCLegacyAPIEnabled:]): |
| * UIProcess/API/Cocoa/WKPreferencesPrivate.h: |
| |
| 2017-04-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, build fix for GTK port after r215262 |
| https://bugs.webkit.org/show_bug.cgi?id=170758 |
| |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| (WebKit::NetworkDataTaskSoup::didRead): |
| |
| 2017-04-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WTF] Introduce Thread class and use RefPtr<Thread> and align Windows Threading implementation semantics to Pthread one |
| https://bugs.webkit.org/show_bug.cgi?id=170502 |
| |
| Reviewed by Mark Lam. |
| |
| Mechanical change. Use Thread:: APIs. |
| |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::initializeNetworkProcess): |
| * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp: |
| (WebKit::NetworkCache::IOChannel::readSyncInThread): |
| * Platform/IPC/Connection.cpp: |
| (IPC::Connection::processIncomingMessage): |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: |
| (WebKit::XPCServiceInitializer): |
| * UIProcess/linux/MemoryPressureMonitor.cpp: |
| (WebKit::MemoryPressureMonitor::MemoryPressureMonitor): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::initializeWebProcess): |
| |
| 2017-04-10 Antti Koivisto <antti@apple.com> |
| |
| Cache small media resources in disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=170676 |
| <rdar://problem/31532649> |
| |
| Reviewed by Andreas Kling. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::makeRetrieveDecision): |
| |
| Allow retrieving media resources. |
| |
| (WebKit::NetworkCache::expectedTotalResourceSizeFromContentRange): |
| (WebKit::NetworkCache::expectedTotalResourceSize): |
| (WebKit::NetworkCache::makeStoreDecision): |
| |
| Store media resource if we can figure out its total size and it is less than 5MB |
| (and it is cacheable by the usual rules). |
| |
| 2017-04-12 Alex Christensen <achristensen@webkit.org> |
| |
| Modernize vector adoption |
| https://bugs.webkit.org/show_bug.cgi?id=170758 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * NetworkProcess/capture/NetworkCaptureEvent.cpp: |
| (WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::decode): |
| * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: |
| (WebKit::WebPlatformStrategies::bufferForType): |
| |
| 2017-04-12 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed GTK+ debug build fix. Drop an unused debug-only member |
| variable in the CompositingRunLoop class. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h: |
| |
| 2017-04-11 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GTK] Use the DisplayRefreshMonitor facilities |
| https://bugs.webkit.org/show_bug.cgi?id=170599 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| ThreadedCompositor gains a DisplayRefreshMonitor member that it can use |
| to better coordinate display refresh callbacks on the main thread. Still, |
| because currently the GTK+ port doesn't have a reliable way of notifying |
| the ThreadedCompositor of a vsync event, a timer targeting 60FPS is used |
| in order to keep the updates at a reasonable rate. When the timer is fired, |
| the ThreadedCompositor decides how to proceed based on state changes that |
| might have occurred during composition or whether there's any display |
| refresh callbacks that require handling on the main thread. |
| |
| CompositingRunLoop now stores its state in an atomic variable that's then |
| inspected whenever a new update is scheduled or completed. When scheduled, |
| if there's no update in progress, a new update is requested through the |
| timer. If there's already an update in progress, a new update is marked |
| as pending after the current one completes. In that case, when the update |
| is completed, a new update is requested through the timer. |
| |
| ThreadedDisplayRefreshMonitor is used to coordinate updates between the |
| main and the composition thread whenever the CoordinatedGraphics state |
| demands it, or whenever there are clients registered to that monitor that |
| require an update (e.g. a requestAnimationFrame() callback). After the |
| update on the composition thread is finished, and the DisplayRefreshMonitor |
| object requires an update, a callback at the same priority as the layer |
| flush timer is scheduled on the main thread. In that callback we handle |
| any clients registered for this DisplayRefreshMonitor before proceeding |
| to handle any changes to the CoordinatedGraphics scene. In case the |
| DisplayRefreshMonitor clients or the layer flushes already queued up |
| any changes to the state, we immediately ask the ThreadedCompositor for |
| an update. |
| |
| * PlatformGTK.cmake: |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: |
| (WebKit::CoordinatedGraphicsScene::updateViewport): |
| (WebKit::CoordinatedGraphicsScene::commitSceneState): |
| * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: |
| (WebKit::CompositingRunLoop::CompositingRunLoop): |
| (WebKit::CompositingRunLoop::isActive): |
| (WebKit::CompositingRunLoop::scheduleUpdate): |
| (WebKit::CompositingRunLoop::stopUpdates): |
| (WebKit::CompositingRunLoop::updateCompleted): |
| (WebKit::CompositingRunLoop::updateTimerFired): |
| (WebKit::CompositingRunLoop::isCurrent): |
| (WebKit::CompositingRunLoop::startUpdateTimer): Deleted. |
| (WebKit::CompositingRunLoop::stopUpdateTimer): Deleted. |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h: |
| (): Deleted. |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: |
| (WebKit::m_displayRefreshMonitor): |
| (WebKit::ThreadedCompositor::invalidate): |
| (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): |
| (WebKit::ThreadedCompositor::updateViewport): |
| (WebKit::ThreadedCompositor::scheduleDisplayImmediately): |
| (WebKit::ThreadedCompositor::renderLayerTree): |
| (WebKit::ThreadedCompositor::sceneUpdateFinished): |
| (WebKit::ThreadedCompositor::updateSceneState): |
| (WebKit::ThreadedCompositor::displayRefreshMonitor): |
| (WebKit::ThreadedCompositor::renderNextFrameIfNeeded): |
| (WebKit::ThreadedCompositor::completeCoordinatedUpdateIfNeeded): |
| (WebKit::ThreadedCompositor::coordinateUpdateCompletionWithClient): |
| (WebKit::ThreadedCompositor::performFrameCompletion): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: Added. |
| (WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor): |
| (WebKit::ThreadedDisplayRefreshMonitor::requestRefreshCallback): |
| (WebKit::ThreadedDisplayRefreshMonitor::requiresDisplayRefreshCallback): |
| (WebKit::ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback): |
| (WebKit::ThreadedDisplayRefreshMonitor::invalidate): |
| (WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback): |
| * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h. |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::createDisplayRefreshMonitor): |
| * WebProcess/WebPage/AcceleratedDrawingArea.h: |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp: |
| (WebKit::ThreadedCoordinatedLayerTreeHost::createDisplayRefreshMonitor): |
| * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h: |
| * WebProcess/WebPage/LayerTreeHost.h: |
| (WebKit::LayerTreeHost::createDisplayRefreshMonitor): |
| |
| 2017-04-11 Alex Christensen <achristensen@webkit.org> |
| |
| Modernize and clean up code |
| https://bugs.webkit.org/show_bug.cgi?id=170752 |
| |
| Reviewed by Sam Weinig. |
| |
| * NetworkProcess/NetworkResourceLoader.h: |
| * Shared/WebPreferencesStore.h: |
| * UIProcess/API/APIHitTestResult.cpp: |
| (API::HitTestResult::create): |
| * UIProcess/API/APIHitTestResult.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesCreate): |
| (WKPreferencesCreateWithIdentifier): |
| (WKPreferencesCreateCopy): |
| * UIProcess/Authentication/AuthenticationChallengeProxy.h: |
| * UIProcess/WebPreferences.cpp: |
| (WebKit::WebPreferences::createWithLegacyDefaults): |
| (WebKit::WebPreferences::copy): |
| * UIProcess/WebPreferences.h: |
| * WebProcess/Network/WebLoaderStrategy.h: |
| * WebProcess/WebCoreSupport/WebEditorClient.cpp: |
| (WebKit::WebEditorClient::requestCheckingOfString): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::addTextCheckingRequest): |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::rangeForWebSelectionAtPosition): |
| (WebKit::WebPage::rangeForBlockAtPoint): |
| (WebKit::WebPage::expandedRangeFromHandle): |
| (WebKit::WebPage::contractedRangeFromHandle): |
| (WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle): |
| (WebKit::WebPage::changeBlockSelection): |
| (WebKit::WebPage::rangeForGranularityAtPoint): |
| (WebKit::WebPage::computePagesForPrintingAndDrawToPDF): |
| |
| 2017-04-11 Dean Jackson <dino@apple.com> |
| |
| Disable outdated WritableStream API |
| https://bugs.webkit.org/show_bug.cgi?id=170749 |
| <rdar://problem/31446233> |
| |
| Reviewed by Tim Horton. |
| |
| The API we implement is no longer accurate. Disable it until we |
| are compatible with the new specification |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-04-11 Dan Bernstein <mitz@apple.com> |
| |
| [Cocoa] WebKit unnecessarily soft-links CorePrediction |
| https://bugs.webkit.org/show_bug.cgi?id=170644 |
| |
| Reviewed by Sam Weinig. |
| |
| * Configurations/BaseTarget.xcconfig: Defined HAVE_CORE_PREDICTION and added |
| HAVE_CORE_PREDICTION to the preprocessor defintions when the former is YES. |
| |
| * Configurations/WebKit.xcconfig: Have the linker link against CorePrediction where |
| available. On macOS, use weak linking, because CorePrediction is not available in the |
| Base System. |
| |
| * Platform/classifier/cocoa/CorePredictionSoftLink.h: Removed. |
| |
| * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp: Guarded with |
| #if HAVE(CORE_PREDICTION). |
| (WebKit::isNullFunctionPointer): Added this helper. |
| (WebKit::ResourceLoadStatisticsClassifierCocoa::canUseCorePrediction): Replaced |
| dlopen()-based runtime check with a null check. |
| |
| * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h: Guarded with #if |
| HAVE(CORE_PREDICTION). |
| |
| * Platform/spi/Cocoa/CorePredictionSPI.h: Added. |
| |
| * UIProcess/WebResourceLoadStatisticsStore.h: Updated guards to include HAVE(CORE_PREDICTION). |
| |
| * WebKit2.xcodeproj/project.pbxproj: pdated file references for removal and addition. |
| |
| 2017-04-11 David Quesada <david_quesada@apple.com> |
| |
| Add SPI for handling geolocation authorization requests |
| https://bugs.webkit.org/show_bug.cgi?id=170362 |
| rdar://problem/17508627 |
| |
| Reviewed by Alex Christensen. |
| |
| Add a new WKUIDelegate method for the WKGeolocationProviderIOS to call when a web page |
| requests geolocation access. To support testing this change, make it possible to override |
| the CoreLocation abstraction WKGeolocationProviderIOS uses. There is now a configurable |
| object on the process pool that implements a protocol for providing location updates for |
| web views in the process pool. If the client doesn't provide this object, |
| WKGeolocationProviderIOS falls back to an object that wraps the existing WebKit1 |
| WebGeolocationCoreLocationProvider and conforms to the new protocol. |
| |
| * Shared/Cocoa/APIObject.mm: |
| (API::Object::newObject): |
| * Shared/WebGeolocationPosition.h: |
| (WebKit::WebGeolocationPosition::create): |
| * UIProcess/API/C/WKGeolocationPosition.cpp: |
| (WKGeolocationPositionCreate_b): |
| * UIProcess/API/Cocoa/WKProcessPool.mm: |
| (-[WKProcessPool _coreLocationProvider]): |
| (-[WKProcessPool _setCoreLocationProvider:]): |
| * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/_WKGeolocationCoreLocationProvider.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp. |
| * UIProcess/API/Cocoa/_WKGeolocationPosition.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp. |
| * UIProcess/API/Cocoa/_WKGeolocationPosition.mm: Added. |
| (WebKit::if): |
| (-[_WKGeolocationPosition dealloc]): |
| (-[_WKGeolocationPosition _apiObject]): |
| * UIProcess/API/Cocoa/_WKGeolocationPositionInternal.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp. |
| (WebKit::wrapper): |
| * UIProcess/ios/WKGeolocationProviderIOS.mm: |
| (kit): |
| (-[WKGeolocationProviderIOS initWithProcessPool:]): |
| (-[WKGeolocationProviderIOS geolocationAuthorizationGranted]): |
| (-[WKGeolocationProviderIOS positionChanged:]): |
| (-[WKLegacyCoreLocationProvider setListener:]): |
| (-[WKLegacyCoreLocationProvider requestGeolocationAuthorization]): |
| (-[WKLegacyCoreLocationProvider start]): |
| (-[WKLegacyCoreLocationProvider stop]): |
| (-[WKLegacyCoreLocationProvider setEnableHighAccuracy:]): |
| (-[WKLegacyCoreLocationProvider geolocationAuthorizationGranted]): |
| (-[WKLegacyCoreLocationProvider geolocationAuthorizationDenied]): |
| (-[WKLegacyCoreLocationProvider positionChanged:]): |
| (-[WKLegacyCoreLocationProvider errorOccurred:]): |
| (-[WKLegacyCoreLocationProvider resetGeolocation]): |
| Implement a new class that bridges the currently used WebGeolocationCoreLocationProvider |
| to conform to the _WKGeolocationCoreLocationProvider protocol that WKGeolocationProviderIOS |
| expects. |
| * WebKit2.xcodeproj/project.pbxproj: |
| |
| 2017-04-11 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Set correct audio session category when capturing audio |
| https://bugs.webkit.org/show_bug.cgi?id=170736 |
| <rdar://problem/31559405> |
| |
| Reviewed by Jer Noble. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::isPlayingMediaDidChange): |
| |
| 2017-04-11 Youenn Fablet <youenn@apple.com> |
| |
| Activate WebRTC data channel tests for WK1 |
| https://bugs.webkit.org/show_bug.cgi?id=170710 |
| |
| Reviewed by Eric Carlson. |
| |
| * WebProcess/Network/webrtc/LibWebRTCProvider.h: Making sure networking is not done in the Web process. |
| |
| 2017-04-11 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: PDF plugin needs to support PDF-DOM Mode |
| https://bugs.webkit.org/show_bug.cgi?id=170589 |
| |
| Reviewed by Tim Horton. |
| |
| Provide access to DOM objects with PDF document. This mean: |
| 1) Support a different set of attributes for WKPDFPluginAccessibilityObject. |
| WKPDFPluginAccessibilityObject is now a group instead of forwarding attribute calls to the pdf layer. |
| 2) Connect the focused UI element to the active annotation if possible. |
| 3) Mark the PDF associated nodes with an attribute so they can be identified later so their correct parent can be found. |
| |
| * WebProcess/Plugins/PDF/PDFLayerControllerSPI.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.h: |
| * WebProcess/Plugins/PDF/PDFPlugin.mm: |
| (-[WKPDFPluginAccessibilityObject pdfLayerController]): |
| (-[WKPDFPluginAccessibilityObject setPdfLayerController:]): |
| (-[WKPDFPluginAccessibilityObject convertRectToScreenSpace:]): |
| (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]): |
| (-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]): |
| (-[WKPDFPluginAccessibilityObject accessibilityActionNames]): |
| (-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]): |
| (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]): |
| (-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]): |
| (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]): |
| (WebKit::PDFPlugin::convertFromRootViewToPDFView): |
| (WebKit::PDFPlugin::convertFromPDFViewToScreen): |
| (WebKit::PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest): |
| (WebKit::PDFPlugin::axObjectCache): |
| (WebKit::PDFPlugin::accessibilityShadowPluginParentForElement): |
| * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: |
| (WebKit::PDFPluginAnnotation::attach): |
| * WebProcess/Plugins/Plugin.h: |
| (WebKit::Plugin::accessibilityShadowPluginParentForElement): |
| (WebKit::Plugin::pluginHandlesContentOffsetForAccessibilityHitTest): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::accessibilityShadowPluginParentForElement): |
| * WebProcess/Plugins/PluginView.h: |
| * WebProcess/WebPage/WebPage.h: |
| * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm: |
| (-[WKAccessibilityWebPageObject accessibilityHitTest:]): |
| |
| 2017-04-11 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Attach popup menu to web view widget |
| https://bugs.webkit.org/show_bug.cgi?id=145866 |
| |
| Use gtk_menu_attach_to_widget() to let GTK+ know that popup menus belong to a certain web view. |
| This improves the positioning choices that the toolkit can do, and solves a long-standing issue |
| that caused long popup menus to hang outside of the available display area under Wayland. |
| |
| Based on a patch by Jonas Ådahl <jadahl@gmail.com>. |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: |
| (WebKit::WebPopupMenuProxyGtk::showPopupMenu): |
| |
| 2017-04-10 Alex Christensen <achristensen@webkit.org> |
| |
| Revert r215217 |
| https://bugs.webkit.org/show_bug.cgi?id=170703 |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-04-10 Alex Christensen <achristensen@webkit.org> |
| |
| Continue enabling WebRTC |
| https://bugs.webkit.org/show_bug.cgi?id=170703 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-04-10 Alex Christensen <achristensen@webkit.org> |
| |
| REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions |
| https://bugs.webkit.org/show_bug.cgi?id=170707 |
| <rdar://problem/27788755> |
| |
| Reviewed by Tim Horton. |
| |
| We fix this by sending the UserContentController with the WebPageCreationParameters |
| instead of in a IPC message immediately following creation. By the time the WebPage |
| receives its second message, it has already started loading the first main resource. |
| |
| I also changed all instances of calling ChildProcessProxy::connection() to send a message |
| in favor of calling ChildProcessProxy::send, which does the same thing except if a child |
| process has not started, it will put the message in a queue and send it when the process |
| is finished launching. This was necessary because the UserContentController is now connected |
| to the process sooner, so there were some API tests that would try to send messages between |
| initiating a process launch and finishing a process launch, and this change preserves the |
| existing behavior in those cases. |
| |
| * Shared/WebPageCreationParameters.cpp: |
| (WebKit::WebPageCreationParameters::encode): |
| (WebKit::WebPageCreationParameters::decode): |
| * Shared/WebPageCreationParameters.h: |
| * UIProcess/Databases/DatabaseProcessProxy.cpp: |
| (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection): |
| (WebKit::DatabaseProcessProxy::didFinishLaunching): |
| * UIProcess/Downloads/DownloadProxy.cpp: |
| (WebKit::DownloadProxy::cancel): |
| (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace): |
| (WebKit::DownloadProxy::willSendRequest): |
| (WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync): |
| * UIProcess/UserContent/WebUserContentControllerProxy.cpp: |
| (WebKit::WebUserContentControllerProxy::addProcess): |
| (WebKit::WebUserContentControllerProxy::addUserContentWorldUse): |
| (WebKit::WebUserContentControllerProxy::removeUserContentWorldUses): |
| (WebKit::WebUserContentControllerProxy::addUserScript): |
| (WebKit::WebUserContentControllerProxy::removeUserScript): |
| (WebKit::WebUserContentControllerProxy::removeAllUserScripts): |
| (WebKit::WebUserContentControllerProxy::addUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeUserStyleSheet): |
| (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets): |
| (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler): |
| (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName): |
| (WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers): |
| (WebKit::WebUserContentControllerProxy::addContentExtension): |
| (WebKit::WebUserContentControllerProxy::removeContentExtension): |
| (WebKit::WebUserContentControllerProxy::removeAllContentExtensions): |
| * UIProcess/UserContent/WebUserContentControllerProxy.h: |
| * UIProcess/VisitedLinkStore.cpp: |
| (WebKit::VisitedLinkStore::removeAll): |
| (WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired): |
| (WebKit::VisitedLinkStore::sendTable): |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::finishInitializingWebPageAfterProcessLaunch): |
| (WebKit::WebPageProxy::creationParameters): |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::WebProcessProxy::addWebUserContentControllerProxy): |
| * UIProcess/WebProcessProxy.h: |
| * WebProcess/UserContent/WebUserContentController.h: |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::m_backgroundCPULimit): |
| |
| 2017-04-10 Alex Christensen <achristensen@webkit.org> |
| |
| Add API to get available content extension identifiers in a WKContentExtensionStore |
| https://bugs.webkit.org/show_bug.cgi?id=170093 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * UIProcess/API/APIContentExtensionStore.cpp: |
| (API::constructedPathPrefix): |
| (API::constructedPathFilter): |
| (API::constructedPath): |
| (API::ContentExtensionStore::getAvailableContentExtensionIdentifiers): |
| * UIProcess/API/APIContentExtensionStore.h: |
| * UIProcess/API/Cocoa/WKContentExtensionStore.h: |
| * UIProcess/API/Cocoa/WKContentExtensionStore.mm: |
| (-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:releasesArgument:]): |
| (-[WKContentExtensionStore lookUpContentExtensionForIdentifier:completionHandler:]): |
| (-[WKContentExtensionStore getAvailableContentExtensionIdentifiers:]): |
| (-[WKContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]): |
| |
| 2017-04-10 Jeremy Jones <jeremyj@apple.com> |
| |
| Add CoreAudioCaptureSource. |
| https://bugs.webkit.org/show_bug.cgi?id=170112 |
| rdar://problem/30293338 |
| |
| Reviewed by Tim Horton. |
| |
| Add UseAVFoundationAudioCapture preference to switch back from the new default of CoreAudio. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetUseAVFoundationAudioCapture): |
| (WKPreferencesGetUseAVFoundationAudioCapture): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: |
| (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updatePreferences): |
| |
| 2017-04-10 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][macOS] Block access to Apple Events before launch. |
| https://bugs.webkit.org/show_bug.cgi?id=170626 |
| <rdar://problem/16079334> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Clear the environment of the AppleEvent server name before initializing |
| AppKit so we never bother connecting. |
| |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm: |
| (main): |
| |
| 2017-04-10 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup() |
| https://bugs.webkit.org/show_bug.cgi?id=170553 |
| |
| Reviewed by Michael Catanzaro. |
| |
| Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when building with GTK+ 3.22 or |
| newer. This allows the Wayland GTK+ backend to properly position popup menus, and also avoids |
| using functions which were deprecated starting at that GTK+ release. |
| |
| * UIProcess/gtk/WebContextMenuProxyGtk.cpp: |
| (WebKit::WebContextMenuProxyGtk::show): Use gtk_menu_popup_at_pointer() as there is always a |
| pointer event that can be passed to it. |
| * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: |
| (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_popup_at_rect(), using the coordinates |
| of the control passed as reference rectangle. Some conditional code is needed because with newer |
| GTK+ versions a relative offset instead of an absolute position is needed. |
| |
| 2017-04-10 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Opening a popup menu does not pre-select the active item |
| https://bugs.webkit.org/show_bug.cgi?id=170680 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: |
| (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_shell_select_item() to |
| ensure that the active item appears selected right after popping up the menu. |
| |
| 2017-04-10 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Enable DOM timer throttling and CSS animations suspension |
| https://bugs.webkit.org/show_bug.cgi?id=170669 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2017-04-10 Chris Dumez <cdumez@apple.com> |
| |
| Drop Timer::startOneShot() overload taking a double |
| https://bugs.webkit.org/show_bug.cgi?id=170659 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Drop Timer::startOneShot() overload taking a double as people should use Seconds type now. |
| |
| * NetworkProcess/PingLoad.h: |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| (WebKit::NetworkDataTaskSoup::startTimeout): |
| * Platform/IPC/Connection.h: |
| * Platform/IPC/mac/ConnectionMac.mm: |
| (IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog): |
| (IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog): |
| (IPC::Connection::terminateSoon): |
| * PluginProcess/PluginProcess.cpp: |
| (WebKit::PluginProcess::setMinimumLifetime): |
| * PluginProcess/PluginProcess.h: |
| * Shared/ChildProcess.cpp: |
| (WebKit::ChildProcess::ChildProcess): |
| * Shared/ChildProcess.h: |
| (WebKit::ChildProcess::setTerminationTimeout): |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: |
| (WebKit::CompositingRunLoop::startUpdateTimer): |
| * Shared/Plugins/PluginProcessCreationParameters.h: |
| * Shared/WebMemorySampler.cpp: |
| (WebKit::WebMemorySampler::initializeTimers): |
| * Shared/WebProcessCreationParameters.h: |
| * UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm: |
| (API::SharedJSContext::ensureContext): |
| * UIProcess/ChildProcessProxy.cpp: |
| (WebKit::ChildProcessProxy::shutDownProcess): |
| * UIProcess/Cocoa/NavigationState.mm: |
| (WebKit::NavigationState::didChangeIsLoading): |
| * UIProcess/Cocoa/ViewGestureController.cpp: |
| (WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog): |
| * UIProcess/Cocoa/ViewGestureController.h: |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon): |
| (WebKit::DrawingAreaProxyImpl::DrawingMonitor::start): |
| (WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw): |
| * UIProcess/Gamepad/UIGamepadProvider.cpp: |
| * UIProcess/Plugins/PluginProcessProxy.cpp: |
| * UIProcess/ProcessThrottler.cpp: |
| * UIProcess/ResponsivenessTimer.cpp: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::createNewWebProcess): |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::DragGesture::begin): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::scheduleAnimation): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::determinePrimarySnapshottedPlugIn): |
| * WebProcess/WebProcess.cpp: |
| |
| 2017-04-09 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Add infrastructure to perform actions after an asynchronous position information request finishes |
| https://bugs.webkit.org/show_bug.cgi?id=170658 |
| <rdar://problem/31431450> |
| |
| Reviewed by Tim Horton. |
| |
| Introduces doAfterPositionInformationUpdate:forRequest:, which WKContentView can use internally to perform |
| an action requiring InteractionInformationAtPosition asynchronously. See below for additional details. |
| |
| New API unit test: DataInteractionTests.UnresponsivePageDoesNotHangUI. |
| |
| * UIProcess/ios/WKContentViewInteraction.h: |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _actionForLongPressFromPositionInformation:]): |
| (-[WKContentView _actionForLongPress]): |
| (-[WKContentView doAfterPositionInformationUpdate:forRequest:]): |
| |
| If current position information satisfies the request, then perform the given block immediately; otherwise, we |
| save the block and request as a pair in a list of pending position information handlers, and then make a new |
| request to the web process for position information if the currently outgoing request does not already satisfy |
| the given request. |
| |
| (-[WKContentView ensurePositionInformationIsUpToDate:]): |
| |
| Fire all asynchronous position information handlers that are satisfied by the incoming position information. |
| |
| (-[WKContentView requestAsynchronousPositionInformationUpdate:]): |
| (-[WKContentView _currentPositionInformationIsValidForRequest:]): |
| (-[WKContentView _hasValidOutstandingPositionInformationRequest:]): |
| |
| Pulled out common logic for managing InteractionInformationRequests into separate helper methods. |
| |
| (-[WKContentView _invokeAndRemovePendingHandlersValidForCurrentPositionInformation]): |
| (-[WKContentView gestureRecognizerShouldBegin:]): |
| |
| Refactored to use ensurePositionInformationIsUpToDate:. There is no behavior change here, but it makes sure that |
| this particular request will also any valid pending position information handlers. |
| |
| (-[WKContentView _positionInformationDidChange:]): |
| |
| Fire all asynchronous position information handlers that are satisfied by the incoming position information. |
| |
| (-[WKContentView pointIsInDataInteractionContent:]): Deleted. |
| |
| We should no longer use this method, since it makes a synchronous request to the web process -- see |
| positionInformationMayStartDataInteraction. |
| |
| 2017-04-09 Chris Dumez <cdumez@apple.com> |
| |
| Drop Timer::startRepeating() overload taking a double |
| https://bugs.webkit.org/show_bug.cgi?id=170656 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Drop Timer::startRepeating() overload taking a double as people should use Seconds type now. |
| |
| * Shared/WebMemorySampler.cpp: |
| (WebKit::WebMemorySampler::initializeTimers): |
| * UIProcess/Cocoa/ViewGestureController.cpp: |
| * UIProcess/HighPerformanceGraphicsUsageSampler.cpp: |
| * UIProcess/PerActivityStateCPUUsageSampler.cpp: |
| * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: |
| (WebKit::NetscapePlugin::Timer::start): |
| * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::scheduleReleaseInactiveAtlases): |
| |
| 2017-04-09 Jon Lee <jonlee@apple.com> |
| |
| [WK2][iOS] Add CoreMedia entitlement for WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=170623 |
| rdar://problem/30020073 |
| |
| Reviewed by Youenn Fablet. |
| |
| * Configurations/WebContent-iOS.entitlements: Update entitlement to an array of strings instead of bool. |
| |
| 2017-04-09 Chris Dumez <cdumez@apple.com> |
| |
| Start dropping Timer API dealing with double |
| https://bugs.webkit.org/show_bug.cgi?id=170649 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Start dropping Timer API dealing with double as people should use Seconds now. |
| |
| * NetworkProcess/NetworkDataTask.cpp: |
| (WebKit::NetworkDataTask::scheduleFailure): |
| * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: |
| (WebKit::NetworkDataTaskCocoa::resume): |
| * PluginProcess/PluginControllerProxy.cpp: |
| (WebKit::PluginControllerProxy::destroy): |
| (WebKit::PluginControllerProxy::startPaintTimer): |
| * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| (webkitWebViewBaseScheduleUpdateActivityState): |
| * UIProcess/DrawingAreaProxy.cpp: |
| (WebKit::DrawingAreaProxy::setViewExposedRect): |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::DrawingMonitor::start): |
| * UIProcess/Plugins/gtk/PluginInfoCache.cpp: |
| (WebKit::PluginInfoCache::updatePluginInfo): |
| * UIProcess/VisitedLinkStore.cpp: |
| (WebKit::VisitedLinkStore::addVisitedLinkHash): |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::m_hiddenPageThrottlingAutoIncreasesCounter): |
| * UIProcess/gtk/GestureController.cpp: |
| (WebKit::GestureController::ZoomGesture::scaleChanged): |
| * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: |
| (WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback): |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad): |
| * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: |
| (WebKit::NPRuntimeObjectMap::addToInvalidationQueue): |
| * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: |
| (WebKit::NetscapePluginStream::deliverDataToPlugin): |
| * WebProcess/Plugins/PluginView.cpp: |
| (WebKit::PluginView::pendingURLRequestsTimerFired): |
| (WebKit::PluginView::loadURL): |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeSoon): |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush): |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::scheduleDisplay): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::updateIsInWindow): |
| (WebKit::WebPage::addPluginView): |
| (WebKit::WebPage::setMayStartMediaWhenInWindow): |
| (WebKit::WebPage::didFinishLoad): |
| * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: |
| (WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange): |
| |
| 2017-04-08 Chris Dumez <cdumez@apple.com> |
| |
| Drop std::chrono support from Timer class |
| https://bugs.webkit.org/show_bug.cgi?id=170645 |
| |
| Reviewed by Sam Weinig. |
| |
| Drop std::chrono support from Timer class now that we prefer using Seconds type. |
| |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::Throttle::Throttle): |
| (WebKit::NetworkLoad::didReceiveResponseNetworkSession): |
| * NetworkProcess/NetworkProcess.h: |
| (WebKit::NetworkProcess::loadThrottleLatency): |
| * NetworkProcess/NetworkProcessCreationParameters.cpp: |
| * NetworkProcess/NetworkProcessCreationParameters.h: |
| * NetworkProcess/NetworkResourceLoadParameters.h: |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::startNetworkLoad): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: |
| * NetworkProcess/cache/NetworkCacheStatistics.cpp: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::Storage::store): |
| * Shared/CacheModel.cpp: |
| (WebKit::calculateMemoryCacheSizes): |
| * Shared/CacheModel.h: |
| * Shared/mac/RemoteLayerBackingStoreCollection.mm: |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::maximumBufferingTime): |
| * WebProcess/Plugins/PluginView.cpp: |
| * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: |
| (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately): |
| (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush): |
| * WebProcess/WebProcess.cpp: |
| (WebKit::m_resourceLoadStatisticsStore): |
| (WebKit::WebProcess::setCacheModel): |
| |
| 2017-04-08 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed attempt to fix GTK build after r215138. |
| |
| * UIProcess/API/gtk/WebKitUIClient.cpp: |
| |
| 2017-04-08 Youenn Fablet <youenn@apple.com> |
| |
| WebRTC tests gardening |
| https://bugs.webkit.org/show_bug.cgi?id=170508 |
| |
| Reviewed by Eric Carlson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-04-08 Chris Dumez <cdumez@apple.com> |
| |
| Timer's nextFireInterval() / repeatInterval() should return Seconds |
| https://bugs.webkit.org/show_bug.cgi?id=170639 |
| |
| Reviewed by Simon Fraser. |
| |
| Timer's nextFireInterval() / repeatInterval() should return Seconds, not double. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::layerVolatilityTimerFired): |
| (WebKit::WebPage::markLayersVolatile): |
| |
| 2017-04-07 Alex Christensen <achristensen@webkit.org> |
| |
| Modernize WebPage.h |
| https://bugs.webkit.org/show_bug.cgi?id=170633 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * UIProcess/API/APIUIClient.h: |
| (API::UIClient::createNewPage): |
| * UIProcess/API/C/WKPage.cpp: |
| (WebKit::RunBeforeUnloadConfirmPanelResultListener::create): |
| (WebKit::RunJavaScriptAlertResultListener::create): |
| (WebKit::RunJavaScriptConfirmResultListener::create): |
| (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener): |
| (WebKit::RunJavaScriptPromptResultListener::create): |
| (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener): |
| (WKPageSetPageUIClient): |
| * UIProcess/Cocoa/UIDelegate.h: |
| * UIProcess/Cocoa/UIDelegate.mm: |
| (WebKit::UIDelegate::UIClient::createNewPage): |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::loadDataImpl): |
| (WebKit::WebPage::loadStringImpl): |
| (WebKit::WebPage::loadData): |
| (WebKit::WebPage::scaledSnapshotWithOptions): |
| (WebKit::WebPage::SandboxExtensionTracker::willPerformLoadDragDestinationAction): |
| (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2017-04-07 Alex Christensen <achristensen@webkit.org> |
| |
| Use audit_token_t instead of pid_t for checking sandbox of other processes |
| https://bugs.webkit.org/show_bug.cgi?id=170616 |
| <rdar://problem/31158189> |
| |
| Reviewed by Daniel Bates. |
| |
| pid's can be reused, so it's theoretically unsafe to use the pid of another process to check whether it's sandboxed. |
| Use an audit_token_t instead to be more sure that we are not mistakenly checking a new process that has reused the |
| old process's pid. For the current process, though, we have no xpc_connection_t to the process because we are the process. |
| |
| * PluginProcess/mac/PluginProcessMac.mm: |
| (WebKit::PluginProcess::initializeSandbox): |
| * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: |
| (WebKit::XPCServiceInitializerDelegate::isClientSandboxed): |
| * Shared/mac/SandboxUtilities.h: |
| * Shared/mac/SandboxUtilities.mm: |
| (WebKit::currentProcessIsSandboxed): |
| (WebKit::connectedProcessIsSandboxed): |
| (WebKit::processIsSandboxed): Deleted. |
| * UIProcess/Cocoa/WebProcessProxyCocoa.mm: |
| (WebKit::WebProcessProxy::platformIsBeingDebugged): |
| * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: |
| (WebKit::PluginInfoStore::shouldUsePlugin): |
| * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: |
| (WebKit::PluginProcessProxy::platformGetLaunchOptions): |
| |
| 2017-04-07 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS] Add CoreMedia entitlement for WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=170623 |
| <rdar://problem/30020073> |
| |
| Reviewed by Youenn Fablet. |
| |
| Add new "com.apple.tcc.delegated-services" entitlement to allow CoreMedia |
| to work properly in WebRTC. |
| |
| * Configurations/WebContent-iOS.entitlements: |
| |
| 2017-04-07 Alex Christensen <achristensen@webkit.org> |
| |
| Private browsing sessions should not look in keychain for client certificates |
| https://bugs.webkit.org/show_bug.cgi?id=170618 |
| <rdar://problem/18457427> |
| |
| Reviewed by Dan Bernstein. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (WebKit::configurationForSessionID): |
| |
| 2017-04-07 Chris Dumez <cdumez@apple.com> |
| |
| We should log how much CPU a background process was using when killing it due to CPU limiting |
| https://bugs.webkit.org/show_bug.cgi?id=170619 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebProcess/cocoa/WebProcessCocoa.mm: |
| (WebKit::WebProcess::updateBackgroundCPUMonitorState): |
| |
| 2017-04-07 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Missing conversion from window to content coordinates when adjusting unobscured content rects for input view |
| https://bugs.webkit.org/show_bug.cgi?id=170603 |
| |
| Reviewed by Simon Fraser. |
| |
| Refactors -[WKContentView _computeUnobscuredContentRectRespectingInputViewBounds:unobscuredContentRect:inputViewBounds:scale:] |
| to convert the input view bounds into content coordinates instead of using the zoom scale to adjust the height of inputViewBounds. |
| Covered by the existing LayoutTest, fixed-element-on-bottom-with-keyboard.html. |
| |
| * UIProcess/ios/WKContentView.mm: |
| (-[WKContentView _computeUnobscuredContentRectRespectingInputViewBounds:unobscuredContentRect:inputViewBounds:scale:]): |
| |
| 2017-04-07 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] Various build errors when plugin support is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=170015 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * PluginProcess/unix/PluginControllerProxyUnix.cpp: |
| * UIProcess/API/gtk/WebKitWebsiteData.cpp: |
| (recordContainsSupportedDataTypes): |
| (toWebKitWebsiteDataTypes): |
| * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp: |
| (toWebsiteDataTypes): |
| |
| 2017-04-07 John Wilander <wilander@apple.com> |
| |
| WebSocket streams should have network usage attributed to correct process |
| https://bugs.webkit.org/show_bug.cgi?id=170322 |
| <rdar://problem/26413551> |
| |
| Reviewed by Alex Christensen. |
| |
| Changes here are due to the added WebCore::SourceApplicationAuditToken parameter |
| in WebCore::SocketStreamHandleImpl::create(). |
| WebKit::NetworkSocketStream takes it and passes it on. |
| |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::createSocketStream): |
| * NetworkProcess/NetworkSocketStream.cpp: |
| (WebKit::NetworkSocketStream::create): |
| (WebKit::NetworkSocketStream::NetworkSocketStream): |
| * NetworkProcess/NetworkSocketStream.h: |
| |
| 2017-04-07 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| Unreviewed, fix missing return value warning |
| |
| * UIProcess/WebProcessProxy.cpp: |
| (WebKit::diagnosticLoggingKeyForSimulatedCrashReason): |
| |
| 2017-04-07 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Update the priorities used in glib main loop sources |
| https://bugs.webkit.org/show_bug.cgi?id=170457 |
| |
| Reviewed by Žan Doberšek. |
| |
| * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp: |
| (WebKit::CompositingRunLoop::CompositingRunLoop): |
| * UIProcess/DrawingAreaProxyImpl.cpp: |
| (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): |
| (WebKit::DrawingAreaProxyImpl::DrawingMonitor::DrawingMonitor): |
| * UIProcess/gtk/WaylandCompositor.cpp: |
| (WebKit::createWaylandLoopSource): |
| * WebProcess/WebPage/AcceleratedDrawingArea.cpp: |
| (WebKit::AcceleratedDrawingArea::AcceleratedDrawingArea): |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: |
| (WebKit::CompositingCoordinator::CompositingCoordinator): |
| * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: |
| * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: |
| (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost): |
| * WebProcess/WebPage/DrawingAreaImpl.cpp: |
| (WebKit::DrawingAreaImpl::DrawingAreaImpl): |
| |
| 2017-04-06 Alex Christensen <achristensen@webkit.org> |
| |
| Add WKContentExtensionStore.h and WKContentExtension.h to public WebKit.h |
| https://bugs.webkit.org/show_bug.cgi?id=170533 |
| |
| Reviewed by Daniel Bates. |
| |
| * Shared/API/Cocoa/WebKit.h: |
| In r213696 I added two public headers. All public headers in WebKit are included with |
| #import <WebKit/WebKit.h> |
| |
| 2017-04-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Hangs when loading under SpeculativeLoad::shouldCaptureExtraNetworkLoadMetrics |
| https://bugs.webkit.org/show_bug.cgi?id=170575 |
| |
| Rubber-stamped by Brian Burg. |
| |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::shouldCaptureExtraNetworkLoadMetrics): Deleted. |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| m_networkLoad is a wrapper around `this` as the client, so we would infinite loop here. |
| |
| 2017-04-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r214973. |
| https://bugs.webkit.org/show_bug.cgi?id=170578 |
| |
| Causes issues in Safari (Requested by bradee-oh on #webkit). |
| |
| Reverted changeset: |
| |
| "Refactor so WebsiteDataStores always have a StorageManager." |
| https://bugs.webkit.org/show_bug.cgi?id=170521 |
| http://trac.webkit.org/changeset/214973 |
| |
| 2017-04-06 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r215046. |
| |
| This change broke internal builds. |
| |
| Reverted changeset: |
| |
| "WebRTC tests gardening" |
| https://bugs.webkit.org/show_bug.cgi?id=170508 |
| http://trac.webkit.org/changeset/215046 |
| |
| 2017-04-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Only Capture Extra Network Load Metrics when there is a Web Inspector Frontend |
| https://bugs.webkit.org/show_bug.cgi?id=170525 |
| |
| Reviewed by Youenn Fablet. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]): |
| Only collect extra metrics if the WebProcess this load is for has enabled |
| collecting extra metrics. |
| |
| * WebProcess/Network/WebLoaderStrategy.cpp: |
| (WebKit::WebLoaderStrategy::setCaptureExtraNetworkLoadMetricsEnabled): |
| * WebProcess/Network/WebLoaderStrategy.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::setCaptureExtraNetworkLoadMetricsEnabled): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| (WebKit::NetworkConnectionToWebProcess::captureExtraNetworkLoadMetricsEnabled): |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| New bool state toggled through the loader policy. |
| |
| * NetworkProcess/NetworkDataTask.cpp: |
| (WebKit::NetworkDataTask::shouldCaptureExtraNetworkLoadMetrics): |
| * NetworkProcess/NetworkDataTask.h: |
| (WebKit::NetworkDataTaskClient::shouldCaptureExtraNetworkLoadMetrics): |
| * NetworkProcess/NetworkLoad.cpp: |
| (WebKit::NetworkLoad::shouldCaptureExtraNetworkLoadMetrics): |
| * NetworkProcess/NetworkLoad.h: |
| * NetworkProcess/NetworkLoadClient.h: |
| (WebKit::NetworkLoadClient::shouldCaptureExtraNetworkLoadMetrics): |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::shouldCaptureExtraNetworkLoadMetrics): |
| * NetworkProcess/NetworkResourceLoader.h: |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: |
| (WebKit::NetworkCache::SpeculativeLoad::shouldCaptureExtraNetworkLoadMetrics): |
| * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: |
| Default handling for network loads is to not include extra data. Thread |
| client messages back from the NetworkLoads / SpeculativeLoads to check |
| the NetworkConnectionToWebProcess state on whether or not we should collect |
| extra metrics. |
| |
| 2017-04-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Show all headers in the Request Headers section of the Resource details sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=16531 |
| <rdar://problem/5712895> |
| |
| Reviewed by Timothy Hatcher. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]): |
| Include a complete list of the request headers sent for this load. |
| There may be headers that WebCore did not know about and developer |
| tools should be informed of. |
| |
| 2017-04-06 Anders Carlsson <andersca@apple.com> |
| |
| OptionSet options need to be powers of two |
| https://bugs.webkit.org/show_bug.cgi?id=170565 |
| |
| Reviewed by Chris Dumez. |
| |
| Change Cache::Option to be powers of two. |
| |
| * NetworkProcess/cache/NetworkCache.h: |
| |
| 2017-04-06 Youenn Fablet <youenn@apple.com> |
| |
| WebRTC tests gardening |
| https://bugs.webkit.org/show_bug.cgi?id=170508 |
| |
| Reviewed by Eric Carlson. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2017-04-06 Antti Koivisto <antti@apple.com> |
| |
| Implement testing mode for disk cache |
| https://bugs.webkit.org/show_bug.cgi?id=170547 |
| |
| Reviewed by Andreas Kling. |
| |
| Disable read timeouts and cache shrinking in TestRunner to eliminate potential sources of randomness. |
| |
| Cache directories are deleted by TestRunner so lack of shrinking does not consume the disk. |
| |
| This is enabled by the existing WKContextUseTestingNetworkSession SPI. |
| |
| * NetworkProcess/cache/NetworkCache.cpp: |
| (WebKit::NetworkCache::Cache::initialize): |
| * NetworkProcess/cache/NetworkCache.h: |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::open): |
| (WebKit::NetworkCache::Storage::Storage): |
| (WebKit::NetworkCache::Storage::dispatchReadOperation): |
| (WebKit::NetworkCache::Storage::shrinkIfNeeded): |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| * NetworkProcess/cocoa/NetworkProcessCocoa.mm: |
| (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): |
| |
| 2017-04-06 Chris Dumez <cdumez@apple.com> |
| |
| [WK2] Add C private API to toggle invisibleAutoplayNotPermitted setting |
| https://bugs.webkit.org/show_bug.cgi?id=170524 |
| <rdar://problem/31461472> |
| |
| Reviewed by Eric Carlson. |
| |
| Add C private API to toggle invisibleAutoplayNotPermitted setting. |
| |
| * UIProcess/API/C/WKPreferences.cpp: |
| (WKPreferencesSetInvisibleMediaAutoplayPermitted): |
| (WKPreferencesGetInvisibleMediaAutoplayPermitted): |
| * UIProcess/API/C/WKPreferencesRefPrivate.h: |
| |
| 2017-04-06 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] Fix build with MEDIA_CAPTURE enabled |
| https://bugs.webkit.org/show_bug.cgi?id=170539 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp: |
| (webkit_dom_html_input_element_get_capture): Add missing namespace in usage of WebCore::MediaCaptureTypeNone. |
| |
| 2017-04-05 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS] Remove access to features not present on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=170531 |
| <rdar://problem/31352258> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: |
| |
| 2017-04-05 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] Host application should be able to mute and unmute media streams |
| https://bugs.webkit.org/show_bug.cgi?id=170519 |
| <rdar://problem/31174326> |
| |
| Reviewed by Youenn Fablet. |
| |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageGetMediaState): Support new media stream state flags. |
| * UIProcess/API/C/WKPagePrivate.h: |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: Ditto. |
| * UIProcess/Cocoa/UIDelegate.mm: Ditto. |
| |
| 2017-04-05 Brady Eidson <beidson@apple.com> |
| |
| Refactor so WebsiteDataStores always have a StorageManager. |
| https://bugs.webkit.org/show_bug.cgi?id=170521 |
| |
| Reviewed by Geoff Garen. |
| |
| This basically involves teaching StorageManager how to work without a LocalStorageDatabaseTracker, |
| since there will never be ephemeral bits on disk to track. |
| |
| * UIProcess/Storage/StorageManager.cpp: |
| (WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded): |
| (WebKit::StorageManager::createEphemeral): |
| (WebKit::StorageManager::StorageManager): |
| (WebKit::StorageManager::getLocalStorageOrigins): |
| (WebKit::StorageManager::getLocalStorageOriginDetails): |
| (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin): |
| (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): |
| (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins): |
| * UIProcess/Storage/StorageManager.h: |
| |
| * UIProcess/WebsiteData/WebsiteDataStore.cpp: |
| (WebKit::WebsiteDataStore::WebsiteDataStore): |
| |
| 2017-04-05 Brent Fulgham <bfulgham@apple.com> |
| |
| [WK2][iOS] Add entitlements to enable audio/video capture in WebProcess |
| https://bugs.webkit.org/show_bug.cgi?id=170507 |
| <rdar://problem/31121248> |
| |
| Reviewed by Youenn Fablet. |
| |
| Add two entitlements that are required to access audio/video capture on iOS. |
| |
| * Configurations/WebContent-iOS.entitlements: |
| |
| 2017-04-05 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Show a log message when an invalid message is received in non cocoa ports |
| https://bugs.webkit.org/show_bug.cgi?id=170506 |
| |
| Reviewed by Michael Catanzaro. |
| |
| We just crash, but without knowing the details about the message it's impossible to debug. |
| |
| * Shared/ChildProcess.cpp: |
| (WebKit::ChildProcess::didReceiveInvalidMessage): |
| |
| 2017-04-04 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Move WebErrors from WebProcess to Shared and get rid of ErrorsGtk in WebCore |
| https://bugs.webkit.org/show_bug.cgi?id=156974 |
| |
| Reviewed by Sam Weinig. |
| |
| WebErrors are not only used by the frame loader client in the web process, but also by the network process. So, |
| move them to Shared make most of the implementation cross-platform. |
| |
| * CMakeLists.txt: Add new files to compilation. |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| (WebKit::NetworkDataTaskSoup::download): Use WebErrors directly instead of platform methods that are no longer needed. |
| (WebKit::NetworkDataTaskSoup::writeDownloadCallback): Ditto. |
| (WebKit::NetworkDataTaskSoup::didFinishDownload): Ditto. |
| (WebKit::NetworkDataTaskSoup::didFail): Ditto. |
| * PlatformGTK.cmake: Add new files to compilation and remove DownloadSoupErrorsGtk.cpp |
| * PlatformMac.cmake: |
| * Shared/API/APIError.cpp: Add error domains used by glib based ports. |
| (API::Error::webKitNetworkErrorDomain): |
| (API::Error::webKitPolicyErrorDomain): |
| (API::Error::webKitPluginErrorDomain): |
| (API::Error::webKitDownloadErrorDomain): |
| (API::Error::webKitPrintErrorDomain): |
| * Shared/API/APIError.h: |
| * Shared/Cocoa/WebErrorsCocoa.mm: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebErrors.h. |
| (WebKit::createNSError): |
| (WebKit::cancelledError): |
| (WebKit::fileDoesNotExistError): |
| * Shared/WebErrors.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp. |
| (WebKit::blockedError): |
| (WebKit::blockedByContentBlockerError): |
| (WebKit::cannotShowURLError): |
| (WebKit::interruptedForPolicyChangeError): |
| (WebKit::blockedByContentFilterError): |
| (WebKit::cannotShowMIMETypeError): |
| (WebKit::pluginWillHandleLoadError): |
| (WebKit::internalError): |
| * Shared/WebErrors.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebErrors.h. |
| * Shared/glib/WebErrorsGlib.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp. |
| (WebKit::cancelledError): |
| (WebKit::fileDoesNotExistError): |
| * Shared/gtk/WebErrorsGtk.cpp: Copied from Source/WebKit2/NetworkProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp. |
| (WebKit::printError): |
| (WebKit::printerNotFoundError): |
| (WebKit::invalidPageRangeToPrint): |
| * Shared/soup/WebErrorsSoup.cpp: Renamed from Source/WebKit2/NetworkProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp. |
| (WebKit::downloadNetworkError): |
| (WebKit::downloadCancelledByUserError): |
| (WebKit::downloadDestinationError): |
| * UIProcess/API/gtk/WebKitDownload.cpp: |
| * UIProcess/API/gtk/WebKitError.cpp: |
| (webkit_network_error_quark): |
| (webkit_policy_error_quark): |
| (webkit_plugin_error_quark): |
| (webkit_download_error_quark): |
| (webkit_print_error_quark): |
| * UIProcess/API/gtk/WebKitPrivate.cpp: |
| (toWebKitError): |
| (toWebCoreError): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: Removed. |
| * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: |
| |
| 2017-04-04 Youenn Fablet <youenn@apple.com> |
| |
| [Mac] Add back web audio support for getUserMedia MediaStreamTrack |
| https://bugs.webkit.org/show_bug.cgi?id=170482 |
| |
| Reviewed by Eric Carlson. |
| |
| * WebProcess/cocoa/UserMediaCaptureManager.cpp: |
| (WebKit::UserMediaCaptureManager::Source::setStorage): |
| |
| 2017-04-04 Tim Horton <timothy_horton@apple.com> |
| |
| [Mac] -[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:] invokes the resultCollector with didWrap = NO even when it wraps |
| https://bugs.webkit.org/show_bug.cgi?id=165801 |
| <rdar://problem/29649535> |
| |
| Reviewed by Wenson Hsieh. |
| |
| Previously, when doing an incremental find that wrapped, we would |
| say that it did not, leading NSTextFinder to not provide its usual |
| wrapping UI, and other clients of the NSTextFinderClient protocol to |
| get confused by the lack of wrapping. |
| |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::didFindString): |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/WebPageProxy.messages.in: |
| * UIProcess/API/APIFindClient.h: |
| (API::FindClient::didFindString): |
| * UIProcess/API/C/WKPage.cpp: |
| (WKPageSetPageFindClient): |
| * UIProcess/Cocoa/FindClient.h: |
| * UIProcess/Cocoa/FindClient.mm: |
| (WebKit::FindClient::didFindString): |
| * WebProcess/WebPage/FindController.cpp: |
| (WebKit::FindController::updateFindUIAfterPageScroll): |
| (WebKit::FindController::findString): |
| * WebProcess/WebPage/FindController.h: |
| Plumb DidWrap from FindController's call to findString back through |
| the DidFindString message. |
| |
| * UIProcess/mac/WKTextFinderClient.mm: |
| (-[WKTextFinderClient didFindStringMatchesWithRects:didWrapAround:]): |
| (-[WKTextFinderClient didFindStringMatchesWithRects:]): Deleted. |
| Make use of the new DidWrap information to stop lying to NSTextFinder |
| about whether a wrap actually occurred. |
| |
| 2017-04-03 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Data interaction should register type identifiers in order of priority |
| https://bugs.webkit.org/show_bug.cgi?id=170428 |
| <rdar://problem/30633296> |
| |
| Reviewed by Tim Horton. |
| |
| Serialize PasteboardWebContent.dataInAttributedStringFormat when sending over IPC. Refer to WebCore ChangeLog |
| for more details. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<PasteboardWebContent>::encode): |
| (IPC::ArgumentCoder<PasteboardWebContent>::decode): |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| |
| 2017-04-03 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove no longer needed forward declarations |
| https://bugs.webkit.org/show_bug.cgi?id=170415 |
| |
| Reviewed by Dan Bernstein. |
| |
| * NetworkProcess/cocoa/NetworkSessionCocoa.mm: |
| |
| 2017-04-03 Anders Carlsson <andersca@apple.com> |
| |
| Tweak ApplePaySession API |
| https://bugs.webkit.org/show_bug.cgi?id=170409 |
| rdar://problem/31405459 |
| |
| Reviewed by Tim Horton. |
| |
| Update for WebCore changes. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toNSError): |
| |
| 2017-04-03 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [SOUP] URI Fragment is lost after redirect |
| https://bugs.webkit.org/show_bug.cgi?id=170058 |
| |
| Reviewed by Michael Catanzaro. |
| |
| In case of redirection check if the current request has a fragment identifier and apply it to the redirection |
| only when it doesn't have a fragment identifier yet. |
| |
| * NetworkProcess/soup/NetworkDataTaskSoup.cpp: |
| (WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup): |
| (WebKit::NetworkDataTaskSoup::createRequest): |
| (WebKit::NetworkDataTaskSoup::continueHTTPRedirection): |
| * NetworkProcess/soup/NetworkDataTaskSoup.h: |
| |
| 2017-04-03 Antti Koivisto <antti@apple.com> |
| |
| Mutex may be freed too late in NetworkCache::Storage::traverse |
| https://bugs.webkit.org/show_bug.cgi?id=170400 |
| <rdar://problem/30515865> |
| |
| Reviewed by Carlos Garcia Campos and Andreas Kling. |
| |
| Fix a race. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.cpp: |
| (WebKit::NetworkCache::Storage::traverse): |
| |
| Ensure the mutex is not accessed after we dispatch to the main thread. |
| The main thread call deletes the owning TraverseOperation. |
| |
| 2017-04-01 Dan Bernstein <mitz@apple.com> |
| |
| [iOS] <input type=file> label should be specified using plural rules |
| https://bugs.webkit.org/show_bug.cgi?id=170388 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * UIProcess/ios/forms/WKFileUploadPanel.mm: |
| (-[WKFileUploadPanel _processMediaInfoDictionaries:atIndex:processedResults:processedImageCount:processedVideoCount:successBlock:failureBlock:]): |
| Instead of calling -_displayStringForPhotos:videos:, use |
| +[NSString localizedStringWithFormat:] with the new format string "%lu photo(s) and |
| %lu video(s)" for which there are plural rules. |
| (-[WKFileUploadPanel _displayStringForPhotos:videos:]): Deleted. |
| |
| 2017-04-01 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] In engineering builds, linker warns about libwebrtc.dylib’s install name being invalid |
| https://bugs.webkit.org/show_bug.cgi?id=170385 |
| |
| Reviewed by Tim Horton. |
| |
| * Configurations/WebKit.xcconfig: When WebKit is relocatable, tell the linker that it’s |
| not going to be in the shared cache, even if its install name implies that it might be. |
| |
| 2017-03-31 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove a logging statement left in by mistake. |
| |
| * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: |
| (WebKit::WebFrameLoaderClient::restoreViewState): |
| |
| 2017-03-31 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Address post-review feedback after r214692 |
| https://bugs.webkit.org/show_bug.cgi?id=170328 |
| |
| Reviewed by Dan Bernstein. |
| |
| Clearing the selection when UIKit calls into WKContentView to set its selected text range to nil is a rule |
| that should be applied when using a text interaction assistant, not just when using character granularity |
| for selecting text. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setSelectedTextRange:]): |
| |
| 2017-03-31 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Tapping away to dismiss the selection does not update the selected DOM range using character granularity |
| https://bugs.webkit.org/show_bug.cgi?id=170328 |
| <rdar://problem/30904558> |
| |
| Reviewed by Tim Horton. |
| |
| When UIKit clears the selection while in text interaction mode, it notifies its document view (i.e., the |
| WKContentView) by setting its selected text range to nil. When character granularity selection is enabled, use |
| this as a cue to notify the web process that the selection is being cleared out. |
| |
| -setSelectedTextRange: is a noop in the general case because the web process acts as the source of truth for what |
| the selection currently consists of, and notifies the UI process and UIKit via WKTextPosition and WKTextRange. |
| However, in the case of character granularity selections, tapping away to clear the selection is handled by |
| UIKit's text gesture recognizer cluster, which then informs the document (via -setSelectedTextRange:) that the |
| selection should be cleared out. |
| |
| Adds a new Layout test: editing/selection/character-granularity-selected-range-after-dismissing-selection.html. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView setSelectedTextRange:]): |
| |
| 2017-03-31 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Tapping editable text inside of a range selection no longer changes the selection to a caret |
| https://bugs.webkit.org/show_bug.cgi?id=170327 |
| <rdar://problem/31363816> |
| |
| Reviewed by Tim Horton. |
| |
| Currently, we're forcing all text interaction gestures to duck in lieu of data interaction gestures |
| when we should only be doing so for gestures that begin a loupe. This prevents other gestures, such as |
| single taps, from changing the selection when they should be allowed to. |
| |
| Hooks into new UIKit SPI to make this tweak. |
| Introduces a new LayoutTest: editing/selection/caret-after-tap-in-editable-selection.html. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView pointIsInAssistedNode:]): |
| (-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): |
| |
| 2017-03-31 Tim Horton <timothy_horton@apple.com> |
| |
| Mail can get stuck underneath FindController::findStringMatches after searching in a long message |
| https://bugs.webkit.org/show_bug.cgi?id=170326 |
| <rdar://problem/30330395> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/mac/WKTextFinderClient.mm: |
| (-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]): |
| Cap the number of find matches at 1000, the same maximum that Safari uses. |
| |
| 2017-03-31 Brady Eidson <beidson@apple.com> |
| |
| Clean up the "StorageType" enum. |
| https://bugs.webkit.org/show_bug.cgi?id=170349 |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/Storage/StorageAreaMap.cpp: |
| (WebKit::StorageAreaMap::StorageAreaMap): |
| (WebKit::StorageAreaMap::dispatchStorageEvent): |
| (WebKit::StorageAreaMap::dispatchSessionStorageEvent): |
| (WebKit::StorageAreaMap::dispatchLocalStorageEvent): |
| |
| * WebProcess/Storage/StorageNamespaceImpl.cpp: |
| (WebKit::StorageNamespaceImpl::createSessionStorageNamespace): |
| (WebKit::StorageNamespaceImpl::createLocalStorageNamespace): |
| (WebKit::StorageNamespaceImpl::createTransientLocalStorageNamespace): |
| |
| 2017-03-31 Tim Horton <timothy_horton@apple.com> |
| |
| Remove bundle checks for attachmentElementEnabled |
| https://bugs.webkit.org/show_bug.cgi?id=170329 |
| <rdar://problem/25135244> |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: |
| (-[WKWebViewConfiguration init]): |
| Remove bundle checks. |
| |
| 2017-03-29 Anders Carlsson <andersca@apple.com> |
| |
| Adopt PKCanMakePaymentsWithMerchantIdentifierAndDomainAndSourceApplication |
| https://bugs.webkit.org/show_bug.cgi?id=170257 |
| rdar://problem/31289764 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard): |
| |
| 2017-03-31 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Mac cmake buildfix after r214403 |
| https://bugs.webkit.org/show_bug.cgi?id=170346 |
| |
| Unreviewed speculative buildfix. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| |
| 2017-03-31 Brady Eidson <beidson@apple.com> |
| |
| Remove erroneously committed changes from r214078 |
| |
| Unreviewed. |
| |
| * UIProcess/Cocoa/WebProcessPoolCocoa.mm: |
| (WebKit::WebProcessPool::platformInitializeNetworkProcess): Whoops! |
| |
| 2017-03-31 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Modern media controls should never be enabled in non cocoa ports |
| https://bugs.webkit.org/show_bug.cgi?id=170338 |
| |
| Reviewed by Michael Catanzaro. |
| |
| It's currently enabled, because it uses the default value for all other runtime features, but modern media |
| controls are not a cross-platform feature. I think this is why media/video-click-dblckick-standalone.html |
| started to fail in GTK+ port after r214426. I can't reprouduce the failure locally, so I can't confirm it, |
| though. |
| |
| * Shared/WebPreferencesDefinitions.h: |
| |
| 2017-03-30 Zan Dobersek <zdobersek@igalia.com> |
| |
| Unreviewed GTK+ build fix. List WebCore before JavaScriptCore as the |
| two WebKit2 dependency libraries to avoid WTF directiories being |
| listed for inclusion before WebCore directories at compile-time. |
| |
| * CMakeLists.txt: |
| |
| 2017-03-30 Megan Gardner <megan_gardner@apple.com> |
| |
| Allow for extended color in snapshots |
| https://bugs.webkit.org/show_bug.cgi?id=170314 |
| <rdar://problem/28676092> WKImageCreateCGImage should support WideGamut in WebKit2 on macOS |
| |
| Reviewed by Simon Fraser. |
| |
| Piping options through snapshots to allow for wide gamut support. |
| |
| * Shared/API/c/WKImage.h: |
| * Shared/API/c/WKSharedAPICast.h: |
| (WebKit::snapshotOptionsFromImageOptions): |
| * Shared/ImageOptions.h: |
| (WebKit::snapshotOptionsToImageOptions): |
| * Shared/WebImage.cpp: |
| (WebKit::WebImage::create): |
| |
| 2017-03-30 Sam Weinig <sam@webkit.org> |
| |
| Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI |
| <rdar://problem/31350588> |
| https://bugs.webkit.org/show_bug.cgi?id=170315 |
| |
| Reviewed by Simon Fraser. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _prepareForMoveToWindow:completionHandler:]): |
| * UIProcess/API/Cocoa/WKWebViewPrivate.h: |
| Copy SPI to WKWebView. Remove 'with' prefix to match conventions. |
| |
| 2017-03-30 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Touches should not cancel when showing a custom action sheet while data interaction is active |
| https://bugs.webkit.org/show_bug.cgi?id=170291 |
| <rdar://problem/31301388> |
| |
| Reviewed by Tim Horton. |
| |
| Currently, when presenting a custom popover, we will cancel all touches in the application. This makes data |
| interaction when a custom popover is shown impossible -- to address this, we should only cancel touches when |
| the view is not an active data interaction source. |
| |
| New API test: DataInteractionTests.CustomActionSheetPopover. |
| |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView actionSheetAssistant:showCustomSheetForElement:]): |
| |
| 2017-03-30 Youenn Fablet <youenn@apple.com> |
| |
| NetworkConnectionToWebProcess should stop web sockets when being destroyed |
| https://bugs.webkit.org/show_bug.cgi?id=170286 |
| |
| Reviewed by Brady Eidson. |
| |
| * NetworkProcess/NetworkSocketStream.cpp: |
| (WebKit::NetworkSocketStream::~NetworkSocketStream): Stopping the socket handle if not done already. |
| * NetworkProcess/NetworkSocketStream.h: |
| |
| 2017-03-29 Tim Horton <timothy_horton@apple.com> |
| |
| Remove unused PageClient::removeNavigationGestureSnapshot |
| https://bugs.webkit.org/show_bug.cgi?id=170249 |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/PageClient.h: |
| * UIProcess/WebPageProxy.cpp: |
| (WebKit::WebPageProxy::removeNavigationGestureSnapshot): Deleted. |
| * UIProcess/WebPageProxy.h: |
| * UIProcess/mac/PageClientImpl.h: |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::removeNavigationGestureSnapshot): Deleted. |
| |
| 2017-03-29 Antti Koivisto <antti@apple.com> |
| |
| Increment the last stable network cache version on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=170248 |
| <rdar://problem/31326040> |
| |
| Reviewed by Chris Dumez. |
| |
| Bump to the latest release. |
| |
| * NetworkProcess/cache/NetworkCacheStorage.h: |
| |
| 2017-03-28 Timothy Horton <timothy_horton@apple.com> |
| |
| Stop overriding scroll view inset defaults |
| https://bugs.webkit.org/show_bug.cgi?id=170221 |
| <rdar://problem/31260325> |
| |
| Reviewed by Simon Fraser. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _initializeWithConfiguration:]): |
| The default behavior is sufficient for us. |
| |
| 2017-03-28 Timothy Horton <timothy_horton@apple.com> |
| |
| Safari crashes when attempting to close tab that is displaying PDF |
| https://bugs.webkit.org/show_bug.cgi?id=170201 |
| <rdar://problem/31242019> |
| |
| Reviewed by Wenson Hsieh. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _doAfterNextStablePresentationUpdate:]): |
| Adopt BlockPtr to fix a leak. |
| |
| (-[WKWebView _firePresentationUpdateForPendingStableStatePresentationCallbacks]): |
| dispatch_async in the doAfterNextPresentationUpdate callback; since this |
| recursively calls itself, in cases where doAfterNextPresentationUpdate |
| returns synchronously (e.g. if the Web Process is missing), we would |
| recurse infinitely. |
| |
| 2017-03-27 Youenn Fablet <youenn@apple.com> |
| |
| Remove WebPage::m_shouldDoICECandidateFiltering |
| https://bugs.webkit.org/show_bug.cgi?id=170150 |
| |
| Reviewed by Sam Weinig. |
| |
| It is redundant with RTCController::m_shouldFilterICECandidates. |
| Manually tested on webrtc test samples. |
| This code path is currently untested by rwt as we hook it to getUserMedia which is mocked in rwt. |
| Additional testing will be added as a follow-up patch. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::WebPage::disableICECandidateFiltering): |
| (WebKit::WebPage::enableICECandidateFiltering): |
| * WebProcess/WebPage/WebPage.h: |
| |
| 2017-03-27 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] UIKit assertion when rotating device after dismissing popover |
| https://bugs.webkit.org/show_bug.cgi?id=170159 |
| <rdar://problem/31283829> |
| |
| Reviewed by Tim Horton. |
| |
| Ensure that when we are finished presenting a WKActionSheet, we unregister with the shared notifications center. |
| |
| * UIProcess/ios/WKActionSheet.mm: |
| (-[WKActionSheet dealloc]): |
| (-[WKActionSheet _cleanup]): |
| (-[WKActionSheet doneWithSheet:]): |
| |
| 2017-03-27 Andy Estes <aestes@apple.com> |
| |
| [iOS] Suppress page count recalc when setting a snapshot paper rect |
| https://bugs.webkit.org/show_bug.cgi?id=170156 |
| <rdar://problem/30787872> |
| |
| Reviewed by Tim Horton. |
| |
| When _WKWebViewPrintFormatter computes a page count for snapshotting, it updates the paper |
| rect, which triggers UIKit to ask for the page count again while we're in the middle of |
| printing, putting us in a bad state. |
| |
| Suppress page count recalc while setting the new paper rect, since we know this will not |
| cause it to change. |
| |
| * UIProcess/_WKWebViewPrintFormatter.mm: |
| (-[_WKWebViewPrintFormatter _setSnapshotPaperRect:]): Temporarily set |
| _suppressPageCountRecalc to YES before updating the paper rect. |
| (-[_WKWebViewPrintFormatter _setNeedsRecalc]): Only call [super _setNeedsRecalc] if |
| _suppressPageCountRecalc is NO. |
| * UIProcess/_WKWebViewPrintFormatterInternal.h: Declared -_setNeedsRecalc. |
| |
| 2017-03-26 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Callout Bar should be dismissed during data interaction |
| https://bugs.webkit.org/show_bug.cgi?id=170109 |
| <rdar://problem/31171570> |
| |
| Reviewed by Tim Horton. |
| |
| Minor tweak to get the callout bar to duck during data interaction. Import a new UIKit SPI header in WebKit2. |
| |
| * Platform/spi/ios/UIKitSPI.h: |
| |
| 2017-03-27 Keith Rollin <krollin@apple.com> |
| |
| Update NetworkResourceLoader logging statement |
| https://bugs.webkit.org/show_bug.cgi?id=170126 |
| |
| Reviewed by Alex Christensen. |
| |
| NetworkResourceLoader contains a logging statement that prints, in |
| part: "start: Retrieving resource from cache". This is misleading, |
| since it's not necessarily the case that the resource will be loaded |
| from the cache. What is actually happening at the point where that is |
| logged is that the cache is being checked for the resource. It still |
| remains to be seen if the resource will be found in it. To address |
| this, change the logging to say "start: Checking cache for resource". |
| |
| * NetworkProcess/NetworkResourceLoader.cpp: |
| (WebKit::NetworkResourceLoader::start): |
| |
| 2017-03-27 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Saving files should not suggest the top level directory |
| https://bugs.webkit.org/show_bug.cgi?id=170085 |
| <rdar://problem/30197794> |
| |
| Reviewed by Matt Baker. |
| |
| * UIProcess/mac/RemoteWebInspectorProxyMac.mm: |
| (WebKit::RemoteWebInspectorProxy::platformSave): |
| * UIProcess/mac/WebInspectorProxyMac.mm: |
| (WebKit::WebInspectorProxy::platformSave): |
| Don't set panel.directoryURL unless we have a good suggestion. |
| |
| 2017-03-27 Yongjun Zhang <yongjun_zhang@apple.com> |
| |
| Add delegate method to let an WebKit client provide a custom image preview controller. |
| https://bugs.webkit.org/show_bug.cgi?id=170076 |
| rdar://problem/31153051 |
| |
| Add a new delegate method (_webView:previewViewControllerForImage:alternateURL:defaultActions:elementInfo:) to |
| WKUIDelegatePrivate, an client can use this method to provide a custom image preview view controller if the image |
| has alternated URL or custom image info. |
| |
| Reviewed by Beth Dakin. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add delegate method _webView:previewViewControllerForImage:alternateURL:defaultActions:elementInfo:. |
| * UIProcess/ios/WKContentViewInteraction.mm: |
| (-[WKContentView _presentedViewControllerForPreviewItemController:]): If the image has alternated URL or custom info, try to use the client-provided |
| preview view controller. Otherwise, use the default WKImagePreviewViewController. |
| |
| 2017-03-27 Anders Carlsson <andersca@apple.com> |
| |
| Fix uses of deprecated API |
| https://bugs.webkit.org/show_bug.cgi?id=170138 |
| rdar://problem/28882449 |
| |
| Reviewed by Tim Horton. |
| |
| * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm: |
| (WebKit::toPKContactFields): |
| (WebKit::toPKAddressField): |
| (WebKit::toPKPaymentRequest): |
| Don't use deprecated APIs. |
| |
| (WebKit::toNSError): |
| Don't try to insert nil in a dictionary. |
| |
| 2017-03-27 Alex Christensen <achristensen@webkit.org> |
| |
| Make WebSockets work in network process |
| https://bugs.webkit.org/show_bug.cgi?id=169930 |
| |
| Reviewed by Youenn Fablet. |
| |
| This adds WebSocketStream, which is a SocketStreamHandle that sends asynchronous |
| messages to a NetworkSocketStream in the NetworkProcess. WebKit1 uses a SocketStreamHandleImpl |
| still, but WebKit2 now has a SocketStreamHandleImpl in the NetworkProcess owned by the |
| NetworkSocketStream, which is a SocketStreamHandleClient that sends asynchronous messages back |
| to the WebProcess. WebSocketStream's implementation of SocketStreamHandle::platformSend is special |
| because it stores the completion handler in a map and asynchronously reports to the caller whether |
| it succeeded or not. If the network processes crashes before the completion handlers are called, |
| then they are called indicating failure and an error is reported, but that never happens, right? |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * NetworkProcess/NetworkConnectionToWebProcess.cpp: |
| (WebKit::NetworkConnectionToWebProcess::didReceiveMessage): |
| (WebKit::NetworkConnectionToWebProcess::createSocketStream): |
| (WebKit::NetworkConnectionToWebProcess::destroySocketStream): |
| * NetworkProcess/NetworkConnectionToWebProcess.h: |
| * NetworkProcess/NetworkConnectionToWebProcess.messages.in: |
| * NetworkProcess/NetworkProcess.cpp: |
| (WebKit::NetworkProcess::setAllowsAnySSLCertificateForWebSocket): |
| * NetworkProcess/NetworkProcess.h: |
| * NetworkProcess/NetworkProcess.messages.in: |
| * NetworkProcess/NetworkSocketStream.cpp: Added. |
| (WebKit::NetworkSocketStream::create): |
| (WebKit::NetworkSocketStream::NetworkSocketStream): |
| (WebKit::NetworkSocketStream::sendData): |
| (WebKit::NetworkSocketStream::close): |
| (WebKit::NetworkSocketStream::didOpenSocketStream): |
| (WebKit::NetworkSocketStream::didCloseSocketStream): |
| (WebKit::NetworkSocketStream::didReceiveSocketStreamData): |
| (WebKit::NetworkSocketStream::didFailToReceiveSocketStreamData): |
| (WebKit::NetworkSocketStream::didUpdateBufferedAmount): |
| (WebKit::NetworkSocketStream::didFailSocketStream): |
| (WebKit::NetworkSocketStream::messageSenderConnection): |
| (WebKit::NetworkSocketStream::messageSenderDestinationID): |
| * NetworkProcess/NetworkSocketStream.h: Added. |
| * NetworkProcess/NetworkSocketStream.messages.in: Added. |
| * UIProcess/API/C/WKContext.cpp: |
| (WKContextSetAllowsAnySSLCertificateForWebSocketTesting): |
| (WKContextTerminateNetworkProcess): |
| * UIProcess/API/C/WKContextPrivate.h: |
| * UIProcess/WebProcessPool.cpp: |
| (WebKit::WebProcessPool::sendSyncToNetworkingProcess): |
| (WebKit::WebProcessPool::setAllowsAnySSLCertificateForWebSocket): |
| (WebKit::WebProcessPool::terminateNetworkProcess): |
| * UIProcess/WebProcessPool.h: |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/Network/NetworkProcessConnection.cpp: |
| (WebKit::NetworkProcessConnection::didReceiveMessage): |
| * WebProcess/Network/WebSocketProvider.cpp: |
| (WebKit::WebSocketProvider::createSocketStreamHandle): |
| * WebProcess/Network/WebSocketStream.cpp: Added. |
| (WebKit::globalWebSocketStreamMap): |
| (WebKit::WebSocketStream::streamWithIdentifier): |
| (WebKit::WebSocketStream::networkProcessCrashed): |
| (WebKit::WebSocketStream::create): |
| (WebKit::WebSocketStream::WebSocketStream): |
| (WebKit::WebSocketStream::~WebSocketStream): |
| (WebKit::WebSocketStream::messageSenderConnection): |
| (WebKit::WebSocketStream::messageSenderDestinationID): |
| (WebKit::WebSocketStream::platformSend): |
| (WebKit::WebSocketStream::didSendData): |
| (WebKit::WebSocketStream::platformClose): |
| (WebKit::WebSocketStream::bufferedAmount): |
| (WebKit::WebSocketStream::didOpenSocketStream): |
| (WebKit::WebSocketStream::didCloseSocketStream): |
| (WebKit::WebSocketStream::didReceiveSocketStreamData): |
| (WebKit::WebSocketStream::didFailToReceiveSocketStreamData): |
| (WebKit::WebSocketStream::didUpdateBufferedAmount): |
| (WebKit::WebSocketStream::didFailSocketStream): |
| * WebProcess/Network/WebSocketStream.h: Added. |
| * WebProcess/Network/WebSocketStream.messages.in: Added. |
| * WebProcess/WebProcess.cpp: |
| (WebKit::WebProcess::networkProcessConnectionClosed): |
| |
| 2017-03-27 Adrian Perez de Castro <aperez@igalia.com> |
| |
| [GTK] NetscapePluginX11::m_windowID is unused/unneeded |
| https://bugs.webkit.org/show_bug.cgi?id=170115 |
| |
| Reviewed by Michael Catanzaro. |
| |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: |
| (WebKit::NetscapePluginX11::NetscapePluginX11): |
| Remove the unneeded NetscapePluginX11::m_windowID member. |
| * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.h: |
| Remove the unneeded NetscapePluginX11::m_windowID member. |
| |
| 2017-03-25 Andy Estes <aestes@apple.com> |
| |
| [iOS] Use snapshotting instead of printing to draw single-page PDFs |
| https://bugs.webkit.org/show_bug.cgi?id=170103 |
| <rdar://problem/30542960> |
| |
| Reviewed by Tim Horton. |
| |
| * WebProcess/WebPage/WebPage.cpp: |
| (WebKit::paintSnapshotAtSize): Moved the painting logic from WebPage::snapshotAtSize() to here. |
| (WebKit::WebPage::snapshotAtSize): Changed to call paintSnapshotAtSize() with the |
| WebImage's graphics context. |
| (WebKit::WebPage::pdfSnapshotAtSize): Created a CGPDFGraphicsContext, passed it to |
| paintSnapshotAtSize(), and returned the context's data. |
| * WebProcess/WebPage/WebPage.h: Made snapshotAtSize() and snapshotNode() private, changed |
| their return values from PassRefPtr to RefPtr, and declared pdfSnapshotAtSize(). |
| * WebProcess/WebPage/ios/WebPageIOS.mm: |
| (WebKit::WebPage::computePagesForPrintingAndDrawToPDF): If snapshotting the first page, |
| returned a page count of 1 and created a PDF using pdfSnapshotAtSize(). |
| |
| 2017-03-25 John Wilander <wilander@apple.com> |
| |
| Re-enable the web process' keychain access to fix client certificate authentication |
| https://bugs.webkit.org/show_bug.cgi?id=170074 |
| <rdar://problem/31095987> |
| |
| Reviewed by Brent Fulgham. |
| |
| This is a follow-up patch to |
| https://trac.webkit.org/changeset/214389/webkit |
| since according to Alexey Proskuryakov, resource |
| loading has always required identical sandbox |
| rules in WebContent and Networking processes. |
| |
| * WebProcess/com.apple.WebProcess.sb.in: |
| Reverted remaining change from |
| https://trac.webkit.org/changeset/208702/webkit and |
| https://trac.webkit.org/changeset/208707/webkit. |
| |
| 2017-03-24 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| [WK2] Add a UI delegate SPI hook to enable or disable navigation on drop |
| https://bugs.webkit.org/show_bug.cgi?id=169168 |
| <rdar://problem/30688374> |
| |
| Reviewed by Tim Horton. |
| |
| Support customizing the set of allowed actions on drop in WebKit2 by introducing a new method to WKUIDelegatePrivate |
| that returns a WKDragDestinationAction given platform dragging info. These flags are then used to initialize the |
| DragData sent over to the web process, where they update DragController's view of the allowed destination actions. |
| |
| Moving forward, the default action mask for WKWebViews will include everything except WKDragDestinationActionLoad, |
| though for applciations linked on or before 10.12, we will still default to WKDragDestinationActionAny to mitigate |
| any compatibility risk. |
| |
| * Shared/API/Cocoa/WKDragDestinationAction.h: |
| |
| Introduce WK2 client-facing versions of WebCore::DragDestinationAction flags. |
| |
| * Shared/WebCoreArgumentCoders.cpp: |
| (IPC::ArgumentCoder<DragData>::encode): |
| (IPC::ArgumentCoder<DragData>::decode): |
| |
| Serialize DragData's destination actions when sending DragData over IPC. |
| |
| * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _web_dragDestinationActionForDraggingInfo:]): |
| |
| For WKWebView, allow all drag destination actions except for loading (i.e. drop-to-navigate). |
| |
| * UIProcess/API/mac/WKView.mm: |
| (-[WKView _web_dragDestinationActionForDraggingInfo:]): |
| |
| For WKView, allow all types of drag destination actions. |
| |
| * UIProcess/Cocoa/VersionChecks.h: |
| * UIProcess/Cocoa/WebViewImpl.h: |
| * UIProcess/Cocoa/WebViewImpl.mm: |
| (WebKit::WebViewImpl::draggingEntered): |
| (WebKit::WebViewImpl::draggingUpdated): |
| * WebKit2.xcodeproj/project.pbxproj: |
| * WebProcess/WebCoreSupport/WebDragClient.cpp: |
| (WebKit::WebDragClient::actionMaskForDrag): |
| * WebProcess/WebCoreSupport/WebDragClient.h: |
| |
| 2017-03-24 Simon Fraser <simon.fraser@apple.com> |
| |
| [iOS WK2] Move from a pre-commit handler to dispatch_async for visible content rect updates |
| https://bugs.webkit.org/show_bug.cgi?id=170091 |
| rdar://problem/30682584 |
| |
| Reviewed by Tim Horton. |
| |
| [CATransaction addCommitHandler:forPhase:] is sometimes not called when running inside another |
| commit callback (rdar://problem/31253952), and we don't yet have a reliable way to detect this. |
| |
| So dispatch_async() to postpone the call to [CATransaction addCommitHandler:forPhase:] to a known- |
| good time. |
| |
| * UIProcess/API/Cocoa/WKWebView.mm: |
| (-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]): |
| |
| 2017-03-24 John Wilander <wilander@apple.com> |
| |
| Re-enable the network process' keychain access to fix client certificate authentication |
| https://bugs.webkit.org/show_bug.cgi?id=170074 |
| <rdar://problem/31095987> |
| |
| Reviewed by Brent Fulgham. |
| |
| * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: |
| Reverted remaining change from |
| https://trac.webkit.org/changeset/208702/webkit and |
| https://trac.webkit.org/changeset/208707/webkit. |
| |
| 2017-03-24 Eric Carlson <eric.carlson@apple.com> |
| |
| [MediaStream] "ideal" constraints passed to getUserMedia should affect fitness score |
| https://bugs.webkit.org/show_bug.cgi?id=170056 |
| |
| Reviewed by Youenn Fablet. |
| |
| * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: |
| (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): When |
| short-circuiting the user prompt because the page is already authorized, return the first |
| audio and/or video device because so the page gets the one with the best fitness distance. |
| |
| 2017-03-24 Simon Fraser <simon.fraser@apple.com> |
| |
| Make UI-side compositing on macOS a bit more usable |
| https://bugs.webkit.org/show_bug.cgi?id=170073 |
| |
| Reviewed by Tim Horton. |
| |
| Mach port as layer contents doesn't work on macOS, so don't use it there. |
| |
| Also remove two assertions that hit with UI-side compositing in MiniBrowser. |
| |
| * UIProcess/DrawingAreaProxy.cpp: |
| (WebKit::DrawingAreaProxy::createFence): |
| * UIProcess/mac/PageClientImpl.mm: |
| (WebKit::PageClientImpl::requestScroll): |
| * UIProcess/mac/RemoteLayerTreeHost.mm: |
| (WebKit::RemoteLayerTreeHost::updateLayerTree): |
| |
| 2017-03-24 Alex Christensen <achristensen@webkit.org> |
| |
| Fix assertions after r214358. |
| https://bugs.webkit.org/show_bug.cgi?id=169167 |
| |
| * UIProcess/API/APIContentExtensionStore.cpp: |
| (API::ContentExtensionStore::compileContentExtension): |
| AtomicString::init must be called for the first time from the main thread. |
| We were calling it for the first time from a non-main thread sometimes. |
| Call it from the main thread before initiating compiling on another thread. |
| |
| == Rolled over to ChangeLog-2017-03-23 == |